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

📄 zhao9h.asm

📁 这里面有很多dsp应用程序源码
💻 ASM
字号:
*****************************************
*  完成x1*x2=0.3*(-0.8)			*
*  x1:被乘数		m2:乘数的尾数	*
*  x2:乘数		ep:乘积的指数	*
*  e1:被乘数的指数	mp:乘积的尾数	*
*  m1:被乘数的尾数	product:乘积	*
*  e2:乘数的指数	temp:暂存单元	*
*****************************************
	.title	"zhao9h.asm"
	.mmregs
	.def	start
STACK	.usect	"STACK",100
	.bss	x1,1
	.bss	x2,1
	.bss	e1,1
	.bss	m1,1
	.bss	e2,1
	.bss	m2,1
	.bss	ep,1
	.bss	mp,1
	.bss	product,1
	.bss	temp,1
	.data
table:	.word	3*32768/10	;0.3
	.word	-8*32768/10	;-0.8
	.text
start:	LD	#x1,DP		;设置数据页指针
	STM	#STACK+100,SP	;设置堆栈指针
	MVPD	table,@x1	;将x1和x2传送到数据存储器
	MVPD	table+1,@x2	
	LD	@x1,16,A	;将x1规格化为浮点数
	EXP	A
	ST	T,@e1		;保存x1的指数
	NORM	A		
	STH	A,@m1		;保存x1的尾数
	LD	@x2,16,A	;将x2规格化为浮点数
	EXP	A
	ST	T,@e2		;保存x2的指数
	NORM	A
	STH	A,@m2		;保存x2的尾数
	CALL	MULT		;调用浮点乘法子程序
end:	B	end
MULT:	SSBX	FRCT
	SSBX	SXM
	LD	@e1,A		;指数相加
	ADD	@e2,A
	STL	A,@ep		;乘积指数->ep
	LD	@m1,T		;尾数相乘
	MPY	@m2,A		;乘积尾数在累加器A中
	EXP	A		;对尾数乘积规格化
	ST	T,@temp		;规格化时产生的指数->temp
	NORM	A
	STH	A,@mp		;保存乘积尾数在mp中
	LD	@temp,A		;修正乘积指数
	ADD	@ep,A		;(ep)+(temp)->ep
	STL	A,@ep		;保存乘积指数在ep中
	NEG	A		;将浮点乘积转换成定点数
	STL	A,@temp		;乘积指数反号,并且加载到T寄存器
	LD	@temp,T		;再将尾数按T移位
	LD	@mp,16,A
	NORM	A
	STH	A,@product	;保存定点乘积
	RET
	.end

⌨️ 快捷键说明

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