aboutsummaryrefslogtreecommitdiff
path: root/utils.gbasm
diff options
context:
space:
mode:
Diffstat (limited to 'utils.gbasm')
-rw-r--r--utils.gbasm65
1 files changed, 65 insertions, 0 deletions
diff --git a/utils.gbasm b/utils.gbasm
index 2c8ef2b..babf7da 100644
--- a/utils.gbasm
+++ b/utils.gbasm
@@ -30,3 +30,68 @@ Print_8bit: ; Number in A, Memory Tilemap position in HL
POP AF
RET
+MUL: ; B x C => EA
+ XOR A
+ LD E, $00
+
+ BIT 7, B
+ JR Z, =MUL.bit7
+ ADD C
+ MUL.bit7:
+
+ SLA A
+ RL E
+
+ BIT 6, B
+ JR Z, =MUL.bit6
+ ADD C
+ MUL.bit6:
+
+ SLA A
+ RL E
+
+ BIT 5, B
+ JR Z, =MUL.bit5
+ ADD C
+ MUL.bit5:
+
+ SLA A
+ RL E
+
+ BIT 4, B
+ JR Z, =MUL.bit4
+ ADD C
+ MUL.bit4:
+
+ SLA A
+ RL E
+
+ BIT 3, B
+ JR Z, =MUL.bit3
+ ADD C
+ MUL.bit3:
+
+ SLA A
+ RL E
+
+ BIT 2, B
+ JR Z, =MUL.bit2
+ ADD C
+ MUL.bit2:
+
+ SLA A
+ RL E
+
+ BIT 1, B
+ JR Z, =MUL.bit1
+ ADD C
+ MUL.bit1:
+
+ SLA A
+ RL E
+
+ BIT 0, B
+ JR Z, =MUL.bit0
+ ADD C
+ MUL.bit0:
+ RET