Name function FastDivide

This commit is contained in:
Aetias
2023-12-20 10:38:50 +01:00
parent 9afe4a1796
commit 282500b724
13 changed files with 70 additions and 62 deletions
+1 -1
View File
@@ -251370,7 +251370,7 @@
.extern func_02002bf4
.extern func_02002c14
.extern func_02002e0c
.extern func_02002e20
.extern FastDivide
.extern func_02002e28
.extern func_0200301c
.extern func_02003040
+30 -30
View File
@@ -3030,12 +3030,12 @@ _02002e0c:
bx lr
arm_func_end func_02002c14
.global func_02002e20
arm_func_start func_02002e20
func_02002e20: ; 0x02002e20
.global FastDivide
arm_func_start FastDivide
FastDivide: ; 0x02002e20
cmp r1, #0
bxeq lr
arm_func_end func_02002e20
arm_func_end FastDivide
.global func_02002e28
arm_func_start func_02002e28
@@ -21299,7 +21299,7 @@ _0200fab0:
ldrh r0, [sb, #0x4c]
mov r1, r1, lsl #0x18
mov r1, r1, lsr #0x18
bl func_02002e20
bl FastDivide
cmp r1, #0
bne _0200fb04
ldr r1, [sb, #0x24]
@@ -21526,7 +21526,7 @@ _0200fd04:
mov r1, r0, lsl #0x8
mov r0, r2, asr #0xc
mov r1, r1, lsr #0x18
bl func_02002e20
bl FastDivide
cmp r1, #0
bne _0200fe3c
mov r0, r6
@@ -23752,7 +23752,7 @@ _02011dbc:
ldr r1, [fp, #8]
mov r1, r1, lsl #0x18
mov r1, r1, lsr #0x18
bl func_02002e20
bl FastDivide
ldrb r0, [fp, r1]
ldrh r1, [r8, #0x2c]
bic r1, r1, #0xff
@@ -23789,7 +23789,7 @@ _02011ebc:
ldr r1, [r1, #0x4c]
mov r1, r1, lsl #0x18
mov r1, r1, lsr #0x18
bl func_02002e20
bl FastDivide
strh r0, [r8, #0x28]
ldrh r1, [r8, #0x24]
ldr r0, _02011f4c ; =0x0000ffff
@@ -28029,7 +28029,7 @@ func_02015740: ; 0x02015740
str r5, [sp, #0x14]
mov fp, r5
str r2, [sp, #0x10]
bl func_02002e20
bl FastDivide
mov r1, #0x19
mul r3, r0, r1
str r0, [sp, #0xc]
@@ -28376,7 +28376,7 @@ _02015c40:
mov r0, #0x1f40
umull r3, r1, r2, r1
mov r1, r1, lsr #0x3
bl func_02002e20
bl FastDivide
ldr r1, [sp, #0x1c]
ldr r2, _020166d4 ; =data_0205adc0
mul r3, r1, r0
@@ -31210,7 +31210,7 @@ _02017918:
_0201793e:
sub r0, r0, r4
add r1, r5, #0
blx func_02002e20
blx FastDivide
str r0, [sp, #4]
cmp r0, #0
bne _02017952
@@ -31283,7 +31283,7 @@ func_020179ac: ; 0x020179ac
mov r2, r0
add r0, r1, #1
ldr r1, [r2, #4]
bl func_02002e20
bl FastDivide
mov r0, r1, lsl #0x10
mov r0, r0, lsr #0x10
ldmia sp!, {r3, pc}
@@ -40020,7 +40020,7 @@ func_0201e8c0: ; 0x0201e8c0
cmp r7, #0
ldr r1, [sp, #0x88]
moveq r0, sl, lsr #0x1
bl func_02002e20
bl FastDivide
ldr r1, [sp, #0x2c]
mov fp, #0x20
mul r0, r1, r0
@@ -40180,7 +40180,7 @@ _0201eb5c:
str r3, [r6, #8]
str r2, [r6, #0x10]
str sl, [r6, #0x14]
bl func_02002e20
bl FastDivide
ldr r3, [sp, #0x88]
ldr r2, [sp, #0x8c]
ldr r1, [sp, #0x90]
@@ -44359,7 +44359,7 @@ _02021e70:
ldr r2, [r4, #0x130]
ldrb r1, [r4, #0x124]
mul r0, r2, r6
bl func_02002e20
bl FastDivide
ldrh r3, [r4, #0xc6]
mov r2, #4
ldr r1, _02021f14 ; =func_020222f0
@@ -44969,7 +44969,7 @@ _02022638:
ldr r5, [r0, #0x160]
mov r1, r4
mov r0, r5
bl func_02002e20
bl FastDivide
ldr r1, [sp, #0x3c]
ldr r1, [r1, #0xd4]
sub r1, r1, #1
@@ -45759,7 +45759,7 @@ _020230ac:
mov r0, fp, lsl #0x5
mul r1, r2, r0
mov r0, r4
bl func_02002e20
bl FastDivide
mul r1, r0, fp
mov r0, r1, lsl #0x5
ldr r2, [sp, #0x40]
@@ -45768,7 +45768,7 @@ _020230ac:
moveq r0, r0, lsr #0x1
mul r0, r2, r0
mov r1, fp
bl func_02002e20
bl FastDivide
str r0, [sp, #0x18]
bl func_020200c8
cmp r0, #0
@@ -46013,7 +46013,7 @@ func_020233dc: ; 0x020233dc
mov r4, r1
ldr r0, [r5, #0x28]
ldr r1, [r5, #0x2c]
bl func_02002e20
bl FastDivide
ldr r1, [r5, #0x48]
ldr r2, [r5, #0x38]
mov r3, r0
@@ -62158,7 +62158,7 @@ func_0202eabc: ; 0x0202eabc
bic r0, r0, #3
add r0, r0, r1
sub r0, r0, #1
bl func_02002e20
bl FastDivide
mov r5, r0
mov r1, r5
add r0, r4, #0x10
@@ -85901,7 +85901,7 @@ func_0203f668: ; 0x0203f668
add r2, r5, r4
mov r1, r0
sub r0, r2, #1
bl func_02002e20
bl FastDivide
ldrh r1, [r6]
mov r0, r0, lsl #0x10
sub r0, r1, r0, lsr #16
@@ -85921,7 +85921,7 @@ func_0203f6b0: ; 0x0203f6b0
ldr r2, [r4, #8]
mov r1, r0
add r0, r3, r2
bl func_02002e20
bl FastDivide
strh r0, [r4]
ldmia sp!, {r4, pc}
arm_func_end func_0203f6b0
@@ -93705,7 +93705,7 @@ _020432fc:
movne r0, #0
strne r0, [sb, #0x28]
mov r0, r6
bl func_02002e20
bl FastDivide
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end func_02043078
@@ -94576,11 +94576,11 @@ _02043de8:
_02043df0:
mov r0, sl
mov r1, r4
bl func_02002e20
bl FastDivide
mov sb, r1
mov r0, sl
mov r1, r4
bl func_02002e20
bl FastDivide
cmp sb, #0xa
mov sl, r0
addlt sb, sb, #0x30
@@ -100004,7 +100004,7 @@ _0204873c:
beq _02048754
mov r1, sb
mvn r0, #0
bl func_02002e20
bl FastDivide
str r0, [sp, #4]
_02048754:
mvn fp, #0
@@ -100122,7 +100122,7 @@ _020488c8:
bne _020488ec
mov r0, fp
mov r1, sb
bl func_02002e20
bl FastDivide
str r0, [sp, #4]
_020488ec:
cmp r6, #0
@@ -101232,11 +101232,11 @@ _02049760:
_02049768:
mov r0, sl
mov r1, r4
bl func_02002e20
bl FastDivide
mov sb, r1
mov r0, sl
mov r1, r4
bl func_02002e20
bl FastDivide
cmp sb, #0xa
mov sl, r0
addlt sb, sb, #0x30
@@ -107558,7 +107558,7 @@ _0204edb0:
_0204edd0:
ldr r1, [sp, #0x10]
add r4, r4, r0
bl func_02002e20
bl FastDivide
movs r6, r0
beq _0204ee04
mvn sl, #0
+1 -1
View File
@@ -218,7 +218,7 @@
.extern func_01ff9b88
.extern func_01ff98e0
.extern func_02002c14
.extern func_02002e20
.extern FastDivide
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectdlEPv
.extern func_01ff98f0
+1 -1
View File
@@ -5012,7 +5012,7 @@ func_ov00_0209fe18: ; 0x0209fe18
str r1, [sp, #4]
str lr, [sp, #8]
str ip, [sp, #0xc]
bl func_02002e20
bl FastDivide
cmp r0, #0
ble _0209feb0
ldr r1, [sp, #0x34]
+2 -2
View File
@@ -6143,7 +6143,7 @@ _020f2fa0:
str r0, [sp, #4]
add r0, r0, r1
sub r0, r0, #1
blx func_02002e20
blx FastDivide
lsl r1, r5, #1
lsl r0, r0, #0x10
ldrh r1, [r7, r1]
@@ -8790,7 +8790,7 @@ _020f4314:
mov r0, #7
mul r0, r1
mov r1, #0x14
blx func_02002e20
blx FastDivide
add r0, r1, #0
add sp, #8
pop {r3, pc}
+1 -1
View File
@@ -701,7 +701,7 @@ _020ef1f8:
ldr r1, [sp, #0x20]
lsl r0, r0, #0x10
add r1, r1, #1
blx func_02002e20
blx FastDivide
str r0, [sp, #0x40]
add r0, r4, #0
str r0, [sp, #0x2c]
+5 -5
View File
@@ -3814,7 +3814,7 @@ _021149a4:
ldr r1, [sp]
add r0, r7, r0
ldr r1, [r1, #0xc]
blx func_02002e20
blx FastDivide
ldrb r0, [r4, r1]
add r6, r6, #1
strb r7, [r4, r1]
@@ -3872,14 +3872,14 @@ func_ov11_02114a00: ; 0x02114a00
ldr r0, [r5]
ldr r1, [sp]
add r0, r0, #1
blx func_02002e20
blx FastDivide
lsl r0, r1, #0x18
lsr r7, r0, #0x18
ldrb r6, [r4, r7]
ldr r0, [r5, #4]
ldr r1, [sp]
add r0, r6, r0
blx func_02002e20
blx FastDivide
lsl r0, r1, #0x18
lsr r1, r0, #0x18
ldrb r0, [r4, r1]
@@ -3889,7 +3889,7 @@ func_ov11_02114a00: ; 0x02114a00
strb r0, [r4, r7]
ldr r1, [r5, #0xc]
add r0, r6, r0
blx func_02002e20
blx FastDivide
ldrb r0, [r4, r1]
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
@@ -47383,7 +47383,7 @@ _0212928e:
ldr r4, [r1, r0]
mov r1, #0x1e
add r0, r4, #0
blx func_02002e20
blx FastDivide
cmp r1, #1
bne _021292f8
cmp r4, #0x37
+1 -1
View File
@@ -2635,7 +2635,7 @@ _02114db8:
ldr r0, [r0, #0x14]
add r0, r0, r1
sub r0, r0, #1
bl func_02002e20
bl FastDivide
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
str r0, [r4, #8]
+11 -11
View File
@@ -8192,7 +8192,7 @@ _02173cfa:
ldr r5, [r0]
lsl r1, r1, #4
ldr r0, [r5, #0xc]
blx func_02002e20
blx FastDivide
cmp r0, #0xf
bhs _02173d3a
mov r3, #0
@@ -8201,7 +8201,7 @@ _02173d3a:
mov r1, #0xe1
ldr r0, [r5, #0xc]
lsl r1, r1, #4
blx func_02002e20
blx FastDivide
cmp r0, #0x14
bhs _02173d4c
mov r3, #1
@@ -8663,12 +8663,12 @@ func_ov26_02174078: ; 0x02174078
mov r1, #0xe1
ldr r0, [r0]
lsl r1, r1, #4
blx func_02002e20
blx FastDivide
mov r1, #0xa
add r6, r0, #0
blx func_02002e20
blx FastDivide
mov r1, #0xa
blx func_02002e20
blx FastDivide
str r4, [sp]
add r0, sp, #8
str r0, [sp, #4]
@@ -8679,7 +8679,7 @@ func_ov26_02174078: ; 0x02174078
blx func_020349cc
add r0, r6, #0
mov r1, #0xa
blx func_02002e20
blx FastDivide
str r4, [sp]
add r0, sp, #8
str r0, [sp, #4]
@@ -8692,15 +8692,15 @@ func_ov26_02174078: ; 0x02174078
add r0, #0xa4
ldr r0, [r0]
mov r1, #0x3c
blx func_02002e20
blx FastDivide
mov r1, #0x3c
blx func_02002e20
blx FastDivide
add r6, r1, #0
add r0, r6, #0
mov r1, #0xa
blx func_02002e20
blx FastDivide
mov r1, #0xa
blx func_02002e20
blx FastDivide
str r4, [sp]
add r0, sp, #8
str r0, [sp, #4]
@@ -8711,7 +8711,7 @@ func_ov26_02174078: ; 0x02174078
blx func_020349cc
add r0, r6, #0
mov r1, #0xa
blx func_02002e20
blx FastDivide
str r4, [sp]
add r0, sp, #8
str r0, [sp, #4]
+2 -2
View File
@@ -11101,7 +11101,7 @@ func_ov40_021847ec: ; 0x021847ec
ldr r7, [r0, #0x818]
mov r0, #0xc000
mov r1, r7
bl func_02002e20
bl FastDivide
ldr r2, _021848e4 ; =data_027e0d44
ldr ip, _021848e8 ; =data_ov40_021881f8
mov r3, r0
@@ -11131,7 +11131,7 @@ _0218486c:
ldr r7, [r0, #0x820]
mov r0, #0x200
mov r1, r7
bl func_02002e20
bl FastDivide
ldr r2, _021848e4 ; =data_027e0d44
ldr ip, _021848e8 ; =data_ov40_021881f8
mov r3, r0
+2 -2
View File
@@ -9018,7 +9018,7 @@ func_ov60_02144fd0: ; 0x02144fd0
bl func_ov60_0214154c
ldr r1, _02145058 ; =data_ov60_021480a6
ldrb r1, [r1]
bl func_02002e20
bl FastDivide
ldr r0, _0214505c ; =data_ov60_021480a8
and r2, r1, #0xff
ldrh r3, [r0]
@@ -11030,7 +11030,7 @@ _02146940:
sub r1, r0, #0xe
add r0, r2, r1
sub r0, r0, #1
bl func_02002e20
bl FastDivide
add r0, r0, #0x1f
mov r0, r0, lsr #0x2
mov r5, r0, lsl #0x4
+5 -5
View File
@@ -41179,7 +41179,7 @@ _0216003c:
add r0, r0, #0x2000
ldr r6, [r0, #0x284]
mov r0, r6
bl func_02002e20
bl FastDivide
cmp r1, #0
bne _021600a8
ldr r4, _021601e8 ; =0x00000728
@@ -42809,7 +42809,7 @@ _02161568:
and r0, r5, r0
bls _02161588
mov r1, sb
bl func_02002e20
bl FastDivide
mov r0, r1
_02161588:
cmp r0, sb
@@ -44263,7 +44263,7 @@ _02162708:
bne _021626f4
_02162718:
mov r0, ip
bl func_02002e20
bl FastDivide
mov r0, r1
ldmia sp!, {r3, pc}
.align 2, 0
@@ -45594,7 +45594,7 @@ _021636d8:
bne _021636c4
_021636e8:
mov r0, ip
bl func_02002e20
bl FastDivide
mov r0, r1
ldmia sp!, {r3, pc}
.align 2, 0
@@ -67857,7 +67857,7 @@ func_ov61_02176108: ; 0x02176108
ldrh r0, [r2, #4]
ldr r2, [r2]
mul r0, r2, r0
bl func_02002e20
bl FastDivide
mov r0, r1
ldmia sp!, {r3, pc}
arm_func_end func_ov61_02176108
+8
View File
@@ -0,0 +1,8 @@
#ifndef LIB_MATH_H
#define LIB_MATH_H
#include "types.h"
extern "C" u32 FastDivide(u32 a, u32 b);
#endif