You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

595 lines
6.8 KiB

extrn .begin,.chl,.swt
extrn csave,cret,.move
global style_,1
global vdp_rege_,960
global szTemp_,128
global linenum_,1
global counter_,1
global outer_,1
global inner_,1
global limit_,1
global index_,2
PUBLIC main_
main_: lxi d,.2
call csave
LDA outer_
MOV L,A
MVI H,0
LXI D,3
CALL .eq
JZ .3
LXI H,0
MOV A,L
STA style_
.3:
LXI H,.1+0
PUSH H
CALL vdp_main_
POP D
LXI H,0
XCHG
LXI H,-63-.2
DAD SP
MOV M,E
LXI H,0
MOV A,L
STA outer_
JMP .5
.4:
LDA outer_
MOV L,A
INX H
MOV A,L
STA outer_
.5:
LDA outer_
MOV L,A
MVI H,0
LXI D,4
XCHG
CALL .lt
JZ .6
LXI H,4
MOV A,L
STA linenum_
LXI H,0
MOV A,L
STA inner_
JMP .8
.7:
LDA inner_
MOV L,A
INX H
MOV A,L
STA inner_
.8:
LDA inner_
MOV L,A
MVI H,0
LXI D,6
XCHG
CALL .lt
JZ .9
LDA inner_
MOV L,A
MVI H,0
LXI D,5
XCHG
CALL .lt
JZ .10
LXI H,11
MOV A,L
STA limit_
JMP .11
.10:
LXI H,9
MOV A,L
STA limit_
.11:
LXI H,0
XCHG
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .13
.12:
LXI H,2-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.13:
LDA limit_
MOV L,A
MVI H,0
PUSH H
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
POP H
CALL .lt
JZ .14
LXI H,-63-.2
DAD SP
MOV E,M
MVI D,0
PUSH D
LXI H,.1+14
PUSH H
LXI H,-58-.2
DAD SP
PUSH H
CALL sprintf_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,3
CALL .ml
INX H
INX H
PUSH H
LDA linenum_
MOV L,A
MVI H,0
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
LXI H,-63-.2
DAD SP
PUSH H
MOV L,M
INX H
XCHG
POP H
MOV M,E
XCHG
DCX H
MVI H,0
PUSH H
LXI H,.1+17
PUSH H
LXI H,-58-.2
DAD SP
PUSH H
CALL sprintf_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,3
CALL .ml
INX H
INX H
PUSH H
LDA linenum_
MOV L,A
MVI H,0
INX H
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
JMP .12
.14:
LXI H,3
XCHG
LDA linenum_
MOV L,A
mvi h,0
DAD D
MOV A,L
STA linenum_
LDA inner_
MOV L,A
MVI H,0
LXI D,5
CALL .eq
JZ .15
LDA outer_
MOV L,A
MVI H,0
INX H
PUSH H
LXI H,.1+22
PUSH H
LXI H,-58-.2
DAD SP
PUSH H
CALL sprintf_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
LXI H,29
PUSH H
LXI H,20
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
.15:
JMP .7
.9:
LDA outer_
MOV L,A
MVI H,0
LXI D,3
XCHG
CALL .lt
JZ .16
LXI H,.1+30
PUSH H
LXI H,2
PUSH H
LXI H,22
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
CALL gets_
POP D
.16:
JMP .4
.6:
LXI H,.1+57
PUSH H
LXI H,1
PUSH H
LXI H,22
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2
CALL .eq
JZ .17
LXI H,10-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
INX H
INX H
MOV E,M
INX H
MOV D,M
PUSH D
CALL atoi_
POP D
PUSH H
LXI H,.1+93
PUSH H
LXI H,-58-.2
DAD SP
PUSH H
CALL sprintf_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
LXI H,35
PUSH H
LXI H,1
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
.17:
LXI H,charset_
XCHG
LXI H,-65-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,.1+108
PUSH H
LXI H,.1+96
PUSH H
CALL fopen_
POP D
POP D
XCHG
LXI H,-67-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,.1+110
PUSH H
LXI H,-65-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fprintf_
POP D
POP D
LXI H,0
SHLD index_
JMP .19
.18:
LHLD index_
INX H
SHLD index_
.19:
LHLD index_
LXI D,256
XCHG
CALL .lt
JZ .20
LXI H,.1+163
PUSH H
LXI H,-65-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fprintf_
POP D
POP D
LHLD index_
PUSH H
LHLD index_
PUSH H
LXI H,-61-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-59-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-57-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-55-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-53-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-51-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-49-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-47-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,.1+169
PUSH H
LXI H,-45-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fprintf_
XCHG
LXI H,24
DAD SP
SPHL
JMP .18
.20:
LXI H,.1+231
PUSH H
LXI H,-65-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fprintf_
POP D
POP D
LXI H,-67-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fclose_
POP D
RET
.2 EQU -71
.1:
DB 78,56,86,73,68,84,83,84,40,100,119,103,41,0,37
DB 99,0,37,48,50,120,0,80,103,32,37,100,47,52,0
DB 32,80,114,101,115,115,32,97,110,121,32,107,101,121,32
DB 116,111,32,99,111,110,116,105,110,117,101,0,69,120,101
DB 99,117,116,105,111,110,32,99,111,109,112,108,101,116,101
DB 44,114,101,116,117,114,110,101,100,32,116,111,32,67,80
DB 47,77,0,37,99,0,110,56,99,104,97,114,115,46,105
DB 110,99,0,119,0,59,32,110,56,99,104,97,114,115,46
DB 105,110,99,32,45,32,97,117,116,111,109,97,116,105,99
DB 97,108,108,121,32,103,101,110,101,114,97,116,101,100,32
DB 98,121,32,110,56,118,105,100,116,115,116,10,0,9,46
DB 68,66,9,0,37,48,51,120,104,44,37,48,51,120,104
DB 44,37,48,51,120,104,44,37,48,51,120,104,44,37,48
DB 51,120,104,44,37,48,51,120,104,44,37,48,51,120,104
DB 44,37,48,51,120,104,9,59,32,48,120,37,48,50,120
DB 40,37,100,41,10,0,59,32,101,111,102,32,45,32,110
DB 56,99,104,97,114,115,46,105,110,99,10,0
extrn fclose_
extrn fprintf_
extrn atoi_
extrn gets_
extrn sprintf_
extrn vdp_main_
extrn vdp_disp_
extrn charset_
extrn fopen_
extrn .eq
extrn .lt
extrn .ml
END