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.
 
 
 
 
 
 

500 lines
6.6 KiB

extrn .begin,.chl,.swt
extrn csave,cret,.move
PUBLIC vdaini_
vdaini_: lxi d,.2
call csave
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,16384
CALL .or
SHLD hregbc_
LHLD hregbc_
PUSH H
LXI H,.1+0
PUSH H
CALL printf_
POP D
POP D
LXI H,10-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD hregde_
LHLD hregde_
PUSH H
LXI H,.1+17
PUSH H
CALL printf_
POP D
POP D
LXI H,12-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD hreghl_
LHLD hreghl_
PUSH H
LXI H,.1+34
PUSH H
CALL printf_
POP D
POP D
CALL diagnose_
LDA hrega_
MOV L,A
MVI H,0
PUSH H
LXI H,.1+51
PUSH H
CALL printf_
POP D
POP D
LDA hrega_
MOV L,A
MVI H,0
RET
.2 EQU 0
.1:
DB 104,114,101,103,98,99,32,61,32,48,120,37,48,52,120
DB 10,0,104,114,101,103,100,101,32,61,32,48,120,37,48
DB 52,120,10,0,104,114,101,103,104,108,32,61,32,48,120
DB 37,48,52,120,10,0,86,68,65,73,78,73,32,99,97
DB 108,108,101,100,44,32,114,101,116,117,114,110,32,99,111
DB 100,101,32,119,97,115,32,48,120,37,48,50,120,10,0
PUBLIC bitlook_
bitlook_: lxi d,.4
call csave
LXI H,-32768
XCHG
LXI H,2-.4
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,0
XCHG
LXI H,0-.4
DAD SP
MOV M,E
INX H
MOV M,D
JMP .6
.5:
LXI H,0-.4
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
.6:
LXI H,0-.4
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,256
CALL .lt
JZ .7
LXI H,0-.4
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.3+0
PUSH H
CALL printf_
POP D
POP D
LXI H,0
XCHG
LXI H,-2-.4
DAD SP
MOV M,E
INX H
MOV M,D
JMP .9
.8:
LXI H,-2-.4
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
.9:
LXI H,-2-.4
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,8
CALL .lt
JZ .10
LXI H,2-.4
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,.3+16
PUSH H
CALL printf_
POP D
POP D
JMP .8
.10:
LXI H,.3+24
PUSH H
CALL printf_
POP D
JMP .5
.7:
RET
.4 EQU -6
.3:
DB 97,115,99,105,105,32,61,32,48,120,37,48,50,120,32
DB 0,48,120,37,48,50,120,32,0,10,0
PUBLIC vdaqry_
vdaqry_: lxi d,.12
call csave
LXI H,8-.12
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,16640
CALL .or
SHLD hregbc_
LHLD hregbc_
PUSH H
LXI H,.11+0
PUSH H
CALL printf_
POP D
POP D
LXI H,10-.12
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD hreghl_
LHLD hreghl_
LXI D,-32768
CALL .ne
JZ .13
LXI H,.11+17
PUSH H
CALL printf_
POP D
.13:
CALL diagnose_
LDA hrega_
MOV L,A
MVI H,0
PUSH H
LXI H,.11+43
PUSH H
CALL printf_
POP D
POP D
LHLD hregbc_
LXI D,255
CALL .an
PUSH H
LXI H,.11+83
PUSH H
CALL printf_
POP D
POP D
LHLD hregde_
LXI D,8
XCHG
CALL .ur
PUSH H
LHLD hregde_
LXI D,8
XCHG
CALL .ur
PUSH H
LXI H,.11+123
PUSH H
CALL printf_
POP D
POP D
POP D
LHLD hregde_
LXI D,255
CALL .an
PUSH H
LHLD hregde_
LXI D,255
CALL .an
PUSH H
LXI H,.11+167
PUSH H
CALL printf_
POP D
POP D
POP D
LXI H,10-.12
DAD SP
mov a,m
inx h
ora m
JZ .14
LXI H,.11+211
PUSH H
CALL printf_
POP D
CALL bitlook_
.14:
LDA hrega_
MOV L,A
MVI H,0
RET
.12 EQU 0
.11:
DB 104,114,101,103,98,99,32,61,32,48,120,37,48,52,120
DB 10,0,118,100,97,113,114,121,32,115,97,121,115,32,104
DB 108,32,33,61,32,48,120,56,48,48,48,10,0,86,68
DB 65,81,82,89,32,99,97,108,108,101,100,44,32,115,116
DB 97,116,117,115,32,32,32,32,32,32,32,119,97,115,32
DB 48,120,37,48,50,120,10,0,32,32,32,32,32,32,32
DB 32,32,32,32,32,32,32,32,118,105,100,101,111,32,109
DB 111,100,101,32,32,32,119,97,115,32,48,120,37,48,50
DB 120,10,0,32,32,32,32,32,32,32,32,32,32,32,32
DB 32,32,32,114,111,119,32,99,111,117,110,116,32,32,32
DB 32,119,97,115,32,48,120,37,48,50,120,40,37,100,41
DB 10,0,32,32,32,32,32,32,32,32,32,32,32,32,32
DB 32,32,99,111,108,117,109,110,32,99,111,117,110,116,32
DB 119,97,115,32,48,120,37,48,50,120,40,37,100,41,10
DB 0,118,100,97,113,114,121,32,99,97,108,108,101,100,32
DB 119,105,116,104,32,98,105,116,109,97,112,32,112,111,105
DB 110,116,101,114,10,0
PUBLIC main_
main_: lxi d,.16
call csave
LXI H,.15+0
PUSH H
CALL printf_
POP D
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,64
PUSH H
CALL vdaini_
POP D
POP D
POP D
XCHG
LXI H,-3-.16
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,-3-.16
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-1-.16
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.15+33
PUSH H
CALL printf_
POP D
POP D
POP D
LXI H,-32768
PUSH H
LXI H,64
PUSH H
CALL vdaqry_
POP D
POP D
XCHG
LXI H,-3-.16
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,-3-.16
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-1-.16
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.15+77
PUSH H
CALL printf_
POP D
POP D
POP D
LXI H,-32768
XCHG
LXI H,2-.16
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,0
XCHG
LXI H,-1-.16
DAD SP
MOV M,E
INX H
MOV M,D
JMP .18
.17:
LXI H,-1-.16
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
.18:
LXI H,-1-.16
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2048
CALL .lt
JZ .19
LXI H,2-.16
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
MOV E,M
LXI H,1-.16
DAD SP
MOV M,E
LXI H,1-.16
DAD SP
MOV E,M
MVI D,0
LXI H,255
CALL .xr
XCHG
LXI H,1-.16
DAD SP
MOV M,E
LXI H,1-.16
DAD SP
MOV E,M
PUSH D
LXI H,4-.16
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
POP D
MOV M,E
LXI H,2-.16
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
JMP .17
.19:
LXI H,-32768
PUSH H
LXI H,0
PUSH H
LXI H,64
PUSH H
CALL vdaini_
POP D
POP D
POP D
RET
.16 EQU -7
.15:
DB 118,105,100,101,111,46,99,111,109,40,99,41,32,49,49
DB 47,49,53,47,50,48,49,50,32,100,119,103,32,45,32
DB 10,10,0,115,116,97,116,117,115,32,114,101,116,117,114
DB 110,101,100,32,102,114,111,109,32,118,100,97,105,110,105
DB 32,119,97,115,32,48,120,37,48,52,120,40,37,100,41
DB 10,0,115,116,97,116,117,115,32,114,101,116,117,114,110
DB 101,100,32,102,114,111,109,32,118,100,97,113,114,121,32
DB 119,97,115,32,48,120,37,48,52,120,40,37,100,41,10
DB 0
extrn printf_
extrn diagnose_
extrn hreghl_
extrn hregde_
extrn hregbc_
extrn hrega_
extrn .or
extrn .xr
extrn .an
extrn .ne
extrn .lt
extrn .ur
END