
; HL=chaine source
; DE=destination
strcpy
xor a
.loop
cp (hl)
ldi
jr nz,.loop
ret 

; HL=destination
; DE=chaine à concaténer
strcat
xor a
ld b,a
ld c,a
cpir
dec hl
ex hl,de
jp strcpy 

; HL=chaine source
; résultat dans HL
strlen
xor a
ld d,h : ld e,l ; copier le pointeur de la chaine
cpir
scf ; forcer la retenue pour créer un -1 supplémentaire à la soustraction
sbc hl,de ; soustraire le pointeur de fin moins un donne la longueur
ret


; HL=première chaine
; DE=deuxième chaine
; résultat dans le flag Z, Z=chaines identiques NZ=différentes
; en cas de chaines différentes, C=1 si la chaine en HL est plus forte, 0 sinon
strcmp
ld a,(de) ; lire le caractère de la première chaine
sub (hl) ; on réalise une soustraction avec celui de la deuxième
ret nz ; si les caractères sont différents, on quitte
add (hl) ; est-ce que les deux chaines sont terminées?
ret z
inc de
inc hl
jr strcmp 


