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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global DecodeDspAdpcm__Q34nw4r3snd6detailFP10_AXPBADPCMUc
DecodeDspAdpcm__Q34nw4r3snd6detailFP10_AXPBADPCMUc:
/* 80384C50 003808B0 A0 E3 00 22 */ lhz r7, 0x22(r3)
/* 80384C54 003808B4 54 80 63 26 */ rlwinm r0, r4, 0xc, 0xc, 0x13
/* 80384C58 003808B8 A1 23 00 24 */ lhz r9, 0x24(r3)
/* 80384C5C 003808BC 38 A0 00 01 */ li r5, 1
/* 80384C60 003808C0 7C E6 26 70 */ srawi r6, r7, 4
/* 80384C64 003808C4 54 E4 07 3E */ clrlwi r4, r7, 0x1c
/* 80384C68 003808C8 54 C7 10 3A */ slwi r7, r6, 2
/* 80384C6C 003808CC 7C 00 07 34 */ extsh r0, r0
/* 80384C70 003808D0 7C C3 3A 14 */ add r6, r3, r7
/* 80384C74 003808D4 7C A4 20 30 */ slw r4, r5, r4
/* 80384C78 003808D8 7D 03 3A AE */ lhax r8, r3, r7
/* 80384C7C 003808DC 7D 27 07 34 */ extsh r7, r9
/* 80384C80 003808E0 A8 C6 00 02 */ lha r6, 2(r6)
/* 80384C84 003808E4 7C 84 07 34 */ extsh r4, r4
/* 80384C88 003808E8 A8 A3 00 26 */ lha r5, 0x26(r3)
/* 80384C8C 003808EC 7C 00 0E 70 */ srawi r0, r0, 1
/* 80384C90 003808F0 7C E7 41 D6 */ mullw r7, r7, r8
/* 80384C94 003808F4 7C A5 31 D6 */ mullw r5, r5, r6
/* 80384C98 003808F8 7C 00 21 D6 */ mullw r0, r0, r4
/* 80384C9C 003808FC 7C E7 2A 14 */ add r7, r7, r5
/* 80384CA0 00380900 7C E7 02 14 */ add r7, r7, r0
/* 80384CA4 00380904 7C E7 56 70 */ srawi r7, r7, 0xa
/* 80384CA8 00380908 38 E7 00 01 */ addi r7, r7, 1
/* 80384CAC 0038090C 7C E7 0E 70 */ srawi r7, r7, 1
/* 80384CB0 00380910 2C 07 7F FF */ cmpwi r7, 0x7fff
/* 80384CB4 00380914 40 81 00 0C */ ble lbl_80384CC0
/* 80384CB8 00380918 38 E0 7F FF */ li r7, 0x7fff
/* 80384CBC 0038091C 48 00 00 10 */ b lbl_80384CCC
lbl_80384CC0:
/* 80384CC0 00380920 2C 07 80 00 */ cmpwi r7, -32768
/* 80384CC4 00380924 40 80 00 08 */ bge lbl_80384CCC
/* 80384CC8 00380928 38 E0 80 00 */ li r7, -32768
lbl_80384CCC:
/* 80384CCC 0038092C B1 23 00 26 */ sth r9, 0x26(r3)
/* 80384CD0 00380930 B0 E3 00 24 */ sth r7, 0x24(r3)
/* 80384CD4 00380934 7C E3 3B 78 */ mr r3, r7
/* 80384CD8 00380938 4E 80 00 20 */ blr
|