📄 addfun.s54
字号:
;******************************************************************************
; SJTU DSP Tech. Center
; Copyright (c) 2003 SJTU DSP Tech. Center. All Rights Reserved.
;
; Description:
; TMS320C54x Program for Students Experiment
;
; History:
; Date Authors Changes
; 2003/17/07 Xu Sheng Created.
;******************************************************************************
.mmregs
;------------------------------------------------
;int mix_func(int *wl, int *wr, int val)
;{
; int i, val_min, tmp[8];
;------------------------------------------------
var_tmp .set 0
;ST1
off_m .set -8
off_p .set 8
frame_size .set 9
;return address
arg_wr .set frame_size+1
arg_val .set frame_size+2
.global _mix_func ;make the function label to be global
.text
_mix_func:
pshm ST1
frame #off_m
ssbx OVM
;------------------------------------------------
; for(i=0; i<8; i++)
; tmp[i] = wl[i] * wr[i];
;------------------------------------------------
stm #8-1, BRC
mvdk *SP(arg_wr), AR3 ;AR3=wr
mvmm SP, AR4 ;AR4=tmp
stlm A, AR2 ;AR2=wl
rptb tmp_loop-1
mpy *AR2+, *AR3+, A
stl A, *AR4+
tmp_loop:
;------------------------------------------------
; val_min = val;
; for(i=0; i<8; i++)
; {
; if(val_min>tmp[i])
; val_min = tmp[i];
; }
;
; return val_min;
;}
;------------------------------------------------
ld *SP(arg_val), A
mvmm SP, AR2 ;AR2=tmp
stm #8-1, BRC
rptb compare_loop-1
ld *AR2+, B
min A
compare_loop:
frame #off_p
popm ST1
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -