tp/asm/SComponent/c/c_node.s

216 lines
8.0 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 802660d0
.global cNd_Join
cNd_Join:
/* 802660D0 00263010 90 83 00 08 */ stw r4, 8(r3)
/* 802660D4 00263014 90 64 00 00 */ stw r3, 0(r4)
/* 802660D8 00263018 4E 80 00 20 */ blr
.global cNd_LengthOf
cNd_LengthOf:
/* 802660DC 0026301C 38 80 00 00 */ li r4, 0
/* 802660E0 00263020 48 00 00 1C */ b lbl_802660FC
lbl_802660E4:
/* 802660E4 00263024 28 03 00 00 */ cmplwi r3, 0
/* 802660E8 00263028 38 84 00 01 */ addi r4, r4, 1
/* 802660EC 0026302C 41 82 00 0C */ beq lbl_802660F8
/* 802660F0 00263030 80 63 00 08 */ lwz r3, 8(r3)
/* 802660F4 00263034 48 00 00 08 */ b lbl_802660FC
lbl_802660F8:
/* 802660F8 00263038 38 60 00 00 */ li r3, 0
lbl_802660FC:
/* 802660FC 0026303C 28 03 00 00 */ cmplwi r3, 0
/* 80266100 00263040 40 82 FF E4 */ bne lbl_802660E4
/* 80266104 00263044 7C 83 23 78 */ mr r3, r4
/* 80266108 00263048 4E 80 00 20 */ blr
.global cNd_First
cNd_First:
/* 8026610C 0026304C 38 00 00 00 */ li r0, 0
/* 80266110 00263050 48 00 00 1C */ b lbl_8026612C
lbl_80266114:
/* 80266114 00263054 7C 60 1B 78 */ mr r0, r3
/* 80266118 00263058 28 03 00 00 */ cmplwi r3, 0
/* 8026611C 0026305C 41 82 00 0C */ beq lbl_80266128
/* 80266120 00263060 80 63 00 00 */ lwz r3, 0(r3)
/* 80266124 00263064 48 00 00 08 */ b lbl_8026612C
lbl_80266128:
/* 80266128 00263068 38 60 00 00 */ li r3, 0
lbl_8026612C:
/* 8026612C 0026306C 28 03 00 00 */ cmplwi r3, 0
/* 80266130 00263070 40 82 FF E4 */ bne lbl_80266114
/* 80266134 00263074 7C 03 03 78 */ mr r3, r0
/* 80266138 00263078 4E 80 00 20 */ blr
.global cNd_Last
cNd_Last:
/* 8026613C 0026307C 38 00 00 00 */ li r0, 0
/* 80266140 00263080 48 00 00 1C */ b lbl_8026615C
lbl_80266144:
/* 80266144 00263084 7C 60 1B 78 */ mr r0, r3
/* 80266148 00263088 28 03 00 00 */ cmplwi r3, 0
/* 8026614C 0026308C 41 82 00 0C */ beq lbl_80266158
/* 80266150 00263090 80 63 00 08 */ lwz r3, 8(r3)
/* 80266154 00263094 48 00 00 08 */ b lbl_8026615C
lbl_80266158:
/* 80266158 00263098 38 60 00 00 */ li r3, 0
lbl_8026615C:
/* 8026615C 0026309C 28 03 00 00 */ cmplwi r3, 0
/* 80266160 002630A0 40 82 FF E4 */ bne lbl_80266144
/* 80266164 002630A4 7C 03 03 78 */ mr r3, r0
/* 80266168 002630A8 4E 80 00 20 */ blr
.global cNd_Order
cNd_Order:
/* 8026616C 002630AC 38 00 00 00 */ li r0, 0
/* 80266170 002630B0 38 A0 00 00 */ li r5, 0
/* 80266174 002630B4 48 00 00 20 */ b lbl_80266194
lbl_80266178:
/* 80266178 002630B8 7C 60 1B 78 */ mr r0, r3
/* 8026617C 002630BC 28 03 00 00 */ cmplwi r3, 0
/* 80266180 002630C0 38 A5 00 01 */ addi r5, r5, 1
/* 80266184 002630C4 41 82 00 0C */ beq lbl_80266190
/* 80266188 002630C8 80 63 00 08 */ lwz r3, 8(r3)
/* 8026618C 002630CC 48 00 00 08 */ b lbl_80266194
lbl_80266190:
/* 80266190 002630D0 38 60 00 00 */ li r3, 0
lbl_80266194:
/* 80266194 002630D4 7C 05 20 00 */ cmpw r5, r4
/* 80266198 002630D8 40 80 00 0C */ bge lbl_802661A4
/* 8026619C 002630DC 28 03 00 00 */ cmplwi r3, 0
/* 802661A0 002630E0 40 82 FF D8 */ bne lbl_80266178
lbl_802661A4:
/* 802661A4 002630E4 7C 05 20 00 */ cmpw r5, r4
/* 802661A8 002630E8 40 80 00 0C */ bge lbl_802661B4
/* 802661AC 002630EC 7C 03 03 78 */ mr r3, r0
/* 802661B0 002630F0 4E 80 00 20 */ blr
lbl_802661B4:
/* 802661B4 002630F4 38 60 00 00 */ li r3, 0
/* 802661B8 002630F8 4E 80 00 20 */ blr
.global cNd_SingleCut
cNd_SingleCut:
/* 802661BC 002630FC 80 A3 00 00 */ lwz r5, 0(r3)
/* 802661C0 00263100 80 83 00 08 */ lwz r4, 8(r3)
/* 802661C4 00263104 28 05 00 00 */ cmplwi r5, 0
/* 802661C8 00263108 41 82 00 08 */ beq lbl_802661D0
/* 802661CC 0026310C 90 85 00 08 */ stw r4, 8(r5)
lbl_802661D0:
/* 802661D0 00263110 28 04 00 00 */ cmplwi r4, 0
/* 802661D4 00263114 41 82 00 0C */ beq lbl_802661E0
/* 802661D8 00263118 80 03 00 00 */ lwz r0, 0(r3)
/* 802661DC 0026311C 90 04 00 00 */ stw r0, 0(r4)
lbl_802661E0:
/* 802661E0 00263120 38 00 00 00 */ li r0, 0
/* 802661E4 00263124 90 03 00 00 */ stw r0, 0(r3)
/* 802661E8 00263128 90 03 00 08 */ stw r0, 8(r3)
/* 802661EC 0026312C 4E 80 00 20 */ blr
.global cNd_Cut
cNd_Cut:
/* 802661F0 00263130 80 83 00 00 */ lwz r4, 0(r3)
/* 802661F4 00263134 28 04 00 00 */ cmplwi r4, 0
/* 802661F8 00263138 41 82 00 0C */ beq lbl_80266204
/* 802661FC 0026313C 38 00 00 00 */ li r0, 0
/* 80266200 00263140 90 04 00 08 */ stw r0, 8(r4)
lbl_80266204:
/* 80266204 00263144 38 00 00 00 */ li r0, 0
/* 80266208 00263148 90 03 00 00 */ stw r0, 0(r3)
/* 8026620C 0026314C 4E 80 00 20 */ blr
.global cNd_Addition
cNd_Addition:
/* 80266210 00263150 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266214 00263154 7C 08 02 A6 */ mflr r0
/* 80266218 00263158 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026621C 0026315C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80266220 00263160 7C 9F 23 78 */ mr r31, r4
/* 80266224 00263164 4B FF FF 19 */ bl cNd_Last
/* 80266228 00263168 7F E4 FB 78 */ mr r4, r31
/* 8026622C 0026316C 4B FF FE A5 */ bl cNd_Join
/* 80266230 00263170 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80266234 00263174 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266238 00263178 7C 08 03 A6 */ mtlr r0
/* 8026623C 0026317C 38 21 00 10 */ addi r1, r1, 0x10
/* 80266240 00263180 4E 80 00 20 */ blr
.global cNd_Insert
cNd_Insert:
/* 80266244 00263184 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80266248 00263188 7C 08 02 A6 */ mflr r0
/* 8026624C 0026318C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80266250 00263190 39 61 00 20 */ addi r11, r1, 0x20
/* 80266254 00263194 48 0F BF 89 */ bl _savegpr_29
/* 80266258 00263198 7C 7D 1B 78 */ mr r29, r3
/* 8026625C 0026319C 7C 9E 23 78 */ mr r30, r4
/* 80266260 002631A0 83 E3 00 00 */ lwz r31, 0(r3)
/* 80266264 002631A4 28 1F 00 00 */ cmplwi r31, 0
/* 80266268 002631A8 40 82 00 14 */ bne lbl_8026627C
/* 8026626C 002631AC 7F C3 F3 78 */ mr r3, r30
/* 80266270 002631B0 7F A4 EB 78 */ mr r4, r29
/* 80266274 002631B4 4B FF FF 9D */ bl cNd_Addition
/* 80266278 002631B8 48 00 00 20 */ b lbl_80266298
lbl_8026627C:
/* 8026627C 002631BC 4B FF FF 75 */ bl cNd_Cut
/* 80266280 002631C0 7F E3 FB 78 */ mr r3, r31
/* 80266284 002631C4 7F C4 F3 78 */ mr r4, r30
/* 80266288 002631C8 4B FF FF 89 */ bl cNd_Addition
/* 8026628C 002631CC 7F C3 F3 78 */ mr r3, r30
/* 80266290 002631D0 7F A4 EB 78 */ mr r4, r29
/* 80266294 002631D4 4B FF FF 7D */ bl cNd_Addition
lbl_80266298:
/* 80266298 002631D8 39 61 00 20 */ addi r11, r1, 0x20
/* 8026629C 002631DC 48 0F BF 8D */ bl _restgpr_29
/* 802662A0 002631E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802662A4 002631E4 7C 08 03 A6 */ mtlr r0
/* 802662A8 002631E8 38 21 00 20 */ addi r1, r1, 0x20
/* 802662AC 002631EC 4E 80 00 20 */ blr
.global cNd_SetObject
cNd_SetObject:
/* 802662B0 002631F0 48 00 00 1C */ b lbl_802662CC
lbl_802662B4:
/* 802662B4 002631F4 90 83 00 04 */ stw r4, 4(r3)
/* 802662B8 002631F8 28 03 00 00 */ cmplwi r3, 0
/* 802662BC 002631FC 41 82 00 0C */ beq lbl_802662C8
/* 802662C0 00263200 80 63 00 08 */ lwz r3, 8(r3)
/* 802662C4 00263204 48 00 00 08 */ b lbl_802662CC
lbl_802662C8:
/* 802662C8 00263208 38 60 00 00 */ li r3, 0
lbl_802662CC:
/* 802662CC 0026320C 28 03 00 00 */ cmplwi r3, 0
/* 802662D0 00263210 40 82 FF E4 */ bne lbl_802662B4
/* 802662D4 00263214 4E 80 00 20 */ blr
.global cNd_ClearObject
cNd_ClearObject:
/* 802662D8 00263218 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802662DC 0026321C 7C 08 02 A6 */ mflr r0
/* 802662E0 00263220 90 01 00 14 */ stw r0, 0x14(r1)
/* 802662E4 00263224 38 80 00 00 */ li r4, 0
/* 802662E8 00263228 4B FF FF C9 */ bl cNd_SetObject
/* 802662EC 0026322C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802662F0 00263230 7C 08 03 A6 */ mtlr r0
/* 802662F4 00263234 38 21 00 10 */ addi r1, r1, 0x10
/* 802662F8 00263238 4E 80 00 20 */ blr
.global cNd_ForcedClear
cNd_ForcedClear:
/* 802662FC 0026323C 38 00 00 00 */ li r0, 0
/* 80266300 00263240 90 03 00 00 */ stw r0, 0(r3)
/* 80266304 00263244 90 03 00 08 */ stw r0, 8(r3)
/* 80266308 00263248 90 03 00 04 */ stw r0, 4(r3)
/* 8026630C 0026324C 4E 80 00 20 */ blr
.global cNd_Create
cNd_Create:
/* 80266310 00263250 38 00 00 00 */ li r0, 0
/* 80266314 00263254 90 03 00 00 */ stw r0, 0(r3)
/* 80266318 00263258 90 03 00 08 */ stw r0, 8(r3)
/* 8026631C 0026325C 90 83 00 04 */ stw r4, 4(r3)
/* 80266320 00263260 4E 80 00 20 */ blr