76 lines
845 B
Tal
76 lines
845 B
Tal
|
|0100
|
||
|
|
||
|
;tests/end ;tests
|
||
|
&l
|
||
|
LDA2k JSR2 test
|
||
|
INC2 INC2 GTH2k ?&l
|
||
|
POP2 POP2
|
||
|
#800f DEO
|
||
|
|
||
|
BRK
|
||
|
|
||
|
@test ( f -- )
|
||
|
|
||
|
#30 ADD #18 DEO #0a18 DEO
|
||
|
|
||
|
JMP2r
|
||
|
|
||
|
@tests
|
||
|
=test-dec1
|
||
|
=test-dec2
|
||
|
=test-hex1
|
||
|
=test-hex2
|
||
|
&end
|
||
|
|
||
|
(
|
||
|
@|tests )
|
||
|
|
||
|
@test-dec1 ;dict/dec1 sdec #1234 EQU2 JMP2r
|
||
|
@test-dec2 ;dict/dec2 sdec #0123 EQU2 JMP2r
|
||
|
@test-hex1 ;dict/hex1 shex #12c0 EQU2 JMP2r
|
||
|
@test-hex2 ;dict/hex2 shex #034f EQU2 JMP2r
|
||
|
|
||
|
(
|
||
|
@|stdlib )
|
||
|
|
||
|
@sdec ( str* -- val* )
|
||
|
|
||
|
LIT2r 0000
|
||
|
&w
|
||
|
LIT2r 000a MUL2r
|
||
|
LITr 00
|
||
|
LDAk #30 SUB STH ADD2r
|
||
|
INC2 LDAk ?&w
|
||
|
POP2
|
||
|
STH2r
|
||
|
|
||
|
JMP2r
|
||
|
|
||
|
@shex ( str* -- val* )
|
||
|
|
||
|
LIT2r 0000
|
||
|
&w
|
||
|
LITr 40 SFT2r
|
||
|
LITr 00
|
||
|
LDAk chex STH ADD2r
|
||
|
INC2 LDAk ?&w
|
||
|
POP2
|
||
|
STH2r
|
||
|
|
||
|
JMP2r
|
||
|
|
||
|
@chex ( c -- val|ff )
|
||
|
|
||
|
LIT "0 SUB DUP #09 GTH JMP JMP2r
|
||
|
#27 SUB DUP #0f GTH JMP JMP2r
|
||
|
POP #ff
|
||
|
|
||
|
JMP2r
|
||
|
|
||
|
@dict
|
||
|
&dec1 "4660 $1
|
||
|
&dec2 "291 $1
|
||
|
&hex1 "12c0 $1
|
||
|
&hex2 "34f $1
|
||
|
|