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

📄 corr_xy2.asm

📁 TI C54写的G729代码,视线8kbps高质量语音编码,汇编优化
💻 ASM
字号:
        .mmregs

        .include  ..\include\const.h
        .include  ..\include\tab_ld8a.h
        .include  ..\include\ld8amem.h

        .def      Corr_xy2

;----------------------------------------------------------------------
;  Corr_xy2
;----------------------------------------------------------------------
;  void Corr_xy2(
;        Word16 xn[],           /* (i) Q0  :Target vector.                  */
;        Word16 y1[],           /* (i) Q0  :Adaptive codebook.              */
;        Word16 y2[],           /* (i) Q12 :Filtered innovative vector.     */
;        Word16 g_coeff[],      /* (o) Q[exp]:Correlations between xn,y1,y2 */
;        Word16 exp_g_coeff[]   /* (o)       :Q-format of g_coeff[]         */
;  )
;----------------------------------------------------------------------
;  Contstants : Addr_xn1 -> xn
;               Addr_yn1 -> y1
;               Addr_yn2 -> y2
;               Addr_g_coeff_cs -> g_coeff
;               Addr_exp_g_coeff_cs -> exp_g_coeff
;----------------------------------------------------------------------


        .asg    "AR2", pXn
        .asg    "AR2", pYn1
        .asg    "AR3", pYn2
        .asg    "AR4", pGcoef
        .asg    "AR5", pExpGcoef
        
		.asg	"Addr_local_buf2",temp
	
Corr_xy2:
        STM     #Addr_yn2, pYn2
        STM     #Addr_g_coeff_cs + 2, pGcoef
        STM     #Addr_exp_g_coeff_cs + 2, pExpGcoef
        LD	   #1,A
        STM      #L_SUBFR-1,AR1
        STM     #temp,AR6

Next:  
        LD       *pYn2+,-3,B
        STL       B,*AR6
        SQURA    *AR6,A
        BANZ     Next,*AR1-
        MAR      *+pYn2(-40)
        LD      #1,B
        SFTA    A,6
        EXP     A
        ST      T, *pExpGcoef
        NORM    A
        ADD     B, 15, A
        SAT     A
        STL     A,-16, *pGcoef+
        ADDM    #9, *pExpGcoef+


        STM     #Addr_xn1, pXn
        STM     #Addr_yn2, pYn2

        LD      B, A
        STM     #L_SUBFR - 1,AR1
Next1:   
        LD      *pYn2+,-3,B
        STLM     B,T
        BANZD    Next1,*AR1-
        MAC     *pXn+,A
        NOP

        LD      #1,B
        SFTA    A, 7
        EXP     A
        ST      T, *pExpGcoef+
        NORM    A
        ADD     B, 15, A
        SAT     A
        LD      A, -16, A                  ; to be bit exact with c code
        NEG     A
        STL     A, *pGcoef+

        STM     #Addr_yn1, pYn1
        STM     #Addr_yn2, pYn2

        LD      B, A
        STM     #L_SUBFR - 1,AR1
Next2:
        LD      *pYn2+,-3,B
        STLM     B,T
        BANZD    Next2,*AR1-
        MAC     *pYn1+,A
        NOP
                                   
        LD      #1,B
        SFTA    A, 7
        EXP     A
        ST      T, *pExpGcoef
        NORM    A
        ADD     B, 15, A
        RETD
        STL     A,-16,*pGcoef


⌨️ 快捷键说明

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