diff options
author | libjet <libj3t@gmail.com> | 2020-03-15 00:17:02 +0000 |
---|---|---|
committer | libjet <libj3t@gmail.com> | 2020-03-15 00:17:02 +0000 |
commit | 76216e6ce5de8a78cfd9312eb08dbb127b4d34d0 (patch) | |
tree | daa241c9541bd7f66aea7220cd4da5efb9a8069a /home/array.asm | |
parent | 1ddf04da73b8784a08c679b73f576923768f97cf (diff) |
Small home/ reorganization
Diffstat (limited to 'home/array.asm')
-rwxr-xr-x | home/array.asm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/home/array.asm b/home/array.asm new file mode 100755 index 00000000..0abf9b7d --- /dev/null +++ b/home/array.asm @@ -0,0 +1,44 @@ +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 |