From 76216e6ce5de8a78cfd9312eb08dbb127b4d34d0 Mon Sep 17 00:00:00 2001 From: libjet Date: Sun, 15 Mar 2020 00:17:02 +0000 Subject: Small home/ reorganization --- home/array.asm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 home/array.asm (limited to 'home/array.asm') 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 -- cgit v1.2.3