📄 second.asm
字号:
#define N 14
.segment/dm dm_data;
.var input[N]="signal.dat";
.var mid[2*N];
.var output[N];
.endseg;
.segment/pm pm_data;
.var lowpass[N]=0x0037,0x0FD12,0x0408,0x0FE98,0x0FD22,0x029F,0x02C0,
0x0FB19,0x0FE36,0x086F,0x0FEBF,0x0F0C5,0x0CDD,0x3ED2;
.endseg;
.segment/pm pm_rsti;
dmwait=0x21;
pmwait=0x21;
jump start;
.endseg;
.segment/pm pm_code;
start: m0=0;
m1=1;
m9=1;
m2=-1;
m3=2*N-1;
m4=13;
b1=mid; //begin
l1=@mid;
b2=mid; //end
l2=@mid;
i3=output;
i4=input;
b9=lowpass;
l9=@lowpass;
lcntr=28,do next until lce;
next: dm(i1,m1)=0;
//first set
r9=dm(i4,m1);
dm(i1,m0)=f9; //first data
modify(i2,m3); //move to end
r1=dm(i1,m1);
lcntr=14,do back2 until lce;
r5=0;
lcntr=14,do back1 until lce;
r2=dm(i2,m2),r3=pm(i9,m9);
r4=r2+r1;
r4=r4*r3(ssf);
r5=r4+r5;
back1: r1=dm(i1,m1);
dm(i3,m1)=r5;
modify(i1,m4);
modify(i2,m4);
r9=dm(i4,m1);
back2: dm(m2,i1)=r9;
end: idle;
.endseg;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -