summaryrefslogtreecommitdiffstats
path: root/arm-wt-22k/lib_src/ARM-E_mastergain_gnu.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm-wt-22k/lib_src/ARM-E_mastergain_gnu.s')
-rw-r--r--arm-wt-22k/lib_src/ARM-E_mastergain_gnu.s109
1 files changed, 0 insertions, 109 deletions
diff --git a/arm-wt-22k/lib_src/ARM-E_mastergain_gnu.s b/arm-wt-22k/lib_src/ARM-E_mastergain_gnu.s
deleted file mode 100644
index b4e905b..0000000
--- a/arm-wt-22k/lib_src/ARM-E_mastergain_gnu.s
+++ /dev/null
@@ -1,109 +0,0 @@
-@***********************************************************
-@ Function: SynthMasterGain
-@ Processor: ARM-E
-@ Description: Copies 32-bit synth output to 16-bit buffer
-@ with saturated gain control
-@ C-callable.
-@
-@ Usage:
-@ SynthMasterGain(
-@ pInputBuffer
-@ pOutputBuffer,
-@ nGain,
-@ nNumLoopSamples
-@ );
-@
-@ Copyright Sonic Network Inc. 2004
-@****************************************************************
-@ Revision Control:
-@ $Revision: 496 $
-@ $Date: 2006-12-11 14:33:26 -0800 (Mon, 11 Dec 2006) $
-@****************************************************************
-@
-@ where:
-@ long *pInputBuffer
-@ PASSED IN: r0
-@
-@ EAS_PCM *pOutputBuffer
-@ PASSED IN: r1
-@
-@ short nGain
-@ PASSED IN: r2
-@
-@ EAS_U16 nNumLoopSamples
-@ PASSED IN: r3
-@
-@****************************************************************
-
- .include "ARM_synth_constants_gnu.inc"
-
- .arm
- .text
-
- .func SynthMasterGain
-SynthMasterGain:
-
- .global SynthMasterGain @ allow other files to use this function
-
-
-
-
-
-@ Stack frame
-@ -----------
- .equ RET_ADDR_SZ, 0 @return address
- .equ REG_SAVE_SZ, 0 @save-on-entry registers saved
- .equ FRAME_SZ, (8) @local variables
- .equ ARG_BLK_SZ, 0 @argument block
-
- .equ PARAM_OFFSET, (ARG_BLK_SZ + FRAME_SZ + REG_SAVE_SZ + RET_ADDR_SZ)
-
-@ Register usage
-@ --------------
-pnInputBuffer .req r0
-pnOutputBuffer .req r1
-nGain .req r2
-nNumLoopSamples .req r3
-
- STMFD sp!,{r4-r6,r14} @Save any save-on-entry registers that are used
-
- LDR r6, =0x7fff @constant for saturation tests
-
-loop:
- LDR r4, [pnInputBuffer], #4 @fetch 1st output sample
-
- LDR r5, [pnInputBuffer], #4 @fetch 2nd output sample
-
- SMULWB r4, r4, nGain @output = gain * input
-
- CMP r4, r6 @check for positive saturation
- MOVGT r4, r6 @saturate
- CMN r4, r6 @check for negative saturation
- MVNLT r4, r6 @saturate
-
- SMULWB r5, r5, nGain @output = gain * input
-
- STRH r4, [pnOutputBuffer], #NEXT_OUTPUT_PCM @save 1st output sample
-
- CMP r5, r6 @check for positive saturation
- MOVGT r5, r6 @saturate
- CMN r5, r6 @check for negative saturation
- MVNLT r5, r6 @saturate
- STRH r5, [pnOutputBuffer], #NEXT_OUTPUT_PCM @save 2nd output sample
-
- SUBS nNumLoopSamples, nNumLoopSamples, #2
- BGT loop
-
-@
-@ Return to calling function
-@----------------------------------------------------------------
-
- LDMFD sp!,{r4-r6, lr} @ return to calling function
- BX lr
-
-@*****************************************************************************
-
- .endfunc @ end of function/procedure
-
- .end @ end of assembly code
-