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

📄 corr2.asm

📁 dsp arm的很多讲义和说明。 关于怎样使用ccs bios以及matlab到dsp的代码转化
💻 ASM
字号:
/**************************************************************************
corr2.asm         ADSP-2106x

程序功能:计算X[]与Y[]的时域相关性,它们的长度可以不一样。
***************************************************************************/

#include "def21060.h"			/* Memory Mapped IOP register definitions */
#define LENGTH_X 32				/* Constant for number of points in input */
#define LENGTH_Y 31

.SECTION/DM     dm_data;		/* 定义数据存储区中的变量 */
.VAR inputx[LENGTH_X]= "square0.dat";
.VAR inputy[LENGTH_Y]= "square2.dat";
.VAR output[LENGTH_X+LENGTH_Y-1]= "zeros.dat";


.SECTION/PM     pm_rsti;		/* The reset vector resides in this space */
		NOP;
		USTAT2= 0x108421;		/* 1st instr. to be executed after reset */
		DM(WAIT)=USTAT2;		/* Set external memory waitstates to 0 */
		JUMP start;


.SECTION/PM     pm_code;
start:  M1=1;
		I0=inputx;
		L0=0;
		I3=output+LENGTH_Y-1;
		L3=0;
		/* 把inputx中的数据复制到output的后半段[LENGTH_Y-1,LENGTH_X+LENGTH_Y-2]*/
		LCNTR=LENGTH_X, do copydata until lce;
		F0=DM(I0,M1);
copydata:DM(I3,M1)=F0;

		CALL relate;			/* 调用子程序,进行相关性计算 */

end:    IDLE;


/********************* 计算时域相关性的子程序 ****************************/
relate:	I2=output;
		M1=1;
		M9=1;
		F15=0;                  				/* 用于给累加器清零 */

		/* 计算前面 LENGTH_X 个相关数据 */
		LCNTR=LENGTH_X, DO left UNTIL LCE;

		I9=I2;
		I1=inputy;								/* 指向inputy */
		F9=PASS F15, F0=DM(I1,M1), F5=PM(I9,M9);/* F0=x , F5=y */

		LCNTR=LENGTH_Y, DO inner1 UNTIL LCE;
		F13=F0*F5;
inner1:	F9=F9+F13, F0=DM(I1,M1), F5=PM(I9,M9);	/* F0=x , F5=y */
left:	DM(I2,M1)=F9;      						/* 存储计算结果,I2递增 */

		/* 计算后面 LENGTH_Y-1 个相关数据 */
		R1=LENGTH_Y;							/* 内循次数计数器 */
	 	LCNTR=LENGTH_Y-1, DO right UNTIL LCE;

		I9=I2;
		I1=inputy;								/* 指向inputy */
		R1=R1-1;								/* 内循环次数递减 */
		F9=PASS F15, F0=DM(I1,M1), F5=PM(I9,M9);/*F0=y, F5=x */

		LCNTR=R1, DO inner2 UNTIL LCE;
		F13=F0*F5;
inner2:	F9=F9+F13, F0=DM(I1,M1),F5=PM(I9,M9);	/*F0=y, F5=x */
right:	DM(I2,M1)=F9;     						/* 存储计算结果 */

		RTS;

⌨️ 快捷键说明

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