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

📄 fir2.asm

📁 FIR. 该程序用线性缓冲区和间接寻址方法实现FIR滤波器
💻 ASM
字号:
    				.title				"FIR2.ASM"
;用线性缓冲区和间接寻址方法实现FIR滤波器
				.mmregs
				.def				_c_int00
x				.usect				"x",5
h				.usect				"h",5
                .bss				y,10
                .bss				x1,10
PA0				.set				0
PA1				.set				1
				.data				
table:			.word				2*32768/10
				.word				-3*32768/10
				.word				4*32768/10
				.word				-3*32768/10
				.word				2*32768/10
table1:			.word				0x7fff
                .word				0
                .word				0
                .word				0
                .word				0
                .word				0
				.text
_c_int00:		SSBX				FRCT
				STM					#h,AR2
				RPT					#4
				MVPD				table,*AR2+
				STM					#x1,AR1
				RPT					5
				MVPD				table1,*AR1+
				STM					#y,AR5
				STM					#x+4,AR1			;AR1指向x(n-4)
				STM					#h+4,AR2			;AR2指向h4	
				STM					#4,AR0				;指针复位值4--AR0	
				STM					#x1,AR3
				STM					#5,BRC
				RPTB				loop-1
				MVMD				*AR3+,@x
;	PORTR				PA1,@XN				;input  x(n)
FIR1:			LD					*AR1-,T				;x(n-4)--T
				MPY					*AR2-,A				;h4*x(n-4)--A
				LTD					*AR1-				;x(n-3)--T
														;x(n-3)--x(n-4)
				MAC					*AR2-,A				;A+h3*x(n-3)--A
				LTD					*AR1-
				MAC					*AR2-,A
				LTD					*AR1-
				MAC					*AR2-,A
				LTD					*AR1+0
				MAC					*AR2+0,A
				STH					A,*AR5+              ;save y(n)
				NOP
loop:			NOP
			
			;	PORTW				@y,PA0				;output y(n)
			;	BD					FIR1				;循环
			;	PORTR				PA1,@XN				;input x(n)
				.end

⌨️ 快捷键说明

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