tp/asm/dolphin/card/CARDRdwr/BlockWriteCallback.s

63 lines
2.7 KiB
ArmAsm

lbl_803552C4:
/* 803552C4 7C 08 02 A6 */ mflr r0
/* 803552C8 90 01 00 04 */ stw r0, 4(r1)
/* 803552CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803552D0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803552D4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803552D8 7C 9E 23 79 */ or. r30, r4, r4
/* 803552DC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803552E0 3B A3 00 00 */ addi r29, r3, 0
/* 803552E4 1C BD 01 10 */ mulli r5, r29, 0x110
/* 803552E8 3C 60 80 45 */ lis r3, __CARDBlock@ha /* 0x8044CBC0@ha */
/* 803552EC 38 03 CB C0 */ addi r0, r3, __CARDBlock@l /* 0x8044CBC0@l */
/* 803552F0 7F E0 2A 14 */ add r31, r0, r5
/* 803552F4 41 80 00 5C */ blt lbl_80355350
/* 803552F8 80 7F 00 B8 */ lwz r3, 0xb8(r31)
/* 803552FC A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80355300 7C 03 02 14 */ add r0, r3, r0
/* 80355304 90 1F 00 B8 */ stw r0, 0xb8(r31)
/* 80355308 80 7F 00 B0 */ lwz r3, 0xb0(r31)
/* 8035530C A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80355310 7C 03 02 14 */ add r0, r3, r0
/* 80355314 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 80355318 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 8035531C A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80355320 7C 03 02 14 */ add r0, r3, r0
/* 80355324 90 1F 00 B4 */ stw r0, 0xb4(r31)
/* 80355328 80 7F 00 AC */ lwz r3, 0xac(r31)
/* 8035532C 34 03 FF FF */ addic. r0, r3, -1
/* 80355330 90 1F 00 AC */ stw r0, 0xac(r31)
/* 80355334 40 81 00 1C */ ble lbl_80355350
/* 80355338 3C 60 80 35 */ lis r3, BlockWriteCallback@ha /* 0x803552C4@ha */
/* 8035533C 38 83 52 C4 */ addi r4, r3, BlockWriteCallback@l /* 0x803552C4@l */
/* 80355340 38 7D 00 00 */ addi r3, r29, 0
/* 80355344 4B FF E5 39 */ bl __CARDWritePage
/* 80355348 7C 7E 1B 79 */ or. r30, r3, r3
/* 8035534C 40 80 00 44 */ bge lbl_80355390
lbl_80355350:
/* 80355350 80 1F 00 D0 */ lwz r0, 0xd0(r31)
/* 80355354 28 00 00 00 */ cmplwi r0, 0
/* 80355358 40 82 00 10 */ bne lbl_80355368
/* 8035535C 38 7F 00 00 */ addi r3, r31, 0
/* 80355360 38 9E 00 00 */ addi r4, r30, 0
/* 80355364 4B FF E9 09 */ bl __CARDPutControlBlock
lbl_80355368:
/* 80355368 80 1F 00 D4 */ lwz r0, 0xd4(r31)
/* 8035536C 28 00 00 00 */ cmplwi r0, 0
/* 80355370 7C 0C 03 78 */ mr r12, r0
/* 80355374 41 82 00 1C */ beq lbl_80355390
/* 80355378 38 00 00 00 */ li r0, 0
/* 8035537C 7D 88 03 A6 */ mtlr r12
/* 80355380 90 1F 00 D4 */ stw r0, 0xd4(r31)
/* 80355384 38 7D 00 00 */ addi r3, r29, 0
/* 80355388 38 9E 00 00 */ addi r4, r30, 0
/* 8035538C 4E 80 00 21 */ blrl
lbl_80355390:
/* 80355390 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80355394 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80355398 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8035539C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803553A0 38 21 00 20 */ addi r1, r1, 0x20
/* 803553A4 7C 08 03 A6 */ mtlr r0
/* 803553A8 4E 80 00 20 */ blr