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

📄 fir.asm

📁 DSP TMS320C55x 汇编程序 FIR滤波汇编源程序 64点 直接调用即可
💻 ASM
字号:
;
;   fir.asm - FIR filter
;
;   prototype: extern void fir(int *,int *,int *,unsigned int)                           
;
;   Entry:  arg0: AR0 - (in)    FIR filter input buffer pointer   
;           arg1: AR1 - (out)   FIR filter output buffer pointer
;           arg2: AR2 - (coeff) FIR coefficients array pointer     
;           arg3: T0  - (L)     FIR filter order
;
;   Return: T0 = signal buffer index
;
    .def  _fir
    	
_fir         
    pshm  ST1_55             ; Save ST1, ST2, and ST3
    pshm  ST2_55
    pshm  ST3_55
		
    or    #0x340,mmap(ST1_55); Set FRCT,SXMD,SATD
    bset  SMUL               ; Set SMUL
    mov   mmap(AR0),BSA01    ; AR1=base address for input 
    mov   mmap(AR2),BSA23    ; AR1=base address for coeff
    mov   mmap(T0),BK03	     ; Set coefficient array size     
    or    #0x5,mmap(ST2_55)  ; AR0 & AR2 as circular pointers    
    mov   #0,AR0             ; Start from zero offset
    mov   #0,AR2             ; Start from zero offset    
    sub   #3,T0        
    mov   T0,CSR            ; Init loop L-2 times    

    mpym  *AR0+,*AR2+,AC0    ; Do the 1st operation
||  rpt   CSR                ; Start loop
    macm  *AR0+,*AR2+,AC0
    macmr *AR0,*AR2+,AC0     ; Do the last operation 	
    mov   hi(AC0),T0         ; Save Q15 filtered value

    popm  ST3_55             ; Restore ST1, ST2, and ST3
    popm  ST2_55 
    popm  ST1_55        
    ret
    .end

⌨️ 快捷键说明

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