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.
 
 
 
 
 
 

585 lines
8.5 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
global line_,2
global ubyte_,1
global bitmask_,1
global row_,2
global bit_,2
global ascii_,2
global bool_,2
global fd_,2
PUBLIC main_
main_: lxi d,.2
call csave
LXI H,.1+0
PUSH H
CALL printf_
POP D
LXI H,0
PUSH H
CALL vdp_wrvr_
POP D
LXI H,152
PUSH H
CALL in_
POP D
LXI H,.1+77
PUSH H
LXI H,.1+65
PUSH H
CALL fopen_
POP D
POP D
SHLD fd_
LXI H,.1+79
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,.1+130
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,.1+185
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,0
SHLD line_
JMP .4
.3:
LHLD line_
INX H
SHLD line_
.4:
LHLD line_
LXI D,1024
XCHG
CALL .ul
JZ .5
LHLD line_
DAD H
DAD H
DAD H
DAD H
PUSH H
LXI H,.1+240
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
POP D
LXI H,0
XCHG
LXI H,3-.2
DAD SP
MOV M,E
JMP .7
.6:
LXI H,3-.2
DAD SP
PUSH H
MOV L,M
INX H
XCHG
POP H
MOV M,E
.7:
LXI H,3-.2
DAD SP
MOV E,M
MVI D,0
LXI H,16
CALL .lt
JZ .8
LXI H,152
PUSH H
CALL in_
POP D
PUSH H
LXI H,.1+247
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
POP D
JMP .6
.8:
LXI H,.1+253
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LHLD line_
PUSH H
LXI H,13
PUSH H
LXI H,.1+255
PUSH H
CALL printf_
POP D
POP D
POP D
JMP .3
.5:
LXI H,.1+265
PUSH H
CALL printf_
POP D
LXI H,0
PUSH H
CALL vdp_wrvr_
POP D
LXI H,152
PUSH H
CALL in_
POP D
LXI H,.1+290
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,.1+343
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,.1+386
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,0
SHLD line_
JMP .10
.9:
LHLD line_
INX H
SHLD line_
.10:
LHLD line_
LXI D,24
XCHG
CALL .ul
JZ .11
LHLD line_
PUSH H
LXI H,.1+441
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
POP D
LXI H,0
XCHG
LXI H,3-.2
DAD SP
MOV M,E
JMP .13
.12:
LXI H,3-.2
DAD SP
PUSH H
MOV L,M
INX H
XCHG
POP H
MOV M,E
.13:
LXI H,3-.2
DAD SP
MOV E,M
MVI D,0
LXI H,20
CALL .lt
JZ .14
LXI H,152
PUSH H
CALL in_
POP D
PUSH H
LXI H,.1+447
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
POP D
JMP .12
.14:
LXI H,.1+453
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LHLD line_
PUSH H
LXI H,.1+455
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
POP D
LXI H,0
XCHG
LXI H,3-.2
DAD SP
MOV M,E
JMP .16
.15:
LXI H,3-.2
DAD SP
PUSH H
MOV L,M
INX H
XCHG
POP H
MOV M,E
.16:
LXI H,3-.2
DAD SP
MOV E,M
MVI D,0
LXI H,20
CALL .lt
JZ .17
LXI H,152
PUSH H
CALL in_
POP D
PUSH H
LXI H,.1+461
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
POP D
JMP .15
.17:
LXI H,.1+467
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LHLD line_
PUSH H
LXI H,13
PUSH H
LXI H,.1+470
PUSH H
CALL printf_
POP D
POP D
POP D
JMP .9
.11:
LXI H,.1+480
PUSH H
CALL printf_
POP D
LXI H,.1+537
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,.1+589
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,.1+643
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LXI H,2048
PUSH H
CALL vdp_wrvr_
POP D
LXI H,152
PUSH H
CALL in_
POP D
LXI H,0
SHLD ascii_
JMP .19
.18:
LHLD ascii_
INX H
SHLD ascii_
.19:
LHLD ascii_
LXI D,256
XCHG
CALL .lt
JZ .20
LHLD ascii_
PUSH H
LXI H,13
PUSH H
LXI H,.1+652
PUSH H
CALL printf_
POP D
POP D
POP D
LHLD ascii_
PUSH H
LHLD ascii_
PUSH H
LXI H,.1+671
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
XCHG
LXI H,8
DAD SP
SPHL
LXI H,0
SHLD row_
JMP .22
.21:
LHLD row_
INX H
SHLD row_
.22:
LHLD row_
LXI D,8
XCHG
CALL .lt
JZ .23
LXI H,152
PUSH H
CALL in_
POP D
MOV A,L
STA ubyte_
LDA ubyte_
MOV L,A
MVI H,0
PUSH H
LXI H,.1+684
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
POP D
LXI H,0
SHLD bit_
JMP .25
.24:
LHLD bit_
INX H
SHLD bit_
.25:
LHLD bit_
LXI D,8
XCHG
CALL .lt
JZ .26
LXI H,7
XCHG
LHLD bit_
CALL .sb
PUSH H
LXI H,1
POP D
XCHG
CALL .ls
MOV A,L
STA bitmask_
LDA bitmask_
MOV L,A
MVI H,0
PUSH H
LDA ubyte_
MOV L,A
MVI H,0
POP D
CALL .an
SHLD bool_
LHLD bool_
MOV A,H
ORA L
JNZ .27
LXI H,.1+693
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
JMP .28
.27:
LXI H,.1+695
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
.28:
JMP .24
.26:
LXI H,.1+697
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
JMP .21
.23:
LXI H,.1+699
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LHLD line_
PUSH H
LXI H,13
PUSH H
LXI H,.1+701
PUSH H
CALL printf_
POP D
POP D
POP D
JMP .18
.20:
LXI H,.1+711
PUSH H
LHLD fd_
PUSH H
CALL fprintf_
POP D
POP D
LHLD fd_
PUSH H
CALL fclose_
POP D
LXI H,.1+766
PUSH H
CALL printf_
POP D
RET
.2 EQU -1
.1:
DB 116,109,115,115,116,97,116,46,99,111,109,32,49,48,47
DB 48,52,47,50,48,49,50,32,100,119,103,32,45,32,99
DB 114,101,97,116,101,32,116,109,115,57,57,49,56,46,100
DB 109,112,32,102,105,108,101,115,32,102,114,111,109,32,86
DB 82,65,77,10,0,116,109,115,57,57,49,56,46,100,109
DB 112,0,119,0,84,104,105,115,32,105,115,32,97,32,104
DB 101,120,97,100,101,99,105,109,97,108,32,100,117,109,112
DB 32,111,102,32,116,104,101,32,101,110,116,105,114,101,32
DB 49,54,75,32,86,82,65,77,10,0,65,100,100,114,58
DB 32,48,48,32,48,49,32,48,50,32,48,51,32,48,52
DB 32,48,53,32,48,54,32,48,55,32,48,56,32,48,57
DB 32,48,65,32,48,66,32,48,67,32,48,68,32,48,69
DB 32,48,70,10,0,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,10,0
DB 37,48,52,120,58,32,0,37,48,50,120,32,0,10,0
DB 37,99,108,105,110,101,32,37,100,0,10,68,117,109,112
DB 32,111,102,32,86,82,65,77,32,67,111,109,112,108,101
DB 116,101,100,10,0,10,84,104,105,115,32,105,115,32,97
DB 32,104,101,120,97,100,101,99,105,56,109,97,108,32,100
DB 117,109,112,32,111,102,32,116,104,101,32,78,97,109,101
DB 32,84,97,98,108,101,32,102,111,114,32,10,0,116,104
DB 101,32,50,52,32,108,105,110,101,115,32,111,102,32,116
DB 104,101,32,100,105,115,112,108,97,121,32,105,110,32,84
DB 101,120,116,32,77,111,100,101,46,10,0,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,10,0,37,50,100,58,32,0,37,48,50
DB 120,32,0,10,0,37,50,100,58,32,0,37,48,50,120
DB 32,0,10,10,0,37,99,108,105,110,101,32,37,100,0
DB 10,68,117,109,112,32,111,102,32,78,97,109,101,32,84
DB 97,98,108,101,32,102,111,114,32,52,48,120,50,52,32
DB 84,101,120,116,32,77,111,100,101,32,76,105,110,101,115
DB 32,67,111,109,112,108,101,116,101,100,10,0,10,9,84
DB 104,105,115,32,105,115,32,97,32,72,101,120,97,100,101
DB 99,105,109,97,108,44,32,68,101,99,105,109,97,108,44
DB 32,97,110,100,32,71,114,97,112,104,105,99,32,100,117
DB 109,112,10,0,111,102,32,116,104,101,32,67,104,97,114
DB 97,99,116,101,114,32,71,101,110,101,114,97,116,111,114
DB 32,66,105,116,109,97,112,115,32,102,111,114,32,97,108
DB 108,32,50,53,54,32,65,83,67,73,73,32,0,99,104
DB 97,114,115,46,10,10,0,37,99,68,117,109,112,105,110
DB 103,32,65,83,67,73,73,32,37,100,0,48,120,37,50
DB 120,40,37,51,100,41,58,10,0,48,120,37,48,50,120
DB 58,32,0,32,0,42,0,10,0,10,0,37,99,108,105
DB 110,101,32,37,100,0,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,10
DB 0,10,68,117,109,112,32,111,102,32,67,104,97,114,97
DB 99,116,101,114,32,66,105,116,109,97,112,32,68,97,116
DB 97,32,67,111,109,112,108,101,116,101,100,46,10,0
extrn fclose_
extrn fprintf_
extrn in_
extrn printf_
extrn vdp_wrvr_
extrn fopen_
extrn .an
extrn .lt
extrn .ul
extrn .ls
extrn .sb
END