diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2018-09-09 15:10:38 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2018-09-09 15:10:38 -0400 |
commit | 9ee2b592083ebaa9fd141406d4c90d5604460c69 (patch) | |
tree | 694600ae5dcdf4d88b8e5e6c381c78c2cbfc6845 | |
parent | ae022e1420ee16032cb7afb1a365bc32fc2a2c9b (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.asm | 8 |
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 |