252 lines
3.6 KiB
ArmAsm
252 lines
3.6 KiB
ArmAsm
.byt "TAB",$a8
|
|
tabtk =$a3
|
|
.byt "T",$cf
|
|
totk =$a4
|
|
.byt "F",$ce
|
|
fntk =$a5
|
|
.byt "SPC",$a8
|
|
spctk =$a6
|
|
.byt "THE",$ce
|
|
thentk =$a7
|
|
.byt "NO",$d4
|
|
nottk =$a8
|
|
.byt "STE",$d0
|
|
steptk =$a9
|
|
.byt $ab
|
|
plustk =$aa
|
|
.byt $ad
|
|
minutk =$ab
|
|
.byt $aa
|
|
.byt $af
|
|
.byt $de
|
|
.byt "AN",$c4
|
|
.byt "O",$d2
|
|
.byt 190
|
|
greatk =$b1
|
|
.byt $bd
|
|
equltk =$b2
|
|
.byt 188
|
|
lesstk =$b3
|
|
.byt "SG",$ce
|
|
onefun =$b4
|
|
.byt "IN",$d4
|
|
.byt "AB",$d3
|
|
.byt "US",$d2
|
|
.byt "FR",$c5
|
|
.byt "PO",$d3
|
|
.byt "SQ",$d2
|
|
.byt "RN",$c4
|
|
.byt "LO",$c7
|
|
.byt "EX",$d0
|
|
.byt "CO",$d3
|
|
.byt "SI",$ce
|
|
.byt "TA",$ce
|
|
.byt "AT",$ce
|
|
.byt "PEE",$cb
|
|
.byt "LE",$ce
|
|
.byt "STR",$a4
|
|
.byt "VA",$cc
|
|
.byt "AS",$c3
|
|
.byt "CHR",$a4
|
|
lasnum =$c7
|
|
.byt "LEFT",$a4
|
|
.byt "RIGHT",$a4
|
|
.byt "MID",$a4
|
|
.byt "G",$cf
|
|
gotk =$cb
|
|
.byt 0
|
|
|
|
err01 .byt "TOO MANY FILE",$d3
|
|
err02 .byt "FILE OPE",$ce
|
|
err03 .byt "FILE NOT OPE",$ce
|
|
err04 .byt "FILE NOT FOUN",$c4
|
|
err05 .byt "DEVICE NOT PRESEN",$d4
|
|
err06 .byt "NOT INPUT FIL",$c5
|
|
err07 .byt "NOT OUTPUT FIL",$c5
|
|
err08 .byt "MISSING FILE NAM",$c5
|
|
err09 .byt "ILLEGAL DEVICE NUMBE",$d2
|
|
err10 .byt "NEXT WITHOUT FO",$d2
|
|
errnf =10
|
|
err11 .byt "SYNTA",$d8
|
|
errsn =11
|
|
err12 .byt "RETURN WITHOUT GOSU",$c2
|
|
errrg =12
|
|
err13 .byt "OUT OF DAT",$c1
|
|
errod =13
|
|
err14 .byt "ILLEGAL QUANTIT",$d9
|
|
errfc =14
|
|
err15 .byt "OVERFLO",$d7
|
|
errov =15
|
|
err16 .byt "OUT OF MEMOR",$d9
|
|
errom =16
|
|
err17 .byt "UNDEF",$27
|
|
.byt "D STATEMEN",$d4
|
|
errus =17
|
|
err18 .byt "BAD SUBSCRIP",$d4
|
|
errbs =18
|
|
err19 .byt "REDIM",$27,"D ARRA",$d9
|
|
errdd =19
|
|
err20 .byt "DIVISION BY ZER",$cf
|
|
errdvo =20
|
|
err21 .byt "ILLEGAL DIREC",$d4
|
|
errid =21
|
|
err22 .byt "TYPE MISMATC",$c8
|
|
errtm =22
|
|
err23 .byt "STRING TOO LON",$c7
|
|
errls =23
|
|
err24 .byt "FILE DAT",$c1
|
|
errbd =24
|
|
err25 .byt "FORMULA TOO COMPLE",$d8
|
|
errst =25
|
|
err26 .byt "CAN",$27,"T CONTINU",$c5
|
|
errcn =26
|
|
err27 .byt "UNDEF",$27,"D FUNCTIO",$ce
|
|
erruf =27
|
|
err28 .byt "VERIF",$d9
|
|
ervfy =28
|
|
err29 .byt "LOA",$c4
|
|
erload =29
|
|
|
|
; table to translate error message #
|
|
; to address of string containing message
|
|
;
|
|
errtab .word err01
|
|
.word err02
|
|
.word err03
|
|
.word err04
|
|
.word err05
|
|
.word err06
|
|
.word err07
|
|
.word err08
|
|
.word err09
|
|
.word err10
|
|
.word err11
|
|
.word err12
|
|
.word err13
|
|
.word err14
|
|
.word err15
|
|
.word err16
|
|
.word err17
|
|
.word err18
|
|
.word err19
|
|
.word err20
|
|
.word err21
|
|
.word err22
|
|
.word err23
|
|
.word err24
|
|
.word err25
|
|
.word err26
|
|
.word err27
|
|
.word err28
|
|
.word err29
|
|
.word err30
|
|
|
|
okmsg .byt $d,"OK",$d,$0
|
|
err .byt $20," ERROR",0 ;add a space for vic-40 screen
|
|
intxt .byt " IN ",0
|
|
reddy .byt $d,$a,"READY.",$d,$a,0
|
|
erbrk =30
|
|
brktxt .byt $d,$a
|
|
err30 .byt "BREAK",0,$a0 ;shifted space
|
|
|
|
forsiz =$12
|
|
fndfor tsx
|
|
inx
|
|
inx
|
|
inx
|
|
inx
|
|
ffloop lda 257,x
|
|
cmp #fortk
|
|
bne ffrts
|
|
lda forpnt+1
|
|
bne cmpfor
|
|
lda 258,x
|
|
sta forpnt
|
|
lda 259,x
|
|
sta forpnt+1
|
|
cmpfor cmp 259,x
|
|
bne addfrs
|
|
lda forpnt
|
|
cmp 258,x
|
|
beq ffrts
|
|
addfrs txa
|
|
clc
|
|
adc #forsiz
|
|
tax
|
|
bne ffloop
|
|
ffrts rts
|
|
bltu jsr reason
|
|
sta strend
|
|
sty strend+1
|
|
bltuc sec
|
|
lda hightr
|
|
sbc lowtr
|
|
sta index
|
|
tay
|
|
lda hightr+1
|
|
sbc lowtr+1
|
|
tax
|
|
inx
|
|
tya
|
|
beq decblt
|
|
lda hightr
|
|
sec
|
|
sbc index
|
|
sta hightr
|
|
bcs blt1
|
|
dec hightr+1
|
|
sec
|
|
blt1 lda highds
|
|
sbc index
|
|
sta highds
|
|
bcs moren1
|
|
dec highds+1
|
|
bcc moren1
|
|
bltlp lda (hightr),y
|
|
sta (highds),y
|
|
moren1 dey
|
|
bne bltlp
|
|
lda (hightr),y
|
|
sta (highds),y
|
|
decblt dec hightr+1
|
|
dec highds+1
|
|
dex
|
|
bne moren1
|
|
rts
|
|
getstk asl a
|
|
adc #numlev+numlev+16
|
|
bcs omerr
|
|
sta index
|
|
tsx
|
|
cpx index
|
|
bcc omerr
|
|
rts
|
|
reason cpy fretop+1
|
|
bcc rearts
|
|
bne trymor
|
|
cmp fretop
|
|
bcc rearts
|
|
trymor pha
|
|
ldx #8+addprc
|
|
tya
|
|
reasav pha
|
|
lda highds-1,x
|
|
dex
|
|
bpl reasav
|
|
jsr garba2
|
|
ldx #248-addprc
|
|
reasto pla
|
|
sta highds+8+addprc,x
|
|
inx
|
|
bmi reasto
|
|
pla
|
|
tay
|
|
pla
|
|
cpy fretop+1
|
|
bcc rearts
|
|
bne omerr
|
|
cmp fretop
|
|
bcs omerr
|
|
rearts rts
|
|
|