1250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; ------------------------------------------------------------------ 2250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; Copyright (C) 1998-2009 PacketVideo 3250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 4250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; Licensed under the Apache License, Version 2.0 (the "License"); 5250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; you may not use this file except in compliance with the License. 6250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; You may obtain a copy of the License at 7250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 8250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; http://www.apache.org/licenses/LICENSE-2.0 9250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 10250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; Unless required by applicable law or agreed to in writing, software 11250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; distributed under the License is distributed on an "AS IS" BASIS, 12250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; express or implied. 14250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; See the License for the specific language governing permissions 15250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; and limitations under the License. 16250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; ------------------------------------------------------------------- 17250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 18250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 19250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 20250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; Filename: pvmp3_polyphase_filter_window.s 21250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 22250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber;------------------------------------------------------------------------------ 23250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; REVISION HISTORY 24250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 25250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 26250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; Who: Date: MM/DD/YYYY 27250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; Description: 28250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; 29250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber;------------------------------------------------------------------------------ 30250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 31250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber EXPORT pvmp3_polyphase_filter_window 32250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 33250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber IMPORT ||Lib$$Request$$armlib|| [WEAK] 34250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber IMPORT ||Lib$$Request$$cpplib|| [WEAK] 35250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber IMPORT pqmfSynthWin 36250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 37250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 38250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 39250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber;------------------------------------------------------------------------------ 40250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 41250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber AREA |.text|, CODE, READONLY, ALIGN=2 42250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 43250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 44250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber;------------------------------------------------------------------------------ 45250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 46250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber|pvmp3_polyphase_filter_window| PROC 47250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 48250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber stmfd sp!,{r0-r2,r4-r11,lr} 49250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 50250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub sp,sp,#4 51250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[sp,#0xc] 52250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r1,PolyPh_filter_coeff 53250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 54250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r2,r2,#1 55250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r10,#1 56250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber str r2,[sp] 57250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 58250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; Accumulators r9, r11::> Initialization 59250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 60250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas HuberLoop_j 61250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r9, #0x20 62250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r11, #0x20 63250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r4, #0x10 64250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas HuberLoop_i 65250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r2,r4,r10 66250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r3,r0,r2,lsl #2 67250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r2,r4,r10 68250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r5,[r3] 69250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr lr,[r1] 70250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r12,r0,r2,lsl #2 71250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r12,#0x780] 72250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r2,r9,lr,r5 73250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r2,r11,lr,r6 74250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[r1,#4] 75250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r7,[r12,#0x80] 76250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r5,r11,r2,r5 77250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smull r6,r5,r2,r6 78250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r9,r9,r5 79250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r5,[r1,#8] 80250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r8,[r3,#0x700] 81250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r4,r4,#0x200 82250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r6,r9,r5,r7 83250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smull r6,r2,r5,r8 84250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r5,[r1,#0xc] 85250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r11,r11,r2 86250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r8,r9,r5,r8 87250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r7,r11,r5,r7 88250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r5,[r3,#0x100] 89250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[r1,#0x10] 90250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r12,#0x680] 91250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal lr,r9,r2,r5 92250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal lr,r11,r2,r6 93250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[r1,#0x14] 94250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r7,[r12,#0x180] 95250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r5,r11,r2,r5 96250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smull r6,r5,r2,r6 97250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r1,#0x18] 98250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r8,[r3,#0x600] 99250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r9,r9,r5 100250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r5,r9,r6,r7 101250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smull r2,r5,r6,r8 102250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r1,#0x1c] 103250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r11,r11,r5 104250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r8,r9,r6,r8 105250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[r1,#0x20] 106250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r5,[r3,#0x200] 107250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r7,r11,r6,r7 108250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r12,#0x580] 109250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal lr,r9,r2,r5 110250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal lr,r11,r2,r6 111250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[r1,#0x24] 112250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r7,[r12,#0x280] 113250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r5,r11,r2,r5 114250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smull r6,r5,r2,r6 115250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r1,#0x28] 116250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r8,[r3,#0x500] 117250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r9,r9,r5 118250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r5,r9,r6,r7 119250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smull r2,r5,r6,r8 120250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r1,#0x2c] 121250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r11,r11,r5 122250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 123250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r8,r9,r6,r8 124250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r7,r11,r6,r7 125250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r5,[r3,#0x300] 126250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r8,[r1,#0x30] 127250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r12,#0x480] 128250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r7,r9,r8,r5 129250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r7,r11,r8,r6 130250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r8,[r1,#0x34] 131250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,[r12,#0x380] 132250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r5,r11,r8,r5 133250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smull r6,r5,r8,r6 134250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r1,#0x38] 135250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 136250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 137250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r3,[r3,#0x400] 138250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r9,r9,r5 139250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r7,r9,r6,r12 140250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smull r8,r7,r6,r3 141250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber cmp r4,#0x210 142250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber sub r11,r11,r7 143250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 144250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[r1,#0x3c] 145250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r1,r1,#0x40 146250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r3,r9,r2,r3 147250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r12,r11,r2,r12 148250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 149250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber blt Loop_i 150250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 151250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r3,r9, asr #6 152250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r4,r3, asr #15 153250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber teq r4,r3, asr #31 154250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,LOW_16BITS 155250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[sp] 156250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber eorne r3,r12,r3,asr #31 157250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r4,[sp,#8] 158250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r2,r10,lsl r2 159250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r4,r4,r2,lsl #1 160250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber strh r3,[r4] 161250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 162250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r3,r11,asr #6 163250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r4,r3,asr #15 164250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber teq r4,r3,asr #31 165250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber eorne r3,r12,r3,asr #31 166250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,[sp,#0xc] 167250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r11,[sp,#8] 168250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber rsb r2,r2,r12,lsl #5 169250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r2,r11,r2,lsl #1 170250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber strh r3,[r2] 171250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 172250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r10,r10,#1 173250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber cmp r10,#0x10 174250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber blt Loop_j 175250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 176250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber; Accumulators r4, r5 Initialization 177250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 178250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r4,#0x20 179250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r5,#0x20 180250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r3,#0x10 181250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas HuberPolyPh_filter_loop2 182250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r2,r0,r3,lsl #2 183250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,[r2] 184250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r8,[r1] 185250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r2,#0x80] 186250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r12,r4,r8,r12 187250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,[r1,#4] 188250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r7,[r2,#0x40] 189250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r6,r4,r12,r6 190250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 191250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,[r1,#8] 192250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r2,#0x180] 193250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r7,r5,r12,r7 194250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,[r2,#0x100] 195250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r7,[r1,#0xc] 196250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[r2,#0x140] 197250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r12,r4,r7,r12 198250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,[r1,#0x10] 199250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r3,r3,#0x80 200250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r6,r4,r12,r6 201250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r6,[r1,#0x14] 202250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber cmp r3,#0x210 203250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber smlal r2,r5,r6,r2 204250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r1,r1,#0x18 205250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 206250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber blt PolyPh_filter_loop2 207250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r0,r4,asr #6 208250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r2,r0,asr #15 209250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber teq r2,r0,asr #31 210250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldrne r12,LOW_16BITS 211250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r1,[sp,#8] 212250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber eorne r0,r12,r0,asr #31 213250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber strh r0,[r1,#0] 214250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r0,r5,asr #6 215250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r2,r0,asr #15 216250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber teq r2,r0,asr #31 217250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldrne r12,LOW_16BITS 218250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r2,[sp] 219250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r1,#0x10 220250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber eorne r0,r12,r0,asr #31 221250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldr r12,[sp,#8] 222250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber mov r1,r1,lsl r2 223250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add r1,r12,r1,lsl #1 224250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber strh r0,[r1] 225250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber add sp,sp,#0x10 226250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ldmfd sp!,{r4-r11,pc} 227250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 228250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 229250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas HuberPolyPh_filter_coeff 230250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber DCD pqmfSynthWin 231250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas HuberLOW_16BITS 232250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber DCD 0x00007fff 233250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 234250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber ENDP 235250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 236250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber 237250f2433c6e1cf2727a79971fdc6ce0f8677037aAndreas Huber END 238