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.
 
 
 
 
 
 

646 lines
6.5 KiB

extrn .begin,.chl,.swt
extrn csave,cret,.move
global pDPHMAP_,2
global pDPHVEC_,16
DSEG
public pSYSCFG_
pSYSCFG_:
DW -16384
CSEG
DSEG
public form_
form_:
DW 6
DW 3
DW 6
DB 102
DB 105
DB 101
DB 108
DB 100
DB 49
DB 0
DW 6
DW 13
DB 100
DB 101
DB 102
DB 97
DB 117
DB 108
DB 116
DB 49
DB 0
ds 24
DW 7
DW 3
DW 6
DB 102
DB 105
DB 101
DB 108
DB 100
DB 50
DB 0
DW 7
DW 13
DB 100
DB 101
DB 102
DB 97
DB 117
DB 108
DB 116
DB 50
DB 0
ds 24
CSEG
PUBLIC main_
main_: lxi d,.2
call csave
LXI H,-4096
SHLD hregbc_
LXI H,-16384
SHLD hregde_
CALL diagnose_
LXI H,-16384
SHLD pSYSCFG_
LHLD pSYSCFG_
LXI D,68
DAD D
MOV E,M
MVI D,0
PUSH D
CALL crtinit_
POP D
CALL crtclr_
LXI H,0
PUSH H
LXI H,0
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.1+0
PUSH H
CALL banner_
POP D
LXI H,0
XCHG
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .4
.3:
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
.4:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2
CALL .lt
JZ .5
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+2
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
CALL crtlc_
POP D
POP D
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+6
DAD D
PUSH H
LXI H,.1+5
PUSH H
CALL printf_
POP D
POP D
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+15
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+13
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
CALL crtlc_
POP D
POP D
LXI H,0
XCHG
LXI H,0-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .7
.6:
LXI H,0-.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
.7:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+17
DAD D
PUSH H
CALL strlen_
POP D
PUSH H
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
POP H
CALL .lt
JZ .8
LXI H,.1+8
PUSH H
CALL printf_
POP D
JMP .6
.8:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+15
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+13
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
CALL crtlc_
POP D
POP D
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+17
DAD D
PUSH H
LXI H,.1+10
PUSH H
CALL printf_
POP D
POP D
JMP .3
.5:
LXI H,0
XCHG
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .10
.9:
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
.10:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2
CALL .lt
JZ .11
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+15
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+13
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
CALL crtlc_
POP D
POP D
LXI H,34
PUSH H
LXI H,0
PUSH H
LXI H,-30-.2
DAD SP
PUSH H
CALL memset_
POP D
POP D
POP D
LXI H,10
SHLD dregbc_
LXI H,-34-.2
DAD SP
SHLD dregde_
LXI H,31
XCHG
LXI H,-34-.2
DAD SP
MOV M,E
LXI H,0
XCHG
LXI H,-33-.2
DAD SP
MOV M,E
CALL bdoscall_
LXI H,-33-.2
DAD SP
MOV E,M
MVI D,0
PUSH D
LXI H,0
POP D
XCHG
CALL .lt
JZ .12
LXI H,32
PUSH H
LXI H,0
PUSH H
LXI H,6-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+17
DAD D
PUSH H
CALL memset_
POP D
POP D
POP D
LXI H,-32-.2
DAD SP
MOV E,M
MVI D,0
PUSH D
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+17
DAD D
PUSH H
CALL strcpy_
POP D
POP D
.12:
JMP .9
.11:
LXI H,0
XCHG
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .14
.13:
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
.14:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2
CALL .lt
JZ .15
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+2
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
CALL crtlc_
POP D
POP D
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+6
DAD D
PUSH H
LXI H,.1+13
PUSH H
CALL printf_
POP D
POP D
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+15
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+13
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
CALL crtlc_
POP D
POP D
LXI H,0
XCHG
LXI H,0-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .17
.16:
LXI H,0-.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
.17:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+17
DAD D
PUSH H
CALL strlen_
POP D
PUSH H
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
POP H
CALL .lt
JZ .18
LXI H,.1+16
PUSH H
CALL printf_
POP D
JMP .16
.18:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+15
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+13
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
CALL crtlc_
POP D
POP D
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
CALL .ml
LXI D,form_+17
DAD D
PUSH H
LXI H,.1+18
PUSH H
CALL printf_
POP D
POP D
JMP .13
.15:
RET
.2 EQU -38
.1:
DB 70,79,82,77,0,37,115,0,95,0,37,115,0,37,115
DB 0,32,0,37,115,0
extrn strcpy_
extrn memset_
extrn strlen_
extrn printf_
extrn banner_
extrn crtlc_
extrn crtclr_
extrn crtinit_
extrn diagnose_
extrn hregde_
extrn hregbc_
extrn bdoscall_
extrn dregde_
extrn dregbc_
extrn .lt
extrn .ml
END