📄 dspmem(bitmap).s
字号:
CNTR=0x3F00;
DO TEST1_IDMTestLoop2 UNTIL CE;
AX0=DM(I4,M4);
PX=0XFF;
AY0=0XFFFF;
NONE=AX0-AY0;
IF NE JUMP IDMTestError;
PX=0;
SR0=0;
DM(I4,M4)=SR0;
TEST1_IDMTestLoop2: MODIFY(I4,M5);
PX=0;
AX0=2;
DM(HDR0)=AX0;
!================
!W1 ==>up
!================
I4=0;
M5=1;
PX=0XFF;
AX0=0XFFFF;
CNTR=0x3F00;
DO TEST1_IDMTestLoop3 UNTIL CE;
TEST1_IDMTestLoop3: DM(I4,M5)=AX0;
!================
!R1,W0 <==down
!================
I4=0x3EFF;
M5=-1;
CNTR=0x3F00;
DO TEST1_IDMTestLoop4 UNTIL CE;
AX0=DM(I4,M4);
PX=0xFF;
AY0=0xFFFF;
NONE=AX0-AY0;
IF NE JUMP IDMTestError;
PX=0;
SR0=0;
DM(I4,M4)=SR0;
TEST1_IDMTestLoop4: MODIFY(I4,M5);
!================
!W1 <==down
!================
I4=0x3EFF;
M5=-1;
PX=0XFF;
AX0=0XFFFF;
CNTR=0x3F00;
DO TEST1_IDMTestLoop5 UNTIL CE;
TEST1_IDMTestLoop5: DM(I4,M5)=AX0;
!================
!R1 <==up
!================
I4=0;
M5=1;
CNTR=0x3F00;
DO TEST1_IDMTestLoop6 UNTIL CE;
AX0=DM(I4,M4);
PX=0XFF;
AY0=0XFFFF;
NONE=AX0-AY0;
IF NE JUMP IDMTestError;
TEST1_IDMTestLoop6: MODIFY(I4,M5);
RTS;
IDMTestError:
AX0=I4;
PX=0X0;
AX1=0X01;
AY1=DM(I4,M4);
DM(HDR0)=AX0;
JUMP IDMTestError;
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IPMHiTest: L4=0;
M4=0;
!================
!W0 <==>up
!================
I4=0x1000;
M5=1;
PX=0;
AX0=0;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST0_NEXT1;
I4=0;
CNTR=0X1000;
TEST0_NEXT1: DO TEST0_IPMHiTestLoop1 UNTIL CE;
TEST0_IPMHiTestLoop1: PM(I4,M5)=AX0;
!================
!R0,W1==> up
!================
I4=0x1000;
M5=1;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST0_NEXT2;
I4=0;
CNTR=0X1000;
TEST0_NEXT2:
DO TEST0_IPMHiTestLoop2 UNTIL CE;
AX0=PM(I4,M4);
PX=0;
AY0=0;
NONE=AX0-AY0;
IF NE JUMP IPMHiTestError;
PX=0xFF;
SR0=0xFFFF;
PM(I4,M4)=SR0;
TEST0_IPMHiTestLoop2: MODIFY(I4,M5);
!================
!W0 <==>up
!================
I4=0x1000;
M5=1;
PX=0;
AX0=0;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST0_NEXT3;
I4=0;
CNTR=0X1000;
TEST0_NEXT3: DO TEST0_IPMHiTestLoop3 UNTIL CE;
TEST0_IPMHiTestLoop3: PM(I4,M5)=AX0;
!================
!R0,W1 <==down
!================
I4=0x3FFF;
M5=-1;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST0_NEXT4;
I4=0xFFF;
CNTR=0X1000;
TEST0_NEXT4:
DO TEST0_IPMHiTestLoop4 UNTIL CE;
AX0=PM(I4,M4);
PX=0x00;
AY0=0x0000;
NONE=AX0-AY0;
IF NE JUMP IPMHiTestError;
PX=0xFF;
SR0=0xFFFF;
PM(I4,M4)=SR0;
TEST0_IPMHiTestLoop4: MODIFY(I4,M5);
!================
!W0 <==>down
!================
I4=0x3FFF;
M5=-1;
PX=0;
AX0=0;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST0_NEXT5;
I4=0xFFF;
CNTR=0X1000;
TEST0_NEXT5:
DO TEST0_IPMHiTestLoop5 UNTIL CE;
TEST0_IPMHiTestLoop5: PM(I4,M5)=AX0;
!================
!R0 <==up
!================
I4=0x3FFF;
M5=-1;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST0_NEXT6;
I4=0xFFF;
CNTR=0X1000;
TEST0_NEXT6:
DO TEST0_IPMHiTestLoop6 UNTIL CE;
AX0=PM(I4,M4);
PX=0;
AY0=0;
NONE=AX0-AY0;
IF NE JUMP IPMHiTestError;
TEST0_IPMHiTestLoop6: MODIFY(I4,M5);
TEST1_IPM_BEGIN:
L4=0;
M4=0;
!================
!W1 <==>up
!================
I4=0x1000;
M5=1;
PX=0XFF;
AX0=0XFFFF;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST1_NEXT1;
I4=0;
CNTR=0X1000;
TEST1_NEXT1: DO TEST1_IPMHiTestLoop1 UNTIL CE;
TEST1_IPMHiTestLoop1: PM(I4,M5)=AX0;
!================
!R1,W0==> up
!================
I4=0x1000;
M5=1;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST1_NEXT2;
I4=0;
CNTR=0X1000;
TEST1_NEXT2:
DO TEST1_IPMHiTestLoop2 UNTIL CE;
AX0=PM(I4,M4);
PX=0XFF;
AY0=0XFFFF;
NONE=AX0-AY0;
IF NE JUMP IPMHiTestError;
PX=0;
SR0=0;
PM(I4,M4)=SR0;
TEST1_IPMHiTestLoop2: MODIFY(I4,M5);
!================
!W1 <==>up
!================
I4=0x1000;
M5=1;
PX=0XFF;
AX0=0XFFFF;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST1_NEXT3;
I4=0;
CNTR=0X1000;
TEST1_NEXT3: DO TEST1_IPMHiTestLoop3 UNTIL CE;
TEST1_IPMHiTestLoop3: PM(I4,M5)=AX0;
!================
!R1,W0 <==down
!================
I4=0x3FFF;
M5=-1;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST1_NEXT4;
I4=0xFFF;
CNTR=0X1000;
TEST1_NEXT4:
DO TEST1_IPMHiTestLoop4 UNTIL CE;
AX0=PM(I4,M4);
PX=0xFF;
AY0=0xFFFF;
NONE=AX0-AY0;
IF NE JUMP IPMHiTestError;
PX=0;
SR0=0;
PM(I4,M4)=SR0;
TEST1_IPMHiTestLoop4: MODIFY(I4,M5);
!================
!W1 <==>down
!================
I4=0x3FFF;
M5=-1;
PX=0XFF;
AX0=0XFFFF;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST1_NEXT5;
I4=0xFFF;
CNTR=0X1000;
TEST1_NEXT5:
DO TEST1_IPMHiTestLoop5 UNTIL CE;
TEST1_IPMHiTestLoop5: PM(I4,M5)=AX0;
!================
!R1 <==up
!================
I4=0x3FFF;
M5=-1;
CNTR=0x3000;
AR =PASS AF;
IF NE JUMP TEST1_NEXT6;
I4=0xFFF;
CNTR=0X1000;
TEST1_NEXT6:
DO TEST1_IPMHiTestLoop6 UNTIL CE;
AX0=PM(I4,M4);
PX=0XFF;
AY0=0XFFFF;
NONE=AX0-AY0;
IF NE JUMP IPMHiTestError;
TEST1_IPMHiTestLoop6: MODIFY(I4,M5);
!write flag
ax0=0x03;
dm(HDR0)=ax0;
PX=0;
AX0=0;
AF=AX0+0;
!55h means ipmhi test pass
RTS;
IPMHiTestError:
AX0=I4;
PX=0X00;
AX1=0X02;
AY1=PM(I4,M4);
DM(HDR0)=AX0;
ipmer:
jump ipmer;
endflag: AY0=0;
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -