summaryrefslogtreecommitdiff
path: root/engine/math/bcd.asm
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2020-07-06 19:03:05 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2020-07-06 19:03:05 -0400
commit772fcc7588a4e1fbe146a02b429cf64282c81dcb (patch)
treef491fa1d38e37ab10534b3f18422e0149ad0deca /engine/math/bcd.asm
parentc480632d5494d04f7f5f0298a31877a2293b564e (diff)
Specify the ldh instruction, don't turn ld into ldh
Diffstat (limited to 'engine/math/bcd.asm')
-rw-r--r--engine/math/bcd.asm78
1 files changed, 39 insertions, 39 deletions
diff --git a/engine/math/bcd.asm b/engine/math/bcd.asm
index 2d0b43df..1e5aedc9 100644
--- a/engine/math/bcd.asm
+++ b/engine/math/bcd.asm
@@ -6,39 +6,39 @@ DivideBCDPredef4::
DivideBCD::
xor a
- ld [hDivideBCDBuffer], a
- ld [hDivideBCDBuffer+1], a
- ld [hDivideBCDBuffer+2], a
+ ldh [hDivideBCDBuffer], a
+ ldh [hDivideBCDBuffer+1], a
+ ldh [hDivideBCDBuffer+2], a
ld d, $1
.mulBy10Loop
; multiply the divisor by 10 until the leading digit is nonzero
; to set up the standard long division algorithm
- ld a, [hDivideBCDDivisor]
+ ldh a, [hDivideBCDDivisor]
and $f0
jr nz, .next
inc d
- ld a, [hDivideBCDDivisor]
+ ldh a, [hDivideBCDDivisor]
swap a
and $f0
ld b, a
- ld a, [hDivideBCDDivisor+1]
+ ldh a, [hDivideBCDDivisor+1]
swap a
- ld [hDivideBCDDivisor+1], a
+ ldh [hDivideBCDDivisor+1], a
and $f
or b
- ld [hDivideBCDDivisor], a
- ld a, [hDivideBCDDivisor+1]
+ ldh [hDivideBCDDivisor], a
+ ldh a, [hDivideBCDDivisor+1]
and $f0
ld b, a
- ld a, [hDivideBCDDivisor+2]
+ ldh a, [hDivideBCDDivisor+2]
swap a
- ld [hDivideBCDDivisor+2], a
+ ldh [hDivideBCDDivisor+2], a
and $f
or b
- ld [hDivideBCDDivisor+1], a
- ld a, [hDivideBCDDivisor+2]
+ ldh [hDivideBCDDivisor+1], a
+ ldh a, [hDivideBCDDivisor+2]
and $f0
- ld [hDivideBCDDivisor+2], a
+ ldh [hDivideBCDDivisor+2], a
jr .mulBy10Loop
.next
push de
@@ -48,16 +48,16 @@ DivideBCD::
ld a, b
swap a
and $f0
- ld [hDivideBCDBuffer], a
+ ldh [hDivideBCDBuffer], a
dec d
jr z, .next2
push de
call DivideBCD_divDivisorBy10
call DivideBCD_getNextDigit
pop de
- ld a, [hDivideBCDBuffer]
+ ldh a, [hDivideBCDBuffer]
or b
- ld [hDivideBCDBuffer], a
+ ldh [hDivideBCDBuffer], a
dec d
jr z, .next2
push de
@@ -67,16 +67,16 @@ DivideBCD::
ld a, b
swap a
and $f0
- ld [hDivideBCDBuffer+1], a
+ ldh [hDivideBCDBuffer+1], a
dec d
jr z, .next2
push de
call DivideBCD_divDivisorBy10
call DivideBCD_getNextDigit
pop de
- ld a, [hDivideBCDBuffer+1]
+ ldh a, [hDivideBCDBuffer+1]
or b
- ld [hDivideBCDBuffer+1], a
+ ldh [hDivideBCDBuffer+1], a
dec d
jr z, .next2
push de
@@ -86,23 +86,23 @@ DivideBCD::
ld a, b
swap a
and $f0
- ld [hDivideBCDBuffer+2], a
+ ldh [hDivideBCDBuffer+2], a
dec d
jr z, .next2
push de
call DivideBCD_divDivisorBy10
call DivideBCD_getNextDigit
pop de
- ld a, [hDivideBCDBuffer+2]
+ ldh a, [hDivideBCDBuffer+2]
or b
- ld [hDivideBCDBuffer+2], a
+ ldh [hDivideBCDBuffer+2], a
.next2
- ld a, [hDivideBCDBuffer]
- ld [hDivideBCDQuotient], a ; the same memory location as hDivideBCDDivisor
- ld a, [hDivideBCDBuffer+1]
- ld [hDivideBCDQuotient+1], a
- ld a, [hDivideBCDBuffer+2]
- ld [hDivideBCDQuotient+2], a
+ ldh a, [hDivideBCDBuffer]
+ ldh [hDivideBCDQuotient], a ; the same memory location as hDivideBCDDivisor
+ ldh a, [hDivideBCDBuffer+1]
+ ldh [hDivideBCDQuotient+1], a
+ ldh a, [hDivideBCDBuffer+2]
+ ldh [hDivideBCDQuotient+2], a
pop de
ld a, $6
sub d
@@ -117,28 +117,28 @@ DivideBCD::
ret
DivideBCD_divDivisorBy10:
- ld a, [hDivideBCDDivisor+2]
+ ldh a, [hDivideBCDDivisor+2]
swap a
and $f
ld b, a
- ld a, [hDivideBCDDivisor+1]
+ ldh a, [hDivideBCDDivisor+1]
swap a
- ld [hDivideBCDDivisor+1], a
+ ldh [hDivideBCDDivisor+1], a
and $f0
or b
- ld [hDivideBCDDivisor+2], a
- ld a, [hDivideBCDDivisor+1]
+ ldh [hDivideBCDDivisor+2], a
+ ldh a, [hDivideBCDDivisor+1]
and $f
ld b, a
- ld a, [hDivideBCDDivisor]
+ ldh a, [hDivideBCDDivisor]
swap a
- ld [hDivideBCDDivisor], a
+ ldh [hDivideBCDDivisor], a
and $f0
or b
- ld [hDivideBCDDivisor+1], a
- ld a, [hDivideBCDDivisor]
+ ldh [hDivideBCDDivisor+1], a
+ ldh a, [hDivideBCDDivisor]
and $f
- ld [hDivideBCDDivisor], a
+ ldh [hDivideBCDDivisor], a
ret
DivideBCD_getNextDigit: