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

📄 fir.asm

📁 汇编语言写的FIR滤波器,包括.cmd文件,开发环境CCS5000.
💻 ASM
字号:
        .title   "FIR.ASM"
        .mmregs
        .def  start
        .bss  yn,1
        
xn      .usect  "xn",37
hn      .usect  "hn",37
indata  .usect  "indata",300
outdata .usect  "outdata",256

        .data
fir_coff:  
   .word  -10*32768/10000,-36*32768/10000
   .word  0*32768/10000,65*32768/10000
   .word  32*32768/10000,-88*32768/10000
   .word  -93*32768/10000,90*32768/10000
   .word  184*32768/10000,-47*32768/10000
   .word  -297*32768/10000,-71*32768/10000
   .word  417*32768/10000,316*32768/10000
   .word  -524*32768/10000,-848*32768/10000
   .word  598*32768/10000,3108*32768/10000
   .word  4375*32768/10000
   .word  3108*32768/10000,598*32768/10000
   .word  -848*32768/10000,-524*32768/10000
   .word  316*32768/10000,417*32768/10000
   .word  -71*32768/10000,-297*32768/10000
   .word  -47*32768/10000,184*32768/10000
   .word  90*32768/10000,-93*32768/10000
   .word  -88*32768/10000,32*32768/10000
   .word  65*32768/10000,0*32768/10000
   .word  -36*32768/10000,-10*32768/10000
           
         .text
start:   
      ssbx   frct       ;使用小数运算         
      stm    #hn,ar1    ;系数首地址     
      rpt    #36        ;将系数移入循
      mvpd   fir_coff,*ar1+ ;环缓冲区           
      stm    #-1,ar0
      stm    #outdata,ar5
      stm    #indata,ar4
      stm    #xn+36,ar2
      rpt    #36       ;将输入数据移入  
      mvdd   *ar4+,*ar2+0% ;循环缓冲区
      stm    #xn+36,ar2 ;指向第一个输入
      stm    #hn+36,ar3
      stm    #37,bk      ;缓冲区大小37
      stm    #255,brc    ;块重复256次
      stm    #-1,ar0
      rptb   loop-1      ;块程序重复大小
      rptz   a,#36       ;计算一个输出
      mac    *ar2+0%,*ar3+0%,a
      sth    a,*(yn)       ;保存输出
      mvkd   *(yn),*ar5+
      mvdd   *ar4+,*ar2+0%  ;读进一个输入
loop:  nop
       b      loop
      .end  
                    
         
         
         
         
         

⌨️ 快捷键说明

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