⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convolve.asm

📁 TI C54写的G729代码,视线8kbps高质量语音编码,汇编优化
💻 ASM
字号:
;==========================================================================
;  File Name
;  ----------
;  CONVOLVE.ASM
;
;  Brief Description of the Code:
;  ------------------------------
;  Perform the convolution between two vectors x[] and h[] and
;  write the result in the vector y[].
;  All vectors are of length N.
;
;  Ref
;  ------
;  FILTER.C
;==========================================================================
;  void Convolve(
;    Word16 x[],      /* (i)     : input vector                           */
;    Word16 h[],      /* (i) Q12 : impulse response                       */
;    Word16 y[],      /* (o)     : output vector                          */
;    Word16 L         /* (i)     : vector size                            */
;  )
;-----------------------------------------------------------------------
;  Str_Conv           .sturct
;  ptr_x              .word   1
;  ptr_h              .word   1
;  ptr_y              .word   1
;  Str_Conv_Len       .endstruct
;-----------------------------------------------------------------------
;  Str_Conv   param_conv
;-----------------------------------------------------------------------
;  Input  : BRC = L - 1
;           pConv_X -> x
;           pConv_H -> h
;           pConv_y -> y
;
;  Output : y[]
;
;  Modified Registers : AR3, AR4, AR5
;
;  Note   : DP = 0
;-----------------------------------------------------------------------
;  Modification by Chuan (3/97)
;
;   Using AR3 - AR5 as input parameters instead of param_conv.
;-----------------------------------------------------------------------
        .MMREGS
        .include ..\include\const.h
        .include ..\include\struct.h
        .include ..\include\ld8amem.h
        .include ..\include\convolve.h

        .def     Convolve

Convolve:
        LD      #0, DP

        SSBX    OVM

        RPTBD   BLK_END-1
        STM     #0, AR0
                LD      #0, A
                RPT     AR0
                        MAC    *pConv_X+, *pConv_H-, A
                LD      A, 3, A
                STL     A, -16,*pConv_Y+

                MAR     *AR0+                   ; n++
                MAR     *pConv_X-0
                MAR     *pConv_H+
				NOP
                MAR     *pConv_H+0
BLK_END
        RSBX    OVM
        RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -