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

📄 fir0.asm

📁 《DSP原理及应用》配套源代码
💻 ASM
字号:
	.mmregs
			.global start
			.def  	start,_c_int00
			     				
INDEX 		.set 	1
KS			.set  	256 					;输入样本数据个数
          		    
N           .set    17 		            	;FIR滤波器阶数
COFF_FIR	.sect  "COFF_FIR"				;FIR滤波器系数
			.word  0
			.word  158
			.word  264
			.word  -290
			.word  -1406
			.word  -951
			.word  3187
			.word  9287
			.word  12272
			.word  9287
			.word  3187
			.word  -951
			.word  -1406
			.word  -290
			.word  260
			.word  158
			.word  0
		   
			.data
INPUT		.copy  	"firin.inc"             ;输入数据在数据区0x2400
OUTPUT		.space	1024                    ;输出数据在数据区0x2500
;COFFTAB	    .usect	"FIR_COFF",N
DATABUF		.usect	"FIR_BFR",N
BOS			.usect	"STACK",0Fh
TOS			.usect	"STACK",1 

			.text
			;.asg	AR0,INDEX_P
			.asg	AR4,DATA_P			;输入数据x(n)循环缓冲区指针
			.asg 	AR6,INBUF_P			;模拟输入数据指针
		 	.asg	AR7,OUTBUF_P 		;FIR滤波器输出数据指针
_c_int00
		b start 
		nop
		nop
start:  SSBX	FRCT  					;小数乘法编程时,设置FRCT(小数方式)位
				
		;STM		#INDEX,INDEX_P	
		STM		#DATABUF,DATA_P			;数据缓冲区清零
		RPTZ	A,#N-1
		STL		A,*DATA_P+			
		
FIR_TASK:
        STM		#DATABUF,DATA_P
		STM		#INPUT,INBUF_P
        STM 	#OUTPUT,OUTBUF_P    
        STM		#KS-1,BRC				
        RPTB	LOOP-1
        LD		*INBUF_P+,A				;装载输入数据
FIR_FILTER:								;FIR滤波运算
 		STL		A,*DATA_P				;输入样本值x(n)
 		STM		#DATABUF+N-1,DATA_P	;数据缓冲区指针指向x[n-(N-1)]
		RPTZ	A, #N-1
 		MACD	*DATA_P-,COFF_FIR,A	
		STH		A,*OUTBUF_P+
		MAR   	*DATA_P+
LOOP:
EEND	B 	EEND
 		.end

⌨️ 快捷键说明

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