logo search
ZX-Review-1992-01-12

1. Блок кодов "ON ERROR GO TO"

Этот блок имеет длину 73 байта. Он является релоцируемым, то есть его можно загружать в любое место памяти. Вызывается он обычным способом, то есть при помощи RANDOMIZE USR ADDR, где ADDR это начальный адрес загрузки блока кодов.

Рассмотрим работу блока, рас положив его для примера в буфере принтера начиная с адреса 23296 (#5B00).

В листинге блока кодов справа число в скобках это ссылки на комментарии по работе блока, описание которой дано ниже.

Текст программы "ON ERROR GO TO"

5B00

CD7C00

CALL

#007C

(1)

5B03

3B

DEC

SP

(2)

5B04

3B

DEC

SP

 

5B05

E1

POP

HL

(3)

5B06

010F00

LD

BC,#000F

(4)

5B09

09

ADD

HL,BC

(5)

5B0A EB

EX

DE,HL

(6)

5B0B 2A3D5C

LD

HL,(#5C3D)

(7)

5B0E 73

LD

(HL),E

(8)

5B0F 33

INC

HL

 

5B10

72

LD

(HL),D

 

5B11

C9

RET

(9)

 

5B1E 3B

DEC

SP

(10)

5B13

3B

DEC

SP

 

5B14

CD8E02

CALL

#028E

(11)

5B17

7B

LD

A,E

(12)

5B18

FEFF

CP

#FF

 

5B1A 20F8

JR

NZ,#5B14

(13)

5B1C 3A3A5C

LD

A,(#5C3A)

(14)

5B1F FEFF

CP

#FF

 

5B21

2821

JR

Z,#5B44

(15)

5B23

FE07

CP

#07

(16)

5B25

2B1D

JR

Z,#5B44

 

5B2T FE08

CP

#08

(17)

5B39

2819

JR

Z,#5B44

 

5B2B 3C

INC

A

(18)