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

📄 c4_5_6.asm

📁 dsp入门与实践一书的源代码
💻 ASM
字号:
		.global _fir8
		.text
_fir8:
		STW	.D2	A15,*B15--			
||		SUB	.L1X	B15,8,A15			
		STW	.D2	B14,*B15--[2]			
||		STW	.D1	A14,*A15--[2]			
		STW	.D2	B13,*B15--[2]			
||		STW	.D1	A13,*A15--[2]			
		STW	.D2	B12,*B15--[2]			
||		STW	.D1	A12,*A15--[2]			
						
B_START:
		MPY	.M2	B6,2,B5				
||		SHR	.S1X	B6,3,A5				
||		ADD	.L2X	A6,2,B6				

		SHR	.S2X	A8,1,B0				
||		STW	.D2	B11,*B15--[2]			
||		STW	.D1	A11,*A15--[2]			
||		ZERO	.S1	A2				

		MV	.L1X	B4,A0				
||		ADD	.S2	B4,4,B14			
||		MV	.L2X	A4,B1				
||		ADD	.S1	A4,4,A4				
||		STW	.D2	B10,*B15--[2]			
||		STW	.D1	A10,*A15--[2]			

  		LDW	.D1	*A4++[2],B9			
||		LDW	.D2	*B1++[2],A10			
||		MV	.L1	A5,A1				
||		MPY	.M2X	A5,B0,B0			
||		SUB	.S1X	B5,4,A3				
||		ZERO	.L2	B11				
||		MVK	.S2	2,B2				

LOOP:
  [!A2]	SHR	.S1	A10,15,A12		
||		MPYH	.M2	B7,B9,B13	
|| [A2]	ADD	.L1	A7,A10,A7		
||		MPYHL	.M1X	B7,A11,A10	
||		ADD	.L2X	A14,B4,B7	
||		LDW	.D2	*B14++[2],B7	
||		LDW	.D1	*A0++[2],A8	
|| [B2]	SUB	.S2	B2,1,B2			

  		ADD	.L1	A10,A7,A13	
||		MPYHL	.M2X	A9,B10,B12	
||		MPYLH	.M1	A9,A11,A10	
||		ADD	.L2	B13,B7,B7	
||		LDW	.D2	*B1++[2],A11	
||		LDW	.D1	*A4++[2],B10	
|| [A1]	SUB	.S1	A1,1,A1			
|| [!B2]	SUB	.S2	B0,1,B0		

  [B0]	B	.S2	LOOP			
||		MPY	.M1	A9,A11,A11	
||		ADD	.L1X	B9,A13,A13	
||		MPYLH	.M2	B8,B10,B13	
||		ADD	.L2X	A10,B7,B7	
||		LDW	.D1	*A0++[2],A9	
||		LDW	.D2	*B14++[2],B8	
|| [!A1]	SUB	.S1	A4,A3,A4	

  		MPY	.M2	B8,B10,B11	
||		MPYH	.M1	A9,A11,A11	
||		ADD	.L1X	B13,A13,A9	
||		ADD	.L2X	A10,B7,B7	
|| [!A1]	SUB	.S2	B1,B5,B1	
|| [!A1]	SUB	.S1	A0,A3,A0	
||		LDH	.D2	*B1,A8		
|| [B2]	ADD	.D1	A5,1,A2			

  [!A2]	MV	.S1	A5,A2			
||		MPYH	.M2	B8,B10,B13	
||		ADD	.L1	A11,A9,A9	
||		MPYHL	.M1X	B8,A8,A9	
||		ADD	.S2	B12,B7,B10	
|| [!A2]	STH	.D2	B11,*B6++[2]	
|| [!A2]	STH	.D1	A12,*A6++[2]	
||		ADD	.L2X	A10,0,B8	

  		ADD	.L1	A11,A9,A12	
||		ADD	.L2	B13,B10,B8	
||		MPYLH	.M2X	A8,B8,B4	
|| [!A1]	SUB	.D2	B14,B5,B14	
||		MPYHL	.M1X	A8,B9,A14	
|| [!A1]	ADD	.S2	B1,4,B1		
|| [!A1]	SUB	.S1	A0,4,A0		

  [!B2]	ADD	.L2X	A9,B8,B11		
||		ADD	.L1X	B11,A12,A12	
||		MPY	.M1	A8,A10,A7	
||		MPYLH	.M2	B7,B9,B13	
|| [A2]	SUB	.D1	A2,1,A2			
|| [!A1]	MV	.S1	A5,A1		
|| [B2]	ZERO	.D2	B11			

  [!B2]	ADD	.L1X	B13,A12,A10		
|| [!A2]	SHR	.S2	B11,15,B11	
||		MPY	.M2	B7,B9,B9	
||		MPYH	.M1	A8,A10,A10	
|| [A2]	ADD	.L2	B4,B11,B4		
||		LDW	.D1	*A4++[2],B9		
||		LDW	.D2	*B1++[2],A10		
|| [B2]	ZERO	.S1	A10				
							

		SHR	.S1	A10,15,A12		
||		LDW	.D2	*++B15,A10		
||		MV	.L1X	B15,A15			

		STH	.D2	B11,*B6++[2]		
||		STH	.D1	A12,*A6++[2]		

B_END:
		LDW	.D1	*++A15[2],B10		
||		LDW	.D2	*++B15[2],A11		

		LDW	.D1	*++A15[2],B11		
||		LDW	.D2	*++B15[2],A12		

		LDW	.D1	*++A15[2],B12		
||		LDW	.D2	*++B15[2],A13		

		LDW	.D1	*++A15[2],B13		
||		LDW	.D2	*++B15[2],A14		
||		B	.S2	B3			

		LDW	.D1	*++A15[2	],B14	
||		LDW	.D2	*++B15[2],A15		

		NOP 4

⌨️ 快捷键说明

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