zasm: allow zasm to omit its 3rd argument
A bug in rdWS made zasm error out when omiting its 3rd argument. fixes #90
This commit is contained in:
parent
9515d63d47
commit
0f2b3aca24
@ -20,10 +20,10 @@ toWS:
|
||||
; Set Z if non-WS found, unset if end-of-string.
|
||||
rdWS:
|
||||
ld a, (hl)
|
||||
call isWS
|
||||
jr nz, .ok
|
||||
cp 0x01 ; if a is null, carries and unsets z
|
||||
ret c
|
||||
call isWS
|
||||
jr nz, .ok
|
||||
inc hl
|
||||
jr rdWS
|
||||
.ok:
|
||||
|
@ -1,4 +1,3 @@
|
||||
.equ SHELL_RAMSTART 0x4100
|
||||
.equ USER_CODE 0x4200 ; in sync with glue.asm
|
||||
|
||||
; *** JUMP TABLE ***
|
||||
|
55
tests/unit/test_lib_util.asm
Normal file
55
tests/unit/test_lib_util.asm
Normal file
@ -0,0 +1,55 @@
|
||||
jp test
|
||||
|
||||
.inc "ascii.h"
|
||||
.inc "core.asm"
|
||||
.equ STDIO_RAMSTART RAMSTART
|
||||
.inc "stdio.asm"
|
||||
.inc "common.asm"
|
||||
.inc "lib/ari.asm"
|
||||
.inc "lib/fmt.asm"
|
||||
.inc "lib/util.asm"
|
||||
|
||||
test:
|
||||
ld sp, 0xffff
|
||||
|
||||
call testRdWS
|
||||
|
||||
; success
|
||||
xor a
|
||||
halt
|
||||
|
||||
testRdWS:
|
||||
ld hl, .allGood
|
||||
ld ix, .testGood
|
||||
call testList
|
||||
ld hl, .allBad
|
||||
ld ix, .testBad
|
||||
jp testList
|
||||
|
||||
.testGood:
|
||||
call rdWS
|
||||
jp assertZ
|
||||
|
||||
.testBad:
|
||||
call rdWS
|
||||
jp assertNZ
|
||||
|
||||
; Strings ending with a non-WS, and thus yielding Z
|
||||
.g1:
|
||||
.db " X", 0
|
||||
.g2:
|
||||
.db "X", 0
|
||||
|
||||
.allGood:
|
||||
.dw .g1, .g2, 0
|
||||
|
||||
; Strings ending with a WS, and thus yielding NZ
|
||||
.b1:
|
||||
.db 0
|
||||
.b2:
|
||||
.db " ", 0
|
||||
|
||||
.allBad:
|
||||
.dw .b1, .b2, 0
|
||||
|
||||
RAMSTART:
|
Loading…
Reference in New Issue
Block a user