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

595 lines
6.8 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 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