summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2018-09-09 15:10:38 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2018-09-09 15:10:38 -0400
commit9ee2b592083ebaa9fd141406d4c90d5604460c69 (patch)
tree694600ae5dcdf4d88b8e5e6c381c78c2cbfc6845
parentae022e1420ee16032cb7afb1a365bc32fc2a2c9b (diff)
hMultiplicand is four bytes internally, but the high byte is always 0 since allowing four-byte multiplicands could overflow hProduct.
-rw-r--r--engine/math/math.asm8
1 files changed, 4 insertions, 4 deletions
diff --git a/engine/math/math.asm b/engine/math/math.asm
index d6fc4fe4c..d5df3c34d 100644
--- a/engine/math/math.asm
+++ b/engine/math/math.asm
@@ -4,7 +4,7 @@ _Multiply::
ld b, a
xor a
- ldh [hProduct], a
+ ldh [hMultiplicand - 1], a
ldh [hMathBuffer + 1], a
ldh [hMathBuffer + 2], a
ldh [hMathBuffer + 3], a
@@ -36,7 +36,7 @@ _Multiply::
ldh a, [hMathBuffer + 1]
ld c, a
- ldh a, [hProduct]
+ ldh a, [hMultiplicand - 1]
adc c
ldh [hMathBuffer + 1], a
@@ -58,9 +58,9 @@ _Multiply::
rla
ldh [hMultiplicand + 0], a
- ldh a, [hProduct]
+ ldh a, [hMultiplicand - 1]
rla
- ldh [hProduct], a
+ ldh [hMultiplicand - 1], a
jr .loop