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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global stricmp
stricmp:
/* 801D0A00 001CC660 3C A0 80 42 */ lis r5, lbl_80422D48@ha
/* 801D0A04 001CC664 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
/* 801D0A08 001CC668 80 C5 00 38 */ lwz r6, 0x38(r5)
lbl_801D0A0C:
/* 801D0A0C 001CC66C 88 A3 00 00 */ lbz r5, 0(r3)
/* 801D0A10 001CC670 38 00 00 00 */ li r0, 0
/* 801D0A14 001CC674 38 63 00 01 */ addi r3, r3, 1
/* 801D0A18 001CC678 7C A7 07 75 */ extsb. r7, r5
/* 801D0A1C 001CC67C 41 80 00 0C */ blt lbl_801D0A28
/* 801D0A20 001CC680 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0A24 001CC684 41 80 00 08 */ blt lbl_801D0A2C
lbl_801D0A28:
/* 801D0A28 001CC688 38 00 00 01 */ li r0, 1
lbl_801D0A2C:
/* 801D0A2C 001CC68C 2C 00 00 00 */ cmpwi r0, 0
/* 801D0A30 001CC690 41 82 00 08 */ beq lbl_801D0A38
/* 801D0A34 001CC694 48 00 00 0C */ b lbl_801D0A40
lbl_801D0A38:
/* 801D0A38 001CC698 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0A3C 001CC69C 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0A40:
/* 801D0A40 001CC6A0 88 A4 00 00 */ lbz r5, 0(r4)
/* 801D0A44 001CC6A4 7C E8 07 74 */ extsb r8, r7
/* 801D0A48 001CC6A8 38 00 00 00 */ li r0, 0
/* 801D0A4C 001CC6AC 38 84 00 01 */ addi r4, r4, 1
/* 801D0A50 001CC6B0 7C A7 07 75 */ extsb. r7, r5
/* 801D0A54 001CC6B4 41 80 00 0C */ blt lbl_801D0A60
/* 801D0A58 001CC6B8 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0A5C 001CC6BC 41 80 00 08 */ blt lbl_801D0A64
lbl_801D0A60:
/* 801D0A60 001CC6C0 38 00 00 01 */ li r0, 1
lbl_801D0A64:
/* 801D0A64 001CC6C4 2C 00 00 00 */ cmpwi r0, 0
/* 801D0A68 001CC6C8 41 82 00 08 */ beq lbl_801D0A70
/* 801D0A6C 001CC6CC 48 00 00 0C */ b lbl_801D0A78
lbl_801D0A70:
/* 801D0A70 001CC6D0 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0A74 001CC6D4 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0A78:
/* 801D0A78 001CC6D8 7C E0 07 74 */ extsb r0, r7
/* 801D0A7C 001CC6DC 7C 08 00 00 */ cmpw r8, r0
/* 801D0A80 001CC6E0 40 80 00 0C */ bge lbl_801D0A8C
/* 801D0A84 001CC6E4 38 60 FF FF */ li r3, -1
/* 801D0A88 001CC6E8 4E 80 00 20 */ blr
lbl_801D0A8C:
/* 801D0A8C 001CC6EC 40 81 00 0C */ ble lbl_801D0A98
/* 801D0A90 001CC6F0 38 60 00 01 */ li r3, 1
/* 801D0A94 001CC6F4 4E 80 00 20 */ blr
lbl_801D0A98:
/* 801D0A98 001CC6F8 2C 08 00 00 */ cmpwi r8, 0
/* 801D0A9C 001CC6FC 40 82 FF 70 */ bne lbl_801D0A0C
/* 801D0AA0 001CC700 38 60 00 00 */ li r3, 0
/* 801D0AA4 001CC704 4E 80 00 20 */ blr
.global strncasecmp
strncasecmp:
/* 801D0AA8 001CC708 4B FF 93 18 */ b __msl_strnicmp
.global strcmpi
strcmpi:
/* 801D0AAC 001CC70C 3C A0 80 42 */ lis r5, lbl_80422D48@ha
/* 801D0AB0 001CC710 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
/* 801D0AB4 001CC714 80 C5 00 38 */ lwz r6, 0x38(r5)
lbl_801D0AB8:
/* 801D0AB8 001CC718 88 A3 00 00 */ lbz r5, 0(r3)
/* 801D0ABC 001CC71C 38 00 00 00 */ li r0, 0
/* 801D0AC0 001CC720 38 63 00 01 */ addi r3, r3, 1
/* 801D0AC4 001CC724 7C A7 07 75 */ extsb. r7, r5
/* 801D0AC8 001CC728 41 80 00 0C */ blt lbl_801D0AD4
/* 801D0ACC 001CC72C 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0AD0 001CC730 41 80 00 08 */ blt lbl_801D0AD8
lbl_801D0AD4:
/* 801D0AD4 001CC734 38 00 00 01 */ li r0, 1
lbl_801D0AD8:
/* 801D0AD8 001CC738 2C 00 00 00 */ cmpwi r0, 0
/* 801D0ADC 001CC73C 41 82 00 08 */ beq lbl_801D0AE4
/* 801D0AE0 001CC740 48 00 00 0C */ b lbl_801D0AEC
lbl_801D0AE4:
/* 801D0AE4 001CC744 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0AE8 001CC748 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0AEC:
/* 801D0AEC 001CC74C 88 A4 00 00 */ lbz r5, 0(r4)
/* 801D0AF0 001CC750 7C E8 07 74 */ extsb r8, r7
/* 801D0AF4 001CC754 38 00 00 00 */ li r0, 0
/* 801D0AF8 001CC758 38 84 00 01 */ addi r4, r4, 1
/* 801D0AFC 001CC75C 7C A7 07 75 */ extsb. r7, r5
/* 801D0B00 001CC760 41 80 00 0C */ blt lbl_801D0B0C
/* 801D0B04 001CC764 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0B08 001CC768 41 80 00 08 */ blt lbl_801D0B10
lbl_801D0B0C:
/* 801D0B0C 001CC76C 38 00 00 01 */ li r0, 1
lbl_801D0B10:
/* 801D0B10 001CC770 2C 00 00 00 */ cmpwi r0, 0
/* 801D0B14 001CC774 41 82 00 08 */ beq lbl_801D0B1C
/* 801D0B18 001CC778 48 00 00 0C */ b lbl_801D0B24
lbl_801D0B1C:
/* 801D0B1C 001CC77C 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0B20 001CC780 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0B24:
/* 801D0B24 001CC784 7C E0 07 74 */ extsb r0, r7
/* 801D0B28 001CC788 7C 08 00 00 */ cmpw r8, r0
/* 801D0B2C 001CC78C 40 80 00 0C */ bge lbl_801D0B38
/* 801D0B30 001CC790 38 60 FF FF */ li r3, -1
/* 801D0B34 001CC794 4E 80 00 20 */ blr
lbl_801D0B38:
/* 801D0B38 001CC798 40 81 00 0C */ ble lbl_801D0B44
/* 801D0B3C 001CC79C 38 60 00 01 */ li r3, 1
/* 801D0B40 001CC7A0 4E 80 00 20 */ blr
lbl_801D0B44:
/* 801D0B44 001CC7A4 2C 08 00 00 */ cmpwi r8, 0
/* 801D0B48 001CC7A8 40 82 FF 70 */ bne lbl_801D0AB8
/* 801D0B4C 001CC7AC 38 60 00 00 */ li r3, 0
/* 801D0B50 001CC7B0 4E 80 00 20 */ blr
.global strcasecmp
strcasecmp:
/* 801D0B54 001CC7B4 3C A0 80 42 */ lis r5, lbl_80422D48@ha
/* 801D0B58 001CC7B8 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
/* 801D0B5C 001CC7BC 80 C5 00 38 */ lwz r6, 0x38(r5)
lbl_801D0B60:
/* 801D0B60 001CC7C0 88 A3 00 00 */ lbz r5, 0(r3)
/* 801D0B64 001CC7C4 38 00 00 00 */ li r0, 0
/* 801D0B68 001CC7C8 38 63 00 01 */ addi r3, r3, 1
/* 801D0B6C 001CC7CC 7C A7 07 75 */ extsb. r7, r5
/* 801D0B70 001CC7D0 41 80 00 0C */ blt lbl_801D0B7C
/* 801D0B74 001CC7D4 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0B78 001CC7D8 41 80 00 08 */ blt lbl_801D0B80
lbl_801D0B7C:
/* 801D0B7C 001CC7DC 38 00 00 01 */ li r0, 1
lbl_801D0B80:
/* 801D0B80 001CC7E0 2C 00 00 00 */ cmpwi r0, 0
/* 801D0B84 001CC7E4 41 82 00 08 */ beq lbl_801D0B8C
/* 801D0B88 001CC7E8 48 00 00 0C */ b lbl_801D0B94
lbl_801D0B8C:
/* 801D0B8C 001CC7EC 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0B90 001CC7F0 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0B94:
/* 801D0B94 001CC7F4 88 A4 00 00 */ lbz r5, 0(r4)
/* 801D0B98 001CC7F8 7C E8 07 74 */ extsb r8, r7
/* 801D0B9C 001CC7FC 38 00 00 00 */ li r0, 0
/* 801D0BA0 001CC800 38 84 00 01 */ addi r4, r4, 1
/* 801D0BA4 001CC804 7C A7 07 75 */ extsb. r7, r5
/* 801D0BA8 001CC808 41 80 00 0C */ blt lbl_801D0BB4
/* 801D0BAC 001CC80C 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0BB0 001CC810 41 80 00 08 */ blt lbl_801D0BB8
lbl_801D0BB4:
/* 801D0BB4 001CC814 38 00 00 01 */ li r0, 1
lbl_801D0BB8:
/* 801D0BB8 001CC818 2C 00 00 00 */ cmpwi r0, 0
/* 801D0BBC 001CC81C 41 82 00 08 */ beq lbl_801D0BC4
/* 801D0BC0 001CC820 48 00 00 0C */ b lbl_801D0BCC
lbl_801D0BC4:
/* 801D0BC4 001CC824 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0BC8 001CC828 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0BCC:
/* 801D0BCC 001CC82C 7C E0 07 74 */ extsb r0, r7
/* 801D0BD0 001CC830 7C 08 00 00 */ cmpw r8, r0
/* 801D0BD4 001CC834 40 80 00 0C */ bge lbl_801D0BE0
/* 801D0BD8 001CC838 38 60 FF FF */ li r3, -1
/* 801D0BDC 001CC83C 4E 80 00 20 */ blr
lbl_801D0BE0:
/* 801D0BE0 001CC840 40 81 00 0C */ ble lbl_801D0BEC
/* 801D0BE4 001CC844 38 60 00 01 */ li r3, 1
/* 801D0BE8 001CC848 4E 80 00 20 */ blr
lbl_801D0BEC:
/* 801D0BEC 001CC84C 2C 08 00 00 */ cmpwi r8, 0
/* 801D0BF0 001CC850 40 82 FF 70 */ bne lbl_801D0B60
/* 801D0BF4 001CC854 38 60 00 00 */ li r3, 0
/* 801D0BF8 001CC858 4E 80 00 20 */ blr
|