Files
RomWBW/branches/s100/Apps/crossdev/FORM.ASM
2013-02-16 06:46:44 +00:00

646 lines
6.5 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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