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

📄 fir.asm

📁 dsp程序:fir滤波器设计
💻 ASM
字号:
//fir.asm
#include "def21160.h"

.SECTION/DM dm_data;
.VAR indata[100]="FIRIN.dat";
.VAR newdata[11];
.VAR olddata[11];
.VAR outdata[100];

.SECTION/PM pm_data;
.VAR coff[11]="COFF.dat";

.SECTION/PM pm_rsti;
      NOP;
      USTAT2= 0x108421;  /* 1st instr. to be executed after reset */
	  DM(WAIT)=USTAT2;   /* Set external memory waitstates to 0 */
	  JUMP start;
	  
.SECTION/PM pm_code;
start:   B0=indata;
         L0=@indata;
         B1=newdata;
         L1=@newdata;
         B2=olddata;
         L2=@olddata;
         
         B8=coff;
         L8=@coff;
         
         M1=-1;// amend pointer after operation 
         M2=10;//amend olddata pointer 
         M3=1; //coff pointer (DM)
         M4=2;//+2,point oldest data of newdata buffer
         M5=0;//may be optimized,need a little time 
         M8=1;//amend coff pointer (PM)
         MODIFY(I2,M2);
         /*I1=DM(I0,M3);*/
         
         
         
         MODE1 = 0x1000000;
         CALL fir (DB);         
		 I3=outdata;             
		 L3=0;                
end:     IDLE;

fir: LCNTR=100,DO outer UNTIL LCE; 

         F5=0;
         F10=DM(I0,M3);//the same DAG error ,amend
         DM(I1,M5)=F10;
         LCNTR=11, DO inner UNTIL LCE;
           
           F0=DM(I1,M1);
           //F0=PASS F10,MODIFY(I1,M1);//the same DAG error ,amend
           /*F0=DM(I1,M1);*/
           F1=DM(I2,M1);//I2=?00050079
           F3=F0+F1;
           F8=PM(I8,M8);//F8 load coff
           F4=F3*F8;//F4 store (""+"")*coff
         inner: F5=F5+F4;//store temp output
           DM(I3,M3)=F5;
           //amend pointers
           
           MODIFY(I1,M3);
           F9=DM(I1,M5); //the same DAG error ,amend
           MODIFY(I2,M5);//+1, point oldest data of olddata 
      outer: DM(I2,M1)=F9; 
            /*DM(I2,M1)=I1;*/// instead ,olddata's pointer shift(-1)
      RTS;
       
        

⌨️ 快捷键说明

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