1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global EXIWriteReg
EXIWriteReg:
/* 80276120 00271D80 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80276124 00271D84 7C 08 02 A6 */ mflr r0
/* 80276128 00271D88 2C 07 00 02 */ cmpwi r7, 2
/* 8027612C 00271D8C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80276130 00271D90 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80276134 00271D94 7C 7F 1B 78 */ mr r31, r3
/* 80276138 00271D98 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8027613C 00271D9C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80276140 00271DA0 7C 9D 23 78 */ mr r29, r4
/* 80276144 00271DA4 90 A1 00 08 */ stw r5, 8(r1)
/* 80276148 00271DA8 41 82 00 24 */ beq lbl_8027616C
/* 8027614C 00271DAC 40 80 00 34 */ bge lbl_80276180
/* 80276150 00271DB0 2C 07 00 01 */ cmpwi r7, 1
/* 80276154 00271DB4 40 80 00 08 */ bge lbl_8027615C
/* 80276158 00271DB8 48 00 00 28 */ b lbl_80276180
lbl_8027615C:
/* 8027615C 00271DBC 88 06 00 00 */ lbz r0, 0(r6)
/* 80276160 00271DC0 54 00 C0 0E */ slwi r0, r0, 0x18
/* 80276164 00271DC4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80276168 00271DC8 48 00 00 34 */ b lbl_8027619C
lbl_8027616C:
/* 8027616C 00271DCC A0 66 00 00 */ lhz r3, 0(r6)
/* 80276170 00271DD0 54 60 42 1E */ rlwinm r0, r3, 8, 8, 0xf
/* 80276174 00271DD4 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 80276178 00271DD8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8027617C 00271DDC 48 00 00 20 */ b lbl_8027619C
lbl_80276180:
/* 80276180 00271DE0 80 86 00 00 */ lwz r4, 0(r6)
/* 80276184 00271DE4 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf
/* 80276188 00271DE8 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17
/* 8027618C 00271DEC 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7
/* 80276190 00271DF0 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f
/* 80276194 00271DF4 7C 60 03 78 */ or r0, r3, r0
/* 80276198 00271DF8 90 01 00 0C */ stw r0, 0xc(r1)
lbl_8027619C:
/* 8027619C 00271DFC 7F E3 FB 78 */ mr r3, r31
/* 802761A0 00271E00 7F A4 EB 78 */ mr r4, r29
/* 802761A4 00271E04 38 A0 00 00 */ li r5, 0
/* 802761A8 00271E08 4B FF F6 9D */ bl EXILock
/* 802761AC 00271E0C 7C 60 00 34 */ cntlzw r0, r3
/* 802761B0 00271E10 54 1E D9 7F */ rlwinm. r30, r0, 0x1b, 5, 0x1f
/* 802761B4 00271E14 41 82 00 0C */ beq lbl_802761C0
/* 802761B8 00271E18 38 60 00 00 */ li r3, 0
/* 802761BC 00271E1C 48 00 00 D4 */ b lbl_80276290
lbl_802761C0:
/* 802761C0 00271E20 7F E3 FB 78 */ mr r3, r31
/* 802761C4 00271E24 7F A4 EB 78 */ mr r4, r29
/* 802761C8 00271E28 38 A0 00 04 */ li r5, 4
/* 802761CC 00271E2C 4B FF EE E5 */ bl EXISelect
/* 802761D0 00271E30 7C 60 00 34 */ cntlzw r0, r3
/* 802761D4 00271E34 54 00 D9 7E */ srwi r0, r0, 5
/* 802761D8 00271E38 7F DE 03 79 */ or. r30, r30, r0
/* 802761DC 00271E3C 41 82 00 14 */ beq lbl_802761F0
/* 802761E0 00271E40 7F E3 FB 78 */ mr r3, r31
/* 802761E4 00271E44 4B FF F7 5D */ bl EXIUnlock
/* 802761E8 00271E48 38 60 00 00 */ li r3, 0
/* 802761EC 00271E4C 48 00 00 A4 */ b lbl_80276290
lbl_802761F0:
/* 802761F0 00271E50 7F E3 FB 78 */ mr r3, r31
/* 802761F4 00271E54 38 81 00 08 */ addi r4, r1, 8
/* 802761F8 00271E58 38 A0 00 04 */ li r5, 4
/* 802761FC 00271E5C 38 C0 00 01 */ li r6, 1
/* 80276200 00271E60 38 E0 00 00 */ li r7, 0
/* 80276204 00271E64 4B FF E4 45 */ bl EXIImm
/* 80276208 00271E68 7C 60 00 34 */ cntlzw r0, r3
/* 8027620C 00271E6C 7F E3 FB 78 */ mr r3, r31
/* 80276210 00271E70 54 00 D9 7E */ srwi r0, r0, 5
/* 80276214 00271E74 7F DE 03 78 */ or r30, r30, r0
/* 80276218 00271E78 4B FF E8 49 */ bl EXISync
/* 8027621C 00271E7C 7C 60 00 34 */ cntlzw r0, r3
/* 80276220 00271E80 7F E3 FB 78 */ mr r3, r31
/* 80276224 00271E84 54 00 D9 7E */ srwi r0, r0, 5
/* 80276228 00271E88 38 81 00 0C */ addi r4, r1, 0xc
/* 8027622C 00271E8C 7F DE 03 78 */ or r30, r30, r0
/* 80276230 00271E90 38 A0 00 04 */ li r5, 4
/* 80276234 00271E94 38 C0 00 01 */ li r6, 1
/* 80276238 00271E98 38 E0 00 00 */ li r7, 0
/* 8027623C 00271E9C 4B FF E4 0D */ bl EXIImm
/* 80276240 00271EA0 7C 60 00 34 */ cntlzw r0, r3
/* 80276244 00271EA4 7F E3 FB 78 */ mr r3, r31
/* 80276248 00271EA8 54 00 D9 7E */ srwi r0, r0, 5
/* 8027624C 00271EAC 7F DE 03 78 */ or r30, r30, r0
/* 80276250 00271EB0 4B FF E8 11 */ bl EXISync
/* 80276254 00271EB4 7C 60 00 34 */ cntlzw r0, r3
/* 80276258 00271EB8 7F E3 FB 78 */ mr r3, r31
/* 8027625C 00271EBC 54 00 D9 7E */ srwi r0, r0, 5
/* 80276260 00271EC0 7F DE 03 78 */ or r30, r30, r0
/* 80276264 00271EC4 4B FF EF 7D */ bl EXIDeselect
/* 80276268 00271EC8 7C 60 00 34 */ cntlzw r0, r3
/* 8027626C 00271ECC 7F E3 FB 78 */ mr r3, r31
/* 80276270 00271ED0 54 00 D9 7E */ srwi r0, r0, 5
/* 80276274 00271ED4 7F DE 03 78 */ or r30, r30, r0
/* 80276278 00271ED8 4B FF F6 C9 */ bl EXIUnlock
/* 8027627C 00271EDC 7C 60 00 34 */ cntlzw r0, r3
/* 80276280 00271EE0 54 00 D9 7E */ srwi r0, r0, 5
/* 80276284 00271EE4 7F DE 03 78 */ or r30, r30, r0
/* 80276288 00271EE8 7F C0 00 34 */ cntlzw r0, r30
/* 8027628C 00271EEC 54 03 D9 7E */ srwi r3, r0, 5
lbl_80276290:
/* 80276290 00271EF0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80276294 00271EF4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80276298 00271EF8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8027629C 00271EFC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802762A0 00271F00 7C 08 03 A6 */ mtlr r0
/* 802762A4 00271F04 38 21 00 20 */ addi r1, r1, 0x20
/* 802762A8 00271F08 4E 80 00 20 */ blr
|