diff options
author | Bryan Bishop <kanzure@gmail.com> | 2013-09-09 19:51:29 -0700 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2013-09-09 19:51:29 -0700 |
commit | 0d6efda9bb3aa99cc9d28b9b9e7edaae121b7d75 (patch) | |
tree | e804b9ed15832481d632904f42355743d9232515 /home/string.asm | |
parent | 6d7043c0c65161ad8ee97fa66b94beba86761d25 (diff) | |
parent | 84a9b3907b9db08ee38e873554d8a6b4ac1b72b4 (diff) |
Merge pull request #198 from yenatch/split-predefs-specials-stds
decouple home/ from engine/
Diffstat (limited to 'home/string.asm')
-rw-r--r-- | home/string.asm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/home/string.asm b/home/string.asm new file mode 100644 index 000000000..a871b4d2a --- /dev/null +++ b/home/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 + |