mirror of https://github.com/zeldaret/tp.git
205 lines
9.5 KiB
ArmAsm
205 lines
9.5 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 802dca1c
|
|
|
|
|
|
.global JGadget_NS_TNodeLinkList_NS_dtor
|
|
JGadget_NS_TNodeLinkList_NS_dtor:
|
|
/* 802DCA1C 002D995C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802DCA20 002D9960 7C 08 02 A6 */ mflr r0
|
|
/* 802DCA24 002D9964 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802DCA28 002D9968 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 802DCA2C 002D996C 7C 7F 1B 79 */ or. r31, r3, r3
|
|
/* 802DCA30 002D9970 41 82 00 10 */ beq lbl_802DCA40
|
|
/* 802DCA34 002D9974 7C 80 07 35 */ extsh. r0, r4
|
|
/* 802DCA38 002D9978 40 81 00 08 */ ble lbl_802DCA40
|
|
/* 802DCA3C 002D997C 4B FF 23 01 */ bl __dl__FPv
|
|
lbl_802DCA40:
|
|
/* 802DCA40 002D9980 7F E3 FB 78 */ mr r3, r31
|
|
/* 802DCA44 002D9984 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 802DCA48 002D9988 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802DCA4C 002D998C 7C 08 03 A6 */ mtlr r0
|
|
/* 802DCA50 002D9990 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802DCA54 002D9994 4E 80 00 20 */ blr
|
|
|
|
.global JGadget_NS_TNodeLinkList_NS_erase
|
|
JGadget_NS_TNodeLinkList_NS_erase:
|
|
/* 802DCA58 002D9998 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 802DCA5C 002D999C 7C 08 02 A6 */ mflr r0
|
|
/* 802DCA60 002D99A0 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 802DCA64 002D99A4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 802DCA68 002D99A8 80 A5 00 00 */ lwz r5, 0(r5)
|
|
/* 802DCA6C 002D99AC 90 A1 00 14 */ stw r5, 0x14(r1)
|
|
/* 802DCA70 002D99B0 80 05 00 00 */ lwz r0, 0(r5)
|
|
/* 802DCA74 002D99B4 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 802DCA78 002D99B8 90 01 00 0C */ stw r0, 0xc(r1)
|
|
/* 802DCA7C 002D99BC 90 A1 00 10 */ stw r5, 0x10(r1)
|
|
/* 802DCA80 002D99C0 38 A1 00 10 */ addi r5, r1, 0x10
|
|
/* 802DCA84 002D99C4 38 C1 00 0C */ addi r6, r1, 0xc
|
|
/* 802DCA88 002D99C8 48 00 00 19 */ bl JGadget_NS_TNodeLinkList_NS_erase_X1_
|
|
/* 802DCA8C 002D99CC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 802DCA90 002D99D0 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 802DCA94 002D99D4 7C 08 03 A6 */ mtlr r0
|
|
/* 802DCA98 002D99D8 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 802DCA9C 002D99DC 4E 80 00 20 */ blr
|
|
|
|
.global JGadget_NS_TNodeLinkList_NS_erase_X1_
|
|
JGadget_NS_TNodeLinkList_NS_erase_X1_:
|
|
/* 802DCAA0 002D99E0 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 802DCAA4 002D99E4 7C 08 02 A6 */ mflr r0
|
|
/* 802DCAA8 002D99E8 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 802DCAAC 002D99EC 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802DCAB0 002D99F0 48 08 57 25 */ bl _savegpr_27
|
|
/* 802DCAB4 002D99F4 7C 7B 1B 78 */ mr r27, r3
|
|
/* 802DCAB8 002D99F8 7C 9C 23 78 */ mr r28, r4
|
|
/* 802DCABC 002D99FC 7C DD 33 78 */ mr r29, r6
|
|
/* 802DCAC0 002D9A00 80 A5 00 00 */ lwz r5, 0(r5)
|
|
/* 802DCAC4 002D9A04 83 E6 00 00 */ lwz r31, 0(r6)
|
|
/* 802DCAC8 002D9A08 48 00 00 18 */ b lbl_802DCAE0
|
|
lbl_802DCACC:
|
|
/* 802DCACC 002D9A0C 83 C5 00 00 */ lwz r30, 0(r5)
|
|
/* 802DCAD0 002D9A10 38 61 00 08 */ addi r3, r1, 8
|
|
/* 802DCAD4 002D9A14 7F 84 E3 78 */ mr r4, r28
|
|
/* 802DCAD8 002D9A18 48 00 00 FD */ bl JGadget_NS_TNodeLinkList_NS_Erase
|
|
/* 802DCADC 002D9A1C 7F C5 F3 78 */ mr r5, r30
|
|
lbl_802DCAE0:
|
|
/* 802DCAE0 002D9A20 7C 05 F8 40 */ cmplw r5, r31
|
|
/* 802DCAE4 002D9A24 40 82 FF E8 */ bne lbl_802DCACC
|
|
/* 802DCAE8 002D9A28 80 1D 00 00 */ lwz r0, 0(r29)
|
|
/* 802DCAEC 002D9A2C 90 1B 00 00 */ stw r0, 0(r27)
|
|
/* 802DCAF0 002D9A30 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802DCAF4 002D9A34 48 08 57 2D */ bl _restgpr_27
|
|
/* 802DCAF8 002D9A38 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 802DCAFC 002D9A3C 7C 08 03 A6 */ mtlr r0
|
|
/* 802DCB00 002D9A40 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 802DCB04 002D9A44 4E 80 00 20 */ blr
|
|
|
|
.global JGadget_NS_TNodeLinkList_NS_splice
|
|
JGadget_NS_TNodeLinkList_NS_splice:
|
|
/* 802DCB08 002D9A48 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 802DCB0C 002D9A4C 7C 08 02 A6 */ mflr r0
|
|
/* 802DCB10 002D9A50 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 802DCB14 002D9A54 39 61 00 40 */ addi r11, r1, 0x40
|
|
/* 802DCB18 002D9A58 48 08 56 C5 */ bl _savegpr_29
|
|
/* 802DCB1C 002D9A5C 7C 7D 1B 78 */ mr r29, r3
|
|
/* 802DCB20 002D9A60 7C 9E 23 78 */ mr r30, r4
|
|
/* 802DCB24 002D9A64 80 C6 00 00 */ lwz r6, 0(r6)
|
|
/* 802DCB28 002D9A68 90 C1 00 2C */ stw r6, 0x2c(r1)
|
|
/* 802DCB2C 002D9A6C 80 66 00 00 */ lwz r3, 0(r6)
|
|
/* 802DCB30 002D9A70 90 61 00 08 */ stw r3, 8(r1)
|
|
/* 802DCB34 002D9A74 90 C1 00 24 */ stw r6, 0x24(r1)
|
|
/* 802DCB38 002D9A78 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 802DCB3C 002D9A7C 90 01 00 0C */ stw r0, 0xc(r1)
|
|
/* 802DCB40 002D9A80 90 01 00 28 */ stw r0, 0x28(r1)
|
|
/* 802DCB44 002D9A84 7C 00 30 40 */ cmplw r0, r6
|
|
/* 802DCB48 002D9A88 41 82 00 48 */ beq lbl_802DCB90
|
|
/* 802DCB4C 002D9A8C 90 61 00 1C */ stw r3, 0x1c(r1)
|
|
/* 802DCB50 002D9A90 90 01 00 20 */ stw r0, 0x20(r1)
|
|
/* 802DCB54 002D9A94 7C 00 18 40 */ cmplw r0, r3
|
|
/* 802DCB58 002D9A98 40 82 00 08 */ bne lbl_802DCB60
|
|
/* 802DCB5C 002D9A9C 48 00 00 34 */ b lbl_802DCB90
|
|
lbl_802DCB60:
|
|
/* 802DCB60 002D9AA0 7C DF 33 78 */ mr r31, r6
|
|
/* 802DCB64 002D9AA4 38 61 00 18 */ addi r3, r1, 0x18
|
|
/* 802DCB68 002D9AA8 7C A4 2B 78 */ mr r4, r5
|
|
/* 802DCB6C 002D9AAC 7C C5 33 78 */ mr r5, r6
|
|
/* 802DCB70 002D9AB0 48 00 00 65 */ bl JGadget_NS_TNodeLinkList_NS_Erase
|
|
/* 802DCB74 002D9AB4 80 1E 00 00 */ lwz r0, 0(r30)
|
|
/* 802DCB78 002D9AB8 90 01 00 10 */ stw r0, 0x10(r1)
|
|
/* 802DCB7C 002D9ABC 38 61 00 14 */ addi r3, r1, 0x14
|
|
/* 802DCB80 002D9AC0 7F A4 EB 78 */ mr r4, r29
|
|
/* 802DCB84 002D9AC4 38 A1 00 10 */ addi r5, r1, 0x10
|
|
/* 802DCB88 002D9AC8 7F E6 FB 78 */ mr r6, r31
|
|
/* 802DCB8C 002D9ACC 48 00 00 1D */ bl JGadget_NS_TNodeLinkList_NS_Insert
|
|
lbl_802DCB90:
|
|
/* 802DCB90 002D9AD0 39 61 00 40 */ addi r11, r1, 0x40
|
|
/* 802DCB94 002D9AD4 48 08 56 95 */ bl _restgpr_29
|
|
/* 802DCB98 002D9AD8 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 802DCB9C 002D9ADC 7C 08 03 A6 */ mtlr r0
|
|
/* 802DCBA0 002D9AE0 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 802DCBA4 002D9AE4 4E 80 00 20 */ blr
|
|
|
|
.global JGadget_NS_TNodeLinkList_NS_Insert
|
|
JGadget_NS_TNodeLinkList_NS_Insert:
|
|
/* 802DCBA8 002D9AE8 80 A5 00 00 */ lwz r5, 0(r5)
|
|
/* 802DCBAC 002D9AEC 80 E5 00 04 */ lwz r7, 4(r5)
|
|
/* 802DCBB0 002D9AF0 90 A6 00 00 */ stw r5, 0(r6)
|
|
/* 802DCBB4 002D9AF4 90 E6 00 04 */ stw r7, 4(r6)
|
|
/* 802DCBB8 002D9AF8 90 C5 00 04 */ stw r6, 4(r5)
|
|
/* 802DCBBC 002D9AFC 90 C7 00 00 */ stw r6, 0(r7)
|
|
/* 802DCBC0 002D9B00 80 A4 00 00 */ lwz r5, 0(r4)
|
|
/* 802DCBC4 002D9B04 38 05 00 01 */ addi r0, r5, 1
|
|
/* 802DCBC8 002D9B08 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 802DCBCC 002D9B0C 90 C3 00 00 */ stw r6, 0(r3)
|
|
/* 802DCBD0 002D9B10 4E 80 00 20 */ blr
|
|
|
|
.global JGadget_NS_TNodeLinkList_NS_Erase
|
|
JGadget_NS_TNodeLinkList_NS_Erase:
|
|
/* 802DCBD4 002D9B14 80 C5 00 00 */ lwz r6, 0(r5)
|
|
/* 802DCBD8 002D9B18 80 A5 00 04 */ lwz r5, 4(r5)
|
|
/* 802DCBDC 002D9B1C 90 A6 00 04 */ stw r5, 4(r6)
|
|
/* 802DCBE0 002D9B20 90 C5 00 00 */ stw r6, 0(r5)
|
|
/* 802DCBE4 002D9B24 80 A4 00 00 */ lwz r5, 0(r4)
|
|
/* 802DCBE8 002D9B28 38 05 FF FF */ addi r0, r5, -1
|
|
/* 802DCBEC 002D9B2C 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 802DCBF0 002D9B30 90 C3 00 00 */ stw r6, 0(r3)
|
|
/* 802DCBF4 002D9B34 4E 80 00 20 */ blr
|
|
|
|
.global JGadget_NS_TNodeLinkList_NS_Remove
|
|
JGadget_NS_TNodeLinkList_NS_Remove:
|
|
/* 802DCBF8 002D9B38 94 21 FF B0 */ stwu r1, -0x50(r1)
|
|
/* 802DCBFC 002D9B3C 7C 08 02 A6 */ mflr r0
|
|
/* 802DCC00 002D9B40 90 01 00 54 */ stw r0, 0x54(r1)
|
|
/* 802DCC04 002D9B44 39 61 00 50 */ addi r11, r1, 0x50
|
|
/* 802DCC08 002D9B48 48 08 55 D1 */ bl _savegpr_28
|
|
/* 802DCC0C 002D9B4C 7C 7C 1B 78 */ mr r28, r3
|
|
/* 802DCC10 002D9B50 90 81 00 2C */ stw r4, 0x2c(r1)
|
|
/* 802DCC14 002D9B54 38 00 00 00 */ li r0, 0
|
|
/* 802DCC18 002D9B58 3B A1 00 34 */ addi r29, r1, 0x34
|
|
/* 802DCC1C 002D9B5C 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 802DCC20 002D9B60 90 01 00 38 */ stw r0, 0x38(r1)
|
|
/* 802DCC24 002D9B64 90 01 00 30 */ stw r0, 0x30(r1)
|
|
/* 802DCC28 002D9B68 93 A1 00 34 */ stw r29, 0x34(r1)
|
|
/* 802DCC2C 002D9B6C 93 A1 00 38 */ stw r29, 0x38(r1)
|
|
/* 802DCC30 002D9B70 90 81 00 28 */ stw r4, 0x28(r1)
|
|
/* 802DCC34 002D9B74 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 802DCC38 002D9B78 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 802DCC3C 002D9B7C 7C 9E 23 78 */ mr r30, r4
|
|
/* 802DCC40 002D9B80 3B FC 00 04 */ addi r31, r28, 4
|
|
/* 802DCC44 002D9B84 48 00 00 48 */ b lbl_802DCC8C
|
|
lbl_802DCC48:
|
|
/* 802DCC48 002D9B88 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 802DCC4C 002D9B8C 7C 03 F0 40 */ cmplw r3, r30
|
|
/* 802DCC50 002D9B90 40 82 00 34 */ bne lbl_802DCC84
|
|
/* 802DCC54 002D9B94 90 61 00 0C */ stw r3, 0xc(r1)
|
|
/* 802DCC58 002D9B98 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 802DCC5C 002D9B9C 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 802DCC60 002D9BA0 90 61 00 18 */ stw r3, 0x18(r1)
|
|
/* 802DCC64 002D9BA4 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 802DCC68 002D9BA8 93 A1 00 10 */ stw r29, 0x10(r1)
|
|
/* 802DCC6C 002D9BAC 38 61 00 30 */ addi r3, r1, 0x30
|
|
/* 802DCC70 002D9BB0 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 802DCC74 002D9BB4 7F 85 E3 78 */ mr r5, r28
|
|
/* 802DCC78 002D9BB8 38 C1 00 18 */ addi r6, r1, 0x18
|
|
/* 802DCC7C 002D9BBC 4B FF FE 8D */ bl JGadget_NS_TNodeLinkList_NS_splice
|
|
/* 802DCC80 002D9BC0 48 00 00 0C */ b lbl_802DCC8C
|
|
lbl_802DCC84:
|
|
/* 802DCC84 002D9BC4 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 802DCC88 002D9BC8 90 01 00 08 */ stw r0, 8(r1)
|
|
lbl_802DCC8C:
|
|
/* 802DCC8C 002D9BCC 80 01 00 08 */ lwz r0, 8(r1)
|
|
/* 802DCC90 002D9BD0 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 802DCC94 002D9BD4 90 01 00 20 */ stw r0, 0x20(r1)
|
|
/* 802DCC98 002D9BD8 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 802DCC9C 002D9BDC 7C 00 F8 40 */ cmplw r0, r31
|
|
/* 802DCCA0 002D9BE0 40 82 FF A8 */ bne lbl_802DCC48
|
|
/* 802DCCA4 002D9BE4 38 61 00 30 */ addi r3, r1, 0x30
|
|
/* 802DCCA8 002D9BE8 38 80 FF FF */ li r4, -1
|
|
/* 802DCCAC 002D9BEC 4B FF FD 71 */ bl JGadget_NS_TNodeLinkList_NS_dtor
|
|
/* 802DCCB0 002D9BF0 39 61 00 50 */ addi r11, r1, 0x50
|
|
/* 802DCCB4 002D9BF4 48 08 55 71 */ bl _restgpr_28
|
|
/* 802DCCB8 002D9BF8 80 01 00 54 */ lwz r0, 0x54(r1)
|
|
/* 802DCCBC 002D9BFC 7C 08 03 A6 */ mtlr r0
|
|
/* 802DCCC0 002D9C00 38 21 00 50 */ addi r1, r1, 0x50
|
|
/* 802DCCC4 002D9C04 4E 80 00 20 */ blr
|