mirror of https://github.com/zeldaret/tp.git
185 lines
8.8 KiB
ArmAsm
185 lines
8.8 KiB
ArmAsm
/* mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl __ct__7JKRAramFUlUll::mainRamToAram(unsigned char *, unsigned long, unsigned long, JKRExpandSwitch, unsigned long, JKRHeap *, int, unsigned long *) */
|
|
/* JKRAram_NS_mainRamToAram */
|
|
/* 802D233C 002CF27C 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 802D2340 002CF280 7C 08 02 A6 */ mflr r0
|
|
/* 802D2344 002CF284 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 802D2348 002CF288 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802D234C 002CF28C 48 08 FE 79 */ bl func_803621C4
|
|
/* 802D2350 002CF290 7C 7E 1B 78 */ mr r30, r3
|
|
/* 802D2354 002CF294 7C 98 23 78 */ mr r24, r4
|
|
/* 802D2358 002CF298 7C BF 2B 78 */ mr r31, r5
|
|
/* 802D235C 002CF29C 7C D7 33 78 */ mr r23, r6
|
|
/* 802D2360 002CF2A0 7C F9 3B 78 */ mr r25, r7
|
|
/* 802D2364 002CF2A4 7D 1A 43 78 */ mr r26, r8
|
|
/* 802D2368 002CF2A8 7D 3B 4B 78 */ mr r27, r9
|
|
/* 802D236C 002CF2AC 7D 5C 53 78 */ mr r28, r10
|
|
/* 802D2370 002CF2B0 3B A0 00 00 */ li r29, 0
|
|
/* 802D2374 002CF2B4 38 A0 00 00 */ li r5, 0
|
|
/* 802D2378 002CF2B8 38 C0 00 00 */ li r6, 0
|
|
/* 802D237C 002CF2BC 4B FF FE CD */ bl checkOkAddress__7JKRAramFPUcUlP12JKRAramBlockUl
|
|
/* 802D2380 002CF2C0 2C 17 00 01 */ cmpwi r23, 1
|
|
/* 802D2384 002CF2C4 40 82 00 20 */ bne lbl_802D23A4
|
|
/* 802D2388 002CF2C8 7F C3 F3 78 */ mr r3, r30
|
|
/* 802D238C 002CF2CC 48 00 99 6D */ bl checkCompressed__9JKRDecompFPUc
|
|
/* 802D2390 002CF2D0 2C 03 00 03 */ cmpwi r3, 3
|
|
/* 802D2394 002CF2D4 40 82 00 08 */ bne lbl_802D239C
|
|
/* 802D2398 002CF2D8 38 60 00 00 */ li r3, 0
|
|
lbl_802D239C:
|
|
/* 802D239C 002CF2DC 30 03 FF FF */ addic r0, r3, -1
|
|
/* 802D23A0 002CF2E0 7E E0 19 10 */ subfe r23, r0, r3
|
|
lbl_802D23A4:
|
|
/* 802D23A4 002CF2E4 2C 17 00 01 */ cmpwi r23, 1
|
|
/* 802D23A8 002CF2E8 40 82 01 54 */ bne lbl_802D24FC
|
|
/* 802D23AC 002CF2EC 88 BE 00 07 */ lbz r5, 7(r30)
|
|
/* 802D23B0 002CF2F0 88 9E 00 06 */ lbz r4, 6(r30)
|
|
/* 802D23B4 002CF2F4 88 7E 00 04 */ lbz r3, 4(r30)
|
|
/* 802D23B8 002CF2F8 88 1E 00 05 */ lbz r0, 5(r30)
|
|
/* 802D23BC 002CF2FC 54 00 80 1E */ slwi r0, r0, 0x10
|
|
/* 802D23C0 002CF300 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
|
|
/* 802D23C4 002CF304 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
|
|
/* 802D23C8 002CF308 7C B7 03 78 */ or r23, r5, r0
|
|
/* 802D23CC 002CF30C 28 19 00 00 */ cmplwi r25, 0
|
|
/* 802D23D0 002CF310 41 82 00 0C */ beq lbl_802D23DC
|
|
/* 802D23D4 002CF314 7C 19 B8 40 */ cmplw r25, r23
|
|
/* 802D23D8 002CF318 40 81 00 0C */ ble lbl_802D23E4
|
|
lbl_802D23DC:
|
|
/* 802D23DC 002CF31C 38 17 00 1F */ addi r0, r23, 0x1f
|
|
/* 802D23E0 002CF320 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a
|
|
lbl_802D23E4:
|
|
/* 802D23E4 002CF324 28 18 00 00 */ cmplwi r24, 0
|
|
/* 802D23E8 002CF328 40 82 00 50 */ bne lbl_802D2438
|
|
/* 802D23EC 002CF32C 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
|
/* 802D23F0 002CF330 80 63 00 94 */ lwz r3, 0x94(r3)
|
|
/* 802D23F4 002CF334 7F 24 CB 78 */ mr r4, r25
|
|
/* 802D23F8 002CF338 38 A0 00 00 */ li r5, 0
|
|
/* 802D23FC 002CF33C 48 00 0B C1 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
|
|
/* 802D2400 002CF340 7C 7D 1B 78 */ mr r29, r3
|
|
/* 802D2404 002CF344 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802D2408 002CF348 40 82 00 0C */ bne lbl_802D2414
|
|
/* 802D240C 002CF34C 38 60 00 00 */ li r3, 0
|
|
/* 802D2410 002CF350 48 00 01 8C */ b lbl_802D259C
|
|
lbl_802D2414:
|
|
/* 802D2414 002CF354 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 802D2418 002CF358 40 80 00 14 */ bge lbl_802D242C
|
|
/* 802D241C 002CF35C 80 8D 8E 48 */ lwz r4, lbl_804513C8-_SDA_BASE_(r13)
|
|
/* 802D2420 002CF360 80 84 00 94 */ lwz r4, 0x94(r4)
|
|
/* 802D2424 002CF364 88 04 00 40 */ lbz r0, 0x40(r4)
|
|
/* 802D2428 002CF368 48 00 00 08 */ b lbl_802D2430
|
|
lbl_802D242C:
|
|
/* 802D242C 002CF36C 57 60 06 3E */ clrlwi r0, r27, 0x18
|
|
lbl_802D2430:
|
|
/* 802D2430 002CF370 98 03 00 20 */ stb r0, 0x20(r3)
|
|
/* 802D2434 002CF374 83 03 00 14 */ lwz r24, 0x14(r3)
|
|
lbl_802D2438:
|
|
/* 802D2438 002CF378 28 1F 00 00 */ cmplwi r31, 0
|
|
/* 802D243C 002CF37C 41 82 00 0C */ beq lbl_802D2448
|
|
/* 802D2440 002CF380 7C 1F B8 40 */ cmplw r31, r23
|
|
/* 802D2444 002CF384 40 81 00 0C */ ble lbl_802D2450
|
|
lbl_802D2448:
|
|
/* 802D2448 002CF388 38 17 00 1F */ addi r0, r23, 0x1f
|
|
/* 802D244C 002CF38C 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
|
|
lbl_802D2450:
|
|
/* 802D2450 002CF390 7C 1F C8 40 */ cmplw r31, r25
|
|
/* 802D2454 002CF394 40 81 00 08 */ ble lbl_802D245C
|
|
/* 802D2458 002CF398 7F 3F CB 78 */ mr r31, r25
|
|
lbl_802D245C:
|
|
/* 802D245C 002CF39C 7F 23 CB 78 */ mr r3, r25
|
|
/* 802D2460 002CF3A0 38 80 FF E0 */ li r4, -32
|
|
/* 802D2464 002CF3A4 7F 45 D3 78 */ mr r5, r26
|
|
/* 802D2468 002CF3A8 4B FF C0 0D */ bl alloc__7JKRHeapFUliP7JKRHeap
|
|
/* 802D246C 002CF3AC 7C 77 1B 79 */ or. r23, r3, r3
|
|
/* 802D2470 002CF3B0 40 82 00 30 */ bne lbl_802D24A0
|
|
/* 802D2474 002CF3B4 28 1D 00 00 */ cmplwi r29, 0
|
|
/* 802D2478 002CF3B8 41 82 00 20 */ beq lbl_802D2498
|
|
/* 802D247C 002CF3BC 41 82 00 1C */ beq lbl_802D2498
|
|
/* 802D2480 002CF3C0 7F A3 EB 78 */ mr r3, r29
|
|
/* 802D2484 002CF3C4 38 80 00 01 */ li r4, 1
|
|
/* 802D2488 002CF3C8 81 9D 00 00 */ lwz r12, 0(r29)
|
|
/* 802D248C 002CF3CC 81 8C 00 08 */ lwz r12, 8(r12)
|
|
/* 802D2490 002CF3D0 7D 89 03 A6 */ mtctr r12
|
|
/* 802D2494 002CF3D4 4E 80 04 21 */ bctrl
|
|
lbl_802D2498:
|
|
/* 802D2498 002CF3D8 38 60 00 00 */ li r3, 0
|
|
/* 802D249C 002CF3DC 48 00 01 00 */ b lbl_802D259C
|
|
lbl_802D24A0:
|
|
/* 802D24A0 002CF3E0 7F C3 F3 78 */ mr r3, r30
|
|
/* 802D24A4 002CF3E4 7E E4 BB 78 */ mr r4, r23
|
|
/* 802D24A8 002CF3E8 7F 25 CB 78 */ mr r5, r25
|
|
/* 802D24AC 002CF3EC 38 C0 00 00 */ li r6, 0
|
|
/* 802D24B0 002CF3F0 48 00 94 D9 */ bl orderSync__9JKRDecompFPUcPUcUlUl
|
|
/* 802D24B4 002CF3F4 38 60 00 00 */ li r3, 0
|
|
/* 802D24B8 002CF3F8 7E E4 BB 78 */ mr r4, r23
|
|
/* 802D24BC 002CF3FC 7F 05 C3 78 */ mr r5, r24
|
|
/* 802D24C0 002CF400 7F E6 FB 78 */ mr r6, r31
|
|
/* 802D24C4 002CF404 7F A7 EB 78 */ mr r7, r29
|
|
/* 802D24C8 002CF408 48 00 13 71 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
|
|
/* 802D24CC 002CF40C 7E E3 BB 78 */ mr r3, r23
|
|
/* 802D24D0 002CF410 7F 44 D3 78 */ mr r4, r26
|
|
/* 802D24D4 002CF414 4B FF C0 2D */ bl free__7JKRHeapFPvP7JKRHeap
|
|
/* 802D24D8 002CF418 28 1D 00 00 */ cmplwi r29, 0
|
|
/* 802D24DC 002CF41C 40 82 00 0C */ bne lbl_802D24E8
|
|
/* 802D24E0 002CF420 38 60 FF FF */ li r3, -1
|
|
/* 802D24E4 002CF424 48 00 00 08 */ b lbl_802D24EC
|
|
lbl_802D24E8:
|
|
/* 802D24E8 002CF428 7F A3 EB 78 */ mr r3, r29
|
|
lbl_802D24EC:
|
|
/* 802D24EC 002CF42C 28 1C 00 00 */ cmplwi r28, 0
|
|
/* 802D24F0 002CF430 41 82 00 AC */ beq lbl_802D259C
|
|
/* 802D24F4 002CF434 93 FC 00 00 */ stw r31, 0(r28)
|
|
/* 802D24F8 002CF438 48 00 00 A4 */ b lbl_802D259C
|
|
lbl_802D24FC:
|
|
/* 802D24FC 002CF43C 28 19 00 00 */ cmplwi r25, 0
|
|
/* 802D2500 002CF440 41 82 00 10 */ beq lbl_802D2510
|
|
/* 802D2504 002CF444 7C 1F C8 40 */ cmplw r31, r25
|
|
/* 802D2508 002CF448 40 81 00 08 */ ble lbl_802D2510
|
|
/* 802D250C 002CF44C 7F 3F CB 78 */ mr r31, r25
|
|
lbl_802D2510:
|
|
/* 802D2510 002CF450 28 18 00 00 */ cmplwi r24, 0
|
|
/* 802D2514 002CF454 40 82 00 50 */ bne lbl_802D2564
|
|
/* 802D2518 002CF458 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
|
/* 802D251C 002CF45C 80 63 00 94 */ lwz r3, 0x94(r3)
|
|
/* 802D2520 002CF460 7F E4 FB 78 */ mr r4, r31
|
|
/* 802D2524 002CF464 38 A0 00 00 */ li r5, 0
|
|
/* 802D2528 002CF468 48 00 0A 95 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
|
|
/* 802D252C 002CF46C 7C 7D 1B 78 */ mr r29, r3
|
|
/* 802D2530 002CF470 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 802D2534 002CF474 40 80 00 14 */ bge lbl_802D2548
|
|
/* 802D2538 002CF478 80 8D 8E 48 */ lwz r4, lbl_804513C8-_SDA_BASE_(r13)
|
|
/* 802D253C 002CF47C 80 84 00 94 */ lwz r4, 0x94(r4)
|
|
/* 802D2540 002CF480 88 04 00 40 */ lbz r0, 0x40(r4)
|
|
/* 802D2544 002CF484 48 00 00 08 */ b lbl_802D254C
|
|
lbl_802D2548:
|
|
/* 802D2548 002CF488 57 60 06 3E */ clrlwi r0, r27, 0x18
|
|
lbl_802D254C:
|
|
/* 802D254C 002CF48C 98 03 00 20 */ stb r0, 0x20(r3)
|
|
/* 802D2550 002CF490 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802D2554 002CF494 40 82 00 0C */ bne lbl_802D2560
|
|
/* 802D2558 002CF498 38 60 00 00 */ li r3, 0
|
|
/* 802D255C 002CF49C 48 00 00 40 */ b lbl_802D259C
|
|
lbl_802D2560:
|
|
/* 802D2560 002CF4A0 83 03 00 14 */ lwz r24, 0x14(r3)
|
|
lbl_802D2564:
|
|
/* 802D2564 002CF4A4 38 60 00 00 */ li r3, 0
|
|
/* 802D2568 002CF4A8 7F C4 F3 78 */ mr r4, r30
|
|
/* 802D256C 002CF4AC 7F 05 C3 78 */ mr r5, r24
|
|
/* 802D2570 002CF4B0 7F E6 FB 78 */ mr r6, r31
|
|
/* 802D2574 002CF4B4 7F A7 EB 78 */ mr r7, r29
|
|
/* 802D2578 002CF4B8 48 00 12 C1 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
|
|
/* 802D257C 002CF4BC 28 1D 00 00 */ cmplwi r29, 0
|
|
/* 802D2580 002CF4C0 40 82 00 0C */ bne lbl_802D258C
|
|
/* 802D2584 002CF4C4 38 60 FF FF */ li r3, -1
|
|
/* 802D2588 002CF4C8 48 00 00 08 */ b lbl_802D2590
|
|
lbl_802D258C:
|
|
/* 802D258C 002CF4CC 7F A3 EB 78 */ mr r3, r29
|
|
lbl_802D2590:
|
|
/* 802D2590 002CF4D0 28 1C 00 00 */ cmplwi r28, 0
|
|
/* 802D2594 002CF4D4 41 82 00 08 */ beq lbl_802D259C
|
|
/* 802D2598 002CF4D8 93 FC 00 00 */ stw r31, 0(r28)
|
|
lbl_802D259C:
|
|
/* 802D259C 002CF4DC 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802D25A0 002CF4E0 48 08 FC 71 */ bl func_80362210
|
|
/* 802D25A4 002CF4E4 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 802D25A8 002CF4E8 7C 08 03 A6 */ mtlr r0
|
|
/* 802D25AC 002CF4EC 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 802D25B0 002CF4F0 4E 80 00 20 */ blr
|