Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/mcode1.lst
There are no other files named mcode1.lst in the archive.
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 1
MCOD1T	MAC	17-Oct-88 14:28	

     1			000000		EDIT=0
     2			000002		VERSION=2
     3
     4						XLIST
     5						LIST
     6
     7
     8
     9
    10					TITLE	MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2
    11
    12
    13
    14
    15
    16					^
    17
    18
    19
    20
    21						COMMENT	$
    22
    23						MCODE1 TESTS MICROPROCESSOR WORKING MEMORY AND THE MASSBUS DATA BOARD.
    24					FOR WORKING MEMORY, IT CHECKS THAT ALL BITS IN ALL LOCATIONS CAN BE WRITTEN
    25					AND READ.  IT ALSO CHECKS THAT THE ADDRESSING LOGIC IS FUNCTIONING PROPERLY.
    26
    27					TO CHECK THE MASSBUS DATA BOARD, THE DIAGNOSTIC PERFORMS SOME PARTIAL MASSBUS
    28					HANDSHAKING SEQUENCES AND CHECKS FOR PROPER RESPONSES.  IT ALSO SIMULATES
    29					READ AND WRITE TRANSFERS TO VERIFY THE PROPER OPERATION OF THE DATA PATH
    30					LOGIC ON THE MASSBUS DATA BOARD.
    31					$
    32			000100			RPTCNT==100			;SET REPEAT COUNT TO 100 TIMES
    33			000001			RHDATA==1			;ASSEMBLE THE RH20 DATA TRANSFER
    34										;REQUEST CODE
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 1
MCERR	MAC	17-Oct-88 14:28	

    35					IF2	<PRINTX STARTING BINARY FILE>
    36						SEARCH	DX20CA			;READ THE CROSS ASSEMBLER
    37
    38					;MASSBUS REGISTER BIT DEFINITIONS
    39
    40					;STATUS & CONTROL REGISTER 1
    41
    42			000000		MPSCR0== 0				;REGISTER NAME
    43			000001			RUN==	  1			;RUN LINE FROM RH20
    44			000002			GO==	  2			;GO BIT
    45			000174			FN==	174			;FUNCTION CODE
    46			000004			 F0==	  4			;FUNCTION BIT 0
    47			000010			 F1==	 10			;FUNCTION BIT 1
    48			000020			 F2==	 20			;FUNCTION BIT 2
    49			000040			 F3==	 40			;FUNCTION BIT 3
    50			000100			 F4==	100			;FUNCTION BIT 4
    51			000200			WCLK==	200			;WRITE CLOCK LINE FROM RH20
    52
    53					;STATUS AND CONTROL REGISTER 2
    54
    55			000001		MPSCR1== 1				;REGISTER NAME
    56			000001			DONE==	  1			;DATA TRANSFER DONE (READ)
    57			000001			EBL==	  1			;SET EBL (WRITE)
    58			000002			EXC==	  2			;EXCEPTION LINE FROM RH20 (READ)
    59			000002			CLRGO==	  2			;SET TO CLEAR GO (WRITE)
    60			000004			CMPERR==  4			;COMPOSITE ERROR FLAG (READ)
    61			000004			START==	  4			;START A DATA TRANSFER (WRITE)
    62			000010			DTD==	 10			;DATA TO DEVICE
    63			000020			OCC==	 20			;OCCUPIED
    64			000040			ILF==	 40			;ILLEGAL FUNCTION
    65			000100			MPERR==	100			;MICRO-PROCESSOR DETECTED ERROR FLAG
    66			000200			ATA==	200			;ATTENTION
    67
    68					;ERROR CODE REGISTER
    69
    70			000002		MPECR== 2				;REGISTER NAME
    71
    72					;DRIVE TYPE REGISTER
    73
    74			000003		MPDTR== 3				;REGISTER NAME
    75
    76					;HARDWARE VERSION REGISTER
    77
    78			000004		MPHVR== 4				;REGISTER NAME
    79
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 2
MCERR	MAC	17-Oct-88 14:28	

    80					;DATA BUFFER REGISTER 0
    81
    82			000005		MPDB0== 5				;REGISTER NAME
    83
    84					;DATA BUFFER REGISTER 1
    85
    86			000006		MPDB1== 6				;REGISTER NAME
    87
    88					;DATA BUFFER REGISTER 2
    89
    90			000007		MPDB2== 7				;REGISTER NAME
    91
    92			000003			DB==	  3			;DATA BUFFER BITS 16 AND 17
    93			000004			DBPAR==	  4			;PARITY BIT
    94			000010			DBPARE== 10			;PARITY ERROR (READ)
    95			000020			DBEVEN== 20			;DATA BUFFER EVEN PARITY CONTROL
    96
    97					;GENERAL PURPOSE REGISTERS
    98
    99			000010		MPGP0==10				;REGISTER NAMES
   100			000011		MPGP1==11
   101			000012		MPGP2==12
   102			000013		MPGP3==13
   103			000014		MPGP4==14
   104			000015		MPGP5==15
   105			000016		MPGP6==16
   106			000017		MPGP7==17
   107			000020		MPGP10==20
   108			000021		MPGP11==21
   109			000022		MPGP12==22
   110			000023		MPGP13==23
   111			000024		MPGP14==24
   112			000025		MPGP15==25
   113			000026		MPGP16==26
   114			000027		MPGP17==27
   115
   116					;MP STATUS REGISTER
   117
   118			000036		MPSTAT==36				;REGISTER NAME
   119			000001			INT0==	  1			;INTERRUPT LINE 0
   120			000002			INT1==	  2			;INTERRUPT LINE 1
   121			000004			INT2==	  4			;INTERRUPT LINE 2
   122			000010			INT3==	 10			;INTERRUPT LINE 3
   123			000020			C==	 20			;CARRY BIT
   124			000040			Z==	 40			;ZERO BIT
   125
   126					;I/O BANK SELECT REGISTER
   127
   128			000037		IOSEL==37				;REGISTER NAME
   129			000007			INADR==	  7			;INPUT BANK ADDRESS
   130			000070			OUTADR== 70			;OUTPUT BANK ADDRESS
   131			000100			SPRES==	100			;STACK POINTER RESET
   132			000200			INIT==	200			;INITIALIZE
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 3
MCERR	MAC	17-Oct-88 14:28	

   133					;THE FOLLOWING AC'S ARE USED BY THE ERROR HANDLER
   134
   135					;	AC7	FLAG REGISTER
   136					;	AC6	REPEAT COUNTER
   137					;	AC5	SAVE OF BR (DURING CALL ONLY)
   138					;	AC4	SAVE OF I/O SELECT REGISTER (DURING CALL ONLY)
   139					;	AC1	CORRECT DATA FOR ERRORA CALL
   140					;	AC0	ACTUAL DATA FOR ERRORA AND ERRORM CALLS
   141
   142					;FLAG REGISTER BITS
   143
   144					;	BIT 7	ERROR LOOP
   145					;	BIT 6	ERROR DETECTED
   146					;	BIT 5	RELIABILITY MODE
   147					;	4 - 0	LAST ERROR NUMBER
   148
   149		777777	777777		%TNUM==	-1				;SET TEST NUMBER TO -1 SO ENTIRE DRIVE REGISTER
   150
   151			000000		%REQ==0
   152			000001		IFDEF	RHDATA,<%REQ==1>
   153					IFDEF	CUADRS,<%REQ==1>
   154										;IS LOADED WITH TEST NUMBER ON FIRST TEST
   155
   156					DEFINE	DEFTST(PROG),<
   157					DEFINE	TEST(E,NAME,X<;*>),<
   158					
   159						LALL
   160					X'**********************************************************************
   161					X PROG * TEST E *    NAME
   162					X'**********************************************************************
   163						SALL
   164					
   165						IFN	<^D'E^!%TNUM>&177400,<
   166						IFG %TNUM,<DATI IOSEL,AC6	;;SAVE THE IOSEL REG>
   167						LDBR	11			;;GET DEVICE CODE FOR MASSBUS INTERFACE
   168						MOVB	IOSEL			;;LOAD INTO I/O SELECT REGISTER
   169						LDBR	^D'E_-8			;;GET HIGH ORDER BITS OF TEST NUMBER
   170						MOVB	MPGP1			;;LOAD INTO MASSBUS REG 20
   171						IFG %TNUM,<	MOV	AC6,BR	;;GET SAVED IOSEL REG
   172								MOVB	IOSEL	;;RESTORE IT>
   173						>
   174						LDBR	^D'E&377		;;GET LOW ORDER BITS OF TEST NUMBER
   175						GOINK	TESTI			;;GO INITIALIZE TEST
   176						%TNUM==^D'E			;;REMEMBER TEST NUMBER
   177						%EMES==0			;;CLEAR ERROR MESSAGE NUMBER
   178						TST==TST'E			;;REMEMBER TEST PC
   179						LALL
   180					
   181					TST'E:	SALL
   182					>>
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 4
MCERR	MAC	17-Oct-88 14:28	

   183			000200		PNT==200				;ADDITIONAL PRINT ROUTINE REQUEST FLAG
   184										;ERROR PRINT ROUTINE NUMBER MUST BE IN DXGP3
   185
   186					DEFINE	ERRMAC(ADR,LADR,PRTN,COR),<
   187						GOINK	ERRSET			;;GO SET ERROR DETECTED FLAG
   188						LPADR==ADR			;;REMEMBER ERROR LOOP ADDRESS
   189						CORF==<PRTN&PNT>!COR		;;REMEMBER IF CORRECT AND ACTUAL DATA
   190							LALL
   191					
   192						ERLOOP	LADR			;;IF ERROR, LOOP TO LADR
   193					>
   194
   195					DEFINE	ERROR(LADR,MES1,MES2,PRTN<0>),<ERRMAC ERLP,LADR,PRTN,0>
   196
   197					DEFINE	ERRORM(LADR,MES1,MES2,PRTN<0>),<ERRMAC ERLPM,LADR,PRTN,100>
   198
   199					DEFINE	ERRORA(LADR,MES1,MES2,PRTN<0>),<ERRMAC ERLPA,LADR,PRTN,100>
   200
   201					DEFINE	ERRORD(LADR,MES1,MES2,PRTN<0>),<ERRMAC ERLPD,LADR,PRTN,40>
   202
   203					DEFINE	ERLOOP(ADR),<SALL
   204						IFN %EMES&<^-37>,<IF2 <
   205							LALL
   206					
   207							PRINTX ?TOO MANY ERROR MESSAGES IN ONE TEST
   208							SALL
   209						>>
   210						LDBR	CORF!%EMES		;;LOAD MESSAGE NUMBER
   211						GOINK	LPADR			;;GO TO ERROR HANDLER
   212						JMPZ	ADR			;;LOOP IF Z IS SET
   213						%EMES==%EMES+1			;;UPDATE THE MESSAGE NUMBER
   214					>
   215
   216					DEFINE	REPEAT(RADR),<
   217						GOINK	REPTU			;;GO TO REPEAT ROUTINE
   218						JMPZ	RADR			;;REPEAT IF Z IS SET
   219					>
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 5
MCERR	MAC	17-Oct-88 14:28	

   220					IFDEF RHDATA,<
   221						DEFINE	WRITE,<GOINK	SETWRT	;;CALL ROUTINE TO SET UP RH20>
   222						DEFINE	READ,<GOINK	SETRD	;;CALL ROUTINE TO SET UP RH20>
   223						DEFINE	READB,<GOINK	SETRDB	;;CALL ROUTINE TO SET UP RH20>
   224
   225						DEFINE	CHKRH(LADR,PRTN,CODE),<
   226							LDBR	<PRTN&PNT>!%EMES!CODE	;;SET UP CODE FOR EC REGISTER
   227							GOINK	CKTRM		;;CALL HOST TO CHECK TERMINATION OF RH20
   228							LALL
   229					
   230						ERRLOP	LADR			;;IF ERROR, LOOP TO LADR
   231							%EMES==%EMES+1
   232						>
   233						DEFINE	CHKTRM(LADR,MES1,MES2,PRTN<0>),<CHKRH LADR,PRTN,40>
   234						DEFINE	CHKERR(LADR,MES1,MES2,PRTN<0>),<CHKRH LADR,PRTN,140>
   235
   236						DEFINE	ERRLOP(LADR),<SALL
   237							JMPZ	LADR		;;IF ERROR, LOOP TO LADR
   238						>
   239					>
   240					IFDEF	CUADRS,<
   241						DEFINE	SNDADR,<GOINK	SENDAD	;;CALL ROUTINE TO SEND CU ADDRESSES>
   242					>
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 6
MCERR	MAC	17-Oct-88 14:28	

   243			000000		%ADRH==0				;;CLEAR HIGH ADDRESS REFERENCE FLAG
   244
   245					DEFINE	GOINK(ADR),<
   246						IFE	.&<^-1777>,<
   247							JMPSUB	ADR		;;GO TO ADDRESS IN LOW 1K
   248						>
   249						IFN	.&<^-1777>,<
   250							IFIDN <ADR><TESTI>,<
   251								JMPSUB	TESTIH
   252								%ADRH==%ADRH!1
   253							>
   254							IFIDN <ADR><LPADR>,<
   255								IFE <LPADR-ERLP>,<
   256									JMPSUB	ERLPH
   257									%ADRH==%ADRH!2
   258								>
   259								IFE <LPADR-ERLPM>,<
   260									JMPSUB	ERLPMH
   261									%ADRH==%ADRH!4
   262								>
   263								IFE <LPADR-ERLPA>,<
   264									JMPSUB	ERLPAH
   265									%ADRH==%ADRH!10
   266								>
   267								IFDEF CATAB,<
   268									IFE <LPADR-ERLPD>,<
   269										JMPSUB	ERLPDH
   270										%ADRH==%ADRH!400
   271									>
   272								>
   273							>
   274							IFIDN <ADR><ERRSET>,<
   275								JMPSUB	ERSETH
   276								%ADRH==%ADRH!20
   277							>
   278							IFIDN <ADR><REPTU>,<
   279								JMPSUB	REPTUH
   280								%ADRH==%ADRH!40
   281							>
   282							IFDEF RHDATA,<
   283								IFIDN <ADR><SETWRT>,<
   284									JMPSUB	STWRTH
   285									%ADRH==%ADRH!100
   286								>
   287								IFIDN <ADR><SETRD>,<
   288									JMPSUB	STRDH
   289									%ADRH==%ADRH!100
   290								>
   291								IFIDN <ADR><SETRDB>,<
   292									JMPSUB	STRDBH
   293									%ADRH==%ADRH!100
   294								>
   295								IFIDN <ADR><CKTRM>,<JMPSUB CKTRMH>
   296							>
   297							IFDEF CUADRS,<
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 6-1
MCERR	MAC	17-Oct-88 14:28	

   298								IFIDN <ADR><SENDAD>,<
   299									JMPSUB	SNDADH
   300									%ADRH==%ADRH!200
   301								>
   302							>
   303						>
   304					>
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 7
MCERR	MAC	17-Oct-88 14:28	

   305					DEFINE	.ECRAM,<
   306						IFE .&<^-1777>,<	JMP	BEGEND>
   307						IFN .&<^-1777>,<	JUMP	BEGEND>
   308						IFN %ADRH&1,<	TESTIH: MOVB	AC5
   309									JUMP	TEST0I>
   310						IFN %ADRH&2,<	ERLPH:	MOVB	AC5
   311									JUMP	ERLP0>
   312						IFN %ADRH&4,<	ERLPMH:	MOVB	AC5
   313									JUMP	ERLPM0>
   314						IFN %ADRH&10,<	ERLPAH: MOVB	AC5
   315									JUMP	ERLPA0>
   316						IFN %ADRH&20,<	ERSETH: JUMP	ERRSET>
   317						IFN %ADRH&40,<	REPTUH: JUMP	REPTU>
   318						IFN %ADRH&100,<	STWRTH:	LDBR	1
   319									JMP	CALLH
   320								STRDH:	LDBR	2
   321									JMP	CALLH
   322								STRDBH:	LDBR	3
   323								CALLH:	MOVB	AC5
   324									JUMP	CALL0
   325								CKTRMH:	MOVB	AC5
   326									JUMP	CKTRM0>
   327						IFN %ADRH&200,<	SNDADH:	LDBR	200
   328									MOVB	AC5
   329									JUMP	CALL0>
   330						IFN %ADRH&400,<	ERLPDH:	MOVB	AC5
   331									JUMP	ERLPD0>
   332					>
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 8
MCERR	MAC	17-Oct-88 14:28	

   333					;MICRO-DIAGNOSTIC START ROUTINE
   334
   335						.INIT	^			;INITIALIZE THE CROSS ASSEMBLER
   336
   337						SALL
   338	000000	0 004000 02 0000 
   339
   340	000001	0 002011 0 1 0 011 	BEGIN:	LDBR	11			;SELECT THE MASSBUS
   341	000002	0 066371 3 3 0 17 11 		MOVB	IOSEL			;INTERFACE
   342	000003	0 022000 1 1 0 00 00 	WAITGO:	DATI	MPSCR0,BR		;READ CONTROL REGISTER
   343	000004	0 014000 0 6 0 000 		SHR				;SHIFT GO BIT TO BIT 0
   344	000005	0 104007 4 2 0007 		JMPB0	.+2			;JUMP AROUND IF GO IS SET
   345	000006	0 100003 4 0 0003 		JMP	WAITGO			;NOT YET, KEEP WAITING
   346	000007	0 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ THE FUNCTION CODE AGAIN
   347	000010	0 014000 0 6 0 000 		SHR				;SHIFT RIGHT
   348	000011	0 014000 0 6 0 000 		SHR				;SHIFT F0 TO BIT 0
   349	000012	0 104031 4 2 0031 		JMPB0	CMDF0			;JUMP IF F0 IS SET
   350	000013	0 014000 0 6 0 000 		SHR				;SHIFT F1 TO BIT 0
   351	000014	0 104017 4 2 0017 		JMPB0	.+3			;JUMP IF RELIABILITY MODE REQUESTED
   352	000015	0 002000 0 1 0 000 		LDBR	0			;SET UP FLAG REG WITH ALL ZEROS
   353	000016	0 100020 4 0 0020 		JMP	.+2
   354	000017	0 002040 0 1 0 040 		LDBR	40			;SET RELIABILITY MODE FLAG
   355	000020	0 072171 3 5 0 07 11 		MOVB	AC7			;PUT IN AC7
   356	000021	0 002300 0 1 0 300 		LDBR	INIT+SPRES		;RESET THE DX20
   357	000022	0 066371 3 3 0 17 11 		MOVB	IOSEL			;AND THE STACK POINTER
   358	000023	0 002011 0 1 0 011 		LDBR	11			;SELECT THE MASSBUS
   359	000024	0 066371 3 3 0 17 11 		MOVB	IOSEL			;INTERFACE AGAIN
   360	000025	0 002000 0 1 0 000 		LDBR	0			;CLEAR RIGHT HALF OF DXGP3
   361	000026	0 064351 3 2 0 16 11 		MOVB	MPGP6			;TO INDICATE NO ADDITIONAL ERROR PRINTER
   362	000027	0 116033 4 7 0033 		JMPSUB	OFFGO			;TURN OFF GO
   363	000030	0 100236 4 0 0236 		JMP	TSTART			;GO START THE FIRST TEST
   364
   365	000031	0 014000 0 6 0 000 	CMDF0:	SHR				;SHIFT F1 TO BIT 0
   366	000032	0 016000 0 7 0 000 		RETURN				;RETURN TO CALLER
   367
   368	000033	0 002000 0 1 0 000 	OFFGO:	LDBR	0			;GET A ZERO
   369	000034	0 064051 3 2 0 02 11 		MOVB	MPECR			;CLEAR ERROR CODE REGISTER
   370	000035	0 032121 1 5 0 05 01 		DATI	MPSCR1,AC5		;READ STATUS REGISTER 1
   371	000036	0 002010 0 1 0 010 		LDBR	DTD			;GET MASK OF DIRECTION BIT
   372	000037	0 072133 3 5 0 05 13 		LANDBR	AC5			;KEEP ONLY THAT BIT
   373	000040	0 002002 0 1 0 002 		LDBR	CLRGO			;GET BIT TO CLEAR GO
   374	000041	0 062134 3 1 0 05 14 		LORB	AC5,BR			;COMBINE WITH COPY OF DTD
   375	000042	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;CLEAR GO AND ATA
   376	000043	0 016000 0 7 0 000 		RETURN
   377
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 9
MCERR	MAC	17-Oct-88 14:28	

   378					;TEST INITIALIZATION
   379
   380	000044	0 062130 3 1 0 05 10 	TEST0I:	MOV	AC5,BR			;GET TEST NUMBER BACK
   381	000045	0 001000 0 0 2 000 	TESTI:	LDMAR	0			;CLEAR MEMORY ADDRESS REGISTER
   382	000046	0 000400 0 0 1 000 		LDMARX	0			;ALL BITS
   383	000047	0 132157 5 5 0 06 17 		DATI	IOSEL,AC6		;SAVE IOSEL REG
   384	000050	0 010011 0 4 0 011 		LDMEM	11			;GET DEVICE CODE FOR MASSBUS INTERFACE
   385	000051	0 046371 2 3 0 17 11 		MOVMEM	IOSEL			;LOAD INTO I/O SELECT REGISTER
   386	000052	0 064211 3 2 0 10 11 		MOVB	MPGP0			;WRITE TEST NUMBER INTO DXGP0
   387	000053	0 062150 3 1 0 06 10 		MOV	AC6,BR			;GET SAVED IOSEL REG
   388	000054	0 066371 3 3 0 17 11 		MOVB	IOSEL			;RESTORE IT
   389	000055	0 002040 0 1 0 040 		LDBR	40			;GET MASK OF ONLY RELIABILITY BIT
   390	000056	0 072173 3 5 0 07 13 		LANDBR	AC7			;CLEAR ERROR AND MESSAGE NUMBER BITS
   391	000057	0 062170 3 1 0 07 10 		MOV	AC7,BR			;GET FLAGS
   392	000060	0 014000 0 6 0 000 		SHR				;SHIFT RELIABILITY MODE BIT TO BR4
   393	000061	0 106064 4 3 0064 		JMPB4	.+3			;JUMP AROUND IF RELIABILITY MODE
   394	000062	0 002000 0 1 0 000 		LDBR	0			;QUICK VERIFY, LOAD A ZERO COUNT
   395	000063	0 100065 4 0 0065 		JMP	.+2
   396	000064	0 002077 0 1 0 077 		LDBR	RPTCNT-1		;GET REPEAT COUNT
   397	000065	0 072151 3 5 0 06 11 		MOVB	AC6			;SAVE IN AC6
   398	000066	0 016000 0 7 0 000 		RETURN				;NOW START THE TEST
   399
   400					;I/O SELECT REGISTER GENERAL ROUTINES
   401
   402	000067	0 132117 5 5 0 04 17 	SAVIOS:	DATI	IOSEL,AC4		;SAVE I/O SELECT REGISTER IN AC4
   403	000070	0 002011 0 1 0 011 		LDBR	11			;SELECT MASSBUS INTERFACE
   404	000071	0 066371 3 3 0 17 11 		MOVB	IOSEL			;GO I/O
   405	000072	0 016000 0 7 0 000 	NRTN:	RETURN
   406
   407	000073	0 062110 3 1 0 04 10 	RESIOS:	MOV	AC4,BR			;GET SAVED I/O SELECT REGISTER
   408	000074	0 066371 3 3 0 17 11 		MOVB	IOSEL			;RESTORE IT
   409	000075	0 016000 0 7 0 000 		RETURN
   410
   411					;ROUTINE TO SET ATA AND/OR MPERR IN STATUS REGISTER
   412					;ENTER WITH BITS TO SET IN BR
   413
   414	000076	0 032121 1 5 0 05 01 	SETATA:	DATI	MPSCR1,AC5		;READ STATUS REGISTER
   415	000077	0 072134 3 5 0 05 14 		LORBR	AC5			;SET REQUESTED BITS
   416	000100	0 002310 0 1 0 310 		LDBR	ATA+MPERR+DTD		;GET MASK OF ONLY BITS TO SET
   417	000101	0 062133 3 1 0 05 13 		LANDB	AC5,BR			;CLEAR OTHER BITS READ
   418	000102	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO STATUS REGISTER
   419	000103	0 016000 0 7 0 000 		RETURN
   420
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 10
MCERR	MAC	17-Oct-88 14:28	

   421					;ERROR HANDLER ROUTINES
   422
   423	000104	0 002300 0 1 0 300 	ERRSET:	LDBR	300			;GET ERROR LOOP AND DETECTED FLAGS
   424	000105	0 072174 3 5 0 07 14 		LORBR	AC7			;SET BOTH BITS IN FLAG REGISTER
   425	000106	0 016000 0 7 0 000 		RETURN
   426
   427					;CHECK IF TO REPORT AN ERROR
   428
   429	000107	0 062170 3 1 0 07 10 	ERRCHK:	MOV	AC7,BR			;GET FLAG REGISTER
   430	000110	0 110112 4 4 0112 	IFNDEF .ERROR,<JMPB7	.+2>		;SKIP IF IN ERROR LOOP
   431					IFDEF  .ERROR,<JMP	REPORT>		;REPORT ALL ERRORS
   432	000111	0 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z SET TO CONTINUE TEST
   433	000112	0 062165 3 1 0 07 05 		SHL	AC7,BR			;SHIFT ERROR DETECTED BIT TO BR7
   434	000113	0 110126 4 4 0126 		JMPB7	REPORT			;REPORT IT IF SET
   435	000114	0 002037 0 1 0 037 		LDBR	37			;GET MASK FOR ERROR NUMBER
   436	000115	0 072133 3 5 0 05 13 		LANDBR	AC5			;CLEAR CONTROL BITS IN CURRENT NUMBER
   437	000116	0 062173 3 1 0 07 13 		LANDB	AC7,BR			;EXTRACT LAST ERROR NUMBER
   438	000117	0 060137 3 0 0 05 17 		OSB	AC5			;COMPARE LAST AND CURRENT ERROR NUMBERS
   439	000120	0 114122 4 6 0122 		JMPZ	NOFAIL			;JUMP IF AT SAME ERROR
   440	000121	0 016377 0 7 0 377 		RETURN	-1			;NO, RETURN WITH Z SET TO CONTINUE TEST
   441	000122	0 116067 4 7 0067 	NOFAIL:	JMPSUB	SAVIOS			;SAVE I/O REGISTER, SELECT MASSBUS
   442	000123	0 002200 0 1 0 200 		LDBR	ATA			;GET ATA BIT
   443	000124	0 072131 3 5 0 05 11 		MOVB	AC5			;SAVE IN AC5
   444	000125	0 016000 0 7 0 000 		RETURN				;RETURN WITH Z CLEAR TO SIGNAL END OF LOOP
   445
   446	000126	0 116067 4 7 0067 	REPORT:	JMPSUB	SAVIOS			;SAVE I/O REGISTER, SELECT MASSBUS
   447	000127	0 062130 3 1 0 05 10 		MOV	AC5,BR			;GET ERROR NUMBER
   448	000130	0 064051 3 2 0 02 11 		MOVB	MPECR			;PUT IN ERROR CODE REGISTER
   449	000131	0 002240 0 1 0 240 		LDBR	240			;GET MASK OF LOOP AND RELIABILITY BITS
   450	000132	0 072173 3 5 0 07 13 		LANDBR	AC7			;LEAVE ONLY THOSE TWO BITS IN FLAG REG
   451	000133	0 002037 0 1 0 037 		LDBR	37			;GET MASK OF ERROR NUMBER
   452	000134	0 062133 3 1 0 05 13 		LANDB	AC5,BR			;GET CURRENT NUMBER FROM AC5
   453	000135	0 072174 3 5 0 07 14 		LORBR	AC7			;MERGE AND PUT IN FLAG REGISTER
   454	000136	0 002300 0 1 0 300 		LDBR	ATA+MPERR		;GET ATA AND ERROR BITS
   455	000137	0 072131 3 5 0 05 11 		MOVB	AC5			;SAVE IN AC5
   456	000140	0 016000 0 7 0 000 		RETURN				;RETURN WITH Z CLEAR TO SIGNAL ERROR REPORT
   457
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 11
MCERR	MAC	17-Oct-88 14:28	

   458	000141	0 072131 3 5 0 05 11 	ERLP:	MOVB	AC5			;SAVE MESSAGE NUMBER IN AC5
   459	000142	0 116107 4 7 0107 	ERLP0:	JMPSUB	ERRCHK			;CHECK FOR ERROR
   460	000143	0 114072 4 6 0072 		JMPZ	NRTN			;NO, RETURN WITH Z CLEAR TO CONTINUE TEST
   461	000144	0 100161 4 0 0161 		JMP	ERRCOM			;GO TO COMMON ROUTINE
   462
   463	000145	0 072131 3 5 0 05 11 	ERLPM:	MOVB	AC5			;SAVE MESSAGE NUMBER IN AC5
   464	000146	0 116107 4 7 0107 	ERLPM0:	JMPSUB	ERRCHK			;CHECK FOR ERROR
   465	000147	0 114072 4 6 0072 		JMPZ	NRTN			;NO, RETURN WITH Z CLEAR TO CONTINUE TEST
   466	000150	0 044311 2 2 0 14 11 		MOVMEM	MPGP4			;PUT CORRECT DATA IN RIGHT HALF OF DXGP2
   467	000151	0 100157 4 0 0157 		JMP	ERRCA			;JUMP AROUND
   468
   469	000152	0 072131 3 5 0 05 11 	ERLPA:	MOVB	AC5			;SAVE MESSAGE NUMBER IN AC5
   470	000153	0 116107 4 7 0107 	ERLPA0:	JMPSUB	ERRCHK			;CHECK FOR ERROR
   471	000154	0 114072 4 6 0072 		JMPZ	NRTN			;NO, RETURN WITH Z CLEAR TO CONTINUE TEST
   472	000155	0 062030 3 1 0 01 10 		MOV	AC1,BR			;GET CORRECT DATA FROM AC1
   473	000156	0 064311 3 2 0 14 11 		MOVB	MPGP4			;PUT IN RIGHT HALF OF DXGP2
   474	000157	0 062010 3 1 0 00 10 	ERRCA:	MOV	AC0,BR			;GET ACTUAL DATA FROM AC0
   475	000160	0 064331 3 2 0 15 11 		MOVB	MPGP5			;PUT IN LEFT HALF OF DXGP2
   476	000161	0 062130 3 1 0 05 10 	ERRCOM:	MOV	AC5,BR			;GET BITS TO SET IN STATUS REGISTER
   477	000162	0 116076 4 7 0076 	CHKLOP:	JMPSUB	SETATA			;GO SET THE BITS
   478	000163	0 116003 4 7 0003 	CHKLP:	JMPSUB	WAITGO			;WAIT FOR GO TO SET
   479	000164	0 104170 4 2 0170 		JMPB0	ELOOPC			;JUMP IF TO CONTINUE
   480	000165	0 116033 4 7 0033 		JMPSUB	OFFGO			;TURN OFF GO
   481	000166	0 116073 4 7 0073 		JMPSUB	RESIOS			;RESTORE I/O SELECT REGISTER
   482	000167	0 016377 0 7 0 377 	ZRTN:	RETURN	-1			;RETURN WITH Z SET TO LOOP
   483
   484	000170	0 116033 4 7 0033 	ELOOPC:	JMPSUB	OFFGO			;TURN OFF GO
   485	000171	0 116073 4 7 0073 		JMPSUB	RESIOS			;RESTORE I/O SELECT REGISTER
   486	000172	0 016000 0 7 0 000 		RETURN				;RETURN WITH Z CLEAR TO CONTINUE
   487
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 12
MCERR	MAC	17-Oct-88 14:28	

   488					XLIST
   489					LIST
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 13
MCERR	MAC	17-Oct-88 14:28	

   490					XLIST
   491					LIST
   492	000173	0 002200 0 1 0 200 	SENDAD:	LDBR	200			;SET UP CODE FOR HOST
   493	000174	0 100202 4 0 0202 		JMP	CALL
   494	000175	0 002001 0 1 0 001 	SETWRT:	LDBR	1			;SET UP CODE FOR HOST
   495	000176	0 100202 4 0 0202 		JMP	CALL
   496	000177	0 002002 0 1 0 002 	SETRD:	LDBR	2			;SET UP CODE FOR HOST
   497	000200	0 100202 4 0 0202 		JMP	CALL
   498	000201	0 002003 0 1 0 003 	SETRDB:	LDBR	3			;SET UP CODE FOR HOST
   499	000202	0 072131 3 5 0 05 11 	CALL:	MOVB	AC5			;SAVE CODE IN AC5
   500	000203	0 116067 4 7 0067 	CALL0:	JMPSUB	SAVIOS			;SAVE I/O SELECT REG., SELECT MASSBUS
   501	000204	0 062130 3 1 0 05 10 		MOV	AC5,BR			;GET CODE TO PASS TO HOST
   502	000205	0 064051 3 2 0 02 11 		MOVB	MPECR			;WRITE INTO ERROR CODE REGISTER
   503	000206	0 002200 0 1 0 200 		LDBR	ATA			;GET ATTENTION BIT
   504	000207	0 116076 4 7 0076 		JMPSUB	SETATA			;SET ATTENTION IN STATUS REGISTER
   505	000210	0 116003 4 7 0003 		JMPSUB	WAITGO			;WAIT FOR GO TO SET
   506	000211	0 116033 4 7 0033 		JMPSUB	OFFGO			;TURN GO OFF AGAIN
   507	000212	0 116073 4 7 0073 		JMPSUB	RESIOS			;RESTORE THE I/O SELECT REGISTER
   508	000213	0 016000 0 7 0 000 		RETURN				;RETURN, RH20 IS SET UP
   509
   510	000214	0 072131 3 5 0 05 11 	CKTRM:	MOVB	AC5			;SAVE MESSAGE NUMBER IN AC5
   511	000215	0 116067 4 7 0067 	CKTRM0:	JMPSUB	SAVIOS			;SAVE I/O SELECT REG., SELECT MASSBUS
   512	000216	0 062130 3 1 0 05 10 		MOV	AC5,BR			;GET MESSAGE NUMBER AGAIN
   513	000217	0 064051 3 2 0 02 11 		MOVB	MPECR			;WRITE IT INTO ERROR CODE REGISTER
   514	000220	0 002200 0 1 0 200 		LDBR	ATA			;GET ATTENTION BIT
   515	000221	0 100162 4 0 0162 		JMP	CHKLOP			;TELL HOST, DECIDE IF TO LOOP ON RESPONSE
   516
   517					XLIST
   518					LIST
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 14
MCERR	MAC	17-Oct-88 14:28	

   519					;REPEAT TEST ROUTINE
   520
   521	000222	0 072147 3 5 0 06 07 	REPTU:	DECR	AC6			;DECREMENT REPEAT COUNT
   522	000223	0 114072 4 6 0072 		JMPZ	NRTN			;IF NOW -1, RETURN WITH Z CLEAR
   523	000224	0 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z SET TO REPEAT TEST
   524
   525					;REPORT END OF DIAGNOSTIC WITH 0 ERROR CODE AND 0 TEST NUMBER
   526
   527	000225	0 002011 0 1 0 011 	BEGEND:	LDBR	11			;SELECT MASSBUS INTERFACE
   528	000226	0 066371 3 3 0 17 11 		MOVB	IOSEL			;IN I/O SELECT REGISTER
   529	000227	0 002000 0 1 0 000 		LDBR	0			;GET A ZERO
   530	000230	0 064211 3 2 0 10 11 		MOVB	MPGP0			;MAKE TEST NUMBER 0
   531	000231	0 064231 3 2 0 11 11 		MOVB	MPGP1			;TO SAY END OF DIAGNOSTIC
   532	000232	0 002200 0 1 0 200 		LDBR	ATA			;GET ATTENTION BIT
   533	000233	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET IT
   534	000234	0 116003 4 7 0003 		JMPSUB	WAITGO			;WAIT FOR GO TO SET
   535	000235	0 100001 4 0 0001 		JMP	BEGIN			;START DIAGNOSTIC OVER AGAIN
   536
   537
   538	000236				TSTART:					;COME HERE TO START THE TESTING
   539
   540
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 1
MCOD1M	MAC	 6-Mar-89 15:13	

   541						DEFTST	MCODE1			;TELL TEST MACRO OF PROGRAM NAME
   542
   543						TEST	128,WORKING MEMORY LOAD ALL ZEROS TEST
   544					;***********************************************************************
   545					;* MCODE1 * TEST 128 *    WORKING MEMORY LOAD ALL ZEROS TEST
   546					;***********************************************************************
   547						SALL
   548	000236	0 002011 0 1 0 011 
   549	000237	0 066371 3 3 0 17 11 
   550	000240	0 002000 0 1 0 000 
   551	000241	0 064231 3 2 0 11 11 
   552	000242	0 002200 0 1 0 200 
   553	000243	0 116045 4 7 0045 
   554
   555	000244				TST128:	SALL
   556
   557
   558					;*LOAD AND READ ALL ZEROS INTO EACH LOCATION OF WORKING MEMORY
   559
   560	000244	0 002001 0 1 0 001 		LDBR	1			;SET UP ADDITIONAL PRINT ROUTINE NUMBER
   561	000245	0 064351 3 2 0 16 11 		MOVB	MPGP6			;IN DXGP3
   562	000246	0 002000 0 1 0 000 		LDBR	0			;GET ZEROS
   563	000247	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT IN AC1 AS CORRECT DATA
   564	000250	0 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE MEMORY ADDRESS
   565	000251	0 064271 3 2 0 13 11 		MOVB	MPGP3			;INTO DXGP1
   566	000252	0 021012 1 0 2 00 12 	WMT00:	DATI	MPGP2,MAR		;SELECT MEMORY ADDRESS
   567	000253	0 020413 1 0 1 00 13 		DATI	MPGP3,MARX		;FROM DXGP1
   568	000254	0 070030 3 4 0 01 10 	WMT01:	MOV	AC1,MEM			;WRITE DATA INTO MEMORY
   569	000255	0 052011 2 5 0 00 11 		MOVMEM	AC0			;READ MEMORY, PUT INTO AC0
   570	000256	0 062010 3 1 0 00 10 		MOV	AC0,BR			;READ DATA INTO BR
   571	000257	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE CORRECT WITH BR
   572	000260	0 114262 4 6 0262 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   573	000261	0 116104 4 7 0104 		ERRORA	WMT01,CAN'T LOAD ZEROS CORRECTLY,,PNT
   574
   575						ERLOOP	WMT01			^SALL
   576	000262	0 002300 0 1 0 300 
   577	000263	0 116152 4 7 0152 
   578	000264	0 114254 4 6 0254 
   579	000265	0 032012 1 5 0 00 12 		DATI	MPGP2,AC0		;READ LAST ADDRESS
   580	000266	0 114270 4 6 0270 		JMPZ	.+2			;SKIP IF A -1
   581	000267	0 100276 4 0 0276 		JMP	WMT02			;NO, JUST INCREMENT LOW BITS
   582	000270	0 032053 1 5 0 02 13 		DATI	MPGP3,AC2		;READ HIGH BITS INTO AC2
   583	000271	0 002003 0 1 0 003 		LDBR	3			;PUT A 3 IN BR
   584	000272	0 060057 3 0 0 02 17 		OSB	AC2			;COMPARE, SKIP IF HIGH BITS ARE ALREADY 3
   585	000273	0 114301 4 6 0301 		JMPZ	WMT0X			;IF HIGH BITS ALREADY 3, END THIS TEST
   586	000274	0 062043 3 1 0 02 03 		INC	AC2,BR			;INCREMENT HIGH BITS
   587	000275	0 064271 3 2 0 13 11 		MOVB	MPGP3			;WRITE INTO MPGP3
   588	000276	0 062003 3 1 0 00 03 	WMT02:	INC	AC0,BR			;INCREMENT LOW BITS
   589	000277	0 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE INTO MPGP2
   590	000300	0 100252 4 0 0252 		JMP	WMT00			;NOW TEST THIS LOCATION
   591
   592	000301	0 116222 4 7 0222 	WMT0X:	REPEAT	TST
   593	000302	0 114244 4 6 0244 
   594
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 2
MCOD1M	MAC	 6-Mar-89 15:13	

   595						TEST	129,WORKING MEMORY LOAD ALL ONES TEST
   596					;***********************************************************************
   597					;* MCODE1 * TEST 129 *    WORKING MEMORY LOAD ALL ONES TEST
   598					;***********************************************************************
   599						SALL
   600	000303	0 002201 0 1 0 201 
   601	000304	0 116045 4 7 0045 
   602
   603	000305				TST129:	SALL
   604
   605
   606					;*LOAD AND READ ALL ONES INTO EACH LOCATION OF WORKING MEMORY
   607
   608	000305	0 002377 0 1 0 377 		LDBR	-1			;GET ALL ONES
   609	000306	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT IN AC1 AS CORRECT DATA
   610	000307	0 002000 0 1 0 000 		LDBR	0			;CLEAR BR
   611	000310	0 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE MEMORY ADDRESS
   612	000311	0 064271 3 2 0 13 11 		MOVB	MPGP3			;INTO DXGP1
   613	000312	0 021012 1 0 2 00 12 	WMT10:	DATI	MPGP2,MAR		;SELECT MEMORY ADDRESS
   614	000313	0 020413 1 0 1 00 13 		DATI	MPGP3,MARX		;FROM DXGP1
   615	000314	0 070030 3 4 0 01 10 	WMT11:	MOV	AC1,MEM			;WRITE DATA INTO MEMORY
   616	000315	0 052011 2 5 0 00 11 		MOVMEM	AC0			;READ MEMORY, PUT INTO AC0
   617	000316	0 062010 3 1 0 00 10 		MOV	AC0,BR			;READ DATA INTO BR
   618	000317	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE CORRECT WITH BR
   619	000320	0 114322 4 6 0322 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   620	000321	0 116104 4 7 0104 		ERRORA	WMT11,CAN'T LOAD ONES CORRECTLY,,PNT
   621
   622						ERLOOP	WMT11			^SALL
   623	000322	0 002300 0 1 0 300 
   624	000323	0 116152 4 7 0152 
   625	000324	0 114314 4 6 0314 
   626	000325	0 032012 1 5 0 00 12 		DATI	MPGP2,AC0		;READ LAST ADDRESS
   627	000326	0 114330 4 6 0330 		JMPZ	.+2			;SKIP IF A -1
   628	000327	0 100336 4 0 0336 		JMP	WMT12			;NO, JUST INCREMENT LOW BITS
   629	000330	0 032053 1 5 0 02 13 		DATI	MPGP3,AC2		;READ HIGH BITS INTO AC2
   630	000331	0 002003 0 1 0 003 		LDBR	3			;PUT A 3 IN BR
   631	000332	0 060057 3 0 0 02 17 		OSB	AC2			;COMPARE, SKIP IF HIGH BITS ARE ALREADY 3
   632	000333	0 114341 4 6 0341 		JMPZ	WMT1X			;IF HIGH BITS ALREADY 3, END THIS TEST
   633	000334	0 062043 3 1 0 02 03 		INC	AC2,BR			;INCREMENT HIGH BITS
   634	000335	0 064271 3 2 0 13 11 		MOVB	MPGP3			;WRITE INTO MPGP3
   635	000336	0 062003 3 1 0 00 03 	WMT12:	INC	AC0,BR			;INCREMENT LOW BITS
   636	000337	0 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE INTO MPGP2
   637	000340	0 100312 4 0 0312 		JMP	WMT10			;NOW TEST THIS LOCATION
   638
   639	000341	0 116222 4 7 0222 	WMT1X:	REPEAT	TST
   640	000342	0 114305 4 6 0305 
   641
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 3
MCOD1M	MAC	 6-Mar-89 15:13	

   642						TEST	130,WORKING MEMORY LOAD OF FLOATING ONE PATTERN
   643					;***********************************************************************
   644					;* MCODE1 * TEST 130 *    WORKING MEMORY LOAD OF FLOATING ONE PATTERN
   645					;***********************************************************************
   646						SALL
   647	000343	0 002202 0 1 0 202 
   648	000344	0 116045 4 7 0045 
   649
   650	000345				TST130:	SALL
   651
   652
   653					;*LOAD AND READ FLOATING ONE PATTERN INTO EACH LOCATION OF WORKING MEMORY
   654
   655	000345	0 002000 0 1 0 000 		LDBR	0			;SET UP FOR ADDRESS 0
   656	000346	0 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE MEMORY ADDRESS
   657	000347	0 064271 3 2 0 13 11 		MOVB	MPGP3			;INTO DXGP1
   658	000350	0 002001 0 1 0 001 	WMT20:	LDBR	1			;GET A 1
   659	000351	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT IN AC1 AS CORRECT DATA
   660	000352	0 021012 1 0 2 00 12 		DATI	MPGP2,MAR		;SELECT MEMORY ADDRESS
   661	000353	0 020413 1 0 1 00 13 		DATI	MPGP3,MARX		;FROM DXGP1
   662	000354	0 070030 3 4 0 01 10 	WMT21:	MOV	AC1,MEM			;WRITE DATA INTO MEMORY
   663	000355	0 052011 2 5 0 00 11 		MOVMEM	AC0			;READ MEMORY, PUT INTO AC0
   664	000356	0 062010 3 1 0 00 10 		MOV	AC0,BR			;READ DATA INTO BR
   665	000357	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE CORRECT WITH BR
   666	000360	0 114362 4 6 0362 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   667	000361	0 116104 4 7 0104 		ERRORA	WMT21,CAN'T LOAD ZEROS CORRECTLY,,PNT
   668
   669						ERLOOP	WMT21			^SALL
   670	000362	0 002300 0 1 0 300 
   671	000363	0 116152 4 7 0152 
   672	000364	0 114354 4 6 0354 
   673	000365	0 072025 3 5 0 01 05 		SHLR	AC1			;FLOAT BIT TO LEFT IN AC1
   674	000366	0 112370 4 5 0370 		JMPC	WMT23			;GO TO NEXT ADDRESS IF SHIFTED BIT OUT
   675	000367	0 100354 4 0 0354 		JMP	WMT21			;TEST THIS PATTERN
   676	000370	0 032012 1 5 0 00 12 	WMT23:	DATI	MPGP2,AC0		;READ LAST ADDRESS
   677	000371	0 114373 4 6 0373 		JMPZ	.+2			;SKIP IF A -1
   678	000372	0 100401 4 0 0401 		JMP	WMT22			;NO, JUST INCREMENT LOW BITS
   679	000373	0 032053 1 5 0 02 13 		DATI	MPGP3,AC2		;READ HIGH BITS INTO AC2
   680	000374	0 002003 0 1 0 003 		LDBR	3			;PUT A 3 IN BR
   681	000375	0 060057 3 0 0 02 17 		OSB	AC2			;COMPARE, SKIP IF HIGH BITS ARE ALREADY 3
   682	000376	0 114404 4 6 0404 		JMPZ	WMT2X			;IF HIGH BITS ALREADY 3, END THIS TEST
   683	000377	0 062043 3 1 0 02 03 		INC	AC2,BR			;INCREMENT HIGH BITS
   684	000400	0 064271 3 2 0 13 11 		MOVB	MPGP3			;WRITE INTO MPGP3
   685	000401	0 062003 3 1 0 00 03 	WMT22:	INC	AC0,BR			;INCREMENT LOW BITS
   686	000402	0 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE INTO MPGP2
   687	000403	0 100350 4 0 0350 		JMP	WMT20			;NOW TEST THIS LOCATION
   688
   689	000404	0 116222 4 7 0222 	WMT2X:	REPEAT	TST
   690	000405	0 114345 4 6 0345 
   691
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 4
MCOD1M	MAC	 6-Mar-89 15:13	

   692						TEST	131,WORKING MEMORY LOAD OF FLOATING ZERO PATTERN
   693					;***********************************************************************
   694					;* MCODE1 * TEST 131 *    WORKING MEMORY LOAD OF FLOATING ZERO PATTERN
   695					;***********************************************************************
   696						SALL
   697	000406	0 002203 0 1 0 203 
   698	000407	0 116045 4 7 0045 
   699
   700	000410				TST131:	SALL
   701
   702
   703					;*LOAD AND READ FLOATING ZERO PATTERN INTO EACH LOCATION OF WORKING MEMORY
   704
   705	000410	0 002000 0 1 0 000 		LDBR	0			;SET UP FOR ADDRESS 0
   706	000411	0 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE MEMORY ADDRESS
   707	000412	0 064271 3 2 0 13 11 		MOVB	MPGP3			;INTO DXGP1
   708	000413	0 002177 0 1 0 177 	WMT30:	LDBR	177			;GET START PATTERN
   709	000414	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT IN AC1 AS CORRECT DATA
   710	000415	0 021012 1 0 2 00 12 		DATI	MPGP2,MAR		;SELECT MEMORY ADDRESS
   711	000416	0 020413 1 0 1 00 13 		DATI	MPGP3,MARX		;FROM DXGP1
   712	000417	0 070030 3 4 0 01 10 	WMT31:	MOV	AC1,MEM			;WRITE DATA INTO MEMORY
   713	000420	0 052011 2 5 0 00 11 		MOVMEM	AC0			;READ MEMORY, PUT INTO AC0
   714	000421	0 062010 3 1 0 00 10 		MOV	AC0,BR			;READ DATA INTO BR
   715	000422	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE CORRECT WITH BR
   716	000423	0 114425 4 6 0425 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   717	000424	0 116104 4 7 0104 		ERRORA	WMT31,CAN'T LOAD ZEROS CORRECTLY,,PNT
   718
   719						ERLOOP	WMT31			^SALL
   720	000425	0 002300 0 1 0 300 
   721	000426	0 116152 4 7 0152 
   722	000427	0 114417 4 6 0417 
   723	000430	0 062030 3 1 0 01 10 		MOV	AC1,BR			;MOVE PATTERN TO BR
   724	000431	0 014001 0 6 0 001 		SHR	1			;SHIFT THE ZERO BIT RIGHT
   725	000432	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT NEW PATTERN INTO AC1
   726	000433	0 114435 4 6 0435 		JMPZ	WMT33			;GO TO NEXT ADDRESS IF ZERO SHIFTED OUT
   727	000434	0 100417 4 0 0417 		JMP	WMT31			;TEST THIS PATTERN
   728	000435	0 032012 1 5 0 00 12 	WMT33:	DATI	MPGP2,AC0		;READ LAST ADDRESS
   729	000436	0 114440 4 6 0440 		JMPZ	.+2			;SKIP IF A -1
   730	000437	0 100446 4 0 0446 		JMP	WMT32			;NO, JUST INCREMENT LOW BITS
   731	000440	0 032053 1 5 0 02 13 		DATI	MPGP3,AC2		;READ HIGH BITS INTO AC2
   732	000441	0 002003 0 1 0 003 		LDBR	3			;PUT A 3 IN BR
   733	000442	0 060057 3 0 0 02 17 		OSB	AC2			;COMPARE, SKIP IF HIGH BITS ARE ALREADY 3
   734	000443	0 114451 4 6 0451 		JMPZ	WMT3X			;IF HIGH BITS ALREADY 3, END THIS TEST
   735	000444	0 062043 3 1 0 02 03 		INC	AC2,BR			;INCREMENT HIGH BITS
   736	000445	0 064271 3 2 0 13 11 		MOVB	MPGP3			;WRITE INTO MPGP3
   737	000446	0 062003 3 1 0 00 03 	WMT32:	INC	AC0,BR			;INCREMENT LOW BITS
   738	000447	0 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE INTO MPGP2
   739	000450	0 100413 4 0 0413 		JMP	WMT30			;NOW TEST THIS LOCATION
   740
   741	000451	0 116222 4 7 0222 	WMT3X:	REPEAT	TST
   742	000452	0 114410 4 6 0410 
   743
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 5
MCOD1M	MAC	 6-Mar-89 15:13	

   744						TEST	132,WORKING MEMORY ADDRESSING TEST
   745					;***********************************************************************
   746					;* MCODE1 * TEST 132 *    WORKING MEMORY ADDRESSING TEST
   747					;***********************************************************************
   748						SALL
   749	000453	0 002204 0 1 0 204 
   750	000454	0 116045 4 7 0045 
   751
   752	000455				TST132:	SALL
   753
   754
   755					;*WRITE ZEROS INTO MEMORY ADDRESS 0
   756					;*WRITE ONES INTO MEMORY ADDRESSES 1,2,4,10,20,40,100,200,400,1000
   757					;*AFTER EACH WRITE, CHECK THAT ADDRESS 0 STILL CONTAINS ZEROS
   758
   759					;*WRITE ZEROS INTO MEMORY ADDRESS 1
   760					;*WRITE ONES INTO MEMORY ADDRESSES 0,2,4,10,20,40,100,200,400,1000
   761					;*AFTER EACH WRITE, CHECK THAT ADDRESS 1 STILL CONTAINS ZEROS
   762
   763					;*REPEAT AS ABOVE, TESTING MEMORY ADDRESSES 2,4,10,20,40,100,200,400,1000
   764					;*WHILE CHANGING THE OTHER MEMORY ADDRESSES
   765
   766	000455	0 002002 0 1 0 002 		LDBR	2			;SET UP ADDITIONAL PRINT ROUTINE NUMBER
   767	000456	0 064351 3 2 0 16 11 		MOVB	MPGP6			;PUT IN DXGP3
   768	000457	0 002000 0 1 0 000 		LDBR	0			;GET A ZERO
   769	000460	0 066011 3 3 0 00 11 		MOVB	MPGP10			;STORE ADDRESS UNDER TEST
   770	000461	0 066031 3 3 0 01 11 		MOVB	MPGP11			;IN DXGP4
   771	000462	0 072031 3 5 0 01 11 		MOVB	AC1			;STORE ZEROS AS CORRECT DATA
   772	000463	0 002377 0 1 0 377 		LDBR	-1			;STORE ONES AS DATA TO WRITE
   773	000464	0 072051 3 5 0 02 11 		MOVB	AC2			;IN AC2
   774	000465	0 002000 0 1 0 000 	WMA0:	LDBR	0			;GET A ZERO
   775	000466	0 066051 3 3 0 02 11 		MOVB	MPGP12			;STORE ADDRESS BEING CHANGED
   776	000467	0 066071 3 3 0 03 11 		MOVB	MPGP13			;IN DXGP5
   777	000470	0 116573 4 7 0573 	WMA1:	JMPSUB	COMPARE			;COMPARE THE TWO ADDRESSES
   778	000471	0 114512 4 6 0512 		JMPZ	WMA3			;JUMP AROUND IF ADDRESSES ARE THE SAME
   779	000472	0 121000 5 0 2 00 00 	WMA2:	DATI	MPGP10,MAR		;LOAD MAR WITH
   780	000473	0 120401 5 0 1 00 01 		DATI	MPGP11,MARX		;ADDRESS UNDER TEST
   781	000474	0 070030 3 4 0 01 10 		MOV	AC1,MEM			;LOAD MEMORY WITH ZEROS
   782	000475	0 121002 5 0 2 00 02 		DATI	MPGP12,MAR		;LOAD MAR WITH
   783	000476	0 120403 5 0 1 00 03 		DATI	MPGP13,MARX		;ADDRESS TO BE CHANGED
   784	000477	0 070050 3 4 0 02 10 		MOV	AC2,MEM			;WRITE ONES TO THIS MEMORY LOCATION
   785	000500	0 121000 5 0 2 00 00 		DATI	MPGP10,MAR		;LOAD MAR WITH
   786	000501	0 120401 5 0 1 00 01 		DATI	MPGP11,MARX		;ADDRESS UNDER TEST
   787	000502	0 052011 2 5 0 00 11 		MOVMEM	AC0			;READ MEMORY CONTENTS INTO AC0
   788	000503	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE IT TO BR
   789	000504	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE WITH THE ZEROS WRITTEN
   790	000505	0 114507 4 6 0507 		JMPZ	.+2			;SKIP OVER ERROR IF SAME
   791	000506	0 116104 4 7 0104 		ERROR	WMA2,CANNOT ADDRESS ALL MEMORY LOCATIONS,,PNT
   792
   793						ERLOOP	WMA2			^SALL
   794	000507	0 002200 0 1 0 200 
   795	000510	0 116141 4 7 0141 
   796	000511	0 114472 4 6 0472 
   797	000512	0 116545 4 7 0545 	WMA3:	JMPSUB	ABC			;SHIFT LEFT THE ADDRESS BEING CHANGED
   798	000513	0 114470 4 6 0470 		JMPZ	WMA1			;JUMP BACK UNLESS ADDRESS OVERFLOWED
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 5-1
MCOD1M	MAC	 6-Mar-89 15:13	

   799	000514	0 116517 4 7 0517 		JMPSUB	AUT			;SHIFT LEFT THE ADDRESS UNDER TEST
   800	000515	0 114465 4 6 0465 		JMPZ	WMA0			;RESET ADDRESS BEING CHANGED AND TEST IT
   801	000516	0 100605 4 0 0605 		JMP	WMAX			;GO TO END OF TEST
   802
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 6
MCOD1M	MAC	 6-Mar-89 15:13	

   803					;SHIFT THE ADDRESS UNDER TEST IN DXGP4 LEFT
   804					;RETURN WITH Z SET UNLESS ADDRESS OVERFLOWS MAR
   805
   806	000517	0 132061 5 5 0 03 01 	AUT:	DATI	MPGP11,AC3		;READ HIGH BITS OF ADDRESS
   807	000520	0 002002 0 1 0 002 		LDBR	2			;CHECK IF ALREADY A 2
   808	000521	0 060077 3 0 0 03 17 		OSB	AC3			;COMPARE
   809	000522	0 114072 4 6 0072 		JMPZ	NRTN			;RETURN WITH Z BIT CLEAR
   810	000523	0 060067 3 0 0 03 07 		DEC	AC3			;SUBTRACT 1 TO SEE IF ADR WAS 0
   811	000524	0 114530 4 6 0530 		JMPZ	AUTLOW			;IF ZERO, GO READ LOW BITS
   812	000525	0 002002 0 1 0 002 		LDBR	2			;ADR WAS 1, MAKE IT 2
   813	000526	0 066031 3 3 0 01 11 		MOVB	MPGP11			;WRITE INTO REGISTER
   814	000527	0 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z BIT SET
   815	000530	0 132100 5 5 0 04 00 	AUTLOW:	DATI	MPGP10,AC4		;READ LOW BITS INTO AC4
   816	000531	0 060107 3 0 0 04 07 		DEC	AC4			;SUBTRACT 1 TO SEE IF ADR WAS 0
   817	000532	0 114542 4 6 0542 		JMPZ	AUTZRO			;JUMP IF SO
   818	000533	0 062105 3 1 0 04 05 		SHL	AC4,BR			;SHIFT ADDRESS LEFT
   819	000534	0 066011 3 3 0 00 11 		MOVB	MPGP10			;WRITE NEW ADDRESS
   820	000535	0 112537 4 5 0537 		JMPC	.+2			;SKIP IF BIT SHIFTED OUT OF ADDRESS
   821	000536	0 016377 0 7 0 377 		RETURN	-1			;NO, RETURN WITH Z BIT SET
   822	000537	0 002001 0 1 0 001 		LDBR	1			;GET A 1
   823	000540	0 066031 3 3 0 01 11 		MOVB	MPGP11			;WRITE AS HIGH ADDRESS BITS
   824	000541	0 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z BIT SET
   825	000542	0 002001 0 1 0 001 	AUTZRO:	LDBR	1			;GET A 1
   826	000543	0 066011 3 3 0 00 11 		MOVB	MPGP10			;WRITE AS LOW ADDRESS BIT
   827	000544	0 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z BIT SET
   828
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 7
MCOD1M	MAC	 6-Mar-89 15:13	

   829					;SHIFT THE ADDRESS TO BE CHANGED IN DXGP5 LEFT
   830					;RETURN WITH Z SET UNLESS ADDRESS OVERFLOWS MAR
   831
   832	000545	0 132063 5 5 0 03 03 	ABC:	DATI	MPGP13,AC3		;READ HIGH BITS OF ADDRESS
   833	000546	0 002002 0 1 0 002 		LDBR	2			;CHECK IF ALREADY A 2
   834	000547	0 060077 3 0 0 03 17 		OSB	AC3			;COMPARE
   835	000550	0 114072 4 6 0072 		JMPZ	NRTN			;RETURN WITH Z BIT CLEAR
   836	000551	0 060067 3 0 0 03 07 		DEC	AC3			;SUBTRACT 1 TO SEE IF ADR WAS 0
   837	000552	0 114556 4 6 0556 		JMPZ	ABCLOW			;IF ZERO, GO READ LOW BITS
   838	000553	0 002002 0 1 0 002 		LDBR	2			;ADR WAS 1, MAKE IT 2
   839	000554	0 066071 3 3 0 03 11 		MOVB	MPGP13			;WRITE INTO REGISTER
   840	000555	0 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z BIT SET
   841	000556	0 132102 5 5 0 04 02 	ABCLOW:	DATI	MPGP12,AC4		;READ LOW BITS INTO AC4
   842	000557	0 060107 3 0 0 04 07 		DEC	AC4			;SUBTRACT 1 TO SEE IF ADR WAS 0
   843	000560	0 114570 4 6 0570 		JMPZ	ABCZRO			;JUMP IF SO
   844	000561	0 062105 3 1 0 04 05 		SHL	AC4,BR			;SHIFT ADDRESS LEFT
   845	000562	0 066051 3 3 0 02 11 		MOVB	MPGP12			;WRITE NEW ADDRESS
   846	000563	0 112565 4 5 0565 		JMPC	.+2			;SKIP IF BIT SHIFTED OUT OF ADDRESS
   847	000564	0 016377 0 7 0 377 		RETURN	-1			;NO, RETURN WITH Z BIT SET
   848	000565	0 002001 0 1 0 001 		LDBR	1			;GET A 1
   849	000566	0 066071 3 3 0 03 11 		MOVB	MPGP13			;WRITE AS HIGH ADDRESS BITS
   850	000567	0 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z BIT SET
   851	000570	0 002001 0 1 0 001 	ABCZRO:	LDBR	1			;GET A 1
   852	000571	0 066051 3 3 0 02 11 		MOVB	MPGP12			;WRITE AS LOW ADDRESS BIT
   853	000572	0 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z BIT SET
   854
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 8
MCOD1M	MAC	 6-Mar-89 15:13	

   855					;COMPARE THE ADDRESS UNDER TEST WITH THE ADDRESS
   856					;BEING CHANGED, RETURN WITH Z SET IF THEY COMPARE
   857
   858	000573	0 132060 5 5 0 03 00 	COMPARE:DATI	MPGP10,AC3		;READ LOW BITS
   859	000574	0 122002 5 1 0 00 02 		DATI	MPGP12,BR		;OF EACH ADDRESS
   860	000575	0 060077 3 0 0 03 17 		OSB	AC3			;COMPARE
   861	000576	0 114600 4 6 0600 		JMPZ	.+2			;SKIP IF THEY COMPARE
   862	000577	0 016000 0 7 0 000 		RETURN				;NO, RETURN WITH Z CLEAR
   863	000600	0 132061 5 5 0 03 01 		DATI	MPGP11,AC3		;READ HIGH BITS
   864	000601	0 122003 5 1 0 00 03 		DATI	MPGP13,BR		;OF EACH ADDRESS
   865	000602	0 060077 3 0 0 03 17 		OSB	AC3			;COMPARE
   866	000603	0 114167 4 6 0167 		JMPZ	ZRTN			;IF THEY MATCH, RETURN WITH Z BIT SET
   867	000604	0 016000 0 7 0 000 		RETURN				;NO, RETURN WITH Z BIT CLEAR
   868
   869	000605	0 116222 4 7 0222 	WMAX:	REPEAT	TST
   870	000606	0 114455 4 6 0455 
   871	000607	0 002000 0 1 0 000 		LDBR	0			;GET A ZERO
   872	000610	0 064351 3 2 0 16 11 		MOVB	MPGP6			;CLEAR ADDITIONAL MESSAGE INDEX
   873
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 9
MCOD1M	MAC	 6-Mar-89 15:13	

   874						TEST	133,DATA BUFFER 0 TEST (MPDB0)
   875					;***********************************************************************
   876					;* MCODE1 * TEST 133 *    DATA BUFFER 0 TEST (MPDB0)
   877					;***********************************************************************
   878						SALL
   879	000611	0 002205 0 1 0 205 
   880	000612	0 116045 4 7 0045 
   881
   882	000613				TST133:	SALL
   883
   884					;*WRITE ZEROS INTO DATA BUFFER
   885					;*READ AND CHECK FOR ZEROS
   886
   887	000613	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
   888	000614	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
   889	000615	0 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
   890	000616	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
   891	000617	0 064131 3 2 0 05 11 		MOVB	MPDB0			;WRITE ZEROS TO MPDB0
   892	000620	0 032005 1 5 0 00 05 		DATI	MPDB0,AC0		;READ THE DATA BACK
   893	000621	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE DATA WITH ZEROS
   894	000622	0 114624 4 6 0624 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   895	000623	0 116104 4 7 0104 		ERRORA	TST,CAN'T WRITE ZEROS INTO REGISTER MPDB0
   896
   897						ERLOOP	TST			^SALL
   898	000624	0 002100 0 1 0 100 
   899	000625	0 116152 4 7 0152 
   900	000626	0 114613 4 6 0613 
   901
   902					;*WRITE ONES INTO DATA BUFFER
   903					;*READ AND CHECK FOR ONES
   904
   905	000627	0 002020 0 1 0 020 	DB01:	LDBR	OCC			;GET OCCUPIED BIT
   906	000630	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
   907	000631	0 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
   908	000632	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
   909	000633	0 064131 3 2 0 05 11 		MOVB	MPDB0			;WRITE ONES INTO MPDB0
   910	000634	0 032005 1 5 0 00 05 		DATI	MPDB0,AC0		;READ THE DATA BACK
   911	000635	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE DATA WITH ONES
   912	000636	0 114640 4 6 0640 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   913	000637	0 116104 4 7 0104 		ERRORA	DB01,CAN'T WRITE ONES INTO REGISTER MPDB0
   914
   915						ERLOOP	DB01			^SALL
   916	000640	0 002101 0 1 0 101 
   917	000641	0 116152 4 7 0152 
   918	000642	0 114627 4 6 0627 
   919
   920					;*WRITE A FLOATING ONE PATTERN THROUGH THE DATA BUFFER
   921					;*READ AND COMPARE DATA
   922
   923	000643	0 002001 0 1 0 001 		LDBR	1			;GET A 1 AS FIRST DATA PATTERN
   924	000644	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
   925	000645	0 002020 0 1 0 020 	DB0F11:	LDBR	OCC			;GET OCCUPIED BIT
   926	000646	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
   927	000647	0 062030 3 1 0 01 10 		MOV	AC1,BR			;GET THE DATA PATTERN FROM AC1
   928	000650	0 064131 3 2 0 05 11 		MOVB	MPDB0			;WRITE DATA INTO MPDB0
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 9-1
MCOD1M	MAC	 6-Mar-89 15:13	

   929	000651	0 032005 1 5 0 00 05 		DATI	MPDB0,AC0		;READ THE DATA BACK
   930	000652	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE DATA WITH CORRECT
   931	000653	0 114655 4 6 0655 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   932	000654	0 116104 4 7 0104 		ERRORA	DB0F11,CAN'T WRITE INTO REGISTER MPDB0 CORRECTLY
   933
   934						ERLOOP	DB0F11			^SALL
   935	000655	0 002102 0 1 0 102 
   936	000656	0 116152 4 7 0152 
   937	000657	0 114645 4 6 0645 
   938	000660	0 072025 3 5 0 01 05 		SHLR	AC1			;SHIFT DATA BIT TO LEFT
   939	000661	0 112663 4 5 0663 		JMPC	.+2			;DID BIT SHIFT OUT TO CARRY BIT?
   940	000662	0 100645 4 0 0645 		JMP	DB0F11			;NO, GO TEST THIS PATTERN
   941
   942					;*WRITE A FLOATING ZERO PATTERN THROUGH THE DATA BUFFER
   943					;*READ AND COMPARE DATA
   944
   945	000663	0 002177 0 1 0 177 		LDBR	177			;GET START PATTERN
   946	000664	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
   947	000665	0 002020 0 1 0 020 	DB0F0:	LDBR	OCC			;GET OCCUPIED BIT
   948	000666	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
   949	000667	0 062030 3 1 0 01 10 		MOV	AC1,BR			;GET PATTERN
   950	000670	0 064131 3 2 0 05 11 		MOVB	MPDB0			;WRITE DATA INTO MPDB0
   951	000671	0 032005 1 5 0 00 05 		DATI	MPDB0,AC0		;READ THE DATA BACK
   952	000672	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE WITH CORRECT
   953	000673	0 114675 4 6 0675 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   954	000674	0 116104 4 7 0104 		ERRORA	DB0F0,CAN'T WRITE INTO REGISTER MPDB0 CORRECTLY
   955
   956						ERLOOP	DB0F0			^SALL
   957	000675	0 002103 0 1 0 103 
   958	000676	0 116152 4 7 0152 
   959	000677	0 114665 4 6 0665 
   960	000700	0 062030 3 1 0 01 10 		MOV	AC1,BR			;GET LAST DATA PATTERN
   961	000701	0 014001 0 6 0 001 		SHR	1			;SHIFT THE ZERO BIT RIGHT
   962	000702	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT NEW PATTERN INTO AC1
   963	000703	0 114705 4 6 0705 		JMPZ	.+2			;SKIP IF THE ZERO BIT WAS SHIFTED OUT
   964	000704	0 100665 4 0 0665 		JMP	DB0F0			;NO, TEST WITH THIS PATTERN
   965	000705	0 116222 4 7 0222 		REPEAT	TST
   966	000706	0 114613 4 6 0613 
   967
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 10
MCOD1M	MAC	 6-Mar-89 15:13	

   968						TEST	134,DATA BUFFER 1 TEST (MPDB1)
   969					;***********************************************************************
   970					;* MCODE1 * TEST 134 *    DATA BUFFER 1 TEST (MPDB1)
   971					;***********************************************************************
   972						SALL
   973	000707	0 002206 0 1 0 206 
   974	000710	0 116045 4 7 0045 
   975
   976	000711				TST134:	SALL
   977
   978					;*WRITE ZEROS INTO DATA BUFFER
   979					;*READ AND CHECK FOR ZEROS
   980
   981	000711	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
   982	000712	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
   983	000713	0 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
   984	000714	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
   985	000715	0 064151 3 2 0 06 11 		MOVB	MPDB1			;WRITE ZEROS TO MPDB1
   986	000716	0 032006 1 5 0 00 06 		DATI	MPDB1,AC0		;READ THE DATA BACK
   987	000717	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE DATA WITH ZEROS
   988	000720	0 114722 4 6 0722 		JMPZ	.+2			;JUMP AROUND IF A MATCH
   989	000721	0 116104 4 7 0104 		ERRORA	TST,CAN'T WRITE ZEROS INTO REGISTER MPDB1
   990
   991						ERLOOP	TST			^SALL
   992	000722	0 002100 0 1 0 100 
   993	000723	0 116152 4 7 0152 
   994	000724	0 114711 4 6 0711 
   995
   996					;*WRITE ONES INTO DATA BUFFER
   997					;*READ AND CHECK FOR ONES
   998
   999	000725	0 002020 0 1 0 020 	DB11:	LDBR	OCC			;GET OCCUPIED BIT
  1000	000726	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1001	000727	0 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1002	000730	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1003	000731	0 064151 3 2 0 06 11 		MOVB	MPDB1			;WRITE ONES INTO MPDB1
  1004	000732	0 032006 1 5 0 00 06 		DATI	MPDB1,AC0		;READ THE DATA BACK
  1005	000733	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE DATA WITH ONES
  1006	000734	0 114736 4 6 0736 		JMPZ	.+2			;JUMP AROUND IF A MATCH
  1007	000735	0 116104 4 7 0104 		ERRORA	DB11,CAN'T WRITE ONES INTO REGISTER MPDB1
  1008
  1009						ERLOOP	DB11			^SALL
  1010	000736	0 002101 0 1 0 101 
  1011	000737	0 116152 4 7 0152 
  1012	000740	0 114725 4 6 0725 
  1013
  1014					;*WRITE A FLOATING ONE PATTERN THROUGH THE DATA BUFFER
  1015					;*READ AND COMPARE DATA
  1016
  1017	000741	0 002001 0 1 0 001 		LDBR	1			;GET A 1 AS FIRST DATA PATTERN
  1018	000742	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1019	000743	0 002020 0 1 0 020 	DB1F11:	LDBR	OCC			;GET OCCUPIED BIT
  1020	000744	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1021	000745	0 062030 3 1 0 01 10 		MOV	AC1,BR			;GET THE DATA PATTERN FROM AC1
  1022	000746	0 064151 3 2 0 06 11 		MOVB	MPDB1			;WRITE DATA INTO MPDB1
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 10-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1023	000747	0 032006 1 5 0 00 06 		DATI	MPDB1,AC0		;READ THE DATA BACK
  1024	000750	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE DATA WITH CORRECT
  1025	000751	0 114753 4 6 0753 		JMPZ	.+2			;JUMP AROUND IF A MATCH
  1026	000752	0 116104 4 7 0104 		ERRORA	DB1F11,CAN'T WRITE INTO REGISTER MPDB1 CORRECTLY
  1027
  1028						ERLOOP	DB1F11			^SALL
  1029	000753	0 002102 0 1 0 102 
  1030	000754	0 116152 4 7 0152 
  1031	000755	0 114743 4 6 0743 
  1032	000756	0 072025 3 5 0 01 05 		SHLR	AC1			;SHIFT DATA BIT TO LEFT
  1033	000757	0 112761 4 5 0761 		JMPC	.+2			;DID BIT SHIFT OUT TO CARRY BIT?
  1034	000760	0 100743 4 0 0743 		JMP	DB1F11			;NO, GO TEST THIS PATTERN
  1035
  1036					;*WRITE A FLOATING ZERO PATTERN THROUGH THE DATA BUFFER
  1037					;*READ AND COMPARE DATA
  1038
  1039	000761	0 002177 0 1 0 177 		LDBR	177			;GET START PATTERN
  1040	000762	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1041	000763	0 002020 0 1 0 020 	DB1F0:	LDBR	OCC			;GET OCCUPIED BIT
  1042	000764	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1043	000765	0 062030 3 1 0 01 10 		MOV	AC1,BR			;GET PATTERN
  1044	000766	0 064151 3 2 0 06 11 		MOVB	MPDB1			;WRITE DATA INTO MPDB1
  1045	000767	0 032006 1 5 0 00 06 		DATI	MPDB1,AC0		;READ THE DATA BACK
  1046	000770	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE WITH CORRECT
  1047	000771	0 114773 4 6 0773 		JMPZ	.+2			;JUMP AROUND IF A MATCH
  1048	000772	0 116104 4 7 0104 		ERRORA	DB1F0,CAN'T WRITE INTO REGISTER MPDB1 CORRECTLY
  1049
  1050						ERLOOP	DB1F0			^SALL
  1051	000773	0 002103 0 1 0 103 
  1052	000774	0 116152 4 7 0152 
  1053	000775	0 114763 4 6 0763 
  1054	000776	0 062030 3 1 0 01 10 		MOV	AC1,BR			;GET LAST DATA PATTERN
  1055	000777	0 014001 0 6 0 001 		SHR	1			;SHIFT THE ZERO BIT RIGHT
  1056	001000	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT NEW PATTERN INTO AC1
  1057	001001	0 115003 4 6 1003 		JMPZ	.+2			;SKIP IF THE ZERO BIT WAS SHIFTED OUT
  1058	001002	0 100763 4 0 0763 		JMP	DB1F0			;NO, TEST WITH THIS PATTERN
  1059	001003	0 116222 4 7 0222 		REPEAT	TST
  1060	001004	0 114711 4 6 0711 
  1061
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 11
MCOD1M	MAC	 6-Mar-89 15:13	

  1062						TEST	135,DATA BUFFER 2 TEST (MPDB2)
  1063					;***********************************************************************
  1064					;* MCODE1 * TEST 135 *    DATA BUFFER 2 TEST (MPDB2)
  1065					;***********************************************************************
  1066						SALL
  1067	001005	0 002207 0 1 0 207 
  1068	001006	0 116045 4 7 0045 
  1069
  1070	001007				TST135:	SALL
  1071
  1072
  1073					;*INITIALIZE THE DX20
  1074					;*WRITE ZEROS TO MPDB2
  1075					;*READ AND CHECK FOR ZERO
  1076
  1077	001007	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1078	001010	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1079	001011	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1080	001012	0 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  1081	001013	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT IN AC1 AS CORRECT DATA
  1082	001014	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE TO REGISTER MPDB2
  1083	001015	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ THE DATA BACK
  1084	001016	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE WITH ZERO DATA
  1085	001017	0 115021 4 6 1021 		JMPZ	.+2			;JUMP AROUND IF ALL ZEROS READ
  1086	001020	0 116104 4 7 0104 		ERRORA	TST,CAN'T WRITE ZEROS TO REGISTER MPDB2
  1087
  1088						ERLOOP	TST			^SALL
  1089	001021	0 002100 0 1 0 100 
  1090	001022	0 116152 4 7 0152 
  1091	001023	0 115007 4 6 1007 
  1092
  1093					;*WRITE DB16, DB17 AND PARITY BIT TO ONE
  1094					;*READ AND CHECK FOR ONES
  1095
  1096	001024	0 117627 4 7 1627 	DB21:	JMPSUB	INITLL			;INITIALIZE THE DX20
  1097	001025	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1098	001026	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1099	001027	0 002007 0 1 0 007 		LDBR	7			;GET BITS FOR DB16, DB17 AND PARITY
  1100	001030	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1101	001031	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE INTO REGISTER MPDB2
  1102	001032	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ THE DATA BACK
  1103	001033	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE WITH DATA WRITTEN
  1104	001034	0 115036 4 6 1036 		JMPZ	.+2			;JUMP AROUND IF A MATCH
  1105	001035	0 116104 4 7 0104 		ERRORA	DB21,CAN'T WRITE ONES INTO DB16, DB17 AND PARITY BITS
  1106
  1107						ERLOOP	DB21			^SALL
  1108	001036	0 002101 0 1 0 101 
  1109	001037	0 116152 4 7 0152 
  1110	001040	0 115024 4 6 1024 
  1111
  1112					;*SET EACH OF DB16, DB17 AND PARITY BITS TO ONE
  1113					;*READ AND CHECK DATA
  1114
  1115	001041	0 002020 0 1 0 020 	DB216:	LDBR	OCC			;GET OCCUPIED BIT
  1116	001042	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 11-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1117	001043	0 002001 0 1 0 001 		LDBR	1			;GET BIT FOR DB16
  1118	001044	0 060030 3 0 0 01 10 		MOV	AC1			;SAVE IN AC1 AS CORRECT DATA
  1119	001045	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE INTO REGISTER MPDB2
  1120	001046	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ DATA BACK
  1121	001047	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE WITH CORRECT DATA
  1122	001050	0 115052 4 6 1052 		JMPZ	.+2			;SKIP IF CORRECT
  1123	001051	0 116104 4 7 0104 		ERRORA	DB216,CAN'T WRITE ONLY DB16 IN REGISTER MPDB2
  1124
  1125						ERLOOP	DB216			^SALL
  1126	001052	0 002102 0 1 0 102 
  1127	001053	0 116152 4 7 0152 
  1128	001054	0 115041 4 6 1041 
  1129	001055	0 002020 0 1 0 020 	DB217:	LDBR	OCC			;GET OCCUPIED BIT
  1130	001056	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1131	001057	0 002002 0 1 0 002 		LDBR	2			;GET BIT FOR DB17
  1132	001060	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1133	001061	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE INTO REGISTER MPDB2
  1134	001062	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ IT BACK
  1135	001063	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE WITH CORRECT DATA
  1136	001064	0 115066 4 6 1066 		JMPZ	.+2			;SKIP IF CORRECT
  1137	001065	0 116104 4 7 0104 		ERRORA	DB217,CAN'T WRITE ONLY DB17 IN REGISTER MPGP2
  1138
  1139						ERLOOP	DB217			^SALL
  1140	001066	0 002103 0 1 0 103 
  1141	001067	0 116152 4 7 0152 
  1142	001070	0 115055 4 6 1055 
  1143
  1144	001071	0 002020 0 1 0 020 	DB2P:	LDBR	OCC			;GET OCCUPIED BIT
  1145	001072	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1146	001073	0 002004 0 1 0 004 		LDBR	4			;GET BIT FOR DB PARITY
  1147	001074	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1148	001075	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE INTO REGISTER MPDB2
  1149	001076	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ IT BACK
  1150	001077	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE WITH CORRECT DATA
  1151	001100	0 115102 4 6 1102 		JMPZ	.+2			;SKIP IF CORRECT
  1152	001101	0 116104 4 7 0104 		ERRORA	DB2P,CAN'T WRITE ONLY PARITY BIT INTO REGISTER MPDB2
  1153
  1154						ERLOOP	DB2P			^SALL
  1155	001102	0 002104 0 1 0 104 
  1156	001103	0 116152 4 7 0152 
  1157	001104	0 115071 4 6 1071 
  1158
  1159					;*WRITE EVEN PARITY BIT TO ONE
  1160					;*READ AND CHECK FOR ONE
  1161
  1162	001105	0 002020 0 1 0 020 	DB2EV:	LDBR	OCC			;GET OCCUPIED BIT
  1163	001106	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1164	001107	0 002020 0 1 0 020 		LDBR	DBEVEN			;GET EVEN PARITY BIT
  1165	001110	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1166	001111	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE INTO REGISTER MPDB2
  1167	001112	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ IT BACK
  1168	001113	0 062010 3 1 0 00 10 		MOV	AC0,BR			;COPY TO BR
  1169	001114	0 107116 4 3 1116 		JMPB4	.+2			;SKIP IF READ A ONE
  1170	001115	0 116104 4 7 0104 		ERRORA	DB2EV,CAN'T WRITE EVEN PARITY BIT IN REGISTER MPDB2
  1171
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 11-2
MCOD1M	MAC	 6-Mar-89 15:13	

  1172						ERLOOP	DB2EV			^SALL
  1173	001116	0 002105 0 1 0 105 
  1174	001117	0 116152 4 7 0152 
  1175	001120	0 115105 4 6 1105 
  1176
  1177					;*WITH EVEN PARITY BIT A ONE, WRITE PARITY BIT TO A ONE
  1178					;*READ AND CHECK PARITY BIT FOR ZERO
  1179
  1180	001121	0 002024 0 1 0 024 		LDBR	DBEVEN+DBPAR		;GET PARITY BIT
  1181	001122	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE INTO REGISTER MPDB2
  1182	001123	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ DATA BUFFER
  1183	001124	0 062010 3 1 0 00 10 		MOV	AC0,BR			;GET THE DATA READ
  1184	001125	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE WITH CORRECT DATA IN AC1
  1185	001126	0 115130 4 6 1130 		JMPZ	.+2			;SKIP IF A MATCH
  1186						ERRORA	DB2EV,EVEN PARITY BIT DID NOT CAUSE PARITY BIT TO BE COMPLIMENTED,<^_
  1187					WRITING PARITY BIT TO A ONE SHOULD HAVE STORED A ZERO WITH
  1188	001127	0 116104 4 7 0104 	EVEN PARITY SET>
  1189
  1190						ERLOOP	DB2EV			^SALL
  1191	001130	0 002106 0 1 0 106 
  1192	001131	0 116152 4 7 0152 
  1193	001132	0 115105 4 6 1105 
  1194
  1195					;*WITH EVEN PARITY BIT A ONE, WRITE PARITY BIT TO A ZERO
  1196					;*READ AND CHECK PARITY BIT FOR A ONE
  1197
  1198	001133	0 002020 0 1 0 020 		LDBR	DBEVEN			;GET EVEN PARITY BIT
  1199	001134	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE PARITY BIT TO A ZERO
  1200	001135	0 002024 0 1 0 024 		LDBR	DBEVEN+DBPAR		;SET UP EXPECTED DATA
  1201	001136	0 072031 3 5 0 01 11 		MOVB	AC1			;OF PARITY BIT A ONE
  1202	001137	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ REGISTER
  1203	001140	0 060017 3 0 0 00 17 		OSB	AC0			;COMPARE WITH EXPECTED DATA
  1204	001141	0 115143 4 6 1143 		JMPZ	.+2			;SKIP IF A MATCH
  1205						ERRORA	DB2EV,EVEN PARITY BIT DID NOT CAUSE PARITY BIT TO BE COMPLIMENTED,<^_
  1206					WRITING PARITY BIT A ZERO SHOULD HAVE STORED A ONE WITH
  1207	001142	0 116104 4 7 0104 	EVEN PARITY SET>
  1208
  1209						ERLOOP	DB2EV			^SALL
  1210	001143	0 002107 0 1 0 107 
  1211	001144	0 116152 4 7 0152 
  1212	001145	0 115105 4 6 1105 
  1213
  1214					;*INITIALIZE THE DX20
  1215					;*READ MPDB2
  1216					;*CHECK EVEN PARITY BIT FOR ZERO
  1217
  1218	001146	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1219	001147	0 022007 1 1 0 00 07 		DATI	MPDB2,BR		;READ DATA REGISTER
  1220	001150	0 107152 4 3 1152 		JMPB4	.+2			;SKIP IF EVEN PARITY IS SET
  1221	001151	0 101153 4 0 1153 		JMP	.+2			;NO, SKIP OVER ERROR
  1222	001152	0 116104 4 7 0104 		ERROR	DB2EV,INITIALIZE WILL NOT CLEAR EVEN PARITY BIT
  1223
  1224						ERLOOP	DB2EV			^SALL
  1225	001153	0 002010 0 1 0 010 
  1226	001154	0 116141 4 7 0141 
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 11-3
MCOD1M	MAC	 6-Mar-89 15:13	

  1227	001155	0 115105 4 6 1105 
  1228
  1229	001156	0 116222 4 7 0222 		REPEAT	TST
  1230	001157	0 115007 4 6 1007 
  1231
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 12
MCOD1M	MAC	 6-Mar-89 15:13	

  1232						TEST	136,DATA BUFFER SELECTION TEST
  1233					;***********************************************************************
  1234					;* MCODE1 * TEST 136 *    DATA BUFFER SELECTION TEST
  1235					;***********************************************************************
  1236						SALL
  1237	001160	0 002210 0 1 0 210 
  1238	001161	0 116045 4 7 0045 
  1239
  1240	001162				TST136:	SALL
  1241
  1242
  1243					;*WRITE ZEROS TO MPDB2
  1244					;*WRITE ONES TO MPDB1 & MPDB0
  1245					;*READ MPDB2 AND CHECK FOR ZEROS
  1246
  1247	001162	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1248	001163	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1249	001164	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1250	001165	0 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  1251	001166	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE AS CORRECT DATA
  1252	001167	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE ZEROS TO MPDB2
  1253	001170	0 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1254	001171	0 064151 3 2 0 06 11 		MOVB	MPDB1			;WRITE INTO MPDB1
  1255	001172	0 064131 3 2 0 05 11 		MOVB	MPDB0			;AND MPDB0
  1256	001173	0 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ DATA IN MPDB2
  1257	001174	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE TO BR
  1258	001175	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE WITH DATA WRITTEN
  1259	001176	0 115200 4 6 1200 		JMPZ	.+2			;SKIP IF CORRECT
  1260						ERRORA	TST,CAN'T SELECT REGISTER MPDB2,^_
  1261	001177	0 116104 4 7 0104 	WRITING INTO REGISTERS MPDB1 AND MPDB0 CHANGED CONTENTS OF MPDB2
  1262
  1263						ERLOOP	TST			^SALL
  1264	001200	0 002100 0 1 0 100 
  1265	001201	0 116152 4 7 0152 
  1266	001202	0 115162 4 6 1162 
  1267
  1268					;*WRITE ZEROS INTO MPDB1
  1269					;*WRITE ONES INTO MPDB0 AND A 7 INTO MPDB2
  1270					;*READ MPDB1 AND CHECK FOR ZEROS
  1271
  1272	001203	0 002020 0 1 0 020 	DBST1:	LDBR	OCC			;GET OCCUPIED BIT
  1273	001204	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1274	001205	0 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  1275	001206	0 064151 3 2 0 06 11 		MOVB	MPDB1			;WRITE INTO MPDB1
  1276	001207	0 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1277	001210	0 064131 3 2 0 05 11 		MOVB	MPDB0			;WRITE ONES INTO MPDB0
  1278	001211	0 002007 0 1 0 007 		LDBR	7			;GET A 7
  1279	001212	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE INTO MPDB2
  1280	001213	0 032006 1 5 0 00 06 		DATI	MPDB1,AC0		;READ CONTENTS OF MPDB1
  1281	001214	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE DATA TO BR
  1282	001215	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE WITH ZEROS
  1283	001216	0 115220 4 6 1220 		JMPZ	.+2			;SKIP IF A MATCH
  1284						ERRORA	DBST1,CAN'T SELECT MPDB1,^_
  1285	001217	0 116104 4 7 0104 	WRITING INTO REGISTERS MPDB0 AND MPDB2 CHANGED CONTENTS OF MPDB1
  1286
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 12-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1287						ERLOOP	DBST1			^SALL
  1288	001220	0 002101 0 1 0 101 
  1289	001221	0 116152 4 7 0152 
  1290	001222	0 115203 4 6 1203 
  1291
  1292					;*WRITE ZEROS INTO REGISTER MPDB0
  1293					;*WRITE ONES INTO MPDB1 AND A 7 INTO MPDB2
  1294					;*READ MPDB0 AND CHECK FOR ZEROS
  1295
  1296	001223	0 002020 0 1 0 020 	DBST2:	LDBR	OCC			;GET OCCUPIED BIT
  1297	001224	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SET OCCUPIED IN STATUS REGISTER
  1298	001225	0 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  1299	001226	0 064131 3 2 0 05 11 		MOVB	MPDB0			;WRITE INTO MPDB0
  1300	001227	0 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1301	001230	0 064151 3 2 0 06 11 		MOVB	MPDB1			;WRITE INTO MPDB1
  1302	001231	0 002007 0 1 0 007 		LDBR	7			;GET A 7
  1303	001232	0 064171 3 2 0 07 11 		MOVB	MPDB2			;WRITE INTO MPDB2
  1304	001233	0 032005 1 5 0 00 05 		DATI	MPDB0,AC0		;READ CONTENTS OF MPDB0
  1305	001234	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE TO BR
  1306	001235	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE DATA WITH ZEROS
  1307	001236	0 115240 4 6 1240 		JMPZ	.+2			;SKIP IF A MATCH
  1308						ERRORA	DBST2,CAN'T SELECT REGISTER MPDB0,^_
  1309	001237	0 116104 4 7 0104 	WRITING INTO MPDB1 AND MPDB2 CHANGED CONTENTS OF MPDB0
  1310
  1311						ERLOOP	DBST2			^SALL
  1312	001240	0 002102 0 1 0 102 
  1313	001241	0 116152 4 7 0152 
  1314	001242	0 115223 4 6 1223 
  1315	001243	0 116222 4 7 0222 		REPEAT	TST
  1316	001244	0 115162 4 6 1162 
  1317
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 13
MCOD1M	MAC	 6-Mar-89 15:13	

  1318						TEST	137,EBL AND TRANSFER DONE TEST
  1319					;***********************************************************************
  1320					;* MCODE1 * TEST 137 *    EBL AND TRANSFER DONE TEST
  1321					;***********************************************************************
  1322						SALL
  1323	001245	0 002211 0 1 0 211 
  1324	001246	0 116045 4 7 0045 
  1325
  1326	001247				TST137:	SALL
  1327
  1328
  1329					;*INITIALIZE THE DX20
  1330					;*SET EBL IN MPSCR1
  1331					;*READ MPSCR1 , CHECK THAT DONE IS SET
  1332
  1333	001247	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1334	001250	0 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  1335	001251	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE THE EBL BIT IN MPSCR1
  1336	001252	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1337	001253	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL AT LEAST 1500 NS FOR EBL DURATION
  1338	001254	0 032001 1 5 0 00 01 		DATI	MPSCR1,AC0		;READ THE REGISTER
  1339	001255	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE DATA TO BR
  1340	001256	0 105260 4 2 1260 		JMPB0	.+2			;SKIP IF DONE IS SET
  1341	001257	0 116104 4 7 0104 		ERRORA	TST,SETTING EBL BIT IN MPSCR1 DID NOT CAUSE DONE TO SET
  1342
  1343						ERLOOP	TST			^SALL
  1344	001260	0 002100 0 1 0 100 
  1345	001261	0 116152 4 7 0152 
  1346	001262	0 115247 4 6 1247 
  1347
  1348					;*INITIALIZE THE DX20
  1349					;*READ MPSCR1, CHECK THAT DONE IS CLEAR
  1350
  1351	001263	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1352	001264	0 032001 1 5 0 00 01 		DATI	MPSCR1,AC0		;READ MPSCR1
  1353	001265	0 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  1354	001266	0 072031 3 5 0 01 11 		MOVB	AC1			;PUT IN AC1 AS CORRECT DATA
  1355	001267	0 062010 3 1 0 00 10 		MOV	AC0,BR			;GET DATA READ INTO BR
  1356	001270	0 105272 4 2 1272 		JMPB0	.+2			;SKIP IF DONE IS STILL SET
  1357	001271	0 101273 4 0 1273 		JMP	.+2			;NO, SKIP OVER ERROR
  1358	001272	0 116104 4 7 0104 		ERRORA	TST,INITIALIZE DID NOT CLEAR DONE BIT IN MPSCR1
  1359
  1360						ERLOOP	TST			^SALL
  1361	001273	0 002101 0 1 0 101 
  1362	001274	0 116152 4 7 0152 
  1363	001275	0 115247 4 6 1247 
  1364
  1365					;*INITIALIZE THE DX20
  1366					;*SET EBL TO SET DONE
  1367					;*SET START IN MPSCR1
  1368					;*READ MPSCR1, CHECK THAT DONE IS CLEAR
  1369
  1370	001276	0 117627 4 7 1627 	EBL0:	JMPSUB	INITLL			;INITIALIZE THE DX20
  1371	001277	0 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  1372	001300	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO MPSCR1 TO SET DONE
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 13-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1373	001301	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL FOR DURATION OF EBL PULSE
  1374	001302	0 002004 0 1 0 004 		LDBR	START			;GET START BIT
  1375	001303	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO MPSCR1, SHOULD CLEAR DONE
  1376	001304	0 032001 1 5 0 00 01 		DATI	MPSCR1,AC0		;READ MPSCR1
  1377	001305	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE DATA TO BR
  1378	001306	0 105310 4 2 1310 		JMPB0	.+2			;SKIP IF DONE IS SET
  1379	001307	0 101311 4 0 1311 		JMP	.+2			;NO, SKIP OVER ERROR
  1380	001310	0 116104 4 7 0104 		ERRORA	EBL0,SETTING START IN MPSCR1 DID NOT CLEAR DONE
  1381
  1382						ERLOOP	EBL0			^SALL
  1383	001311	0 002102 0 1 0 102 
  1384	001312	0 116152 4 7 0152 
  1385	001313	0 115276 4 6 1276 
  1386	001314	0 116222 4 7 0222 		REPEAT	TST
  1387	001315	0 115247 4 6 1247 
  1388
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 14
MCOD1M	MAC	 6-Mar-89 15:13	

  1389						TEST	138,EXCEPTION TEST
  1390					;***********************************************************************
  1391					;* MCODE1 * TEST 138 *    EXCEPTION TEST
  1392					;***********************************************************************
  1393						SALL
  1394	001316	0 002212 0 1 0 212 
  1395	001317	0 116045 4 7 0045 
  1396
  1397	001320				TST138:	SALL
  1398
  1399
  1400					;*INITIALIZE THE DX20
  1401					;*SET ILF IN MPSCR1
  1402					;*READ MPSCR1
  1403					;*CHECK THAT TRA EXC IS NOT SET
  1404
  1405	001320	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1406	001321	0 002040 0 1 0 040 		LDBR	ILF			;GET ILF BIT
  1407	001322	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO MPSCR1
  1408	001323	0 032001 1 5 0 00 01 		DATI	MPSCR1,AC0		;READ MPSCR1
  1409	001324	0 002044 0 1 0 044 		LDBR	ILF+CMPERR		;GET EXPECTED RESULT OF ILF AND COMP ERR
  1410	001325	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE AS CORRECT DATA
  1411	001326	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE DATA TO BR
  1412	001327	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE DATA READ WITH ILF BIT
  1413	001330	0 115332 4 6 1332 		JMPZ	.+2			;SKIP IF NO OTHER BITS ARE SET
  1414	001331	0 116104 4 7 0104 		ERRORA	TST,SETTING ILF WITH OCC=0 CAUSED EXC TO SET IN MPSCR1
  1415
  1416						ERLOOP	TST			^SALL
  1417	001332	0 002100 0 1 0 100 
  1418	001333	0 116152 4 7 0152 
  1419	001334	0 115320 4 6 1320 
  1420
  1421					;*INITIALIZE THE DX20
  1422					;*SET OCC IN MPSCR1
  1423					;*SET ILF
  1424					;*READ MPSCR1
  1425					;*CHECK THAT EXC IS SET
  1426
  1427	001335	0 117627 4 7 1627 	EXC0:	JMPSUB	INITLL			;INITIALIZE THE DX20
  1428	001336	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1429	001337	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO MPSCR1
  1430	001340	0 002060 0 1 0 060 		LDBR	ILF+OCC			;GET ILF BIT
  1431	001341	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO MPSCR1
  1432	001342	0 002066 0 1 0 066 		LDBR	ILF+OCC+EXC+CMPERR	;GET EXPECTED RESULT
  1433	001343	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1
  1434	001344	0 032001 1 5 0 00 01 		DATI	MPSCR1,AC0		;READ REGISTER
  1435	001345	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE DATA TO BR
  1436	001346	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE WITH EXPECTED RESULT
  1437	001347	0 115351 4 6 1351 		JMPZ	.+2			;SKIP IF A MATCH
  1438						ERRORA	EXC0,SETTING ILF WHILE OCC=1 SHOULD SET EXC IN MPSCR1,^_
  1439	001350	0 116104 4 7 0104 	EXC DID NOT SET
  1440
  1441						ERLOOP	EXC0			^SALL
  1442	001351	0 002101 0 1 0 101 
  1443	001352	0 116152 4 7 0152 
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 14-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1444	001353	0 115335 4 6 1335 
  1445
  1446					;*INITIALIZE THE DX20
  1447					;*CHECK THAT EXC IS CLEAR
  1448
  1449	001354	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1450	001355	0 002044 0 1 0 044 		LDBR	ILF+CMPERR		;GET EXPECTED RESULT OF ZERO
  1451	001356	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1452	001357	0 032001 1 5 0 00 01 		DATI	MPSCR1,AC0		;READ MPSCR1
  1453	001360	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE DATA TO BR
  1454	001361	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE RESULT
  1455	001362	0 115364 4 6 1364 		JMPZ	.+2			;SKIP IF A MATCH
  1456	001363	0 116104 4 7 0104 		ERRORA	EXC0,INITIALIZE DID NOT CLEAR EXC IN MPSCR1
  1457
  1458						ERLOOP	EXC0			^SALL
  1459	001364	0 002102 0 1 0 102 
  1460	001365	0 116152 4 7 0152 
  1461	001366	0 115335 4 6 1335 
  1462
  1463					;*INITIALIZE THE DX20
  1464					;*SET OCC
  1465					;*SET ILF
  1466					;*SET EBL
  1467					;*READ MPSCR1
  1468					;*CHECK THAT EXC IS NOT SET
  1469
  1470	001367	0 117627 4 7 1627 	EXC1:	JMPSUB	INITLL			;INITIALIZE THE DX20
  1471	001370	0 002020 0 1 0 020 		LDBR	OCC			;GET OCC BIT
  1472	001371	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO MPSCR1
  1473	001372	0 002060 0 1 0 060 		LDBR	ILF+OCC			;GET ILF BIT
  1474	001373	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO MPSCR1
  1475	001374	0 002061 0 1 0 061 		LDBR	EBL+ILF+OCC		;GET EBL BIT
  1476	001375	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;WRITE INTO MPSCR1
  1477	001376	0 002065 0 1 0 065 		LDBR	ILF+CMPERR+OCC+DONE	;GET EXPECTED RESULT
  1478	001377	0 072031 3 5 0 01 11 		MOVB	AC1			;SAVE IN AC1 AS CORRECT DATA
  1479	001400	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL FOR DURATION OF EBL PULSE
  1480	001401	0 032001 1 5 0 00 01 		DATI	MPSCR1,AC0		;READ MPSCR1
  1481	001402	0 062010 3 1 0 00 10 		MOV	AC0,BR			;MOVE TO BR
  1482	001403	0 060037 3 0 0 01 17 		OSB	AC1			;COMPARE WITH EXPECTED RESULT
  1483	001404	0 115406 4 6 1406 		JMPZ	.+2			;SKIP IF A MATCH
  1484						ERRORA	EXC1,EXC WAS SET BY OCC AND ILF,<EBL WAS THEN SET
  1485	001405	0 116104 4 7 0104 	EBL SHOULD HAVE CLEARED THE EXC BUT IT DID NOT>
  1486
  1487						ERLOOP	EXC1			^SALL
  1488	001406	0 002103 0 1 0 103 
  1489	001407	0 116152 4 7 0152 
  1490	001410	0 115367 4 6 1367 
  1491	001411	0 116222 4 7 0222 		REPEAT	TST
  1492	001412	0 115320 4 6 1320 
  1493
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 15
MCOD1M	MAC	 6-Mar-89 15:13	

  1494						TEST	139,RECEIVE RUN TEST
  1495					;***********************************************************************
  1496					;* MCODE1 * TEST 139 *    RECEIVE RUN TEST
  1497					;***********************************************************************
  1498						SALL
  1499	001413	0 002213 0 1 0 213 
  1500	001414	0 116045 4 7 0045 
  1501
  1502	001415				TST139:	SALL
  1503
  1504
  1505					;*INITIALIZE THE DX20
  1506					;*SET UP FOR A DEVICE READ TRANSFER
  1507					;*CHECK THAT RUN IS RECEIVED
  1508
  1509	001415	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1510	001416	0 002001 0 1 0 001 		LDBR	1			;GET A ONE
  1511	001417	0 066031 3 3 0 01 11 		MOVB	MPGP11			;SET UP FOR A ONE BLOCK TRANSFER
  1512	001420	0 064251 3 2 0 12 11 		MOVB	MPGP2			;SET UP FOR A ONE WORD TRANSFER
  1513	001421	0 002000 0 1 0 000 		LDBR	0			;GET A ZERO
  1514	001422	0 064271 3 2 0 13 11 		MOVB	MPGP3			;CLEAR THE HIGH ORDER BITS OF WORD COUNT
  1515	001423	0 066011 3 3 0 00 11 		MOVB	MPGP10			;CLEAR DATA PATTERN INDEX
  1516	001424	0 116177 4 7 0177 		READ				;SET UP THE RH20 FOR A READ TRANSFER
  1517	001425	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1518	001426	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  1519	001427	0 002044 0 1 0 044 		GOSUB	RUNWAT			;WAIT FOR RUN TO SET
  1520	001430	0 177231 7 7 2 11 11 
  1521	001431	0 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ THE RUN BIT
  1522	001432	0 105435 4 2 1435 		JMPB0	.+3			;JUMP AROUND IF RUN IS SET
  1523	001433	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1524						ERROR	TST,<RUN WAS NOT RECEIVED FROM RH20 AFTER A READ
  1525	001434	0 116104 4 7 0104 	COMMAND WAS ISSUED AND LOADED INTO THE DX20>
  1526
  1527						ERLOOP	TST			^SALL
  1528	001435	0 002000 0 1 0 000 
  1529	001436	0 116141 4 7 0141 
  1530	001437	0 115415 4 6 1415 
  1531	001440	0 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  1532	001441	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  1533	001442	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL FOR DURATION OF EBL PULSE
  1534	001443	0 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ THE RUN BIT
  1535	001444	0 105446 4 2 1446 		JMPB0	.+2			;JUMP IF RUN IS CLEAR
  1536	001445	0 101447 4 0 1447 		JMP	.+2			;NO, GO AROUND ERROR
  1537						ERROR	TST,<RUN DID NOT CLEAR WHEN EBL WAS SENT TO THE RH20
  1538	001446	0 116104 4 7 0104 	DURING A READ TRANSFER OF ONE BLOCK>
  1539
  1540						ERLOOP	TST			^SALL
  1541	001447	0 002001 0 1 0 001 
  1542	001450	0 116141 4 7 0141 
  1543	001451	0 115415 4 6 1415 
  1544	001452	0 116222 4 7 0222 		REPEAT	TST
  1545	001453	0 115415 4 6 1415 
  1546
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 16
MCOD1M	MAC	 6-Mar-89 15:13	

  1547						TEST	140,DEVICE READ TEST
  1548					;***********************************************************************
  1549					;* MCODE1 * TEST 140 *    DEVICE READ TEST
  1550					;***********************************************************************
  1551						SALL
  1552	001454	0 002214 0 1 0 214 
  1553	001455	0 116045 4 7 0045 
  1554
  1555	001456				TST140:	SALL
  1556
  1557
  1558					;*INITIALIZE THE DX20
  1559					;*SET UP FOR A ONE WORD DEVICE READ TRANSFER OF ALL ONES
  1560					;*SET OCCUPIED
  1561					;*CHECK THAT RUN IS SET
  1562					;*SET START
  1563					;*SET START AGAIN
  1564					;*SET EBL
  1565					;*CHECK THAT DONE IS SET
  1566					;*CLEAR OCCUPIED
  1567					;*CHECK THAT RH20 TERMINATED WITH NO ERROR
  1568
  1569	001456	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1570	001457	0 002002 0 1 0 002 		LDBR	2			;GET A TWO
  1571	001460	0 066011 3 3 0 00 11 		MOVB	MPGP10			;LOAD PATTERN CODE INDEX WITH A TWO
  1572	001461	0 002001 0 1 0 001 		LDBR	1			;GET A ONE
  1573	001462	0 066031 3 3 0 01 11 		MOVB	MPGP11			;LOAD BLOCK COUNT WITH A ONE
  1574	001463	0 116177 4 7 0177 		READ				;SET UP FOR A ONE WORD READ TRANSFER
  1575	001464	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1576	001465	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCC TO RH20
  1577	001466	0 002044 0 1 0 044 		GOSUB	RUNWAT			;WAIT FOR RUN TO SET
  1578	001467	0 177231 7 7 2 11 11 
  1579	001470	0 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1580	001471	0 064131 3 2 0 05 11 		MOVB	MPDB0			;LOAD THE DATA BUFFER
  1581	001472	0 064151 3 2 0 06 11 		MOVB	MPDB1
  1582	001473	0 002003 0 1 0 003 		LDBR	3
  1583	001474	0 064171 3 2 0 07 11 		MOVB	MPDB2
  1584	001475	0 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1585	001476	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND SCLK TO THE RH20
  1586	001477	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL 1700 NANOSECONDS
  1587										; MINIMUM BEFORE SENDING
  1588										; NEXT SCLK
  1589	001500	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND ANOTHER SCLK
  1590	001501	0 000000 0 0 0 000 		NOP				;DELAY EBL
  1591	001502	0 101503 4 0 1503 		JMP	.+1			;AT LEAST 1200 NS
  1592	001503	0 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  1593	001504	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  1594	001505	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL FOR DURATION OF EBL PULSE
  1595	001506	0 022001 1 1 0 00 01 		DATI	MPSCR1,BR		;READ STATUS
  1596	001507	0 105511 4 2 1511 		JMPB0	.+2			;JUMP IF DONE IS SET
  1597						ERROR	TST,<DONE DID NOT SET AFTER COMPLETING A READ TRANSFER
  1598	001510	0 116104 4 7 0104 	OF ONE WORD AND SENDING EBL TO RH20>
  1599
  1600						ERLOOP	TST			^SALL
  1601	001511	0 002000 0 1 0 000 
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 16-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1602	001512	0 116141 4 7 0141 
  1603	001513	0 115456 4 6 1456 
  1604
  1605						CHKTRM	TST,<ERROR STATUS SET WHEN ATTEMPTING TO PERFORM A
  1606	001514	0 002041 0 1 0 041 	ONE WORD READ OPERATION>
  1607	001515	0 116214 4 7 0214 
  1608
  1609						ERRLOP	TST			^SALL
  1610	001516	0 115456 4 6 1456 
  1611	001517	0 116222 4 7 0222 		REPEAT	TST
  1612	001520	0 115456 4 6 1456 
  1613
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 17
MCOD1M	MAC	 6-Mar-89 15:13	

  1614						TEST	141,DEVICE READ DATA TEST
  1615					;***********************************************************************
  1616					;* MCODE1 * TEST 141 *    DEVICE READ DATA TEST
  1617					;***********************************************************************
  1618						SALL
  1619	001521	0 002215 0 1 0 215 
  1620	001522	0 116045 4 7 0045 
  1621
  1622	001523				TST141:	SALL
  1623
  1624
  1625					;*SET UP FOR A FOUR WORD DEVICE READ TRANSFER
  1626					;*SEND FOUR 36-BIT WORDS AS FOLLOWS:
  1627					;*	000000 000000
  1628					;*	777777 777777
  1629					;*	777777 000000
  1630					;*	000000 777777
  1631					;*TERMINATE AND CHECK FOR NO ERRORS
  1632
  1633	001523	0 117627 4 7 1627 		JMPSUB	INITLL			;INITIALIZE THE DX20
  1634	001524	0 002003 0 1 0 003 		LDBR	3			;GET DATA PATTERN INDEX OF 3
  1635	001525	0 066011 3 3 0 00 11 		MOVB	MPGP10			;PUT IN REGISTER TO TELL HOST
  1636	001526	0 002004 0 1 0 004 		LDBR	4			;GET A WORD COUNT OF 4
  1637	001527	0 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER TO TELL HOST
  1638	001530	0 116177 4 7 0177 		READ				;SET UP RH20 FOR A READ OPERATION
  1639	001531	0 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1640	001532	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  1641	001533	0 002044 0 1 0 044 		GOSUB	RUNWAT			;WAIT FOR RUN TO SET
  1642	001534	0 177231 7 7 2 11 11 
  1643	001535	0 002000 0 1 0 000 		LDBR	0			;GET DATA OF ZERO
  1644	001536	0 064131 3 2 0 05 11 		MOVB	MPDB0			;CLEAR THE DATA BUFFER
  1645	001537	0 064151 3 2 0 06 11 		MOVB	MPDB1
  1646	001540	0 064171 3 2 0 07 11 		MOVB	MPDB2			;ALL 18 BITS
  1647	001541	0 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1648	001542	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND FIRST HALF OF FIRST WORD
  1649	001543	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL 1700 NANOSECONDS
  1650										; MINIMUM BEFORE SENDING
  1651										; NEXT SCLK
  1652	001544	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND LAST HALF OF FIRST WORD
  1653	001545	0 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1654	001546	0 101547 4 0 1547 		JMP	.+1			;FOR SCLK
  1655	001547	0 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1656	001550	0 064131 3 2 0 05 11 		MOVB	MPDB0			;SET ALL DATA BITS IN DATA BUFFER
  1657	001551	0 064151 3 2 0 06 11 		MOVB	MPDB1
  1658	001552	0 002003 0 1 0 003 		LDBR	3			;ALL 18 BITS
  1659	001553	0 064171 3 2 0 07 11 		MOVB	MPDB2			;LOAD 17 & 16
  1660	001554	0 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1661	001555	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND FIRST HALF OF SECOND WORD
  1662	001556	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL 1700 NANOSECONDS
  1663										; MINIMUM BEFORE SENDING
  1664										; NEXT SCLK
  1665	001557	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND LAST HALF OF SECOND WORD
  1666	001560	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL 1700 NANOSECONDS
  1667										; MINIMUM BEFORE SENDING
  1668										; NEXT SCLK
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 17-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1669	001561	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND FIRST HALF OF THIRD WORD
  1670	001562	0 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1671	001563	0 101564 4 0 1564 		JMP	.+1			;FOR SCLK
  1672	001564	0 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  1673	001565	0 064131 3 2 0 05 11 		MOVB	MPDB0			;CLEAR ALL BITS IN DATA BUFFER
  1674	001566	0 064151 3 2 0 06 11 		MOVB	MPDB1
  1675	001567	0 064171 3 2 0 07 11 		MOVB	MPDB2			;ALL 18 BITS
  1676	001570	0 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1677	001571	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND LAST HALF OF THIRD WORD
  1678	001572	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL 1700 NANOSECONDS
  1679										; MINIMUM BEFORE SENDING
  1680										; NEXT SCLK
  1681	001573	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND FIRST HALF OF FOURTH WORD
  1682	001574	0 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1683	001575	0 101576 4 0 1576 		JMP	.+1			;FOR SCLK
  1684	001576	0 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1685	001577	0 064131 3 2 0 05 11 		MOVB	MPDB0			;SET ALL BITS IN DATA BUFFER
  1686	001600	0 064151 3 2 0 06 11 		MOVB	MPDB1
  1687	001601	0 002003 0 1 0 003 		LDBR	3			;ALL 18 BITS
  1688	001602	0 064171 3 2 0 07 11 		MOVB	MPDB2
  1689	001603	0 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1690	001604	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND LAST HALF OF FOURTH WORD
  1691	001605	0 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1692	001606	0 101607 4 0 1607 		JMP	.+1			;FOR SCLK
  1693	001607	0 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  1694	001610	0 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  1695	001611	0 117631 4 7 1631 		JMPSUB	STALL0			;STALL FOR DURATION OF EBL PULSE
  1696	001612	0 022001 1 1 0 00 01 		DATI	MPSCR1,BR		;READ DONE BIT
  1697	001613	0 105615 4 2 1615 		JMPB0	.+2			;JUMP AROUND IF DONE IS SET
  1698						ERROR	TST,<DONE DID NOT SET AFTER PERFORMING A
  1699	001614	0 116104 4 7 0104 	FOUR WORD READ TRANSFER AND THEN SENDING EBL TO RH20>
  1700
  1701						ERLOOP	TST			^SALL
  1702	001615	0 002000 0 1 0 000 
  1703	001616	0 116141 4 7 0141 
  1704	001617	0 115523 4 6 1523 
  1705						CHKTRM	TST,<ERROR SET WHILE TRANSFERRING FOUR WORDS OF DATA
  1706	001620	0 002041 0 1 0 041 	IN DEVICE READ TRANSFER>
  1707	001621	0 116214 4 7 0214 
  1708
  1709						ERRLOP	TST			^SALL
  1710	001622	0 115523 4 6 1523 
  1711	001623	0 116222 4 7 0222 		REPEAT	TST
  1712	001624	0 115523 4 6 1523 
  1713
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 18
MCOD1M	MAC	 6-Mar-89 15:13	

  1714	001625	0 002000 0 1 0 000 		JUMP	BANK1			;GO TO NEXT BANK OF CRAM
  1715	001626	0 160231 7 0 0 11 11 
  1716
  1717	001627	0 002374 0 1 0 374 	INITLL:	JUMP	INITL			;GO TO INITIALIZE ROUTINE IN BANK 1
  1718	001630	0 160631 7 0 1 11 11 
  1719
  1720	001631	0 020001 1 0 0 00 01 	STALL0:	DATI	MPSCR1			;EXECUTE THREE DATI INSTRUCTIONS
  1721	001632	0 020001 1 0 0 00 01 		DATI	MPSCR1			; TO STALL AT LEAST 1500 NS
  1722	001633	0 020001 1 0 0 00 01 		DATI	MPSCR1			; FOR EBL PULSE DURATION
  1723	001634	0 016000 0 7 0 000 		RETURN				;ACTUAL DELAY IS 1830 NS.
  1724
  1725	002000					.LOC	2000
  1726	002000				BANK1:
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 19
MCOD1M	MAC	 6-Mar-89 15:13	

  1727						TEST	142,DEVICE READ FLOATING ONE TEST
  1728					;***********************************************************************
  1729					;* MCODE1 * TEST 142 *    DEVICE READ FLOATING ONE TEST
  1730					;***********************************************************************
  1731						SALL
  1732	002000	1 002216 0 1 0 216 
  1733	002001	1 117056 4 7 1056 
  1734
  1735	002002				TST142:	SALL
  1736
  1737
  1738					;*SET UP FOR A 9 WORD DEVICE READ TRANSFER
  1739					;*SEND DATA AS FOLLOWS:
  1740					;*	000001 000002
  1741					;*	000004 000010
  1742					;*	000020 000040
  1743					;*	000100 000200
  1744					;*	000400 001000
  1745					;*	002000 004000
  1746					;*	010000 020000
  1747					;*	040000 100000
  1748					;*	200000 400000
  1749					;*TERMINATE AND CHECK FOR NO ERRORS
  1750
  1751	002002	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  1752	002003	1 002011 0 1 0 011 		LDBR	^D9			;GET A 9
  1753	002004	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER FOR A 9 WORD TRANSFER
  1754	002005	1 002004 0 1 0 004 		LDBR	4			;SET UP FOR DATA PATTERN INDEX OF 4
  1755	002006	1 066011 3 3 0 00 11 		MOVB	MPGP10			;A FLOATING ONE PATTERN IN 18-BIT WORD
  1756	002007	1 117072 4 7 1072 		READ				;REQUEST HOST TO START A READ TRANSFER IN RH20
  1757	002010	1 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1758	002011	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  1759	002012	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  1760	002013	1 002000 0 1 0 000 		LDBR	0			;GET A ZERO DATA WORD
  1761	002014	1 064151 3 2 0 06 11 		MOVB	MPDB1			;CLEAR HIGH BITS OF DATA BUFFER
  1762	002015	1 064171 3 2 0 07 11 		MOVB	MPDB2			;INCLUDING BITS 16 AND 17
  1763	002016	1 002001 0 1 0 001 		LDBR	1			;GET START BIT IN FLOAT ONE PATTERN
  1764	002017	1 064131 3 2 0 05 11 	DBF1T0:	MOVB	MPDB0			;PUT DATA PATTERN INTO BUFFER
  1765	002020	1 072051 3 5 0 02 11 		MOVB	AC2			;SAVE CURRENT PATTERN IN AC2
  1766	002021	1 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1767	002022	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND SCLK TO RH20
  1768	002023	1 062045 3 1 0 02 05 		SHL	AC2,BR			;SHIFT DATA LEFT ONE PLACE
  1769	002024	1 112026 4 5 0026 		JMPC	.+2			;SKIP IF BIT SHIFTED OUT
  1770	002025	1 100017 4 0 0017 		JMP	DBF1T0			;NO, SEND ANOTHER BYTE TO RH20
  1771	002026	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200NS FOR SCLK
  1772	002027	1 064131 3 2 0 05 11 		MOVB	MPDB0			;CLEAR LOW BITS OF DATA BUFFER
  1773	002030	1 002001 0 1 0 001 		LDBR	1			;GET BIT 0 AGAIN
  1774	002031	1 064151 3 2 0 06 11 	DBF1T1:	MOVB	MPDB1			;PUT DATA PATTERN INTO BUFFER BITS 8-15
  1775	002032	1 072051 3 5 0 02 11 		MOVB	AC2			;SAVE CURRENT PATTERN IN AC2
  1776	002033	1 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1777	002034	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND SCLK TO RH20
  1778	002035	1 062045 3 1 0 02 05 		SHL	AC2,BR			;SHIFT DATA LEFT ONE PLACE
  1779	002036	1 112040 4 5 0040 		JMPC	.+2			;SKIP IF BIT SHIFTED OUT
  1780	002037	1 100031 4 0 0031 		JMP	DBF1T1			;NO, SEND ANOTHER BYTE TO RH20
  1781	002040	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200NS FOR SCLK
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 19-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1782	002041	1 064151 3 2 0 06 11 		MOVB	MPDB1			;CLEAR DATA BUFFER BIT 15
  1783	002042	1 002001 0 1 0 001 		LDBR	1			;GET BIT 16
  1784	002043	1 064171 3 2 0 07 11 		MOVB	MPDB2			;SET IT
  1785	002044	1 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1786	002045	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND SCLK TO RH20
  1787	002046	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1788	002047	1 100050 4 0 0050 		JMP	.+1			;FOR SCLK
  1789	002050	1 002002 0 1 0 002 		LDBR	2			;GET DATA BUFFER BIT 17
  1790	002051	1 064171 3 2 0 07 11 		MOVB	MPDB2			;SET IT
  1791	002052	1 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1792	002053	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND SCLK TO RH20
  1793	002054	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1794	002055	1 100056 4 0 0056 		JMP	.+1			;FOR SCLK
  1795	002056	1 002001 0 1 0 001 		LDBR	EBL			;GET EBL
  1796	002057	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  1797	002060	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  1798						CHKTRM	TST,<ERROR SET WHEN ATTEMPTING TO TRANSFER A 9 WORD
  1799	002061	1 002040 0 1 0 040 	FLOATING ONE PATTERN IN DEVICE READ OPERATION>
  1800	002062	1 117100 4 7 1100 
  1801
  1802						ERRLOP	TST			^SALL
  1803	002063	1 114002 4 6 0002 
  1804	002064	1 117066 4 7 1066 		REPEAT	TST
  1805	002065	1 114002 4 6 0002 
  1806
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 20
MCOD1M	MAC	 6-Mar-89 15:13	

  1807						TEST	143,DEVICE READ SHORT RECORD TEST
  1808					;***********************************************************************
  1809					;* MCODE1 * TEST 143 *    DEVICE READ SHORT RECORD TEST
  1810					;***********************************************************************
  1811						SALL
  1812	002066	1 002217 0 1 0 217 
  1813	002067	1 117056 4 7 1056 
  1814
  1815	002070				TST143:	SALL
  1816
  1817
  1818					;*SET UP FOR A 9 WORD DEVICE READ TRANSFER
  1819					;*SEND ONE WORD OF ALL ONES
  1820					;*TERMINATE AND CHECK FOR AN ERROR
  1821
  1822	002070	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  1823	002071	1 002011 0 1 0 011 		LDBR	^D9			;GET A WORD COUNT OF 9
  1824	002072	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER FOR HOST
  1825	002073	1 117072 4 7 1072 		READ				;SET UP RH20 FOR A READ TRANSFER
  1826	002074	1 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1827	002075	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  1828	002076	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  1829	002077	1 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1830	002100	1 064131 3 2 0 05 11 		MOVB	MPDB0			;SET ALL BITS IN
  1831	002101	1 064151 3 2 0 06 11 		MOVB	MPDB1			;DATA BUFFER
  1832	002102	1 002003 0 1 0 003 		LDBR	3			;GET LAST 2 BITS
  1833	002103	1 064171 3 2 0 07 11 		MOVB	MPDB2			;SET DATA BUFFER BITS 16 AND 17
  1834	002104	1 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1835	002105	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND ONE SCLK
  1836	002106	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL 1700 NANOSECONDS
  1837										; MINIMUM BEFORE SENDING
  1838										; NEXT SCLK
  1839	002107	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND SECOND SCLK
  1840	002110	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1841	002111	1 100112 4 0 0112 		JMP	.+1			;FOR SCLK
  1842	002112	1 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  1843	002113	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  1844	002114	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  1845						CHKERR	TST,<SENT ONLY ONE WORD WHEN RH20 WAS SET UP TO
  1846	002115	1 002140 0 1 0 140 	EXPECT 9 WORDS IN DEVICE READ TRANSFER>, BUT NO LENGTH ERROR SET
  1847	002116	1 117100 4 7 1100 
  1848
  1849						ERRLOP	TST			^SALL
  1850	002117	1 114070 4 6 0070 
  1851	002120	1 117066 4 7 1066 		REPEAT	TST
  1852	002121	1 114070 4 6 0070 
  1853
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 21
MCOD1M	MAC	 6-Mar-89 15:13	

  1854						TEST	144,DEVICE READ LONG RECORD TEST
  1855					;***********************************************************************
  1856					;* MCODE1 * TEST 144 *    DEVICE READ LONG RECORD TEST
  1857					;***********************************************************************
  1858						SALL
  1859	002122	1 002220 0 1 0 220 
  1860	002123	1 117056 4 7 1056 
  1861
  1862	002124				TST144:	SALL
  1863
  1864
  1865					;*SET UP FOR A ONE WORD DEVICE READ TRANSFER
  1866					;*SEND TWO WORDS OF ALL ONES
  1867					;*TERMINATE AND CHECK FOR AN ERROR
  1868
  1869	002124	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  1870	002125	1 002001 0 1 0 001 		LDBR	1			;GET A WORD COUNT OF 1
  1871	002126	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER FOR HOST
  1872	002127	1 117072 4 7 1072 		READ				;SET UP FOR A DEVICE READ TRANSFER
  1873	002130	1 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1874	002131	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  1875	002132	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  1876	002133	1 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1877	002134	1 064131 3 2 0 05 11 		MOVB	MPDB0			;SET ALL DATA BUFFER BITS
  1878	002135	1 064151 3 2 0 06 11 		MOVB	MPDB1
  1879	002136	1 002003 0 1 0 003 		LDBR	3			;GET BITS FOR 16 AND 17
  1880	002137	1 064171 3 2 0 07 11 		MOVB	MPDB2			;SET BITS 16 AND 17
  1881	002140	1 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1882	002141	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND ONE SCLK
  1883	002142	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL 1700 NANOSECONDS
  1884										; MINIMUM BEFORE SENDING
  1885										; NEXT SCLK
  1886	002143	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND SECOND SCLK
  1887	002144	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL 1700 NANOSECONDS
  1888										; MINIMUM BEFORE SENDING
  1889										; NEXT SCLK
  1890	002145	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND THIRD SCLK
  1891	002146	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL 1700 NANOSECONDS
  1892										; MINIMUM BEFORE SENDING
  1893										; NEXT SCLK
  1894	002147	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND FOURTH SCLK
  1895	002150	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1896	002151	1 100152 4 0 0152 		JMP	.+1			;FOR SCLK
  1897	002152	1 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  1898	002153	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  1899	002154	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  1900						CHKERR	TST,<SENT TWO WORDS TO RH20 IN DEVICE READ TRANSFER WHEN
  1901	002155	1 002140 0 1 0 140 	RH20 WAS EXPECTING ONLY ONE WORD>, BUT NO LENGTH ERROR SET
  1902	002156	1 117100 4 7 1100 
  1903
  1904						ERRLOP	TST			^SALL
  1905	002157	1 114124 4 6 0124 
  1906	002160	1 117066 4 7 1066 		REPEAT	TST
  1907	002161	1 114124 4 6 0124 
  1908
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 22
MCOD1M	MAC	 6-Mar-89 15:13	

  1909						TEST	145,MULTIPLE BLOCK DEVICE READ TRANSFER
  1910					;***********************************************************************
  1911					;* MCODE1 * TEST 145 *    MULTIPLE BLOCK DEVICE READ TRANSFER
  1912					;***********************************************************************
  1913						SALL
  1914	002162	1 002221 0 1 0 221 
  1915	002163	1 117056 4 7 1056 
  1916
  1917	002164				TST145:	SALL
  1918
  1919
  1920					;*SET UP FOR TWO 4 WORD DEVICE READ TRANSFERS
  1921					;*SEND 4 WORDS OF ALL ZEROS
  1922					;*SEND EBL
  1923					;*CHECK THAT DONE DOES NOT SET
  1924					;*SEND 4 WORDS OF ALL ONES
  1925					;*SEND EBL
  1926					;*CHECK THAT DONE DOES SET
  1927					;*TERMINATE AND CHECK FOR NO ERRORS
  1928
  1929	002164	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  1930	002165	1 002010 0 1 0 010 		LDBR	^D8			;GET A WORD COUNT OF 8
  1931	002166	1 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE INTO REGISTER FOR HOST
  1932	002167	1 002002 0 1 0 002 		LDBR	2			;GET A BLOCK COUNT OF 2
  1933	002170	1 066031 3 3 0 01 11 		MOVB	MPGP11			;WRITE INTO REGISTER FOR HOST
  1934	002171	1 002000 0 1 0 000 		LDBR	0			;GET A ZERO DATA PATTERN INDEX
  1935	002172	1 066011 3 3 0 00 11 		MOVB	MPGP10			;WRITE INTO REGISTER FOR HOST
  1936	002173	1 117072 4 7 1072 		READ				;SET UP FOR TWO 4-WORD TRANSFERS
  1937	002174	1 002020 0 1 0 020 		LDBR	OCC			;GET OCCUPIED BIT
  1938	002175	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  1939	002176	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  1940	002177	1 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  1941	002200	1 064131 3 2 0 05 11 		MOVB	MPDB0			;CLEAR ALL DATA BUFFER BITS
  1942	002201	1 064151 3 2 0 06 11 		MOVB	MPDB1
  1943	002202	1 064171 3 2 0 07 11 		MOVB	MPDB2
  1944	002203	1 002007 0 1 0 007 		LDBR	^D8-1			;GET BYTE COUNT -1
  1945	002204	1 072051 3 5 0 02 11 		MOVB	AC2			;SAVE IN AC2
  1946	002205	1 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1947	002206	1 064031 3 2 0 01 11 	BLK1:	MOVB	MPSCR1			;SEND AN SCLK TO THE RH20
  1948	002207	1 020001 1 0 0 00 01 		DATI	MPSCR1			;STALL
  1949	002210	1 072047 3 5 0 02 07 		DECR	AC2			;DECREMENT COUNT OF BYTES TO SEND
  1950	002211	1 114213 4 6 0213 		JMPZ	.+2			;SKIP IF COUNT WENT TO -1
  1951	002212	1 100206 4 0 0206 		JMP	BLK1			;NO, SEND MORE BYTES
  1952	002213	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1953	002214	1 100215 4 0 0215 		JMP	.+1			;FOR SCLK
  1954	002215	1 002021 0 1 0 021 		LDBR	OCC+EBL			;GET EBL BIT
  1955	002216	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  1956	002217	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  1957	002220	1 022001 1 1 0 00 01 		DATI	MPSCR1,BR		;GET DONE BIT
  1958	002221	1 104223 4 2 0223 		JMPB0	.+2			;SKIP IF DONE IS SET
  1959	002222	1 100224 4 0 0224 		JMP	.+2			;SHOULD NOT SET NOW
  1960						ERROR	TST,STARTED A TWO BLOCK DEVICE READ TRANSFER,<BUT DONE^_
  1961	002223	1 117064 4 7 1064 	SET IN STATUS REGISTER AFTER THE FIRST EBL PULSE>
  1962
  1963						ERLOOP	TST			^SALL
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 22-1
MCOD1M	MAC	 6-Mar-89 15:13	

  1964	002224	1 002000 0 1 0 000 
  1965	002225	1 117061 4 7 1061 
  1966	002226	1 114164 4 6 0164 
  1967
  1968	002227	1 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  1969	002230	1 064131 3 2 0 05 11 		MOVB	MPDB0			;SET ALL DATA BITS
  1970	002231	1 064151 3 2 0 06 11 		MOVB	MPDB1			;IN DATA BUFFER
  1971	002232	1 002003 0 1 0 003 		LDBR	3			;GET LAST TWO BITS
  1972	002233	1 064171 3 2 0 07 11 		MOVB	MPDB2			;SET DATA BITS 16 AND 17
  1973	002234	1 002007 0 1 0 007 		LDBR	^D8-1			;GET COUNT OF BYTES TO SEND TO RH20
  1974	002235	1 072051 3 5 0 02 11 		MOVB	AC2			;SAVE COUNT IN AC2
  1975	002236	1 002024 0 1 0 024 		LDBR	OCC+START		;GET START BIT
  1976	002237	1 064031 3 2 0 01 11 	BLK2:	MOVB	MPSCR1			;SEND AN SCLK TO RH20
  1977	002240	1 020001 1 0 0 00 01 		DATI	MPSCR1			;STALL
  1978	002241	1 072047 3 5 0 02 07 		DECR	AC2			;DECREMENT COUNT OF BYTES
  1979	002242	1 114244 4 6 0244 		JMPZ	.+2			;SKIP IF COUNT WENT TO -1
  1980	002243	1 100237 4 0 0237 		JMP	BLK2			;NO, SEND ANOTHER BYTE
  1981	002244	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  1982	002245	1 100246 4 0 0246 		JMP	.+1			;FOR SCLK
  1983	002246	1 002001 0 1 0 001 		LDBR	EBL			;GET EBL
  1984	002247	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  1985	002250	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  1986	002251	1 022001 1 1 0 00 01 		DATI	MPSCR1,BR		;READ STATUS REGISTER
  1987	002252	1 104254 4 2 0254 		JMPB0	.+2			;SKIP IF DONE SET NOW
  1988						ERROR	TST,<DONE DID NOT SET IN STATUS REGISTER AFTER SECOND
  1989	002253	1 117064 4 7 1064 	EBL IN A TWO BLOCK DEVICE READ TRANSFER>
  1990
  1991						ERLOOP	TST			^SALL
  1992	002254	1 002001 0 1 0 001 
  1993	002255	1 117061 4 7 1061 
  1994	002256	1 114164 4 6 0164 
  1995						CHKTRM	TST,<ERROR SET WHEN ATTEMPTING TO READ A TWO BLOCK
  1996	002257	1 002042 0 1 0 042 	TRANSFER OF 4 WORDS PER BLOCK>
  1997	002260	1 117100 4 7 1100 
  1998
  1999						ERRLOP	TST			^SALL
  2000	002261	1 114164 4 6 0164 
  2001	002262	1 117066 4 7 1066 		REPEAT	TST
  2002	002263	1 114164 4 6 0164 
  2003
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 23
MCOD1M	MAC	 6-Mar-89 15:13	

  2004						TEST	146,DEVICE WRITE TEST
  2005					;***********************************************************************
  2006					;* MCODE1 * TEST 146 *    DEVICE WRITE TEST
  2007					;***********************************************************************
  2008						SALL
  2009	002264	1 002222 0 1 0 222 
  2010	002265	1 117056 4 7 1056 
  2011
  2012	002266				TST146:	SALL
  2013
  2014
  2015					;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ALL ONES DATA
  2016					;*CHECK THAT WCLK SETS AFTER REQUESTING EACH 18-BIT WORD BY
  2017					;*  SETTING START IN REGISTER MPSCR1
  2018					;*TERMINATE AND CHECK FOR NO ERRORS
  2019
  2020	002266	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2021	002267	1 002001 0 1 0 001 		LDBR	1			;SET UP A WORD COUNT OF 1
  2022	002270	1 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE INTO REGISTER FOR HOST
  2023	002271	1 066031 3 3 0 01 11 		MOVB	MPGP11			;SET BLOCK COUNT OF 1 FOR HOST
  2024	002272	1 002002 0 1 0 002 		LDBR	2			;GET PATTERN NUMBER FOR ONES DATA
  2025	002273	1 066011 3 3 0 00 11 		MOVB	MPGP10			;WRITE INTO REGISTER FOR HOST
  2026	002274	1 117070 4 7 1070 		WRITE				;SET UP FOR A DEVICE WRITE TRANSFER
  2027	002275	1 002030 0 1 0 030 		LDBR	OCC+DTD			;SET OCCUPIED AND DIRECTION BIT
  2028	002276	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20
  2029	002277	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  2030	002300	1 002034 0 1 0 034 		LDBR	OCC+START+DTD		;GET START BIT
  2031	002301	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND AN SCLK TO RH20
  2032	002302	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  2033	002303	1 000000 0 0 0 000 		NOP
  2034	002304	1 000000 0 0 0 000 		NOP
  2035	002305	1 000000 0 0 0 000 		NOP
  2036	002306	1 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ STATUS BITS
  2037	002307	1 110311 4 4 0311 		JMPB7	.+2			;SKIP IF WCLK SET
  2038	002310	1 100321 4 0 0321 		JMP	WCLKT1			;NO, GO AROUND
  2039	002311	1 002034 0 1 0 034 		LDBR	OCC+START+DTD		;GET START BIT
  2040	002312	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20
  2041	002313	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  2042	002314	1 000000 0 0 0 000 		NOP
  2043	002315	1 000000 0 0 0 000 		NOP
  2044	002316	1 000000 0 0 0 000 		NOP
  2045	002317	1 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ STATUS BITS
  2046	002320	1 110323 4 4 0323 		JMPB7	.+3			;JUMP AROUND IF WCLK IS SET
  2047	002321	1 116774 4 7 0774 	WCLKT1:	JMPSUB	INITL			;INITIALIZE THE DX20
  2048						ERROR	TST,<WCLK DID NOT SET IN REGISTER MPSCR0 AFTER SENDING
  2049	002322	1 117064 4 7 1064 	AN SCLK TO RH20 DURING A DEVICE WRITE TRANSFER>
  2050
  2051						ERLOOP	TST			^SALL
  2052	002323	1 002000 0 1 0 000 
  2053	002324	1 117061 4 7 1061 
  2054	002325	1 114266 4 6 0266 
  2055
  2056	002326	1 002001 0 1 0 001 		LDBR	EBL			;SET EBL AND CLEAR OCCUPIED
  2057	002327	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;TELL RH20 TO TERMINATE
  2058	002330	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 23-1
MCOD1M	MAC	 6-Mar-89 15:13	

  2059						CHKTRM	TST,<ATTEMPTED A ONE WORD DEVICE WRITE TRANSFER
  2060	002331	1 002041 0 1 0 041 	BUT AN ERROR SET IN THE RH20>
  2061	002332	1 117100 4 7 1100 
  2062
  2063						ERRLOP	TST			^SALL
  2064	002333	1 114266 4 6 0266 
  2065
  2066					;*INITIALIZE THE DX20 AND CHECK THAT WCLK CLEARED
  2067
  2068	002334	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2069	002335	1 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ STATUS BITS
  2070	002336	1 110340 4 4 0340 		JMPB7	.+2			;SKIP IF WCLK IS STILL SET
  2071	002337	1 100341 4 0 0341 		JMP	.+2			;IT SHOULD HAVE CLEARED BY INIT
  2072	002340	1 117064 4 7 1064 		ERROR	TST,CANNOT CLEAR WCLK IN REGISTER MPSCR0 WITH INIT
  2073
  2074						ERLOOP	TST			^SALL
  2075	002341	1 002002 0 1 0 002 
  2076	002342	1 117061 4 7 1061 
  2077	002343	1 114266 4 6 0266 
  2078	002344	1 117066 4 7 1066 		REPEAT	TST
  2079	002345	1 114266 4 6 0266 
  2080
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 24
MCOD1M	MAC	 6-Mar-89 15:13	

  2081						TEST	147,WCLK CLEAR TEST
  2082					;***********************************************************************
  2083					;* MCODE1 * TEST 147 *    WCLK CLEAR TEST
  2084					;***********************************************************************
  2085						SALL
  2086	002346	1 002223 0 1 0 223 
  2087	002347	1 117056 4 7 1056 
  2088
  2089	002350				TST147:	SALL
  2090
  2091
  2092					;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ALL ONES DATA
  2093					;*CHECK THAT WCLK SETS AFTER REQUESTING EACH 18-BIT WORD BY
  2094					;*  SETTING START IN REGISTER MPSCR1
  2095					;*TERMINATE AND CHECK FOR NO ERRORS
  2096
  2097	002350	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2098	002351	1 002001 0 1 0 001 		LDBR	1			;SET UP A WORD COUNT OF 1
  2099	002352	1 064251 3 2 0 12 11 		MOVB	MPGP2			;WRITE INTO REGISTER FOR HOST
  2100	002353	1 066031 3 3 0 01 11 		MOVB	MPGP11			;SET BLOCK COUNT OF 1 FOR HOST
  2101	002354	1 002002 0 1 0 002 		LDBR	2			;GET PATTERN NUMBER FOR ONES DATA
  2102	002355	1 066011 3 3 0 00 11 		MOVB	MPGP10			;WRITE INTO REGISTER FOR HOST
  2103	002356	1 117070 4 7 1070 		WRITE				;SET UP FOR A DEVICE WRITE TRANSFER
  2104	002357	1 002030 0 1 0 030 		LDBR	OCC+DTD			;SET OCCUPIED AND DIRECTION BIT
  2105	002360	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20
  2106	002361	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  2107	002362	1 002034 0 1 0 034 		LDBR	OCC+START+DTD		;GET START BIT
  2108	002363	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND AN SCLK TO RH20
  2109	002364	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  2110	002365	1 000000 0 0 0 000 		NOP
  2111	002366	1 000000 0 0 0 000 		NOP
  2112	002367	1 000000 0 0 0 000 		NOP
  2113	002370	1 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ STATUS BITS
  2114	002371	1 110373 4 4 0373 		JMPB7	.+2			;SKIP IF WCLK SET
  2115	002372	1 100403 4 0 0403 		JMP	WCLKT2			;NO, GO AROUND
  2116	002373	1 002034 0 1 0 034 		LDBR	OCC+START+DTD		;GET START BIT
  2117	002374	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20
  2118	002375	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  2119	002376	1 000000 0 0 0 000 		NOP
  2120	002377	1 000000 0 0 0 000 		NOP
  2121	002400	1 000000 0 0 0 000 		NOP
  2122	002401	1 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ STATUS BITS
  2123	002402	1 110405 4 4 0405 		JMPB7	.+3			;JUMP AROUND IF WCLK IS SET
  2124	002403	1 116774 4 7 0774 	WCLKT2:	JMPSUB	INITL			;INITIALIZE THE DX20
  2125						ERROR	TST,<WCLK DID NOT SET IN REGISTER MPSCR0 AFTER SENDING
  2126	002404	1 117064 4 7 1064 	AN SCLK TO RH20 DURING A DEVICE WRITE TRANSFER>
  2127
  2128						ERLOOP	TST			^SALL
  2129	002405	1 002000 0 1 0 000 
  2130	002406	1 117061 4 7 1061 
  2131	002407	1 114350 4 6 0350 
  2132
  2133	002410	1 002001 0 1 0 001 		LDBR	EBL			;SET EBL AND CLEAR OCCUPIED
  2134	002411	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;TELL RH20 TO TERMINATE
  2135	002412	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 24-1
MCOD1M	MAC	 6-Mar-89 15:13	

  2136						CHKTRM	TST,<ATTEMPTED A ONE WORD DEVICE WRITE TRANSFER
  2137	002413	1 002041 0 1 0 041 	BUT AN ERROR SET IN THE RH20>
  2138	002414	1 117100 4 7 1100 
  2139
  2140						ERRLOP	TST			^SALL
  2141	002415	1 114350 4 6 0350 
  2142
  2143					;*SEND ANOTHER SCLK AND CHECK THAT WCLK CLEARED
  2144
  2145	002416	1 002014 0 1 0 014 		LDBR	START+DTD		;GET START BIT
  2146	002417	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND AN SCLK TO RH20 AND CLEAR WCLK
  2147	002420	1 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;READ STATUS BITS
  2148	002421	1 110423 4 4 0423 		JMPB7	.+2			;SKIP IF WCLK IS STILL SET
  2149	002422	1 100424 4 0 0424 		JMP	.+2			;IT SHOULD HAVE CLEARED BY START
  2150						ERROR	TST,<CANNOT CLEAR WCLK IN REGISTER MPSCR0 WITH
  2151	002423	1 117064 4 7 1064 	START DATA TRANSFER>
  2152
  2153						ERLOOP	TST			^SALL
  2154	002424	1 002002 0 1 0 002 
  2155	002425	1 117061 4 7 1061 
  2156	002426	1 114350 4 6 0350 
  2157	002427	1 117066 4 7 1066 		REPEAT	TST
  2158	002430	1 114350 4 6 0350 
  2159
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 25
MCOD1M	MAC	 6-Mar-89 15:13	

  2160						TEST	148,DEVICE WRITE DATA BUFFER TEST
  2161					;***********************************************************************
  2162					;* MCODE1 * TEST 148 *    DEVICE WRITE DATA BUFFER TEST
  2163					;***********************************************************************
  2164						SALL
  2165	002431	1 002224 0 1 0 224 
  2166	002432	1 117056 4 7 1056 
  2167
  2168	002433				TST148:	SALL
  2169
  2170
  2171					;*SET UP FOR A 4 WORD DEVICE WRITE TRANSFER
  2172					;*REQUEST AND CHECK FOR THE FOLLOWING DATA
  2173					;*	000000 000000
  2174					;*	777777 777777
  2175					;*	777777 000000
  2176					;*	000000 777777
  2177					;*TERMINATE AND CHECK FOR NO ERRORS
  2178
  2179	002433	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2180	002434	1 002004 0 1 0 004 		LDBR	4			;GET WORD COUNT
  2181	002435	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN MPGP2 FOR HOST
  2182	002436	1 064351 3 2 0 16 11 		MOVB	MPGP6			;SET ADDITIONAL PRINT INDEX TO 4
  2183	002437	1 002001 0 1 0 001 		LDBR	1			;GET A BLOCK COUNT OF ONE
  2184	002440	1 066031 3 3 0 01 11 		MOVB	MPGP11			;PUT IN REGISTER FOR HOST
  2185	002441	1 002003 0 1 0 003 		LDBR	3			;GET PATTERN NUMBER 3
  2186	002442	1 066011 3 3 0 00 11 		MOVB	MPGP10			;PUT IN REGISTER FOR HOST
  2187	002443	1 117070 4 7 1070 		WRITE				;SET UP THE WRITE OPERATION
  2188	002444	1 002030 0 1 0 030 		LDBR	OCC+DTD			;SET OCCUPIED AND DTD
  2189	002445	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCC TO RH20
  2190	002446	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  2191	002447	1 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  2192	002450	1 066051 3 3 0 02 11 		MOVB	MPGP12			;CLEAR THE CORRECT DATA REGISTER
  2193	002451	1 066071 3 3 0 03 11 		MOVB	MPGP13
  2194	002452	1 066151 3 3 0 06 11 		MOVB	MPGP16
  2195	002453	1 064311 3 2 0 14 11 		MOVB	MPGP4			;PUT NUMBER OF HALF WORD IN MPGP4
  2196	002454	1 117005 4 7 1005 		JMPSUB	CHKWRD			;GO REQUEST AND CHECK A WORD
  2197	002455	1 114515 4 6 0515 		JMPZ	WDBT1			;JUMP AROUND IF ANY ERROR FOUND
  2198	002456	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK THE SECOND HALF WORD
  2199	002457	1 114515 4 6 0515 		JMPZ	WDBT1			;JUMP AROUND IF ANY ERROR FOUND
  2200	002460	1 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  2201	002461	1 066051 3 3 0 02 11 		MOVB	MPGP12			;SET UP CORRECT DATA OF ALL ONES
  2202	002462	1 066071 3 3 0 03 11 		MOVB	MPGP13
  2203	002463	1 002003 0 1 0 003 		LDBR	DB			;GET DATA BITS 17 & 16
  2204	002464	1 066151 3 3 0 06 11 		MOVB	MPGP16
  2205	002465	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK THIRD HALF WORD
  2206	002466	1 114515 4 6 0515 		JMPZ	WDBT1			;JUMP AROUND IF ANY ERROR
  2207	002467	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK 4TH HALF WORD
  2208	002470	1 114515 4 6 0515 		JMPZ	WDBT1			;JUMP AROUND IF ANY ERROR
  2209	002471	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK 5TH HALF WORD
  2210	002472	1 114515 4 6 0515 		JMPZ	WDBT1			;JUMP AROUND IF ANY ERRORS
  2211	002473	1 002000 0 1 0 000 		LDBR	0			;GET ZERO DATA
  2212	002474	1 066051 3 3 0 02 11 		MOVB	MPGP12			;PUT ZEROS INTO CORRECT DATA REGISTERS
  2213	002475	1 066071 3 3 0 03 11 		MOVB	MPGP13
  2214	002476	1 066151 3 3 0 06 11 		MOVB	MPGP16
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 25-1
MCOD1M	MAC	 6-Mar-89 15:13	

  2215	002477	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK 6TH HALF WORD
  2216	002500	1 114515 4 6 0515 		JMPZ	WDBT1			;JUMP AROUND IF ANY ERROR
  2217	002501	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK 7TH HALF WORD
  2218	002502	1 114515 4 6 0515 		JMPZ	WDBT1			;JUMP AROUND IF ANY ERRORS
  2219	002503	1 002377 0 1 0 377 		LDBR	-1			;GET ONES DATA
  2220	002504	1 066051 3 3 0 02 11 		MOVB	MPGP12			;PUT IN CORRECT DATA REGISTERS
  2221	002505	1 066071 3 3 0 03 11 		MOVB	MPGP13
  2222	002506	1 002003 0 1 0 003 		LDBR	DB			;GET DATA BITS 17 & 16
  2223	002507	1 066151 3 3 0 06 11 		MOVB	MPGP16
  2224	002510	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK 8TH HALF WORD
  2225	002511	1 114515 4 6 0515 		JMPZ	WDBT1			;JUMP AROUND IF ANY ERRORS
  2226	002512	1 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  2227	002513	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20 TO TERMINATE 
  2228	002514	1 100520 4 0 0520 		JMP	WDBT2+1			;JUMP AROUND THE ERROR
  2229	002515	1 002001 0 1 0 001 	WDBT1:	LDBR	EBL			;GET EBL BIT
  2230	002516	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20 TO TERMINATE
  2231	002517	1 117064 4 7 1064 	WDBT2:	ERROR	TST,INCORRECT DATA RECEIVED FROM RH20,,PNT
  2232
  2233						ERLOOP	TST			^SALL
  2234	002520	1 002200 0 1 0 200 
  2235	002521	1 117061 4 7 1061 
  2236	002522	1 114433 4 6 0433 
  2237	002523	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  2238	002524	1 002041 0 1 0 041 		CHKTRM	TST,4 WORD WRITE TRANSFER CAUSED AN RH20 ERROR
  2239	002525	1 117100 4 7 1100 
  2240
  2241						ERRLOP	TST			^SALL
  2242	002526	1 114433 4 6 0433 
  2243	002527	1 117066 4 7 1066 		REPEAT	TST
  2244	002530	1 114433 4 6 0433 
  2245
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 26
MCOD1M	MAC	 6-Mar-89 15:13	

  2246						TEST	149,DEVICE WRITE DATA BUFFER PARITY ERROR TEST
  2247					;***********************************************************************
  2248					;* MCODE1 * TEST 149 *    DEVICE WRITE DATA BUFFER PARITY ERROR TEST
  2249					;***********************************************************************
  2250						SALL
  2251	002531	1 002225 0 1 0 225 
  2252	002532	1 117056 4 7 1056 
  2253
  2254	002533				TST149:	SALL
  2255
  2256
  2257					;*SET EVEN PARITY BIT IN DATA BUFFER
  2258					;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ALL ZEROS
  2259					;*REQUEST THE WORD
  2260					;*WRITE ZEROS TO MPDB2 TO CLEAR THE PARITY BIT IN DATA BUFFER
  2261					;*CHECK THAT DATA BUFFER PARITY ERROR IS NOW SET
  2262
  2263	002533	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2264	002534	1 002001 0 1 0 001 		LDBR	1			;GET A WORD COUNT OF 1
  2265	002535	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER FOR HOST
  2266	002536	1 066031 3 3 0 01 11 		MOVB	MPGP11			;GET BLOCK COUNT TO 1
  2267	002537	1 066011 3 3 0 00 11 		MOVB	MPGP10			;SET DATA PATTERN CODE TO 1
  2268	002540	1 117070 4 7 1070 		WRITE				;SET UP RH20 FOR A WRITE TRANSFER
  2269	002541	1 002030 0 1 0 030 		LDBR	OCC+DTD			;GET OCCUPIED BIT
  2270	002542	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20
  2271	002543	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  2272	002544	1 002000 0 1 0 000 		LDBR	0			;PUT NUMBER OF HALF WORD
  2273	002545	1 064311 3 2 0 14 11 		MOVB	MPGP4			;IN MPGP4
  2274	002546	1 066051 3 3 0 02 11 		MOVB	MPGP12			;CLEAR CORRECT
  2275	002547	1 066071 3 3 0 03 11 		MOVB	MPGP13			;DATA REGISTER
  2276	002550	1 002010 0 1 0 010 		LDBR	DBPARE			;SET TO EXPECT
  2277	002551	1 066151 3 3 0 06 11 		MOVB	MPGP16			;A PARITY ERROR
  2278	002552	1 002020 0 1 0 020 		LDBR	DBEVEN			;GET EVEN PARITY BIT
  2279	002553	1 064171 3 2 0 07 11 		MOVB	MPDB2			;SET IN DATA BUFFER
  2280	002554	1 117005 4 7 1005 		JMPSUB	CHKWRD			;GET FIRST HALF OF WORD
  2281	002555	1 114563 4 6 0563 		JMPZ	WDBPT1			;JUMP AROUND IF AN ERROR FOUND
  2282	002556	1 117005 4 7 1005 		JMPSUB	CHKWRD			;GET SECOND HALF OF WORD
  2283	002557	1 114563 4 6 0563 		JMPZ	WDBPT1			;JUMP AROUND IF AN ERROR FOUND
  2284	002560	1 002011 0 1 0 011 		LDBR	DTD+EBL			;GET EBL BIT
  2285	002561	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20 TO TERMINATE
  2286	002562	1 100566 4 0 0566 		JMP	WDBPT2+1		;JUMP AROUND THE ERROR
  2287	002563	1 002011 0 1 0 011 	WDBPT1:	LDBR	DTD+EBL			;GET EBL BIT
  2288	002564	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20 TO TERMINATE
  2289					WDBPT2:	ERROR	TST,<DATA BUFFER PARITY ERROR DID NOT SET DURING
  2290					ONE WORD DEVICE WRITE TRANSFER WHILE DATA BUFFER
  2291	002565	1 117064 4 7 1064 	EVEN PARITY BIT WAS SET>,,PNT
  2292
  2293						ERLOOP	TST			^SALL
  2294	002566	1 002200 0 1 0 200 
  2295	002567	1 117061 4 7 1061 
  2296	002570	1 114533 4 6 0533 
  2297
  2298	002571	1 117066 4 7 1066 		REPEAT	TST
  2299	002572	1 114533 4 6 0533 
  2300
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 27
MCOD1M	MAC	 6-Mar-89 15:13	

  2301						TEST	150,DEVICE WRITE FLOATING ONE TEST
  2302					;***********************************************************************
  2303					;* MCODE1 * TEST 150 *    DEVICE WRITE FLOATING ONE TEST
  2304					;***********************************************************************
  2305						SALL
  2306	002573	1 002226 0 1 0 226 
  2307	002574	1 117056 4 7 1056 
  2308
  2309	002575				TST150:	SALL
  2310
  2311
  2312					;*SET UP FOR A 9 WORD DEVICE WRITE TRANSFER
  2313					;*REQUEST AND CHECK FOR THE FOLLOWING DATA:
  2314					;*	000001 000002
  2315					;*	000004 000010
  2316					;*	000020 000040
  2317					;*	000100 000200
  2318					;*	000400 001000
  2319					;*	002000 004000
  2320					;*	010000 020000
  2321					;*	040000 100000
  2322					;*	200000 400000
  2323					;*TERMINATE AND CHECK FOR NO ERRORS
  2324
  2325	002575	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2326	002576	1 002011 0 1 0 011 		LDBR	^D9			;GET A WORD COUNT OF 9
  2327	002577	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER FOR HOST
  2328	002600	1 002001 0 1 0 001 		LDBR	1			;GET BLOCK COUNT OF 1
  2329	002601	1 066031 3 3 0 01 11 		MOVB	MPGP11			;PUT IN REGISTER FOR HOST
  2330	002602	1 002004 0 1 0 004 		LDBR	4			;GET DATA PATTERN NUMBER 4
  2331	002603	1 066011 3 3 0 00 11 		MOVB	MPGP10			;PUT IN REGISTER FOR HOST
  2332	002604	1 117070 4 7 1070 		WRITE				;SET UP RH20 FOR WRITE TRANSFER
  2333	002605	1 002030 0 1 0 030 		LDBR	DTD+OCC			;GET OCCUPIED BIT
  2334	002606	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20
  2335	002607	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  2336	002610	1 002001 0 1 0 001 		LDBR	1			;GET A ONE, THE START BIT
  2337	002611	1 066051 3 3 0 02 11 		MOVB	MPGP12			;PUT INTO CORRECT DATA BUFFER
  2338	002612	1 002000 0 1 0 000 		LDBR	0			;GET ZEROS DATA
  2339	002613	1 066071 3 3 0 03 11 		MOVB	MPGP13			;CLEAR REST OF CORRECT DATA REGISTERS
  2340	002614	1 066151 3 3 0 06 11 		MOVB	MPGP16
  2341	002615	1 064311 3 2 0 14 11 		MOVB	MPGP4			;CLEAR WORD COUNT
  2342	002616	1 117005 4 7 1005 	WFOT1:	JMPSUB	CHKWRD			;REQUEST AND CHECK A WORD FROM RH20
  2343	002617	1 114652 4 6 0652 		JMPZ	WFOTE			;JUMP TO ERROR REPORT IF ANY ERROR
  2344	002620	1 132002 5 5 0 00 02 		DATI	MPGP12,AC0		;GET DATA PATTERN
  2345	002621	1 062005 3 1 0 00 05 		SHL	AC0,BR			;SHIFT DATA LEFT
  2346	002622	1 066051 3 3 0 02 11 		MOVB	MPGP12			;PUT NEW DATA BACK
  2347	002623	1 112625 4 5 0625 		JMPC	.+2			;SKIP IF BIT WAS SHIFTED OUT
  2348	002624	1 100616 4 0 0616 		JMP	WFOT1			;NO, CHECK THIS PATTERN
  2349	002625	1 002001 0 1 0 001 		LDBR	1			;GET ANOTHER ONE BIT
  2350	002626	1 066071 3 3 0 03 11 		MOVB	MPGP13			;PUT IN NEXT BYTE OF WORD
  2351	002627	1 117005 4 7 1005 	WFOT2:	JMPSUB	CHKWRD			;REQUEST AND CHECK ANOTHER WORD
  2352	002630	1 114652 4 6 0652 		JMPZ	WFOTE			;JUMP TO ERROR REPORT IF ANY ERROR
  2353	002631	1 132003 5 5 0 00 03 		DATI	MPGP13,AC0		;GET DATA PATTERN
  2354	002632	1 062005 3 1 0 00 05 		SHL	AC0,BR			;SHIFT DATA BIT LEFT
  2355	002633	1 066071 3 3 0 03 11 		MOVB	MPGP13			;PUT NEW PATTERN BACK
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 27-1
MCOD1M	MAC	 6-Mar-89 15:13	

  2356	002634	1 112636 4 5 0636 		JMPC	.+2			;SKIP IF BIT SHIFTED OUT
  2357	002635	1 100627 4 0 0627 		JMP	WFOT2			;NO, CHECK THIS PATTERN
  2358	002636	1 002001 0 1 0 001 		LDBR	1			;GET ANOTHER ONE BIT
  2359	002637	1 066151 3 3 0 06 11 		MOVB	MPGP16			;WRITE SET BIT 16 IN CORRECT BUFFER
  2360	002640	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK THIS WORD
  2361	002641	1 114652 4 6 0652 		JMPZ	WFOTE			;JUMP TO ERROR REPORT IF ANY ERROR
  2362	002642	1 002002 0 1 0 002 		LDBR	2			;GET BIT FOR BIT 17
  2363	002643	1 066151 3 3 0 06 11 		MOVB	MPGP16			;PUT IN CORRECT BUFFER
  2364	002644	1 117005 4 7 1005 		JMPSUB	CHKWRD			;CHECK THIS WORD
  2365	002645	1 114652 4 6 0652 		JMPZ	WFOTE			;JUMP TO ERROR REPORT IF ANY ERROR
  2366	002646	1 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  2367	002647	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  2368	002650	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  2369	002651	1 100656 4 0 0656 		JMP	WFOTR+1			;JUMP AROUND ERROR REPORT
  2370	002652	1 002001 0 1 0 001 	WFOTE:	LDBR	EBL			;GET EBL BIT
  2371	002653	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  2372	002654	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  2373	002655	1 117064 4 7 1064 	WFOTR:	ERROR	TST,INCORRECT DATA RECEIVED FROM RH20,,PNT
  2374
  2375						ERLOOP	TST			^SALL
  2376	002656	1 002200 0 1 0 200 
  2377	002657	1 117061 4 7 1061 
  2378	002660	1 114575 4 6 0575 
  2379	002661	1 002041 0 1 0 041 		CHKTRM	TST,ERROR SET DURING A 9 WORD WRITE TRANSFER
  2380	002662	1 117100 4 7 1100 
  2381
  2382						ERRLOP	TST			^SALL
  2383	002663	1 114575 4 6 0575 
  2384	002664	1 117066 4 7 1066 		REPEAT	TST
  2385	002665	1 114575 4 6 0575 
  2386
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 28
MCOD1M	MAC	 6-Mar-89 15:13	

  2387						TEST	151,DEVICE WRITE SHORT RECORD TEST
  2388					;***********************************************************************
  2389					;* MCODE1 * TEST 151 *    DEVICE WRITE SHORT RECORD TEST
  2390					;***********************************************************************
  2391						SALL
  2392	002666	1 002227 0 1 0 227 
  2393	002667	1 117056 4 7 1056 
  2394
  2395	002670				TST151:	SALL
  2396
  2397
  2398					;*SET UP FOR A 4 WORD DEVICE WRITE TRANSFER OF ZEROS
  2399					;*REQUEST ONE WORD
  2400					;*TERMINATE AND CHECK FOR AN ERROR
  2401
  2402	002670	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2403	002671	1 002004 0 1 0 004 		LDBR	4			;GET WORD COUNT OF 4
  2404	002672	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER FOR HOST
  2405	002673	1 002001 0 1 0 001 		LDBR	1			;GET PATTERN CODE OF 1
  2406	002674	1 066011 3 3 0 00 11 		MOVB	MPGP10			;PUT IN REGISTER FOR HOST
  2407	002675	1 117070 4 7 1070 		WRITE				;SET UP THE RH20 FOR A WRITE TRANSFER
  2408	002676	1 002030 0 1 0 030 		LDBR	DTD+OCC			;GET THE OCCUPIED BIT
  2409	002677	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  2410	002700	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  2411	002701	1 117005 4 7 1005 		JMPSUB	CHKWRD			;REQUEST ONE WORD
  2412	002702	1 117005 4 7 1005 		JMPSUB	CHKWRD			;REQUEST SECOND HALF OF WORD
  2413	002703	1 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  2414	002704	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  2415	002705	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  2416						CHKERR	TST,<ACCEPTED ONLY ONE WORD OF A 4 WORD TRANSFER
  2417	002706	1 002140 0 1 0 140 	BUT RH20 DID NOT SET ANY ERRORS>
  2418	002707	1 117100 4 7 1100 
  2419
  2420						ERRLOP	TST			^SALL
  2421	002710	1 114670 4 6 0670 
  2422	002711	1 117066 4 7 1066 		REPEAT	TST
  2423	002712	1 114670 4 6 0670 
  2424
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 29
MCOD1M	MAC	 6-Mar-89 15:13	

  2425						TEST	152,DEVICE WRITE LONG RECORD TEST
  2426					;***********************************************************************
  2427					;* MCODE1 * TEST 152 *    DEVICE WRITE LONG RECORD TEST
  2428					;***********************************************************************
  2429						SALL
  2430	002713	1 002230 0 1 0 230 
  2431	002714	1 117056 4 7 1056 
  2432
  2433	002715				TST152:	SALL
  2434
  2435
  2436					;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ZEROS
  2437					;*REQUEST 4 WORDS
  2438					;*TERMINATE AND CHECK FOR AN ERROR
  2439
  2440	002715	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2441	002716	1 002001 0 1 0 001 		LDBR	1			;GET WORD COUNT OF 1
  2442	002717	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER FOR HOST
  2443	002720	1 002001 0 1 0 001 		LDBR	1			;GET PATTERN CODE OF 1
  2444	002721	1 066011 3 3 0 00 11 		MOVB	MPGP10			;PUT IN REGISTER FOR HOST
  2445	002722	1 117070 4 7 1070 		WRITE				;SET UP THE RH20 FOR A WRITE TRANSFER
  2446	002723	1 002030 0 1 0 030 		LDBR	DTD+OCC			;GET THE OCCUPIED BIT
  2447	002724	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  2448	002725	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  2449	002726	1 117005 4 7 1005 		JMPSUB	CHKWRD			;REQUEST ONE WORD
  2450	002727	1 117005 4 7 1005 		JMPSUB	CHKWRD			;REQUEST SECOND HALF OF WORD
  2451	002730	1 117005 4 7 1005 		JMPSUB	CHKWRD			;REQUEST ANOTHER WORD
  2452	002731	1 117005 4 7 1005 		JMPSUB	CHKWRD			;AND SECOND HALF
  2453	002732	1 117005 4 7 1005 		JMPSUB	CHKWRD			;REQUEST THIRD WORD
  2454	002733	1 117005 4 7 1005 		JMPSUB	CHKWRD			;AND SECOND HALF
  2455	002734	1 117005 4 7 1005 		JMPSUB	CHKWRD			;REQUEST FOURTH WORD
  2456	002735	1 117005 4 7 1005 		JMPSUB	CHKWRD			;AND SECOND HALF
  2457	002736	1 002001 0 1 0 001 		LDBR	EBL			;GET EBL BIT
  2458	002737	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EBL TO RH20
  2459	002740	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  2460						CHKERR	TST,<ACCEPTED FOUR WORDS OF A ONE WORD TRANSFER
  2461	002741	1 002140 0 1 0 140 	BUT RH20 DID NOT SET ANY ERRORS>
  2462	002742	1 117100 4 7 1100 
  2463
  2464						ERRLOP	TST			^SALL
  2465	002743	1 114715 4 6 0715 
  2466	002744	1 117066 4 7 1066 		REPEAT	TST
  2467	002745	1 114715 4 6 0715 
  2468
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 30
MCOD1M	MAC	 6-Mar-89 15:13	

  2469						TEST	153,DRIVE EXCEPTION TEST
  2470					;***********************************************************************
  2471					;* MCODE1 * TEST 153 *    DRIVE EXCEPTION TEST
  2472					;***********************************************************************
  2473						SALL
  2474	002746	1 002231 0 1 0 231 
  2475	002747	1 117056 4 7 1056 
  2476
  2477	002750				TST153:	SALL
  2478
  2479
  2480					;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ZEROS
  2481					;*REQUEST THE ONE WORD
  2482					;*SET MPERR TO GENERATE EXCEPTION
  2483					;*TERMINATE AND CHECK FOR AN ERROR
  2484
  2485	002750	1 116774 4 7 0774 		JMPSUB	INITL			;INITIALIZE THE DX20
  2486	002751	1 002001 0 1 0 001 		LDBR	1			;GET WORD COUNT OF 1
  2487	002752	1 064251 3 2 0 12 11 		MOVB	MPGP2			;PUT IN REGISTER FOR HOST
  2488	002753	1 117070 4 7 1070 		WRITE				;SET UP RH20 FOR A WRITE TRANSFER
  2489	002754	1 002030 0 1 0 030 		LDBR	DTD+OCC			;GET OCCUPIED BIT
  2490	002755	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND OCCUPIED TO RH20
  2491	002756	1 117044 4 7 1044 		JMPSUB	RUNWAT			;WAIT FOR RUN TO SET
  2492	002757	1 117005 4 7 1005 		JMPSUB	CHKWRD			;REQUEST THE WORD
  2493	002760	1 117005 4 7 1005 		JMPSUB	CHKWRD			;AND THE SECOND HALF
  2494	002761	1 002131 0 1 0 131 		LDBR	MPERR+EBL+DTD+OCC	;GET ERROR AND EBL BITS
  2495	002762	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND EXCEPTION AN EBL TO RH20
  2496	002763	1 117001 4 7 1001 		JMPSUB	STALL1			;STALL FOR DURATION OF EBL PULSE
  2497	002764	1 002000 0 1 0 000 		LDBR	0			;CLEAR OCC AND MPERR
  2498	002765	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;IN STATUS REGISTER
  2499						CHKERR	TST,<TRIED TO ASSERT EXCEPTION WITH MPERR BIT AFTER A
  2500	002766	1 002140 0 1 0 140 	WRITE TRANSFER>,BUT RH20 DID NOT SEE THE EXCEPTION ERROR
  2501	002767	1 117100 4 7 1100 
  2502
  2503						ERRLOP	TST			^SALL
  2504	002770	1 114750 4 6 0750 
  2505	002771	1 117066 4 7 1066 		REPEAT	TST
  2506	002772	1 114750 4 6 0750 
  2507
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 31
MCOD1M	MAC	 6-Mar-89 15:13	

  2508	002773	1 101054 4 0 1054 		JMP	END			;GO TO END OF CODE
  2509
  2510	002774	1 002200 0 1 0 200 	INITL:	LDBR	INIT			;GET INITIALIZE BIT
  2511	002775	1 066371 3 3 0 17 11 		MOVB	IOSEL			;INITIALIZE THE DX20
  2512	002776	1 002011 0 1 0 011 		LDBR	11			;GET MASSBUS SELECTION CODE
  2513	002777	1 066371 3 3 0 17 11 		MOVB	IOSEL			;LOAD INTO I/O SELECT REGISTER
  2514	003000	1 016000 0 7 0 000 		RETURN
  2515
  2516	003001	1 020001 1 0 0 00 01 	STALL1:	DATI	MPSCR1			;EXECUTE THREE DATI INSTRUCTIONS
  2517	003002	1 020001 1 0 0 00 01 		DATI	MPSCR1			;TO STALL AT LEAST 1500 NS
  2518	003003	1 020001 1 0 0 00 01 		DATI	MPSCR1			;FOR DURATION OF EBL PULSE
  2519	003004	1 016000 0 7 0 000 		RETURN				;ACTUAL DELAY IS 1830 NS.
  2520
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 32
MCOD1M	MAC	 6-Mar-89 15:13	

  2521					;THIS ROUTINE IS CALLED TO REQUEST AND CHECK A WORD FROM THE RH20
  2522					;DURING A DEVICE WRITE TRANSFER
  2523
  2524					;SENDS ONE SCLK
  2525					;CHECK DATA BUFFER FOR CORRECT CONTENTS
  2526					;CORRECT DATA IS IN DXGP5 (BITS 15 - 0) AND RH OF DXGP7 (17,16)
  2527					;IF DISCREPANCY IS FOUND, ACTUAL DATA IS PLACED IN DXGP6 AND LH OF DXGP7
  2528					;Z IS SET ON ERROR RETURN
  2529
  2530	003005	1 002034 0 1 0 034 	CHKWRD:	LDBR	OCC+DTD+START		;GET START BIT
  2531	003006	1 064031 3 2 0 01 11 		MOVB	MPSCR1			;SEND TO RH20
  2532	003007	1 000000 0 0 0 000 		NOP				;GUARANTEE 1200 NS
  2533	003010	1 000000 0 0 0 000 		NOP
  2534	003011	1 000000 0 0 0 000 		NOP
  2535	003012	1 000000 0 0 0 000 		NOP
  2536	003013	1 122002 5 1 0 00 02 		DATI	MPGP12,BR		;GET CORRECT DATA BITS 7 - 0
  2537	003014	1 032005 1 5 0 00 05 		DATI	MPDB0,AC0		;READ ACTUAL DATA
  2538	003015	1 060017 3 0 0 00 17 		OSB	AC0			;COMPARE
  2539	003016	1 115020 4 6 1020 		JMPZ	.+2			;SKIP IF A MATCH
  2540	003017	1 101034 4 0 1034 		JMP	DATERR			;REPORT DATA ERROR
  2541	003020	1 122003 5 1 0 00 03 		DATI	MPGP13,BR		;READ CORRECT DATA BITS 15 - 8
  2542	003021	1 032006 1 5 0 00 06 		DATI	MPDB1,AC0		;READ ACTUAL DATA
  2543	003022	1 060017 3 0 0 00 17 		OSB	AC0			;COMPARE
  2544	003023	1 115025 4 6 1025 		JMPZ	.+2			;SKIP IF A MATCH
  2545	003024	1 101034 4 0 1034 		JMP	DATERR			;REPORT DATA ERROR
  2546	003025	1 122006 5 1 0 00 06 		DATI	MPGP16,BR		;READ REMAINING CORRECT BITS
  2547	003026	1 032007 1 5 0 00 07 		DATI	MPDB2,AC0		;READ ACTUAL DATA
  2548	003027	1 072015 3 5 0 00 15 		LXORBR	AC0			;XOR THE CORRECT AND ACTUAL
  2549	003030	1 002013 0 1 0 013 		LDBR	DBPARE+DB		;GET MASK OF WANTED BITS
  2550	003031	1 072013 3 5 0 00 13 		LANDBR	AC0			;CLEAR ALL OTHER BITS
  2551	003032	1 060007 3 0 0 00 07 		DEC	AC0			;SUBTRACT ONE TO CHECK IF ZERO
  2552	003033	1 115040 4 6 1040 		JMPZ	DATGOD			;JUMP IF RESULT WAS -1
  2553	003034	1 026105 1 3 0 04 05 	DATERR:	DATI	MPDB0,MPGP14		;COPY DATA BUFFER TO
  2554	003035	1 026126 1 3 0 05 06 		DATI	MPDB1,MPGP15		;GENERAL PURPOSE REGISTERS
  2555	003036	1 026167 1 3 0 07 07 		DATI	MPDB2,MPGP17
  2556	003037	1 016377 0 7 0 377 		RETURN	-1			;RETURN WITH Z SET TO SIGNAL ERROR
  2557	003040	1 032014 1 5 0 00 14 	DATGOD:	DATI	MPGP4,AC0		;GET WORD COUNT FROM MPGP4
  2558	003041	1 062003 3 1 0 00 03 		INC	AC0,BR			;INCREMENT NUMBER
  2559	003042	1 064311 3 2 0 14 11 		MOVB	MPGP4			;PUT NUMBER BACK
  2560	003043	1 016000 0 7 0 000 		RETURN				;NORMAL RETURN, NO ERRORS
  2561
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 33
MCOD1M	MAC	 6-Mar-89 15:13	

  2562	003044	1 002000 0 1 0 000 	RUNWAT:	LDBR	0			;CLEAR WAIT CNT
  2563	003045	1 072011 3 5 0 00 11 		MOVB	AC0
  2564	003046	1 072003 3 5 0 00 03 	RUNLP:	INCR	AC0			;INCREMENT WAIT CNT
  2565	003047	1 113053 4 5 1053 		JMPC	RUNBCK			;JUMP IF TIMED OUT, TEST WILL FAIL
  2566	003050	1 022000 1 1 0 00 00 		DATI	MPSCR0,BR		;CHECK "RUN" BIT
  2567	003051	1 105053 4 2 1053 		JMPB0	.+2			;JUMP IF SET
  2568	003052	1 101046 4 0 1046 		JMP	RUNLP			;ELSE, KEEP WAITING
  2569	003053	1 016000 0 7 0 000 	RUNBCK:	RETURN
  2570
MCODE1 	DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR  VERSION 0.2	MACRO %53B(1252) 15:24  6-Mar-89 Page 34
MCOD1M	MAC	 6-Mar-89 15:13	

  2571	003054	1 002225 0 1 0 225 	END:	.ECRAM
  2572	003055	1 160211 7 0 0 10 11 
  2573	003056	1 072131 3 5 0 05 11 
  2574	003057	1 002044 0 1 0 044 
  2575	003060	1 160211 7 0 0 10 11 
  2576	003061	1 072131 3 5 0 05 11 
  2577	003062	1 002142 0 1 0 142 
  2578	003063	1 160211 7 0 0 10 11 
  2579	003064	1 002104 0 1 0 104 
  2580	003065	1 160211 7 0 0 10 11 
  2581	003066	1 002222 0 1 0 222 
  2582	003067	1 160211 7 0 0 10 11 
  2583	003070	1 002001 0 1 0 001 
  2584	003071	1 101075 4 0 1075 
  2585	003072	1 002002 0 1 0 002 
  2586	003073	1 101075 4 0 1075 
  2587	003074	1 002003 0 1 0 003 
  2588	003075	1 072131 3 5 0 05 11 
  2589	003076	1 002203 0 1 0 203 
  2590	003077	1 160211 7 0 0 10 11 
  2591	003100	1 072131 3 5 0 05 11 
  2592	003101	1 002215 0 1 0 215 
  2593	003102	1 160211 7 0 0 10 11 
  2594
  2595					.END
  2596
  2597						END

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 003103
CPU TIME USED 02:12.516

27P CORE USED

ABC	   797	   832#
ABCLOW	   837	   841#
ABCZRO	   843	   851#
AC0	   474	   569	   570	   579	   588	   616	   617	   626	   635	   663	   664	   676	   685	   713
	   714	   728	   737	   787	   788	   892	   893	   910	   911	   929	   930	   951	   952	   986
	   987	  1004	  1005	  1023	  1024	  1045	  1046	  1083	  1084	  1102	  1103	  1120	  1121	  1134
	  1135	  1149	  1150	  1167	  1168	  1182	  1183	  1202	  1203	  1256	  1257	  1280	  1281	  1304
	  1305	  1338	  1339	  1352	  1355	  1376	  1377	  1408	  1411	  1434	  1435	  1452	  1453	  1480
	  1481	  2344	  2345	  2353	  2354	  2537	  2538	  2542	  2543	  2547	  2548	  2550	  2551	  2557
	  2558	  2563	  2564
AC1	   472	   563	   568	   571	   609	   615	   618	   659	   662	   665	   673	   709	   712	   715
	   723	   725	   771	   781	   789	   890	   908	   924	   927	   938	   946	   949	   960	   962
	   984	  1002	  1018	  1021	  1032	  1040	  1043	  1054	  1056	  1081	  1100	  1118	  1132	  1147
	  1165	  1184	  1201	  1251	  1258	  1282	  1306	  1336	  1354	  1410	  1412	  1433	  1436	  1451
	  1454	  1478	  1482
AC2	   582	   584	   586	   629	   631	   633	   679	   681	   683	   731	   733	   735	   773	   784
	  1765	  1768	  1775	  1778	  1945	  1949	  1974	  1978
AC3	   806	   808	   810	   832	   834	   836	   858	   860	   863	   865
AC4	   402	   407	   815	   816	   818	   841	   842	   844
AC5	   370	   372	   374	   380	   414	   415	   417	   436	   438	   443	   447	   452	   455	   458
	   463	   469	   476	   499	   501	   510	   512	  2573	  2576	  2588	  2591
AC6	   383	   387	   397	   521
AC7	   355	   390	   391	   424	   429	   433	   437	   450	   453
ATA	    66#	   416	   442	   454	   503	   514	   532
AUT	   799	   806#
AUTLOW	   811	   815#
AUTZRO	   817	   825#
BANK1	  1714	  1726#
BEGEND	   527#	  2571
BEGIN	   340#	   535
BLK1	  1947#	  1951
BLK2	  1976#	  1980
C	   123#
CALL	   493	   495	   497	   499#
CALL0	   500#	  2589
CALLH	  2584	  2586	  2588#
CATAB	   489	  1966	  1994	  2054	  2077	  2131	  2156	  2236	  2296	  2378
CHKLOP	   477#	   515
CHKLP	   478#
CHKWRD	  2196	  2198	  2205	  2207	  2209	  2215	  2217	  2224	  2280	  2282	  2342	  2351	  2360	  2364
	  2411	  2412	  2449	  2450	  2451	  2452	  2453	  2454	  2455	  2456	  2492	  2493	  2530#
CKTRM	   510#	  1607	  1707
CKTRM0	   511#	  2592
CKTRMH	  1800	  1847	  1902	  1997	  2061	  2138	  2239	  2380	  2418	  2462	  2501	  2591#
CLRGO	    59#	   373
CMDF0	   349	   365#
CMPERR	    60#	  1409	  1432	  1450	  1477
COMPAR	   777	   858#
CORF	   574#	   576	   621#	   623	   668#	   670	   718#	   720	   792#	   794	   896#	   898	   914#	   916
	   933#	   935	   955#	   957	   990#	   992	  1008#	  1010	  1027#	  1029	  1049#	  1051	  1087#	  1089
	  1106#	  1108	  1124#	  1126	  1138#	  1140	  1153#	  1155	  1171#	  1173	  1189#	  1191	  1208#	  1210
	  1223#	  1225	  1262#	  1264	  1286#	  1288	  1310#	  1312	  1342#	  1344	  1359#	  1361	  1381#	  1383
	  1415#	  1417	  1440#	  1442	  1457#	  1459	  1486#	  1488	  1526#	  1528	  1539#	  1541	  1599#	  1601
	  1700#	  1702	  1962#	  1964	  1990#	  1992	  2050#	  2052	  2073#	  2075	  2127#	  2129	  2152#	  2154
	  2232#	  2234	  2292#	  2294	  2374#	  2376
CUADRS	   153	   240	  1734	  1757	  1801	  1805	  1814	  1826	  1848	  1852	  1861	  1873	  1903	  1907
	  1916	  1937	  1962	  1966	  1990	  1994	  1998	  2002	  2011	  2027	  2050	  2054	  2062	  2073
	  2077	  2079	  2088	  2104	  2127	  2131	  2139	  2152	  2156	  2158	  2167	  2188	  2232	  2236
	  2240	  2244	  2253	  2269	  2292	  2296	  2299	  2308	  2333	  2374	  2378	  2381	  2385	  2394
	  2408	  2419	  2423	  2432	  2446	  2463	  2467	  2476	  2489	  2502	  2506
DATERR	  2540	  2545	  2553#
DATGOD	  2552	  2557#
DB	    92#	  2203	  2222	  2549
DB01	   905#	   918
DB0F0	   947#	   959	   964
DB0F11	   925#	   937	   940
DB11	   999#	  1012
DB1F0	  1041#	  1053	  1058
DB1F11	  1019#	  1031	  1034
DB21	  1096#	  1110
DB216	  1115#	  1128
DB217	  1129#	  1142
DB2EV	  1162#	  1175	  1193	  1212	  1227
DB2P	  1144#	  1157
DBEVEN	    95#	  1164	  1180	  1198	  1200	  2278
DBF1T0	  1764#	  1770
DBF1T1	  1774#	  1780
DBPAR	    93#	  1180	  1200
DBPARE	    94#	  2276	  2549
DBST1	  1272#	  1290
DBST2	  1296#	  1314
DONE	    56#	  1477
DTD	    62#	   371	   416	  2027	  2030	  2039	  2104	  2107	  2116	  2145	  2188	  2269	  2284	  2287
	  2333	  2408	  2446	  2489	  2494	  2530
EBL	    57#	  1334	  1371	  1475	  1531	  1592	  1693	  1795	  1842	  1897	  1954	  1983	  2056	  2133
	  2226	  2229	  2284	  2287	  2366	  2370	  2413	  2457	  2494
EBL0	  1370#	  1385
EDIT	     1#	     5	   338
ELOOPC	   479	   484#
END	  2508	  2571#
ERLP	   458#	   792	  1223	  1526	  1539	  1599	  1700	  1962	  1965	  1990	  1993	  2050	  2053	  2073
	  2076	  2127	  2130	  2152	  2155	  2232	  2235	  2292	  2295	  2374	  2377
ERLP0	   459#	  2577
ERLPA	   469#	   574	   621	   668	   718	   896	   914	   933	   955	   990	  1008	  1027	  1049	  1087
	  1106	  1124	  1138	  1153	  1171	  1189	  1208	  1262	  1286	  1310	  1342	  1359	  1381	  1415
	  1440	  1457	  1486	  1966	  1994	  2054	  2077	  2131	  2156	  2236	  2296	  2378
ERLPA0	   470#
ERLPH	  1965	  1993	  2053	  2076	  2130	  2155	  2235	  2295	  2377	  2576#
ERLPM	   463#	  1966	  1994	  2054	  2077	  2131	  2156	  2236	  2296	  2378
ERLPM0	   464#
ERRCA	   467	   474#
ERRCHK	   429#	   459	   464	   470
ERRCOM	   461	   476#
ERRSET	   423#	   573	   620	   667	   717	   791	   895	   913	   932	   954	   989	  1007	  1026	  1048
	  1086	  1105	  1123	  1137	  1152	  1170	  1188	  1207	  1222	  1261	  1285	  1309	  1341	  1358
	  1380	  1414	  1439	  1456	  1485	  1525	  1538	  1598	  1699	  2579
ERSETH	  1961	  1989	  2049	  2072	  2126	  2151	  2231	  2291	  2373	  2579#
EXC	    58#	  1432
EXC0	  1427#	  1444	  1461
EXC1	  1470#	  1490
F0	    46#
F1	    47#
F2	    48#
F3	    49#
F4	    50#
FN	    45#
GO	    44#
ILF	    64#	  1406	  1409	  1430	  1432	  1450	  1473	  1475	  1477
INADR	   129#
INIT	   132#	   356	  2510
INITL	  1717	  1751	  1822	  1869	  1929	  2020	  2047	  2068	  2097	  2124	  2179	  2263	  2325	  2402
	  2440	  2485	  2510#
INITLL	  1077	  1096	  1218	  1247	  1333	  1351	  1370	  1405	  1427	  1449	  1470	  1509	  1523	  1569
	  1633	  1717#
INT0	   119#
INT1	   120#
INT2	   121#
INT3	   122#
IOSEL	   128#	   341	   357	   359	   383	   385	   388	   402	   404	   408	   528	   549	  2511	  2513
LPADR	   574#	   577	   621#	   624	   668#	   671	   718#	   721	   792#	   795	   896#	   899	   914#	   917
	   933#	   936	   955#	   958	   990#	   993	  1008#	  1011	  1027#	  1030	  1049#	  1052	  1087#	  1090
	  1106#	  1109	  1124#	  1127	  1138#	  1141	  1153#	  1156	  1171#	  1174	  1189#	  1192	  1208#	  1211
	  1223#	  1226	  1262#	  1265	  1286#	  1289	  1310#	  1313	  1342#	  1345	  1359#	  1362	  1381#	  1384
	  1415#	  1418	  1440#	  1443	  1457#	  1460	  1486#	  1489	  1526#	  1529	  1539#	  1542	  1599#	  1602
	  1700#	  1703	  1962#	  1965	  1966	  1990#	  1993	  1994	  2050#	  2053	  2054	  2073#	  2076	  2077
	  2127#	  2130	  2131	  2152#	  2155	  2156	  2232#	  2235	  2236	  2292#	  2295	  2296	  2374#	  2377
	  2378
MAR	   566	   613	   660	   710	   779	   782	   785
MARX	   567	   614	   661	   711	   780	   783	   786
MPDB0	    82#	   891	   892	   909	   910	   928	   929	   950	   951	  1255	  1277	  1299	  1304	  1580
	  1644	  1656	  1673	  1685	  1764	  1772	  1830	  1877	  1941	  1969	  2537	  2553
MPDB1	    86#	   985	   986	  1003	  1004	  1022	  1023	  1044	  1045	  1254	  1275	  1280	  1301	  1581
	  1645	  1657	  1674	  1686	  1761	  1774	  1782	  1831	  1878	  1942	  1970	  2542	  2554
MPDB2	    90#	  1082	  1083	  1101	  1102	  1119	  1120	  1133	  1134	  1148	  1149	  1166	  1167	  1181
	  1182	  1199	  1202	  1219	  1252	  1256	  1279	  1303	  1583	  1646	  1659	  1675	  1688	  1762
	  1784	  1790	  1833	  1880	  1943	  1972	  2279	  2547	  2555
MPDTR	    74#
MPECR	    70#	   369	   448	   502	   513
MPERR	    65#	   416	   454	  2494
MPGP0	    99#	   386	   530
MPGP1	   100#	   531	   551
MPGP10	   107#	   769	   779	   785	   815	   819	   826	   858	  1515	  1571	  1635	  1755	  1935	  2025
	  2102	  2186	  2267	  2331	  2406	  2444
MPGP11	   108#	   770	   780	   786	   806	   813	   823	   863	  1511	  1573	  1933	  2023	  2100	  2184
	  2266	  2329
MPGP12	   109#	   775	   782	   841	   845	   852	   859	  2192	  2201	  2212	  2220	  2274	  2337	  2344
	  2346	  2536
MPGP13	   110#	   776	   783	   832	   839	   849	   864	  2193	  2202	  2213	  2221	  2275	  2339	  2350
	  2353	  2355	  2541
MPGP14	   111#	  2553
MPGP15	   112#	  2554
MPGP16	   113#	  2194	  2204	  2214	  2223	  2277	  2340	  2359	  2363	  2546
MPGP17	   114#	  2555
MPGP2	   101#	   564	   566	   579	   589	   611	   613	   626	   636	   656	   660	   676	   686	   706
	   710	   728	   738	  1512	  1637	  1753	  1824	  1871	  1931	  2022	  2099	  2181	  2265	  2327
	  2404	  2442	  2487
MPGP3	   102#	   565	   567	   582	   587	   612	   614	   629	   634	   657	   661	   679	   684	   707
	   711	   731	   736	  1514
MPGP4	   103#	   466	   473	  2195	  2273	  2341	  2557	  2559
MPGP5	   104#	   475
MPGP6	   105#	   361	   561	   767	   872	  2182
MPGP7	   106#
MPHVR	    78#
MPSCR0	    42#	   342	   346	  1521	  1534	  2036	  2045	  2069	  2113	  2122	  2147	  2566
MPSCR1	    55#	   370	   375	   414	   418	   533	   888	   906	   926	   948	   982	  1000	  1020	  1042
	  1079	  1098	  1116	  1130	  1145	  1163	  1249	  1273	  1297	  1335	  1338	  1352	  1372	  1375
	  1376	  1407	  1408	  1429	  1431	  1434	  1452	  1472	  1474	  1476	  1480	  1518	  1532	  1576
	  1585	  1589	  1593	  1595	  1640	  1648	  1652	  1661	  1665	  1669	  1677	  1681	  1690	  1694
	  1696	  1720	  1721	  1722	  1758	  1767	  1777	  1786	  1792	  1796	  1827	  1835	  1839	  1843
	  1874	  1882	  1886	  1890	  1894	  1898	  1938	  1947	  1948	  1955	  1957	  1976	  1977	  1984
	  1986	  2028	  2031	  2040	  2057	  2105	  2108	  2117	  2134	  2146	  2189	  2227	  2230	  2270
	  2285	  2288	  2334	  2367	  2371	  2409	  2414	  2447	  2458	  2490	  2495	  2498	  2516	  2517
	  2518	  2531
MPSTAT	   118#
NOFAIL	   439	   441#
NRTN	   405#	   460	   465	   471	   522	   809	   835
OCC	    63#	   887	   905	   925	   947	   981	   999	  1019	  1041	  1078	  1097	  1115	  1129	  1144
	  1162	  1248	  1272	  1296	  1428	  1430	  1432	  1471	  1473	  1475	  1477	  1517	  1575	  1584
	  1639	  1647	  1660	  1676	  1689	  1757	  1766	  1776	  1785	  1791	  1826	  1834	  1873	  1881
	  1937	  1946	  1954	  1975	  2027	  2030	  2039	  2104	  2107	  2116	  2188	  2269	  2333	  2408
	  2446	  2489	  2494	  2530
OFFGO	   362	   368#	   480	   484	   506
OUTADR	   130#
PNT	   183#	   574	   621	   668	   718	   792	   896	   914	   933	   955	   990	  1008	  1027	  1049
	  1087	  1106	  1124	  1138	  1153	  1171	  1189	  1208	  1223	  1262	  1286	  1310	  1342	  1359
	  1381	  1415	  1440	  1457	  1486	  1526	  1539	  1599	  1606	  1700	  1706	  1799	  1846	  1901
	  1962	  1990	  1996	  2050	  2060	  2073	  2127	  2137	  2152	  2232	  2238	  2292	  2374	  2379
	  2417	  2461	  2500
REPORT	   434	   446#
REPTU	   521#	   592	   639	   689	   741	   869	   965	  1059	  1229	  1315	  1386	  1491	  1544	  1611
	  1711	  2581
REPTUH	  1804	  1851	  1906	  2001	  2078	  2157	  2243	  2298	  2384	  2422	  2466	  2505	  2581#
RESIOS	   407#	   481	   485	   507
RHDATA	    33#	   152	   220	  1734	  1756	  1800	  1805	  1814	  1825	  1847	  1852	  1861	  1872	  1902
	  1907	  1916	  1936	  1962	  1966	  1990	  1994	  1997	  2002	  2011	  2026	  2050	  2054	  2061
	  2073	  2077	  2079	  2088	  2103	  2127	  2131	  2138	  2152	  2156	  2158	  2167	  2187	  2232
	  2236	  2239	  2244	  2253	  2268	  2292	  2296	  2299	  2308	  2332	  2374	  2378	  2380	  2385
	  2394	  2407	  2418	  2423	  2432	  2445	  2462	  2467	  2476	  2488	  2501	  2506
RPTCNT	    32#	   396
RUN	    43#
RUNBCK	  2565	  2569#
RUNLP	  2564#	  2568
RUNWAT	  1519	  1577	  1641	  1759	  1828	  1875	  1939	  2029	  2106	  2190	  2271	  2335	  2410	  2448
	  2491	  2562#
SAVIOS	   402#	   441	   446	   500	   511
SENDAD	   492#
SETATA	   414#	   477	   504
SETRD	   496#	  1516	  1574	  1638
SETRDB	   498#
SETWRT	   494#
SPRES	   131#	   356
STALL0	  1337	  1373	  1479	  1533	  1586	  1594	  1649	  1662	  1666	  1678	  1695	  1720#
STALL1	  1797	  1836	  1844	  1883	  1887	  1891	  1899	  1956	  1985	  2058	  2135	  2237	  2368	  2372
	  2415	  2459	  2496	  2516#
START	    61#	  1374	  1584	  1647	  1660	  1676	  1689	  1766	  1776	  1785	  1791	  1834	  1881	  1946
	  1975	  2030	  2039	  2107	  2116	  2145	  2530
STRDBH	  2587#
STRDH	  1756	  1825	  1872	  1936	  2585#
STWRTH	  2026	  2103	  2187	  2268	  2332	  2407	  2445	  2488	  2583#
TEST0I	   380#	  2574
TESTI	   381#	   553	   601	   648	   698	   750	   880	   974	  1068	  1238	  1324	  1395	  1500	  1553
	  1620
TESTIH	  1733	  1813	  1860	  1915	  2010	  2087	  2166	  2252	  2307	  2393	  2431	  2475	  2573#
TST	   554#	   593	   602#	   640	   649#	   690	   699#	   742	   751#	   870	   881#	   900	   966	   975#
	   994	  1060	  1069#	  1091	  1230	  1239#	  1266	  1316	  1325#	  1346	  1363	  1387	  1396#	  1419
	  1492	  1501#	  1530	  1543	  1545	  1554#	  1603	  1610	  1612	  1621#	  1704	  1710	  1712	  1734#
	  1803	  1805	  1814#	  1850	  1852	  1861#	  1905	  1907	  1916#	  1966	  1994	  2000	  2002	  2011#
	  2054	  2064	  2077	  2079	  2088#	  2131	  2141	  2156	  2158	  2167#	  2236	  2242	  2244	  2253#
	  2296	  2299	  2308#	  2378	  2383	  2385	  2394#	  2421	  2423	  2432#	  2465	  2467	  2476#	  2504
	  2506
TST128	   554	   555#
TST129	   602	   603#
TST130	   649	   650#
TST131	   699	   700#
TST132	   751	   752#
TST133	   881	   882#
TST134	   975	   976#
TST135	  1069	  1070#
TST136	  1239	  1240#
TST137	  1325	  1326#
TST138	  1396	  1397#
TST139	  1501	  1502#
TST140	  1554	  1555#
TST141	  1621	  1622#
TST142	  1734	  1735#
TST143	  1814	  1815#
TST144	  1861	  1862#
TST145	  1916	  1917#
TST146	  2011	  2012#
TST147	  2088	  2089#
TST148	  2167	  2168#
TST149	  2253	  2254#
TST150	  2308	  2309#
TST151	  2394	  2395#
TST152	  2432	  2433#
TST153	  2476	  2477#
TSTART	   363	   538#
VERSIO	     2#	     5	   338
WAITGO	   342#	   345	   478	   505	   534
WCLK	    51#
WCLKT1	  2038	  2047#
WCLKT2	  2115	  2124#
WDBPT1	  2281	  2283	  2287#
WDBPT2	  2286	  2289#
WDBT1	  2197	  2199	  2206	  2208	  2210	  2216	  2218	  2225	  2229#
WDBT2	  2228	  2231#
WFOT1	  2342#	  2348
WFOT2	  2351#	  2357
WFOTE	  2343	  2352	  2361	  2365	  2370#
WFOTR	  2369	  2373#
WMA0	   774#	   800
WMA1	   777#	   798
WMA2	   779#	   796
WMA3	   778	   797#
WMAX	   801	   869#
WMT00	   566#	   590
WMT01	   568#	   578
WMT02	   581	   588#
WMT0X	   585	   592#
WMT10	   613#	   637
WMT11	   615#	   625
WMT12	   628	   635#
WMT1X	   632	   639#
WMT20	   658#	   687
WMT21	   662#	   672	   675
WMT22	   678	   685#
WMT23	   674	   676#
WMT2X	   682	   689#
WMT30	   708#	   739
WMT31	   712#	   722	   727
WMT32	   730	   737#
WMT33	   726	   728#
WMT3X	   734	   741#
Z	   124#
ZRTN	   482#	   866
%ADRH	   243#	  1734	  1734#	  1757	  1757#	  1805	  1805#	  1814	  1814#	  1826	  1826#	  1852	  1852#	  1861
	  1861#	  1873	  1873#	  1907	  1907#	  1916	  1916#	  1937	  1937#	  1962	  1962#	  1966	  1966#	  1990
	  1990#	  1994	  1994#	  2002	  2002#	  2011	  2011#	  2027	  2027#	  2050	  2050#	  2054	  2054#	  2073
	  2073#	  2077	  2077#	  2079	  2079#	  2088	  2088#	  2104	  2104#	  2127	  2127#	  2131	  2131#	  2152
	  2152#	  2156	  2156#	  2158	  2158#	  2167	  2167#	  2188	  2188#	  2232	  2232#	  2236	  2236#	  2244
	  2244#	  2253	  2253#	  2269	  2269#	  2292	  2292#	  2296	  2296#	  2299	  2299#	  2308	  2308#	  2333
	  2333#	  2374	  2374#	  2378	  2378#	  2385	  2385#	  2394	  2394#	  2408	  2408#	  2423	  2423#	  2432
	  2432#	  2446	  2446#	  2467	  2467#	  2476	  2476#	  2489	  2489#	  2506	  2506#	  2573	  2576	  2579
	  2581	  2583	  2594
%EMES	   554#	   576	   579	   579#	   602#	   623	   626	   626#	   649#	   670	   673	   673#	   699#	   720
	   723	   723#	   751#	   794	   797	   797#	   881#	   898	   901	   901#	   916	   919	   919#	   935
	   938	   938#	   957	   960	   960#	   975#	   992	   995	   995#	  1010	  1013	  1013#	  1029	  1032
	  1032#	  1051	  1054	  1054#	  1069#	  1089	  1092	  1092#	  1108	  1111	  1111#	  1126	  1129	  1129#
	  1140	  1143	  1143#	  1155	  1158	  1158#	  1173	  1176	  1176#	  1191	  1194	  1194#	  1210	  1213
	  1213#	  1225	  1228	  1228#	  1239#	  1264	  1267	  1267#	  1288	  1291	  1291#	  1312	  1315	  1315#
	  1325#	  1344	  1347	  1347#	  1361	  1364	  1364#	  1383	  1386	  1386#	  1396#	  1417	  1420	  1420#
	  1442	  1445	  1445#	  1459	  1462	  1462#	  1488	  1491	  1491#	  1501#	  1528	  1531	  1531#	  1541
	  1544	  1544#	  1554#	  1601	  1604	  1604#	  1606	  1611	  1611#	  1621#	  1702	  1705	  1705#	  1706
	  1711	  1711#	  1734#	  1799	  1804	  1804#	  1814#	  1846	  1851	  1851#	  1861#	  1901	  1906	  1906#
	  1916#	  1964	  1967	  1967#	  1992	  1995	  1995#	  1996	  2001	  2001#	  2011#	  2052	  2055	  2055#
	  2060	  2065	  2065#	  2075	  2078	  2078#	  2088#	  2129	  2132	  2132#	  2137	  2142	  2142#	  2154
	  2157	  2157#	  2167#	  2234	  2237	  2237#	  2238	  2243	  2243#	  2253#	  2294	  2297	  2297#	  2308#
	  2376	  2379	  2379#	  2384	  2384#	  2394#	  2417	  2422	  2422#	  2432#	  2461	  2466	  2466#	  2476#
	  2500	  2505	  2505#
%REQ	   151#	   152#	   491
%TNUM	   149#	   548	   552	   554#	   600	   602#	   647	   649#	   697	   699#	   749	   751#	   879	   881#
	   973	   975#	  1067	  1069#	  1237	  1239#	  1323	  1325#	  1394	  1396#	  1499	  1501#	  1552	  1554#
	  1619	  1621#	  1732	  1734#	  1812	  1814#	  1859	  1861#	  1914	  1916#	  2009	  2011#	  2086	  2088#
	  2165	  2167#	  2251	  2253#	  2306	  2308#	  2392	  2394#	  2430	  2432#	  2474	  2476#
.ERROR	   430	   431

CHKERR	   234#	  1845	  1900	  2416	  2460	  2499
CHKRH	   225#	  1606	  1706	  1799	  1846	  1901	  1996	  2060	  2137	  2238	  2379	  2417	  2461	  2500
CHKTRM	   233#	  1605	  1705	  1798	  1995	  2059	  2136	  2238	  2379
DATI	   342	   346	   370	   383	   402	   414	   566	   567	   579	   582	   613	   614	   626	   629
	   660	   661	   676	   679	   710	   711	   728	   731	   779	   780	   782	   783	   785	   786
	   806	   815	   832	   841	   858	   859	   863	   864	   892	   910	   929	   951	   986	  1004
	  1023	  1045	  1083	  1102	  1120	  1134	  1149	  1167	  1182	  1202	  1219	  1256	  1280	  1304
	  1338	  1352	  1376	  1408	  1434	  1452	  1480	  1521	  1534	  1595	  1696	  1720	  1721	  1722
	  1948	  1957	  1977	  1986	  2036	  2045	  2069	  2113	  2122	  2147	  2344	  2353	  2516	  2517
	  2518	  2536	  2537	  2541	  2542	  2546	  2547	  2553	  2554	  2555	  2557	  2566
DEC	   810	   816	   836	   842	  2551
DECR	   521	  1949	  1978
DEFTST	   156#	   541
ERLOOP	   203#	   575	   622	   669	   719	   793	   897	   915	   934	   956	   991	  1009	  1028	  1050
	  1088	  1107	  1125	  1139	  1154	  1172	  1190	  1209	  1224	  1263	  1287	  1311	  1343	  1360
	  1382	  1416	  1441	  1458	  1487	  1527	  1540	  1600	  1701	  1963	  1991	  2051	  2074	  2128
	  2153	  2233	  2293	  2375
ERRLOP	   236#	  1609	  1709	  1802	  1849	  1904	  1999	  2063	  2140	  2241	  2382	  2420	  2464	  2503
ERRMAC	   186#	   573	   620	   667	   717	   791	   895	   913	   932	   954	   989	  1007	  1026	  1048
	  1086	  1105	  1123	  1137	  1152	  1170	  1188	  1207	  1222	  1261	  1285	  1309	  1341	  1358
	  1380	  1414	  1439	  1456	  1485	  1525	  1538	  1598	  1699	  1961	  1989	  2049	  2072	  2126
	  2151	  2231	  2291	  2373
ERROR	   195#	   791	  1222	  1524	  1537	  1597	  1698	  1960	  1988	  2048	  2072	  2125	  2150	  2231
	  2289	  2373
ERRORA	   199#	   573	   620	   667	   717	   895	   913	   932	   954	   989	  1007	  1026	  1048	  1086
	  1105	  1123	  1137	  1152	  1170	  1186	  1205	  1260	  1284	  1308	  1341	  1358	  1380	  1414
	  1438	  1456	  1484
ERRORD	   201#
ERRORM	   197#
GOINK	   245#	   553	   573	   577	   592	   601	   620	   624	   639	   648	   667	   671	   689	   698
	   717	   721	   741	   750	   791	   795	   869	   880	   895	   899	   913	   917	   932	   936
	   954	   958	   965	   974	   989	   993	  1007	  1011	  1026	  1030	  1048	  1052	  1059	  1068
	  1086	  1090	  1105	  1109	  1123	  1127	  1137	  1141	  1152	  1156	  1170	  1174	  1188	  1192
	  1207	  1211	  1222	  1226	  1229	  1238	  1261	  1265	  1285	  1289	  1309	  1313	  1315	  1324
	  1341	  1345	  1358	  1362	  1380	  1384	  1386	  1395	  1414	  1418	  1439	  1443	  1456	  1460
	  1485	  1489	  1491	  1500	  1516	  1525	  1529	  1538	  1542	  1544	  1553	  1574	  1598	  1602
	  1607	  1611	  1620	  1638	  1699	  1703	  1707	  1711	  1733	  1756	  1800	  1804	  1813	  1825
	  1847	  1851	  1860	  1872	  1902	  1906	  1915	  1936	  1961	  1965	  1989	  1993	  1997	  2001
	  2010	  2026	  2049	  2053	  2061	  2072	  2076	  2078	  2087	  2103	  2126	  2130	  2138	  2151
	  2155	  2157	  2166	  2187	  2231	  2235	  2239	  2243	  2252	  2268	  2291	  2295	  2298	  2307
	  2332	  2373	  2377	  2380	  2384	  2393	  2407	  2418	  2422	  2431	  2445	  2462	  2466	  2475
	  2488	  2501	  2505
GOSUB	  1519	  1577	  1641
INC	   586	   588	   633	   635	   683	   685	   735	   737	  2558
INCR	  2564
JMP	   345	   353	   363	   395	   461	   467	   493	   495	   497	   515	   535	   581	   590	   628
	   637	   675	   678	   687	   727	   730	   739	   801	   940	   964	  1034	  1058	  1221	  1357
	  1379	  1536	  1591	  1654	  1671	  1683	  1692	  1715	  1718	  1770	  1780	  1788	  1794	  1841
	  1896	  1951	  1953	  1959	  1980	  1982	  2038	  2071	  2115	  2149	  2228	  2286	  2348	  2357
	  2369	  2508	  2540	  2545	  2568	  2572	  2575	  2578	  2580	  2582	  2584	  2586	  2590	  2593
JMPB0	   344	   349	   351	   479	  1340	  1356	  1378	  1522	  1535	  1596	  1697	  1958	  1987	  2567
JMPB4	   393	  1169	  1220
JMPB7	   430	   434	  2037	  2046	  2070	  2114	  2123	  2148
JMPC	   674	   820	   846	   939	  1033	  1769	  1779	  2347	  2356	  2565
JMPSUB	   362	   441	   446	   459	   464	   470	   477	   478	   480	   481	   484	   485	   500	   504
	   505	   506	   507	   511	   534	   553	   573	   577	   592	   601	   620	   624	   639	   648
	   667	   671	   689	   698	   717	   721	   741	   750	   777	   791	   795	   797	   799	   869
	   880	   895	   899	   913	   917	   932	   936	   954	   958	   965	   974	   989	   993	  1007
	  1011	  1026	  1030	  1048	  1052	  1059	  1068	  1077	  1086	  1090	  1096	  1105	  1109	  1123
	  1127	  1137	  1141	  1152	  1156	  1170	  1174	  1188	  1192	  1207	  1211	  1218	  1222	  1226
	  1229	  1238	  1247	  1261	  1265	  1285	  1289	  1309	  1313	  1315	  1324	  1333	  1337	  1341
	  1345	  1351	  1358	  1362	  1370	  1373	  1380	  1384	  1386	  1395	  1405	  1414	  1418	  1427
	  1439	  1443	  1449	  1456	  1460	  1470	  1479	  1485	  1489	  1491	  1500	  1509	  1516	  1520
	  1523	  1525	  1529	  1533	  1538	  1542	  1544	  1553	  1569	  1574	  1578	  1586	  1594	  1598
	  1602	  1607	  1611	  1620	  1633	  1638	  1642	  1649	  1662	  1666	  1678	  1695	  1699	  1703
	  1707	  1711	  1733	  1751	  1756	  1759	  1797	  1800	  1804	  1813	  1822	  1825	  1828	  1836
	  1844	  1847	  1851	  1860	  1869	  1872	  1875	  1883	  1887	  1891	  1899	  1902	  1906	  1915
	  1929	  1936	  1939	  1956	  1961	  1965	  1985	  1989	  1993	  1997	  2001	  2010	  2020	  2026
	  2029	  2047	  2049	  2053	  2058	  2061	  2068	  2072	  2076	  2078	  2087	  2097	  2103	  2106
	  2124	  2126	  2130	  2135	  2138	  2151	  2155	  2157	  2166	  2179	  2187	  2190	  2196	  2198
	  2205	  2207	  2209	  2215	  2217	  2224	  2231	  2235	  2237	  2239	  2243	  2252	  2263	  2268
	  2271	  2280	  2282	  2291	  2295	  2298	  2307	  2325	  2332	  2335	  2342	  2351	  2360	  2364
	  2368	  2372	  2373	  2377	  2380	  2384	  2393	  2402	  2407	  2410	  2411	  2412	  2415	  2418
	  2422	  2431	  2440	  2445	  2448	  2449	  2450	  2451	  2452	  2453	  2454	  2455	  2456	  2459
	  2462	  2466	  2475	  2485	  2488	  2491	  2492	  2493	  2496	  2501	  2505
JMPZ	   439	   460	   465	   471	   522	   572	   578	   580	   585	   593	   619	   625	   627	   632
	   640	   666	   672	   677	   682	   690	   716	   722	   726	   729	   734	   742	   778	   790
	   796	   798	   800	   809	   811	   817	   835	   837	   843	   861	   866	   870	   894	   900
	   912	   918	   931	   937	   953	   959	   963	   966	   988	   994	  1006	  1012	  1025	  1031
	  1047	  1053	  1057	  1060	  1085	  1091	  1104	  1110	  1122	  1128	  1136	  1142	  1151	  1157
	  1175	  1185	  1193	  1204	  1212	  1227	  1230	  1259	  1266	  1283	  1290	  1307	  1314	  1316
	  1346	  1363	  1385	  1387	  1413	  1419	  1437	  1444	  1455	  1461	  1483	  1490	  1492	  1530
	  1543	  1545	  1603	  1610	  1612	  1704	  1710	  1712	  1803	  1805	  1850	  1852	  1905	  1907
	  1950	  1966	  1979	  1994	  2000	  2002	  2054	  2064	  2077	  2079	  2131	  2141	  2156	  2158
	  2197	  2199	  2206	  2208	  2210	  2216	  2218	  2225	  2236	  2242	  2244	  2281	  2283	  2296
	  2299	  2343	  2352	  2361	  2365	  2378	  2383	  2385	  2421	  2423	  2465	  2467	  2504	  2506
	  2539	  2544	  2552
JUMP	  1714	  1717	  2571	  2574	  2577	  2579	  2581	  2589	  2592
LANDB	   417	   437	   452
LANDBR	   372	   390	   436	   450	  2550
LDBR	   340	   352	   354	   356	   358	   360	   368	   371	   373	   389	   394	   396	   403	   416
	   423	   435	   442	   449	   451	   454	   492	   494	   496	   498	   503	   514	   527	   529
	   532	   548	   550	   552	   560	   562	   576	   583	   600	   608	   610	   623	   630	   647
	   655	   658	   670	   680	   697	   705	   708	   720	   732	   749	   766	   768	   772	   774
	   794	   807	   812	   822	   825	   833	   838	   848	   851	   871	   879	   887	   889	   898
	   905	   907	   916	   923	   925	   935	   945	   947	   957	   973	   981	   983	   992	   999
	  1001	  1010	  1017	  1019	  1029	  1039	  1041	  1051	  1067	  1078	  1080	  1089	  1097	  1099
	  1108	  1115	  1117	  1126	  1129	  1131	  1140	  1144	  1146	  1155	  1162	  1164	  1173	  1180
	  1191	  1198	  1200	  1210	  1225	  1237	  1248	  1250	  1253	  1264	  1272	  1274	  1276	  1278
	  1288	  1296	  1298	  1300	  1302	  1312	  1323	  1334	  1344	  1353	  1361	  1371	  1374	  1383
	  1394	  1406	  1409	  1417	  1428	  1430	  1432	  1442	  1450	  1459	  1471	  1473	  1475	  1477
	  1488	  1499	  1510	  1513	  1517	  1519	  1528	  1531	  1541	  1552	  1570	  1572	  1575	  1577
	  1579	  1582	  1584	  1592	  1601	  1606	  1619	  1634	  1636	  1639	  1641	  1643	  1647	  1655
	  1658	  1660	  1672	  1676	  1684	  1687	  1689	  1693	  1702	  1706	  1714	  1717	  1732	  1752
	  1754	  1757	  1760	  1763	  1766	  1773	  1776	  1783	  1785	  1789	  1791	  1795	  1799	  1812
	  1823	  1826	  1829	  1832	  1834	  1842	  1846	  1859	  1870	  1873	  1876	  1879	  1881	  1897
	  1901	  1914	  1930	  1932	  1934	  1937	  1940	  1944	  1946	  1954	  1964	  1968	  1971	  1973
	  1975	  1983	  1992	  1996	  2009	  2021	  2024	  2027	  2030	  2039	  2052	  2056	  2060	  2075
	  2086	  2098	  2101	  2104	  2107	  2116	  2129	  2133	  2137	  2145	  2154	  2165	  2180	  2183
	  2185	  2188	  2191	  2200	  2203	  2211	  2219	  2222	  2226	  2229	  2234	  2238	  2251	  2264
	  2269	  2272	  2276	  2278	  2284	  2287	  2294	  2306	  2326	  2328	  2330	  2333	  2336	  2338
	  2349	  2358	  2362	  2366	  2370	  2376	  2379	  2392	  2403	  2405	  2408	  2413	  2417	  2430
	  2441	  2443	  2446	  2457	  2461	  2474	  2486	  2489	  2494	  2497	  2500	  2510	  2512	  2530
	  2549	  2562	  2571	  2574	  2577	  2579	  2581	  2583	  2585	  2587	  2589	  2592
LDMAR	   381
LDMARX	   382
LDMEM	   384
LORB	   374
LORBR	   415	   424	   453
LXORBR	  2548
MOV	   380	   387	   391	   407	   429	   447	   472	   474	   476	   501	   512	   568	   570	   615
	   617	   662	   664	   712	   714	   723	   781	   784	   788	   927	   949	   960	  1021	  1043
	  1054	  1118	  1168	  1183	  1257	  1281	  1305	  1339	  1355	  1377	  1411	  1435	  1453	  1481
MOVB	   341	   355	   357	   359	   361	   369	   375	   386	   388	   397	   404	   408	   418	   443
	   448	   455	   458	   463	   469	   473	   475	   499	   502	   510	   513	   528	   530	   531
	   533	   549	   551	   561	   563	   564	   565	   587	   589	   609	   611	   612	   634	   636
	   656	   657	   659	   684	   686	   706	   707	   709	   725	   736	   738	   767	   769	   770
	   771	   773	   775	   776	   813	   819	   823	   826	   839	   845	   849	   852	   872	   888
	   890	   891	   906	   908	   909	   924	   926	   928	   946	   948	   950	   962	   982	   984
	   985	  1000	  1002	  1003	  1018	  1020	  1022	  1040	  1042	  1044	  1056	  1079	  1081	  1082
	  1098	  1100	  1101	  1116	  1119	  1130	  1132	  1133	  1145	  1147	  1148	  1163	  1165	  1166
	  1181	  1199	  1201	  1249	  1251	  1252	  1254	  1255	  1273	  1275	  1277	  1279	  1297	  1299
	  1301	  1303	  1335	  1336	  1354	  1372	  1375	  1407	  1410	  1429	  1431	  1433	  1451	  1472
	  1474	  1476	  1478	  1511	  1512	  1514	  1515	  1518	  1532	  1571	  1573	  1576	  1580	  1581
	  1583	  1585	  1589	  1593	  1635	  1637	  1640	  1644	  1645	  1646	  1648	  1652	  1656	  1657
	  1659	  1661	  1665	  1669	  1673	  1674	  1675	  1677	  1681	  1685	  1686	  1688	  1690	  1694
	  1753	  1755	  1758	  1761	  1762	  1764	  1765	  1767	  1772	  1774	  1775	  1777	  1782	  1784
	  1786	  1790	  1792	  1796	  1824	  1827	  1830	  1831	  1833	  1835	  1839	  1843	  1871	  1874
	  1877	  1878	  1880	  1882	  1886	  1890	  1894	  1898	  1931	  1933	  1935	  1938	  1941	  1942
	  1943	  1945	  1947	  1955	  1969	  1970	  1972	  1974	  1976	  1984	  2022	  2023	  2025	  2028
	  2031	  2040	  2057	  2099	  2100	  2102	  2105	  2108	  2117	  2134	  2146	  2181	  2182	  2184
	  2186	  2189	  2192	  2193	  2194	  2195	  2201	  2202	  2204	  2212	  2213	  2214	  2220	  2221
	  2223	  2227	  2230	  2265	  2266	  2267	  2270	  2273	  2274	  2275	  2277	  2279	  2285	  2288
	  2327	  2329	  2331	  2334	  2337	  2339	  2340	  2341	  2346	  2350	  2355	  2359	  2363	  2367
	  2371	  2404	  2406	  2409	  2414	  2442	  2444	  2447	  2458	  2487	  2490	  2495	  2498	  2511
	  2513	  2531	  2559	  2563	  2573	  2576	  2588	  2591
MOVMEM	   385	   466	   569	   616	   663	   713	   787
NAME	     5#	     5
NOP	  1590	  1653	  1670	  1682	  1691	  1771	  1781	  1787	  1793	  1840	  1895	  1952	  1981	  2032
	  2033	  2034	  2035	  2041	  2042	  2043	  2044	  2109	  2110	  2111	  2112	  2118	  2119	  2120
	  2121	  2532	  2533	  2534	  2535
OSB	   438	   571	   584	   618	   631	   665	   681	   715	   733	   789	   808	   834	   860	   865
	   893	   911	   930	   952	   987	  1005	  1024	  1046	  1084	  1103	  1121	  1135	  1150	  1184
	  1203	  1258	  1282	  1306	  1412	  1436	  1454	  1482	  2538	  2543
READ	   222#	  1516	  1574	  1638	  1756	  1825	  1872	  1936
READB	   223#
REPEAT	   216#	   592	   639	   689	   741	   869	   965	  1059	  1229	  1315	  1386	  1491	  1544	  1611
	  1711	  1804	  1851	  1906	  2001	  2078	  2157	  2243	  2298	  2384	  2422	  2466	  2505
RETURN	   366	   376	   398	   405	   409	   419	   425	   432	   440	   444	   456	   482	   486	   508
	   523	   814	   821	   824	   827	   840	   847	   850	   853	   862	   867	  1723	  2514	  2519
	  2556	  2560	  2569
SHL	   433	   818	   844	  1768	  1778	  2345	  2354
SHLR	   673	   938	  1032
SHR	   343	   347	   348	   350	   365	   392	   724	   961	  1055
TEST	   541#	   543	   595	   642	   692	   744	   874	   968	  1062	  1232	  1318	  1389	  1494	  1547
	  1614	  1727	  1807	  1854	  1909	  2004	  2081	  2160	  2246	  2301	  2387	  2425	  2469
WRITE	   221#	  2026	  2103	  2187	  2268	  2332	  2407	  2445	  2488
.ECRAM	   305#	  2571
.END	  2595
.INIT	   335
.LOC	  1725