diff options
author | libjet <libj3t@gmail.com> | 2020-02-19 02:42:34 +0000 |
---|---|---|
committer | libjet <libj3t@gmail.com> | 2020-02-19 02:42:34 +0000 |
commit | 5172056acdf4691e8d3db4563d3a1a73d7025efc (patch) | |
tree | 91a918cd62b151c993a843a388cc38ec0e51509f /engine/math.asm | |
parent | 6cbd16985aaa5408f855454c55a073d753b38d8c (diff) |
Use labels instead of constants for HRAM
Diffstat (limited to 'engine/math.asm')
-rwxr-xr-x | engine/math.asm | 158 |
1 files changed, 79 insertions, 79 deletions
diff --git a/engine/math.asm b/engine/math.asm index 6f584edf..cdac2d37 100755 --- a/engine/math.asm +++ b/engine/math.asm @@ -5,41 +5,41 @@ _Multiply:: ; 67bd ld b, a xor a - ld [hProduct], a - ld [hMathBuffer + 1], a - ld [hMathBuffer + 2], a - ld [hMathBuffer + 3], a - ld [hMathBuffer + 4], a + ldh [hProduct], a + ldh [hMathBuffer + 1], a + ldh [hMathBuffer + 2], a + ldh [hMathBuffer + 3], a + ldh [hMathBuffer + 4], a .loop - ld a, [hMultiplier] + ldh a, [hMultiplier] srl a - ld [hMultiplier], a + ldh [hMultiplier], a jr nc, .next - ld a, [hMathBuffer + 4] + ldh a, [hMathBuffer + 4] ld c, a - ld a, [hMultiplicand + 2] + ldh a, [hMultiplicand + 2] add c - ld [hMathBuffer + 4], a + ldh [hMathBuffer + 4], a - ld a, [hMathBuffer + 3] + ldh a, [hMathBuffer + 3] ld c, a - ld a, [hMultiplicand + 1] + ldh a, [hMultiplicand + 1] adc c - ld [hMathBuffer + 3], a + ldh [hMathBuffer + 3], a - ld a, [hMathBuffer + 2] + ldh a, [hMathBuffer + 2] ld c, a - ld a, [hMultiplicand + 0] + ldh a, [hMultiplicand + 0] adc c - ld [hMathBuffer + 2], a + ldh [hMathBuffer + 2], a - ld a, [hMathBuffer + 1] + ldh a, [hMathBuffer + 1] ld c, a - ld a, [hProduct] + ldh a, [hProduct] adc c - ld [hMathBuffer + 1], a + ldh [hMathBuffer + 1], a .next dec b @@ -47,71 +47,71 @@ _Multiply:: ; 67bd ; hMultiplicand <<= 1 - ld a, [hMultiplicand + 2] + ldh a, [hMultiplicand + 2] add a - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a - ld a, [hMultiplicand + 1] + ldh a, [hMultiplicand + 1] rla - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a - ld a, [hMultiplicand + 0] + ldh a, [hMultiplicand + 0] rla - ld [hMultiplicand + 0], a + ldh [hMultiplicand + 0], a - ld a, [hProduct] + ldh a, [hProduct] rla - ld [hProduct], a + ldh [hProduct], a jr .loop .done - ld a, [hMathBuffer + 4] - ld [hProduct + 3], a + ldh a, [hMathBuffer + 4] + ldh [hProduct + 3], a - ld a, [hMathBuffer + 3] - ld [hProduct + 2], a + ldh a, [hMathBuffer + 3] + ldh [hProduct + 2], a - ld a, [hMathBuffer + 2] - ld [hProduct + 1], a + ldh a, [hMathBuffer + 2] + ldh [hProduct + 1], a - ld a, [hMathBuffer + 1] - ld [hProduct + 0], a + ldh a, [hMathBuffer + 1] + ldh [hProduct + 0], a ret _Divide:: ; 681d xor a - ld [hMathBuffer + 0], a - ld [hMathBuffer + 1], a - ld [hMathBuffer + 2], a - ld [hMathBuffer + 3], a - ld [hMathBuffer + 4], a + ldh [hMathBuffer + 0], a + ldh [hMathBuffer + 1], a + ldh [hMathBuffer + 2], a + ldh [hMathBuffer + 3], a + ldh [hMathBuffer + 4], a ld a, 9 ld e, a .loop - ld a, [hMathBuffer + 0] + ldh a, [hMathBuffer + 0] ld c, a - ld a, [hDividend + 1] + ldh a, [hDividend + 1] sub c ld d, a - ld a, [hDivisor] + ldh a, [hDivisor] ld c, a - ld a, [hDividend + 0] + ldh a, [hDividend + 0] sbc c jr c, .next - ld [hDividend + 0], a + ldh [hDividend + 0], a ld a, d - ld [hDividend + 1], a + ldh [hDividend + 1], a - ld a, [hMathBuffer + 4] + ldh a, [hMathBuffer + 4] inc a - ld [hMathBuffer + 4], a + ldh [hMathBuffer + 4], a jr .loop @@ -120,39 +120,39 @@ _Divide:: ; 681d cp 1 jr z, .done - ld a, [hMathBuffer + 4] + ldh a, [hMathBuffer + 4] add a - ld [hMathBuffer + 4], a + ldh [hMathBuffer + 4], a - ld a, [hMathBuffer + 3] + ldh a, [hMathBuffer + 3] rla - ld [hMathBuffer + 3], a + ldh [hMathBuffer + 3], a - ld a, [hMathBuffer + 2] + ldh a, [hMathBuffer + 2] rla - ld [hMathBuffer + 2], a + ldh [hMathBuffer + 2], a - ld a, [hMathBuffer + 1] + ldh a, [hMathBuffer + 1] rla - ld [hMathBuffer + 1], a + ldh [hMathBuffer + 1], a dec e jr nz, .next2 ld e, 8 - ld a, [hMathBuffer + 0] - ld [hDivisor], a + ldh a, [hMathBuffer + 0] + ldh [hDivisor], a xor a - ld [hMathBuffer + 0], a + ldh [hMathBuffer + 0], a - ld a, [hDividend + 1] - ld [hDividend + 0], a + ldh a, [hDividend + 1] + ldh [hDividend + 0], a - ld a, [hDividend + 2] - ld [hDividend + 1], a + ldh a, [hDividend + 2] + ldh [hDividend + 1], a - ld a, [hDividend + 3] - ld [hDividend + 2], a + ldh a, [hDividend + 3] + ldh [hDividend + 2], a .next2 ld a, e @@ -161,30 +161,30 @@ _Divide:: ; 681d dec b .okay - ld a, [hDivisor] + ldh a, [hDivisor] srl a - ld [hDivisor], a + ldh [hDivisor], a - ld a, [hMathBuffer + 0] + ldh a, [hMathBuffer + 0] rr a - ld [hMathBuffer + 0], a + ldh [hMathBuffer + 0], a jr .loop .done - ld a, [hDividend + 1] - ld [hDivisor], a + ldh a, [hDividend + 1] + ldh [hDivisor], a - ld a, [hMathBuffer + 4] - ld [hDividend + 3], a + ldh a, [hMathBuffer + 4] + ldh [hDividend + 3], a - ld a, [hMathBuffer + 3] - ld [hDividend + 2], a + ldh a, [hMathBuffer + 3] + ldh [hDividend + 2], a - ld a, [hMathBuffer + 2] - ld [hDividend + 1], a + ldh a, [hMathBuffer + 2] + ldh [hDividend + 1], a - ld a, [hMathBuffer + 1] - ld [hDividend + 0], a + ldh a, [hMathBuffer + 1] + ldh [hDividend + 0], a ret |