tp/asm/f/pc/f_pc_pause.s

88 lines
3.8 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 80023844
.global fpcPause_IsEnable
fpcPause_IsEnable:
/* 80023844 00020784 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 80023848 00020788 88 03 00 0B */ lbz r0, 0xb(r3)
/* 8002384C 0002078C 7C 80 00 38 */ and r0, r4, r0
/* 80023850 00020790 7C 64 00 50 */ subf r3, r4, r0
/* 80023854 00020794 30 03 FF FF */ addic r0, r3, -1
/* 80023858 00020798 7C 00 19 10 */ subfe r0, r0, r3
/* 8002385C 0002079C 7C 00 00 34 */ cntlzw r0, r0
/* 80023860 000207A0 54 03 D9 7E */ srwi r3, r0, 5
/* 80023864 000207A4 4E 80 00 20 */ blr
.global fpcPause_Enable
fpcPause_Enable:
/* 80023868 000207A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002386C 000207AC 7C 08 02 A6 */ mflr r0
/* 80023870 000207B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023874 000207B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80023878 000207B8 93 C1 00 08 */ stw r30, 8(r1)
/* 8002387C 000207BC 7C 7E 1B 78 */ mr r30, r3
/* 80023880 000207C0 7C 9F 23 78 */ mr r31, r4
/* 80023884 000207C4 88 03 00 0B */ lbz r0, 0xb(r3)
/* 80023888 000207C8 7C 00 FB 78 */ or r0, r0, r31
/* 8002388C 000207CC 98 03 00 0B */ stb r0, 0xb(r3)
/* 80023890 000207D0 80 6D 87 C0 */ lwz r3, lbl_80450D40-_SDA_BASE_(r13)
/* 80023894 000207D4 80 9E 00 B4 */ lwz r4, 0xb4(r30)
/* 80023898 000207D8 4B FF CD B5 */ bl fpcBs_Is_JustOfType
/* 8002389C 000207DC 2C 03 00 00 */ cmpwi r3, 0
/* 800238A0 000207E0 41 82 00 18 */ beq lbl_800238B8
/* 800238A4 000207E4 38 7E 00 BC */ addi r3, r30, 0xbc
/* 800238A8 000207E8 3C 80 80 02 */ lis r4, fpcPause_Enable@ha
/* 800238AC 000207EC 38 84 38 68 */ addi r4, r4, fpcPause_Enable@l
/* 800238B0 000207F0 57 E5 06 3E */ clrlwi r5, r31, 0x18
/* 800238B4 000207F4 4B FF E2 D5 */ bl fpcLyIt_OnlyHere
lbl_800238B8:
/* 800238B8 000207F8 38 60 00 01 */ li r3, 1
/* 800238BC 000207FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800238C0 00020800 83 C1 00 08 */ lwz r30, 8(r1)
/* 800238C4 00020804 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800238C8 00020808 7C 08 03 A6 */ mtlr r0
/* 800238CC 0002080C 38 21 00 10 */ addi r1, r1, 0x10
/* 800238D0 00020810 4E 80 00 20 */ blr
.global fpcPause_Disable
fpcPause_Disable:
/* 800238D4 00020814 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800238D8 00020818 7C 08 02 A6 */ mflr r0
/* 800238DC 0002081C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800238E0 00020820 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800238E4 00020824 93 C1 00 08 */ stw r30, 8(r1)
/* 800238E8 00020828 7C 7E 1B 78 */ mr r30, r3
/* 800238EC 0002082C 7C 9F 23 78 */ mr r31, r4
/* 800238F0 00020830 88 63 00 0B */ lbz r3, 0xb(r3)
/* 800238F4 00020834 20 1F 00 FF */ subfic r0, r31, 0xff
/* 800238F8 00020838 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800238FC 0002083C 7C 60 00 38 */ and r0, r3, r0
/* 80023900 00020840 98 1E 00 0B */ stb r0, 0xb(r30)
/* 80023904 00020844 80 6D 87 C0 */ lwz r3, lbl_80450D40-_SDA_BASE_(r13)
/* 80023908 00020848 80 9E 00 B4 */ lwz r4, 0xb4(r30)
/* 8002390C 0002084C 4B FF CD 41 */ bl fpcBs_Is_JustOfType
/* 80023910 00020850 2C 03 00 00 */ cmpwi r3, 0
/* 80023914 00020854 41 82 00 18 */ beq lbl_8002392C
/* 80023918 00020858 38 7E 00 BC */ addi r3, r30, 0xbc
/* 8002391C 0002085C 3C 80 80 02 */ lis r4, fpcPause_Disable@ha
/* 80023920 00020860 38 84 38 D4 */ addi r4, r4, fpcPause_Disable@l
/* 80023924 00020864 57 E5 06 3E */ clrlwi r5, r31, 0x18
/* 80023928 00020868 4B FF E2 61 */ bl fpcLyIt_OnlyHere
lbl_8002392C:
/* 8002392C 0002086C 38 60 00 01 */ li r3, 1
/* 80023930 00020870 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80023934 00020874 83 C1 00 08 */ lwz r30, 8(r1)
/* 80023938 00020878 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002393C 0002087C 7C 08 03 A6 */ mtlr r0
/* 80023940 00020880 38 21 00 10 */ addi r1, r1, 0x10
/* 80023944 00020884 4E 80 00 20 */ blr
.global fpcPause_Init
fpcPause_Init:
/* 80023948 00020888 38 00 00 00 */ li r0, 0
/* 8002394C 0002088C 98 03 00 0B */ stb r0, 0xb(r3)
/* 80023950 00020890 4E 80 00 20 */ blr