collapseos/tools/tests/unit/test_parse.asm

80 lines
831 B
NASM
Raw Normal View History

jp test
.inc "core.asm"
.inc "lib/util.asm"
.inc "lib/parse.asm"
zasmGetPC:
ret
testNum: .db 1
test:
2019-12-30 13:05:09 +11:00
ld sp, 0xffff
2019-11-09 02:18:54 +11:00
call testParseHex
call testParseHexPair
; success
xor a
halt
testParseHex:
ld a, '8'
call parseHex
jp c, fail
cp 8
jp nz, fail
call nexttest
ld a, 'e'
call parseHex
jp c, fail
cp 0xe
jp nz, fail
call nexttest
ld a, 'x'
call parseHex
jp nc, fail
call nexttest
2019-11-09 02:18:54 +11:00
ret
2019-11-09 02:18:54 +11:00
testParseHexPair:
ld hl, .s99
call parseHexPair
jp c, fail
cp 0x99
jp nz, fail
call nexttest
2019-11-09 02:18:54 +11:00
ld hl, .saB
call parseHexPair
jp c, fail
cp 0xab
jp nz, fail
call nexttest
2019-11-09 02:18:54 +11:00
ld hl, .sFoo
call parseHexPair
jp nc, fail
call nexttest
2019-11-09 02:18:54 +11:00
ret
2019-11-09 02:18:54 +11:00
.sFoo: .db "Foo", 0
.saB: .db "aB", 0
.s99: .db "99", 0
nexttest:
ld a, (testNum)
inc a
ld (testNum), a
ret
fail:
ld a, (testNum)
halt
2019-11-09 02:18:54 +11:00
; used as RAM
sandbox: