.equ RAMSTART 0x4000 .equ ZASM_REG_MAXCNT 0xff .equ ZASM_LREG_MAXCNT 0x40 .equ ZASM_REG_BUFSZ 0x1000 .equ ZASM_LREG_BUFSZ 0x200 jp test .inc "core.asm" .inc "str.asm" .inc "lib/util.asm" .inc "zasm/util.asm" .inc "zasm/const.asm" .equ SYM_RAMSTART RAMSTART .inc "zasm/symbol.asm" testNum: .db 1 sFOO: .db "FOO", 0 sFOOBAR: .db "FOOBAR", 0 sOther: .db "Other", 0 test: ld sp, 0xffff ; Check that we compare whole strings (a prefix will not match a longer ; string). call symInit ld hl, sFOOBAR ld de, 42 call symRegisterGlobal jp nz, fail ld hl, sFOO ld de, 43 call symRegisterGlobal jp nz, fail ld hl, sFOO call symFindVal ; don't match FOOBAR jp nz, fail ld a, d or a jp nz, fail ld a, e cp 43 jp nz, fail call nexttest ld hl, sOther call symFindVal jp z, fail call nexttest ; success xor a halt nexttest: ld hl, testNum inc (hl) ret fail: ld a, (testNum) halt