tp/asm/exi/EXIBios/EXIDeselect.s

77 lines
3.1 KiB
ArmAsm

lbl_80343994:
/* 80343994 7C 08 02 A6 */ mflr r0
/* 80343998 90 01 00 04 */ stw r0, 4(r1)
/* 8034399C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803439A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803439A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803439A8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803439AC 93 81 00 10 */ stw r28, 0x10(r1)
/* 803439B0 3B E3 00 00 */ addi r31, r3, 0
/* 803439B4 54 64 30 32 */ slwi r4, r3, 6
/* 803439B8 3C 60 80 45 */ lis r3, Ecb@ha /* 0x8044C570@ha */
/* 803439BC 38 03 C5 70 */ addi r0, r3, Ecb@l /* 0x8044C570@l */
/* 803439C0 7F C0 22 14 */ add r30, r0, r4
/* 803439C4 4B FF 9D 31 */ bl OSDisableInterrupts
/* 803439C8 7C 7C 1B 78 */ mr r28, r3
/* 803439CC 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 803439D0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803439D4 40 82 00 14 */ bne lbl_803439E8
/* 803439D8 7F 83 E3 78 */ mr r3, r28
/* 803439DC 4B FF 9D 41 */ bl OSRestoreInterrupts
/* 803439E0 38 60 00 00 */ li r3, 0
/* 803439E4 48 00 00 A0 */ b lbl_80343A84
lbl_803439E8:
/* 803439E8 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 803439EC 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 803439F0 90 1E 00 0C */ stw r0, 0xc(r30)
/* 803439F4 1C 1F 00 14 */ mulli r0, r31, 0x14
/* 803439F8 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006800@ha */
/* 803439FC 38 63 68 00 */ addi r3, r3, 0x6800 /* 0xCC006800@l */
/* 80343A00 7C 63 02 14 */ add r3, r3, r0
/* 80343A04 83 A3 00 00 */ lwz r29, 0(r3)
/* 80343A08 73 A0 04 05 */ andi. r0, r29, 0x405
/* 80343A0C 90 03 00 00 */ stw r0, 0(r3)
/* 80343A10 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80343A14 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80343A18 41 82 00 30 */ beq lbl_80343A48
/* 80343A1C 2C 1F 00 01 */ cmpwi r31, 1
/* 80343A20 41 82 00 20 */ beq lbl_80343A40
/* 80343A24 40 80 00 24 */ bge lbl_80343A48
/* 80343A28 2C 1F 00 00 */ cmpwi r31, 0
/* 80343A2C 40 80 00 08 */ bge lbl_80343A34
/* 80343A30 48 00 00 18 */ b lbl_80343A48
lbl_80343A34:
/* 80343A34 3C 60 00 10 */ lis r3, 0x10
/* 80343A38 4B FF A1 0D */ bl __OSUnmaskInterrupts
/* 80343A3C 48 00 00 0C */ b lbl_80343A48
lbl_80343A40:
/* 80343A40 3C 60 00 02 */ lis r3, 2
/* 80343A44 4B FF A1 01 */ bl __OSUnmaskInterrupts
lbl_80343A48:
/* 80343A48 7F 83 E3 78 */ mr r3, r28
/* 80343A4C 4B FF 9C D1 */ bl OSRestoreInterrupts
/* 80343A50 2C 1F 00 02 */ cmpwi r31, 2
/* 80343A54 41 82 00 2C */ beq lbl_80343A80
/* 80343A58 57 A0 06 31 */ rlwinm. r0, r29, 0, 0x18, 0x18
/* 80343A5C 41 82 00 24 */ beq lbl_80343A80
/* 80343A60 7F E3 FB 78 */ mr r3, r31
/* 80343A64 4B FF F9 95 */ bl __EXIProbe
/* 80343A68 2C 03 00 00 */ cmpwi r3, 0
/* 80343A6C 41 82 00 0C */ beq lbl_80343A78
/* 80343A70 38 60 00 01 */ li r3, 1
/* 80343A74 48 00 00 10 */ b lbl_80343A84
lbl_80343A78:
/* 80343A78 38 60 00 00 */ li r3, 0
/* 80343A7C 48 00 00 08 */ b lbl_80343A84
lbl_80343A80:
/* 80343A80 38 60 00 01 */ li r3, 1
lbl_80343A84:
/* 80343A84 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80343A88 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80343A8C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80343A90 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80343A94 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80343A98 38 21 00 20 */ addi r1, r1, 0x20
/* 80343A9C 7C 08 03 A6 */ mtlr r0
/* 80343AA0 4E 80 00 20 */ blr