diff options
Diffstat (limited to 'asm/code_80254260.s')
-rw-r--r-- | asm/code_80254260.s | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/asm/code_80254260.s b/asm/code_80254260.s new file mode 100644 index 0000000..bbb6d85 --- /dev/null +++ b/asm/code_80254260.s @@ -0,0 +1,141 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_80254260
+func_80254260:
+/* 80254260 0024FEC0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80254264 0024FEC4 2C 04 00 00 */ cmpwi r4, 0
+/* 80254268 0024FEC8 90 C1 00 08 */ stw r6, 8(r1)
+/* 8025426C 0024FECC C0 01 00 08 */ lfs f0, 8(r1)
+/* 80254270 0024FED0 41 80 00 BC */ blt lbl_8025432C
+/* 80254274 0024FED4 A0 03 00 00 */ lhz r0, 0(r3)
+/* 80254278 0024FED8 7C 04 00 00 */ cmpw r4, r0
+/* 8025427C 0024FEDC 41 80 00 08 */ blt lbl_80254284
+/* 80254280 0024FEE0 48 00 00 AC */ b lbl_8025432C
+lbl_80254284:
+/* 80254284 0024FEE4 1C 04 00 C0 */ mulli r0, r4, 0xc0
+/* 80254288 0024FEE8 80 63 00 08 */ lwz r3, 8(r3)
+/* 8025428C 0024FEEC 28 05 00 0A */ cmplwi r5, 0xa
+/* 80254290 0024FEF0 7C 83 02 14 */ add r4, r3, r0
+/* 80254294 0024FEF4 41 81 00 98 */ bgt lbl_8025432C
+/* 80254298 0024FEF8 3C 60 80 42 */ lis r3, lbl_80424D88@ha
+/* 8025429C 0024FEFC 54 A0 10 3A */ slwi r0, r5, 2
+/* 802542A0 0024FF00 38 63 4D 88 */ addi r3, r3, lbl_80424D88@l
+/* 802542A4 0024FF04 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802542A8 0024FF08 7C 69 03 A6 */ mtctr r3
+/* 802542AC 0024FF0C 4E 80 04 20 */ bctr
+/* 802542B0 0024FF10 98 C4 00 06 */ stb r6, 6(r4)
+/* 802542B4 0024FF14 48 00 00 78 */ b lbl_8025432C
+/* 802542B8 0024FF18 54 C0 46 3E */ srwi r0, r6, 0x18
+/* 802542BC 0024FF1C 54 C3 86 3E */ rlwinm r3, r6, 0x10, 0x18, 0x1f
+/* 802542C0 0024FF20 98 04 00 20 */ stb r0, 0x20(r4)
+/* 802542C4 0024FF24 54 C0 C6 3E */ rlwinm r0, r6, 0x18, 0x18, 0x1f
+/* 802542C8 0024FF28 98 64 00 21 */ stb r3, 0x21(r4)
+/* 802542CC 0024FF2C 98 04 00 22 */ stb r0, 0x22(r4)
+/* 802542D0 0024FF30 98 C4 00 23 */ stb r6, 0x23(r4)
+/* 802542D4 0024FF34 48 00 00 58 */ b lbl_8025432C
+/* 802542D8 0024FF38 D0 04 00 24 */ stfs f0, 0x24(r4)
+/* 802542DC 0024FF3C 48 00 00 50 */ b lbl_8025432C
+/* 802542E0 0024FF40 D0 04 00 28 */ stfs f0, 0x28(r4)
+/* 802542E4 0024FF44 48 00 00 48 */ b lbl_8025432C
+/* 802542E8 0024FF48 D0 04 00 2C */ stfs f0, 0x2c(r4)
+/* 802542EC 0024FF4C 48 00 00 40 */ b lbl_8025432C
+/* 802542F0 0024FF50 D0 04 00 30 */ stfs f0, 0x30(r4)
+/* 802542F4 0024FF54 48 00 00 38 */ b lbl_8025432C
+/* 802542F8 0024FF58 D0 04 00 34 */ stfs f0, 0x34(r4)
+/* 802542FC 0024FF5C 48 00 00 30 */ b lbl_8025432C
+/* 80254300 0024FF60 7C 06 00 D0 */ neg r0, r6
+/* 80254304 0024FF64 7C 00 33 78 */ or r0, r0, r6
+/* 80254308 0024FF68 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8025430C 0024FF6C 98 04 00 9F */ stb r0, 0x9f(r4)
+/* 80254310 0024FF70 48 00 00 1C */ b lbl_8025432C
+/* 80254314 0024FF74 98 C4 00 07 */ stb r6, 7(r4)
+/* 80254318 0024FF78 48 00 00 14 */ b lbl_8025432C
+/* 8025431C 0024FF7C 7C 06 00 D0 */ neg r0, r6
+/* 80254320 0024FF80 7C 00 33 78 */ or r0, r0, r6
+/* 80254324 0024FF84 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 80254328 0024FF88 98 04 00 A1 */ stb r0, 0xa1(r4)
+lbl_8025432C:
+/* 8025432C 0024FF8C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80254330 0024FF90 4E 80 00 20 */ blr
+lbl_80254334:
+/* 80254334 0024FF94 2C 04 00 00 */ cmpwi r4, 0
+/* 80254338 0024FF98 4D 80 00 20 */ bltlr
+/* 8025433C 0024FF9C A0 03 00 00 */ lhz r0, 0(r3)
+/* 80254340 0024FFA0 7C 04 00 00 */ cmpw r4, r0
+/* 80254344 0024FFA4 41 80 00 08 */ blt lbl_8025434C
+/* 80254348 0024FFA8 4E 80 00 20 */ blr
+lbl_8025434C:
+/* 8025434C 0024FFAC 1C 04 00 C0 */ mulli r0, r4, 0xc0
+/* 80254350 0024FFB0 80 63 00 08 */ lwz r3, 8(r3)
+/* 80254354 0024FFB4 28 05 00 0F */ cmplwi r5, 0xf
+/* 80254358 0024FFB8 7C E3 02 14 */ add r7, r3, r0
+/* 8025435C 0024FFBC 4D 81 00 20 */ bgtlr
+/* 80254360 0024FFC0 3C 60 80 42 */ lis r3, lbl_80424DB4@ha
+/* 80254364 0024FFC4 54 A0 10 3A */ slwi r0, r5, 2
+/* 80254368 0024FFC8 38 63 4D B4 */ addi r3, r3, lbl_80424DB4@l
+/* 8025436C 0024FFCC 7C 63 00 2E */ lwzx r3, r3, r0
+/* 80254370 0024FFD0 7C 69 03 A6 */ mtctr r3
+/* 80254374 0024FFD4 4E 80 04 20 */ bctr
+/* 80254378 0024FFD8 88 07 00 06 */ lbz r0, 6(r7)
+/* 8025437C 0024FFDC 90 06 00 00 */ stw r0, 0(r6)
+/* 80254380 0024FFE0 4E 80 00 20 */ blr
+/* 80254384 0024FFE4 A0 07 00 12 */ lhz r0, 0x12(r7)
+/* 80254388 0024FFE8 90 06 00 00 */ stw r0, 0(r6)
+/* 8025438C 0024FFEC 4E 80 00 20 */ blr
+/* 80254390 0024FFF0 80 07 00 08 */ lwz r0, 8(r7)
+/* 80254394 0024FFF4 90 06 00 00 */ stw r0, 0(r6)
+/* 80254398 0024FFF8 4E 80 00 20 */ blr
+/* 8025439C 0024FFFC 88 07 00 21 */ lbz r0, 0x21(r7)
+/* 802543A0 00250000 88 A7 00 22 */ lbz r5, 0x22(r7)
+/* 802543A4 00250004 88 87 00 23 */ lbz r4, 0x23(r7)
+/* 802543A8 00250008 54 00 80 1E */ slwi r0, r0, 0x10
+/* 802543AC 0025000C 88 67 00 20 */ lbz r3, 0x20(r7)
+/* 802543B0 00250010 50 A4 44 2E */ rlwimi r4, r5, 8, 0x10, 0x17
+/* 802543B4 00250014 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
+/* 802543B8 00250018 7C 80 03 78 */ or r0, r4, r0
+/* 802543BC 0025001C 90 06 00 00 */ stw r0, 0(r6)
+/* 802543C0 00250020 4E 80 00 20 */ blr
+/* 802543C4 00250024 80 07 00 0C */ lwz r0, 0xc(r7)
+/* 802543C8 00250028 90 06 00 00 */ stw r0, 0(r6)
+/* 802543CC 0025002C 4E 80 00 20 */ blr
+/* 802543D0 00250030 88 07 00 9F */ lbz r0, 0x9f(r7)
+/* 802543D4 00250034 90 06 00 00 */ stw r0, 0(r6)
+/* 802543D8 00250038 4E 80 00 20 */ blr
+/* 802543DC 0025003C 88 07 00 07 */ lbz r0, 7(r7)
+/* 802543E0 00250040 90 06 00 00 */ stw r0, 0(r6)
+/* 802543E4 00250044 4E 80 00 20 */ blr
+/* 802543E8 00250048 88 07 00 A1 */ lbz r0, 0xa1(r7)
+/* 802543EC 0025004C 90 06 00 00 */ stw r0, 0(r6)
+/* 802543F0 00250050 4E 80 00 20 */ blr
+/* 802543F4 00250054 80 07 00 24 */ lwz r0, 0x24(r7)
+/* 802543F8 00250058 90 06 00 00 */ stw r0, 0(r6)
+/* 802543FC 0025005C 4E 80 00 20 */ blr
+/* 80254400 00250060 80 07 00 28 */ lwz r0, 0x28(r7)
+/* 80254404 00250064 90 06 00 00 */ stw r0, 0(r6)
+/* 80254408 00250068 4E 80 00 20 */ blr
+/* 8025440C 0025006C 80 07 00 2C */ lwz r0, 0x2c(r7)
+/* 80254410 00250070 90 06 00 00 */ stw r0, 0(r6)
+/* 80254414 00250074 4E 80 00 20 */ blr
+/* 80254418 00250078 80 07 00 30 */ lwz r0, 0x30(r7)
+/* 8025441C 0025007C 90 06 00 00 */ stw r0, 0(r6)
+/* 80254420 00250080 4E 80 00 20 */ blr
+/* 80254424 00250084 80 07 00 34 */ lwz r0, 0x34(r7)
+/* 80254428 00250088 90 06 00 00 */ stw r0, 0(r6)
+/* 8025442C 0025008C 4E 80 00 20 */ blr
+/* 80254430 00250090 4E 80 00 20 */ blr
+/* 80254434 00250094 38 00 00 08 */ li r0, 8
+/* 80254438 00250098 90 06 00 00 */ stw r0, 0(r6)
+/* 8025443C 0025009C 4E 80 00 20 */ blr
+
+.global func_80254440
+func_80254440:
+/* 80254440 002500A0 38 A0 00 01 */ li r5, 1
+/* 80254444 002500A4 38 6D A6 38 */ addi r3, r13, lbl_8063F8F8-_SDA_BASE_
+/* 80254448 002500A8 38 80 00 04 */ li r4, 4
+/* 8025444C 002500AC 38 00 00 00 */ li r0, 0
+/* 80254450 002500B0 98 AD A6 38 */ stb r5, lbl_8063F8F8-_SDA_BASE_(r13)
+/* 80254454 002500B4 B0 83 00 02 */ sth r4, 2(r3)
+/* 80254458 002500B8 98 03 00 04 */ stb r0, 4(r3)
+/* 8025445C 002500BC 4E 80 00 20 */ blr
|