Вторая процедура была написана мною в дополнение к статье Д. Баянова:
быстрая печать шаблона 8*8
DEL1
DEFLAT
|
LD |
HL,(BUFF) |
|
LD |
A, (IX) |
|
CP |
#FF |
|
RET |
Z |
|
CP |
#FE |
|
JR |
NZ, ONE |
|
LD |
B, (IX+1) |
|
LD |
A, (IX+2) |
|
LD |
(HL),A |
|
INC |
HL |
|
DJNZ |
DEFLAT |
|
INC |
IX |
|
INC |
IX |
|
INC |
IX |
|
JR |
DFL1 |
|
LD |
(HL),A |
|
INC |
IX |
|
INC |
HL |
|
JR |
DFL1 |
A - код символа
WRITE
Адрес фонта
При использовании этой и других
процедур, использующих стек, необходимо отключать прерывания, иначе при первом же прерывании будут испорчены данные.
STASC
на входе: BC
координаты;
|
DI | |
|
LD |
H, 0 |
|
LD |
L,A |
|
ADD |
HL, HL |
|
ADD |
HL, HL |
|
ADD |
HL, HL |
|
LD |
DE,BASE |
|
ADD |
HL, DE |
|
LD |
(STASC+1),HL |
|
LD |
(STC),SP |
|
LD |
A, C |
|
AND |
#18 |
|
ADD |
A, #40 |
|
LD |
H,A |
|
LD |
A, C |
|
AND |
7 |
|
RCA | |
|
RCA | |
|
RCA | |
|
ADD |
A, B |
|
LD |
L,A |
|
LD |
SP, 0 |
|
POP |
DE |
|
LD |
(HL),E |
|
INC |
H |
|
LD |
(HL),D |
|
INC |
H |
|
POP |
DE |
|
LD |
(HL),E |
|
INC |
H |
|
LD |
(HL),D |
|
INC |
H |
|
POP |
DE |
|
LD |
(HL),E |
|
INC |
H |
|
LD |
(HL),D |
|
INC |
H |
|
POP |
DE |
|
LD |
(HL),D |
|
LD |
SP, (STC) |
|
EI |
STC DEFW 0
BASE ...