📄 c4_2_3.dsp
字号:
.MODULE/RAM/ABS=H#0000 DIFF;
{y(i)=a1×y(i-1)+…+an×y(i-n)+b0×x(i)+ b1×x(i-1)+…+bn×x(i-n);}
.CONST n=2;
.CONST m=1024;
.VAR/PM/RAM/CIRC/ABS=H#0700 COEFFICIENT [2*n+1];
.VAR/DM/RAM/ABS=H#3000 DATA[m], OUT[m];
.ENTRY DIFFRENTIAL;
.GLOBAL DATA, OUT, COEFFICIENT;
.INIT COEFFICIENT :<xs>;
.INIT DATA:<in>; JUMP START: NOP; NOP; NOP;
RTI: NOP; NOP; NOP;
RTI: NOP; NOP; NOP;
RTI: NOP; NOP; NOP;
RTI: NOP; NOP; NOP;
RTI: NOP; NOP; NOP;
RTI: NOP; NOP; NOP;
START: L0 = 0; I0 = ^DATA;
L1 = 0; I1 = ^OUT;
M0 = -1; M1 = 1;
M2 = 0; M3 = n+2;
L4 = %COEFFICIENT;
I4 = ^ COEFFICIENT;
M4 = 1;
CNTR = m;
DO INPUT UNTIL CE;
AX0 = DM (I0, M1);
INPUT: IO (0) = AX0;
I0 = ^DATA;
CNTR = n+2;
DO INITIAL UNTIL CE;
AX0 = DM (I0, M1);
IO (1) = AX0;
INITIAL: DM (I1, M1) = AX0;
MODIFY (I1, M0);
MY0 = PM (I4, M4);
MX0 = DM (I4, M0);
MX1 = DM (I0, M0);
SE = 3;
CNTR = m-n-2;
DO COMPUTE UNTIL CE;
CALL DIFFRENTIAL;
SR = ASHIFT MR1 (HI);
IO (1) = SR1;
MODIFY (I1, M3);
DM (I1, M2) = SR1;
MX0 = DM (I1, M0);
MODIFY (I0, M3);
MODIFY (I0, M1);
COMPUTE: MX1 = DM (I0, M0);
IDLE;
DIFFRENTIAL MR = 0;
CNTR = n;
DO PLUSYI UNTIL CE;
PLUSYI MR = MR+MX0*MY0 (SS);
MX0 = DM (I1, M0);
MY0 = PM (I4, M4);
CNTR = n+1;
DO PLUSXI UNTIL CE;
PLUSXI: MR = MR+MX1*MY0 (SS);
MX1 = DM (I0, M0);
MY0 = PM (I4, M4);
RTS;
.ENDMOD;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -