summaryrefslogtreecommitdiff
path: root/arm9/asm/NNS_FND_allocator.s
blob: 537ce6a06f434b64e2116e9c28d65d62eef5b77c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
	.include "asm/macros.inc"
	.include "global.inc"
	.rodata
	; static const in function

	.global sAllocatorFunc$7864
sAllocatorFunc$7864: ; 0x020FF7CC
	.word AllocatorAllocForExpHeap
	.word AllocatorFreeForExpHeap
	.text

	arm_func_start NNS_FndInitAllocatorForExpHeap
NNS_FndInitAllocatorForExpHeap: ; 0x020AE82C
	ldr ip, _020AE848 ; =sAllocatorFunc$7864
	mov r3, #0x0
	str r12, [r0, #0x0]
	str r1, [r0, #0x4]
	str r2, [r0, #0x8]
	str r3, [r0, #0xc]
	bx lr
	.balign 4
_020AE848: .word sAllocatorFunc$7864
	arm_func_end NNS_FndInitAllocatorForExpHeap

	arm_func_start NNS_FndFreeToAllocator
NNS_FndFreeToAllocator: ; 0x020AE84C
	stmdb sp!, {lr}
	sub sp, sp, #0x4
	ldr r2, [r0, #0x0]
	ldr r2, [r2, #0x4]
	blx r2
	add sp, sp, #0x4
	ldmia sp!, {pc}
	arm_func_end NNS_FndFreeToAllocator

	arm_func_start NNS_FndAllocFromAllocator
NNS_FndAllocFromAllocator: ; 0x020AE868
	stmdb sp!, {lr}
	sub sp, sp, #0x4
	ldr r2, [r0, #0x0]
	ldr r2, [r2, #0x0]
	blx r2
	add sp, sp, #0x4
	ldmia sp!, {pc}
	arm_func_end NNS_FndAllocFromAllocator

	arm_func_start AllocatorFreeForExpHeap
AllocatorFreeForExpHeap: ; 0x020AE884
	ldr ip, _020AE890 ; =NNS_FndFreeToExpHeap
	ldr r0, [r0, #0x4]
	bx r12
	.balign 4
_020AE890: .word NNS_FndFreeToExpHeap
	arm_func_end AllocatorFreeForExpHeap

	arm_func_start AllocatorAllocForExpHeap
AllocatorAllocForExpHeap: ; 0x020AE894
	ldr ip, _020AE8A8 ; =NNS_FndAllocFromExpHeapEx
	mov r2, r0
	ldr r0, [r2, #0x4]
	ldr r2, [r2, #0x8]
	bx r12
	.balign 4
_020AE8A8: .word NNS_FndAllocFromExpHeapEx
	arm_func_end AllocatorAllocForExpHeap