diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-06-05 09:15:33 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-06-05 09:15:33 -0400 |
commit | 6df1b9338904542d653849439bce2ff16c36cc09 (patch) | |
tree | 4e6224f0ca47ec072c6d6f04e7259d9d24bcd7a7 /home/tables.asm | |
parent | 059680a04dc065b14800b0327c4aa2ce6176befa (diff) | |
parent | 1a7f8044799a2d52c1124c7e791ca423449df00b (diff) |
Merge branch 'master' into clean_shim
Diffstat (limited to 'home/tables.asm')
-rwxr-xr-x | home/tables.asm | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/home/tables.asm b/home/tables.asm new file mode 100755 index 0000000..dc9cebe --- /dev/null +++ b/home/tables.asm @@ -0,0 +1,27 @@ +INCLUDE "constants.asm"
+
+SECTION "FindItemInTable", ROM0[$35F8]
+
+; find value a from table hl with row length de
+; returns carry and row index b if successful
+FindItemInTable: ; 00:35F8
+ ld b, 0
+ ld c, a
+
+.loop
+ ld a, [hl]
+ cp -1
+ jr z, .fail
+ cp c
+ jr z, .success
+ inc b
+ add hl, de
+ jr .loop
+
+.fail
+ and a
+ ret
+
+.success
+ scf
+ ret
|