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

📄 fir.asm

📁 采用汇编实现FIR滤波器
💻 ASM
字号:
******************************************************
*			fir.asm		                             *
******************************************************
			.title "fir.asm"
			.mmregs
		
			.def _c_int00			

K_FIR	     .set	37
K_FRAME_SIZE .set   256

			.data
;input		.copy 	fir_impulse_input
input		.copy 	fir_1k_2500_input
;input		.copy 	fir_1k_3k_input
output      .space  K_FRAME_SIZE

COEF		.sect  "FIR_COEF"
			.word  -32, -117, 0, 212, 104, -228, -304, 294, 602, -154
			
			.word  -973, -232, 1366, 1035, -1717, -2778, 1959, 10184
			
			.word  14336, 10184, 1959, -2778, -1717, 1035, 1366, -232
			
			.word  -973, -154, 602, 294, -304, -288, 104, 212, 0, -117, -32


coef_buf    .usect "COEF_BUF", 40
data_buf    .usect "DATA_BUF", 40

			.text
_c_int00	STM  #coef_buf, AR3
			RPT  #K_FIR-1
			MVPD #COEF, *AR3+             ;initial coef_buf		
			
			STM  #data_buf,AR4
			RPTZ A, #K_FIR-1            
			STL	 A, *AR4+                 ;initial data_buf with 0 
			
			STM #data_buf, AR3  	      ;AR3 -> oldest in data_buf
			STM #coef_buf, AR4            ;AR4 -> last in coef_buf 
			
        	STM #input, AR5				  ;AR5 -> input
			STM #output, AR6		      ;AR6 -> output
			STM #-1, AR0
			
			STM K_FRAME_SIZE-1, BRC
			RPTBD LOOP-1
			STM #K_FIR, BK
			
			LD  *AR5+,A
			STL A, *AR3+%
 			
			RPTZ A, K_FIR-1
			MAC *AR3+0%, *AR4+0%, A
			STH A, *AR6+			
LOOP

END:	B 	END
		.end

⌨️ 快捷键说明

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