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

📄 c5_5_2.asm

📁 dsp入门与实践一书的源代码
💻 ASM
字号:
	         .def start
			.data              
sinx:		.word 	6957,13597,19617,24742,28740,31426,32680,32444,30728,27612,23236,17801
		.word		11554, 4780,-2212,-9102,-15578,-21344,-26136,-29736,-31981,-27609,-6947
		.word     17814, 32064, 27396, 6564,-18141,-32142,-27180,-6181, 18465, 32216, 26959
		.word 	5796,-18787,-32285,-26735,-5411, 19106, 32350, 26507,-13377,-32031, 149, 32092
		.word 	13103,-26681, -24122, 16720, 31026,-3908,-32640,-9571, 28687, 21418,-19843
		.word		-29612, 7614, 32756, 5912,-30315,-18431, 31898, -4428,-28725, 25014, 10799
		.word		-32753, 12673, 23671,-29636,-2432, 31379,-20055,-17007, 32243,-6100,-27872
		.word		26074, 9186,-32657, 14217, 22469,-32207, 29583,-15605,-4362, 22655,-32253
		.word		29472,-15379,-4617, 22841,-32298, 29358, -15151,-4872, 23024,-32340, 29243
		.word		-14922,-5126, 23207,-32381, 32609,-32738, 32765,-32693, 32519,-32246, 31873
		.word		-31403, 30836,-30174, 29420,-28575, 27642,-26624, 25525,-24347, 23094,-21770
		.word		20379,-18926, 17414,-28889, 32756, -27996, 15863, 448,-16640, 28451,-32768
		.word		28456,-16649, 458, 15854,-27990, 32755,-28894, 17423,-1364,-15055, 27509,-32718
		.word		29310,-453,-28894, 27003, 4081,-30753, 24177, 8537,-32022, 20887, 12829,-32676
		.word		17196, 16875, -32702, 13174, 20596,-32100, 8900, 23922,-30881, 4454,32743,1893
		.word		-32376,-8169, 30792, 14138,-28052,-19576, 24257, 24278,-19551,-28068, 14110
		.word		30803,-8139,-32381, 1862, 32742, 4485,-31872,-10663,-17986,-24195,-28904
		.word		-31821,-32767,-31681,-28633,-23809,-17510,-10126,-2114, 6029, 13798, 20712
		.word		26342, 30340,32458,32563,30651, 26839, 21363,-3724,-26422,-32171,-17283
		.word		8691, 29091, 30829, 12791,-13452,-31066,-28752,-7994, 17891, 32300, 25989
		.word		3007,-21904,-32765,-22607, 2052, 25395, 24756,-16906,-30553, 6428, 32758
		.word		4806,-31110,-15474, 25803, 24323,-17462,-30311, 7068, 32735, 4158,-31309
			
			.bss 		zpoint,1000		
			.bss    	zpointspace,1000
			.bss    	spacediff,1000	
			.bss    	result,1000	
			
            	.text
start:        	MVKL		sinx,A2			
			MVKH		sinx,A2
			MVKL    	zpoint,A4	
            	MVKH    	zpoint,A4
              MVKL    	zpointspace,A5		
            	MVKH    	zpointspace,A5
            	MVKL    	spacediff,A3		
            	MVKH    	spacediff,A3
            	MVKL    	result,A1		
            	MVKH    	result,A1
				
            	MVK		250,B4			
			ZERO    		B9	
			ZERO    		B2
			MV      		A4,A8
loop:			SUB 		B4,1,B4		
			LDW			*A2++,A6
            	NOP     		5
            	LDW     	*A2,A7			
            	NOP     		5
            	MPY         A6,A7,A15			
			CMPLTU		0,A15,B0	
    [!B0]   	B       		zerocycle
            	SHRU    	A6,15,A9
            	SHRU    	A7,15,A11
            	XOR     		A9,A11,A10 
            	MV      		A10,B0
    [!B0]   	B       		loop
            	NOP     		5
         
zerocycle:  	STW     		A2,*A8++         
            	ADD     		B2,1,B2       		
            	CMPLTU		0,B4,B0
	[B0]		B 			loop
			NOP 		5
			       
            	SUB     		B2,1,B2
            	MV      		B2,B3
            	SUB     		B3,1,B3
            	MV      		A4,A8
           	MV      		A5,A13
loopin:     	SUB 		B2,1,B2 
            	LDW			*A8++,A6		
            	NOP     		5
            	LDW     	*A8,A7			 
            	NOP     		5
            	SUB     		A7,A6,A12		
            	STW     		A12,*A13++       
              CMPLTU		0,B2,B0
	[B0]		B 			loopin
			NOP 		5
			
            	MV      		A5,A13
            	MV      		A3,A9
            	SUB     		B3,1,B3
diff:       	SUB     		B3,1,B3
            	LDW			*A13++,A6		
            	NOP     		5
            	LDW     	*A13,A7			
            	NOP     		5
            	SUB     		A7,A6,A8		
            	ABS     		A8,A8
            	STW     		A8,*A9++		
            	ADD     		B9,1,B9
            	CMPLTU		0,B3,B0
	[B0]		B 			diff
			NOP 		5
			MV      		A3,A9
			MV      		A1,A10
			ZERO    		B2
cycpoint:   	LDW     	*A9++,A6
			NOP     		5
			CMPLTU  	2,A6,A12
			MV      		A12,B0
	[!B0]   	B       		cycpoint
	        	NOP     		5	        
incyc:      	LDW     	*A9++,A6
	        	NOP     		5
	        	CMPLTU  	2,A6,A12
	        	MV      		A12,B0
	 [B0]   	B       		incyc
	        	NOP     		5 
	        	MVK     	1,B6
	        	SUB     		A9,4,A11 
incycpoint: 	LDW     	*A9++,A7
	        	NOP     		5
			CMPLTU  	2,A7,A13
			OR      		A13,B0,B0
	 [B0]		B       		incyc
	        	NOP     		5	 
	        	ADD     		B6,1,B6	
	        	CMPLTU  	B6,3,B1      	
	 [B1]		B       		incycpoint	
			NOP     		5
			
	        	SUB     		A11,A3,A11
	        	ADD     		A4,A11,A11
	        	LDW     	*A11,A12
	        	NOP     		5
	        	ADD     		B2,1,B2
	        	STW     		A12,*A10++      
	        	NOP     		5
	        
	        	SUB     		A9,A3,A14
	        	SHR     		A14,2,A14
	        	MV      		A14,B8 
	        	CMPLTU		B8,B9,B0
	[B0]		B 			cycpoint
			NOP 		5
            
            	LDW     	*A1,A10
            	NOP     		5 
            	SUB     		B2,2,B2
            	SHL     		B2,2,B7
            	ADD     		A1,B7,A12
            	LDW     	*A12,A11
            	NOP     		5
            
            	SUB     		A11,A10,A12
            	SHR     		A12,2,A12
            	MVK     	-1,A13                   
avg:        	ADD    	 	A13,1,A13			
            	SUB     		A12,B2,A12		
            	CMPLT		0,A12,B0			
	[B0]    	B       		avg
	        	NOP     		5		
			MVK     	16,B0                   
			ADD     		A12,B2,A12
			MVKL    	0FFFEh,A14
			MVKLH   	0FFFFh,A14
			ZERO    		A15
			ZERO    		A10
								
avgin:      	SUBC    		A12,B2,A12		
            	EXTU    		A12,31,31,A10		
            	AND     		A12,A14,A12
            	SHL     		A15,1,A15
            	ADD     		A15,A10,A15
            	SUB     		B0,1,B0			
    [B0]    	B       		avgin
            	NOP     		5			
			SHL     		A13,16,A13	
			ADD     		A13,A15,A13
loopout:		NOP
			B 			loopout		
			NOP 		5
			.end

⌨️ 快捷键说明

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