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

📄 fly.asm

📁 DSP实现滤波器功能
💻 ASM
字号:
*********************************************************
**********************滤波程序***************************
*********************************************************
               .mmregs
               .ref filter_start
               .ref filter_end
               .def START
K_DATA_SIZE   .set 256         
K_BUFFER_SIZE .set 8
K_STACK_SIZE  .set 256
K_A           .set 3
K_B           .set 4
K_CIR         .set K_BUFFER_SIZE
   
STACK         .usect "stack",K_STACK_SIZE
SYSTEM_STACK  .set   K_STACK_SIZE+STACK
   
DATA_DP       .usect "filter_vars",0
filterdata    .usect "filter_vars",K_DATA_SIZE
bufferdatay   .usect "filter_vars",K_BUFFER_SIZE*2
bufferdatax   .usect "filter_vars",K_BUFFER_SIZE*2
   
                 .data
                 .global inputdata
inputdata
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16305
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16304
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16304
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16304
     .WORD  21315, 4595, -2444, 11368, 15066, -2014, -8408, 6957 
     .WORD  12879, -1643, -5536, 11893, 19128, 4966, 428, 16304
     
         .text
         .asg AR2,ORIGIN
         .asg AR3,INPUT
         .asg AR4,FILTER
         .asg AR5,OUTPUT
         
START:
            SSBX FRCT
            SSBX INTM
            LD   #DATA_DP,DP
            STM  #SYSTEM_STACK,SP
            CALL filter_start
            NOP
            NOP
            NOP
LOOP
            B LOOP
            
            
            
            .def b1,b2,b3,a1,a2
            .def filter_start
            
b1         .set 1456H
b2         .set 3D07H
b3         .set 3D07H 
b4         .set 1456H 
a1         .set -103AH 
a2         .set 430FH 
a3         .set -1016H             
       
            .text
filter_start:
            STM   #K_CIR,BK
            STM   #1,AR0
            STM   #inputdata,ORIGIN
            STM   #bufferdatax,INPUT
            STM   #bufferdatay,FILTER
            STM   #filterdata,OUTPUT
            
            RPT   #K_A-1
            MVDD  *ORIGIN+,*INPUT+0%
            STM   #bufferdatax,INPUT
            
            RPT   #K_A-1
            MVDD  *INPUT+0%,*FILTER+0%
            STM   #bufferdatay,FILTER
            ;STM   #bufferdatax,INPUT
            
            STM   #K_DATA_SIZE-3-1,BRC
            RPTB  filter_end-1
            
            MVDD  *ORIGIN+,*INPUT
            RPT   #K_B-1-1
            MAR   *INPUT-0%
            MPY   *INPUT+0%,#b4,B
            LD    B,A
            MPY   *INPUT+0%,#b3,B
            ADD   B,A
            MPY   *INPUT+0%,#b2,B
            ADD   B,A
            MPY   *INPUT+0%,#b1,B
            ADD   B,A
            MPY   *FILTER+0%,#a3,B
            ADD   B,A
            MPY   *FILTER+0%,#a2,B
            ADD   B,A
            MPY   *FILTER+0%,#a1,B
            ADD   B,A
            STH   A,*FILTER-0%
            STH   A,*OUTPUT+
            MAR   *FILTER-0%
            NOP
filter_end:
            RET
            .end
                  
   

⌨️ 快捷键说明

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