pokecrystal/home/string.asm

36 lines
551 B
NASM
Raw Normal View History

2018-06-24 14:09:41 +00:00
InitString::
; Init a string of length c.
push hl
jr _InitString
2018-06-24 14:09:41 +00:00
InitName::
; Intended for names, so this function is limited to ten characters.
push hl
2019-06-04 11:31:22 +00:00
ld c, NAME_LENGTH - 1
2018-06-24 14:09:41 +00:00
_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