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

📄 fir1.asm

📁 this a DSP program for FIR
💻 ASM
字号:
     .title  "fir1.asm"
     .copy  "init.h"
H:   .equ  39Ah      ;存放滤波器系数的起始地址
X:   .equ  300h      ;存放输入数据的起始地址
Y:   .equ  2300h     ;存放滤波器输出数据的起始地址
XN:  .equ  380h      ;循环缓冲区
     .data
  ;h0=h10=000h,h1=h9=2FEh,h2=h8=675h,h3=h7=9B0h,h4=h6=0BF9h,h5=0CCDh
DH:  .word  000h,02FEh,0675h,09B0h,0BF9h,0CCDh
     .word  0BF9h, 09B0h, 0675h, 02FEh, 000h         ;滤波器系数 
     .text
START:  SOVM
      ldp #0
      LARP  1
      LAR   AR1,#H
      RPT   #10
      BLDD  #DH,*-            ;将滤波器系数移至390h~39Ah单元中
      LAR   AR0,#380h         ;#XN
      ZAC
      MAR   *,AR0
      RPT   #10
      SACL  *+                 ;将循环缓冲区清0
      LAR   AR1,#X
      LAR   AR3,#Y
      LAR   AR4,#127
NEXT1: LAR  AR6,#XN
      LAR   AR7,#10
NEXT: SOVM
      LAR   AR5,#38Ah        ;N(11)个单元数据缓冲区的底部
      LAR   AR2,#H
      MAR   *,AR2
      LACC  *
      SACL  75h
      ZAC
      LT    *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *-,AR5
      MPY   *-,AR2
      LTD   *,AR5
      MPY   *
      APAC                    ;读取N个输入样本并进行N次乘法和累加
      LARP  3               
      SACH  *+,2              ;保存滤波器输出,滤波结果右移14位
      MAR   *,AR2
      LACC  75h
      SACL  *
      MAR   *,AR1
      LACC  *+
      MAR   *,AR6
      SACL  *+                ;读入新样本
      LARP  7
      BANZ  NEXT
      LARP   4
      BANZ   NEXT1
HERE:  B   HERE
       .end

⌨️ 快捷键说明

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