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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global VFiPF_GET_LE_U16
VFiPF_GET_LE_U16:
/* 803051B0 00300E10 88 03 00 01 */ lbz r0, 1(r3)
/* 803051B4 00300E14 88 63 00 00 */ lbz r3, 0(r3)
/* 803051B8 00300E18 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
/* 803051BC 00300E1C 4E 80 00 20 */ blr
.global VFiPF_LE16_TO_U16_STR
VFiPF_LE16_TO_U16_STR:
/* 803051C0 00300E20 2C 04 00 00 */ cmpwi r4, 0
/* 803051C4 00300E24 38 A0 00 00 */ li r5, 0
/* 803051C8 00300E28 4D 82 00 20 */ beqlr
/* 803051CC 00300E2C 38 C4 00 01 */ addi r6, r4, 1
/* 803051D0 00300E30 38 E4 FF F0 */ addi r7, r4, -16
/* 803051D4 00300E34 54 C0 F8 7E */ srwi r0, r6, 1
/* 803051D8 00300E38 28 00 00 08 */ cmplwi r0, 8
/* 803051DC 00300E3C 40 81 00 C4 */ ble lbl_803052A0
/* 803051E0 00300E40 28 06 00 01 */ cmplwi r6, 1
/* 803051E4 00300E44 38 00 00 00 */ li r0, 0
/* 803051E8 00300E48 41 80 00 10 */ blt lbl_803051F8
/* 803051EC 00300E4C 7C 04 30 40 */ cmplw r4, r6
/* 803051F0 00300E50 41 81 00 08 */ bgt lbl_803051F8
/* 803051F4 00300E54 38 00 00 01 */ li r0, 1
lbl_803051F8:
/* 803051F8 00300E58 2C 00 00 00 */ cmpwi r0, 0
/* 803051FC 00300E5C 41 82 00 A4 */ beq lbl_803052A0
/* 80305200 00300E60 38 07 00 0F */ addi r0, r7, 0xf
/* 80305204 00300E64 54 00 E1 3E */ srwi r0, r0, 4
/* 80305208 00300E68 7C 09 03 A6 */ mtctr r0
/* 8030520C 00300E6C 28 07 00 00 */ cmplwi r7, 0
/* 80305210 00300E70 40 81 00 90 */ ble lbl_803052A0
lbl_80305214:
/* 80305214 00300E74 7C E3 2A 14 */ add r7, r3, r5
/* 80305218 00300E78 7C C3 28 AE */ lbzx r6, r3, r5
/* 8030521C 00300E7C 88 07 00 01 */ lbz r0, 1(r7)
/* 80305220 00300E80 7C 03 29 AE */ stbx r0, r3, r5
/* 80305224 00300E84 38 A5 00 10 */ addi r5, r5, 0x10
/* 80305228 00300E88 98 C7 00 01 */ stb r6, 1(r7)
/* 8030522C 00300E8C 88 C7 00 02 */ lbz r6, 2(r7)
/* 80305230 00300E90 88 07 00 03 */ lbz r0, 3(r7)
/* 80305234 00300E94 98 07 00 02 */ stb r0, 2(r7)
/* 80305238 00300E98 98 C7 00 03 */ stb r6, 3(r7)
/* 8030523C 00300E9C 88 C7 00 04 */ lbz r6, 4(r7)
/* 80305240 00300EA0 88 07 00 05 */ lbz r0, 5(r7)
/* 80305244 00300EA4 98 07 00 04 */ stb r0, 4(r7)
/* 80305248 00300EA8 98 C7 00 05 */ stb r6, 5(r7)
/* 8030524C 00300EAC 88 C7 00 06 */ lbz r6, 6(r7)
/* 80305250 00300EB0 88 07 00 07 */ lbz r0, 7(r7)
/* 80305254 00300EB4 98 07 00 06 */ stb r0, 6(r7)
/* 80305258 00300EB8 98 C7 00 07 */ stb r6, 7(r7)
/* 8030525C 00300EBC 88 C7 00 08 */ lbz r6, 8(r7)
/* 80305260 00300EC0 88 07 00 09 */ lbz r0, 9(r7)
/* 80305264 00300EC4 98 07 00 08 */ stb r0, 8(r7)
/* 80305268 00300EC8 98 C7 00 09 */ stb r6, 9(r7)
/* 8030526C 00300ECC 88 C7 00 0A */ lbz r6, 0xa(r7)
/* 80305270 00300ED0 88 07 00 0B */ lbz r0, 0xb(r7)
/* 80305274 00300ED4 98 07 00 0A */ stb r0, 0xa(r7)
/* 80305278 00300ED8 98 C7 00 0B */ stb r6, 0xb(r7)
/* 8030527C 00300EDC 88 C7 00 0C */ lbz r6, 0xc(r7)
/* 80305280 00300EE0 88 07 00 0D */ lbz r0, 0xd(r7)
/* 80305284 00300EE4 98 07 00 0C */ stb r0, 0xc(r7)
/* 80305288 00300EE8 98 C7 00 0D */ stb r6, 0xd(r7)
/* 8030528C 00300EEC 88 C7 00 0E */ lbz r6, 0xe(r7)
/* 80305290 00300EF0 88 07 00 0F */ lbz r0, 0xf(r7)
/* 80305294 00300EF4 98 07 00 0E */ stb r0, 0xe(r7)
/* 80305298 00300EF8 98 C7 00 0F */ stb r6, 0xf(r7)
/* 8030529C 00300EFC 42 00 FF 78 */ bdnz lbl_80305214
lbl_803052A0:
/* 803052A0 00300F00 38 04 00 01 */ addi r0, r4, 1
/* 803052A4 00300F04 7C 05 00 50 */ subf r0, r5, r0
/* 803052A8 00300F08 54 00 F8 7E */ srwi r0, r0, 1
/* 803052AC 00300F0C 7C 09 03 A6 */ mtctr r0
/* 803052B0 00300F10 7C 05 20 40 */ cmplw r5, r4
/* 803052B4 00300F14 4C 80 00 20 */ bgelr
lbl_803052B8:
/* 803052B8 00300F18 7C C3 2A 14 */ add r6, r3, r5
/* 803052BC 00300F1C 7C 83 28 AE */ lbzx r4, r3, r5
/* 803052C0 00300F20 88 06 00 01 */ lbz r0, 1(r6)
/* 803052C4 00300F24 7C 03 29 AE */ stbx r0, r3, r5
/* 803052C8 00300F28 38 A5 00 02 */ addi r5, r5, 2
/* 803052CC 00300F2C 98 86 00 01 */ stb r4, 1(r6)
/* 803052D0 00300F30 42 00 FF E8 */ bdnz lbl_803052B8
/* 803052D4 00300F34 4E 80 00 20 */ blr
|