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

📄 c5_4_4.asm

📁 dsp入门与实践一书的源代码
💻 ASM
字号:
            	.ref   		usb_transfer 
pcr1        	.equ    		01900024h
pcr        	.equ    		018c0024h
			.global 		ftranform
			.global		sinx
			.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
		.word		-14895,26201,23880,-18012,-18012,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
			
		.sect  	".datatt"			
tt:		.word		216,433,649,865,1081,1298,1514,1730,1946,2163,2379,2595,2811,3028,3244,3460
		.word		03677,3893,4109,4325,4542,4761,4981,5200,5420,5639,5859,6078,6298,6518,6737
		.word		6957, 07176,7396,7615,7835,8054,8274,8493,8713,8933,9152,9375 ,9598,9821
		.word		10043,10266,10489, 10712,10935,11158,11380,11603,11826,12049,12272,12494
		.word		12717,12940,13163,13386,13609,13831,14057, 14284, 14510,14736,14962,15188
		.word		15414,15640,15866,16092,16318,16545,16771,16997,17223,17449,17675, 17901
		.word		18127,18353,18579,18809,19038,19268,19497,19726,19956,20185,20414, 20644
		.word		20873, 21103, 21332, 21561, 21791,22020,22249,22479,22708,22938,23167, 23396
		.word		23629,23862,24094,24327,24560,24792,25025, 25258, 25490, 25723, 25956, 26188
		.word		26421,26653,26886,27119,27351,27584,27817,28049,28282,28518,28754, 28990
		.word		29226,29462,29698,29934,30169,30405,30641,30877,31113,31349,31585, 31821
		.word		32057, 32293, 32529, 32765,33001,33237,33476,33715,33954,34193, 34433, 34672
		.word		34911,35150,35389,35629,35868,36107,36346, 36585, 36825, 37064, 37303, 37542
		.word		37782,38021,38260,38502,38745,38987,39230,39472,39715,39957, 40200, 40442
		.word		40685, 40927, 41170,41412,41655,41897,42140,42382,42625, 42867, 43110, 43352
		.word		43604, 43857, 44109, 44361,44614,44866,45118,45371,45623,45875, 46128, 46380
		.word		46632,46884,47137,47389,47641,47894,48146, 48398, 48651, 48906, 49162, 49417
		.word		49673,49929,50184,50440,50695,50951,51207,51462,51718,51973, 52229, 52485
		.word		52740, 52996,53251,53507,53762,54018,54277,54536, 54795, 55054, 55312, 55571
		.word		55830, 56089, 56348, 56607,56866,57124,57383,57642,57901,58160, 58419, 58678
		.word		58937, 59195, 59195
	
		.bss 		fft, 16000, 0, 0	
		.global 	ft			
		.text
ftranform:	
         	mvc 		csr,b0			
      	and 		-2,b0,b0
      	mvc 		b0,csr     			
						
		mvkl 	pcr1,a10			
         mvkh 	pcr1,a10
         mvkl 	3a0ah,b10				
         stw  		b10,*a10
         nop  	4					
         nop  	8
         nop  	8
            
         mvkl 	3a2ah,b10				
         stw  		b10,*a10
         nop  	4
         nop  	8
         nop  	8
         
         mvkl 	3a2ah,b10				
         stw  		b10,*a10
         nop  	4
         nop  	8
         nop  	8
         
         mvkl 	3a2ah,b10					
         stw  		b10,*a10
         nop  	4
         nop  	8
         nop  	8
         
         mvkl 	3a2ah,b10					
         stw  		b10,*a10
         nop  	4
         nop  	8
         nop  	8
         
         mvkl 	3a2ah,b10					
         stw  		b10,*a10
         nop  	4
         nop  	8
         nop  	8
         
         mvkl 	3a0ah,b10					
         stw  		b10,*a10
         nop  	4
		
		MVK	4000, A0				
		MVKL	fft, A4
		MVKH	fft, A4
		MVKL	0, B3					
loopout:	ADD 	B3,1,B3					
		ZERO	A5					
		ZERO	B5					
		MVKL	sinx, A2
		MVKH	sinx, A2
		MVKL	tt, A13
		MVKH	tt, A13
		MVK	250, B4					
loopin:	SUB 	B4,1,B4						
		LDW		*A13++, A6
		NOP		5		
		MPYU	B3, A6, B9				
		NOP			
		LDW		*A2++, A6			
		EXTU	B9, 16, 31, B2
		EXTU	B9, 17, 31, B1
		EXTU 	B9, 18, 18, B9
		MVK	487Fh, A8				
		MPYU	B9, A8, B8
		MPY 	B9, 6h, B7
		SHR		A6, 16, A6
		SHL     A6, 4, A6
		SHRU	B8, 16, B9
		ADD 	B9, B7, B9				
		MV 		B9, B8				
		MV		B8, A8				
		
		MV		A6, B6				
		ZERO	B9
	||	ZERO	A9
		MVKL	752h, A3				
		ADD 	B9, A3, B9				
	||	ADD 	A9, A3, A9
		MPYU	B9, B8, B12				
	||	MPYU	A9, A8, A12				
		MPYHSLU	B9, B8, B11				
	||	MPYHSLU	A9, A8, A11 				
		MPYLUHS	B9, B8, B10				
	||	MPYLUHS	A9, A8, A10				
		MPYH	B9, B8, B7					
	||	MPYH	A9, A8, A7					
		SHRU	B12, 16, B12					
	||	SHRU	A12, 16, A12
		SHL		B7, 16, B7
	||	SHL		A7, 16, A7
		ADD 	B11, B10, B9
	||	ADD 	A11, A10, A9
		ADD 	B9, B12, B9
	||	ADD 	A9, A12, A9
		ADD 	B9, B7, B9
	||	ADD 	A9, A7, A9
		
		MVKL	0CBCEh, A3					
		ADD 	B9, A3, B9					
		MVKL	61Eh, A3					
		ADD 	A9, A3, A9
		MPYU	B9, B8, B12					
	||	MPYU	A9, A8, A12
		MPYHSLU	B9, B8, B11
	||	MPYHSLU	A9, A8, A11
		MPYLUHS	B9, B8, B10
	||	MPYLUHS	A9, A8, A10
		MPYH	B9, B8, B7
	||	MPYH	A9, A8, A7
		SHRU	B12, 16, B12
	||	SHRU	A12, 16, A12
		SHL		B7, 16, B7
	||	SHL		A7, 16, A7
		ADD 	B11, B10, B9					
	||	ADD 	A11, A10, A9
		ADD 	B9, B12, B9
	||	ADD 	A9, A12, A9
		ADD 	B9, B7, B9
	||	ADD 	A9, A7, A9
	
		MVKL	559h, A3				
		ADD 	B9, A3, B9
		MVKL	7BFCh, A3
		MVKLH	0FFFFh, A3
		ADD 	A9, A3, A9
		MPYU	B9, B8, B12				
	||	MPYU	A9, A8, A12
		MPYHSLU	B9, B8, B11
	||	MPYHSLU	A9, A8, A11
		MPYLUHS	B9, B8, B10
	||	MPYLUHS	A9, A8, A10
		MPYH	B9, B8, B7
	||	MPYH	A9, A8, A7
		SHRU	B12, 16, B12
	||	SHRU	A12, 16, A12
		SHL		B7, 16, B7
	||	SHL		A7, 16, A7
		ADD 	B11, B10, B9				
	||	ADD 	A11, A10, A9
		ADD 	B9, B12, B9
	||	ADD 	A9, A12, A9
		ADD 	B9, B7, B9
	||	ADD 	A9, A7, A9
		
		MVKL	0FED2h, A3				
		MVKLH	0, A3
		ADD 	B9, A3, B9
		MVKL	0F2h, A3
		ADD 	A9, A3, A9
		MPYU	B9, B8, B12				
	||	MPYU	A9, A8, A12
		MPYHSLU	B9, B8, B11
	||	MPYHSLU	A9, A8, A11
		MPYLUHS	B9, B8, B10
	||	MPYLUHS	A9, A8, A10
		MPYH	B9, B8, B7
	||	MPYH	A9, A8, A7
		SHRU	B12, 16, B12
	||	SHRU	A12, 16, A12
		SHL		B7, 16, B7
	||	SHL		A7, 16, A7
		ADD 	B11, B10, B9				
	||	ADD 	A11, A10, A9
		ADD 	B9, B12, B9
	||	ADD 	A9, A12, A9
		ADD 	B9, B7, B9
	||	ADD 	A9, A7, A9
		
		MVKL	0Dh, A3					
		ADD 	B9, A3, B9
		MVKL	0FFF2h, A3
		MVKLH	0, A3
		ADD 	A9, A3, A9
		
		MPYU	B9, B6, B12				
	||	MPYU	A9, A6, A12
		MPYHSLU	B9, B6, B11
	||	MPYHSLU	A9, A6, A11
		MPYLUHS	B9, B6, B10
	||	MPYLUHS	A9, A6, A10
		MPYH	B9, B6, B7
	||	MPYH	A9, A6, A7
		SHRU	B12, 16, B12
	||	SHRU	A12, 16, A12
		SHL		B7, 16, B7
	||	SHL		A7, 16, A7
		ADD 	B11, B10, B9					
	||	ADD 	A11, A10, A9
		ADD 	B9, B12, B9
	||	ADD 	A9, A12, A9
		ADD 	B9, B7, B9
	||	ADD 	A9, A7, A9

			AND		B2, B1, B0				
	[B0]		ADD 	A5, B9, A5
 ||	[B0]		SUB 	B5, A9, B5
			XOR 	B2, 1, B2
			AND		B2, B1, B0
	[B0]		SUB 	A5, B9, A5
 ||	[B0]		ADD 	B5, A9, B5		
			XOR 	B1, 1, B1
			AND 	B2, B1, B0
	[B0]		ADD 	A5, A9, A5
 ||	[B0]		ADD 	B5, B9, B5			
			XOR 	B2, 1, B2
			AND 	B2, B1, B0
	[B0]		SUB 	A5, A9, A5
 ||	[B0]		SUB 	B5, B9, B5							
				
			CMPLTU	0, B4, B0		
	[B0]		B 		loopin		
			NOP 	5
							
			MPYU	B5, B5, B12		
		||	MPYU	A5, A5, A12		
			MPYHSLU	B5, B5, B11		
		||	MPYHSLU	A5, A5, A11		
			MPYLUHS	B5, B5, B10		
		||	MPYLUHS	A5, A5, A10		
			MPYH	B5, B5, B7		
		||	MPYH	A5, A5, A7		
			SHRU	B12, 16, B12		
		||	SHRU	A12, 16, A12
			SHL		B7, 16, B7
		||	SHL		A7, 16, A7
			ADD 	B11, B10, B5
		||	ADD 	A11, A10, A5
			ADD 	B5, B12, B5
		||	ADD 	A5, A12, A5
			ADD 	B5, B7, B5
		||	ADD 	A5, A7, A5
			
			ADD 	A5, B5, A5			
			STW		A5,*A4++		
			NOP		5
								
			CMPLTU	B3, A0, B1			
	[B1]		B 		loopout			
			NOP 	5
loop:			NOP					
			B 		usb_transfer		
			NOP 	5
			NOP	
			.end

⌨️ 快捷键说明

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