mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
* split and named symbols in text.s * Update makefile for better compatiblity
423 lines
20 KiB
ArmAsm
423 lines
20 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 803445e8
|
|
|
|
|
|
.global ProbeBarnacle
|
|
ProbeBarnacle:
|
|
/* 803445E8 00341528 7C 08 02 A6 */ mflr r0
|
|
/* 803445EC 0034152C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 803445F0 00341530 94 21 FF D8 */ stwu r1, -0x28(r1)
|
|
/* 803445F4 00341534 93 E1 00 24 */ stw r31, 0x24(r1)
|
|
/* 803445F8 00341538 3B E5 00 00 */ addi r31, r5, 0
|
|
/* 803445FC 0034153C 93 C1 00 20 */ stw r30, 0x20(r1)
|
|
/* 80344600 00341540 3B C4 00 00 */ addi r30, r4, 0
|
|
/* 80344604 00341544 93 A1 00 1C */ stw r29, 0x1c(r1)
|
|
/* 80344608 00341548 3B A3 00 00 */ addi r29, r3, 0
|
|
/* 8034460C 0034154C 2C 1D 00 02 */ cmpwi r29, 2
|
|
/* 80344610 00341550 93 81 00 18 */ stw r28, 0x18(r1)
|
|
/* 80344614 00341554 41 82 00 28 */ beq lbl_8034463C
|
|
/* 80344618 00341558 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 8034461C 0034155C 40 82 00 20 */ bne lbl_8034463C
|
|
/* 80344620 00341560 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 80344624 00341564 38 80 00 00 */ li r4, 0
|
|
/* 80344628 00341568 4B FF F0 79 */ bl EXIAttach
|
|
/* 8034462C 0034156C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80344630 00341570 40 82 00 0C */ bne lbl_8034463C
|
|
/* 80344634 00341574 38 60 00 00 */ li r3, 0
|
|
/* 80344638 00341578 48 00 01 1C */ b lbl_80344754
|
|
lbl_8034463C:
|
|
/* 8034463C 0034157C 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 80344640 00341580 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80344644 00341584 38 A0 00 00 */ li r5, 0
|
|
/* 80344648 00341588 4B FF F9 E1 */ bl EXILock
|
|
/* 8034464C 0034158C 7C 60 00 34 */ cntlzw r0, r3
|
|
/* 80344650 00341590 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 80344654 00341594 7C 1C 03 79 */ or. r28, r0, r0
|
|
/* 80344658 00341598 40 82 00 B8 */ bne lbl_80344710
|
|
/* 8034465C 0034159C 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 80344660 003415A0 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80344664 003415A4 38 A0 00 00 */ li r5, 0
|
|
/* 80344668 003415A8 4B FF F2 01 */ bl EXISelect
|
|
/* 8034466C 003415AC 7C 60 00 34 */ cntlzw r0, r3
|
|
/* 80344670 003415B0 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 80344674 003415B4 7C 1C 03 79 */ or. r28, r0, r0
|
|
/* 80344678 003415B8 40 82 00 90 */ bne lbl_80344708
|
|
/* 8034467C 003415BC 3C 60 20 01 */ lis r3, 0x20011300@ha
|
|
/* 80344680 003415C0 38 03 13 00 */ addi r0, r3, 0x20011300@l
|
|
/* 80344684 003415C4 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80344688 003415C8 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 8034468C 003415CC 38 81 00 14 */ addi r4, r1, 0x14
|
|
/* 80344690 003415D0 38 A0 00 04 */ li r5, 4
|
|
/* 80344694 003415D4 38 C0 00 01 */ li r6, 1
|
|
/* 80344698 003415D8 38 E0 00 00 */ li r7, 0
|
|
/* 8034469C 003415DC 4B FF E6 65 */ bl EXIImm
|
|
/* 803446A0 003415E0 7C 60 00 34 */ cntlzw r0, r3
|
|
/* 803446A4 003415E4 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 803446A8 003415E8 54 1C D9 7E */ srwi r28, r0, 5
|
|
/* 803446AC 003415EC 4B FF EA 3D */ bl EXISync
|
|
/* 803446B0 003415F0 7C 60 00 34 */ cntlzw r0, r3
|
|
/* 803446B4 003415F4 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 803446B8 003415F8 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 803446BC 003415FC 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 803446C0 00341600 7F 9C 03 78 */ or r28, r28, r0
|
|
/* 803446C4 00341604 38 A0 00 04 */ li r5, 4
|
|
/* 803446C8 00341608 38 C0 00 00 */ li r6, 0
|
|
/* 803446CC 0034160C 38 E0 00 00 */ li r7, 0
|
|
/* 803446D0 00341610 4B FF E6 31 */ bl EXIImm
|
|
/* 803446D4 00341614 7C 60 00 34 */ cntlzw r0, r3
|
|
/* 803446D8 00341618 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 803446DC 0034161C 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 803446E0 00341620 7F 9C 03 78 */ or r28, r28, r0
|
|
/* 803446E4 00341624 4B FF EA 05 */ bl EXISync
|
|
/* 803446E8 00341628 7C 60 00 34 */ cntlzw r0, r3
|
|
/* 803446EC 0034162C 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 803446F0 00341630 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 803446F4 00341634 7F 9C 03 78 */ or r28, r28, r0
|
|
/* 803446F8 00341638 4B FF F2 9D */ bl EXIDeselect
|
|
/* 803446FC 0034163C 7C 60 00 34 */ cntlzw r0, r3
|
|
/* 80344700 00341640 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 80344704 00341644 7F 9C 03 78 */ or r28, r28, r0
|
|
lbl_80344708:
|
|
/* 80344708 00341648 7F A3 EB 78 */ mr r3, r29
|
|
/* 8034470C 0034164C 4B FF FA 11 */ bl EXIUnlock
|
|
lbl_80344710:
|
|
/* 80344710 00341650 2C 1D 00 02 */ cmpwi r29, 2
|
|
/* 80344714 00341654 41 82 00 14 */ beq lbl_80344728
|
|
/* 80344718 00341658 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 8034471C 0034165C 40 82 00 0C */ bne lbl_80344728
|
|
/* 80344720 00341660 7F A3 EB 78 */ mr r3, r29
|
|
/* 80344724 00341664 4B FF F0 89 */ bl EXIDetach
|
|
lbl_80344728:
|
|
/* 80344728 00341668 2C 1C 00 00 */ cmpwi r28, 0
|
|
/* 8034472C 0034166C 41 82 00 0C */ beq lbl_80344738
|
|
/* 80344730 00341670 38 60 00 00 */ li r3, 0
|
|
/* 80344734 00341674 48 00 00 20 */ b lbl_80344754
|
|
lbl_80344738:
|
|
/* 80344738 00341678 80 7F 00 00 */ lwz r3, 0(r31)
|
|
/* 8034473C 0034167C 3C 03 00 01 */ addis r0, r3, 1
|
|
/* 80344740 00341680 28 00 FF FF */ cmplwi r0, 0xffff
|
|
/* 80344744 00341684 41 82 00 0C */ beq lbl_80344750
|
|
/* 80344748 00341688 38 60 00 01 */ li r3, 1
|
|
/* 8034474C 0034168C 48 00 00 08 */ b lbl_80344754
|
|
lbl_80344750:
|
|
/* 80344750 00341690 38 60 00 00 */ li r3, 0
|
|
lbl_80344754:
|
|
/* 80344754 00341694 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 80344758 00341698 83 E1 00 24 */ lwz r31, 0x24(r1)
|
|
/* 8034475C 0034169C 83 C1 00 20 */ lwz r30, 0x20(r1)
|
|
/* 80344760 003416A0 83 A1 00 1C */ lwz r29, 0x1c(r1)
|
|
/* 80344764 003416A4 83 81 00 18 */ lwz r28, 0x18(r1)
|
|
/* 80344768 003416A8 38 21 00 28 */ addi r1, r1, 0x28
|
|
/* 8034476C 003416AC 7C 08 03 A6 */ mtlr r0
|
|
/* 80344770 003416B0 4E 80 00 20 */ blr
|
|
|
|
.global __OSEnableBarnacle
|
|
__OSEnableBarnacle:
|
|
/* 80344774 003416B4 7C 08 02 A6 */ mflr r0
|
|
/* 80344778 003416B8 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8034477C 003416BC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80344780 003416C0 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80344784 003416C4 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 80344788 003416C8 38 A1 00 10 */ addi r5, r1, 0x10
|
|
/* 8034478C 003416CC 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80344790 003416D0 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 80344794 003416D4 4B FF FA A5 */ bl EXIGetID
|
|
/* 80344798 003416D8 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8034479C 003416DC 41 82 01 7C */ beq lbl_80344918
|
|
/* 803447A0 003416E0 80 81 00 10 */ lwz r4, 0x10(r1)
|
|
/* 803447A4 003416E4 3C 00 01 02 */ lis r0, 0x102
|
|
/* 803447A8 003416E8 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803447AC 003416EC 41 82 01 6C */ beq lbl_80344918
|
|
/* 803447B0 003416F0 40 80 00 94 */ bge lbl_80344844
|
|
/* 803447B4 003416F4 2C 04 00 04 */ cmpwi r4, 4
|
|
/* 803447B8 003416F8 41 82 01 60 */ beq lbl_80344918
|
|
/* 803447BC 003416FC 40 80 00 54 */ bge lbl_80344810
|
|
/* 803447C0 00341700 3C 60 80 00 */ lis r3, 0x80000010@ha
|
|
/* 803447C4 00341704 38 03 00 10 */ addi r0, r3, 0x80000010@l
|
|
/* 803447C8 00341708 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803447CC 0034170C 41 82 01 4C */ beq lbl_80344918
|
|
/* 803447D0 00341710 40 80 00 24 */ bge lbl_803447F4
|
|
/* 803447D4 00341714 38 03 00 08 */ addi r0, r3, 8
|
|
/* 803447D8 00341718 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803447DC 0034171C 41 82 01 3C */ beq lbl_80344918
|
|
/* 803447E0 00341720 40 80 01 08 */ bge lbl_803448E8
|
|
/* 803447E4 00341724 38 03 00 04 */ addi r0, r3, 4
|
|
/* 803447E8 00341728 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803447EC 0034172C 41 82 01 2C */ beq lbl_80344918
|
|
/* 803447F0 00341730 48 00 00 F8 */ b lbl_803448E8
|
|
lbl_803447F4:
|
|
/* 803447F4 00341734 2C 04 FF FF */ cmpwi r4, -1
|
|
/* 803447F8 00341738 41 82 01 20 */ beq lbl_80344918
|
|
/* 803447FC 0034173C 40 80 00 EC */ bge lbl_803448E8
|
|
/* 80344800 00341740 38 03 00 20 */ addi r0, r3, 0x20
|
|
/* 80344804 00341744 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80344808 00341748 41 82 01 10 */ beq lbl_80344918
|
|
/* 8034480C 0034174C 48 00 00 DC */ b lbl_803448E8
|
|
lbl_80344810:
|
|
/* 80344810 00341750 2C 04 00 20 */ cmpwi r4, 0x20
|
|
/* 80344814 00341754 41 82 01 04 */ beq lbl_80344918
|
|
/* 80344818 00341758 40 80 00 1C */ bge lbl_80344834
|
|
/* 8034481C 0034175C 2C 04 00 10 */ cmpwi r4, 0x10
|
|
/* 80344820 00341760 41 82 00 F8 */ beq lbl_80344918
|
|
/* 80344824 00341764 40 80 00 C4 */ bge lbl_803448E8
|
|
/* 80344828 00341768 2C 04 00 08 */ cmpwi r4, 8
|
|
/* 8034482C 0034176C 41 82 00 EC */ beq lbl_80344918
|
|
/* 80344830 00341770 48 00 00 B8 */ b lbl_803448E8
|
|
lbl_80344834:
|
|
/* 80344834 00341774 3C 00 01 01 */ lis r0, 0x101
|
|
/* 80344838 00341778 7C 04 00 00 */ cmpw r4, r0
|
|
/* 8034483C 0034177C 41 82 00 DC */ beq lbl_80344918
|
|
/* 80344840 00341780 48 00 00 A8 */ b lbl_803448E8
|
|
lbl_80344844:
|
|
/* 80344844 00341784 3C 60 04 04 */ lis r3, 0x04040404@ha
|
|
/* 80344848 00341788 38 03 04 04 */ addi r0, r3, 0x04040404@l
|
|
/* 8034484C 0034178C 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80344850 00341790 41 82 00 C8 */ beq lbl_80344918
|
|
/* 80344854 00341794 40 80 00 58 */ bge lbl_803448AC
|
|
/* 80344858 00341798 3C 60 04 02 */ lis r3, 0x04020100@ha
|
|
/* 8034485C 0034179C 38 03 01 00 */ addi r0, r3, 0x04020100@l
|
|
/* 80344860 003417A0 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80344864 003417A4 41 82 00 B4 */ beq lbl_80344918
|
|
/* 80344868 003417A8 40 80 00 24 */ bge lbl_8034488C
|
|
/* 8034486C 003417AC 3C 00 03 01 */ lis r0, 0x301
|
|
/* 80344870 003417B0 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80344874 003417B4 41 82 00 A4 */ beq lbl_80344918
|
|
/* 80344878 003417B8 40 80 00 70 */ bge lbl_803448E8
|
|
/* 8034487C 003417BC 3C 00 02 02 */ lis r0, 0x202
|
|
/* 80344880 003417C0 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80344884 003417C4 41 82 00 94 */ beq lbl_80344918
|
|
/* 80344888 003417C8 48 00 00 60 */ b lbl_803448E8
|
|
lbl_8034488C:
|
|
/* 8034488C 003417CC 38 03 03 00 */ addi r0, r3, 0x300
|
|
/* 80344890 003417D0 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80344894 003417D4 41 82 00 84 */ beq lbl_80344918
|
|
/* 80344898 003417D8 40 80 00 50 */ bge lbl_803448E8
|
|
/* 8034489C 003417DC 38 03 02 00 */ addi r0, r3, 0x200
|
|
/* 803448A0 003417E0 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803448A4 003417E4 41 82 00 74 */ beq lbl_80344918
|
|
/* 803448A8 003417E8 48 00 00 40 */ b lbl_803448E8
|
|
lbl_803448AC:
|
|
/* 803448AC 003417EC 3C 00 04 13 */ lis r0, 0x413
|
|
/* 803448B0 003417F0 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803448B4 003417F4 41 82 00 64 */ beq lbl_80344918
|
|
/* 803448B8 003417F8 40 80 00 24 */ bge lbl_803448DC
|
|
/* 803448BC 003417FC 3C 00 04 12 */ lis r0, 0x412
|
|
/* 803448C0 00341800 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803448C4 00341804 41 82 00 54 */ beq lbl_80344918
|
|
/* 803448C8 00341808 40 80 00 20 */ bge lbl_803448E8
|
|
/* 803448CC 0034180C 3C 00 04 06 */ lis r0, 0x406
|
|
/* 803448D0 00341810 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803448D4 00341814 41 82 00 44 */ beq lbl_80344918
|
|
/* 803448D8 00341818 48 00 00 10 */ b lbl_803448E8
|
|
lbl_803448DC:
|
|
/* 803448DC 0034181C 3C 00 04 22 */ lis r0, 0x422
|
|
/* 803448E0 00341820 7C 04 00 00 */ cmpw r4, r0
|
|
/* 803448E4 00341824 41 82 00 34 */ beq lbl_80344918
|
|
lbl_803448E8:
|
|
/* 803448E8 00341828 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 803448EC 0034182C 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 803448F0 00341830 38 A1 00 10 */ addi r5, r1, 0x10
|
|
/* 803448F4 00341834 4B FF FC F5 */ bl ProbeBarnacle
|
|
/* 803448F8 00341838 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 803448FC 0034183C 41 82 00 1C */ beq lbl_80344918
|
|
/* 80344900 00341840 3C 60 A5 FF */ lis r3, 0xA5FF005A@ha
|
|
/* 80344904 00341844 93 CD 91 60 */ stw r30, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344908 00341848 38 03 00 5A */ addi r0, r3, 0xA5FF005A@l
|
|
/* 8034490C 0034184C 93 ED 91 64 */ stw r31, lbl_804516E4-_SDA_BASE_(r13)
|
|
/* 80344910 00341850 90 0D 91 6C */ stw r0, lbl_804516EC-_SDA_BASE_(r13)
|
|
/* 80344914 00341854 90 0D 91 68 */ stw r0, lbl_804516E8-_SDA_BASE_(r13)
|
|
lbl_80344918:
|
|
/* 80344918 00341858 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8034491C 0034185C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80344920 00341860 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80344924 00341864 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80344928 00341868 7C 08 03 A6 */ mtlr r0
|
|
/* 8034492C 0034186C 4E 80 00 20 */ blr
|
|
|
|
.global InitializeUART
|
|
InitializeUART:
|
|
/* 80344930 00341870 7C 08 02 A6 */ mflr r0
|
|
/* 80344934 00341874 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80344938 00341878 94 21 FF F8 */ stwu r1, -8(r1)
|
|
/* 8034493C 0034187C 80 6D 91 6C */ lwz r3, lbl_804516EC-_SDA_BASE_(r13)
|
|
/* 80344940 00341880 3C 03 5A 01 */ addis r0, r3, 0x5a01
|
|
/* 80344944 00341884 28 00 00 5A */ cmplwi r0, 0x5a
|
|
/* 80344948 00341888 40 82 00 0C */ bne lbl_80344954
|
|
/* 8034494C 0034188C 38 60 00 00 */ li r3, 0
|
|
/* 80344950 00341890 48 00 00 40 */ b lbl_80344990
|
|
lbl_80344954:
|
|
/* 80344954 00341894 4B FF 55 A9 */ bl OSGetConsoleType
|
|
/* 80344958 00341898 54 60 00 C7 */ rlwinm. r0, r3, 0, 3, 3
|
|
/* 8034495C 0034189C 40 82 00 14 */ bne lbl_80344970
|
|
/* 80344960 003418A0 38 00 00 00 */ li r0, 0
|
|
/* 80344964 003418A4 90 0D 91 68 */ stw r0, lbl_804516E8-_SDA_BASE_(r13)
|
|
/* 80344968 003418A8 38 60 00 02 */ li r3, 2
|
|
/* 8034496C 003418AC 48 00 00 24 */ b lbl_80344990
|
|
lbl_80344970:
|
|
/* 80344970 003418B0 3C 60 A5 FF */ lis r3, 0xA5FF005A@ha
|
|
/* 80344974 003418B4 38 03 00 5A */ addi r0, r3, 0xA5FF005A@l
|
|
/* 80344978 003418B8 38 60 00 00 */ li r3, 0
|
|
/* 8034497C 003418BC 90 0D 91 68 */ stw r0, lbl_804516E8-_SDA_BASE_(r13)
|
|
/* 80344980 003418C0 38 00 00 01 */ li r0, 1
|
|
/* 80344984 003418C4 90 6D 91 60 */ stw r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344988 003418C8 38 60 00 00 */ li r3, 0
|
|
/* 8034498C 003418CC 90 0D 91 64 */ stw r0, lbl_804516E4-_SDA_BASE_(r13)
|
|
lbl_80344990:
|
|
/* 80344990 003418D0 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 80344994 003418D4 38 21 00 08 */ addi r1, r1, 8
|
|
/* 80344998 003418D8 7C 08 03 A6 */ mtlr r0
|
|
/* 8034499C 003418DC 4E 80 00 20 */ blr
|
|
|
|
.global WriteUARTN
|
|
WriteUARTN:
|
|
/* 803449A0 003418E0 7C 08 02 A6 */ mflr r0
|
|
/* 803449A4 003418E4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 803449A8 003418E8 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 803449AC 003418EC BF 41 00 18 */ stmw r26, 0x18(r1)
|
|
/* 803449B0 003418F0 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 803449B4 003418F4 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 803449B8 003418F8 80 AD 91 68 */ lwz r5, lbl_804516E8-_SDA_BASE_(r13)
|
|
/* 803449BC 003418FC 3C 05 5A 01 */ addis r0, r5, 0x5a01
|
|
/* 803449C0 00341900 28 00 00 5A */ cmplwi r0, 0x5a
|
|
/* 803449C4 00341904 41 82 00 0C */ beq lbl_803449D0
|
|
/* 803449C8 00341908 38 60 00 02 */ li r3, 2
|
|
/* 803449CC 0034190C 48 00 01 C0 */ b lbl_80344B8C
|
|
lbl_803449D0:
|
|
/* 803449D0 00341910 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 803449D4 00341914 38 A0 00 00 */ li r5, 0
|
|
/* 803449D8 00341918 80 8D 91 64 */ lwz r4, lbl_804516E4-_SDA_BASE_(r13)
|
|
/* 803449DC 0034191C 4B FF F6 4D */ bl EXILock
|
|
/* 803449E0 00341920 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 803449E4 00341924 40 82 00 0C */ bne lbl_803449F0
|
|
/* 803449E8 00341928 38 60 00 00 */ li r3, 0
|
|
/* 803449EC 0034192C 48 00 01 A0 */ b lbl_80344B8C
|
|
lbl_803449F0:
|
|
/* 803449F0 00341930 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 803449F4 00341934 38 60 00 0D */ li r3, 0xd
|
|
/* 803449F8 00341938 48 00 00 18 */ b lbl_80344A10
|
|
lbl_803449FC:
|
|
/* 803449FC 0034193C 88 04 00 00 */ lbz r0, 0(r4)
|
|
/* 80344A00 00341940 2C 00 00 0A */ cmpwi r0, 0xa
|
|
/* 80344A04 00341944 40 82 00 08 */ bne lbl_80344A0C
|
|
/* 80344A08 00341948 98 64 00 00 */ stb r3, 0(r4)
|
|
lbl_80344A0C:
|
|
/* 80344A0C 0034194C 38 84 00 01 */ addi r4, r4, 1
|
|
lbl_80344A10:
|
|
/* 80344A10 00341950 7C 1E 20 50 */ subf r0, r30, r4
|
|
/* 80344A14 00341954 7C 00 F8 40 */ cmplw r0, r31
|
|
/* 80344A18 00341958 41 80 FF E4 */ blt lbl_803449FC
|
|
/* 80344A1C 0034195C 3C 00 A0 01 */ lis r0, 0xa001
|
|
/* 80344A20 00341960 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80344A24 00341964 3B 40 00 00 */ li r26, 0
|
|
/* 80344A28 00341968 3F A0 20 01 */ lis r29, 0x2001
|
|
/* 80344A2C 0034196C 48 00 01 4C */ b lbl_80344B78
|
|
lbl_80344A30:
|
|
/* 80344A30 00341970 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344A34 00341974 38 A0 00 03 */ li r5, 3
|
|
/* 80344A38 00341978 80 8D 91 64 */ lwz r4, lbl_804516E4-_SDA_BASE_(r13)
|
|
/* 80344A3C 0034197C 4B FF EE 2D */ bl EXISelect
|
|
/* 80344A40 00341980 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80344A44 00341984 40 82 00 0C */ bne lbl_80344A50
|
|
/* 80344A48 00341988 38 00 FF FF */ li r0, -1
|
|
/* 80344A4C 0034198C 48 00 00 5C */ b lbl_80344AA8
|
|
lbl_80344A50:
|
|
/* 80344A50 00341990 93 A1 00 10 */ stw r29, 0x10(r1)
|
|
/* 80344A54 00341994 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 80344A58 00341998 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344A5C 0034199C 38 A0 00 04 */ li r5, 4
|
|
/* 80344A60 003419A0 38 C0 00 01 */ li r6, 1
|
|
/* 80344A64 003419A4 38 E0 00 00 */ li r7, 0
|
|
/* 80344A68 003419A8 4B FF E2 99 */ bl EXIImm
|
|
/* 80344A6C 003419AC 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344A70 003419B0 4B FF E6 79 */ bl EXISync
|
|
/* 80344A74 003419B4 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344A78 003419B8 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 80344A7C 003419BC 38 A0 00 01 */ li r5, 1
|
|
/* 80344A80 003419C0 38 C0 00 00 */ li r6, 0
|
|
/* 80344A84 003419C4 38 E0 00 00 */ li r7, 0
|
|
/* 80344A88 003419C8 4B FF E2 79 */ bl EXIImm
|
|
/* 80344A8C 003419CC 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344A90 003419D0 4B FF E6 59 */ bl EXISync
|
|
/* 80344A94 003419D4 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344A98 003419D8 4B FF EE FD */ bl EXIDeselect
|
|
/* 80344A9C 003419DC 80 01 00 10 */ lwz r0, 0x10(r1)
|
|
/* 80344AA0 003419E0 54 00 46 3E */ srwi r0, r0, 0x18
|
|
/* 80344AA4 003419E4 20 00 00 10 */ subfic r0, r0, 0x10
|
|
lbl_80344AA8:
|
|
/* 80344AA8 003419E8 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80344AAC 003419EC 7C 1B 03 78 */ mr r27, r0
|
|
/* 80344AB0 003419F0 40 80 00 0C */ bge lbl_80344ABC
|
|
/* 80344AB4 003419F4 3B 40 00 03 */ li r26, 3
|
|
/* 80344AB8 003419F8 48 00 00 C8 */ b lbl_80344B80
|
|
lbl_80344ABC:
|
|
/* 80344ABC 003419FC 2C 00 00 0C */ cmpwi r0, 0xc
|
|
/* 80344AC0 00341A00 40 80 00 0C */ bge lbl_80344ACC
|
|
/* 80344AC4 00341A04 7C 00 F8 40 */ cmplw r0, r31
|
|
/* 80344AC8 00341A08 41 80 00 B0 */ blt lbl_80344B78
|
|
lbl_80344ACC:
|
|
/* 80344ACC 00341A0C 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344AD0 00341A10 38 A0 00 03 */ li r5, 3
|
|
/* 80344AD4 00341A14 80 8D 91 64 */ lwz r4, lbl_804516E4-_SDA_BASE_(r13)
|
|
/* 80344AD8 00341A18 4B FF ED 91 */ bl EXISelect
|
|
/* 80344ADC 00341A1C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80344AE0 00341A20 40 82 00 0C */ bne lbl_80344AEC
|
|
/* 80344AE4 00341A24 3B 40 00 03 */ li r26, 3
|
|
/* 80344AE8 00341A28 48 00 00 98 */ b lbl_80344B80
|
|
lbl_80344AEC:
|
|
/* 80344AEC 00341A2C 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344AF0 00341A30 38 81 00 14 */ addi r4, r1, 0x14
|
|
/* 80344AF4 00341A34 38 A0 00 04 */ li r5, 4
|
|
/* 80344AF8 00341A38 38 C0 00 01 */ li r6, 1
|
|
/* 80344AFC 00341A3C 38 E0 00 00 */ li r7, 0
|
|
/* 80344B00 00341A40 4B FF E2 01 */ bl EXIImm
|
|
/* 80344B04 00341A44 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344B08 00341A48 4B FF E5 E1 */ bl EXISync
|
|
/* 80344B0C 00341A4C 48 00 00 54 */ b lbl_80344B60
|
|
lbl_80344B10:
|
|
/* 80344B10 00341A50 2C 1B 00 04 */ cmpwi r27, 4
|
|
/* 80344B14 00341A54 40 80 00 0C */ bge lbl_80344B20
|
|
/* 80344B18 00341A58 7C 1B F8 40 */ cmplw r27, r31
|
|
/* 80344B1C 00341A5C 41 80 00 54 */ blt lbl_80344B70
|
|
lbl_80344B20:
|
|
/* 80344B20 00341A60 28 1F 00 04 */ cmplwi r31, 4
|
|
/* 80344B24 00341A64 40 80 00 0C */ bge lbl_80344B30
|
|
/* 80344B28 00341A68 7F FC FB 78 */ mr r28, r31
|
|
/* 80344B2C 00341A6C 48 00 00 08 */ b lbl_80344B34
|
|
lbl_80344B30:
|
|
/* 80344B30 00341A70 3B 80 00 04 */ li r28, 4
|
|
lbl_80344B34:
|
|
/* 80344B34 00341A74 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344B38 00341A78 7F 85 E3 78 */ mr r5, r28
|
|
/* 80344B3C 00341A7C 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80344B40 00341A80 38 C0 00 01 */ li r6, 1
|
|
/* 80344B44 00341A84 38 E0 00 00 */ li r7, 0
|
|
/* 80344B48 00341A88 4B FF E1 B9 */ bl EXIImm
|
|
/* 80344B4C 00341A8C 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344B50 00341A90 7F DE E2 14 */ add r30, r30, r28
|
|
/* 80344B54 00341A94 7F FC F8 50 */ subf r31, r28, r31
|
|
/* 80344B58 00341A98 7F 7C D8 50 */ subf r27, r28, r27
|
|
/* 80344B5C 00341A9C 4B FF E5 8D */ bl EXISync
|
|
lbl_80344B60:
|
|
/* 80344B60 00341AA0 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 80344B64 00341AA4 41 82 00 0C */ beq lbl_80344B70
|
|
/* 80344B68 00341AA8 28 1F 00 00 */ cmplwi r31, 0
|
|
/* 80344B6C 00341AAC 40 82 FF A4 */ bne lbl_80344B10
|
|
lbl_80344B70:
|
|
/* 80344B70 00341AB0 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344B74 00341AB4 4B FF EE 21 */ bl EXIDeselect
|
|
lbl_80344B78:
|
|
/* 80344B78 00341AB8 28 1F 00 00 */ cmplwi r31, 0
|
|
/* 80344B7C 00341ABC 40 82 FE B4 */ bne lbl_80344A30
|
|
lbl_80344B80:
|
|
/* 80344B80 00341AC0 80 6D 91 60 */ lwz r3, lbl_804516E0-_SDA_BASE_(r13)
|
|
/* 80344B84 00341AC4 4B FF F5 99 */ bl EXIUnlock
|
|
/* 80344B88 00341AC8 7F 43 D3 78 */ mr r3, r26
|
|
lbl_80344B8C:
|
|
/* 80344B8C 00341ACC BB 41 00 18 */ lmw r26, 0x18(r1)
|
|
/* 80344B90 00341AD0 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80344B94 00341AD4 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80344B98 00341AD8 7C 08 03 A6 */ mtlr r0
|
|
/* 80344B9C 00341ADC 4E 80 00 20 */ blr
|
|
|