summaryrefslogtreecommitdiff
path: root/home/string.asm
blob: 5b705002aa62e03293a7bd3e34e0519afc1a72f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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