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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global MEMInitList
MEMInitList:
/* 8029777C 002933DC 38 00 00 00 */ li r0, 0
/* 80297780 002933E0 B0 83 00 0A */ sth r4, 0xa(r3)
/* 80297784 002933E4 90 03 00 00 */ stw r0, 0(r3)
/* 80297788 002933E8 90 03 00 04 */ stw r0, 4(r3)
/* 8029778C 002933EC B0 03 00 08 */ sth r0, 8(r3)
/* 80297790 002933F0 4E 80 00 20 */ blr
.global MEMAppendListObject
MEMAppendListObject:
/* 80297794 002933F4 80 03 00 00 */ lwz r0, 0(r3)
/* 80297798 002933F8 2C 00 00 00 */ cmpwi r0, 0
/* 8029779C 002933FC 40 82 00 30 */ bne lbl_802977CC
/* 802977A0 00293400 A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 802977A4 00293404 38 00 00 00 */ li r0, 0
/* 802977A8 00293408 7C A4 2A 14 */ add r5, r4, r5
/* 802977AC 0029340C 90 05 00 04 */ stw r0, 4(r5)
/* 802977B0 00293410 90 05 00 00 */ stw r0, 0(r5)
/* 802977B4 00293414 A0 A3 00 08 */ lhz r5, 8(r3)
/* 802977B8 00293418 90 83 00 00 */ stw r4, 0(r3)
/* 802977BC 0029341C 38 05 00 01 */ addi r0, r5, 1
/* 802977C0 00293420 90 83 00 04 */ stw r4, 4(r3)
/* 802977C4 00293424 B0 03 00 08 */ sth r0, 8(r3)
/* 802977C8 00293428 4E 80 00 20 */ blr
lbl_802977CC:
/* 802977CC 0029342C A0 C3 00 0A */ lhz r6, 0xa(r3)
/* 802977D0 00293430 38 00 00 00 */ li r0, 0
/* 802977D4 00293434 80 A3 00 04 */ lwz r5, 4(r3)
/* 802977D8 00293438 7C A6 21 6E */ stwux r5, r6, r4
/* 802977DC 0029343C 90 06 00 04 */ stw r0, 4(r6)
/* 802977E0 00293440 80 A3 00 04 */ lwz r5, 4(r3)
/* 802977E4 00293444 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 802977E8 00293448 7C A5 02 14 */ add r5, r5, r0
/* 802977EC 0029344C 90 85 00 04 */ stw r4, 4(r5)
/* 802977F0 00293450 A0 A3 00 08 */ lhz r5, 8(r3)
/* 802977F4 00293454 90 83 00 04 */ stw r4, 4(r3)
/* 802977F8 00293458 38 05 00 01 */ addi r0, r5, 1
/* 802977FC 0029345C B0 03 00 08 */ sth r0, 8(r3)
/* 80297800 00293460 4E 80 00 20 */ blr
.global MEMRemoveListObject
MEMRemoveListObject:
/* 80297804 00293464 A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 80297808 00293468 7C C4 2A 14 */ add r6, r4, r5
/* 8029780C 0029346C 7C 84 28 2E */ lwzx r4, r4, r5
/* 80297810 00293470 2C 04 00 00 */ cmpwi r4, 0
/* 80297814 00293474 40 82 00 10 */ bne lbl_80297824
/* 80297818 00293478 80 06 00 04 */ lwz r0, 4(r6)
/* 8029781C 0029347C 90 03 00 00 */ stw r0, 0(r3)
/* 80297820 00293480 48 00 00 10 */ b lbl_80297830
lbl_80297824:
/* 80297824 00293484 80 06 00 04 */ lwz r0, 4(r6)
/* 80297828 00293488 7C 84 2A 14 */ add r4, r4, r5
/* 8029782C 0029348C 90 04 00 04 */ stw r0, 4(r4)
lbl_80297830:
/* 80297830 00293490 80 A6 00 04 */ lwz r5, 4(r6)
/* 80297834 00293494 2C 05 00 00 */ cmpwi r5, 0
/* 80297838 00293498 40 82 00 10 */ bne lbl_80297848
/* 8029783C 0029349C 80 06 00 00 */ lwz r0, 0(r6)
/* 80297840 002934A0 90 03 00 04 */ stw r0, 4(r3)
/* 80297844 002934A4 48 00 00 10 */ b lbl_80297854
lbl_80297848:
/* 80297848 002934A8 80 86 00 00 */ lwz r4, 0(r6)
/* 8029784C 002934AC A0 03 00 0A */ lhz r0, 0xa(r3)
/* 80297850 002934B0 7C 85 01 2E */ stwx r4, r5, r0
lbl_80297854:
/* 80297854 002934B4 38 00 00 00 */ li r0, 0
/* 80297858 002934B8 90 06 00 00 */ stw r0, 0(r6)
/* 8029785C 002934BC 90 06 00 04 */ stw r0, 4(r6)
/* 80297860 002934C0 A0 83 00 08 */ lhz r4, 8(r3)
/* 80297864 002934C4 38 04 FF FF */ addi r0, r4, -1
/* 80297868 002934C8 B0 03 00 08 */ sth r0, 8(r3)
/* 8029786C 002934CC 4E 80 00 20 */ blr
.global MEMGetNextListObject
MEMGetNextListObject:
/* 80297870 002934D0 2C 04 00 00 */ cmpwi r4, 0
/* 80297874 002934D4 40 82 00 0C */ bne lbl_80297880
/* 80297878 002934D8 80 63 00 00 */ lwz r3, 0(r3)
/* 8029787C 002934DC 4E 80 00 20 */ blr
lbl_80297880:
/* 80297880 002934E0 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 80297884 002934E4 7C 64 02 14 */ add r3, r4, r0
/* 80297888 002934E8 80 63 00 04 */ lwz r3, 4(r3)
/* 8029788C 002934EC 4E 80 00 20 */ blr
|