.z80
X0000   EQU     00000H
X0005   EQU     00005H
Y0006   EQU     00006H
Y005C   EQU     0005CH
Y005D   EQU     0005DH
Y006C   EQU     0006CH
        JP      A0209
;
        DS      125
T0180:: JP      A0209
A0183:: JP      A0283 ; ввод с консоли
;
A0186:: JP      A02B9 ; если на входе установлен флаг C
                      ; то открыть файл *.COM
                      ; иначе,произвести чтение символа
                      ; из файла.Симол возвращается в reg ?
                      ; Нa выходе установлен флаг C
                      ; если достигли конца файла
;
A0189:: JP      A0288 ;вывод на консоль
;
A018C:: JP      A02EF ;запись в файл *.ASM,символа.
                      ;Символ в регистре C.
;
A018F:: JP      A028E ;вывод на консоль
;
A0192:: JP      A02CF ;запись в файл *.PRN символа.
;                     ;Символ в регистре C.

A0195:: JP      A0291 ;ввод статуса консоли
A0198:: JP      A0296 ;закрытие файлoв и выход
;
A019B:  CP      0D3H
        JP      NZ,A1785
        CALL    A13E0
        POP     HL
        JP      A1400
;
A01A7:  BIT     0,A
        JP      Z,A1667
        POP     HL
        LD      HL,T1CA1
        CALL    A16DC
        CALL    A1788
        LD      A,C
        JP      A1667
;
A01BA:  LD      HL,T1FD1
        LD      B,017H
        JP      A181F
;
A01C2:  AND     0F8H
        CP      088H
        JP      Z,A15C0
        CP      080H
        JP      Z,A15C0
        CP      098H
        JP      Z,A15C0
        JP      A15C6
;
A01D6:  CP      0CEH
        JP      Z,A13D5
        CP      0C6H
        JP      Z,A13D5
        CP      0DEH
        JP      Z,A13D5
        JP      A13D8
;
A0209:  LD      SP,T0180
        LD      A,(Y005D)
        CP      020H
        JP      NZ,A0249
        LD      DE,T0222
        CALL    A021D
        JP      0
;
A021D:  LD      C,9
        JP      5
;
T0222:  DB 0DH,0AH,"NO INPUT FILE SPECIFIED - ABORTING",13,10,'$'
A0249:  LD      HL,5CH
        LD      DE,T0311   ; адрес FCB  *.COM файла
        XOR     A          ; используем старое расширение(COM)
        CALL    A0EED      ; готовим FCB
        LD      A,(6CH)
        OR      A
        JP      Z,A025D
        LD      (5CH),A
A025D:  LD      HL,5CH
        LD      DE,T0339   ; адрес FCB  *.PRN файла
        LD      A,50H      ; расширение файла
        LD      BC,0524EH  ; в регистрах A и BC.
        CALL    A0EED      ; готовим FCB
        LD      HL,5CH
        LD      DE,T0361   ; адрес FCB  *.ASM файла
        LD      A,41H      ; расширение файла
        LD      BC,0534DH  ; в регистрах A и BC.
        CALL    A0EED      ; готовим FCB
        XOR     A
        LD      (D030F),A
        LD      (D0310),A
        JP      A1000
;
A0283:  LD      C,1
        JP      5
;
A0288:  LD      E,C
        LD      C,2
        JP      5
;
A028E:  JP      A0288
;
A0291:  LD      C,0BH
        JP      5
;
A0296:  LD      A,(D030F)  ;если файл *.PRN
        OR      A          ; не был открыт
        JP      Z,A02A6    ; то и не закрываем его
        LD      DE,T0339   ; иначе закрыть
        CALL    A0CAE      ; файл *.PRN
        CALL    Z,A0D52    ; если закрыли с ошибкой,то
;                          ; сообщить
A02A6:  LD      A,(D0310)  ; если файл *.ASM
        OR      A          ; не был открыт
        JP      Z,0        ; то и не закрываем его,и выход
                           ; из программы
        LD      DE,T0361   ; иначе закрыть
        CALL    A0CAE      ; файл *.ASM
        CALL    Z,A0D52    ; если закрыли с ошибкой,то
        JP      0          ; сообщить,и выйти из программы
;
A02B9:  JP      NC,A02C6   ;если установлен флаг C
        LD      DE,T0311   ;то открыть файл
        CALL    A0D15      ;*.COM
        CALL    Z,A0D52    ;сообщить об ошибках,если были
        RET
;                       иначе
A02C6:  LD      DE,T0311   ; произвести
        CALL    A0DB1      ; последовательное чтение
        RET     NZ         ;
        SCF                ; установить флаг C,если
        RET                ; достигли конца файла
;
A02CF:: LD      A,(D030F)  ; входим первый раз ?
        OR      A          ;
        JP      NZ,A02E5   ; нет
        CPL                ; устанавливаем признак
        LD      (D030F),A  ; обращения
        PUSH    BC
        LD      DE,T0339   ;*.PRN
        CALL    A0CF1      ;Открываем Файл
        CALL    Z,A0D52    ;если были ошибки то сообщим
        POP     BC
A02E5:  LD      DE,T0339   ;произведем
        CALL    A0C17      ;последовательную запись в *.PRN
        CALL    Z,A0D52    ;если были ошибки то сообщим
        RET
;
A02EF:: LD      A,(D0310)  ; входим первый раз ?
        OR      A          ;
        JP      NZ,A0305   ; нет
        CPL                ; устанавливаем признак
        LD      (D0310),A  ; обращения
        PUSH    BC
        LD      DE,T0361   ;*.ASM
        CALL    A0CF1      ;Открываем Файл
        CALL    Z,A0D52    ;если были ошибки то сообщим
        POP     BC
A0305:  LD      DE,T0361   ;произведем
        CALL    A0C17      ;последовательную запись в *.ASM
        CALL    Z,A0D52    ;если были ошибки то сообщим
        RET
;
D030F:  DB  0
D0310:  DB  0
T0311:  DS  35
        DW  T0389
        DB  0,0,2
T0339:  DS  35
        DW  T0489
        DB  0,0,6
T0361:  DS  35
        DW  T0789
        DB  0,0,9
T0389:  DS  100H
T0489:  DS  300H
T0789:  DS  480H

A0C17:  PUSH    HL
        PUSH    DE
        PUSH    BC
        LD      A,C
        CP      0DH
        JP      Z,A0C3A
        CP      0AH
        JP      Z,A0C3A
        CP      09H
        JP      Z,A0C3A
        CP      020H
        JP      P,A0C3A
        LD      C,05EH   ;'^'
        CALL    A0C45
        LD      A,040H
        POP     BC
        PUSH    BC
        OR      C
        LD      C,A
A0C3A:  CALL    A0C45
        POP     BC
        POP     DE
        POP     HL
        RET     NZ
        LD      HL,T0D87
        RET
;
A0C45:  PUSH    DE
        LD      A,(DE)
        CP      0FFH
        JP      NZ,A0C5E
        INC     DE
        LD      A,(DE)
        CP      1
        JP      NZ,A0C54
        INC     A
A0C54:  LD      E,C
        LD      C,A
        OR      A
        CALL    NZ,5
        POP     DE
        JP      A0D4C
;
A0C5E:  PUSH    BC
        LD      B,0
        PUSH    BC
        CP      080H
        JP      NZ,A0C90
        LD      HL,26H
        ADD     HL,DE
        LD      A,(HL)
        DEC     HL
        INC     (HL)
        CP      (HL)
        JP      NZ,A0C8F
A0C72:  POP     AF
        LD      (HL),0
A0C75:  PUSH    HL
        CALL    A0EB8
        LD      C,015H ;последовательная запись
        CALL    A0EAE
        POP     HL
        OR      A
        JP      NZ,A0C8E
        INC     (HL)
        LD      A,(HL)
        INC     HL
        CP      (HL)
        DEC     HL
        JP      NZ,A0C75
        LD      A,0
        LD      (HL),A
A0C8E:  PUSH    AF
A0C8F:  XOR     A
A0C90:  LD      C,A
        LD      B,0
        INC     A
        LD      (DE),A
        ADD     HL,DE
        INC     DE
        LD      (DE),A
        DEC     DE
        CALL    A0EC4
        ADD     HL,BC
        POP     AF
        POP     BC
        LD      (HL),C
        POP     DE
        OR      A
        JP      Z,A0D4C
        LD      (D0CAD),A
        XOR     A
        LD      A,(D0CAD)
        RET
;
D0CAD:  NOP
;
A0CAE:  CALL    A0F40
        JP      Z,A0D4C
        INC     DE
        LD      A,(DE)
        DEC     DE
        OR      A
        JP      Z,A0CE2
        CALL    A0EC4
        LD      A,(DE)
        LD      C,A
        LD      B,0
        ADD     HL,BC
A0CC3:  CP      80H       ; дописываем
        JP      Z,A0CCF   ; в конец файла
        LD      (HL),1AH  ; метку конца
        INC     HL
        INC     A
        JP      A0CC3
;
A0CCF:  LD      HL,00025H
        ADD     HL,DE
        LD      A,(HL)
        INC     HL
        INC     A
        LD      (HL),A
        DEC     HL
        LD      BC,A0CE2
        PUSH    BC
        PUSH    DE
        PUSH    HL
        PUSH    HL
        JP      A0C72
;
A0CE2:  CALL    A0E23
        LD      C,10H  ;Закрываем файл
        CALL    A0EAE
        CP      0FFH
        RET     NZ
        LD      HL,T0D94
        RET
;
A0CF1:  CALL    A0F40
        JP      Z,A0D4C
        PUSH    DE
        CALL    A0E23
        LD      HL,0EH
        ADD     HL,DE
        LD      (HL),0
        LD      C,013H   ;стерли файл
        CALL    A0EAE
        LD      C,016H   ;создали файл
        CALL    A0EAE
        POP     DE
        CP      0FFH
        JP      NZ,A0D15
        LD      HL,T0DA1
        RET
;
A0D15:  CALL    A0F40
        JP      Z,A0D4C
        PUSH    DE
        XOR     A
        LD      HL,25H
        ADD     HL,DE
        LD      (HL),A
        INC     HL
        INC     HL
        LD      A,(HL)
        DEC     HL
        LD      (HL),A
        XOR     A
        LD      (DE),A
        INC     DE
        LD      (DE),A
        INC     DE
        LD      HL,0CH
        ADD     HL,DE
        LD      (HL),A
        INC     HL
        LD      (HL),A
        INC     HL
        LD      (HL),A
        INC     HL
        LD      (HL),A
        LD      HL,020H
        ADD     HL,DE
        LD      (HL),A
        CALL    A0E23
        LD      C,0FH ;открыли файл
        CALL    5
        POP     DE
        CP      0FFH
        RET     NZ
        LD      HL,T0D7B
        RET
;
A0D4C:  LD      A,1
        OR      A
        LD      A,0
        RET
;
A0D52:  PUSH    HL
        LD      HL,T0D6C
        CALL    A0FB0
        LD      DE,T0DAF
        CALL    A0ED7
        POP     HL
        LD      DE,T0DAF
        CALL    A0ED7
        LD      C,000H
        CALL    5
        HALT
T0D6C: DB "007239E",0dh,0ah,";1803"
T0D7B: DB " OPEN ERROR",0DH
T0D87: DB " WRITE ERROR",0DH
T0D94: DB " CLOSE ERROR",0DH
T0DA1: DB " CREATE ERROR",0DH
T0DAF: DW  02FFH
;
A0DB1:  PUSH    HL
        PUSH    BC
        LD      A,(DE)
        CP      0FFH
        JP      NZ,A0DC7
        PUSH    DE
        INC     DE
        LD      A,(DE)
        LD      C,A
        OR      A
        LD      A,01AH
        CALL    NZ,5
        POP     DE
        POP     BC
        POP     HL
        RET
;
A0DC7:  OR      A
        JP      Z,A0DEA
        AND     7FH
        JP      NZ,A0E16
        LD      HL,25H
        ADD     HL,DE
        INC     (HL)
        LD      A,(HL)
        INC     HL
        CP      (HL)
        LD      A,0
        JP      NZ,A0E16
        INC     DE
        LD      A,(DE)
        DEC     DE
        OR      A
        JP      Z,A0DEA
A0DE4:  XOR     A
        LD      A,01AH
        POP     BC
        POP     HL
        RET
;
A0DEA:  LD      HL,025H
        ADD     HL,DE
        LD      (HL),0
A0DF0:  PUSH    HL
        CALL    A0EB8  ; Установить область обмена
        LD      C,014H ; Последовательное чтение
        CALL    A0EAE
        POP     HL
        OR      A
        JP      Z,A0E0C
        LD      A,(HL)
        OR      A
        JP      Z,A0DE4
        INC     HL
        LD      (HL),A
        DEC     HL
        INC     DE
        LD      (DE),A
        DEC     DE
        JP      A0E14
;
A0E0C:  INC     (HL)
        LD      A,(HL)
        INC     HL
        CP      (HL)
        DEC     HL
        JP      NZ,A0DF0
A0E14:  XOR     A
        LD      (HL),A
A0E16:  LD      C,A
        LD      B,000H
A0E19:  INC     A
        LD      (DE),A
        CALL    A0EC4
        ADD     HL,BC
        LD      A,(HL)
        POP     BC
        POP     HL
        RET
;
A0E23:  PUSH    DE
        LD      DE,T0E2E
        LD      C,01AH
        CALL    5
        POP     DE
        RET
;
T0E2E:  DS      128
;
A0EAE:  PUSH    DE
        PUSH    HL
        INC     DE
        INC     DE
        CALL    5
        POP     HL
        POP     DE
        RET
;
A0EB8:  PUSH    DE
        CALL    A0EC4
        EX      DE,HL
        LD      C,01AH
        CALL    5
        POP     DE
        RET
;
A0EC4:  PUSH    BC
        LD      HL,00023H
        ADD     HL,DE
        LD      C,(HL)
        INC     HL
        LD      B,(HL)
        INC     HL
        LD      A,(HL)
        RRA
        LD      H,A
        LD      A,000H
        RRA
        LD      L,A
        ADD     HL,BC
        POP     BC
        RET
;
A0ED7:  LD      C,(HL)
        XOR     A
        CP      C
        JP      Z,A0D4C
        CALL    A0C17
        RET     Z
        LD      A,00DH
        CP      C
        INC     HL
        JP      NZ,A0ED7
        LD      C,00AH
        JP      A0C17
;
A0EED:  EX      DE,HL
        LD      (HL),0
        EX      DE,HL
        PUSH    DE
        PUSH    HL
        LD      HL,0BH ;+11
        ADD     HL,DE

        LD      (HL),A ;записали
        INC     HL
        LD      (HL),B
        INC     HL
        LD      (HL),C ;расширение

        LD      HL,2
        ADD     HL,DE
        EX      DE,HL
        POP     HL
        EX      DE,HL
        LD      C,9
        OR      A
        JP      NZ,A0F0B
        LD      C,0CH
A0F0B:  CALL    A0F37
        POP     DE
        RET
;
A0F37:  LD      A,(DE)
        LD      (HL),A
        INC     HL
        INC     DE
        DEC     C
        JP      NZ,A0F37
        RET
;
A0F40:  LD      A,(DE)
        CP      0FFH
        RET     Z
        LD      HL,00006H
        ADD     HL,DE
        LD      A,(HL)
        CP      ':'
        RET     NZ
        INC     HL
        LD      A,(HL)
        CP      020H
        JP      Z,A0F5D
        SUB     030H
        RET     C
        CP      008H
        JP      C,A0F5D
A0F5B:  OR      A
        RET
;
A0F5D:  PUSH    AF
        PUSH    DE
        LD      HL,00003H
        ADD     HL,DE
        LD      DE,T0F97
A0F66:  LD      B,003H
        LD      A,(DE)
        CP      0FFH
        JP      NZ,A0F73
        POP     DE
        POP     AF
        JP      A0F5B
;
A0F73:  PUSH    HL
A0F74:  LD      A,(DE)
        CP      (HL)
        JP      NZ,A0F8D
        INC     HL
        INC     DE
        DEC     B
        JP      NZ,A0F74
        POP     HL
        POP     HL
        LD      (HL),0FFH
        INC     HL
        LD      A,(DE)
        LD      (HL),A
        POP     AF
        INC     HL
        LD      (HL),A
        DEC     HL
        DEC     HL
        XOR     A
        RET
;
A0F8D:  POP     HL
A0F8E:  DEC     B
        INC     DE
        JP      NZ,A0F8E
        INC     DE
        JP      A0F66
;
T0F97: DB "RDR",3
       DB "PUN",4
       DB "LST",5
       DB "CON",1
       DB "PRT",5
       DB "DUM",0
       DB 0FFH
;
A0FB0:  PUSH    BC
        PUSH    DE
        PUSH    HL
        LD      B,000H
        INC     DE
        INC     DE
        LD      A,(DE)
        OR      A
        JP      Z,A0FC5
        OR      040H
        LD      (HL),A
        INC     B
        INC     HL
        LD      (HL),':'
        INC     HL
        INC     B
A0FC5:  INC     DE
        LD      C,8
        CALL    A0FDB
        LD      (HL),02EH
        INC     HL
        INC     B
        LD      C,3
        CALL    A0FDB
        LD      (HL),0
        LD      A,B
        POP     HL
        POP     DE
        POP     BC
        RET
;
A0FDB:  LD      A,(DE)
        CP      020H
        JP      Z,A0FEA
        LD      (HL),A
        INC     HL
        INC     DE
        INC     B
        DEC     C
        JP      NZ,A0FDB
        RET
;
A0FEA:  INC     DE
        DEC     C
        JP      NZ,A0FEA
        RET
;
        DB  "5047C01E118E72D2"
A1000:  JP      A1043  ;begin.
A1003:  JP      A0183  ;ввод с консоли символа.
A1006:  JP      A0186  ;ввод символа из файла *.COM.
A1009:  JP      A0189  ;вывод символа на консоль.
A100C:  JP      A018C  ;вывод символа в файл *.ASM.
A100F:  JP      A018F  ;вывод символа на консоль.
A1012:  JP      A0192  ;вывод символа в файл *.PRN.
A1015:  JP      A0195  ;опрос статуса консоли.
A1018:  JP      A0198  ;закрытие файлов.
;
T101B: DB "SUPER CPM Z80 DIS-ASSEMBLER VER 4.00",13,10,10,0
;
A1043:  LD      A,0FFH
        LD      (D1FC8),A
        LD      HL,(6)
        LD      (endmem),HL
        CALL    A18B1
        LD      HL,T101B
        CALL    A18A8
A1057:  LD      HL,T1CA5 ;ввести длину прогграммы
        CALL    A18C5
        JR      NZ,A1057
        LD      (.lenprog),HL
A1062:  LD      HL,T1CBC
        CALL    A18C5
        JR      NZ,A1062
        LD      (.start),HL
        EX      DE,HL
        LD      HL,(.lenprog)
        DEC     HL
        ADD     HL,DE
        JR      NC,A1077
        SBC     HL,HL
A1077:  LD      (D1FBF),HL
A107A:  LD      HL,T1CDD     ;offset
        CALL    A18C5
        JR      NZ,A107A
        LD      (.offset),HL
        LD      B,6
        LD      DE,T1FE9
        LD      HL,T1CFE
A108D:  CALL    A198E
        LD      (DE),A
        INC     DE
        DJNZ    A108D
        LD      HL,T1FE9
        LD      A,(HL)
        INC     HL
        OR      (HL)
        INC     HL
        INC     HL
        OR      (HL)
        LD      HL,T1DD7
        CALL    NZ,A198E
        LD      (DE),A
        LD      HL,T1DF2
        CALL    A18A8
        LD      HL,T204D
        CALL    A1901
        PUSH    HL
        LD      HL,T1E24
        CALL    A18A8
        POP     HL
        CALL    A1901
        LD      (D1FC2),HL
        LD      (HL),0
        CALL    A181A
        LD      HL,.dump
        CALL    outstr
        CALL    A19AF
        LD      HL,(.start)
A10CF:  LD      DE,T200C
        LD      A,';'
        LD      (DE),A
        INC     DE
        CALL    .word
        INC     DE
        INC     DE
        INC     DE
A10DC:  CALL    A19C8
        JR      C,A110D
        AND     07FH
        CP      20H
        JR      NC,A10E9
A10E7:  LD      A,2EH
A10E9:  CP      07FH
        JR      Z,A10E7
        LD      (DE),A
        INC     DE
        INC     HL
        LD      A,L
        AND     007H
        JR      NZ,A10DC
        INC     DE
        INC     DE
        LD      A,L
        AND     01FH
        JR      NZ,A10DC
        PUSH    HL
        CALL    A17CD
        POP     DE
        PUSH    DE
        LD      HL,(D1FBF)
        OR      A
        SBC     HL,DE
        POP     HL
        JR      NC,A10CF
        JR      A111F
;
A110D:  PUSH    HL
        CALL    A17CD
        POP     DE
        DEC     DE
        LD      HL,(D1FBF)
        INC     HL
        LD      A,H
        OR      L
        JR      NZ,A111F
        EX      DE,HL
        LD      (D1FBF),HL
A111F:  LD      HL,(.start)
        LD      (D1FC6),HL
        XOR     A
        LD      (D1FC1),A
        DEC     A
        LD      (D1FF1),A
        LD      A,004H
        LD      (D1FF7),A
        LD      HL,D1FF8
        LD      (D1FF5),HL
        CALL    A19AF
A113B:  CALL    A1878
        LD      A,(D1FF7)
        LD      B,A
        LD      HL,(D1FF5)
        LD      A,(D1FC1)
        OR      A
        JR      NZ,A1154
A114B:  CALL    A19C8
        JR      C,A1154
        LD      (HL),A
        INC     HL
        DJNZ    A114B
A1154:  LD      A,(D1FC1)
        ADD     A,B
        LD      (D1FC1),A
        LD      A,(D1FC8)
        AND     0FEH
        JR      NZ,A11AB
        CALL    A181A
        CALL    A17B7
        LD      A,(D1FF1)
        OR      A
        CALL    Z,A17BE
        LD      HL,(D1FC6)
        EX      DE,HL
        LD      HL,(D1FC2)
        JR      A1179
;
A1178:  INC     HL
A1179:  LD      A,(HL)
        OR      A
        JR      Z,A11A1
        INC     HL
        LD      A,(HL)
        INC     HL
        CP      D
        JR      C,A1178
        JR      NZ,A11A1
        LD      A,(HL)
        CP      E
        JR      C,A1178
        JR      NZ,A11A1
        DEC     HL
        DEC     HL
        LD      A,(HL)
        PUSH    AF
        SET     7,(HL)
        LD      DE,T1FC9
        CALL    A1947
        LD      A,':'
        LD      (DE),A
        POP     AF
        AND     07FH
        CP      041H
        JR      Z,A11AB
A11A1:  LD      A,(D1FF1)
        OR      A
        LD      HL,.path
        CALL    Z,outstr
A11AB:  XOR     A
        LD      (D1FF0),A
        DEC     A
        LD      (D1FF1),A
        LD      HL,T11E4
        PUSH    HL
        LD      HL,D1FF8
A11BA:  PUSH    HL
        CALL    A16E4
        EX      DE,HL
        LD      HL,T204D
        CALL    A1722
        JP      NC,A1643
        CALL    A1722
        JP      NC,A1659
        POP     HL
        PUSH    HL
        LD      A,(HL)
        LD      HL,T19D3
        LD      DE,T136E
        CALL    A16F2
        JP      C,A1643
        EX      (SP),HL
        LD      A,(HL)
        INC     HL
        LD      B,001H
        LD      C,A
        RET
;
T11E4:  LD      A,(D1FF0)
        OR      A
        CALL    NZ,A1644
        LD      HL,(D1FC6)
        LD      DE,D1FFC
        CALL    .word
        INC     DE
        INC     DE
        LD      C,B
        LD      HL,D1FF8
A11FA:  LD      A,(HL)
        INC     HL
        CALL    HexToA
        DJNZ    A11FA
        LD      A,C
        LD      (D1FF7),A
        LD      E,C
        LD      D,000H
        LD      HL,(D1FC6)
        ADD     HL,DE
        LD      (D1FC6),HL
        LD      HL,D1FF8
        EX      DE,HL
        ADD     HL,DE
        JR      A121C
;
A1216:  LD      A,(HL)
        LD      (DE),A
        INC     HL
        INC     DE
        INC     C
        LD      A,C
A121C:  CP      004H
        JR      NZ,A1216
        EX      DE,HL
        LD      (D1FF5),HL
        LD      A,(D1FC8)
        AND     0FEH
        CALL    Z,A178F
        LD      HL,(D1FC6)
        DEC     HL
        EX      DE,HL
        LD      HL,(D1FBF)
        SCF
        SBC     HL,DE
        JR      C,A1252
        LD      A,(D1FC1)
        CP      004H
        JP      C,A113B
        LD      HL,(.lenprog)
        LD      A,H
        OR      L
        JR      Z,A1252
        LD      A,(D1FC8)
        OR      A
        LD      HL,T1F2A
        CALL    Z,A18A8
A1252:  CALL    A181A
        CALL    A17B7
        LD      HL,D1FC8
        INC     (HL)
        JR      NZ,A129E
A125E:  LD      HL,.org
        CALL    A1779
        LD      HL,(.start)
        CALL    putw
        CALL    A178F
        LD      HL,(D1FC2)
A1270:  LD      A,(HL)
        AND     07FH
        JP      Z,A111F
        CP      058H
        JR      Z,A127E
        CP      059H
        JR      NZ,A1299
A127E:  LD      DE,T1FC9
        PUSH    HL
        CALL    A1947
        LD      HL,.equ
        CALL    A1779
        POP     HL
        PUSH    HL
        INC     HL
        LD      A,(HL)
        INC     HL
        LD      L,(HL)
        LD      H,A
        CALL    putw
        CALL    A178F
        POP     HL
A1299:  INC     HL
        INC     HL
        INC     HL
        JR      A1270
;
A129E:  LD      A,(HL)
        DEC     A
        JR      Z,A12A5
        DEC     A
        JR      NZ,A1310
A12A5:  DEC     (HL)
        PUSH    HL
        LD      HL,.end
        CALL    A1779
        CALL    A178F
        POP     HL
        INC     (HL)
        LD      A,(D1FC8)
        DEC     A
        JR      NZ,A1306
        DEC     (HL)
        CALL    A17BE
        LD      HL,nolab
        CALL    outstr
        LD      B,0FFH
        LD      HL,(D1FC2)
A12C7:  LD      A,(HL)
        OR      A
        JR      Z,A12F6
        JP      M,A12F1
        SET     7,(HL)
        CP      058H
        JR      NC,A12F1
        PUSH    HL
        OR      B
        JP      P,A12E3
        LD      DE,T200C
        LD      A,03BH
        LD      (DE),A
        INC     DE
        INC     DE
        LD      B,005H
A12E3:  CALL    A1947
        INC     DE
        INC     DE
        INC     DE
        DJNZ    A12F0
        CALL    A17CD
        LD      B,0FFH
A12F0:  POP     HL
A12F1:  INC     HL
        INC     HL
        INC     HL
        JR      A12C7
;
A12F6:  OR      B
        CALL    P,A17CD
        LD      HL,D1FC8
        INC     (HL)
        LD      A,(flgasm)
        OR      A
        JP      NZ,A125E
        INC     (HL)
A1306:  LD      A,(flgcros)
        OR      A
        JP      Z,A1018  ;закрытие файлов и выход.
        JP      A111F
;
A1310:  CALL    A17BE
        LD      HL,labcros
        CALL    outstr
        LD      HL,(D1FC2)
        LD      B,0FFH
A131E:  LD      A,(HL)
        OR      A
        JR      Z,A1366
        PUSH    HL
        JP      P,A1344
        BIT     7,B
        CALL    Z,A17CD
        LD      B,004H
        LD      DE,T200C
        LD      A,03BH
        LD      (DE),A
        INC     DE
        POP     HL
        PUSH    HL
        CALL    A1947
        LD      HL,00006H
        ADD     HL,DE
        EX      DE,HL
A133E:  POP     HL
        INC     HL
        INC     HL
        INC     HL
        JR      A131E
;
A1344:  BIT     7,B
        JR      Z,A1355
        LD      B,004H
        LD      DE,T200C
        LD      A,03BH
        LD      (DE),A
        LD      HL,0000CH
        ADD     HL,DE
        EX      DE,HL
A1355:  POP     HL
        PUSH    HL
        CALL    A1947
        INC     DE
        INC     DE
        INC     DE
        DJNZ    A133E
        CALL    A17CD
        LD      B,0FFH
        JR      A133E
;
A1366:  BIT     7,B
        CALL    Z,A17CD
        JP      A1018    ;закрытие файлов и выход.
;
T136E:  DEFW    A13AC
        DEFW    A13AD
        DEFW    A13B3
        DEFW    A13B9
        DEFW    A13BE
        DEFW    A13C7
        DEFW    A13D0
        DEFW    A01D6
        DEFW    A13DD
        DEFW    A13EB
        DEFW    A13FD
        DEFW    A1407
        DEFW    A140C
        DEFW    A1415
        DEFW    A1509
        DEFW    A1520
        DEFW    A1553
        DEFW    A15A3
        DEFW    A15AE
        DEFW    A15BB
        DEFW    A01C2
        DEFW    A15CA
        DEFW    A15CD
        DEFW    A15D8
        DEFW    A15E1
        DEFW    A15FB
        DEFW    A1600
        DEFW    A161F
        DEFW    A1622
        DEFW    A162F
        DEFW    A1635
A13AC:  RET
;
A13AD:  LD      HL,T1C7D
        JP      A16DC
;
A13B3:  LD      HL,T1C84
        JP      A16DC
;
A13B9:  LD      HL,T1C8A
        JR      A13C1
;
A13BE:  LD      HL,T1C77
A13C1:  CALL    A16DC
        JP      A16BD
;
A13C7:  CALL    A16B8
        CALL    A16BD
        CALL    A13E6
A13D0:  XOR     A
        LD      (D1FF1),A
        RET
;
A13D5:  CALL    A1785
A13D8:  INC     B
        LD      A,(HL)
        JP      putb
;
A13DD:  CALL    A019B
A13E0:  CALL    A16B8
        CALL    A13D8
A13E6:  LD      A,029H
        LD      (DE),A
        INC     DE
        RET
;
A13EB:  CALL    A16D7
A13EE:  CALL    A1788
A13F1:  CALL    A16B8
        LD      C,044H
        INC     B
        INC     B
        CALL    A141E
        JR      A13E6
;
A13FD:  CALL    A13F1
A1400:  CALL    A1788
        LD      A,041H
        LD      (DE),A
        RET
;
A1407:  CALL    A16BD
        JR      A13EE
;
A140C:  CALL    A13F1
        CALL    A1788
        JP      A16BD
;
A1415:  CP      0C3H
        CALL    Z,A13D0
A141A:  LD      C,041H
        LD      B,003H
A141E:  LD      A,(HL)
        INC     HL
        LD      H,(HL)
        LD      L,A
A1422:  PUSH    BC
        PUSH    DE
        LD      D,H
        LD      E,L
        LD      A,L
        LD      L,H
        LD      H,A
        LD      (D1FF3),HL
        LD      A,C
        LD      B,058H
        CP      041H
        JR      Z,A1439
        INC     B
        CP      044H
        JR      Z,A1439
        INC     B
A1439:  LD      A,B
        LD      HL,(.start)
        SCF
        SBC     HL,DE
        JR      NC,A144B
        LD      HL,(D1FBF)
        OR      A
        SBC     HL,DE
        JR      C,A144B
        LD      A,C
A144B:  LD      (D1FF2),A
        LD      HL,(D1FC2)
        EX      DE,HL
        DEC     DE
        LD      A,(D1FC8)
        CP      002H
        JR      Z,A14BD
A145A:  INC     DE
        LD      A,(DE)
        OR      A
        JR      Z,A146F
        INC     DE
        LD      A,(DE)
        INC     DE
        CP      H
        JR      C,A145A
        JR      NZ,A146B
        LD      A,(DE)
        CP      L
        JR      C,A145A
A146B:  DEC     DE
        DEC     DE
        JR      Z,A1486
A146F:  LD      A,(D1FC8)
        OR      A
        JP      P,A14D3
        CALL    A1747
A1479:  LD      HL,D1FF2
        LD      BC,00003H
        LDIR
        DEC     DE
        DEC     DE
        DEC     DE
        JR      A149D
;
A1486:  LD      A,(D1FC8)
        OR      A
        JP      P,A149D
        LD      A,(DE)
        CP      041H
        JR      Z,A149D
        CP      058H
        JR      Z,A149D
        NOP
        NOP
        LD      A,C
        CP      054H
        JR      NZ,A1479
A149D:  EX      DE,HL
        POP     DE
        LD      A,(D1FF2)
        POP     BC
        CP      'Z' ;05AH
        JR      Z,A14B3
        CP      'T' ;054H
        JP      NZ,A1947
        LD      A,(flglab)
        OR      A
        JP      NZ,A1947
A14B3:  INC     HL
        LD      A,(HL)
        INC     HL
        LD      L,(HL)
        LD      H,A
        JP      putw
;
A14BB:  INC     DE
        INC     DE
A14BD:  INC     DE
        LD      A,(DE)
        OR      A
        JR      Z,A14D3
        JP      P,A14BB
        INC     DE
        LD      A,(DE)
        INC     DE
        CP      H
        JR      C,A14BD
        JR      NZ,A14D3
        LD      A,(DE)
        CP      L
        JR      C,A14BD
        JR      Z,A14ED
A14D3:  LD      DE,T1E89
        LD      HL,(D1FC6)
        CALL    .word
        LD      HL,T1E7D
A14DF:  CALL    A18A8
        LD      HL,T1EE6
        CALL    A18A8
        JP      A1018    ;закрытие файлов и выход.
;
A14EB:  INC     DE
        INC     DE
A14ED:  INC     DE
        LD      A,(DE)
        OR      A
        JR      Z,A14F5
        JP      P,A14EB
A14F5:  CALL    A1747
        LD      A,(D1FF2)
        LD      (DE),A
        INC     DE
        LD      HL,(D1FC6)
        LD      A,H
        LD      (DE),A
        INC     DE
        LD      A,L
        LD      (DE),A
        INC     DE
        POP     DE
        POP     BC
        RET
;
A1509:  CP      018H
        CALL    Z,A13D0
A150E:  INC     B
        PUSH    DE
        LD      A,(HL)
        INC     HL
        LD      E,A
        RLA
        SBC     A,A
        LD      D,A
        CALL    A16E4
        ADD     HL,DE
        POP     DE
        LD      C,041H
        JP      A1422
;
A1520:  LD      A,(D1FF0)
        OR      A
        LD      A,(HL)
        JR      Z,A152B
        NOP
        INC     HL
        LD      A,(HL)
        DEC     HL
A152B:  PUSH    HL
        PUSH    AF
        LD      HL,T1AA5
        LD      DE,T153F
A1533:  CALL    A16F2
        JP      C,A1642
        POP     AF
        EX      (SP),HL
        LD      B,002H
        LD      C,A
A153E:  RET
;
T153F:  DEFW    A1543
        DEFW    A166A
A1543:  LD      C,A
        RRCA
        RRCA
        RRCA
        AND     007H
        CALL    A1989
        CALL    A1788
        LD      A,C
        JP      A166A
;
A1553:: LD      A,(HL)
        INC     HL
        PUSH    HL
        PUSH    AF
        LD      HL,T1AC8
        LD      DE,T155F
        JR      A1533
;
T155F:  DEFW    A153E
        DEFW    A1571
        DEFW    A1577
        DEFW    A157D
        DEFW    A1583
        DEFW    A1589
        DEFW    A158F
        DEFW    A1600
        DEFW    A159A
;
A1571:  LD      HL,T1C90
        JP      A16DC
;
A1577:  LD      HL,T1C98
        JP      A16DC
;
A157D:  LD      HL,T1C94
        JP      A16DC
;
A1583:  LD      HL,T1C9C
        JP      A16DC
;
A1589:  CALL    A1694
        JP      A13EE
;
A158F:  PUSH    AF
        CALL    A13F1
        CALL    A1788
        POP     AF
        JP      A1694
;
A159A:  CALL    A01A7
        LD      HL,T1CA0
        JP      A16DC
;
A15A3:  AND     018H
        CALL    A15E1
        CALL    A1788
        JP      A150E
;
A15AE:  CP      0DDH
        LD      A,058H
        JR      Z,A15B5
        INC     A
A15B5:  LD      (D1FF0),A
        JP      A11BA
;
A15BB:  CALL    A1667
        JR      A15C3
;
A15C0:  CALL    A16D7
A15C3:  CALL    A1788
A15C6:  LD      A,C
        JP      A166A
;
A15CA:  JP      A1667
;
A15CD:  INC     B
        CALL    A1667
        CALL    A1788
        LD      A,(HL)
        JP      putb
;
A15D8:  CALL    A15E1
        CALL    A1788
        JP      A141A
;
A15E1:  PUSH    BC
        PUSH    HL
        AND     038H
        RRCA
        RRCA
        LD      C,A
        LD      B,000H
        LD      HL,T1C59
        ADD     HL,BC
A15EE:  LD      A,(HL)
        LD      (DE),A
        INC     DE
        INC     HL
        LD      A,(HL)
        CP      020H
        POP     HL
        POP     BC
        RET     Z
        LD      (DE),A
        INC     DE
        RET
;
A15FB:  AND     038H
        JP      putb
;
A1600:  AND     030H
        CP      020H
        JR      NZ,A1618
        LD      HL,D1FF0
        LD      C,(HL)
        CALL    A16BD
        CALL    A1788
        JP      NC,A16BD
        LD      (HL),C
        DEC     B
        JP      A16BD
;
A1618:  CALL    A16BD
        CALL    A1788
        LD      A,C
A161F:  JP      A1694
;
A1622:  CALL    A1785
A1625:  CALL    A16B8
        LD      A,C
        CALL    A1694
        JP      A13E6
;
A162F:  CALL    A1625
        JP      A1400
;
A1635:  LD      B,003H
        CALL    A1694
        CALL    A1788
        LD      C,054H
        JP      A141E
;
A1642:  POP     HL
A1643:  POP     HL
A1644:  CALL    A01BA
        LD      HL,.defb
        CALL    A1779
        XOR     A
        LD      (D1FF0),A
        LD      B,001H
        LD      A,(D1FF8)
        JP      putb
;
A1659:  LD      HL,.defw
        CALL    A1779
        POP     HL
        LD      B,002H
        LD      C,041H
        JP      A141E
;
A1667:  RRCA
        RRCA
        RRCA
A166A:  AND     007H
        CP      006H
        JR      NZ,A1685
        CALL    A16B8
        CALL    A16BD
        JR      NC,A1682
        INC     B
        LD      A,02BH
        LD      (DE),A
        INC     DE
        LD      A,(HL)
        INC     HL
        CALL    putb
A1682:  JP      A13E6
;
A1685:  PUSH    BC
        LD      C,A
        LD      B,000H
        PUSH    HL
        LD      HL,T1C69
        ADD     HL,BC
        LD      A,(HL)
        POP     HL
        LD      (DE),A
        INC     DE
        POP     BC
        RET
;
A1694:  PUSH    BC
        PUSH    HL
        LD      HL,T1C7B
        CP      0F5H
        JR      Z,A16B5
        CP      0F1H
        JR      Z,A16B5
        RRCA
        RRCA
        RRCA
        AND     006H
        CP      004H
        JR      NZ,A16AE
        POP     HL
        POP     BC
        JR      A16BD
;
A16AE:  LD      C,A
        LD      B,000H
        LD      HL,T1C71
        ADD     HL,BC
A16B5:  JP      A15EE
;
A16B8:  LD      A,028H
        LD      (DE),A
        INC     DE
        RET
;
A16BD:  PUSH    HL
        LD      HL,D1FF0
        LD      A,(HL)
        LD      (HL),000H
        LD      HL,04C48H
        OR      A
        JR      Z,A16CF
        LD      H,A
        LD      L,049H
        SCF
        INC     B
A16CF:  LD      A,L
        LD      (DE),A
        INC     DE
        LD      A,H
        LD      (DE),A
        INC     DE
        POP     HL
        RET
;
A16D7:  LD      A,041H
        LD      (DE),A
        INC     DE
        RET
;
A16DC:  LD      A,(HL)
        INC     HL
        OR      A
        RET     Z
        LD      (DE),A
        INC     DE
        JR      A16DC
;
A16E4:  PUSH    DE
        EX      DE,HL
        LD      HL,(D1FC6)
        ADD     HL,DE
        LD      DE,D1FF8
        OR      A
        SBC     HL,DE
        POP     DE
        RET
;
A16F2:  LD      C,A
A16F3:  AND     (HL)
        JR      NZ,A16FA
        OR      (HL)
        SCF
        RET     Z
        XOR     A
A16FA:  INC     HL
        LD      B,(HL)
        INC     HL
A16FD:  CP      (HL)
        INC     HL
        JR      Z,A1708
        INC     HL
        INC     HL
        DJNZ    A16FD
        LD      A,C
        JR      A16F3
;
A1708:  LD      A,(HL)
        INC     HL
        LD      L,(HL)
        LD      H,000H
        PUSH    HL
        ADD     A,A
        LD      L,A
        ADD     HL,DE
        LD      A,(HL)
        INC     HL
        LD      H,(HL)
        LD      L,A
        EX      (SP),HL
        ADD     HL,HL
        ADD     HL,HL
        LD      DE,T1B41
        ADD     HL,DE
        CALL    A1779
        POP     HL
        OR      A
        RET
;
A1722:  LD      A,(HL)
        OR      A
        INC     HL
        SCF
        RET     Z
        LD      B,A
A1728:  LD      C,(HL)
        INC     HL
        LD      A,D
        CP      (HL)
        INC     HL
        JR      C,A1741
        JR      NZ,A1735
        LD      A,E
        CP      C
        JR      C,A1741
A1735:  LD      C,(HL)
        INC     HL
        LD      A,(HL)
        CP      D
        JR      C,A1742
        RET     NZ
        LD      A,C
        CP      E
        RET     NC
        JR      A1742
;
A1741:  INC     HL
A1742:  INC     HL
        DJNZ    A1728
        SCF
        RET
;
A1747:  PUSH    DE
        LD      L,E
        LD      H,D
        XOR     A
A174B:  CP      (HL)
        INC     HL
        INC     HL
        INC     HL
        JR      NZ,A174B
        PUSH    HL
        SBC     HL,DE
        LD      C,L
        LD      B,H
        POP     DE
        INC     DE
        INC     DE
        LD      HL,(endmem)
        OR      A
        SBC     HL,DE
        JR      C,A176A
        LD      L,E
        LD      H,D
        DEC     HL
        DEC     HL
        DEC     HL
        LDDR
        POP     DE
        RET
;
A176A:  LD      HL,(D1FC6)
        LD      DE,T1EDD
        CALL    .word
        LD      HL,T1EB8
        JP      A14DF
;
A1779:  LD      DE,T1FD1
        LD      BC,4
        LDIR
        LD      DE,T1FD9
        RET
;
A1785:  CALL    A16D7
A1788:  PUSH    AF
        LD      A,02CH
        LD      (DE),A
        INC     DE
        POP     AF
        RET
;
A178F:  LD      DE,T1FC9
        LD      HL,T200C
        LD      A,(flgtab)
        LD      C,A
A1799:  LD      A,(DE)
        CP      020H
        JR      NZ,A17AE
        DEC     C
        INC     C
        JR      Z,A17AE
        LD      (HL),009H
A17A4:  INC     DE
        LD      A,(DE)
        CP      020H
        JR      Z,A17A4
        OR      A
        JR      Z,A17AE
        INC     HL
A17AE:  LD      (HL),A
        INC     HL
        INC     DE
        OR      A
        JR      NZ,A1799
        CALL    A17CD
A17B7:  LD      HL,T1FC9
        LD      B,01FH
        JR      A181F
;
A17BE:  LD      HL,T1F49
outstr::  LD      DE,T200C
A17C4:  LD      A,(HL)
        OR      A
        JR      Z,A17CD
        LD      (DE),A
        INC     DE
        INC     HL
        JR      A17C4
;
A17CD:  CALL    A1825
        LD      A,(D1FC8)
        LD      HL,T1FE9
        INC     A
        JR      Z,A17EB
        INC     HL
        DEC     A
        JR      Z,A17EB
        INC     HL
        DEC     A
        JR      NZ,A17ED
        OR      (HL)
        RET     Z
        LD      HL,T200C
        CALL    A185C
        JR      A181A
;
A17EB:  OR      (HL)
        RET     Z
A17ED:  LD      HL,T2003
        LD      A,(flgtab)
        OR      A
        JR      Z,A1814
        LD      A,(D1FFC)
        CP      020H
        JR      NZ,A1802
        LD      HL,D1FFC
        LD      (HL),009H
A1802:  INC     HL
        LD      A,(HL)
        CP      020H
        JR      NZ,A1802
        LD      (HL),009H
        LD      DE,T200C
A180D:  INC     HL
        LD      A,(DE)
        LD      (HL),A
        INC     DE
        OR      A
        JR      NZ,A180D
A1814:  LD      HL,D1FFC
        CALL    A1834

A181A:  LD      B,50H
        LD      HL,D1FFC
A181F:  LD      (HL),020H
        INC     HL
        DJNZ    A181F
        RET
;
A1825:  LD      HL,T204C
        LD      B,04EH
        LD      A,020H
A182C:  LD      (HL),000H
        DEC     HL
        CP      (HL)
        RET     NZ
        DJNZ    A182C
        RET
;
A1834:  LD      A,(HL)
        OR      A
        JR      Z,A183E
        CALL    A1845
        INC     HL
        JR      A1834
;
A183E:  LD      A,00DH
        CALL    A1845
        LD      A,00AH
A1845:  PUSH    BC
        PUSH    DE
        PUSH    HL
        LD      C,A
        LD      A,(flgprn)
        OR      A
        LD      A,C
        JR      Z,A1855
        CALL    A1012    ;вывод символа в файл *.PRN.
        JR      A1858
;
A1855:  CALL    A100F    ;вывод символа на консоль.
A1858:  POP     HL
        POP     DE
        POP     BC
        RET
;
A185C:  LD      A,(HL)
        INC     HL
        OR      A
        JR      Z,A1866
        CALL    A186D
        JR      A185C
;
A1866:  LD      A,00DH
        CALL    A186D
        LD      A,00AH
A186D:  PUSH    BC
        PUSH    DE
        PUSH    HL
        LD      C,A
        CALL    A100C   ;вывод символа в файл *.ASM.
        POP     HL
        POP     DE
        POP     BC
        RET
;
A1878:  CALL    A1015 ;опрос статуса консоли.
        OR      A
        RET     Z
        CALL    A1003 ;ввод с консоли символа.
        AND     07FH
        CP      060H
        JR      C,A1888
        AND     05FH
A1888:  CP      003H    ; ^C ?
        JP      Z,A1018 ;да,закрытие файлов и выход.
        CP      'L'     ;
        RET     NZ
        CALL    A181A
        LD      DE,D1FFC
        LD      HL,(D1FC6)
        CALL    .word
        LD      HL,D1FFC
        CALL    A18A8
        CALL    A18B1
        JP      A181A
;
A18A8:  LD      A,(HL)
        INC     HL
        OR      A
        RET     Z
        CALL    A18B8
        JR      A18A8
;
A18B1:  LD      A,00DH
        CALL    A18B8
        LD      A,00AH
A18B8:  PUSH    BC
        PUSH    DE
        PUSH    HL
        PUSH    AF
        LD      C,A
        CALL    A1009     ;вывод символа на консоль.
        POP     AF
        POP     HL
        POP     DE
        POP     BC
        RET
;
A18C5:  CALL    A18A8
A18C8:  CALL    A18D2
        CALL    A18B1
        LD      A,B
        SUB     00DH
        RET
;
A18D2:  LD      HL,00000H
A18D5:  CALL    A18F0
        LD      B,A
        SUB     030H
        RET     C
        CP      00AH
        JR      C,A18E8
        SUB     007H
        CP      010H
        RET     NC
        CP      00AH
        RET     C
A18E8:  ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        OR      L
        LD      L,A
        JR      A18D5
;
A18F0:  PUSH    BC
        PUSH    DE
        PUSH    HL
        CALL    A1003 ;ввод с консоли символа.
        POP     HL
        POP     DE
        POP     BC
        AND     07FH
        CP      060H
        RET     C
        AND     05FH
        RET
;
A1901:  LD      (HL),000H
        EX      DE,HL
        PUSH    DE
        INC     DE
A1906:  CALL    A18D2
        LD      A,B
        CP      020H
        JR      Z,A192B
        CP      02CH
        JR      Z,A192B
        CP      02DH
        JR      Z,A192B
        CALL    A18B1
        LD      A,B
        CP      00DH
        JR      NZ,A1921
        POP     BC
        EX      DE,HL
        RET
;
A1921:  PUSH    DE
        LD      HL,T1E56
        CALL    A18A8
        POP     DE
        JR      A1906
;
A192B:  PUSH    HL
        CALL    A18C8
        POP     BC
        JR      NZ,A1921
        PUSH    HL
        SBC     HL,BC
        POP     HL
        JR      C,A1921
        EX      DE,HL
        LD      (HL),C
        INC     HL
        LD      (HL),B
        INC     HL
        LD      (HL),E
        INC     HL
        LD      (HL),D
        INC     HL
        EX      DE,HL
        POP     HL
        INC     (HL)
        PUSH    HL
        JR      A1906
;
A1947:  LD      A,(HL)
        AND     07FH
        LD      (DE),A
        INC     DE
        INC     HL
        LD      A,(HL)
        INC     HL
        LD      L,(HL)
        LD      H,A

.word:: PUSH    AF
        LD      A,H
        CALL    HexToA
        LD      A,L
        CALL    HexToA
        POP     AF
        RET
;
putw::  PUSH    AF
        LD      A,'0'
        LD      (DE),A
        INC     DE
        CALL    .word
        LD      A,'H'
        LD      (DE),A
        INC     DE
        POP     AF
        RET
;
putb::  PUSH    AF
        LD      A,'0'
        LD      (DE),A
        INC     DE
        POP     AF
        CALL    HexToA
        LD      A,'H'
        LD      (DE),A
        INC     DE
        RET
;
HexToA::
        PUSH    AF
        RRCA
        RRCA
        RRCA
        RRCA
        CALL    A1981
        POP     AF
A1981:  AND     00FH
        CP      00AH
        JR      C,A1989
        ADD     A,007H
A1989:  ADD     A,030H
        LD      (DE),A
        INC     DE
        RET
;
A198E:  PUSH    HL
        CALL    A18A8
        CALL    A18F0
        PUSH    AF
        CALL    A18B1
        POP     AF
        CP      'Y'  ;059H
        SCF
        JR      Z,A19AB
        CP      00DH
        SCF
        JR      Z,A19AB
        CP      'N'  ;04EH
        JR      Z,A19AB
        POP     HL
        JR      A198E
;
A19AB:  SBC     A,A
        INC     SP
        INC     SP
        RET
;
A19AF:  SCF                 ;признак 'Открыть файл'
        CALL    A1006       ;*.COM
        LD      HL,(.offset)
A19B6:  LD      A,H
        OR      L
        RET     Z
        CALL    A19C8
        DEC     HL
        JR      NC,A19B6
        LD      HL,T1EFE
        CALL    A18A8
        JP      A1018   ;закрытие файлов и выход.
;
A19C8:  PUSH    HL
        PUSH    DE
        PUSH    BC
        OR      A
        CALL    A1006     ;ввод символа из файла *.COM.
        POP     BC
        POP     DE
        POP     HL
        RET
;
T19D3:  DB    0FFH,027H
        DB    0D9H,000H,012H
        DB    027H,000H,00CH
        DB    02FH,000H,00BH
        DB    03FH,000H,005H
        DB    037H,000H,03EH
        DB    000H,000H,025H
        DB    076H,000H,013H
        DB    0F3H,000H,00FH
        DB    0FBH,000H,010H
        DB    017H,000H,033H
        DB    01FH,000H,038H
        DB    007H,000H,035H
        DB    00FH,000H,03AH
        DB    008H,001H,011H
        DB    0EBH,002H,011H
        DB    0E3H,003H,011H
        DB    0F9H,004H,01FH
        DB    0E9H,005H,01DH
        DB    0C9H,006H,02FH
        DB    0CEH,007H,000H
        DB    0C6H,007H,001H
        DB    0E6H,007H,002H
        DB    0FEH,007H,006H
        DB    0F6H,007H,026H
        DB    0DEH,007H,03DH
        DB    0D6H,007H,043H
        DB    0EEH,007H,044H
        DB    0DBH,008H,017H
        DB    0D3H,008H,029H
        DB    03AH,009H,01FH
        DB    032H,00AH,01FH
        DB    02AH,00BH,01FH
        DB    022H,00CH,01FH
        DB    0C3H,00DH,01DH
        DB    0CDH,00DH,004H
        DB    010H,00EH,00EH
        DB    018H,00EH,01EH
        DB    0CBH,00FH,045H
        DB    0EDH,010H,045H
        DB    0E7H,001H,020H
        DB    011H,01EH,0DFH
        DB    001H,0DDH,012H
        DB    045H,0C0H,001H
        DB    040H,013H,01FH
        DB    0F8H,008H,088H
        DB    014H,000H,080H
        DB    014H,001H,0A0H
        DB    014H,002H,0B8H
        DB    014H,006H,0B0H
        DB    014H,026H,098H
        DB    014H,03DH,090H
        DB    014H,043H,0A8H
        DB    014H,044H,0C7H
        DB    007H,005H,015H
        DB    00DH,004H,015H
        DB    018H,006H,016H
        DB    01FH,0C4H,017H
        DB    004H,0C2H,017H
        DB    01DH,0C0H,018H
        DB    02FH,0C7H,019H
        DB    03CH,0CFH,008H
        DB    009H,01AH,001H
        DB    00BH,01BH,00DH
        DB    003H,01BH,018H
        DB    0C1H,01BH,02CH
        DB    0C5H,01BH,02DH
        DB    00AH,01CH,01FH
        DB    002H,01DH,01FH
        DB    001H,01EH,01FH
        DB    000H

T1AA5:  DB    0C0H,3
        DB    040H,000H,003H
        DB    0C0H,000H,03FH
        DB    080H,000H,02EH

        DB    0F8H,007H
        DB    000H,001H,034H
        DB    010H,001H,032H
        DB    008H,001H,039H
        DB    018H,001H,037H
        DB    020H,001H,040H
        DB    028H,001H,041H
        DB    038H,001H,042H
        DB    000H

T1AC8:  DB    0FFH,022H
        db    0A0H,000H,022H
        db    0B0H,000H,023H
        db    0A8H,000H,020H
        db    0B8H,000H,021H
        db    0A1H,000H,009H
        db    0B1H,000H,00AH
        DB    0A9H,000H,007H
        db    0B9H,000H,008H
        db    044H,000H,024H
        db    046H,000H,014H
        db    056H,000H,015H
        db    05EH,000H,016H
        db    06FH,000H,036H
        db    067H,000H,03BH
        db    04DH,000H,030H
        db    045H,000H,031H
        DB    0A2H,000H,019H
        db    0B2H,000H,01AH
        db    0AAH,000H,01BH
        db    0BAH,000H,01CH
        db    0A3H,000H,02BH
        db    0B3H,000H,028H
        db    0ABH,000H,02AH
        db    0BBH,000H,027H
        db    057H,001H,01FH
        db    05FH,002H,01FH
        DB    047H,003H,01FH
        db    04FH,004H,01FH
        db    04BH,005H,01FH
        db    05BH,005H,01FH
        db    07BH,005H,01FH
        db    043H,006H,01FH
        db    053H,006H,01FH
        db    073H,006H,01FH
        db    0CFH,002H,04AH
        db    007H,000H,042H
        DB    007H,03DH,0C7H
        db    002H,040H,008H
        db    017H,041H,008H,029H
        DB    000H

T1B41::
       DB "ADC "
       DB "ADD "
       DB "AND "
       DB "BIT "
       DB "CALL"
       DB "CCF "
       DB "CP  "
       DB "CPD "
       DB "CPDR"
       DB "CPI "
       DB "CPIR"
       DB "CPL "
       DB "DAA "
       DB "DEC "
       DB "DJNZ"
       DB "DI  "
       DB "EI  "
       DB "EX  "
       DB "EXX "
       DB "HALT"
       DB "IM.0"
       DB "IM.1"
       DB "IM.2"
       DB "IN  "
       DB "INC "
       DB "INI "
       DB "INIR"
       DB "IND "
       DB "INDR"
       DB "JP  "
       DB "JR  "
       DB "LD  "
       DB "LDD "
       DB "LDDR"
       DB "LDI "
       DB "LDIR"
       DB "NEG "
       DB "NOP "
       DB "OR  "
       DB "OTDR"
       DB "OTIR"
       DB "OUT "
       DB "OUTD"
       DB "OUTI"
       DB "POP "
       DB "PUSH"
       DB "RES "
       DB "RET "
       DB "RETI"
       DB "RETN"
       DB "RL  "
       DB "RLA "
       DB "RLC "
       DB "RLCA"
       DB "RLD "
       DB "RR  "
       DB "RRA "
       DB "RRC "
       DB "RRCA"
       DB "RRD "
       DB "RST "
       DB "SBC "
       DB "SCF "
       DB "SET "
       DB "SLA "
       DB "SRA "
       DB "SRL "
       DB "SUB "
       DB "XOR "
       DB "****"
T1C59: DB "NZZ NCC POPEP M "
T1C69: DB "BCDEHL*A"
T1C71: DB "BCDEHL"
T1C77: DB "SP,",0
T1C7B: DB "AF"
T1C7D: DB "AF,AF'",0
T1C84: DB "DE,HL",0
T1C8A: DB "(SP),",0
T1C90: DB "A,I",0
T1C94: DB "I,A",0
T1C98: DB "A,R",0
T1C9C: DB "R,A",0
T1CA0: DB ","
T1CA1: DB "(C)",0
T1CA5: DB "ENTER PROGRAM LENGTH: ",0
T1CBC: DB "ENTER PROGRAM STARTING ADDRESS: ",0
T1CDD: DB "ENTER PROGRAM OFFSET INTO FILE: ",0
T1CFE: DB "DO YOU WANT AN ASCII DUMP? ",0
       DB "DO YOU WANT THE LISTING PASS? ",0
       DB "DO YOU WANT THE SOURCE OUTPUT PASS? ",0
       DB "DO YOU WANT THE LABLE CROSS REFRENCE PASS? ",0
       DB "MAKE ALL INTERNAL TABLE REFRENCES LABLES? ",0
       DB "DO YOU WANT TABS USED IN OUTPUT? ",0
T1DD7: DB "LIST OUTPUT TO DISK FILE? ",0
T1DF2: DB "Enter BYTE area address pairs (1 set per line):",0
T1E24: DB "Enter WORD area address pairs (1 set per line):",0
T1E56: DB "INVALID ADDRESS ENTRY, PAIR IGNORED!",0DH,0AH,0
T1E7D: DB ">> LABLE AT "
T1E89: DB "XXXX DID NOT MATCH THE PASS 1 SYMBOL TABLE! <<",0
T1EB8: DB " >> SYMBOL TABLE OVERFLOW OCCURED AT "
T1EDD: DB "XXXX. <<",0
T1EE6: DB 0DH,0AH,"DIS-ASSEMBLY ABORTED!",0
T1EFE: DB "END OF FILE BEFORE PROGRAM OFFSET COMPLETE!",0
T1F2A: DB ">> UNEXPECTED END OF FILE <<",13,10,0
T1F49: DB ";",0
.dump:: DB "; ASCII DUMP",0
.path:: DB "; >> NO EXECUTION PATH TO HERE <<",0
nolab:: DB "; UNRESOLVED LABELS",0
labcros:: DB "; LABLE CROSS REFRENCE",0
.org:: DB "ORG "
.end:: DB "END "
.equ:: DB "EQU "
.defb:: DB "DB  "
.defw:: DB "DW  "

.offset::   DW      000H
.lenprog::  DW      000H
.start::    DW      000H
D1FBF:  DW      000H
D1FC1:  DB    000H
D1FC2:  DW      04DH
endmem:: DW      0
D1FC6:  DW      000H
D1FC8:  DEFB    000H
T1FC9: DS 8
T1FD1: DS 8
T1FD9: DB 07EH,09BH,05FH,023H,07EH,09AH,057H,023H
       DB 07EH,0DDH,09DH,0DDH,06FH,023H,07EH,000H
T1FE9: DB    0 ;ASCII DUMP?
       DB    0 ;LISTING PASS?
flgasm::  DB    0 ;SOURCE  OUTPUT PASS?
flgcros:: DB    0 ;LABLE CROSS REFRENCE PASS?
flglab::  DB    0 ;MAKE ALL INTERNAL TABLE REFRENCES LABLES?
flgtab::  DB    0 ;DO YOU WANT TABS USED IN OUTPUT?
flgprn::  DB    0 ;LIST OUTPUT TO DISK FILE?
D1FF0: DB 0
D1FF1: DB 0
D1FF2: DB 0
D1FF3: DW 0
D1FF5: DW 0
D1FF7: DB 0
D1FF8: DB 0B7H,020H,027H,0DDH
D1FFC: DS 7
T2003: DS 9
T200C: DS 040H
T204C: DB 0
T204D: DB 0
       END
0
D1FF7: DB 0
D1FF8: DB 0B7H,020H,027H,0DDH
D1FFC: DS