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

📄 fir.asm

📁 ti的dsp C5000下面的一个fir滤波程序
💻 ASM
字号:
	.title "fir.asm"
	.mmregs
	.global	_c_int00       
;PA0	.set	0
;PA1	.set	1
size	.set	14
x_new	.usect	"NewData",	14
x_old	.usect	"OldData",	14
input   .usect  "NewData2", 100
output  .usect  "OldData2", 100
	;.bss	y,1
	.bss    count, 1
	.data

COEF:   .word   32768*17/10000       ;	H0----H27
        .word   32768*229/10000
        .word   -32768*315/10000
        
        .word   -32768*110/10000
        .word   -32768*224/10000
        .word   32768*205/10000
        
        .word   -32768*215/10000
	.word   -32768*383/10000     
	.word   32768*140/10000
	
        .word   32768*659/10000
	.word   -32768*98/10000
	.word   -32768*1190/10000
	
	.word   32768*1005/10000
	.word   32768*4908/10000

	
	.text
_c_int00:
	ld	#0,	a
	stm	#x_new,	ar2    
	rpt	#13
	stl	a,	*ar2+
	stm	#x_old,	ar2
	rpt	#13
	stl	a,	*ar2+   ;清零
	;ld	#y,	DP
	st	#0,	*(count)
	ssbx 	frct		;小数乘法
	stm	#size,	bk
	stm	#-1,	ar0
	stm	#x_new,	ar2            ;ar2指向x_new最上面的值
	stm	#x_old+(size-1),ar3    ;ar3指向x_old最下面的值
        stm #input, ar4
        stm #output, ar5
	;portr	PA1,	*ar2
	mvdd *ar4+, *ar2
FIR:	add	*ar2+0%,  *ar3+0%,  a
	rptz	b,	#(size-1)
	firs	*ar2+0%,  *ar3+0%,  COEF
        ld      #0   ,a	
	;sth	b,	@y
	;portw	@y,	PA0
	sth b, *ar5+
	mar	*+ar2(2)%
	nop
	mar	*ar3+%
	mvdd	*ar2,	*ar3+0%
	
	addm	#1,	*(count)
	cmpm	*(count),100
	bc	done,	tc
	bd	FIR
	;portr	PA1,	*ar2
	mvdd *ar4+, *ar2
	nop
done:	b	done
	
	.sect	"VECTORS"
reset:
	b	_c_int00
	.end

⌨️ 快捷键说明

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