Код:
ПРИВЕТ,ВОЛЫНСКИЙ!
ПЕРЕДАЮ ТЕБЕ 3(ТРИ) ФАЙЛА:
TDE.TXT
PR96.TXT
E.COM
В E.COM Я СДЕЛАЛ РАБОТУ С ДИСКОМ ПО-ДРУГОМУ
TURBO-DEBUG НАМ ПРЕДСТОИТ ДОВЕСТИ ДО УМА.
;
; TURBO-DEBUG
;
JMP BEGIN
INP: EQU 0C803H
PRI: EQU 0C809H
HPRI: EQU 0C815H
PRINT:EQU 0C818H
LIN: EQU 0FFC0H
TD1:DB 'RLCRRCRALRARDAACMASTCCMC'
TD2:DB 'SHLDLHLDSTA LDA '
TD4:DB 'ADDADCSUBSBBANAXRAORACMP'
TD5:DB 'BDHPSW'
TD6:DB 'BCDEHLMA'
TD7:DB 'INR ',0
TD8:DB 'DCR ',0
TD9:DB 'ADIACISUISBIANIXRIORICPI'
TDA:DB 'BDHSP '
TDB:DB 'INX ',0
TDC:DB 'DCX ',0
TDD:DB 'NZZ NCC POPEP M '
TE1:DB 'STAX ',0
TE2:DB 'LDAX ',0
PREG: EQU 09628H
VPREG:EQU 0B51AH
PSTK: EQU 09F90H
VPSTK:EQU 0B782H
PCOM: EQU 01028H
VPCOM:EQU 0921AH
STECK:EQU 1000H
O: EQU 0C800H
_PC:DW 1000H
_SP:DW 8F00H
V5: DW 0,0
FR4:DB 0,7FH,40H,40H,40H,40H,40H,40H,40H,40H
DB 40H,40H,40H,40H,40H,40H,7FH,0
DB 0,0FFH,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0FFH,0
DB 0,0FEH,2,2,2,2,2,2,2,2
DB 2,2,2,2,2,2,0FEH,0
GAL:DB 8,84H,44H,44H,44H,28H,30H,20H
STAT:DB 0E0H
; 80 РЕГИСТРЫ
; 40 КОМАНДА
; 20 СТЕК
; 10
; 8
; 4
; 2
; 1
PAGE:DB 0
; 0 ЭКРАН ОТЛАДЧИКА
; 1 ЭКРАН ПРОГРАММЫ
NSTK:DB 4; В СТЕКЕ
NCOM:DB 14H; В КОМАНДАХ
TOPCOM:DW 1000H; АДРЕС НАЧ. КОМ. ЭКРАНА
BUF:DS 20H
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
TT: DW V, G,V,V,V, V,U,V,O,V,V,V,V,V,U,V; 0
DW O, G,V,V,V, V,U,V,O,V,V,V,V,V,U,V; 1
DW O, G,G,V,V, V,U,V,O,V,G,V,V,V,U,V; 2
DW O, R,G,K,V, V,U,V,O,K,G,K,V,V,U,V; 3
DW V, V,V,V,V, V,V,V,V,V,V,V,V,V,V,V; 4
DW V, V,V,V,V, V,V,V,V,V,V,V,V,V,V,V; 5
DW V, V,V,V,V, V,V,V,V,V,V,V,V,V,V,V; 6
DW V, V,V,V,V, V,O,V,V,V,V,V,V,V,V,V; 7
DW V, V,V,V,V, V,V,V,V,V,V,V,V,V,V,V; 8
DW V, V,V,V,V, V,V,V,V,V,V,V,V,V,V,V; 9
DW V, V,V,V,V, V,V,V,V,V,V,V,V,V,V,V; A
DW V, V,V,V,V, V,V,V,V,V,V,V,V,V,V,V; B
DW F,X6,Z,Z,Y,X1,U,J,F,S,Z,O,Y,I,U,J; C
DW F,X7,Z,U,Y,X2,U,J,F,O,Z,U,Y,O,U,J; D
DW F,X8,Z,K,Y,X3,U,J,F,W,Z,V,Y,O,U,J; E
DW F,X9,Z,V,Y,X4,U,J,F,P,Z,V,Y,O,U,J; F
TLEN:
DB 5EH,65H,55H,65H
DB 5EH,65H,55H,65H
DB 7EH,65H,75H,65H
DB 7EH,65H,75H,65H
DB 55H,55H,55H,55H
DB 55H,55H,55H,55H
DB 55H,55H,55H,55H
DB 55H,55H,55H,55H
DB 55H,55H,55H,55H
DB 55H,55H,55H,55H
DB 55H,55H,55H,55H
DB 55H,55H,55H,55H
DB 0F5H,67H,0F5H,6FH
DB 0B5H,67H,0B5H,6FH
DB 75H,67H,75H,6FH
DB 75H,67H,75H,6FH
BEGIN:
CALL D_SCRN
CALL SCRCOM
ST: LXI SP, STECK
PUSH PSW
PUSH H
PUSH D
PUSH B
CALL REG
CALL STK
CALL ERPOS
CALL WRPOS
CALL INP
ORA A
JZ 0C800H
LHLD _PC
MOV E,M
XCHG
MVI H,0
DAD H
LXI B,TT
DAD B
MOV C,M
INX H
MOV B,M
PUSH B
XCHG
RET
;_________________
INL:MOV B,L; ИНВЕРСИЯ СТРОКИ
MVI C,8; А - ДЛИНА
MVI M,0FFH; HL - АДРЕС
INR L
DCR C
JNZ $-4
MOV L,B
INR H
DCR A
JNZ INL
RET
;_______________________
EFR:INR B; HL - АДРЕС
INR B; BC - РАЗМЕР
PUSH H; DE - ЦВЕТ
MOV A,C
ADI 8
V5E:MOV M,E
INX H
MOV M,D
INX H
DCR A
JNZ V5E
POP H
INR H
DCR B
JNZ EFR+2
RET
;_______________________
D_SCRN:; ЭКРАН ОТЛАДЧИКА
LDA PAGE
ORA A
LXI B,33CCH
JZ $+6
LXI B,0
PUSH PSW
CALL CLRSCR
POP PSW
JNZ V5F
LXI H,90F8H
MVI A,30H
CALL INL
V5F:LDA STAT
PUSH PSW
ANI 80H
CNZ VREG
POP PSW
PUSH PSW
ANI 40H
CNZ VCOM
POP PSW
PUSH PSW
ANI 20H
CNZ VSTK
POP PSW
RET
Никак не пойму, почему не сходится контролька. Внешне файлы верны. Может, он выгружен рамфосом а там контролька считается по другому? Там была речь про адаптацию арканоида под рамфос. Да и в запрещенном тексте все признаки куска рамфоса.