pokered/macros/code.asm
Rangi 308189b638
Some checks failed
CI / build (push) Has been cancelled
Use ld_hli_a_string macro to make byte-by-byte strings more obvious (#540)
2025-11-23 21:19:21 -06:00

29 lines
392 B
NASM

; Syntactic sugar macros
MACRO? lb ; r, hi, lo
ld \1, ((\2) & $ff) << 8 + ((\3) & $ff)
ENDM
MACRO? ldpal
ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5
ENDM
; Design patterns
MACRO ld_hli_a_string
FOR n, CHARLEN(\1) - 1
ld a, CHARVAL(STRCHAR(\1, n))
ld [hli], a
ENDR
ld [hl], CHARVAL(STRCHAR(\1, CHARLEN(\1) - 1))
ENDM
MACRO dict
IF \1 == 0
and a
ELSE
cp \1
ENDC
jp z, \2
ENDM