📄 pre_zero.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 + -