📄 gaecua.s54
字号:
*-------------------------------------------------------------------------*
* *
* THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY *
* INFORMATION. IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES: *
* "COPYRIGHT 2003 MICHAEL TSIROULNIKOV, ALL RIGHTS RESERVED" *
* *
*-------------------------------------------------------------------------*/
.mmregs
.include "gaeci.h54"
.sect ".ftext3"
;-------------------------------------------------------------------------
.global _gaec_utl_avrg
;-------------------------------------------------------------------------
_gaec_utl_avrg
; S16 *psVal = a
; S16 sNew = sp(1)
; S16 sCoeff = sp(2)
;
stlm a, ar4
ssbx sxm
ssbx frct
ld *sp(1), 16, a
sub *ar4, 16, a
ld *ar4, 16, b
macar *sp(2)
sth b, *ar4
rsbx frct
ret
;-------------------------------------------------------------------------
.global _gaec_utl_pen2log
;-------------------------------------------------------------------------
_gaec_utl_pen2log
; S32 slEn = a
;
ssbx sxm
add #1, a
exp a
ld #0x780-1024, b
norm a
ld a, -16, a
add a, -5, b
mac #-512, b, a
; sub #1024, a
ret
;-------------------------------------------------------------------------
.global _gaec_utl_en2log
;-------------------------------------------------------------------------
_gaec_utl_en2log
ssbx sxm
add #1, a
exp a
ld #0x780-1024-GAEC_1DB*6, b
norm a
ld a, -16, a
add a, -5, b
mac #-512, b, a
ret
;-------------------------------------------------------------------------
.global _gaec_utl_pkt_energy
;-------------------------------------------------------------------------
_gaec_utl_pkt_energy
; S16 *psData
;
; return S32 En
;
stlm a, ar2
ssbx sxm
rptz b, #(GAEC_FR_SZ/2-1)
squra *ar2+, b
rptz a, #(GAEC_FR_SZ/2-1)
squra *ar2+, a
bd _gaec_utl_pen2log
ld a, -2, a
add b, -2, a
;-------------------------------------------------------------------------
.global _gaec_utl_exp
;-------------------------------------------------------------------------
_gaec_utl_exp
; S16 slog
; returns S16 sExp in a
;
frame #-1
ssbx sxm
ld a, -10, b
ld a, 2, a
and #4095, a
stl a, *sp(0)
squr *sp(0), a
ld a, -13, a
add *sp(0), a
stl a, *sp(0)
mpy *sp(0), #21845, a
ld a, -15, a
stlm b, t
add #4096, a
norm a
frame #1
ret
;-------------------------------------------------------------------------
.global _gaec_utl_pkt_norm
;-------------------------------------------------------------------------
_gaec_utl_pkt_norm
; S16 *psData
;
; return S32 En
;
stlm a, ar2
ssbx sxm
rptz b, #(GAEC_FR_SZ/2-1)
squra *ar2+, b
rptz a, #(GAEC_FR_SZ/2-1)
squra *ar2+, a
retd
ld a, -2, a
add b, -2, a
.if 0
;-------------------------------------------------------------------------
.global _gaec_utl_pkt_peak
;-------------------------------------------------------------------------
_gaec_utl_pkt_peak
; S16 *psIn = a
;
stlm a, ar2
ssbx sxm
stm #GAEC_FR_SZ-1, brc
ld #0, a
;
rptb L05-1
ld *ar2+, b
abs b
max a ; a= max(a, b)
L05
ret
.endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -