
Сообщение от
ivagor
Есть еще вариант. Печатаем верхний push первым, после него inx sp. Соответственно откорректировать адрес модификации lxi этого push (я так понимаю, что тут модифицируемый код).
Код модифицируемый, выглядит так:
Код:
lxi hl, SCREEN+8
; выводим первый столбик, снизу вверх
sphl
lxi bc, 0fc1eh
push bc
lxi bc, 4723h
push bc
lxi bc, 4321h
push bc
lxi bc, 42fch
push bc
; это бонусный битмап, он ползет сверху вниз, а выводится снизу вверх
; что весьма удобно для затирания следа сверху
lxi bc, 0000h ; только учтем, что выводятся две строчки
push bc
Последним идет push, затирающий след (в него впечатывается восстанавливаемый байт экрана). Вариант печатать верхний push первым не вариант, потому что lxi h/sphl выполняется один раз в начале для самой нижней строчки выводимого битмапа, и рисование идет снизу вверх.