mirror of https://github.com/pret/pokecrystal.git
45 lines
458 B
NASM
45 lines
458 B
NASM
|
IsInArray::
|
||
|
; 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 -1
|
||
|
jr z, .NotInArray
|
||
|
cp c
|
||
|
jr z, .InArray
|
||
|
inc b
|
||
|
add hl, de
|
||
|
jr .loop
|
||
|
|
||
|
.NotInArray:
|
||
|
and a
|
||
|
ret
|
||
|
|
||
|
.InArray:
|
||
|
scf
|
||
|
ret
|
||
|
|
||
|
SkipNames::
|
||
|
; Skip a names.
|
||
|
ld bc, NAME_LENGTH
|
||
|
and a
|
||
|
ret z
|
||
|
.loop
|
||
|
add hl, bc
|
||
|
dec a
|
||
|
jr nz, .loop
|
||
|
ret
|
||
|
|
||
|
AddNTimes::
|
||
|
; Add bc * a to hl.
|
||
|
and a
|
||
|
ret z
|
||
|
.loop
|
||
|
add hl, bc
|
||
|
dec a
|
||
|
jr nz, .loop
|
||
|
ret
|