summaryrefslogtreecommitdiff
path: root/arm9/asm
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm')
-rw-r--r--arm9/asm/NNS_FND_expheap_s.s121
1 files changed, 1 insertions, 120 deletions
diff --git a/arm9/asm/NNS_FND_expheap_s.s b/arm9/asm/NNS_FND_expheap_s.s
index d173bef0..d4d958db 100644
--- a/arm9/asm/NNS_FND_expheap_s.s
+++ b/arm9/asm/NNS_FND_expheap_s.s
@@ -10,6 +10,7 @@
.extern AllocUsedBlockFromFreeBlock
.extern AllocFromHead
.extern AllocFromTail
+ .extern RecycleRegion
.text
arm_func_start NNS_FndGetSizeForMBlockExpHeap
@@ -156,123 +157,3 @@ _020ADF90:
.balign 4
_020ADF9C: .word 0x00004652
arm_func_end NNS_FndResizeForMBlockExpHeap
-
- arm_func_start NNS_FndAllocFromExpHeapEx
-NNS_FndAllocFromExpHeapEx: ; 0x020ADFA0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0x0
- moveq r1, #0x1
- add r1, r1, #0x3
- cmp r2, #0x0
- bic r1, r1, #0x3
- blt _020ADFCC
- bl AllocFromHead
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020ADFCC:
- rsb r2, r2, #0x0
- bl AllocFromTail
- add sp, sp, #0x4
- ldmia sp!, {pc}
- arm_func_end NNS_FndAllocFromExpHeapEx
-
- arm_func_start NNS_FndDestroyExpHeap
-NNS_FndDestroyExpHeap: ; 0x020ADFDC
- ldr ip, _020ADFE4 ; =NNSi_FndFinalizeHeap
- bx r12
- .balign 4
-_020ADFE4: .word NNSi_FndFinalizeHeap
- arm_func_end NNS_FndDestroyExpHeap
-
- arm_func_start NNS_FndCreateExpHeapEx
-NNS_FndCreateExpHeapEx: ; 0x020ADFE8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- add r1, r1, r0
- add r0, r0, #0x3
- bic r1, r1, #0x3
- bic r0, r0, #0x3
- cmp r0, r1
- bhi _020AE014
- sub r3, r1, r0
- cmp r3, #0x4c
- bhs _020AE020
-_020AE014:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {pc}
-_020AE020:
- bl InitExpHeap
- add sp, sp, #0x4
- ldmia sp!, {pc}
- arm_func_end NNS_FndCreateExpHeapEx
-
- arm_func_start RecycleRegion
-RecycleRegion:
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r5, r1
- ldr r2, [r5, #0x0]
- ldr r1, [r5, #0x4]
- mov r6, r0
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [r6, #0x0]
- mov r4, #0x0
- cmp r1, #0x0
- beq _020AE0A0
- ldr r0, [r5, #0x0]
-_020AE060:
- cmp r1, r0
- movcc r4, r1
- blo _020AE094
- ldr r0, [r5, #0x4]
- cmp r1, r0
- bne _020AE0A0
- ldr r2, [r1, #0x4]
- add r0, r1, #0x10
- add r2, r2, r0
- mov r0, r6
- str r2, [sp, #0x4]
- bl RemoveMBlock
- b _020AE0A0
-_020AE094:
- ldr r1, [r1, #0xc]
- cmp r1, #0x0
- bne _020AE060
-_020AE0A0:
- cmp r4, #0x0
- beq _020AE0D4
- ldr r2, [r4, #0x4]
- add r1, r4, #0x10
- ldr r0, [r5, #0x0]
- add r1, r2, r1
- cmp r1, r0
- bne _020AE0D4
- mov r0, r6
- mov r1, r4
- str r4, [sp, #0x0]
- bl RemoveMBlock
- mov r4, r0
-_020AE0D4:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x0]
- sub r0, r1, r0
- cmp r0, #0x10
- addcc sp, sp, #0x8
- movcc r0, #0x0
- ldmccia sp!, {r4-r6,pc}
- ldr r1, _020AE118 ; =0x00004652
- add r0, sp, #0x0
- bl InitMBlock
- mov r1, r0
- mov r0, r6
- mov r2, r4
- bl InsertMBlock
- mov r0, #0x1
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020AE118: .word 0x00004652
- arm_func_end RecycleRegion