diff options
Diffstat (limited to 'asm/code_801E0810.s')
-rw-r--r-- | asm/code_801E0810.s | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/asm/code_801E0810.s b/asm/code_801E0810.s new file mode 100644 index 0000000..82d275f --- /dev/null +++ b/asm/code_801E0810.s @@ -0,0 +1,176 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_801E0810
+func_801E0810:
+/* 801E0810 001DC470 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801E0814 001DC474 7C 08 02 A6 */ mflr r0
+/* 801E0818 001DC478 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801E081C 001DC47C 39 61 00 20 */ addi r11, r1, 0x20
+/* 801E0820 001DC480 4B FE 69 09 */ bl _savegpr_27
+/* 801E0824 001DC484 80 0D A1 50 */ lwz r0, lbl_8063F410-_SDA_BASE_(r13)
+/* 801E0828 001DC488 7C 7F 1B 78 */ mr r31, r3
+/* 801E082C 001DC48C 7C 9B 23 78 */ mr r27, r4
+/* 801E0830 001DC490 7C BC 2B 78 */ mr r28, r5
+/* 801E0834 001DC494 2C 00 00 00 */ cmpwi r0, 0
+/* 801E0838 001DC498 7C DE 33 78 */ mr r30, r6
+/* 801E083C 001DC49C 40 82 00 0C */ bne lbl_801E0848
+/* 801E0840 001DC4A0 38 60 00 00 */ li r3, 0
+/* 801E0844 001DC4A4 48 00 00 A8 */ b lbl_801E08EC
+lbl_801E0848:
+/* 801E0848 001DC4A8 7C 03 03 78 */ mr r3, r0
+/* 801E084C 001DC4AC 48 01 AF C1 */ bl func_801FB80C
+/* 801E0850 001DC4B0 2C 03 00 00 */ cmpwi r3, 0
+/* 801E0854 001DC4B4 7C 7D 1B 78 */ mr r29, r3
+/* 801E0858 001DC4B8 40 82 00 0C */ bne lbl_801E0864
+/* 801E085C 001DC4BC 38 60 00 00 */ li r3, 0
+/* 801E0860 001DC4C0 48 00 00 8C */ b lbl_801E08EC
+lbl_801E0864:
+/* 801E0864 001DC4C4 38 00 00 01 */ li r0, 1
+/* 801E0868 001DC4C8 2C 1E 00 00 */ cmpwi r30, 0
+/* 801E086C 001DC4CC 98 03 00 01 */ stb r0, 1(r3)
+/* 801E0870 001DC4D0 9B 83 00 02 */ stb r28, 2(r3)
+/* 801E0874 001DC4D4 9B C3 00 03 */ stb r30, 3(r3)
+/* 801E0878 001DC4D8 93 63 00 04 */ stw r27, 4(r3)
+/* 801E087C 001DC4DC 41 82 00 24 */ beq lbl_801E08A0
+/* 801E0880 001DC4E0 80 6D A1 50 */ lwz r3, lbl_8063F410-_SDA_BASE_(r13)
+/* 801E0884 001DC4E4 83 C3 00 10 */ lwz r30, 0x10(r3)
+/* 801E0888 001DC4E8 57 C3 86 3E */ rlwinm r3, r30, 0x10, 0x18, 0x1f
+/* 801E088C 001DC4EC 48 05 A7 CD */ bl func_8023B058
+/* 801E0890 001DC4F0 2C 03 00 00 */ cmpwi r3, 0
+/* 801E0894 001DC4F4 41 82 00 0C */ beq lbl_801E08A0
+/* 801E0898 001DC4F8 7F C4 F3 78 */ mr r4, r30
+/* 801E089C 001DC4FC 48 05 AB 1D */ bl func_8023B3B8
+lbl_801E08A0:
+/* 801E08A0 001DC500 88 1D 00 01 */ lbz r0, 1(r29)
+/* 801E08A4 001DC504 80 6D A1 50 */ lwz r3, lbl_8063F410-_SDA_BASE_(r13)
+/* 801E08A8 001DC508 2C 00 00 00 */ cmpwi r0, 0
+/* 801E08AC 001DC50C 41 82 00 18 */ beq lbl_801E08C4
+/* 801E08B0 001DC510 88 1D 00 00 */ lbz r0, 0(r29)
+/* 801E08B4 001DC514 80 63 03 F0 */ lwz r3, 0x3f0(r3)
+/* 801E08B8 001DC518 54 00 10 3A */ slwi r0, r0, 2
+/* 801E08BC 001DC51C 7C 83 02 14 */ add r4, r3, r0
+/* 801E08C0 001DC520 48 00 00 08 */ b lbl_801E08C8
+lbl_801E08C4:
+/* 801E08C4 001DC524 38 80 00 00 */ li r4, 0
+lbl_801E08C8:
+/* 801E08C8 001DC528 88 1F 00 00 */ lbz r0, 0(r31)
+/* 801E08CC 001DC52C 7F A3 EB 78 */ mr r3, r29
+/* 801E08D0 001DC530 98 04 00 00 */ stb r0, 0(r4)
+/* 801E08D4 001DC534 88 1F 00 01 */ lbz r0, 1(r31)
+/* 801E08D8 001DC538 98 04 00 01 */ stb r0, 1(r4)
+/* 801E08DC 001DC53C 88 1F 00 02 */ lbz r0, 2(r31)
+/* 801E08E0 001DC540 98 04 00 02 */ stb r0, 2(r4)
+/* 801E08E4 001DC544 88 1F 00 03 */ lbz r0, 3(r31)
+/* 801E08E8 001DC548 98 04 00 03 */ stb r0, 3(r4)
+lbl_801E08EC:
+/* 801E08EC 001DC54C 39 61 00 20 */ addi r11, r1, 0x20
+/* 801E08F0 001DC550 4B FE 68 85 */ bl _restgpr_27
+/* 801E08F4 001DC554 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801E08F8 001DC558 7C 08 03 A6 */ mtlr r0
+/* 801E08FC 001DC55C 38 21 00 20 */ addi r1, r1, 0x20
+/* 801E0900 001DC560 4E 80 00 20 */ blr
+
+.global func_801E0904
+func_801E0904:
+/* 801E0904 001DC564 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801E0908 001DC568 7C 08 02 A6 */ mflr r0
+/* 801E090C 001DC56C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801E0910 001DC570 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 801E0914 001DC574 93 C1 00 08 */ stw r30, 8(r1)
+/* 801E0918 001DC578 7C 7E 1B 78 */ mr r30, r3
+/* 801E091C 001DC57C 88 03 00 01 */ lbz r0, 1(r3)
+/* 801E0920 001DC580 2C 00 00 00 */ cmpwi r0, 0
+/* 801E0924 001DC584 41 82 00 3C */ beq lbl_801E0960
+/* 801E0928 001DC588 88 03 00 03 */ lbz r0, 3(r3)
+/* 801E092C 001DC58C 2C 00 00 00 */ cmpwi r0, 0
+/* 801E0930 001DC590 41 82 00 24 */ beq lbl_801E0954
+/* 801E0934 001DC594 80 6D A1 50 */ lwz r3, lbl_8063F410-_SDA_BASE_(r13)
+/* 801E0938 001DC598 83 E3 00 10 */ lwz r31, 0x10(r3)
+/* 801E093C 001DC59C 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f
+/* 801E0940 001DC5A0 48 05 A7 19 */ bl func_8023B058
+/* 801E0944 001DC5A4 2C 03 00 00 */ cmpwi r3, 0
+/* 801E0948 001DC5A8 41 82 00 0C */ beq lbl_801E0954
+/* 801E094C 001DC5AC 7F E4 FB 78 */ mr r4, r31
+/* 801E0950 001DC5B0 48 05 AA D1 */ bl func_8023B420
+lbl_801E0954:
+/* 801E0954 001DC5B4 38 00 00 00 */ li r0, 0
+/* 801E0958 001DC5B8 98 1E 00 01 */ stb r0, 1(r30)
+/* 801E095C 001DC5BC 90 1E 00 04 */ stw r0, 4(r30)
+lbl_801E0960:
+/* 801E0960 001DC5C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801E0964 001DC5C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 801E0968 001DC5C8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 801E096C 001DC5CC 7C 08 03 A6 */ mtlr r0
+/* 801E0970 001DC5D0 38 21 00 10 */ addi r1, r1, 0x10
+/* 801E0974 001DC5D4 4E 80 00 20 */ blr
+
+.global func_801E0978
+func_801E0978:
+/* 801E0978 001DC5D8 88 03 00 01 */ lbz r0, 1(r3)
+/* 801E097C 001DC5DC 2C 00 00 00 */ cmpwi r0, 0
+/* 801E0980 001DC5E0 41 82 00 48 */ beq lbl_801E09C8
+/* 801E0984 001DC5E4 80 AD A1 50 */ lwz r5, lbl_8063F410-_SDA_BASE_(r13)
+/* 801E0988 001DC5E8 41 82 00 18 */ beq lbl_801E09A0
+/* 801E098C 001DC5EC 88 03 00 00 */ lbz r0, 0(r3)
+/* 801E0990 001DC5F0 80 65 03 F0 */ lwz r3, 0x3f0(r5)
+/* 801E0994 001DC5F4 54 00 10 3A */ slwi r0, r0, 2
+/* 801E0998 001DC5F8 7C 63 02 14 */ add r3, r3, r0
+/* 801E099C 001DC5FC 48 00 00 08 */ b lbl_801E09A4
+lbl_801E09A0:
+/* 801E09A0 001DC600 38 60 00 00 */ li r3, 0
+lbl_801E09A4:
+/* 801E09A4 001DC604 88 03 00 00 */ lbz r0, 0(r3)
+/* 801E09A8 001DC608 98 04 00 00 */ stb r0, 0(r4)
+/* 801E09AC 001DC60C 88 03 00 01 */ lbz r0, 1(r3)
+/* 801E09B0 001DC610 98 04 00 01 */ stb r0, 1(r4)
+/* 801E09B4 001DC614 88 03 00 02 */ lbz r0, 2(r3)
+/* 801E09B8 001DC618 98 04 00 02 */ stb r0, 2(r4)
+/* 801E09BC 001DC61C 88 03 00 03 */ lbz r0, 3(r3)
+/* 801E09C0 001DC620 98 04 00 03 */ stb r0, 3(r4)
+/* 801E09C4 001DC624 4E 80 00 20 */ blr
+lbl_801E09C8:
+/* 801E09C8 001DC628 7C 83 23 78 */ mr r3, r4
+/* 801E09CC 001DC62C 38 80 00 00 */ li r4, 0
+/* 801E09D0 001DC630 38 A0 00 04 */ li r5, 4
+/* 801E09D4 001DC634 4B E2 37 30 */ b memset
+/* 801E09D8 001DC638 4E 80 00 20 */ blr
+
+.global func_801E09DC
+func_801E09DC:
+/* 801E09DC 001DC63C 88 03 00 01 */ lbz r0, 1(r3)
+/* 801E09E0 001DC640 2C 00 00 00 */ cmpwi r0, 0
+/* 801E09E4 001DC644 4D 82 00 20 */ beqlr
+/* 801E09E8 001DC648 80 AD A1 50 */ lwz r5, lbl_8063F410-_SDA_BASE_(r13)
+/* 801E09EC 001DC64C 41 82 00 18 */ beq lbl_801E0A04
+/* 801E09F0 001DC650 88 03 00 00 */ lbz r0, 0(r3)
+/* 801E09F4 001DC654 80 65 03 F0 */ lwz r3, 0x3f0(r5)
+/* 801E09F8 001DC658 54 00 10 3A */ slwi r0, r0, 2
+/* 801E09FC 001DC65C 7C 63 02 14 */ add r3, r3, r0
+/* 801E0A00 001DC660 48 00 00 08 */ b lbl_801E0A08
+lbl_801E0A04:
+/* 801E0A04 001DC664 38 60 00 00 */ li r3, 0
+lbl_801E0A08:
+/* 801E0A08 001DC668 88 04 00 00 */ lbz r0, 0(r4)
+/* 801E0A0C 001DC66C 98 03 00 00 */ stb r0, 0(r3)
+/* 801E0A10 001DC670 88 04 00 01 */ lbz r0, 1(r4)
+/* 801E0A14 001DC674 98 03 00 01 */ stb r0, 1(r3)
+/* 801E0A18 001DC678 88 04 00 02 */ lbz r0, 2(r4)
+/* 801E0A1C 001DC67C 98 03 00 02 */ stb r0, 2(r3)
+/* 801E0A20 001DC680 88 04 00 03 */ lbz r0, 3(r4)
+/* 801E0A24 001DC684 38 80 00 04 */ li r4, 4
+/* 801E0A28 001DC688 98 03 00 03 */ stb r0, 3(r3)
+/* 801E0A2C 001DC68C 48 08 9C 28 */ b DCFlushRange
+/* 801E0A30 001DC690 4E 80 00 20 */ blr
+
+.global func_801E0A34
+func_801E0A34:
+/* 801E0A34 001DC694 38 A0 00 01 */ li r5, 1
+/* 801E0A38 001DC698 38 6D A0 B0 */ addi r3, r13, lbl_8063F370-_SDA_BASE_
+/* 801E0A3C 001DC69C 38 80 00 04 */ li r4, 4
+/* 801E0A40 001DC6A0 38 00 00 00 */ li r0, 0
+/* 801E0A44 001DC6A4 98 AD A0 B0 */ stb r5, lbl_8063F370-_SDA_BASE_(r13)
+/* 801E0A48 001DC6A8 B0 83 00 02 */ sth r4, 2(r3)
+/* 801E0A4C 001DC6AC 98 03 00 04 */ stb r0, 4(r3)
+/* 801E0A50 001DC6B0 4E 80 00 20 */ blr
|