mpy32.asm

来自「算术运算在我们普通的计算机上很容易实现!但是在我们的DSP上」· 汇编 代码 · 共 38 行

ASM
38
字号
		.title "MPY32"
		.mmregs
		.def  	start,_c_int00 
		.bss 	x1 , 1
		.bss	x0 ,1
		.bss 	y1 , 1
		.bss	y0 ,1
		.bss 	w3 , 1
		.bss 	w2 , 1
		.bss 	w1 , 1
		.bss 	w0 , 1
table 		.long  -001A002BH,003C004DH
        .text 
_c_int00
		b start 
		nop
		nop
start:  LD    	#x1 ,DP
		STM		#x1,AR1
		RPT		#3 
		MVPD	table,*AR1+
		STM		#x0,AR2 		;AR2 = X0 addr
		STM		#y0,AR3 		;AR3 = Y0 addr
		LD 		*AR2,T 			;T = X0
		MPYU	*AR3-,A 		;A = X0*Y0
		STL 	A,w0 			;save W0
		LD 		A,- 16,A 		;A = A >> 16
		MACSU 	*AR2-,*AR3+,A 	;A = X0*Y0>>16 + X0*Y1
		MACSU 	*AR3-,*AR2,A 	;A = X0*Y0>>16 + X0*Y1 + X1*Y0
		STL 	A,w1 			;save W1
		LD 		A,- 16,A 		;A = A >> 16
		MAC		*AR2,*AR3,A 	;A = (X0*Y1 + X1*Y0)>>16 + X1*Y1
		STL 	A,w2 			;save W2
		STH 	A,w3 			;save W3
END:	B END
		.end

⌨️ 快捷键说明

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