|
- 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:
|