diff options
author | yenatch <yenatch@gmail.com> | 2013-09-08 00:22:33 -0400 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2013-09-08 00:22:33 -0400 |
commit | 705e6824687ed247a28cfbaedd47bf33bd1da32a (patch) | |
tree | 226ef5ccb2172b3fabfeceda8c8c8a49eb5352e6 /common/string.asm | |
parent | 82c3bb464f192c8d2ab29a8ef5bd8440f4567065 (diff) |
split InitString asm into common/string.asm
Diffstat (limited to 'common/string.asm')
-rw-r--r-- | common/string.asm | 39 |
1 files changed, 39 insertions, 0 deletions
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 + |