pokecrystal/home/string.asm

36 lines
551 B
NASM

InitString::
; Init a string of length c.
push hl
jr _InitString
InitName::
; Intended for names, so this function is limited to ten characters.
push hl
ld c, NAME_LENGTH - 1
_InitString::
; if the string pointed to by hl is empty (defined as "zero or more spaces
; followed by a null"), then initialize it to the string pointed to by de.
push bc
.loop
ld a, [hli]
cp "@"
jr z, .blank
cp " "
jr nz, .notblank
dec c
jr nz, .loop
.blank
pop bc
ld l, e
ld h, d
pop de
ld b, 0
inc c
call CopyBytes
ret
.notblank
pop bc
pop hl
ret