📄 speech_decode_frame.asm
字号:
*****************************************************************************
** Description: Speech_Decode_Frame() in sp_dec.c **
** **
** Inputs **
** **
** Speech_Decode_FrameState *st, /* io: post filter states **
** Word16 *serial, /* i : serial bit stream **
** **
** Outputs: **
** **
** Word16 *synth /* o : synthesis speech (postfiltered **
** output) **
** **
** Return value : **
** **
** Attribute : Cycles: Pm: **
** Modified Registers: **
** **
** Programmer : YANG zhiwei **
*****************************************************************************
.global _Speech_Decode_Frame
;.ref _Speech_Decode_Frame_init
.ref _Bits2prm
.ref _Decoder_amr
.ref _Post_Filter
.ref _Post_Process
.ref _buffer3
.ref _buffer4
.ref parm
.ref _synth
.ref y2_hi
.ref A_t
.ref _demodushift
.ref L_FRAME
NO13BIT .set 1
_Speech_Decode_Frame:
MOVW DP,#200H
;lcr _Speech_Decode_Frame_init
;mov ar0,#181 - 1
;addb sp,#4
_loop_main:
;mov *-sp[2],ar0
; Serial to parameters
;movl xar1, #_buffer3
movl xar1, #_buffer4
movl xar2, #_demodushift
mov acc, *xar2
addl xar1, acc ;xar1 point to serial[]
movl xar3,#parm ;xar3 point to parm[]
lcr _Bits2prm
;Synthesis
lcr _Decoder_amr
movl xar3,#_synth
movl xar1,#A_t
lcr _Post_Filter
nop
lcr _Post_Process
;post HP filter, and 15->16 bits
;.if !NO13BIT
;Truncate to 13 bits
;movl xar2,#synth
;mov al,#0xfff8
; rpt #L_FRAME - 1
; ||and *xar2++,al
; .endif
;movz ar0,*-sp[2]
;banz _loop_main,ar0--
;sub sp,#4
lretr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -