g_update.asm

来自「TI C54写的G729代码,视线8kbps高质量语音解码,汇编优化」· 汇编 代码 · 共 57 行

ASM
57
字号
;==========================================================================
;  File Name
;  ----------
;  G_UPDATE.ASM
;
;  Brief Description of the Code:
;  ------------------------------
;  Update table of past quantized energies
;
;  Ref
;  ------
;  GAINPRED.C
;==========================================================================
;  Function  Gain_update
;----------------------------------------------------------------------
;  void Gain_update(
;       Word16 past_qua_en[],/* (io) Q10 :Past quantized energies        */
;       Word32  L_gbk12   /* (i) Q13 : gbk1[indice1][1]+gbk2[indice2][1] */
;       )
;----------------------------------------------------------------------
;  Input    :  A = L_gbk12
;
;  Pointers :  ptr_prev_qua_eng -> past_qua_en
;
;----------------------------------------------------------------------
;  Modified Registers : AR5
;-----------------------------------------------------------------------
		.mmregs
        .include ..\include\const.h
        .include ..\include\ld8amem.h

        .def     Gain_update
        .ref     Log2

        .asg     "Addr_local_buf1", exp
        .asg     "Addr_local_buf1+1", frac

Gain_update:
        CALLD   Log2
        STM     #exp, AR5

        LD      *AR5+, 16, A
        SUB     #13, 16, A
        ADD     *AR5, 1, A
        LD      A, 13, A
        STM     #24660, T
        MVDM    ptr_prev_qua_eng, AR5
        MPYA    A

        MAR     *+AR5(2)
        DELAY   *AR5-
        DELAY   *AR5-
        DELAY   *AR5

        RETD
        STL     A, -16, *AR5

⌨️ 快捷键说明

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