From 705e6824687ed247a28cfbaedd47bf33bd1da32a Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 8 Sep 2013 00:22:33 -0400 Subject: split InitString asm into common/string.asm --- common/string.asm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 common/string.asm (limited to 'common/string.asm') diff --git a/common/string.asm b/common/string.asm new file mode 100644 index 000000000..a871b4d2a --- /dev/null +++ b/common/string.asm @@ -0,0 +1,39 @@ +InitString: ; 2ef6 +; Init a string of length c. + push hl + jr _InitString +; 2ef9 + +InitName: ; 2ef9 +; Intended for names, so this function is limited to ten characters. + push hl + ld c, 10 +; 2efc + +_InitString: ; 2efc +; 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 +; 2f17 + -- cgit v1.2.3