pokecrystal/home/string.asm
Rangi a55bc33d67
Some checks are pending
CI / build (push) Waiting to run
Use features of RGBDS 1.0.0 (#1204)
- Use single-quoted character literals or `CHARVAL` when you need
  a character's numeric value; using strings as numbers is deprecated
- Use `?` to silence a node in warning/error location backtraces
- Use `===` and `!==` instead of `STRCMP`, and `++` instead of `STRCAT`
- Use `__SCOPE__` instead of checking for `..` and `.` separately
- Use `#string` instead of `"{string}"`
- All programs (rgbasm, rgblink, rgbfix, rgbgfx) support `-W` warnings
- `rgbgfx --colors dmg` is short for `rgbgfx --colors dmg=e4`
2025-11-12 15:43:54 -05:00

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