Этюды - Процедура прорисовки символа с помощью атрибутов.

(c) А.Захаржевский, Белгородская
обл., с.Кр.Березовка

   Предлагаю  Вашему    вниманию
процедуру для прорисовки  симво-
ла, с помощью  атрибутов, разме-
ром  32x24  знакоместа.  Из  тех
процедур, которые были опублико-
ваны на сегодняшний день, наибо-
лее  короткая  была  47  байт  в
N4-5/96г. Моя процедура несколь-
ко короче и занимает  42  байта.
Однако, если конструкция в стро-
ках  60-80  не  вызывает  у  Вас
одобрения, как  частное  решение
поставленной задачи  (т.е.  сим-
вольный набор расположен в ПЗУ),
можно его заменить на:
144.
60        LD      DE,15360
70        LD      H,0
80        LD      L,A
          ...
          ...
          ...
115       ADD     HL,DE

т.е. длина процедуры составит 44
байта, а это все равно рекорд.

10        ORG     30000
20        LD      A,#45
30        LD      C,#54
40        CALL    PROG
50        RET
60 PROG   LD      HL,1920
70        ADD     A,L
80        LD      L,A
90        ADD     HL,HL
100       ADD     HL,HL
110       ADD     HL,HL
120       LD      DE,#5800
130 L1    LD      B,3
140 L2    PUSH    BC
150       LD      A,(HL)
160       LD      B,8
170 L3    PUSH    BC
180       RLA
190       PUSH    AF
200       SBC     A,A
210       AND     C
220       LD      B,4
230 L4    LD      (DE),A
240       INC     DE
250       DJNZ    L4
260       POP     AF
270       POP     BC
280       DJNZ    L3
290       POP     BC
300       LD      A,#5B
310       CP      D
320       RET     Z
330       DJNZ    L2
340       INC     HL
350       JR      L1
2
          *   *   *

