mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-30 20:36:48 -05:00
split libmath
This commit is contained in:
@@ -244,7 +244,9 @@ SECTIONS {
|
||||
CTRDG_flash_MX29L010.o (.text)
|
||||
CTRDG_flash_MX29L512.o (.text)
|
||||
CTRDG_task.o (.text)
|
||||
libmath.o (.text)
|
||||
MATH.o (.text)
|
||||
MATH_dgt.o (.text)
|
||||
MATH_crc.o (.text)
|
||||
libstd.o (.text)
|
||||
/* C standard library */
|
||||
libc.o (.text)
|
||||
|
||||
25
arm9/asm/MATH.s
Normal file
25
arm9/asm/MATH.s
Normal file
@@ -0,0 +1,25 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start MATH_CountPopulation
|
||||
MATH_CountPopulation: ; 0x020DDC5C
|
||||
ldr r1, _020DDC94 ; =0x55555555
|
||||
ldr r2, _020DDC98 ; =0x33333333
|
||||
and r1, r1, r0, lsr #0x1
|
||||
sub r0, r0, r1
|
||||
and r1, r0, r2
|
||||
and r0, r2, r0, lsr #0x2
|
||||
add r1, r1, r0
|
||||
ldr r0, _020DDC9C ; =0x0F0F0F0F
|
||||
add r1, r1, r1, lsr #0x4
|
||||
and r0, r1, r0
|
||||
add r0, r0, r0, lsr #0x8
|
||||
add r0, r0, r0, lsr #0x10
|
||||
and r0, r0, #0xff
|
||||
bx lr
|
||||
.balign 4
|
||||
_020DDC94: .word 0x55555555
|
||||
_020DDC98: .word 0x33333333
|
||||
_020DDC9C: .word 0x0F0F0F0F
|
||||
@@ -3,70 +3,6 @@
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start MATH_CountPopulation
|
||||
MATH_CountPopulation: ; 0x020DDC5C
|
||||
ldr r1, _020DDC94 ; =0x55555555
|
||||
ldr r2, _020DDC98 ; =0x33333333
|
||||
and r1, r1, r0, lsr #0x1
|
||||
sub r0, r0, r1
|
||||
and r1, r0, r2
|
||||
and r0, r2, r0, lsr #0x2
|
||||
add r1, r1, r0
|
||||
ldr r0, _020DDC9C ; =0x0F0F0F0F
|
||||
add r1, r1, r1, lsr #0x4
|
||||
and r0, r1, r0
|
||||
add r0, r0, r0, lsr #0x8
|
||||
add r0, r0, r0, lsr #0x10
|
||||
and r0, r0, #0xff
|
||||
bx lr
|
||||
.balign 4
|
||||
_020DDC94: .word 0x55555555
|
||||
_020DDC98: .word 0x33333333
|
||||
_020DDC9C: .word 0x0F0F0F0F
|
||||
|
||||
arm_func_start MATH_CalcSHA1
|
||||
MATH_CalcSHA1: ; 0x020DDCA0
|
||||
stmdb sp!, {r4-r6,lr}
|
||||
sub sp, sp, #0x68
|
||||
mov r6, r0
|
||||
add r0, sp, #0x0
|
||||
mov r5, r1
|
||||
mov r4, r2
|
||||
bl DGT_Hash2Reset
|
||||
_020DDCBC: ; 0x020DDCBC
|
||||
add r0, sp, #0x0
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl DGT_Hash2SetSource
|
||||
_020DDCCC: ; 0x020DDCCC
|
||||
add r0, sp, #0x0
|
||||
mov r1, r6
|
||||
bl DGT_Hash2GetDigest
|
||||
add sp, sp, #0x68
|
||||
ldmia sp!, {r4-r6,lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start MATH_CalcMD5
|
||||
MATH_CalcMD5: ; 0x020DDCE4
|
||||
stmdb sp!, {r4-r6,lr}
|
||||
sub sp, sp, #0x58
|
||||
mov r6, r0
|
||||
add r0, sp, #0x0
|
||||
mov r5, r1
|
||||
mov r4, r2
|
||||
bl DGT_Hash1Reset
|
||||
_020DDD00: ; 0x020DDD00
|
||||
add r0, sp, #0x0
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl DGT_Hash1SetSource
|
||||
add r1, sp, #0x0
|
||||
mov r0, r6
|
||||
bl DGT_Hash1GetDigest_R
|
||||
add sp, sp, #0x58
|
||||
ldmia sp!, {r4-r6,lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start MATH_CalcCRC32
|
||||
MATH_CalcCRC32: ; 0x020DDD28
|
||||
stmdb sp!, {lr}
|
||||
47
arm9/asm/MATH_dgt.s
Normal file
47
arm9/asm/MATH_dgt.s
Normal file
@@ -0,0 +1,47 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start MATH_CalcSHA1
|
||||
MATH_CalcSHA1: ; 0x020DDCA0
|
||||
stmdb sp!, {r4-r6,lr}
|
||||
sub sp, sp, #0x68
|
||||
mov r6, r0
|
||||
add r0, sp, #0x0
|
||||
mov r5, r1
|
||||
mov r4, r2
|
||||
bl DGT_Hash2Reset
|
||||
_020DDCBC: ; 0x020DDCBC
|
||||
add r0, sp, #0x0
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl DGT_Hash2SetSource
|
||||
_020DDCCC: ; 0x020DDCCC
|
||||
add r0, sp, #0x0
|
||||
mov r1, r6
|
||||
bl DGT_Hash2GetDigest
|
||||
add sp, sp, #0x68
|
||||
ldmia sp!, {r4-r6,lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start MATH_CalcMD5
|
||||
MATH_CalcMD5: ; 0x020DDCE4
|
||||
stmdb sp!, {r4-r6,lr}
|
||||
sub sp, sp, #0x58
|
||||
mov r6, r0
|
||||
add r0, sp, #0x0
|
||||
mov r5, r1
|
||||
mov r4, r2
|
||||
bl DGT_Hash1Reset
|
||||
_020DDD00: ; 0x020DDD00
|
||||
add r0, sp, #0x0
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl DGT_Hash1SetSource
|
||||
add r1, sp, #0x0
|
||||
mov r0, r6
|
||||
bl DGT_Hash1GetDigest_R
|
||||
add sp, sp, #0x58
|
||||
ldmia sp!, {r4-r6,lr}
|
||||
bx lr
|
||||
Reference in New Issue
Block a user