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

📄 suanshu.asm

📁 DSP原理实验源代码付详细实验指导书
💻 ASM
字号:
   			.title	"suanshu.asm"
			.mmregs
    		.def  	start,_c_int00 
     	.bss    x1,1	
		.bss    x2,1				
    	.bss    y1,1
		.bss    y2,1
	    		
		.bss   	z1,1
		.bss   	z2,1
		.bss   	z3_h,1
		.bss   	z3_l,1
		.bss   	z4,1

    		
v1			.set    014H			;20	-----x1
v2  		.set    036H			;54 -----y1
v3			.set    04000H          ;  0.5(fraction)----x2
v4			.set    00b548H         ;  -0.5837(fraction)-----y2
_c_int00
			b  start  

			nop
			nop
start: 	
			LD 		#x1 , DP  
			ST   	#v1 , x1
     		ST   	#v2 , y1
; * * * * * * * * * * test ADD * * * * * * * * * * * *
			LD		x1 , A        	; load  x1 -> A
     		ADD		y1 , A       	; A + y1 -> A
    	 	STL  	A , z1    		; save  A(low 16 bits) ->z1
			NOP
; * * * * * * * * * *  test SUB	* * * * * * * * * * * *
			LD		x1 , A
			SUB     y1 , A
			STL		A,z2
			NOP
; * * * * * * * * * *  test MPY (integer)	* * * * * * * * 
			RSBX   	FRCT          	; 准备整数乘法
     		LD     	x1 , T          ; x1   -> T
     		MPY   	y1 ,A        	; x1*y1 -> A (result is 32 bit)
   		  	STH   	A  ,  z3_h     	; 乘法结果高16位在 z3_h单元中
    		STL		A  ,  z3_l      ; 乘法结果低16位在z3_l单元中
     		NOP              		
 			ST   #v3 , x2
    		ST   #v4 , y2   
; * * * * * * * * * *    test MPY ((fraction)  * * * * * * *
; * *      0.5*(-0.58374)=-0.29187(0x0daa4)              * *
			
			SSBX  	FRCT          	; 准备小数乘法
     		LD   	x2 , 16 ,A    	; load x2  into A (high 16 bits)
     		MPYA  	y2 				; x2*y2 -> B, and y2 -> T
     		;LD B,1,A     		   	;计算1.125*1.5用Q14表示乘积,18.4*36.8用Q5,同时下一条中A改为B	
     		STH		B , z4      	; 结果在 z4 单元中
nop                 	
end:   B    end

⌨️ 快捷键说明

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