mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-01 23:10:55 +11:00
99 lines
1.0 KiB
NASM
99 lines
1.0 KiB
NASM
jp test
|
|
|
|
.inc "core.asm"
|
|
.inc "lib/util.asm"
|
|
.inc "lib/ari.asm"
|
|
.inc "lib/fmt.asm"
|
|
|
|
stdioPutC:
|
|
ret
|
|
|
|
test:
|
|
ld sp, 0xffff
|
|
|
|
call testFmtDecimal
|
|
call testFmtDecimalS
|
|
|
|
; success
|
|
xor a
|
|
halt
|
|
|
|
testFmtDecimal:
|
|
ld ix, .t1
|
|
call .test
|
|
ld ix, .t2
|
|
call .test
|
|
ld ix, .t3
|
|
call .test
|
|
ld ix, .t4
|
|
call .test
|
|
ld ix, .t5
|
|
call .test
|
|
ret
|
|
.test:
|
|
ld e, (ix)
|
|
ld d, (ix+1)
|
|
ld hl, sandbox
|
|
call fmtDecimal
|
|
ld hl, sandbox
|
|
push ix \ pop de
|
|
inc de \ inc de
|
|
call strcmp
|
|
jp nz, fail
|
|
jp nexttest
|
|
.t1:
|
|
.dw 1234
|
|
.db "1234", 0
|
|
.t2:
|
|
.dw 9999
|
|
.db "9999", 0
|
|
.t3:
|
|
.dw 0
|
|
.db "0", 0
|
|
.t4:
|
|
.dw 0x7fff
|
|
.db "32767", 0
|
|
.t5:
|
|
.dw 0xffff
|
|
.db "65535", 0
|
|
|
|
testFmtDecimalS:
|
|
ld ix, .t1
|
|
call .test
|
|
ld ix, .t2
|
|
call .test
|
|
ret
|
|
.test:
|
|
ld e, (ix)
|
|
ld d, (ix+1)
|
|
ld hl, sandbox
|
|
call fmtDecimalS
|
|
ld hl, sandbox
|
|
push ix \ pop de
|
|
inc de \ inc de
|
|
call strcmp
|
|
jp nz, fail
|
|
jp nexttest
|
|
.t1:
|
|
.dw 1234
|
|
.db "1234", 0
|
|
.t2:
|
|
.dw 0-1234
|
|
.db "-1234", 0
|
|
|
|
testNum: .db 1
|
|
|
|
nexttest:
|
|
ld a, (testNum)
|
|
inc a
|
|
ld (testNum), a
|
|
ret
|
|
|
|
fail:
|
|
ld a, (testNum)
|
|
halt
|
|
|
|
; used as RAM
|
|
sandbox:
|
|
|