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

📄 pred_lt3.asm

📁 G.729在54X上的定点实现源代码.C++编程,可以直接下载运行,并且优化
💻 ASM
字号:
           .mmregs
           .include "ld8a.inc"
           .include "tab_ld8a.inc"
           .global  Pred_lt_3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;void Pred_lt_3(
;  Word16   exc[],       /* in/out: excitation buffer */
;  Word16   T0,          /* input : integer pitch lag */
;  Word16   frac,        /* input : fraction of lag   */
;  Word16   L_subfr      /* input : subframe size     */
;)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Pred_lt_3:
    pshm  ar0
    pshm  ar2
    pshm  ar3
    pshm  ar4
    pshm  ar5
    pshm  ar6
    
    frame -9;*sp(0)--i,*sp(1)--j,*sp(2)--k
            ;*sp(3)--x0,*sp(4)--x1,*sp(5)--x2
            ;*sp(6)--c1,*sp(7)--c2,*sp(8)--exc
            ;*sp(16)--T0,*sp(17)--frac,*sp(18)--L_subfr
    stl   a,*sp(8)
    sub   *sp(16),a
    stl   a,*sp(3)  
    
    ld    *sp(17),16,a
    neg   a
    sth   a,*sp(17)
    
    bc    pred_lt_g,ageq
    addm   #UP_SAMP,*sp(17)
    addm   #-1,*sp(3)
pred_lt_g:
    ld    #inter_3l,a
    add   *sp(17),a
    stl   a,*sp(0)   ;*sp(0)--&inter_3l[frac]
    
    ld    #UP_SAMP,a
    sub   *sp(17),a
    ld    #inter_3l,b
    add   a,b
    stl   b,*sp(2)    ;*sp(2)--&inter_3l[sub(UP_SAMP,frac)]
    
    stm   #UP_SAMP,ar0
    mvdk  *sp(8),ar6
    
    st    #0,*sp(1)     ;j=0
pred_lt_rep1:    
    mvdk  *sp(3),ar2    ;ar2--x1
    addm  #1,*sp(3)
    mvdk  *sp(3),ar3    ;ar3--x2
    mvdk  *sp(0),ar4    ;ar4--c1
    mvdk  *sp(2),ar5    ;ar5--c2
    
    ld    #0,b
    stm   #L_INTER10-1,brc
    rptb  pred_lt_rep-1
    mac   *ar2-,*ar4,b
    ld    *ar4+0,a
    mac   *ar3+,*ar5,b
    ld    *ar5+0,a
pred_lt_rep:
    add   #4000h,1,b
    sth   b,*ar6+
    
    addm  #1,*sp(1)
    ld    *sp(1),16,a
    sub   *sp(18),16,a
    bc    pred_lt_rep1,alt
       
                        
    frame  9
    
    popm  ar6
    popm  ar5
    popm  ar4
    popm  ar3
    popm  ar2
    popm  ar0
    ret

⌨️ 快捷键说明

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