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

📄 dspmem(bitmap).s

📁 AD公司DSP程序
💻 S
📖 第 1 页 / 共 2 页
字号:
!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
!!;;;测试流程如下:
!!;;;	程序先在IPM中运行,检测IDM和IPM(1000H以后的部分),测试完后将一部分测试代码搬移到IPM(2000H)以后,检测IPM(1000H)以前的部分。
!!;;;采用标准的MARCH_C+改进算法测试IPM&IDM
!!;;;MARCH_C+改进算法:
!!//检测算法说明:
!!//	测0:	全写0---地址递增;
!!//		逐个读回0再回写1---地址递增;不是0的认为错
!!//		全写0---地址递增;
!!//		逐个读回0再回写1---地址递减;不是0的认为错
!!//		全写0---地址递减;
!!//		读回0---地址递增;不是0的认为错
!!//	测1:	全写1---地址递增;
!!//		逐个读回1再回写0---地址递增;不是1的认为错
!!//		全写1---地址递增;
!!//		逐个读回1再回写0---地址递减;不是1的认为错
!!//		全写1---地址递减;
!!//		读回1---地址递增;不是1的认为错
!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
!!HDR0 IS STORED THE ERROR INDEX NUMBER 
!! 	if HDR0=1 ,IT MEANS THERE IS ERROR IN IDM 
!! 	if HDR0=2 ,WHICH MEANS ERROR OCCURED IN IPM
!!	if HDR0=3 ,WHICH MEANS PASS
!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.module dsp_main;
.CONST    HMASK=0x3FE8;
.CONST    HDR0=0x3FE0;
.CONST    HDR1=0x3FE1;
.CONST    HDR2=0x3FE2;
.CONST    HDR3=0x3FE3;
.CONST    HDR4=0x3FE4;
.CONST    HDR5=0x3FE5;
.CONST    HSR6=0x3FE6;
.CONST    HSR7=0x3FE7;
.CONST    WaitStates=0x3FF3;
.CONST    SystemControlRegister=0x3FFF;

IPMIDMTest1:            PX=0;
                        AX0=0;
                        DM(SystemControlRegister)=AX0;
                        DM(WaitStates)=AX0;
                        IMASK=0;
                        MSTAT=0;
                         DM(HDR0)=AX0;
                         AX0=0x55;
                        AF=AX0+0;
                        AX0=0;
                        CALL IDMTest; 
                        CALL IPMHiTest;
testing_ipm_low:
			PX=0;
			I4=^IPMHiTest;I1=^endflag;
			AX0=I4;AY0=I1;AR=AY0-AX0;AR=AR+1;			
			I5=0X2000;M5=1;L5=0;
			CNTR=AR;
			DO MOVE_PM  UNTIL CE;
			AX0=pm(I4,M5);
MOVE_PM:		PM(I5,M5)=AX0;	
!!CHANGE_LABEL:
!!			PX=0X38;
!!			AX0=0X0;
!!			I4=0X2002;
!!			PM(I4,M4)=AX0;
!!			I4=0X2016;
!!			PM(I4,M4)=AX0;
!!			I4=0X2009;
!!			PM(I4,M4)=AX0;
!!
!!			PX=0X1A;
!!			AX0=0X0491;
!!			I4=0X2011;
!!			PM(I4,M4)=AX0;
!!			I4=0X201E;
!!			PM(I4,M4)=AX0;
!!			I4=0X202B;
!!			PM(I4,M4)=AX0;
!!			I4=0X2038;
!!			PM(I4,M4)=AX0;
!!			I4=0X2045;
!!			PM(I4,M4)=AX0;
!!
!!			PX=0X38;
!!			AX0=0XFFF0;
!!			I4=0X2023;
!!			PM(I4,M4)=AX0;
!!			I4=0X2030;
!!			PM(I4,M4)=AX0;
!!			I4=0X203D;
!!			PM(I4,M4)=AX0;
!!
!!
!!
!!			PX=0X3D;
!!			AX0=0X0005;
!!			I4=0X2006;
!!			PM(I4,M4)=AX0;
!!			I4=0X200B;
!!			PM(I4,M4)=AX0;
!!			I4=0X2018;
!!			PM(I4,M4)=AX0;
!!			I4=0X2025;
!!			PM(I4,M4)=AX0;
!!			I4=0X2032;
!!			PM(I4,M4)=AX0;
!!			I4=0X2041;
!!			PM(I4,M4)=AX0;
!!
!!			PX=0X16;
!!			AX0=0X008E;
!!			I4=0X2007;
!!			PM(I4,M4)=AX0;
!!			AX0=0X022E;
!!			I4=0X2019;
!!			PM(I4,M4)=AX0;
!!			AX0=0X015E;
!!			I4=0X200C;
!!			PM(I4,M4)=AX0;	
!!			AX0=0X02FE;
!!			I4=0X2026;
!!			PM(I4,M4)=AX0;
!!			AX0=0X03CE;
!!			I4=0X2033;
!!			PM(I4,M4)=AX0;	
!!			AX0=0X045E;
!!			I4=0X2042;
!!			PM(I4,M4)=AX0;	
!!
!!			PX=0X40;
!!			AX0=0X0030;	!flag
!!			I4=0X2046;
!!			PM(I4,M4)=AX0;
!!			PX=0X1a;
!!			AX0=0X048f;
!!			I4=0X2048;
!!			PM(I4,M4)=AX0;
!!			PX=0X40;
!!			AX0=0X0021;
!!			I4=0X204b;
!!			PM(I4,M4)=AX0;
!!			PX=0X1A;
!!			AX0=0X04DF;
!!			I4=0X204D;
!!			PM(I4,M4)=AX0;
!!
!!
			
			PX=0X16;
			AX0=0XCE;
			I4=0X200b;
			PM(I4,M4)=AX0;
			
			PX=0X16;
			AX0=0X1DE;
			I4=0X2014;
			PM(I4,M4)=AX0;
                        
			PX=0X16;
			AX0=0X28E;
			I4=0X2027;
			PM(I4,M4)=AX0;
			
			PX=0X16;
			AX0=0X39E;
			I4=0X2030;
			PM(I4,M4)=AX0;
			
			PX=0X16;
			AX0=0X44E;
			I4=0X2043;
			PM(I4,M4)=AX0;
			
			PX=0X16;
			AX0=0X52E;
			I4=0X204C;
			PM(I4,M4)=AX0;
					
			PX=0X16;      
               		AX0=0X5FE;     
               		I4=0X205E;    
               		PM(I4,M4)=AX0;
               		              
               		PX=0X16;      
               		AX0=0X70E;    
               		I4=0X2067;    
               		PM(I4,M4)=AX0;
               		              
               		PX=0X16;      
               		AX0=0X7BE;    
               		I4=0X207A;    
               		PM(I4,M4)=AX0;
               		              
               		PX=0X16;      
               		AX0=0X8CE;    
               		I4=0X2083;    
               		PM(I4,M4)=AX0;
               		              
               		PX=0X16;      
               		AX0=0X97E;    
               		I4=0X2096;    
               		PM(I4,M4)=AX0;
               		              
               		PX=0X16;      
               		AX0=0XA5E;    
               		I4=0X209F;    
               		PM(I4,M4)=AX0;

			
			PX=0X1A;
			AX0=0X0AAF;
			I4=0X20AA;
			PM(I4,M4)=AX0;
			
			I6=0X2000;
			CALL (I6);
			AX0=0x3;
			dm(HDR0)=AX0;
									
DEADLOOP:               
			JUMP DEADLOOP;                        
                        IDLE;
                        
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                        
IDMTest:                L4=0;
			M4=0;
!================       
!W0 <==>up              
!================       
			I4=0;
			M5=1;
			PX=0;
			AX0=0;
			CNTR=0x3F00;
			DO TEST0_IDMTestLoop1 UNTIL CE;
TEST0_IDMTestLoop1:   	DM(I4,M5)=AX0;
                        
!================              
!R0,W1 ==>up                 
!================              
                        I4=0;
                        M5=1;
                        CNTR=0x3F00;
                        DO TEST0_IDMTestLoop2 UNTIL CE;
                                          
                        AX0=DM(I4,M4);
                        PX=0;
                        AY0=0;
                        NONE=AX0-AY0;
                        IF NE JUMP IDMTestError;
                        
                        PX=0xFF;
                        SR0=0xFFFF;
                        DM(I4,M4)=SR0;
TEST0_IDMTestLoop2:     MODIFY(I4,M5);
                        
                        PX=0;
                        AX0=2;
                        DM(HDR0)=AX0;
!================              
!W0 ==>up                      
!================              
                        I4=0;
                        M5=1;
                        PX=0;
			AX0=0;
                        CNTR=0x3F00;
                        DO TEST0_IDMTestLoop3 UNTIL CE;
TEST0_IDMTestLoop3:   	DM(I4,M5)=AX0;
 
!================
!R0,W1 <==down
!================
                        I4=0x3EFF;
                        M5=-1;
                        CNTR=0x3F00;
                        DO TEST0_IDMTestLoop4 UNTIL CE;
                                          
                        AX0=DM(I4,M4);
                        PX=0x00;
                        AY0=0x0000;
                        NONE=AX0-AY0;
                        IF NE JUMP IDMTestError;
                        
                        PX=0xFF;
                        SR0=0xFFFF;
                        DM(I4,M4)=SR0;
TEST0_IDMTestLoop4:           MODIFY(I4,M5);
!================                         
!W0 <==down       
!================
                        I4=0x3EFF;
                        M5=-1;
                        PX=0;
			AX0=0;
                        CNTR=0x3F00;
                        DO TEST0_IDMTestLoop5 UNTIL CE;                                         
TEST0_IDMTestLoop5:     DM(I4,M5)=AX0;
!================                         
!R0 <==up       
!================                       
                        I4=0;
                        M5=1;
                        CNTR=0x3F00;
                        DO TEST0_IDMTestLoop6 UNTIL CE;
                                          
                        AX0=DM(I4,M4);
                        PX=0;
                        AY0=0;
                        NONE=AX0-AY0;
                        IF NE JUMP IDMTestError;
TEST0_IDMTestLoop6:     MODIFY(I4,M5);
                        
TEST1_BEGIN:         
			L4=0;
			M4=0;
!================
!W1 <==>up
!================
			I4=0;
			M5=1;
			PX=0xFF;
			AX0=0xFFFF;
			CNTR=0x3F00;
			DO TEST1_IDMTestLoop1 UNTIL CE;
TEST1_IDMTestLoop1:   	DM(I4,M5)=AX0;
                        
!================              
!R1,W0 ==>up                 
!================              
                        I4=0;
                        M5=1;

⌨️ 快捷键说明

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