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

📄 pre_zero.asm

📁 利用G.723协议在DSP实现音频信号的压缩与解压缩实验
💻 ASM
字号:

;------------------------------------------------------------------
;/*
; * predictor_zero()
; *
; * computes the estimated signal from 6-zero predictor.
; *
; */
;-------------------------------------------------------------------------
;short
;predictor_zero(
;	struct g723_state *state_ptr)
;{
;	int		i;
;	short		sezi;
;
;	sezi = fmult(state_ptr->b[0] >> 2, state_ptr->dq[0]);
;	for (i = 1; i < 6; i++)			/* ACCUM */
;		sezi += fmult(state_ptr->b[i] >> 2, state_ptr->dq[i]);
;	return (sezi);
;}
;/*
;-------------------------------------------------------------------
     ;AR6->sezi, AR7=state_ptr
             .title   "pre_zero.asm"
             .include "g723_global.asm"
             .include "g723tab_h.asm"
             .include "g723_stat.asm"
             
             .text
predictor_zero:
     mvmm   AR7, AR4
     mar    *+AR4(b)       ; *AR7 = state_ptr->b[0]
     ld     *AR4+, -2, A   ; A = state_ptr->b[0] >> 2
     mvmm   AR7, AR5
     mar    *+AR5(dq)      ; *AR5 = state_ptr->dq[0]
     ld     *AR5+, B       ; B = state_ptr->dq[0]
                           ; A = state_ptr->b[0] >> 2     
                          
     call   fmult          ;返回值sezi=A
    
     stl    A, *AR6
     stm    #5-1, AR3
accum:
     pshm   AR3  
      
     ld     *AR5+, B       ;B = state_ptr->dq[i]
     calld   fmult          ;返回值sezi = A
     ld     *AR4+, -2, A   ;A=state_ptr->b[i] >> 2
     
     add    *AR6, A
    
     popm   AR3
     stl    A, *AR6
     
     banz   accum, *AR3-
     ret   ;*AR6=sezi  AR7=state_ptr

             .end

⌨️ 快捷键说明

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