prime/asm/Runtime/buffer_io.s

76 lines
3.4 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .text, "ax"
.global __flush_buffer
__flush_buffer:
/* 8038CE2C 00389D8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8038CE30 00389D90 7C 08 02 A6 */ mflr r0
/* 8038CE34 00389D94 90 01 00 14 */ stw r0, 0x14(r1)
/* 8038CE38 00389D98 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8038CE3C 00389D9C 7C 7F 1B 78 */ mr r31, r3
/* 8038CE40 00389DA0 93 C1 00 08 */ stw r30, 8(r1)
/* 8038CE44 00389DA4 7C 9E 23 78 */ mr r30, r4
/* 8038CE48 00389DA8 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 8038CE4C 00389DAC 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8038CE50 00389DB0 7C 03 00 51 */ subf. r0, r3, r0
/* 8038CE54 00389DB4 41 82 00 50 */ beq lbl_8038CEA4
/* 8038CE58 00389DB8 90 1F 00 28 */ stw r0, 0x28(r31)
/* 8038CE5C 00389DBC 38 BF 00 28 */ addi r5, r31, 0x28
/* 8038CE60 00389DC0 81 9F 00 40 */ lwz r12, 0x40(r31)
/* 8038CE64 00389DC4 80 7F 00 00 */ lwz r3, 0(r31)
/* 8038CE68 00389DC8 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 8038CE6C 00389DCC 80 DF 00 48 */ lwz r6, 0x48(r31)
/* 8038CE70 00389DD0 7D 89 03 A6 */ mtctr r12
/* 8038CE74 00389DD4 4E 80 04 21 */ bctrl
/* 8038CE78 00389DD8 28 1E 00 00 */ cmplwi r30, 0
/* 8038CE7C 00389DDC 41 82 00 0C */ beq lbl_8038CE88
/* 8038CE80 00389DE0 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8038CE84 00389DE4 90 1E 00 00 */ stw r0, 0(r30)
lbl_8038CE88:
/* 8038CE88 00389DE8 2C 03 00 00 */ cmpwi r3, 0
/* 8038CE8C 00389DEC 41 82 00 08 */ beq lbl_8038CE94
/* 8038CE90 00389DF0 48 00 00 48 */ b lbl_8038CED8
lbl_8038CE94:
/* 8038CE94 00389DF4 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8038CE98 00389DF8 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8038CE9C 00389DFC 7C 03 02 14 */ add r0, r3, r0
/* 8038CEA0 00389E00 90 1F 00 18 */ stw r0, 0x18(r31)
lbl_8038CEA4:
/* 8038CEA4 00389E04 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 8038CEA8 00389E08 38 60 00 00 */ li r3, 0
/* 8038CEAC 00389E0C 90 1F 00 24 */ stw r0, 0x24(r31)
/* 8038CEB0 00389E10 80 1F 00 20 */ lwz r0, 0x20(r31)
/* 8038CEB4 00389E14 90 1F 00 28 */ stw r0, 0x28(r31)
/* 8038CEB8 00389E18 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8038CEBC 00389E1C 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 8038CEC0 00389E20 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8038CEC4 00389E24 7C A4 20 38 */ and r4, r5, r4
/* 8038CEC8 00389E28 7C 04 00 50 */ subf r0, r4, r0
/* 8038CECC 00389E2C 90 1F 00 28 */ stw r0, 0x28(r31)
/* 8038CED0 00389E30 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 8038CED4 00389E34 90 1F 00 34 */ stw r0, 0x34(r31)
lbl_8038CED8:
/* 8038CED8 00389E38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8038CEDC 00389E3C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8038CEE0 00389E40 83 C1 00 08 */ lwz r30, 8(r1)
/* 8038CEE4 00389E44 7C 08 03 A6 */ mtlr r0
/* 8038CEE8 00389E48 38 21 00 10 */ addi r1, r1, 0x10
/* 8038CEEC 00389E4C 4E 80 00 20 */ blr
.global __prep_buffer
__prep_buffer:
/* 8038CEF0 00389E50 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8038CEF4 00389E54 90 03 00 24 */ stw r0, 0x24(r3)
/* 8038CEF8 00389E58 80 03 00 20 */ lwz r0, 0x20(r3)
/* 8038CEFC 00389E5C 90 03 00 28 */ stw r0, 0x28(r3)
/* 8038CF00 00389E60 80 A3 00 18 */ lwz r5, 0x18(r3)
/* 8038CF04 00389E64 80 83 00 2C */ lwz r4, 0x2c(r3)
/* 8038CF08 00389E68 80 03 00 28 */ lwz r0, 0x28(r3)
/* 8038CF0C 00389E6C 7C A4 20 38 */ and r4, r5, r4
/* 8038CF10 00389E70 7C 04 00 50 */ subf r0, r4, r0
/* 8038CF14 00389E74 90 03 00 28 */ stw r0, 0x28(r3)
/* 8038CF18 00389E78 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8038CF1C 00389E7C 90 03 00 34 */ stw r0, 0x34(r3)
/* 8038CF20 00389E80 4E 80 00 20 */ blr