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

📄 addfun.s54

📁 c5x中关于混合编程的实验
💻 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 + -