diff options
-rw-r--r-- | main.asm | 24 |
1 files changed, 13 insertions, 11 deletions
@@ -714,27 +714,29 @@ CopyName2: ; 30d9 ; 30e1 IsInArray: ; 30e1 -; searches an array at hl for the value in a. -; skips (de - 1) bytes between reads, so to check every byte, de should be 1. -; if found, returns count in b and sets carry. - ld b,0 - ld c,a +; Find value a for every de bytes in array hl. +; Return index in b and carry if found. + + ld b, 0 + ld c, a .loop - ld a,[hl] - cp a, $FF - jr z,.NotInArray + ld a, [hl] + cp $ff + jr z, .NotInArray cp c - jr z,.InArray + jr z, .InArray inc b - add hl,de + add hl, de jr .loop + .NotInArray and a ret + .InArray scf ret -; 0x30f4 +; 30f4 SkipNames: ; 0x30f4 ; skips n names where n = a |