Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/loaders/dtempt.lst
There are no other files named dtempt.lst in the archive.
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  25-JAN-83  09:48
C11DTE.MAC    04-JAN-83 11:22		TABLE OF CONTENTS

   171	 CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST
   225	 END OF MODULE CHKDEF
   226
   234	 S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
   298		STOPCD'S
   332		GENERAL MACRO DEFINITIONS
   572		PDP-11 EIS EMULATORS
   728		SYMBOL DEFINITIONS
   791		HARDWARE DEFINITIONS
   792			VECTORS
   812			DEVICES
   813			CD20 - PUNCHED CARD READER
   883			CR11 - PUNCHED/MARK SENSE CARD READER
   906			CTY - CONSOLE TELETYPE
   925			DH11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
   966			DJ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
   968			DL10 - UNIBUS-TO-MBUS INTERFACE
   996			DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE
  1049			DM11BB - MODEM CONTROLLER FOR DH11
  1066			DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER
  1090			DN11 - AUTODIALER
  1108			DP11 - SYNCHRONOUS LINE INTERFACE
  1140			DQ11 - DMA SYNCHRONOUS LINE INTERFACE
  1261			DS11 - SYNCHRONOUS LINE INTERFACE
  1349			DTE20 - DECSYSTEM 20(10)/PDP-11 INTERPROCESSOR INTERFACE
  1396			DU11 - SYNCHRONOUS LINE CONTROLLER
  1398			DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC
  1488			DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
  1505			EIA PIN DEFINITIONS
  1533			KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR
  1564			KT11 - MEMORY MANAGEMENT MODULE
  1642			KW11 - LINE TIME CLOCK
  1659			LP11 - LINE PRINTER CONTROLLER
  1679			LP20 - LINEPRINTER CONTROLLER
  1770			MM11-LP PARITY MEMORY
  1782			PA611 - TYPESET READER/PUNCH
  1788			PC11 - PAPER TAPE READER/PUNCH INTERFACE
  1815			TC11 - DECTAPE CONTROLLER
  1873			TM11 - MAGNETIC TAPE CONTROLLER
  1938		END OF DEVICE DEFINITIONS
  2991	 MODULE END
  2992
  3004		TITLE PAGE
  3019		MACROS AND DEFINITIONS
  3208		MOVE TO TOP OF PHYSICAL MEMORY
  3321		MOP PROCESSOR
  3575		DTE SUBROUTINES
  3697		DATA
  3753	 CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC
  3823		CHK11 MACROS
  3824			CK11SC
  3878			$CKINT
  3910			DEVICE
  3986			CHKCHR
  4002			CKVECT, CKVEC1
  4087		CHK11 DEVICE NAME TABLE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48
C11DTE.MAC    04-JAN-83 11:22		TABLE OF CONTENTS

  4165	 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
  4495			CHECK KT11 HARDWARE
  4721			CHECK MEMORY - SLIDING BIT PATTERN
  4904			CHECK KW11-L HDW
  4961			CHECK DL10 HDW
  4995			DEVICE SCAN AND CHECK
  5094			CHK11 COMPLETION
  5106		END OF CHK11 MAINLINE
  5108		GENERAL SUBROUTINES
  5111			LOOK FOR AND CHECK SYSTEM DEVICES
  5309			BIT BY BIT SET/CLEAR TEST
  5355			BIT SET/BIT CLEAR TEST FOR DL10
  5377			PRINT DEVICE ID ROUTINE
  5402			ROUTINE TO FIND DEVICE INTERRUPT LEVEL
  5441			CHECK INTERRUPTS AND FIND DEVICE LEVEL
  5533			GENERAL INTERRUPT FIELDER FOR CHK11
  5585		DEVICE DIAGNOSTICS
  5600			CHECK CD20 HARDWARE
  5658			CHECK CR11 HARDWARE
  5707			CHECK DH11 HDW
  5908			CHECK DL11-A HDW
  5916			CHECK DL11-E HDW
  5937			CHECK DM11BB HDW
  5985			CHECK DN11 HDW
  6000			CHECK DP11 HDW
  6024			CHECK DQ11 HDW
  6336			CHECK DS11 HDW
  6388			CHECK DTE20 HARDWARE
  6431			CHECK DU11 HDW
  6443			CHECK DUP11 HDW
  6467			CHECK DZ11 HDW
  6488			CHECK KG11 HARDWARE
  6535			CHECK KMC/DMC HARDWARE
  6784			CHECK LP11 HARDWARE
  6805			CHECK LP20 HARDWARE
  6863			CHECK MD11 HDW
  6875			DUMMY NULL DEVICE CHECKER
  6881			CHECK PA611P HARDWARE
  6894			CHECK PA611R HARDWARE
  6907			CHECK PP11 HARDWARE
  6923			CHECK PR11 HARDWARE
  6952			CHECK RH11 HARDWARE
  6966			CHECK TC11 HARDWARE
  6999			CHECK TM11 HARDWARE
  7012			NULL DIAGNOSTIC
  7025		TTY SUPPORT FOR TYPE OUTS
  7203		REMOTE OUTPUT HANDLER
  7273		UNEXPECTED BUS TRAP HANDLER
  7287		CK11SC/TRAP INSTRUCTION HANDLER
  7448	 MODULE END
  7449	 PROGRAM END
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1
C11DTE.MAC    04-JAN-83 11:22

     1						.TITLE	CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST
     2						.IDENT	/X3.04/
     3		000000											.REPT 0
     4					                                                        :                
     5					                                          :             :         :     
     6					                                                        :         :     
     7					 ::::    ::::   : :::   :   :   :: ::    ::      ::: :  ::::    :::::   
     8					:    :  :    :   :   :  :   :    ::  :    :     :   :   :   :     :     
     9					:       :    :   :   :  :   :    :        :     :   :   :   :     :     
    10					:       :    :   :   :  :   :    :        :     :   :   :   :     :     
    11					:    :  :    :   ::::    ::::    :        :      ::::   :   :     :  :  
    12					 ::::    ::::    :          :   :::      :::        :   :   :      ::   
    13					                 :      :   :                   :   :                   
    14					                ::       :::                     :::                    
    15					 
    16									AND
    17
    18					    ::                                                                
    19					    :    :                   ::             :                         
    20					    :                         :                                       
    21					 ::::   ::     :::    :::     :     :::    ::   : :: ::     :::   :: ::  
    22					:   :    :    :      :   :    :        :    :    :  :  :   :   :   ::  : 
    23					:   :    :     :::   :        :     ::::    :    :  :  :   :::::   :     
    24					:   :    :        :  :        :    :   :    :    :  :  :   :       :     
    25					:   :    :    :   :  :   :    :    :   :    :    :  :  :   :   :   :     
    26					 ::: :  :::    :::    :::    :::    ::: :  :::   :  :  :    :::   :::    
    27					 
    28					 
    29							    COPYRIGHT (C) 1980,1981,1982 BY
    30							DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
    31
    32					THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
    33					ONLY  IN  ACORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
    34					INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE  OR ANY OTHER
    35					COPIES THEREOF MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAIABLE TO ANY
    36					OTHER PERSON.  NO TITLE  TO  AND OWNERSHIP OF THIS SOFTWARE IS HEREBY
    37					TRANSFERRED.
    38					T
    39					THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT NOTICE
    40					AND  SHOULD  NOT  BE  CONSTRUED AS A COMMITMENT  BY DIGITAL EQUIPMENT
    41					CORPORATION.
    42					C
    43					DIGITAL ASSUMES NO RESPONSIBILITY  FOR THE  USE OR RELIABILITY OF ITS
    44					SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
    45													.ENDR
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-1
C11DTE.MAC    04-JAN-83 11:22

    47		000000											.REPT 0
    48						.TITLE	CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST
    49					                                                        :                
    50					                                          :             :         :     
    51					                                                        :         :     
    52					 ::::    ::::   : :::   :   :   :: ::    ::      ::: :  ::::    :::::   
    53					:    :  :    :   :   :  :   :    ::  :    :     :   :   :   :     :     
    54					:       :    :   :   :  :   :    :        :     :   :   :   :     :     
    55					:       :    :   :   :  :   :    :        :     :   :   :   :     :     
    56					:    :  :    :   ::::    ::::    :        :      ::::   :   :     :  :  
    57					 ::::    ::::    :          :   :::      :::        :   :   :      ::   
    58					                 :      :   :                   :   :                   
    59					                ::       :::                     :::                    
    60					 
    61									AND
    62
    63					    ::                                                                
    64					    :    :                   ::             :                         
    65					    :                         :                                       
    66					 ::::   ::     :::    :::     :     :::    ::   : :: ::     :::   :: ::  
    67					:   :    :    :      :   :    :        :    :    :  :  :   :   :   ::  : 
    68					:   :    :     :::   :        :     ::::    :    :  :  :   :::::   :     
    69					:   :    :        :  :        :    :   :    :    :  :  :   :       :     
    70					:   :    :    :   :  :   :    :    :   :    :    :  :  :   :   :   :     
    71					 ::: :  :::    :::    :::    :::    ::: :  :::   :  :  :    :::   :::    
    72					 
    73					 
    74							    COPYRIGHT (C) 1980,1981,1982 BY
    75							DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
    76
    77					THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
    78					ONLY  IN  ACORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
    79					INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE  OR ANY OTHER
    80					COPIES THEREOF MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAIABLE TO ANY
    81					OTHER PERSON.  NO TITLE  TO  AND OWNERSHIP OF THIS SOFTWARE IS HEREBY
    82					TRANSFERRED.
    83					T
    84					THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT NOTICE
    85					AND  SHOULD  NOT  BE  CONSTRUED AS A COMMITMENT  BY DIGITAL EQUIPMENT
    86					CORPORATION.
    87					C
    88					DIGITAL ASSUMES NO RESPONSIBILITY  FOR THE  USE OR RELIABILITY OF ITS
    89					SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
    90													.ENDR
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-2
C11DTE.MAC    04-JAN-83 11:22

    92					;**********************************************************************;
    93					;								       ;
    94					;		EDIT HISTORY AND VERSION DOCUMENTATION		       ;
    95					;		(ALSO SEE VERSION INFO IN CHK11 BODY)		       ;
    96					;								       ;
    97					;  THIS MODULE IS A COMBINED TERTIARY LOADER AND HARDWARE CHECKING     ;
    98					;  PROGRAM.  IT IS LOADED BY A SECONDARY LOADER, AND GIVEN CONTROL     ;
    99					;  AT THE TOP.  THE "CHECK11" HARDWARE EXERCISER IS THEN INVOKED,      ;
   100					;  AFTER WHICH THE LOADER LOADS THE SPECIFIED OPERATING SYSTEM.	       ;
   101					;								       ;
   102					;  "DTEMOP" AND "CHK11" WERE DEVELOPED SEPERATELY.  THIS EDIT HISTORY  ;
   103					;  BEGINS WITH VERSION 2A.0, THE FIRST TO COMBINE THE MODULES.  ONLY   ;
   104					;  EDITS WHICH CHANGE THE SENSE OF THE CODE ARE DOCUMENTED HERE; TYPO  ;
   105					;  CORRECTIONS AND SUCH CHANGE THE EDIT NUMBER BUT THE CHANGES ARE NOT ;
   106					;  FLAGGED.							       ;
   107					;								       ;
   108					;**********************************************************************;
   109					;								       ;
   110					;  EDIT HISTORY:						       ;
   111					;	X2A.00	22-AUG-78  L. WEBBER				       ;
   112					;			ORIGINAL COMBINATION OF DTEMOP AND CHK11       ;
   113					;	   .02	23-AUG-78  L. WEBBER				       ;
   114					;			MODIFIED LINKAGE SO THAT CHK11 IS CALLED AFTER ;
   115					;			THE LOADER HAS RELOCATED ITSELF TO HIGH CORE   ;
   116					;	   .04	27-AUG-78  L. WEBBER				       ;
   117					;			DID .02 OVER AGAIN RIGHT		       ;
   118					;	   .05	28-AUG-78  L. WEBBER				       ;
   119					;			TOOK OUT TTY DIALOG & ELIMINATED MSGS FOR      ;
   120					;			NONEXISTENT HARDWARE			       ;
   121					;	   .06	28-AUG-78  L. WEBBER				       ;
   122					;			WROTE REMOTE OUTPUT HANDLER TO SEND MOP MSGS   ;
   123					;			OVER DTE				       ;
   124					;	   .08  10-NOV-78  L. WEBBER				       ;
   125					;			MODIFIED REMOTE OUTPUT HANDLER TO INTERFACE    ;
   126					;			CORRECTLY TO DTE DRIVER			       ;
   127					;	  .10	17-NOV-78  L. WEBBER				       ;
   128					;			TOOK "DATA CHECK" OPTION OUT OF DTE DRIVER     ;
   129					;			NOT WORK WITH CHK11); FIXED PRINT OF MINOR     ;
   130					;			VERSION; ENHANCED TO SEND NULL LINE TO REMOTE  ;
   131					;			DEVICE					       ;
   132					;	  .11	20-NOV-78  L. WEBBER
   133					;			ELIMINATED BLANK LINE FOR NONEXISTENT DEVICES; ;
   134					;			ELIMINATED DEVICE TESTS FOR DH11,DN11,DP11,    ;
   135					;			DU11,KG11, AND RH11, AND TOOK OUT IMPROPER     ;
   136					;			FIXED KMC ENTRY FOR DN25		       ;
   137					;	  .12	29-MAR-79  L. WEBBER				       ;
   138					;			TOOK OUT "DO YOU WANT TO CONTINUE"	       ;
   139					;	  .13	30-MAR-79  L. WEBBER				       ;
   140					;			MODIFIED CR11/CD11 DIFFERENTIATION CODE	       ;
   141					;	  .14	19-APR-79  L. WEBBER				       ;
   142					;			FIXED CR11 DIFFERENTIATION CODE		       ;
   143					;	  .15	22-APR-79  L. WEBBER				       ;
   144					;			MODIFIED LOAD PARAMETER PROCESSING TO BE CON-  ;
   145					;			SISTENT WITH -11M DECNET CONVENTIONS	       ;
   146					;	  .16	21-JUN-79  L. WEBBER				       ;
   147					;			ADDED DEVICE CHECK FOR KDZ'S KMC'S	       ;
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-3
C11DTE.MAC    04-JAN-83 11:22

   148					;	  .17	10-AUG-79  L. WEBBER				       ;
   149					;			MODIFIED MEMORY MANAGEMENT TEST TO SET UP      ;
   150					;			PDR 6					       ;
   151					;	X3.01	7-APR-81 SCOTT G. ROBINSON			       ;
   152					;		-CHANGE MAPPED MEMORY TEST TO ONLY TRY 2 BITS 	       ;
   153					;		-PREVENT LOGGING ACROSS THE DTE BY COMMENTING OUT CALL ;
   154					;		 TO DTESND					       ;
   155					;		-ADD CALL AND RETURN MACROS			       ;
   156					;								       ;
   157					;	X3.02	12-AUG-81 RON PLATUKIS					;
   158					;		-CAUSE THE MOP PROCESSOR CODE TO EXTRACT THE HOST NODE  ;
   159					;		NUMBER FROM THE LOAD MESSAGE AND STORE IT IN THE PARM   ;
   160					;		AREA 							;
   161					;									;
   162					;	X3.03	29-DEC-81  L. WEBBER					;
   163					;		CHANGE THE MOP CODE FOR CHK11 ASCII TEXT FROM 28.	;
   164					;		TO 22.							;
   165					;
   166					;	X3.04	7-JULY-82  RON PLATUKIS					;
   167					;		REPORT CORRECT DTE VECTOR FOR DTE-0-1			;
   168					;									;
   169					;**********************************************************************;
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-4
C11DTE.MAC    04-JAN-83 11:22		CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST

   171						.SBTTL CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST
   172									;
   173									;
   174		000042				PDP11 = 34.		; EXPECTED CPU IS 11/34
   175									;
   176					;;;;	CKSTD = 0		; SYSTEM CONFIGURATION IS PDP-11 STANDARD
   177					;;;;	SY0880 = 0		; INCLUDE SYSTEM 880 QUIRKS
   178		000043				CKDN2X = 1!2!40		; SYSTEM CONIGURATION IS DN20, DN21, OR DN25
   179									;  (SPECIFIED BY BIT NUMBERS SET IN CKDN2X DEF -
   180									;    B0 SAYS DN20, B1 SAYS DN21, B5 SAYS DN25)
   181		177777				INCLUD	= -1		;
   182		000000				EXCLUD	= 0		;
   183									;
   184					;	CKNODV	= 0		; IF DEFINED, LIST NONEXISTENT DEVICES
   185									;
   186		000000				M$$MGE	= 0		; IF DEFINED, ASSEMBLE FOR MAPPED SYSTEM
   187									;
   188									;
   189									;
   190		177777				FTCD20	= INCLUD
   191		177777				FTCR11	= INCLUD
   192		000000				FTDH11	= EXCLUD
   193		000000					NDH11	= 1&FTDH11	;NUMBER OF DH11'S
   194		000000				FTDJ11	= EXCLUD
   195		000000				FTDL10	= EXCLUD
   196		000000				FTDL1A	= EXCLUD
   197		177777				FTDL1E	= INCLUD
   198		000000				FTDM11	= INCLUD&FTDH11	;DM11BB DEPENDS ON EXISTENCE OF DH11
   199		000120					DM.TIM	= 80.	; DM11BB SETTLE TIME IN MEM CYCLES
   200		177777				FTDMC	= INCLUD
   201		000000				FTDN11	= EXCLUD
   202		000000				FTDP11	= EXCLUD
   203		000000				FTDQ11	= EXCLUD
   204		000000					SPCVFY	= EXCLUD&FTDQ11 ;DQ11 SPECIAL CHARACTER TEST
   205		000000				FTDS11	= EXCLUD
   206		177777				FTDTE	= INCLUD
   207		000000				FTDU11	= EXCLUD
   208		177777				FTDUP1	= INCLUD
   209		177777				FTDZ11	= INCLUD
   210		000000				FTKG11	= EXCLUD
   211		177777				FTKMC	= INCLUD&FTDMC	;KMC IS SUPERSET OF DMC
   212		000000					FTKMCL	= EXCLUD&FTKMC	;INCLUDE ONLY IF CRAM IMAGE IS SUPPLIED
   213		177777				FTLE11	= INCLUD
   214		177777				FTLP20	= INCLUD
   215		000000				FTMD11	= EXCLUD
   216		000000				FTPA61	= EXCLUD
   217		000000				FTPP11	= EXCLUD
   218		000000				FTPR11	= EXCLUD
   219		000000				FTRH11	= EXCLUD
   220		000000				FTRK11	= EXCLUD
   221		000000				FTRX11	= EXCLUD
   222		000000				FTTC11	= EXCLUD
   223		000000				FTTM11	= EXCLUD
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-5
C11DTE.MAC    04-JAN-83 11:22		END OF MODULE CHKDEF

   225						.SBTTL END OF MODULE CHKDEF
   226						.SBTTL
   227					;****************************************************************
   228					;
   229					;	END OF CHKDEF
   230					;
   231					;****************************************************************
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-6
C11DTE.MAC    04-JAN-83 11:22

   233						.TITLE S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
   234						.SBTTL S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
   235					;
   236					;
   237					;
   238					;
   239					;
   240					;
   241					;
   242					;
   243					;
   244					;
   245					;
   246					;
   247					;	COPYRIGHT 1974, 1975, 1976,1977
   248					;	DIGITAL EQUIPMENT CORP., MAYNARD MASS.
   249					;
   250					;	SEPT 25,1974 - DMCC/EGF/LAD/EJW/TEP
   251					;
   252					;
   253					;
   254					;
   255					;
   256					;
   257					;
   258					;
   259					;
   260					;
   261					;
   262					;
   263		000004				VRS	= 04		;FILE EDIT NUMBER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-7
C11DTE.MAC    04-JAN-83 11:22		S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77

   265						.ENABL	LC		;LOWER CASE IS LOWER CASE
   266						.ENABL	AMA		;USE ABSOLUTE RATHER THAN RELATIVE PC ADDRESSING
   267					;;;;	.DSABL	GBL		;DISABLE GLOBAL REFERENCES
   268					;;;;	.LIST	MC,MD,ME	;
   269					;;;;	.NLIST	CND		;
   270					;;;;	.LIST	MEB		;LIST ONLY CODE PRODUCING PARTS OF MACROS
   271									;
   272					;	DGUTS NON ZERO REQUESTS THE "DON'T GIVE UP THE SHIP" FAILSOFT FEATURE
   273					;
   274					.IIF NDF DGUTS,DGUTS=0
   275					;
   276		   001			.IF NE DGUTS
   277							;IF WE'RE NOT TO GIVE UP THE SHIP, TURN OFF DEBUGGING TRAPS
   278							;THEN WE'LL DIE ONLY ON HARD ERRORS.
   279						DEBUG=0
   280						FTASRT=0
   281						FT.CHK=0
   282		   000			.ENDC
   283					;
   284					.IIF NDF FT.HLP,FT.HLP=	1	;1 = TYPE OUT STOPCD INFORMATION
   285					;
   286					.IIF NDF DEBUG,DEBUG=1		;LEVEL OF DEBUG CODE INCLUDED
   287									; 0 = NONE = KEEP AS SMALL AS POSSIBLE
   288									; 1 = SOME - KEEP TRACKS, DIE ON SOME ERRORS
   289									; -1 = DIE ON ALL ERRORS
   290					;
   291					.IIF NDF STKLEN,STKLEN=	200	;LENGTH OF SYSTEM STACK
   292					;
   293					.IIF NDF FT.CHK,FT.CHK=	1	;1 EQUALS CHECK STUFF ON FLY
   294					;
   295					.IIF NDF PASS,PASS=0	;COUNT ASSEMBLER PASSES
   296		000002				PASS=PASS+1
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-8
C11DTE.MAC    04-JAN-83 11:22		STOPCD'S

   298					.SBTTL	STOPCD'S
   299							;
   300		000000			S..AMC	= 0	;ASSERT MACRO CALL - DEFAULT CODE
   301		000001			S..NXM	= 1	;BUS TRAPS'S, ADDRESS ERROR'S, ETC.
   302		000002			S..DL1	= 2	;DL10 ERRORS
   303		000002			S..DTE	= S..DL1 ;DTE20 ERRORS (NOTE - SAME AS DL10)
   304		000003			S..CNK	= 3	;CHUNKS ARE MESSED UP
   305		000004			S..ILS	= 4	;ILLEGAL INSTRUCTION
   306		000005			S..CTY	= 5	;NO CTY
   307		000006			S..MEM	= 6	;MEMORY ERROR (E.G. PARITY, OR CAN'T READ WRITE BITS)
   308		000007			S..KW11	= 7	;KW11 ERROR
   309		000010			S..NCN	= 10	;NO CONNECTION FOR RECEIVED DATA
   310							; OR CONNECTION NUMBER USED BY SOME OTHER NODE
   311		000011			S..BDT	= 11	;BAD DATA TYPE REQUESTED BY 10
   312		000012			S..CHK	= 12	;CHECK 11 ERROR
   313		000013			S..MPD	= 13	;MAPPED ASSEMBLY RUNNING IN UNMAPPED HARDWARE
   314		000014			S..MMG	= 14	;MEMORY MANAGEMENT ERROR
   315							;
   316					;STOP CODE MACRO
   317					;	FIRST ARGUMENT IS CODE FOR STOP
   318					;	SECOND ARGUMENT IS SEVERITY
   319					;
   320					.MACRO	STOPCD	CD,TYPE
   321						    .IF NB <CD>
   322						S.....=S..'CD
   323						    .IFF ;NB <CD>
   324						S.....=0
   325						    .ENDC ;NB <CD>
   326						Z=1
   327					.IIF IDN <.'TYPE>,<.DEBUG>,	Z=DEBUG
   328					.IIF NE Z,	TRAP S.....
   329						S.....=0
   330					.ENDM	STOPCD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-9
C11DTE.MAC    04-JAN-83 11:22		GENERAL MACRO DEFINITIONS

   332					.SBTTL	GENERAL MACRO DEFINITIONS
   333					;
   334					;
   335					.MACRO COUNT A,?X
   336						INC	A+2
   337						BNE	X
   338						INC	A
   339					X:
   340					.ENDM	COUNT
   341					;
   342					; REGISTER SAVE MACRO
   343					;
   344					.MACRO	SAVE	A
   345						.IRP	X,<A>
   346						MOV	X,-(SP)		;PUSH X ON THE STACK
   347						.ENDR ;IRP X
   348					.ENDM	SAVE
   349					;
   350					; REGISTER RESTORE MACRO
   351					;
   352					.MACRO	RESTORE	A
   353						.IRP	X,<A>
   354						MOV	(SP)+,X		;POP X OFF THE STACK
   355						.ENDR ;IRP X
   356					.ENDM	RESTORE
   357					;
   358					.MACRO	FALLR	DEST
   359					.IIF NE DEST-.	.ERROR	DEST-.	;**** ERRONEOUS CODE FALL THROUGH ATTEMPTED ****
   360					.ENDM	FALLR
   361					;
   362					.MACRO	.INC	ARG
   363						ARG	= ARG + 1
   364					.ENDM	.INC
   365					;
   366					.MACRO	.DEC	ARG
   367						ARG	= ARG - 1
   368					.ENDM	.DEC
   369					;
   370					.MACRO	LESSER	A,B,C	;DEFINE A AS THE LESSER OF B AND C
   371						    .IF GT B-C
   372						A	= C
   373						    .IFF
   374						A	= B
   375						    .ENDC
   376					.ENDM	LESSER
   377					;
   378					.MACRO	GREATR	A,B,C	;DEFINE A AS THE GREATER OF B AND C
   379						LESSER	A,C,B
   380					.ENDM	GREATR
   381					;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-10
C11DTE.MAC    04-JAN-83 11:22		GENERAL MACRO DEFINITIONS

   383					.MACRO	NAMEBT	REG,IPOSMS,LIST
   384						    .IF NB IPOSMS
   385						POSMSK = IPOSMS
   386						    .ENDC
   387						    .IF  DF POSMSK
   388						    .IF EQ POSMSK
   389						POSMSK = 100000
   390						    .ENDC
   391						    .IFF
   392						POSMSK = 100000
   393						    .ENDC
   394						.IRP	NAME,<LIST>
   395						    .IF EQ POSMSK
   396						.ERROR	NAME	;**** POSITION MASK UNDERFLOW ****
   397						    .ENDC
   398						    .IF NB NAME
   399						NAME = POSMSK
   400						    .ENDC
   401						POSMSK = <POSMSK/2>&77777
   402						.ENDR ;IRP NAME
   403					.ENDM	NAMEBT
   404					;
   405					.MACRO	NAMASC
   406						$$ = 0
   407						.IRP	X,<NUL,SOH,STX,ETX,EOT,ENQ,ACK,BEL>
   408						X = $$
   409						.INC	$$
   410						.ENDR	;IRP X
   411						;
   412						.IRP	X,<BS,HT,LF,VT,FF,CR,SO,SI>
   413						X = $$
   414						.INC	$$
   415						.ENDR	;IRP X
   416						;
   417						.IRP	X,<DLE,DC1,DC2,DC3,DC4,NAK,SYN,ETB>
   418						X = $$
   419						.INC	$$
   420						.ENDR	;IRP X
   421						;
   422						.IRP	X,<CAN,EM,SUB,ESC,FS,GS,RS,US>
   423						X = $$
   424						.INC	$$
   425						.ENDR	;IRP X
   426						;
   427						DEL = 177
   428						;
   429						ERRCHR = '\!200		;DEC STD ERROR CHARACTER
   430						;
   431					.ENDM	NAMASC
   432					;
   433					.MACRO	FIELD	NAME,HI,LO
   434						NAME	= <HI-1+HI>&^C<LO-1>
   435					.ENDM	FIELD
   436					;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-11
C11DTE.MAC    04-JAN-83 11:22		GENERAL MACRO DEFINITIONS

   438					; HIDDEN HERE IN THE SOURCE CODE ARE A WHOLE BUNCH OF DEBUGGING
   439					;    AND OTHER SPECIAL MACROS WHICH ARE SUPRESSED IN THE ASSEMBLY IN
   440					;    THE INTEREST OF SQUATTER LISTINGS (AND FASTER ASSEMBLING)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-12
C11DTE.MAC    04-JAN-83 11:22		PDP-11 EIS EMULATORS

   572					.SBTTL	PDP-11 EIS EMULATORS
   573					;
   574					;MACROS TO SIMULATE INSTRUCTIONS FOR SIMPLE PDP11'S
   575					;
   576		   001			.IF LT <PDP11-30.>
   577					;
   578					;MACRO TO SIMULATE SOB ON SIMPLE PDP11'S
   579					;
   580					.MACRO	SOB	CNT,WHERE
   581					.IIF GT WHERE-., .ERROR	0; SOB FORWARD BRANCH ????
   582					.IIF NE <.-WHERE>&^C176, .ERROR	WHERE; SOB BRANCH RANGE ????
   583		   002				    .IF NE WHERE-.
   584						DEC	CNT
   585						BNE	WHERE
   586						    .IFF
   587						BRLOC=.
   588						DEC	CNT
   589						BNE	BRLOC
   590		   001				    .ENDC ;NE WHERE-.
   591					.ENDM	SOB
   592					;
   593					;MACRO TO DO AN XOR FOR SIMPLE PDP11'S
   594					;
   595					; ARGUMENTS:	A-- IS ALWAYS A REGISTER, B-- REFLECTS
   596					;		THE DESTINATION OPERAND, C-- IS USUALLY ON THE STACK
   597					;
   598					.MACRO	XOR2	A02,B02,B12,B22,C02,C12,C22
   599						MOV	A02,C02
   600						BIC	B02,C12
   601						BIC	A02,B12
   602						BIS	C22,B22
   603					.ENDM	XOR2
   604					;
   605					.MACRO	XOR1	A01,B01,B11,B21
   606						XOR2	A01,B01,B11,B21,-(SP),(SP),(SP)+
   607					.ENDM	XOR1
   608					;
   609					.MACRO	XORERR	AV,BV,DB
   610		   002				    .IF B DB
   611					.ERROR	74000; XOR SOURCE ('AV') NOT A REGISTER ???
   612						    .IFF
   613					.ERROR	<74000+<AV*100>+BV>; XOR WITH DEST DB IS NOT SUPPORTED ????
   614		   001				    .ENDC
   615						HALT
   616					.ENDM	XORERR
   617					;
   618					.MACRO	XMODE	Y,S,D
   619						XMOD'Y	\QD,S,D
   620					.ENDM	XMODE
   621					;
   622					.MACRO	XMOD0	X,S,D
   623						XOR1	S,D,D,D
   624					.ENDM	XMOD0
   625					;
   626					.MACRO	XMOD10	X,S,D
   627						XOR1	S,D,D,D
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-13
C11DTE.MAC    04-JAN-83 11:22		PDP-11 EIS EMULATORS

   628					.ENDM	XMOD10
   629					;
   630					.MACRO	XMOD20	X,S,D
   631						XOR1	S,(R'X),(R'X),(R'X)+
   632					.ENDM	XMOD20
   633					;
   634					.MACRO	XMOD30	X,S,D
   635						XOR1	S,@(R'X),@(R'X),@(R'X)+
   636					.ENDM	XMOD30
   637					;
   638					.MACRO	XMOD40	X,S,D
   639						XOR1	S,-(R'X),(R'X),(R'X)
   640					.ENDM	XMOD40
   641					;
   642					.MACRO	XMOD50	X,S,D
   643						XOR1	S,@-(R'X),@(R'X),@(R'X)
   644					.ENDM	XMOD50
   645					;
   646					.MACRO	XMOD60	X,S,D
   647						XOR1	S,D,D,D
   648					.ENDM	XMOD60
   649					;
   650					.MACRO	XMOD70	X,S,D
   651						XOR1	S,D,D,D
   652					.ENDM	XMOD70
   653					;
   654					.MACRO	XOR	A,B
   655						.NTYPE	QA,A	;QA IS 6-BIT SOURCE SPEC
   656						.NTYPE	QB,B	;QB IS 6-BIT DEST SPEC
   657						QC=QB&70	;QC IS DEST ADDRESS MODE
   658						QD=QB&7		;QD IS DEST ADDRESS REGISTER
   659		   002				    .IF NE QA&^C7 ;QA MUST BE REGISTER DIRECT
   660						XORERR	\QA
   661						    .IFF
   662								;QA IS REGISTER DIRECT, DECODE DEST SPEC
   663		   003				    .IF LE <QD-5> ;DEST USES USER GPR (0-5)
   664						XMODE	\QC,A,B	;CALL MODE SELECTOR MACRO BASED ON QC
   665						    .IFF
   666								;DEST USES SP OR PC
   667						.IIF EQ <QC-0>	;MODE IS REGISTER DIRECT (ERROR)
   668						.IIF EQ <QB-06>,	XORERR	\QA,\QB,B
   669						.IIF EQ <QB-07>,	XORERR	\QA,\QB,B
   670						.IIF EQ <QC-1>	;MODE IS REGISTER DEFERRED
   671						.IIF EQ <QB-16>,	XOR1	A,2(SP),2(SP),(SP)
   672						.IIF EQ <QB-17>,	XORERR	\QA,\QB,B
   673						.IIF EQ <QC-2>	;MODE IS POP (PC IMMEDIATE)
   674						.IIF EQ <QB-26>,	XORERR	\QA,\QB,B
   675		   004				    .IF EQ <QB-27>
   676						MOV	B,.+22
   677						XOR1	A,.+12,.+6,(PC)+
   678						.WORD	0	;UNLABELED LITERAL
   679		   003				    .ENDC
   680						.IIF EQ <QC-3>	;MODE IS DEFER AND POP (PC ABSOLUTE)
   681						.IIF EQ <QB-36>,	XOR1	A,@2(SP),@2(SP),@(SP)+
   682						.IIF EQ <QB-37>,	XOR1	A,B,B,B
   683						.IIF EQ <QC-4>	;MODE IS PUSH
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-14
C11DTE.MAC    04-JAN-83 11:22		PDP-11 EIS EMULATORS

   684						.IIF EQ <QB-46>,	XORERR	\QA,\QB,B
   685						.IIF EQ <QB-47>,	XORERR	\QA,\QB,B
   686						.IIF EQ <QC-5>	;MODE IS PUSH AND DEFER
   687						.IIF EQ <QB-56>,	XORERR	\QA,\QB,B
   688						.IIF EQ <QB-57>,	XORERR	\QA,\QB,B
   689						.IIF EQ <QC-6>	;MODE IS INDEXED
   690						.IIF EQ <QB-66>,	XOR1	A,2+B,2+B,B
   691						.IIF EQ <QB-67>,	XOR1	A,B,B,B
   692						.IIF EQ <QC-7>	;MODE IS DEFERRED INDEXED
   693						.IIF EQ <QB-76>,	XORERR	\QA,\QB,B
   694						.IIF EQ <QB-77>,	XOR1	A,B,B,B
   695		   002				    .ENDC ;USER GPR VS. SP/PC
   696		   001				    .ENDC ;QA IS REGISTER DIRECT
   697					.ENDM	XOR
   698					;
   699		   000			.ENDC;.IF LT <PDP11-30.>
   700					;
   701		   001			.IF LT <PDP11-45.>
   702						;MACRO TO SET PROCESSOR LEVEL
   703					.MACRO	SPL	Q
   704						    .IF	NE Q
   705						BIS	#BR7,PS			;SET PROCESSOR STATUS TO LEVEL 7
   706						    .ENDC
   707						    .IF NE <Q-7>
   708						BIC	#40*<7&<^C<Q>>>,PS	;NOW DROP TO LEVEL Q
   709						    .ENDC
   710					.ENDM	SPL
   711		   000			.ENDC;.IF LT <PDP11-45.>
   712					;
   713					;MACRO TO SIMULATE EXCH INSTRUCTION
   714					;
   715					.MACRO	EXCH	A,B
   716						MOV	A,-(P)		;SAVE C(A) ON THE STACK
   717						MOV	B,A		;PUT C(B) INTO A
   718						MOV	(P)+,B		;PUT ORIGINAL C(A) INTO B
   719					.ENDM	EXCH
   720					;
   721					;MACRO TO GENERATE AN .ASCIZ STRING TERMINATED WITH .EVEN
   722					;
   723					.MACRO	ASCIZ	STRING
   724						.ASCIZ	\STRING\
   725						.EVEN
   726					.ENDM	ASCIZ
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-15
C11DTE.MAC    04-JAN-83 11:22		SYMBOL DEFINITIONS

   728					.SBTTL	SYMBOL DEFINITIONS
   729					;
   730		000000			R0	= %0
   731		000001			R1	= %1
   732		000002			R2	= %2
   733		000003			R3	= %3
   734		000004			R4	= %4
   735		000005			R5	= %5
   736		000006			SP	= %6		;STACK POINTER
   737		000007			PC	= %7
   738					;
   739		177776			PS	= 177776	;PROCESSOR STATUS WORD
   740						;	000001	;C (CARRY)
   741						;	000002	;V (OVERFLOW)
   742						;	000004	;Z (ZERO)
   743						;	000010	;N (NEGATIVE)
   744						;	000020	;T (TRAP)
   745						;	000340	;PRIORITY LEVEL (0-7)
   746						;	004000	;REGISTER SET
   747						;	030000	;PREVIOUS MODE
   748						;	140000	;CURRENT MODE
   749						;		;MODE: 00=KERNEL, 01=SUPERVISOR, 11=USER
   750		177570			SW=177570	;ADDRESS OF SWTCHES
   751					;
   752		000001			B0	= 1
   753		000002			B1	= 2
   754		000004			B2	= 4
   755		000010			B3	= 10
   756		000020			B4	= 20
   757		000040			B5	= 40
   758		000100			B6	= 100
   759		000200			B7	= 200
   760		000400			B8	= 400
   761		001000			B9	= 1000
   762		002000			B10	= 2000
   763		004000			B11	= 4000
   764		010000			B12	= 10000
   765		020000			B13	= 20000
   766		040000			B14	= 40000
   767		100000			B15	= 100000
   768					;
   769	000000'				FIELD	ALLBTS,B15,B0
   770					;
   771					;DEFINE PROCESSOR LEVELS
   772					;
   773		000000			BR0	= 0*40
   774		000040			BR1	= 1*40
   775		000100			BR2	= 2*40
   776		000140			BR3	= 3*40
   777		000200			BR4	= 4*40
   778		000240			BR5	= 5*40
   779		000300			BR6	= 6*40
   780		000340			BR7	= 7*40
   781					;
   782		000000			PR0	= 0
   783		000040			PR1	= 40
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-16
C11DTE.MAC    04-JAN-83 11:22		SYMBOL DEFINITIONS

   784		000100			PR2	= 2*PR1
   785		000140			PR3	= 3*PR1
   786		000200			PR4	= 4*PR1
   787		000240			PR5	= 5*PR1
   788		000300			PR6	= 6*PR1
   789		000340			PR7	= 7*PR1
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-17
C11DTE.MAC    04-JAN-83 11:22		HARDWARE DEFINITIONS

   791					.SBTTL	HARDWARE DEFINITIONS
   792					.SBTTL		VECTORS
   793					;
   794					.MACRO	DEFVEC	TYP,VQ,LQ
   795						TYP'VEC=	VQ		;VECTOR FOR TYP IS VQ
   796						    .IF B LQ
   797						TYP'LVL=	7		;DEFAULT LEVEL IS LEVEL 7
   798						    .IFF
   799						TYP'LVL=	LQ		;LEVEL OF TYP IS LQ
   800						    .ENDC ;B LQ
   801					.ENDM	DEFVEC
   802					;
   803	000000'					DEFVEC	NXM,04	;BUS-TIMEOUT INTERRUPT
   804	000000'					DEFVEC	ILS,10	;ILLEGAL INSTRUCTION INTERRUPT
   805	000000'					DEFVEC	BPT,14	;BREAKPOINT TRAP
   806	000000'					DEFVEC	IOT,20	;I/O TRAP INSTRUCTION
   807	000000'					DEFVEC	PWF,24	;POWER FAIL INT'S
   808	000000'					DEFVEC	EMT,30	;EMT CALL'S
   809	000000'					DEFVEC	TRP,34	;TRAP INSTRUCTION
   810	000000'					DEFVEC	MMG,250	;MEMORY MANAGEMENT FAULT
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-18
C11DTE.MAC    04-JAN-83 11:22			DEVICES

   812					.SBTTL		DEVICES
   813						.SBTTL		CD20 - PUNCHED CARD READER
   814					;
   815					; CD20 HARDWARE DEVICE REGISTER DEFINITIONS
   816					;
   817		000004			CD.LVL	= 4		;BUS REQUEST PRIORITY
   818		000230			CD.VEC	= 230		;CD20 VECTOR
   819					;
   820		177160				CD.STS = 177160
   821		000000				CDST = 0		;FIRST STATUS AND CONTROL REGISTER
   822	000000'					NAMEBT	CDST,0,<CD.ERR,CD.RDC,CD.EOF,CD.OFL,CD.DER,CD.DLT>
   823	000000'					NAMEBT	,,<CD.NXM,CD.PWC,CD.RDY,CD.IE,CD.B17,CD.B16>
   824	000000'					NAMEBT	,,<CD.ONL,CD.HPE,CD.PAC,CD.GO>
   825		000060					CD.XAD	= CD.B17!CD.B16	;HIGH ORDER BUS ADDRESS MASK
   826		000000						.REPT	0
   827							CD.ERR	= OR OF ALL ERROR CONDITIONS, RO
   828							CD.RDC	= READER CHECK, PHYSICAL READER ERROR, RO
   829							CD.EOF	= END OF FILE BUTTON PRESSED, RO
   830							CD.OFL	= OFF LINE, RO
   831							CD.DER	= DATA ERROR, ILLEGAL PACKED CHAR, RO
   832							CD.DLT	= DATA LATE, NPR TIMING ERROR, RO
   833							CD.NXM	= NONEXISTENT MEMORY REFERENCE DURING DMA, RO
   834							CD.PWC	= POWER CLEAR, INITIALIZE CONTROLLER, WO
   835
   836							CD.RDY	= CONTROLLER READY FOR ACTION, RO
   837							CD.IE	= INTERRUPT ENABLE, RW
   838							CD.B17,CD.B16	= HIGHEST ORDER BUS ADDRESS BITS, RW
   839							CD.ONL	= TRANSITION TO ONLINE OCCURRED, RO
   840							CD.HPE	= HOPPER EMPTY, RO
   841							CD.PAC	= READ MODE SWITCH, RW
   842							CD.GO	= START READER COMMAND, WO
   843								.ENDR
   844									;
   845		000002			CDCC	= 2			;COLUMN COUNT REGISTER
   846		000120				CD.COL = 80.		;80 COLUMN READER
   847									;
   848		000004			CDBA	= 4			;CURRENT ADDRESS REGISTER
   849									;
   850		000006			CDDB	= 6			;DATA BUFFER
   851						; IMAGE MODE DEFINITIONS
   852	000000'					NAMEBT	CDDB,0,<CD.CER,IDZ2,IDZ1,IDZ0,IZ12,IZ11,IZ00,IZ01>
   853	000000'					NAMEBT	,,<IZ02,IZ03,IZ04,IZ05,IZ06,IZ07,IZ08,IZ09>
   854		000000						.REPT	0
   855							CD.CER	= CHARACTER PACKING ERROR
   856							IDZ-	= IMAGE MODE PACKED DIGIT ZONE BITS
   857							IZ--	= IMAGE MODE ZONE PUNCH BITS
   858								.ENDR
   859									;
   860						; PACKED MODE DEFINITIONS
   861	000000'					NAMEBT	CDDB,200,<PZ12,PZ11,PZ00,PZ09,PZ08,PDZ2,PDZ1,PDZ0>
   862		000000						.REPT	0
   863							PZ--	= PACKED MODE ZONE PUNCH BITS
   864							PDZ-	= PACKED MODE PACKED DIGIT ZONE BITS
   865								.ENDR
   866									;
   867		000006			CDST2 = CDDB			;SECOND STATUS AND CONTROL REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-19
C11DTE.MAC    04-JAN-83 11:22			CD20 - PUNCHED CARD READER

   868									;  MULTIPLEXED USE OF DATA BUFFER REGISTER
   869	000000'					NAMEBT	CDST2,0,<ST2ENB,CD.RCK,CD.PCK,CD.SCK>
   870	000000'					NAMEBT	,,<ZT12,ZT11,ZT00,ZT01,ZT02,ZT03,ZT04,ZT05,ZT06,ZT07,ZT08,ZT09>
   871		007777					ZTALL	= 7777
   872		000000						.REPT	0
   873							ST2ENB	= CDST2 ENABLE
   874							RCHK	= READ CHECK (CARD ERROR)
   875							PCHK	= PICK CHECK (FEED ERROR)
   876							SCHK	= STACK CHECK (FEED ERROR)
   877							ZT--	= ZONE TEST BITS
   878							ZTALL	= OR OF ALL ZONE TEST BITS
   879								.ENDR
   880									;
   881		000010			CDHRSZ = 10			;SIZE OF REGISTER BLOCK IN BYTES
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-20
C11DTE.MAC    04-JAN-83 11:22			CR11 - PUNCHED/MARK SENSE CARD READER

   883					.SBTTL		CR11 - PUNCHED/MARK SENSE CARD READER
   884					;
   885		000006			CR.LVL= 6		; PROCESSOR LEVEL FOR CR11 INTERRUPTS
   886		000230			CR.VEC= 230
   887					;
   888		177160			CR0STS = 177160
   889		177160			CR.STS= 177160		; CR11 STATUS REGISTER
   890					;
   891		100000				CR.ERR= B15	; ERROR
   892		040000				CR.DNE= B14	; CARD DONE
   893		020000				CR.HCK= B13	; HOPPER CHECK
   894		010000				CR.MCK= B12	; MOTION CHECK
   895		004000				CR.TIM= B11	; TIMING ERROR
   896		002000				CR.OLN= B10	; BACK ONLINE AFTER BEING OFF
   897		001000				CR.BSY= B9	; BUSY
   898		000400				CR.RDY= B8	; NOT READY
   899		000200				CR.CDN= B7	; COLUMN DONE
   900		000100				CR.INE= B6	; INTERRUPT ENABLE
   901		000002				CR.EJT= B1	; EJECT
   902		000001				CR.CFD= B0	; CARD FEED
   903
   904		177162			CR.DAT= 177162		; 12 LOW ORDER BITS ARE DATA
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-21
C11DTE.MAC    04-JAN-83 11:22			CTY - CONSOLE TELETYPE

   906					.SBTTL		CTY - CONSOLE TELETYPE
   907					;
   908					;CTY HARDWARE BITS
   909					;
   910		177560			CTISTS = 177560
   911		177562			CTICHR = 177562
   912		000060			CTIVEC=	60
   913		000004			CTILVL=	4	; PRIORITY LEVEL
   914					;
   915		000100				CI.INE=	B6		; CTY INPUT INTERRUPT ENABLE
   916					;
   917		177564			CTOSTS = 177564
   918		177566			CTOCHR = 177566
   919		000064			CTOVEC=	64
   920		000004			CTOLVL=	4	; PRIORITY LEVEL
   921					;
   922		000100				CO.INE=	B6		; CTY OUTPUT INTERRUPT ENABLE
   923		000004				CO..MM=	B2		; CTY OUTPUT MAINT MODE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-22
C11DTE.MAC    04-JAN-83 11:22			DH11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER

   925					.SBTTL		DH11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
   926		160020			DHBASE=	160020	;HARDWARE ADR OF FIRST DH11
   927		000007			DH.LVL=	7		;DH11 INTERRUPT LEVEL
   928								; 1ST WORD IS SYSTEM CONTROL REGISTER
   929		000100				DH.RIE=	B6	;RECEIVE INTERRUPT ENABLE
   930		000200				DH..RI=	B7	;RECEIVE INTERRUPT
   931		000400				DH.CNX=	B8	;CLEAR NON EX MEM INT
   932		001000				DH..MM=	B9	;MAINTANCE MODE
   933		002000				DH.NXM=	B10	;NON EXISTENCE MEMORY
   934		004000				DH..MC=	B11	;MASTER CLEAR
   935		010000				DH.SIE=	B12	;STORAGE INTERRUPT ENABLE
   936		020000				DH.TIE=	B13	;TRANSMIT INTERRUPT ENABLE
   937		040000				DH..SI=	B14	;STORAGE INTERRUPT
   938		100000				DH..TI=	B15	;TRANSMIT INTERRUPT
   939		000002			DH.NRC=2		; 2ND WORD IS NEXT RECEIVED CHAR REGISTER
   940		000004			DH.LPR=4		; 3RD WORD IS LINE PARAMETER REGISTER
   941		000006			DH.CAR=6		; 4TH WORD IS CURRENT ADDRESS REGISTER
   942		000010			DH.BCR=10		; 5TH WORD IS BUFFER COUNT REGISTER
   943		000012			DH.BAR=12		; 6TH WORD IS BUFFER ACTIVE REGISTER
   944		000014			DH.BRK=14		; 7TH WORD IS BREAK CONTROL REGISTER
   945		000016			DH.SSR=16		; 8TH WORD IS SILO STATUS REGISTER
   946					;
   947							;ON CHARS OUT OF SILO
   948		040000				DHROVR=	B14		;DATA OVERRUN
   949		020000				DHRFER=	B13		;FRAMMING ERROR
   950		100000				DH.VDP=	B15	;VALID DATA PRESENT
   951		040000				DH.DOV=	B14	;DATA OVER RUN
   952		020000				DH..FE=	B13	;FRAMING ERROR
   953		010000				DH..PE=	B12	;PARITY ERROR
   954					;
   955							;FOR LINE PARAMETERS
   956		100000				DH.AEE=	B15	;AUTO ECHO ENABLE
   957		040000				DH..HD=	B14	;HALF DUPLEX
   958		000040				DH..OP=	B5	;ODD PARITY
   959		000020				DH.PEN=	B4	;PARITY ENABLED
   960		000004				DH.2SB=	B2	;2 STOP BITS
   961		000000				DH.CL5=	0	;5 BIT
   962		000001				DH.CL6=	B0	;6 BIT
   963		000002				DH.CL7=	B1	;7 BIT
   964		000003				DH.CL8=	B1!B0	;8 BIT
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-23
C11DTE.MAC    04-JAN-83 11:22			DJ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER

   966					.SBTTL		DJ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-24
C11DTE.MAC    04-JAN-83 11:22			DL10 - UNIBUS-TO-MBUS INTERFACE

   968					.SBTTL		DL10 - UNIBUS-TO-MBUS INTERFACE
   969					;
   970					;DL10 - UNIBUS TO DECSYSTEM-10 MEMORY BUS INTERFACE
   971					;
   972		100000			DL.BAS=	100000			;BASE ADDRESS FOR 10 MEMORY
   973		100000			DLBASE=	DL.BAS			;
   974		000170			DL.VEC=	170			;VECTOR ADR FOR DL10
   975		000004			DL.LVL=	4			;CHANNEL FIVE
   976					;
   977		100000			DL.STS=DLBASE	;1ST WORD IS STATUS
   978		100000				DL.11I=	B15		; BIT 15 - 11 INT(INTERRUPTS IF 11-INT-ENB SET)
   979		040000				DL.11C=	B14		; BIT 14 - CLEAR 11 INT
   980		020000				DL.10I=	B13		; BIT 13 - 10 INT
   981		010000				DL.10C=	B12		; BIT 12 - CLEAR 10 INT
   982		004000				DL.NXM=	B11		; BIT 11 - NXM(INTERRUPTS IF ERR ENB SET)
   983		002000				DL.CNX=	B10		; BIT 10 - CLEAR NXM
   984		001000				DL.PAR=	B9		; BIT 09 - PAR ERR(INTERRUPTS IF ERR ENB SET)
   985		000400				DL.CPE=	B8		; BIT 08 - CLEAR PAR ERR
   986		000200				DL.WCO=	B7		; BIT 07 - WCOV(INTERRUPTS IF ERR ENB SET)
   987		000100				DL.CWC=	B6		; BIT 06 - CLEAR WCOV
   988		000040				DL.PEN=	B5		; BIT 05 - PORT ENABLE
   989		000040				DLPENB=	DL.PEN		;
   990		000020				DL.B04=	B4		; BIT 04 - (GUESS !)
   991		000010				DL.ERE=	B3		; BIT 03 - ERR ENABLE
   992		000004				DL.INE=	B2		; BIT 02 - 11 INT ENB
   993		000002				DL.B01=	B1		; BITS 00 & 01 - PIA
   994		000001				DL.B00=	B0		;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-25
C11DTE.MAC    04-JAN-83 11:22			DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE

   996					.SBTTL		DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE
   997					;
   998					;
   999		175610			DLDADR=175610	; DL11 NUMBER ZERO DEVICE ADDRESS
  1000		000010			DLDSIZ=10	; LENGTH OF DEVICE ADDRESS ASSIGNMENT
  1001					;
  1002					;	CONTROL REGISTERS
  1003					;
  1004					;
  1005		000000			DLRSTS=0		; RECEIVER STATUS AND CONTROL
  1006					;
  1007					;		BIT ASSIGNMENTS
  1008		000001				DL..RE=B0	; PAPER TAPE READER ENABLE (R/W)
  1009		000002				DL.DTR=B1	; DATA TERMINAL READY (R/W)
  1010		000004				DL.RTS=B2	; REQUEST TO SEND (R/W)
  1011		000010				DL.2XM=B3	; SECONDARY XMIT (R/W)
  1012		000040				DL.DIE=B5	; DATASET INTERRUPTS ENABLE (R/W)
  1013		000100				DL.RIE=B6	; RECEIVER INTERRUPTS ENABLE (R/W)
  1014		000200				DL.ROK=B7	; RECEIVER DONE (R)
  1015		002000				DL.2RC=B10	; SECONDARY RECEIVE (R)
  1016		004000				DL.RGO=B11	; RECEIVER ACTIVE (R)
  1017		010000				DL.CAR=B12	; CARRIER PRESENT (R)
  1018		020000				DL.CTS=B13	; CLEAR TO SEND (R)
  1019		040000				DL.RNG=B14	; DATASET RING (R)
  1020		100000				DL.DSC=B15	; DATASET STATUS CHANGE (R)
  1021					;
  1022					;
  1023		000002			DLRBUF=2	; RECEIVED CHARACTER BUFFER
  1024					;
  1025					;		BIT ASSIGNMENTS
  1026		000377				DL..RC=B0!B1!B2!B3!B4!B5!B6!B7	;THE RECEIVED CHARACTER (R)
  1027		010000				DL..PE=B12	; PARITY ERROR (R)
  1028		020000				DL..FE=B13	; FRAMING ERROR (R)
  1029		040000				DL.OVR=B14	; RECEIVER OVER RUN (R)
  1030		100000				DL.ERR=B15	; RECEIVER ERROR DETECTED (R)
  1031					;
  1032					;
  1033					;
  1034		000004			DLXSTS=4	; XMITTER STATUS AND CONTROL REGISTER
  1035					;
  1036					;		BIT ASSIGNMENTS
  1037		000001				DL.BRK=B0	; SEND BREAK (W)
  1038		000004				DL..MM=B2	; MAINTAINANCE MODE (R/W)
  1039		000100				DL.XIE=B6	; XMITTER INTERRUPTS ENABLE (R/W)
  1040		000200				DL.XOK=B7	; XMITTER READY FOR NEXT CHARACTDER (R)
  1041					;
  1042					;
  1043					;
  1044		000006			DLXBUF=6	; XMITTER CHARACTER BUFFER
  1045					;
  1046					;	BIT ASSSIGNMENT
  1047		000377				DL..XC=B0!B1!B2!B3!B4!B5!B6!B7	; CHARACTER BEING XMITTED (W)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-26
C11DTE.MAC    04-JAN-83 11:22			DM11BB - MODEM CONTROLLER FOR DH11

  1049					.SBTTL		DM11BB - MODEM CONTROLLER FOR DH11
  1050					;
  1051		170500			DMBASE=	170500		;HDW ADR OF FIRST DM11
  1052					;
  1053		000007			DM.LVL=	7		;PROCESSOR LEVEL FOR DM11BB INTERRUPTS
  1054					;
  1055		170500				B.DM11=	170500	;FIRST DM11 ADR
  1056		004000				DM.SCN=	B11	;CLEAR SCANNER
  1057		002000				DM.INI=	B10	;CLEAR MULTIPLEXER
  1058		001000				DM..MM=	B9	;MAINTENANCE MODE
  1059		000400				DM.STP=	B8	;STEP TO NEXT LINE
  1060		000200				DM.DNE=	B7
  1061		000100				DM.IEN=	B6	;INTERRUPT ENABLE
  1062		000040				DM.ENB=	B5	;SCAN ENABLE
  1063		000020				DM.BSY=	B4	;CLEAR SCAN STILL PERCOLATING
  1064		000017				DM.ALI=	B0!B1!B2!B3	;LINE NUMBER FIELD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-27
C11DTE.MAC    04-JAN-83 11:22			DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER

  1066					.SBTTL		DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER
  1067					;
  1068		000005			DMC.LVL	= 5
  1069					;
  1070	000000'					NAMEBT	,0,<MD.RUN,MD.CLR,MD.CWR,MD.SLU,MD.LLU>
  1071	000000'					NAMEBT	,,<MD.RMO,MD.RMI,MD.SMP,B7,B6,B5,B4,B3,B2,B1,B0>
  1072		000000						.REPT	0
  1073							MD.RUN	- RUN THE MICROPROCESSOR
  1074							MD.CLR	- CLEAR THE MICROPROCESSOR
  1075							MD.CWR	- CRAM WRITE
  1076							MD.SLU	- STEP LINE UNIT
  1077							MD.LLU	- LOOP LINE UNIT
  1078							MD.RMO	- ROM OUTPUT
  1079							MD.RMI	- ROM INPUT
  1080							MD.SMP	- STEP MICROPROCESSOR
  1081								.ENDR
  1082						.IRP	X,<0,2,4,6>
  1083						SEL'X	= X
  1084						BSEL'X	= X
  1085						.ENDR ;X
  1086						.IRP	X,<1,3,5,7>
  1087						BSEL'X	= X
  1088						.ENDR ;X
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-28
C11DTE.MAC    04-JAN-83 11:22			DN11 - AUTODIALER

  1090					.SBTTL		DN11 - AUTODIALER
  1091					;
  1092		000007			DN.LVL=	7			;PROCESSOR LEVEL FOR DN INTERRUPTS
  1093		175200			DNBASE=175200
  1094					;
  1095		100000				DN.PWI=	B15		;POWER INDICATE
  1096		040000				DN.ACR=	B14		;ABANDON CALL AND RETRY
  1097		010000				DN.DLO=	B12		;DATA LINE OCCUPIED
  1098		000200				DN.DNE=	B7		;DONE
  1099		000100				DN..IE=	B6		;INTERRUPT ENABLE
  1100		000040				DN.DSS=	B5		;DATA SET STATUS
  1101		000020				DN.PND=	B4		;PRESENT NEXT DIGIT
  1102		000010				DN..MM=	B3		;MAINTENANCE MODE
  1103		000004				DN..ME=	B2		;MASTER ENABLE
  1104		000002				DN..DP=	B1		;DIGIT PRESENT
  1105		000001				DN..CR=	B0		;CALL REQUEST
  1106		007400				DN.DGT=B8+B9+B10+B11	;DIGIT BITS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-29
C11DTE.MAC    04-JAN-83 11:22			DP11 - SYNCHRONOUS LINE INTERFACE

  1108					.SBTTL		DP11 - SYNCHRONOUS LINE INTERFACE
  1109					;
  1110		000007			DP.LVL=	7	;PROCESSOR LEVEL FOR DP11 INTERRUPTS
  1111					;
  1112					; "A" RECEIVER STATUS REGISTER  (ADR = XXXXX0)
  1113					;
  1114		010000			DP..CP=	B12		;CHARACTER PARITY; 1=ODD, 0=EVEN
  1115		004000			DP..RA=	B11		;RECEIVE ACTIVE
  1116		000200			DP..RD=	B7		;RECEIVE DONE
  1117		000100			DP.RIE=	B6		;RECEIVE DONE INTERRUPT ENABLE
  1118		000010			DP..MR=	B3		;MISCELLANEOUS RECEIVE
  1119		000004			DP..MM=	B2		;MAINTENANCE MODE
  1120		000002			DP..HD=	B1		;HALF DUPLEX
  1121		000001			DP..SS=	B0		;STRIP SYNC
  1122					;
  1123					; "B" TRANSMIT AND CONTROL STATUS REG  (ADR = XXXXX2)
  1124					;
  1125		100000			DP..CF=	B15		;CARRIER FLAG
  1126		040000			DP.ROF=	B14		;RECEIVE OVERRUN FLAG
  1127		020000			DP.RNG=	B13		;RING FLAG
  1128		010000			DP.MRY=	B12		;MODEM READY
  1129		004000			DP.CAR=	B11		;CARRIER
  1130		002000			DP.CTS=	B10		;CLEAR TO SEND
  1131		001000			DP.RTS=	B9		;REQUEST TO SEND
  1132		000200			DP..TD=	B7		;TRANSMIT DONE
  1133		000100			DP.TIE=	B6		;TRANSMIT DONE INTERRUPT ENABLE
  1134		000040			DP.SIE=	B5		;STATUS INTERRUPT ENABLE
  1135		000020			DP.MIS=	B4		;MISCELLANEOUS
  1136		000010			DP..MT=	B3		;MISCELLANEOUS TRANSMIT
  1137		000002			DP..IS=	B1		;IDLE SYNC
  1138		000001			DP.DTR=	B0		;TERMINAL READY
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-30
C11DTE.MAC    04-JAN-83 11:22			DQ11 - DMA SYNCHRONOUS LINE INTERFACE

  1140					.SBTTL		DQ11 - DMA SYNCHRONOUS LINE INTERFACE
  1141					;
  1142		000007			DQ.LVL=	7		;PROCESSOR LEVEL FOR DQ11 INTERRUPTS
  1143					;
  1144					; THE BASE ADR FOR THE DQ11 IS CONTAINED IN THE LINE BLOCK
  1145					; RECEIVE STATUS ( ADR =XXXXX0 )
  1146					;
  1147		000001				DQ.RGO=	B0	; RECEIVE GO
  1148		000002				DQ.SSY=	B1	; STRIP SYNC
  1149		000004				DQ.SEC=	B2	; 0=	PRIMARY,1=SECONDARY
  1150		000010				DQ.HD=	B3	; HALF DUPLEX(=	MASK INPUT WHEN XMT ACTIVE)
  1151		000020				DQ.CIE=	B4	; CHAR INTERRUPT ENABLE
  1152		000040				DQ.RIE=	B5	; RECEIVE DONE INTERRUPT ENABLE
  1153		000100				DQ.RDS=	B6	; RECEIVE DONE (SECONDARY) FLAG
  1154		000200				DQ.RDP=	B7	; RECEIVE DONE (PRIMARY) FLAG
  1155		007400				DQ.CHR=	7400	; CHAR DETECTED
  1156		000400				DQ.ETB=	B8	; CHAR WAS AN ETB
  1157		001000				DQ.ETX=	B9	; CHAR WAS AN ETX
  1158		002000				DQ.ENQ=	B10	; CHAR WAS AN ENQ
  1159		004000				DQ.SYN=	B11	; SPECIAL CHAR WAS A SYNC
  1160		010000				DQ.RAC=	B12	; RECEIVE ACTIVE
  1161					;		060000	; USER OPTION
  1162		100000				DQ.VCH=	B15	; VCHAR FLAG
  1163		110021				DQ.RKL=	DQ.RAC!DQ.VCH!DQ.RGO!DQ.CIE	; BITS TO STOP RECEIVER
  1164					;
  1165					; TRANSMIT STATUS ( ADR = XXXXX2 )
  1166					;
  1167		000001				DQ.XGO=	B0	; TRANSMIT GO
  1168					;		B1	; IDLE MODE
  1169		000004				DQ.SEC=	B2	; 0=	PRIMARY ACTIVE,1=SECONDARY ACTIVE
  1170		000010				DQ.EIE=	B3	; ERR INTERRUPT ENABLE
  1171		000020				DQ.DIE=	B4	; DATA SET INTERRUPT ENABLE
  1172		000040				DQ.XIE=	B5	; TRANSMIT DONE INTERRUPT ENABLE
  1173		000100				DQ.XDS=	B6	; TRANSMIT DONE(SECONDARY)
  1174		000200				DQ.XDP=	B7	; TRANSMIT DONE(PRIMARY)
  1175		000400				DQ.RTS=	B8	; REQUEST TO SEND
  1176		001000				DQ.DTR=	B9	; DATA TERMINAL READY
  1177		002000				DQ.DSR=	B10	; DATA SET READY
  1178		004000				DQ.RNG=	B11	; RING
  1179		010000				DQ.CAR=	B12	; CARRIER
  1180		020000				DQ.CTS=	B13	; CLEAR TO SEND
  1181					;		B14	; USER OPTION
  1182		100000				DQ.DSF=	B15	; DATA SET FLAG
  1183					;
  1184					; REG/ERR REGISTER ( ADR =XXXXX4 )
  1185					;
  1186		000001				DQ.XCL=	B0	; TRANSMIT CLOCK LOSS
  1187		000002				DQ.RCL=	B1	; RECEIVE CLOCK LOSS
  1188		000004				DQ.XLE=	B2	; TRANSMIT LATENCY ERROR
  1189		000010				DQ.RLE=	B3	; RECEIVE LATENCY ERROR
  1190		000020				DQ.XNX=	B4	; TRANSMIT NONEX MEM
  1191		000040				DQ.RNX=	B5	; RECEIVE NONEX MEM
  1192		000100				DQ.BCC=	B6	; RECEIVE BCC ERROR
  1193		000200				DQ.VRC=	B7	; RECEIVE VRC ERROR
  1194					;		007400	; REG SELECT FOR REFERENCE TO XXXXX6
  1195		010000				DQ.MEM=	B12	; WRENABLE 060000
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-31
C11DTE.MAC    04-JAN-83 11:22			DQ11 - DMA SYNCHRONOUS LINE INTERFACE

  1196		000020				DQ.MBM=	020	; BYTE EQUIVALENT OF ABOVE
  1197					;		060000	; MEM EXT OR ENTER T/EXIT T
  1198					;		B15	; ERROR INTERRUPT
  1199					;
  1200					; SECONDARY REGISTERS ( ADR = XXXXX6 )
  1201					;
  1202		000000				RG.PRA=	0	; PRIMARY RECEIVE BA
  1203		000001				RG.PRC=	1	; PRIMARY RECEIVE CC
  1204		000002				RG.PTA=	2	; PRIMARY TRANSMIT BA
  1205		000003				RG.PTC=	3	; PRIMARY TRANSMIT CC
  1206		000004				RG.SRA=	4	; SECONDARY RECEIVE BA
  1207		000005				RG.SRC=	5	; SECONDARY RECEIVE CC
  1208		000006				RG.STA=	6	; SECONDARY TRANSMIT BA
  1209		000007				RG.STC=	7	; SECONDARY TRANSMIT CC
  1210					;;;;		10	; CHAR DET REG
  1211		000011				RG.SYN=	11	; SYNC REG
  1212		000012				RG.MSC=	12	; MISC REG
  1213		000040				DQ.MC=	B5	; MASTER CLEAR (SORT OF)
  1214					;;;;		13	; TRANSMIT BUF
  1215					;;;;		14	; SEQUENCE REGISTER
  1216					;;;;		15	; RECEIVE BCC
  1217					;;;;		16	; TRANSMIT BCC
  1218					;;;;		17	; RECEIVE/TRANSMIT POLYNOMIAL
  1219								;
  1220					.MACRO	DQREGS	REG,QQ
  1221					Z=	RG.'REG
  1222					.IIF EQ <Z&10>,Z=	Z+DQ.MBM
  1223						    .IF B,QQ
  1224						MOVB	#Z,5(DQ)	;SET TO ADDRESS SECONDARY REGISTER RG.'REG
  1225						    .IFF ;B <QQ>
  1226						MOVB	#Z,5QQ		;SET TO ADDRESS SECONDARY REGISTER RG.'REG
  1227						    .ENDC ;B <QQ>
  1228					.ENDM	DQREGS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-32
C11DTE.MAC    04-JAN-83 11:22			DQ11 - DMA SYNCHRONOUS LINE INTERFACE

  1230					;
  1231					;	THE SEVEN SWITCHES (PACKAGES) WILL BE LOCATED
  1232					;		ON BOARD #M7818 WITHIN THE DQ11 LOGIC BLOCK
  1233					;
  1234					;
  1235					;	PACKAGE #	SWITCH #'S	SWITCH SETTINGS ON RESPECTIVE PACKAGES
  1236					;
  1237					;	1		 8 - 1		ALL OFF
  1238					;
  1239					;	2		16 - 9		ALL OFF
  1240					;
  1241					;	3		24 - 17		ALL OFF
  1242					;
  1243					;	4		32 - 25	DAS78	 ON, ON,OFF, ON,OFF,OFF, ON,OFF
  1244					;					CHARACTER = 055 (ENQ)
  1245					;	4		32 - 25 DAS85	 ON, ON, ON, ON, ON,OFF, ON,OFF
  1246					;					CHARACTER = 005 (ENQ)
  1247					;
  1248					;	5		40 - 33	DAS78	 ON, ON,OFF,OFF,OFF, ON, ON, ON
  1249					;				DAS85	 ON,OFF,OFF,OFF,OFF, ON, ON, ON
  1250					;
  1251					;	6		48 - 41	DAS78	 ON, ON, ON, ON, ON, ON,OFF,OFF
  1252					;					CHARACTER = 03 (ETX)
  1253					;				DAS85	OFF, ON, ON,OFF, ON, ON,ON, ON
  1254					;					CHARACTER = 220 (DLE)
  1255					;
  1256					;	7		56 - 49	DAS78	 ON, ON, OFF, ON, ON,OFF,OFF, ON
  1257					;					CHARACTER = 46 (ETB)
  1258					;				DAS85	OFF, ON, ON, ON, ON, ON, ON,OFF
  1259					;					CHARACTER = 201 (SOH)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-33
C11DTE.MAC    04-JAN-83 11:22			DS11 - SYNCHRONOUS LINE INTERFACE

  1261					.SBTTL		DS11 - SYNCHRONOUS LINE INTERFACE
  1262					;
  1263					;HARDWARE ADDRESSES
  1264					;
  1265		175600			DS.AUX=	175600		;AUXILLARY REGISTER
  1266		175400			DS.DVA=	175400		;BEGINNING OF LINE DEVICE REGISTERS
  1267		000400			DS.VEC=	400		;FIRST DS11 VECTOR
  1268		000007			DS.LVL=	7		;PROCESSOR LEVEL OR DS11 INTERRUPTS
  1269					;
  1270					;BITS IN AUXILLARY REGISTER
  1271					;
  1272		100000			DS.AD3=B15		;ADAPTER 3 IS PRRSENT IF SET
  1273		040000			DS.AD2=B14		;ADAPTER 2 IS PRESENT IF SET
  1274		020000			DS.AD1=B13		;ADAPTER 1 IS PRESENT IF SET
  1275					;	B12		;NOT USED
  1276					;	B11		;NOT USED
  1277					;	B10		;NOT USED
  1278					;	B9		;PROGRAM VECTOR 9
  1279		000400			DS.IVA=B8		;PROGRAM VECTOR 8 - INTERRUPTS START AT 400
  1280					;	B7		;DIAG MODE
  1281					;	B6		;PROGRAM CLOCK ALLOW
  1282					;	B5		;NOT USED
  1283					;	B4		;DIAG BIT CNTR CLEAR
  1284					;	B3		;DIAG BIT COUNTER 4
  1285					;	B2		;DIAG BIT COUNTER 3
  1286					;	B1		;DIAG BIT COUNTER 2
  1287					;	B0		;DIAG BIT COUNTER 1
  1288					;
  1289					;
  1290					;OFFSETS OF REGISTERS FROM LINE BASE ADDRESS
  1291					;
  1292		000006			DS.XDR=6		;TRANSMIT DATA REGISTER
  1293		000004			DS.XST=4		;TRANSMIT STATUS REGISTER
  1294		000002			DS.RDR=2		;RECEIVE DATA REGISTER
  1295		000000			DS.RST=0		;RECEIVE STATUS REGISTER
  1296					;
  1297					;PRIORITY INTERRUPT LEVELS
  1298					;
  1299		000007			I.DSRD=7		;RECEIVE DATA INTERRUPT
  1300		000006			I.DSRS=6		;RECEIVE STATUS INTERRUPT
  1301		000007			I.DSXD=7		;A TRANSMIT DATA INTERRUPT
  1302		000006			I.DSXS=6		;A TRANSMIT STATUS INTERRUPT
  1303					;
  1304					;BITS IN XMIT STATUS REGISTER & RECEIVE REG.
  1305					;
  1306		000440			DS.DTR=000440		;BOTH XMT & RCV REG.
  1307		170000			DS.ZAP=170000		;CLEAR ALL OVERRUN FLAGS
  1308		000455			DS.XGO=DS.DTR+<<I.DSXD/2>*4>+1	;REQUEST TO SEND
  1309		006455			DS.RGO=B11!B10!DS.DTR!<<I.DSRD/2>*4>+1	;RECEIVE
  1310					;
  1311					;BITS IN TRANSMIT STATUS REGISTER
  1312					;
  1313					;	B15		; NOT USED
  1314					;	B14		; XMIT BIT OVERRUN
  1315					;	B13		; XMIT CHAR OVERRUN
  1316					;	B12		; CLEAR TO SEND FLAG
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-34
C11DTE.MAC    04-JAN-83 11:22			DS11 - SYNCHRONOUS LINE INTERFACE

  1317					;	B11		; NOT USED
  1318					;	B10		; NOT USED
  1319					;	B9		; CLEAR TO SEND
  1320					;	B8		; DATA TERM READY
  1321					;	B7		; XMIT CHAR DONE
  1322					;	B6		; DATA SET READY
  1323					;	B5		; CODE SIZE 2
  1324					;	B4		; CODE SIZE 1
  1325					;	B3		; PRIORITY REQUEST 2
  1326					;	B2		; PRIORITY REQUEST 1
  1327					;	B1		; IDLE
  1328					;	B0		; REQUEST TO SEND
  1329					;
  1330					;BITS IN RECEIVE STATUS REGISTER
  1331					;
  1332					;	B15		; RING FLAG
  1333					;	B14		; REC BIT OVERRUN
  1334					;	B13		; REC CHAR OVERRUN
  1335					;	B12		; LINE SIGNAL FLAG
  1336					;	B11		; SYN STATE 2
  1337					;	B10		; SYN STATE 1
  1338					;	B9		; LINE SIGNAL
  1339					;	B8		; DATA TERMINAL READY
  1340					;	B7		; REC CHAR DONE
  1341					;	B6		; DATA SET READY
  1342					;	B5		; CODE SIZE 2
  1343					;	B4		; CODE SIZE 1
  1344					;	B3		; PRIORITY REQUEST 2
  1345					;	B2		; PRIORITY REQUEST 1
  1346					;	B1		; RING ALLOW
  1347					;	B0		; RECEIVE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-35
C11DTE.MAC    04-JAN-83 11:22			DTE20 - DECSYSTEM 20(10)/PDP-11 INTERPROCESSOR INTERFACE

  1349					.SBTTL		DTE20 - DECSYSTEM 20(10)/PDP-11 INTERPROCESSOR INTERFACE
  1350					;
  1351		000000			DLYCNT	= 0		;DELAY COUNTER
  1352		100000				BUSA17	= B15		;UNIBUS ADDRESS BIT 17
  1353		040000				BUSA16	= B14		;UNIBUS ADDRESS BIT 16
  1354		037777				DLYMSK	= 37777		;DELAY COUNT FIELD
  1355		000002			DEXWD3	= 2		;DEPOSIT/EXAMINE WORD 3
  1356		000004			DEXWD2	= 4		;DEPOSIT/EXAMINE WORD 2
  1357		000006			DEXWD1	= 6		;DEPOSIT/EXAMINE WORD 1
  1358		000010			TENAD1	= 10		;KL-10 MEMORY ADDRESS 1
  1359		000012			TENAD2	= 12		;KL-10 MEMORY ADDRESS 2
  1360		000014			TO10BC	= 14		;TO -10 BYTE (WORD) COUNT
  1361		000016			TO11BC	= 16		;TO -11 BYTE (WORD) COUNT
  1362		100000				TO11IB	= B15		;INTERRUPT BOTH SIDES WHEN DONE
  1363		020000				TO11BM	= B13		;TO -11 BYTE MODE
  1364		007777				TO11CM	= 7777		;BYTE (WORD) COUNT
  1365		000020			TO10AD	= 20		;TO -10 ADDRESS
  1366		000022			TO11AD	= 22		;TO -11 ADDRESS
  1367		000024			TO10DT	= 24		;TO -10 DATA WORD
  1368		000026			TO11DT	= 26		;TO -11 DATA WORD
  1369		000030			DIAG1	= 30		;DIAGNOSTIC CONTROL REGISTER 1
  1370		000032			DIAG2	= 32		;DIAGNOSTIC CONTROL REGISTER 2
  1371		000100				DRESET	= B6		;(W) DTE20 RESET
  1372		000034			CSTAT	= 34		;CONTROL STATUS REGISTER
  1373		100000				TO10DN	= B15		;(R) TO -10 TRANSFER DONE
  1374		040000				DON10C	= B14		;(W) CLEAR TO -10 DONE
  1375		020000				TO10ER	= B13		;(R) TO -10 TRANSFER ERROR
  1376		010000				ERR10C	= B12		;(W) CLEAR TO -10 TRANSFER ERROR
  1377		004000				TO11DB	= B11		;(R) TO -11 DOORBELL
  1378		004000				INT11S	= TO11DB	;(W) REQUEST INTERRUPT
  1379		002000				INT11C	= B10		;(W) CLEAR TO -11 DOORBELL
  1380		001000				MPE11	= B9		;(R) -11 PARITY ERROR
  1381		000400				TO10DB	= B8		;(R/W) TO -10 DOORBELL
  1382		000200				TO11DN	= B7		;(R) TO -11 TRANSFER DONE
  1383		000100				DON11C	= B6		;(W) CLEAR TO -11 DONE
  1384		000040				INTRON	= B5		;(W) ENABLE FROM -10 INTERRUPTS
  1385		000020				BPARER	= B4		;(R) EBUS PARITY ERROR
  1386		000010				INTROF	= B3		;(W) DISABLE FROM -10 INTERRUPTS
  1387		000010				RM	= INTROF	;(R) RESTRICTED MODE
  1388		000004				DEXDON	= B2		;(R) DEPOSIT/EXAMINE DONE
  1389		000002				TO11ER	= B1		;(R) TO -11 TRANSFER ERROR
  1390		000002				ERR11S	= TO11ER	;(W) SET TO -11 ERROR
  1391		000001				ERR11C	= B0		;(W) CLEAR TO -11 TRANSFER ERROR
  1392		000001				INTSON	= ERR11C	;(R) INTERRUPTS ARE ENABLED
  1393		000036			DIAG3	= 36		;DIAGNOSTIC CONTROL REGISTER 3
  1394		000001				TO10BM	= B0		;(W) TO -10 BYTE MODE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-36
C11DTE.MAC    04-JAN-83 11:22			DU11 - SYNCHRONOUS LINE CONTROLLER

  1396					.SBTTL		DU11 - SYNCHRONOUS LINE CONTROLLER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-37
C11DTE.MAC    04-JAN-83 11:22			DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC

  1398					.SBTTL		DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC
  1399					;
  1400		000006			DUP.LVL	= 6
  1401					;
  1402					;;;;	DUPSTS = FLOATING
  1403					;
  1404		000000			DUPCRS = 0	;RECEIVER STATUS AND CONTROL REGISTER
  1405	000000'					NAMEBT	DUPRCS,0,<DUPDSA,DUPRNG,DUPCTS,DUPCAR,DUPACT,DUP2RC>
  1406	000000'					NAMEBT	,,<DUPDSR,DUPSSY,DUPRDN,DUPRIE,DUPDIE,DUPRCE>
  1407	000000'					NAMEBT	,,<DUP2TX,DUPRTS,DUPDTR,DUPDSB>
  1408									;
  1409		000000						.REPT	0
  1410							DUPDSA	- DATA SET CHANGE A	RO
  1411							DUPRNG	- RING INDICATOR	RO
  1412							DUPCTS	- CLEAR TO SEND		RO
  1413							DUPCAR	- CARRIER		RO
  1414							DUPACT	- ACTIVE		RM
  1415							DUP2RC	- SECONDARY RECEIVE DATA RO
  1416							DUPDSR	- DATA SET READY	RO
  1417							DUPSSY	- STRIP SYNCH		RW
  1418
  1419							DUPRDN	- RECEIVE DONE		RO
  1420							DUPRIE	- RECEIVER INTERRUPT ENABLE RW
  1421							DUPDIE	- DATA SET INTERRUPT ENABLE RW
  1422							DUPRCE	- RECEIVE ENABLE (CLEARS THE READ MOSTLY BITS) RW
  1423							DUP2TX	- SECONDARY TRANSMIT	RW
  1424							DUPRTS	- REQUEST TO SEND	RW
  1425							DUPDTR	- DATA TERMINAL READY	RW
  1426							DUPDSB	- DATA SET CHANGE B	RO
  1427								.ENDR
  1428		000002			DUPRDB = 2		;RECEIVE DATA BUFFER
  1429	000000'					NAMEBT	DUPRDB,0,<DUPRER,DUPROV,,DUPRCR,,DUPRAB,DUPREM,DUPRSM>
  1430		000377				DUPRDT	= 377			;RECEIVED DATA BUFFER
  1431		000000						.REPT	0
  1432							DUPRER	- RECEIVER ERROR	RO
  1433							DUPROV	- RECEIVER OVERRUN	RO
  1434								- RESERVED
  1435							DUPRCR	- RCRC ERROR+ZERO	RO
  1436								- RESERVED
  1437							DUPRAB	- RECEIVED ABORT	RW
  1438							DUPREM	- END OF REC'D MSG	RM
  1439							DUPRSM	- START OF REC'D MSG	RM
  1440								.ENDR
  1441		000002			DUPPSR = DUPRDB		;PARAMETER STATUS REGISTER
  1442	000000'					NAMEBT	DUPPSR,0,<DUPPDM,,,DUPP2M,,,DUPPIC,>
  1443		000377				DUPP2S	= 377		;SECONDARY STATION ADDRESS OR REC SYNCH REG
  1444		000000						.REPT	0
  1445							DUPPDM	- DEC MODE (BYTE MODE)		WO
  1446								- RESERVED
  1447								- RESERVED
  1448							DUPP2M	- SENCONDARY MODE SELECT	WO
  1449								- RESERVED
  1450								- RESERVED
  1451							DUPPIC	- INHIBIT CRC COMPUTATION	WO
  1452								.ENDR
  1453		000004			DUPTCS = 4		;TRANSMITTER STATUS REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-38
C11DTE.MAC    04-JAN-83 11:22			DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC

  1454	000000'					NAMEBT	DUPTCS,0,<DUPTDL,DUPTMT,DUPTMC,DUPTM1,DUPTM0>
  1455	000000'					NAMEBT	,,<DUPTMI,DUPTAC,DUPTRS,DUPTDN,DUPTIE,,DUPTSN,DUPTHD,,,>
  1456		000000						.REPT	0
  1457							DUPTDL	- TRANSMIT DATA LATE	RM
  1458							DUPTMT	- MAINTENANCE TRANSLATE	RO
  1459							DUPTMC	- MAINTENANCE CLOCK	RW
  1460							DUPTM1	- MAINTENANCE MODE SELECT RW
  1461							DUPTM0	- 
  1462							DUPTMI	- MAINTENANCE INPUT	RW
  1463							DUPTAC	- TRANSMITTER ACTIVE	RO
  1464							DUPTRS	- DEVICE RESET		WO
  1465							DUPTDN	- TRANSMIT DONE		RM
  1466							DUPTIE	- TRANSMITTER INTERRUPT ENABLE RW
  1467								- RESERVED
  1468							DUPTSN	- SEND			RW
  1469							DUPTHD	- HALF DUPLEX		RW
  1470								- RESERVED
  1471								- RESERVED
  1472								- RESERVED
  1473								.ENDR
  1474		000006			DUPTDB = 6		;TRANSMITTER DATA BUFFER
  1475	000000'						NAMEBT	DUPTDB,0,<,DUPXCI,,DUPXCO,DUPXMT,DUPXAB,DUPXEM,DUPXSM>
  1476		000377					DUPXDB	= 377		;TRANSMITTER DATA BUFFER BYTE
  1477		000000						.REPT	0
  1478								- RESERVED
  1479							DUPXCI	- MAINTENANCE CRC INPUT	RO
  1480								- RESERVED
  1481							DUPXCO	- MAINTENANCE CRC OUTPUT RO
  1482							DUPXMT	- MAINTENANCE TIMER	RO
  1483							DUPXAB	- TRANSMIT ABORT	RW
  1484							DUPXEM	- TRANSMIT END OF MSG	RW
  1485							DUPXSM	- TRANSMIT STRAT OF MSG	RW
  1486								.ENDR
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-39
C11DTE.MAC    04-JAN-83 11:22			DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER

  1488					.SBTTL		DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
  1489					;
  1490					; DZ11 CONTROL STATUS REGISTER (CSR) FLAGS
  1491					;
  1492		000020			DZ.CLR=	000020				;MASTER CLEAR
  1493		000040			DZ.SCN=	000040				;SCAN ENABLE (ENABLE RCV & XMT)
  1494		000100			DZ.RIE=	000100				;RECEIVE INTERUPT ENABLE
  1495		010000			DZ.SAE=	010000				;SILO ALARM ENABLE
  1496		040000			DZ.TIE=	040000				;TRANSMIT INTERUPT ENABLE
  1497		050140			DZ.INI=	DZ.SCN!DZ.RIE!DZ.TIE!DZ.SAE	;INITIAL VALUE FOR CSR
  1498					 
  1499					 
  1500					;
  1501					; DZ11 LINE PARAMETER REGISTER (LPR) FLAGS
  1502					;
  1503		010000			DZ.RCV=	010000				;RCV ON IN LPR
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-40
C11DTE.MAC    04-JAN-83 11:22			EIA PIN DEFINITIONS

  1505					.SBTTL		EIA PIN DEFINITIONS
  1506					;
  1507					;	1	PROTECTIVE GROUND
  1508					;	2	TRANSMITTED DATA
  1509					;	3	RECEIVED DATA
  1510					;	4	REQUEST TO SEND
  1511					;	5	CLEAR TO SEND
  1512					;	6	DATA SET READY
  1513					;	7	SIGNAL GROUND
  1514					;	8	RECEIVED LINE SIGNAL DECTECTOR
  1515					;	9	*
  1516					;	10	*
  1517					;	11	*
  1518					;	12	*
  1519					;	13	*
  1520					;	14	*
  1521					;	15	*
  1522					;	16	*
  1523					;	17	RECEIVED SIGNAL ELEMENT TIMING
  1524					;	18	*
  1525					;	19	*
  1526					;	20	DATA TERMINAL READY
  1527					;	21	SIGNAL QUALITY DETECTOR
  1528					;	22	RING INDICATOR
  1529					;	23	*
  1530					;	24	TRANSMIT SIGNAL ELEMENT TIMING
  1531					;	25	*
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-41
C11DTE.MAC    04-JAN-83 11:22			KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR

  1533					.SBTTL		KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR
  1534					;
  1535		170700			KG.STS = 170700
  1536		000200				KG.DNE=200	;CALCULATION DONE
  1537		000100				KG.SEN=100	;NOT SINGLE CYCLE
  1538		000040				KG.STP=040	;STEP
  1539		000020				KG.CLR=020	;CLEAR
  1540		000010				KG.DDB=010	;WORD MODE
  1541						;	007	;TYPE OF CALCULATION
  1542		000001				KG.CRC=001	; 1 = CRC-16
  1543		000003				KG.LRC=003	; 3 = LRC-16
  1544		000005				KG.CCI=005	; 5 = CRC-CCITT
  1545		000121			KG.INI=	KG.SEN!KG.CLR!KG.CRC
  1546		000002			KGBCC = 2
  1547		000004			KGDATA = 4
  1548					;
  1549					.MACRO	KGLOAD	X,MODE
  1550						Z=101
  1551						    .IF NB MODE
  1552						.IIF IDN <MODE>,<WORD>,Z=Z!KG.DDB	;SET WORD MODE
  1553						.IIF IDN <MODE>,<BYTE>,Z=Z&<^CKG.DDB>
  1554						    .ENDC;.IF NB MODE
  1555						    .IF IDN <#0>,<X>
  1556						Z=Z!KG.CLR
  1557						    .IFF
  1558						MOV	#133,(R4)		;CLEAN OUT KG11
  1559						MOV	X,KGDATA(R4)		;LOAD WITH DATA  ( X )
  1560						    .ENDC ;IDN <#0>,<X>
  1561						MOV	#Z,(R4)		;AND SET CRC MODE
  1562					.ENDM	KGLOAD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-42
C11DTE.MAC    04-JAN-83 11:22			KT11 - MEMORY MANAGEMENT MODULE

  1564					.SBTTL		KT11 - MEMORY MANAGEMENT MODULE
  1565					;
  1566					.MACRO	MMNAM1	MODE,TYPE,SPACE,NUMB
  1567						MODE'SPACE'S'TYPE'R'NUMB	= $MMADR
  1568						$MMADR	= $MMADR + 2
  1569					.ENDM	MMNAM1
  1570					;
  1571					.MACRO	MMNAM2	MODE,BASE
  1572						$MMADR	= BASE
  1573						.IRPC	TYPE,<DA>
  1574						  .IRPC	SPACE,<ID>
  1575						    $$ = 0
  1576						    .REPT 8.
  1577						      MMNAM1	MODE,TYPE,SPACE,\$$
  1578						      $$ = $$ + 1
  1579						    .ENDR ;8.
  1580						  .ENDR	;SPACE
  1581						.ENDR	;TYPE
  1582					.ENDM	MMNAM2
  1583					;
  1584					;
  1585					;
  1586					; MEMORY MANAGEMENT STATUS REGISTER BLOCK
  1587					;	ASTERISK (*) DENOTES THE 11/34 MEMORY MANAGEMENT SUBSET
  1588					;
  1589		177572				MMGSR0	= 177572	;MEM MGT STATUS REGISTER	*
  1590	000000'					NAMEBT	MMGSR0,0,<MG.ANR,MG.APL,MG.ARO,MG.TMM,,>
  1591	000000'					NAMEBT	,,<MG.EMT,MG.MNT,MG.IDN,MG.MD1,MG.MD0>
  1592	000000'					NAMEBT	,,<MG.DAD,MG.PG2,MG.PG1,MG.PG0,MG.ENB>
  1593		000000					.REPT	0
  1594							MG.ANR - ABORT, NON-RESIDENT		*
  1595							MG.APL - ABORT, PAGE LENGTH		*
  1596							MG.ARO - ABORT, READ ONLY		*
  1597							MG.TMM - ABORT, TRAP ON MEM MGT
  1598							MG.XXX - UNUSED
  1599							MG.XXX - UNUSED
  1600							MG.EMT - ENABLE MEM MGT TRAP
  1601							MG.MNT - MAINTENANCE MODE		*
  1602							MG.IDN - INSTRUCTION DONE
  1603							MG.MD1 - MODE, BIT 1			*
  1604							MG.MD0 - MODE, BIT 0			*
  1605							MG.DAD - D ADDRESS SPACE SELECTED
  1606							MG.PG2 - PAGE SELECTED, BIT 2		*
  1607							MG.PG1 - PAGE SELECTED, BIT 1		*
  1608							MG.PG0 - PAGE SELECTED, BIT 0		*
  1609							MG.ENB - ENABLE MEM MGT			*
  1610							.ENDR ;TEXT
  1611									;
  1612		177574				MMGSR1	= 177574	;GPR MODIFICATION RECORD
  1613									;
  1614		177576				MMGSR2	= 177576	;VIRTUAL ADDRESS REGISTER	*
  1615									;
  1616		172516				MMGSR3	= 172516	;
  1617	000000'					NAMEBT	MMGSR3,4,<MG.KDS,MG.SDS,MG.UDS>
  1618									;
  1619					;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-43
C11DTE.MAC    04-JAN-83 11:22			KT11 - MEMORY MANAGEMENT MODULE

  1620					; DEFINE NAMES FOR THE PAGE ADDRESS AND DESCRIPTOR REGISTERS
  1621					;
  1622	000000'					MMNAM2	U,177600	;USER MODE MEM MGT		*
  1623					;;;;	MMNAM2	S,172200	;SUPERVISOR MODE MEM MGT (NOT FOR 11/34)
  1624	000000'					MMNAM2	K,172300	;KERNEL MODE MEM MGT		*
  1625					;
  1626					; PAGE DESCRIPTOR REGISTER FIELD DEFINITIONS
  1627					;
  1628	000000'					NAMEBT	PDR,0,<,PD.PL6,PD.PL5,PD.PL4,PD.PL3,PD.PL2,PD.PL1,PD.PL0>
  1629	000000'					NAMEBT	,,<PD.A,PD.W,,,PD.ED,PD.AC2,PD.AC1,PD.AC0>
  1630	000000'					FIELD	PD.PLF,PD.PL6,PD.PL0
  1631	000000'					FIELD	PD.ACF,PD.AC2,PD.AC0
  1632					;
  1633					; VIRTUAL ADDRESS DEFINITIONS
  1634					;
  1635		000100				BSFACT	= 100	;BIAS FACTOR, NUMBER OF BYTES PER BLOCK
  1636						.IRP	X,<0,1,2,3,4,5,6,7>
  1637						PAGE'X	= X*20000	;BASE ADDRESS REACHED THROUGH APR'X
  1638						PAGE'X'B	= X*200	;MAPPING BIAS FOR VIRTUAL=PHYSICAL
  1639						.ENDR	;IRP X
  1640		007600				PAGE7B	= 7600	;PAGE 7 BIAS (I/O PAGE) HAS A SPECIAL VALUE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-44
C11DTE.MAC    04-JAN-83 11:22			KW11 - LINE TIME CLOCK

  1642					.SBTTL		KW11 - LINE TIME CLOCK
  1643					;
  1644					;KW11 LINE FREQUENCY CLOCK DEFINITIONS
  1645					;
  1646		   001			.IF DF FT.87S
  1647					CLKLVL=	6		; DN87 USES STANDARD PRIORITY LEVEL
  1648					.IFF
  1649		000004			CLKLVL=	4		; CLOCK INTERRUPT PRIORITY LEVEL
  1650		   000			.ENDC
  1651		000100			CLKVEC=	100		; CLOCK VECTOR
  1652					;
  1653		177546			CLKWRD = 177546		; CLOCK STATUS WORD
  1654					;
  1655		000100				KW.INE=B6	; ENABLE INTERRUPTS
  1656		000100				CLKENB=B6	; ENABLE INTERRUPTS
  1657		000200				KW.TIC=B7	; CLOCK MONITOR TOGGLE (CLEARED BY PROGRAM)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-45
C11DTE.MAC    04-JAN-83 11:22			LP11 - LINE PRINTER CONTROLLER

  1659					.SBTTL		LP11 - LINE PRINTER CONTROLLER
  1660					;
  1661		000004			LE.LVL=	4		; PROCESSOR LEVEL FOR LP11 INTERRUPTS
  1662		000200			LE.VEC=	200		; VECTOR LOCATION
  1663					;
  1664		177514			LE0STS = 177514	;STATUS REGISTER FOR 1ST LP11
  1665		177514				LE.STS=LE0STS
  1666					;
  1667		100000				LE.ERR=	B15	; ERROR BIT(POWER OFF, NO PAPER, GATE, TEMP, OFFLINE)
  1668		000200				LE.DNE=	B7	; READY FOR NEXT CHARACTER
  1669		000100				LE.INE=	B6	; INTERRUPT ENABLE
  1670					;
  1671		177516			LE0DAT = 177516	;DATA REGISTER
  1672		177516				LE.DAT=LE0DAT
  1673					;
  1674					;
  1675					;FOR THE SECOND LP11
  1676		177520			LE1STS = 177520
  1677		177522			LE1DAT = 177522
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-46
C11DTE.MAC    04-JAN-83 11:22			LP20 - LINEPRINTER CONTROLLER

  1679					.SBTTL		LP20 - LINEPRINTER CONTROLLER
  1680					;
  1681					; LP20 HARDWARE DEVICE REGISTER DEFINITIONS
  1682					;
  1683		000004			LP.LVL	= 4		;BUS REQUEST PRIORITY
  1684		000754			LP.VEC	= 754		;FIRST LP VECTOR
  1685								;
  1686		175400			LP0STS	= 175400	;LP20 UNIT 0 FIRST REGISTER BLOCK
  1687								;
  1688		000000			LPCSRA=0		;CONTROL AND STATUS REGISTER A
  1689	000000'					NAMEBT	LPCSRA,0,<LP.ERR,LP.PGZ,LP.CHI,LP.VFR,LP.ONL,LP.DH>
  1690	000000'					NAMEBT	,,<LP.RSE,LP.LOI,LP.DNE,LP.IE,LP.B17,LP.B16>
  1691	000000'					NAMEBT	,,<LP.MD1,LP.MD0,LP.PEN,LP.GO>
  1692		000000						.REPT	0
  1693							LP.ERR=	ERROR (R)
  1694							LP.PGZ=	PAGE ZERO (R)
  1695							LP.CHI=	UNDEFINED CHAR TRAPPED (R)
  1696							LP.VFR=	VERT FORMAT UNIT READY (R)
  1697							LP.ONL=	ONLINE (R)
  1698							LP.DH=	DELIMITER HOLD (R-W)
  1699							LP.RSE=	RESET ERRORS (W)
  1700							LP.LOI=	LOCAL INITIALIZE (W)
  1701
  1702							LP.DNE=	DONE (R)
  1703							LP.IE=	INTERRUPT ENABLE (R-W)
  1704							LP.B17=	HIGH ORDER BUS ADDRESS BITS (R-W)
  1705							LP.B16=		"
  1706							LP.MD1=	OPERATION MODE BITS (R-W)
  1707							LP.MD0=		"
  1708							LP.PEN=	PARITY CHECK INTERRUPT ENABLE (R-W)
  1709							LP.GO=	START COMMAND (R-W)
  1710								.ENDR
  1711									;
  1712		000004						TSTMOD=	LP.MD0 * 1	;TEST MODE
  1713		000010						VFULOD=	LP.MD0 * 2	;VFU LOAD MODE
  1714		000014						RAMLOD=	LP.MD0 * 3	;LOAD TRANSLATION RAM
  1715		000014						LP.MDS=	LP.MD0 ! LP.MD1	;MODE BIT MASK
  1716		000060						LP.XAD=	LP.B17!LP.B16	;HIGH ORDER BUSADD BITS
  1717		000103						ENBGO=	LP.PEN!LP.IE!LP.GO ;ENABLES AND GO
  1718									;
  1719		000002			LPCSRB=2			;CONTROL AND STATUS REGISTER B
  1720	000000'					NAMEBT	LPCRSA,0,<LP.DV,LP.180,LP.NRD,LP.PAR>
  1721	000000'					NAMEBT	,,<LP.OPT,LP.TS2,LP.TS1,LP.TS0,LP.OFL,LP.VFE>
  1722	000000'					NAMEBT	,,<LP.PER,LP.MPE,LP.RPE,LP.SYN,LP.DEM,LP.GOE>
  1723									;
  1724		000000						.REPT	0
  1725							LP.DV=	VALID DATA (R)
  1726							LP.180=	PRINTER IS AN LA180 (R)
  1727							LP.NRD=	LINE PRINTER NOT READY (R)
  1728							LP.PAR=	LINE PRINTER PARITY (R)
  1729							LP.OPT=	PRINTER HAS OPTICAL VFU (R)
  1730							LP.TS2=	TEST MODE BITS (R-W)
  1731							LP.TS1=		"
  1732							LP.TS0=		"
  1733
  1734							LP.OFL=	DEVICE NOT READY (R)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-47
C11DTE.MAC    04-JAN-83 11:22			LP20 - LINEPRINTER CONTROLLER

  1735							LP.VFE=	CHANNEL TYPE ERROR (R)
  1736							LP.PER=	VARIOUS PARITY ERRORS (R)
  1737							LP.MPE=		"
  1738							LP.RPE=		"
  1739							LP.SYN=	SYNCH TIMEOUT (DATA LATE) (R)
  1740							LP.DEM=	DEMAND TIMEOUT (PRINTER HANG) (R)
  1741							LP.GOE=	GO ERROR (R-W)
  1742								.ENDR
  1743									;
  1744		000004			LPBSAD=4			;BUS ADDRESS REGISTER (R-W)
  1745									;
  1746		000006			LPBCTR=6			;BYTE COUNT (2'S COMPLEMENT)
  1747							; BITS	15-12	NOT USED
  1748							;	11-0	BYTE COUNT (R-W)
  1749							;
  1750		000010			LPPCTR=10			;PAGE COUNTER
  1751							; BITS	15-12	NOT USED
  1752							;	11-0	PAGE COUNT (R-W)
  1753							;
  1754		000012			LPRAMD=12			;RAM DATA REGISTER
  1755	000000'					NAMEBT	LPRAMD,0,<,,,LP.RP,LP.RIN,LP.RDL,LP.RTR,LP.RPI>
  1756		007777					RAMDAT = LP.RP - 1	;MASK FOR WRITABLE RAM BITS
  1757		000020					SLEW = 20	;"SLEW" FLAG FOR VFU
  1758							; BITS	15-13	NOT USED
  1759							;	12	RAM PARITY (R)
  1760							;	11-0	RAM DATA (R-W)
  1761							;
  1762		000014			LPCBUF=14			;(BYTE) CHARACTER BUFFER REGISTER (R-W)
  1763		000015			LPCCTR=15			;(BYTE) COLUMN COUNT REGISTER (R-W)
  1764									;
  1765		000016			LPTDAT=16			;(BYTE) PRINTER DATA REGISTER (R)
  1766		000017			LPCKSM=17			;(BYTE) CHECKSUM REGISTER (R)
  1767									;
  1768		000020			LPRBSZ=20			;SIZE OF HARDWARE REGISTER BLOCK
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-48
C11DTE.MAC    04-JAN-83 11:22			MM11-LP PARITY MEMORY

  1770					.SBTTL		MM11-LP PARITY MEMORY
  1771					;
  1772		000114				MP.VEC=114
  1773		000007				MP.LVL=7
  1774					;
  1775		172100			MP.REG=172100		;ADR OF PARITY REGISTER
  1776					;
  1777		100000				MP.ERR=100000	;ERROR BIT
  1778								; BITS 11-5 ERROR ADDRESS
  1779		000004				MP.WWP=000004	;WRITE WRONG PARITY
  1780		000001				MP.ENB=000001	;ENABLE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-49
C11DTE.MAC    04-JAN-83 11:22			PA611 - TYPESET READER/PUNCH

  1782					.SBTTL		PA611 - TYPESET READER/PUNCH
  1783					;
  1784		000007			P6.LVL=	7		; PROCESSOR LEVEL FOR PA611P INTERRUPTS
  1785					;
  1786		000007			R6.LVL=	7		; PROCESSOR LEVEL FOR PA611R INTERRUPTS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-50
C11DTE.MAC    04-JAN-83 11:22			PC11 - PAPER TAPE READER/PUNCH INTERFACE

  1788					.SBTTL		PC11 - PAPER TAPE READER/PUNCH INTERFACE
  1789					;
  1790		000004			PR.LVL=	4		; PROCESSOR LEVEL FOR PC11 READER INTERRUPTS
  1791		000070			PR.VEC=	70		; VECTOR FOR PC11 READER
  1792		000004			PP.LVL=	4		; PROCESSOR LEVEL FOR PC11 PUNCH INTERRUPTS
  1793		000074			PP.VEC=	74		; VECTOR FOR PC11 PUNCH
  1794					;
  1795		177554			PP0STS = 177554	;STATUS REGISTER FOR 1ST PC11 PUNCH
  1796		177554			PP.STS=	177554		; PUNCH STATUS REGISTER
  1797					;
  1798		100000				PP.ERR=	B15	; ERROR BIT (NO TAPE OR NO POWER)
  1799		000200				PP.RDY=	B7	; SET WHEN RREADY TO PUNCH A CHARACTER
  1800		000100				PP.INE=	B6	; INTERRUPT ENABLE
  1801					;
  1802		177556			PP.DAT=	177556		; PUNCH BUFFER REGISTER
  1803					;
  1804		177550			PR0STS = 177550		;STATUS REGISTER FOR 1ST PC11 READER
  1805		177550			PR.STS=	177550		; READER STATUS REGISTER
  1806					;
  1807		100000				PR.ERR=	B15	; ERROR BIT (NO TAPE, NO POWER, OR OFF-LINE)
  1808		004000				PR.BSY=	B11	; SET WHEN A CHARACTER IS BEING READ
  1809		000200				PR.DNE=	B7	; CHARACTER IS AVAILABLE IN THE READER BUFFER
  1810		000100				PR.INE=	B6	; INTERRUPT ENABLE
  1811		000001				PR..RE=	B0	; READER ENABLE
  1812					;
  1813		177552			PR.DAT=	177552		; READER BUFFER REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-51
C11DTE.MAC    04-JAN-83 11:22			TC11 - DECTAPE CONTROLLER

  1815					.SBTTL		TC11 - DECTAPE CONTROLLER
  1816					;
  1817		000214			TC.VEC=	214			; TC11 INTERRUPT VECTOR ADDRESS
  1818					;
  1819		000006			TC.LVL=	6			; TC11 PRIORITY LEVEL
  1820					;
  1821		177340			TC.STS=	177340			; TC11 CONTROL AND STATUS REGISTER
  1822					;
  1823		100000				TC..EZ=	B15		; END ZONE
  1824		040000				TC.PAR=	B14		; PARITY ERROR
  1825		020000				TC.MTE=	B13		; MARK TRACK ERROR
  1826		010000				TC.ILO=	B12		; ILLEGAL OPERATION
  1827		004000				TC..SE=	B11		; SELECTION ERROR
  1828		002000				TC..BM=	B10		; BLOCK MISSED
  1829		001000				TC..DM=	B9		; DATA MISSED
  1830		000400				TC.NXM=	B8		; NON-EX MEM
  1831		000200				TC.UPS=	B7		; TAPE IS UP TO SPEED
  1832		000100				TC.CLK=	B6		; USED TO SIMULATE TIMING TRACK
  1833		000040				TC.MMT=	B5		; MAINT MARK TRACK
  1834		000020				TC.DT0=	B4		; DATA TRACK 0
  1835		000010				TC.DT1=	B3		; DATA TRACK 1
  1836		000004				TC.DT2=	B2		; DATA TRACK 2
  1837		000002				TC.D17=	B1		; EXTENDED DATA 17
  1838		000001				TC.D16=	B0		; EXTENDED DATA 16
  1839					;
  1840		177342			TC.CMD=	177342			; TC11 COMMAND REGISTER
  1841					;
  1842		100000				TC.ERR=	B15		; ERROR
  1843		020000				TC..MM=	B13		; MAINT MODE
  1844		010000				TC..DI=	B12		; DELAY INHIBIT
  1845		004000				TC.REV=	B11		; SET = REVERSE MOTION; CLEAR = FORWARD MOTION
  1846		000000				TC.US0=	0		; SELECT UNIT 0
  1847		000400				TC.US1=	B8		; SELECT UNIT 1
  1848		001000				TC.US2=	B9		; SELECT UNIT 2
  1849		001400				TC.US3=	B9!B8		; SELECT UNIT 3
  1850		002000				TC.US4=	B10		; SELECT UNIT 4
  1851		002400				TC.US5=	B10!B8		; SELECT UNIT 5
  1852		003000				TC.US6=	B10!B9		; SELECT UNIT 6
  1853		003400				TC.US7=	B10!B9!B8	; SELECT UNIT 7
  1854		000200				TC.RDY=	B7		; READY
  1855		000100				TC.INE=	B6		; INTERRUPT ENABLE
  1856		000040				TC.A17=	B5		; EXTENDED MEM BIT BA17
  1857		000020				TC.A16=	B4		; EXTENDED MEM BIT BA16
  1858		000000				TC.SAT=	0		; STOP ALL TAPE MOTION
  1859		000002				TC.RMT=	B1		; FINDS MARK TRACK CODE
  1860		000004				TC..RD=	B2		; READ
  1861		000006				TC.RDA=	B2!B1		; READ ALL
  1862		000010				TC.SST=	B3		; STOP ALL TAPE MOTION IN SEL'D TRANSPORT ONLY
  1863		000012				TC.WTM=	B3!B1		; WRITE TIMING AND MARK TRACK
  1864		000014				TC..WR=	B3!B2		; WRITE
  1865		000016				TC.WRA=	B3!B2!B1	; WRITE ALL
  1866					;
  1867		177344			TC.WCR=	177344			; TC11 WORD COUNT REGISTER
  1868					;
  1869		177346			TC.BAR=	177346			; TC11 BUS ADDRESS REGISTER
  1870					;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-52
C11DTE.MAC    04-JAN-83 11:22			TC11 - DECTAPE CONTROLLER

  1871		177350			TC.DAT=	177350			; TC11 DATA REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-53
C11DTE.MAC    04-JAN-83 11:22			TM11 - MAGNETIC TAPE CONTROLLER

  1873					.SBTTL		TM11 - MAGNETIC TAPE CONTROLLER
  1874					;
  1875		000224			TM.VEC=	224			; TM11 VECTOR ADDRESS
  1876					;
  1877		000005			TM.LVL=	5			; TM11 PRIORITY LEVEL
  1878					;
  1879		172520			TM.STS=	172520			; STATUS REGISTER
  1880					;
  1881		100000				TM..IC=	B15		; ILLEGAL COMMAND
  1882		040000				TM.EOF=	B14		; END OF FILE
  1883		020000				TM.CRE=	B13		; CYCLICAL REDUNDANCY
  1884		010000				TM.PAE=	B12		; PARITY ERROR
  1885		004000				TM.BGL=	B11		; BUS GRANT LATE
  1886		002000				TM.EOT=	B10		; END OF TAPE
  1887		001000				TM.RLE=	B9		; RECORD LENGTH ERROR
  1888		000400				TM.BTE=	B8		; BAD TAPE ERROR
  1889		000200				TM.NXM=	B7		; NON-EXISTENT MEMORY
  1890		000100				TM.SLR=	B6		; SELECT REMOTE
  1891		000040				TM.BOT=	B5		; BEGINNING OF TAPE
  1892		000020				TM.7CH=	B4		; SEVEN CHANNEL
  1893		000010				TM.TSD=	B3		; TAPE SETTLE DOWN
  1894		000004				TM.WRL=	B2		; WRITE LOCK
  1895		000002				TM.RWS=	B1		; REWIND STATUS
  1896		000001				TM.TUR=	B0		; TAPE UNIT READY
  1897					;
  1898		172522			TM.MTC=	172522			; COMMAND REGISTER
  1899					;
  1900		100000				TM.ERR=	B15		; ERROR
  1901		000000				TM.D72=	0		; 200 BPI 7 CHANNEL
  1902		020000				TM.D75=	B13		; 556 BPI 7 CHANNEL
  1903		040000				TM.D78=	B14		; 800 PBI 7 CHANNEL
  1904		060000				TM.D98=	B14!B13		; 800 BPI 9 CHANNEL
  1905		010000				TM..PC=	B12		; POWER CLEAR
  1906		004000				TM..LP=	B11		; LATERAL PARITY
  1907		003400				TM..US=	B10!B9!B8	; UNIT SELECT FIELD
  1908		000000				TM.US0=	0		; SELECT UNIT 0
  1909		000400				TM.US1=	B8		; SELECT UNIT 1
  1910		001000				TM.US2=	B9		; SELECT UNIT 2
  1911		001400				TM.US3=	B8!B9		; SELECT UNIT 3
  1912		002000				TM.US4= B10		; SELECT UNIT 4
  1913		002400				TM.US5=	B10!B8		; SELECT UNIT 5
  1914		003000				TM.US6=	B10!B9		; SELECT UNIT 6
  1915		003400				TM.US7=	B10!B9!B8	; SELECT UNIT 7
  1916		000200				TM.CUR=	B7		; CU READY
  1917		000100				TM.INE=	B6		; INTERRUPT ENABLE
  1918		000040				TM.A17=	B5		; EXTENDED MEM BIT BA17
  1919		000020				TM.A16=	B4		; EXTENDED MEM BIT BA16
  1920		000000				TM.OFL=	0		; OFF-LINE
  1921		000002				TM..RD=	B1		; READ
  1922		000004				TM..WR=	B2		; WRITE
  1923		000006				TM.WEF=	B1!B2		; WRITE EOF
  1924		000010				TM..SF=	B3		; SPACE FORWARD
  1925		000012				TM..SR=	B3!B1		; SPACE REVERSE
  1926		000014				TM.WEG=	B3!B2		; WRITE WITH EXTENDED GAP
  1927		000016				TM.REW=	B3!B2!B1	; REWIND
  1928		000001				TM..GO=	B0		; GO
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-54
C11DTE.MAC    04-JAN-83 11:22			TM11 - MAGNETIC TAPE CONTROLLER

  1929					;
  1930		172524			TM.BCR=	172524			; BYTE COUNT REGISTER
  1931					;
  1932		172526			TM.BAR=	172526			; BYTE ADDRESS REGISTER
  1933					;
  1934		172530			TM.DAT=	172530			; DATA BUFFER
  1935					;
  1936		172532			TM.RDL=	172532			; TU 10 READ LINES
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-55
C11DTE.MAC    04-JAN-83 11:22		END OF DEVICE DEFINITIONS

  1938					.SBTTL	END OF DEVICE DEFINITIONS
  1939					;
  1940					; HERE AGAIN RESIDE THE HIDDEN DEBUGGING AND OTHER SPECIAL MACROS
  1941					;    WHICH ARE HIDDEN IN THE INTEREST OF SAVING ASSEMBLY TIME RESOURCES
  1942					;    AND LARGE AMOUNTS OF PAPER IN LISTING
  2991						.SBTTL MODULE END
  2992						.SBTTL
  2993					;****************************************************************
  2994					;
  2995					;	END OF S - SYMBOL AND MACRO DEFINITION SECTION
  2996					;
  2997					;****************************************************************
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 1-56
C11DTE.MAC    04-JAN-83 11:22

  2999					;	.ENABLE ABS
  3000		000000			T$$RLD=	0		;*** ASSEMBLE TERTIARY LOADER ***
  3001						.IIF NDF S$$CLD!T$$RLD .TITLE DTEMOP -- DTE20 MOP MODE BOOTSTRAP
  3002						.IIF DF S$$CLD .TITLE DTEMPS -- DTE20 MOP SECONDARY BOOTSTRAP
  3003						.IIF DF T$$RLD .TITLE DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP
  3004						.SBTTL	TITLE PAGE
  3005					;
  3006					;
  3007					; COPYRIGHT (C) 1977,1978 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MA 01754
  3008					;
  3009					;
  3010					;	MODULE:	CHECK11
  3011					;
  3012					;	DATE:	14-NOV-78
  3013					;
  3014					;	AUTHOR:	TOM PORCHER
  3015					;		TOM POWERS
  3016					;		LEE WEBBER
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 2
C11DTE.MAC    04-JAN-83 11:22		TITLE PAGE

  3018
  3019						.SBTTL	MACROS AND DEFINITIONS
  3020					;
  3021					; PARAMETERS (DEFINED IN PARAMETER MODULE)
  3022					;
  3023					;	S$$CLD=	0		;SECONDARY LOADER (FOR TERTIARY) IF DEFINED
  3024					;	T$$RLD=	0		;TERTIARY LOADER IF DEFINED
  3025					;
  3026					; PARAMETERS
  3027					;
  3028					;**	D$$BUG=	0		;DEBUG VERSION IF DEFINED
  3029		000000				E$$CHK=	0		;ERROR CHECKING IF DEFINED
  3030					;**	D$$CHK=	0		;DTE-20 CONSISTENCY CHECKING IF DEFINED
  3031		000000				M$$CHK=	0		;MEMORY LIMIT CHECKING IF DEFINED
  3032		000000				L$$DPR=	0		;ALLOW LOAD PARAMETERS IF DEFINED
  3033		   001			.IF DF T$$RLD
  3034		002000				M$$XSZ=	1024.		;MAX SIZE IS 1K BYTES (0.5K WORDS)
  3035		000000				M$$MGE=	0		;MEMORY MANAGEMENT IF DEFINED
  3036		000000				T$$32K=	0		;ALLOW DTE20 TRANSFERS OVER 32K BOUNDARIES IF DEFINED
  3037					.IFF
  3038						M$$XSZ=	512.		;MAX SIZE IF PROGRAM IS 512. BYTES (256. WORDS)
  3039		   000			.ENDC
  3040					;
  3041					;
  3042					; MISC. MCALLS
  3043					;
  3044						.MACRO	CALL,A
  3045						JSR	PC,A		;CALL A
  3046						.ENDM
  3047
  3048						.MACRO	RETURN
  3049						RTS	PC
  3050						.ENDM
  3051
  3052					;
  3053					; MACROS
  3054					;
  3055					.MACRO DEBUG,OP,MSG,ALTOP
  3056					.IF DF D$$BUG
  3057						 OP			;MSG
  3058					.IF NDF PASS2
  3059					.PRINT .-MOP ;MSG
  3060					.ENDC
  3061					.IFF
  3062						 ALTOP
  3063					.ENDC
  3064					.ENDM DEBUG
  3065					;
  3066					.MACRO ERR,CND,MSG,WHERE,?LABEL
  3067					.IF DF D$$BUG
  3068						 .IIF IDN <CND>,<R>,
  3069						 .IIF IDN <CND>,<NE>,BEQ LABEL
  3070						 .IIF IDN <CND>,<EQ>,BNE LABEL
  3071						 .IIF IDN <CND>,<PL>,BMI LABEL
  3072						 .IIF IDN <CND>,<MI>,BPL LABEL
  3073						 .IIF IDN <CND>,<VC>,BVS LABEL
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 2-1
C11DTE.MAC    04-JAN-83 11:22		MACROS AND DEFINITIONS

  3074						 .IIF IDN <CND>,<VS>,BVC LABEL
  3075						 .IIF IDN <CND>,<CC>,BCS LABEL
  3076						 .IIF IDN <CND>,<CS>,BCC LABEL
  3077						 .IIF IDN <CND>,<GE>,BLT LABEL
  3078						 .IIF IDN <CND>,<LT>,BGE LABEL
  3079						 .IIF IDN <CND>,<GT>,BLE LABEL
  3080						 .IIF IDN <CND>,<LE>,BGT LABEL
  3081						 .IIF IDN <CND>,<HI>,BLOS LABEL
  3082						 .IIF IDN <CND>,<LOS>,BHI LABEL
  3083						 .IIF IDN <CND>,<HIS>,BLO LABEL
  3084						 .IIF IDN <CND>,<LO>,BHIS LABEL
  3085					.IFTF
  3086						DEBUG HALT,<ERROR: "MSG">,<B'CND	WHERE'MOPERR>
  3087					.IFT
  3088					LABEL:
  3089					.ENDC
  3090					.ENDM ERR
  3091					;
  3092					.MACRO FIT,BASE,SIZE,STUFF
  3093					.IF DF SIZE&PASS2
  3094					.IF G <<.-BASE>-SIZE>
  3095					 .ERROR <<.-BASE>-SIZE> ; TOO MUCH STUFF
  3096					.IFF
  3097					 .PRINT <SIZE-<.-BASE>> ; FREE FOR STUFF
  3098					.ENDC
  3099					.ENDC
  3100					.ENDM FIT
  3101					;
  3102					;
  3103					; GENERAL BIT DEFINITIONS
  3104					;
  3105		000001			BIT0=	000001
  3106		000002			BIT1=	000002
  3107		000004			BIT2=	000004
  3108		000010			BIT3=	000010
  3109		000020			BIT4=	000020
  3110		000040			BIT5=	000040
  3111		000100			BIT6=	000100
  3112		000200			BIT7=	000200
  3113		000400			BIT8=	000400
  3114		001000			BIT9=	001000
  3115		002000			BIT10=	002000
  3116		004000			BIT11=	004000
  3117		010000			BIT12=	010000
  3118		020000			BIT13=	020000
  3119		040000			BIT14=	040000
  3120		100000			BIT15=	100000
  3121					;
  3122					;
  3123					; MOP DEFINITIONS
  3124					;
  3125		000000			M.PMLT=	0.			;MEMORY LOAD WITH TRANSFER
  3126		000002			M.PMLD=	2.			;MEMORY LOAD
  3127		000004			M.PRMD=	4.			;REQUEST MEMORY DUMP
  3128		000006			M.PEMM=	6.			;ENTER MOP MODE
  3129		000010			M.PRPR=	8.			;REQUEST PROGRAM
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 2-2
C11DTE.MAC    04-JAN-83 11:22		MACROS AND DEFINITIONS

  3130		000012			M.PRML=	10.			;REQUEST/ACKNOWLEDGE MEMORY LOAD
  3131		000014			M.PMMR=	12.			;MOP MODE RUNNING
  3132		000016			M.PMDP=	14.			;MEMORY DUMP
  3133		000020			M.PDAP=	16.			;(REMOTE-11) DAP ENVELOPE
  3134		000022			M.PEAM=	18.			;(REMOTE-11) ENTER REMOTE-11 ASCII MODE
  3135		000024			M.PLDP=	20.			;PROGRAM DATA
  3136		000030			M.PLBT=	24.			;LOOPBACK TEST
  3137					;
  3138					;
  3139					; CPU REGISTER DEFINITIONS
  3140					;
  3141		177570			SWR=	177570			;SWITCH REGISTER
  3142		177776			PS=	177776			;PROCESSOR STATUS WORD
  3143		000340				PR7=	7*BIT5		;PRIORITY 7
  3144					;
  3145					; MEMORY MANAGEMENT REGISTER DEFINITIONS
  3146					;
  3147		177572			SR0=	177572			;STATUS REGISTER 0
  3148					;
  3149		172300			KISDR0=	172300			;KERNAL PAGE DESRIPTOR 0
  3150		172302			KISDR1=	172302			; . . 1
  3151		172304			KISDR2=	172304			; . . 2
  3152		172306			KISDR3=	172306			; . . 3
  3153		172310			KISDR4=	172310			; . . 4
  3154		172312			KISDR5=	172312			; . . 5
  3155		172314			KISDR6=	172314			; . . 6
  3156		172316			KISDR7=	172316			; . . 7
  3157					;
  3158		172340			KISAR0=	172340			;KERNAL PAGE ADDRESS REGISTER 0
  3159		172342			KISAR1=	172342			; . . 1
  3160		172344			KISAR2=	172344			; . . 2
  3161		172346			KISAR3=	172346			; . . 3
  3162		172350			KISAR4=	172350			; . . 4
  3163		172352			KISAR5=	172352			; . . 5
  3164		172354			KISAR6=	172354			; . . 6
  3165		172356			KISAR7=	172356			; . . 7
  3166					;
  3167					;
  3168					; DTE20 REGISTER DEFINITIONS
  3169					;
  3170		000000			DLYCNT=	0			;DELAY COUNTER
  3171		100000				BUSA17=	BIT15		;UNIBUS ADDRESS BIT 17
  3172		040000				BUSA16=	BIT14		;UNIBUS ADDRESS BIT 16
  3173		037777				DLYMSK=	37777		;DELAY COUNTER
  3174		000002			DEXWD3=	2			;DEPOSIT/EXAMINE WORD 3
  3175		000004			DEXWD2=	4			; . . 2
  3176		000006			DEXWD1=	6			; . . 1
  3177		000010			TENAD1=	10			;KL-10 MEMORY ADDRESS 1
  3178		000012			TENAD2=	12			; . . 2
  3179		000014			TO10BC=	14			;TO -10 BYTE (WORD) COUNT
  3180		000016			TO11BC=	16			;TO -11 BYTE (WORD) COUNT
  3181		100000				TO11IB=	BIT15		;INTERRUPT BOTH -10 AND -11 WHEN DONE
  3182		020000				TO11BM=	BIT13		;TO -11 BYTE MODE
  3183		007777				TO11CM=	7777		;BYTE (WORD) COUNT
  3184		000020			TO10AD=	20			;TO -10 ADDRESS
  3185		000022			TO11AD=	22			;TO -11 ADDRESS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 2-3
C11DTE.MAC    04-JAN-83 11:22		MACROS AND DEFINITIONS

  3186		000024			TO10DT=	24			;TO -10 DATA WORD
  3187		000026			TO11DT=	26			;TO -11 DATA WORD
  3188					;
  3189		000030			DIAG1=	30			;DIAGNOSTIC/CONTROL REGISTER 1
  3190		000032			DIAG2=	32			;DIAGNOSTIC REGISTER 2
  3191		000100				DRESET=	BIT6		;(W) DTE20 RESET
  3192		000034			CSTAT=	34			;CONTROL/STATUS REGISTER
  3193		100000				TO10DN=	BIT15		;(R) TO -10 TRANSFER DONE
  3194		040000				DON10C=	BIT14		;(W) CLEAR TO -10 DONE
  3195		020000				TO10ER=	BIT13		;(R) TO -10 TRANSFER ERROR
  3196		010000				ERR10C=	BIT12		;(W) CLEAR TO -10 TRANSFER ERROR
  3197		004000				TO11DB=	BIT11		;(R/W) TO -11 DOORBELL
  3198		002000				INT11C=	BIT10		;(W) CLEAR TO -11 DOORBELL
  3199		000400				TO10DB=	BIT8		;(R/W) TO -10 DOORBELL
  3200		000200				TO11DN=	BIT7		;(R) TO -11 TRANSFER DONE
  3201		000100				DON11C=	BIT6		;(W) CLEAR TO -11 DONE
  3202		000002				TO11ER=	BIT1		;(R) TO -11 TRANSFER ERROR
  3203		000001				ERR11C=	BIT0		;(W) CLEAR TO -11 TRANSFER ERROR
  3204		000036			DIAG3=	36			;DIAGNOSTIC/CONTROL REGISTER 3
  3205		000001				TO10BM=	BIT0		;(W) TO -10 BYTE MODE
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 3
C11DTE.MAC    04-JAN-83 11:22		MACROS AND DEFINITIONS

  3207
  3208						.SBTTL	MOVE TO TOP OF PHYSICAL MEMORY
  3209					;
  3210					; SECONDARY LOADER:
  3211					; THE BM873-YF, -YG, -YH, -YJ ROM LOADS THIS 256. WORD (512. BYTE) PROGRAM
  3212					; STARTING AT LOCATION 0, THEN TRANSFERS TO LOCATION 0.
  3213					;
  3214					; TERTIARY LOADER:
  3215					; THE SECONDARY LOADER LOADS THIS 1K WORD (2048. BYTE) PROGRAM
  3216					; AND TRANSFERS TO IT AT ITS TRANSFER ADDRESS "DTEMOP"
  3217					;
  3218					;
  3219					; THE FOLLOWING REGISTERS ARE LEFT BY THE ROM OR SECONDARY:
  3220					;	R1 --	ADDRESS OF DTE20 STATUS WORD "CSTAT"
  3221					;
  3222					;
  3223						.DSABL	AMA
  3224	000000'				DTEMOP:
  3225	000000'					DEBUG HALT,<BOOTSTRAP>,NOP ;(0) MARK START OF BOOTSTRAP
  3226		   001			.IF DF T$$RLD
  3227	000002'	012737	000162'	000004		MOV	#30$,@#4	;(2,4,6) SET UP TIMEOUT TRAP
  3228	000010'	012737	000340	000006		MOV	#PR7,@#6	; (10,12,14) TO TRAP TO US
  3229					.IFF
  3230						BR	10$		;(2) SKIP OVER TIMEOUT CODE
  3231					;
  3232					; TIMEOUT VECTOR-- USED TO FIND TOP OF MEMORY
  3233					;
  3234						.WORD	30$,PR7		;(4,6) WHERE TO GO ON NXM (FIRST ON KT-11, THEN MEMORY S
  3235					;
  3236					10$:
  3237					;
  3238					; WAIT FOR TO -11 DOORBELL IF NOT CLEARED BY ROM
  3239					;
  3240						TSTB	(R1)		;TO -11 DONE?
  3241						BPL	15$		;NO-- DOOBELL HAS BEEN CLEARED
  3242						BIT	#TO11DB,(R1)	;DOORBELL RINGING?
  3243						BEQ	10$		;NO-- WAIT
  3244					15$:
  3245		   000			.ENDC
  3246					;
  3247					; FIND TOP BLOCK OF PHYSICAL MEMORY WHERE WE WILL FIT
  3248					;
  3249	000016'	012706	001362'			MOV	#STACK-4,SP	;SET STACK
  3250	000022'	012700	160000			MOV	#160000,R0	;START AT EXTERNAL PAGE IF NO KT11
  3251		   001			.IF DF M$$MGE
  3252	000026'	012702	077406			MOV	#77406,R2	;SET MAX SIZE FOR AN APR
  3253	000032'	010237	172300			MOV	R2,@#KISDR0	;SET MAP FOR THIS CODE (THIS WILL TRAP TO 30$ IF NO KT11
  3254	000036'	010237	172302			MOV	R2,@#KISDR1	;SET OTHER MAP FOR THIS CODE
  3255	000042'	010237	172304			MOV	R2,@#KISDR2	;SET MAP FOR FINDING MEMORY
  3256	000046'	010237	172316			MOV	R2,@#KISDR7	; THEN FOR EXTERNAL PAGE
  3257	000052'	005037	172340			CLR	@#KISAR0	;SET MAP SEGMENT 0 TO THIS CODE
  3258	000056'	012737	000200	172342		MOV	#200,@#KISAR1	;  ALSO MAP SEGMENT 1
  3259	000064'	012737	007600	172344		MOV	#7600,@#KISAR2	;START MEMORY LOOKING AT EXTERNAL PAGE
  3260	000072'	012737	007600	172356		MOV	#7600,@#KISAR7	;ALSO MAP EXTERNAL PAGE
  3261	000100'	012737	000001	177572		MOV	#1,@#SR0	;ENABLE SEGMENTATION
  3262	000106'	012700	040000			MOV	#40000,R0	;POINT TO WHERE MAPPING REGISTER 2 MAPS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 3-1
C11DTE.MAC    04-JAN-83 11:22		MOVE TO TOP OF PHYSICAL MEMORY

  3263	000112'	012737	000120'	000004		MOV	#20$,@#4	;SET TIMEOUT TO KT11 FLAVOR
  3264	000120'				20$:
  3265	000120'	022626				CMP	(SP)+,(SP)+	;REMOVE TRAP
  3266	000122'	162737	000020	172344		SUB	#M$$XSZ/100,@#KISAR2 ;COUNT DOWN BY OUR SIZE
  3267	000130'	005710				TST	(R0)		;TRAP BACK TO 20$ IF NON-EX MEM
  3268					;
  3269					; FOUND TOP OF PHYSICAL MEMORY-- NOW COMPUTE PHYSICAL ADDRESS
  3270					;
  3271	000132'	013705	172344			MOV	@#KISAR2,R5	;GET PHYSICAL ADDRESS (RIGHT-SHIFTED 6 BITS)
  3272	000136'	006305				ASL	R5		;SHIFT
  3273	000140'	006305				ASL	R5		; EXTENSION
  3274	000142'	006305				ASL	R5		;  BITS TO
  3275	000144'	006305				ASL	R5		;   BITS 15-14
  3276	000146'	010504				MOV	R5,R4		;COPY IT
  3277	000150'	042704	037777			BIC	#^C<BUSA17!BUSA16>,R4 ;TRIM TO RIGHT SIZE
  3278	000154'	006305				ASL	R5		;MAKE R5
  3279	000156'	006305				ASL	R5		; PHYSICAL ADDRESS
  3280	000160'	000411				BR	40$		;GO ON TO MOVE
  3281					.IFTF
  3282					;
  3283					; HERE IF WE MUST FIND TOP OF MEMORY WITHOUT MEMORY MANAGEMENT
  3284					;
  3285	000162'				30$:
  3286	000162'	022626				CMP	(SP)+,(SP)+	;REMOVE TRAP FROM STACK
  3287	000164'	162700	002000			SUB	#M$$XSZ,R0	;DOWN BY ANOTHER BLOCK
  3288	000170'	005710				TST	(R0)		;TRAP TO 30$ IF STILL NXM
  3289					;
  3290					; FOUND TOP OF PHYSICAL MEMORY
  3291					;
  3292	000172'	010005				MOV	R0,R5		;COPY PHYSICAL ADDRESS
  3293					.IFT
  3294	000174'	005004				CLR	R4		;MEMORY EXTENSION= 0
  3295	000176'	012767	000240	000554		MOV	#240,CLRSR0	;CHANGE "CLR (SP)" (SR0) TO NO-OP
  3296					.IFF
  3297						CLR	DLYCNT-CSTAT(R1) ;SET MEMORY EXTENSION BITS FOR DTE20 TO 0
  3298		   000			.ENDC
  3299					;
  3300					; WE NOW HAVE R0 POINTING TO THE TOP BLOCK IN MEMORY.
  3301					; SINCE THIS IS POSITION-INDEPENDENT, WE CAN MOVE UP THERE NOW.
  3302					;
  3303					; REGISTERS:
  3304					;	R0 --	VIRTUAL ADDRESS OF WHERE TO MOVE CODE
  3305					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3306					;	R4 --	PHYSICAL ADDRESS OF WHERE TO MOVE CODE (BITS 17-16, IN BITS 15-14)
  3307					;	R5 --	PHYSICAL ADDRESS OF WHERE TO MOVE CODE (BITS 15-0)
  3308					;
  3309	000204'				40$:
  3310	000204'	010006				MOV	R0,SP		;COPY VIRTUAL ADDRESS
  3311	000206'	010067	000762			MOV	R0,PARMAD	;CALCULATE START
  3312	000212'	062767	001700	000754		ADD	#M$$XSZ-64.,PARMAD ;OF PARAMETER AREA
  3313	000220'	012702	000240'			MOV	#MOP,R2		;SET SOURCE ADDRESS
  3314	000224'				50$:
  3315	000224'	012226				MOV	(R2)+,(SP)+	;MOVE A WORD
  3316	000226'	020227	001366'			CMP	R2,#STACK	;MOVED ALL THE CODE?
  3317	000232'	103774				BLO	50$		;NO-- KEEP ON MOVIN'
  3318	000234'	000167	001664			JMP	CHK.11		;INVOKE CHECK11 (WILL CALL MOVED CODE)
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 4
C11DTE.MAC    04-JAN-83 11:22		MOVE TO TOP OF PHYSICAL MEMORY

  3320
  3321						.SBTTL	MOP PROCESSOR
  3322					;
  3323					; THIS POSITION-INDEPENDENT CODE EXECUTES IN THE TOP BLOCK OF PHYSICAL MEMORY
  3324					;
  3325					; REGISTERS:
  3326					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3327					;	R4 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
  3328					;	R5 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
  3329					;	SP --	STACK POINTER (TOP OF VIRTUAL MEMORY)
  3330					;
  3331					; PAGE REGISTERS:
  3332					;	0 --	MAPS TO PHYSICAL 0
  3333					;	1 --	MAPS TO THIS CODE
  3334					;	7 --	MAPS TO EXTERNAL PAGE
  3335					;
  3336	000240'				MOP:
  3337	000240'					DEBUG HALT,<MOVED TO TOP OF PHYSICAL>
  3338		   001			.IF DF E$$CHK!D$$CHK!M$$CHK
  3339	000240'	012761	000100	177776		MOV	#DRESET,DIAG2-CSTAT(R1) ;RESET ALL TRANSFERS IN PROGRESS
  3340	000246'	010706				MOV	PC,SP		;SET STACK
  3341	000250'	062706	001116			ADD	#STACK-.,SP	; BACK, JACK
  3342	000254'	105067	000713			CLRB	LODNUM		;START LOAD AT ZERO
  3343		   002			.IF DF L$$DPR
  3344	000260'	105067	000712			CLRB	PRGDAT		;MARK NO PROGRAM DATA YET
  3345		   001			.ENDC
  3346		   000			.ENDC
  3347					;
  3348					; SEND "REQUEST PROGRAM" MESSAGE TO THE -10
  3349					;
  3350	000264'	012700	000722			MOV	#REQOPS-MOP,R0	;GET ADDRESS OF MOP "REQUEST PROGRAM"
  3351	000270'					CALL	DTESND		;SEND IT TO -10
  3352					;
  3353					; WAIT FOR -10 TO SEND US SOMETHING-- DOORBELL WILL RING
  3354					;
  3355	000274'				MOPWAT:
  3356	000274'	032711	004000			BIT	#TO11DB,(R1)	;DOORBELL RINGING?
  3357	000300'	001775				BEQ	MOPWAT		;NO-- WAIT UNTIL -10 RINGS US
  3358					;
  3359					; THE FIRST TWO BYTES ARE THE BYTE COUNT.
  3360					;
  3361	000302'	012700	001102			MOV	#RCVMSG-MOP,R0	;GET ADDRESS OF BYTE COUNT WORD
  3362	000306'	011703				MOV	(PC),R3		;SET LARGE COUNT
  3363	000310'	012702	000002			MOV	#2,R2		;SET BYTE COUNT
  3364	000314'					CALL	DTERCV		;RECEIVE BYTE COUNT
  3365					;
  3366					; THE NEXT BYTE IS THE MOP FUNCTION CODE.
  3367					; THE NEXT BYTE IS THE LOAD NUMBER.
  3368					;
  3369	000320'	016703	001016			MOV	BYTCNT,R3	;GET BYTE COUNT NOW
  3370	000324'	012702	000002			MOV	#2,R2		;ONE BYTE MOP FUNCTION, ONE BYTE LOAD NUMBER
  3371	000330'					CALL	DTERCA		;RECEIVE MOP CODE, ADDRESS IN R0
  3372		   001			.IF DF E$$CHK
  3373					;
  3374					; VERIFY MOP FUNCTION
  3375					;
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 4-1
C11DTE.MAC    04-JAN-83 11:22		MOP PROCESSOR

  3376	000334'	116702	001004			MOVB	MOPFNC,R2	;GET MOP FUNCTION
  3377	000340'	001406				BEQ	10$		;(M.PMLT) MEMORY LOAD W/TRANSFER-- OK
  3378		   002			.IF DF L$$DPR
  3379	000342'	120227	000024			CMPB	R2,#M.PLDP	;PROGRAM DATA?
  3380	000346'	001403				BEQ	10$		;YES-- OK
  3381		   001			.ENDC
  3382	000350'	120227	000002			CMPB	R2,#M.PMLD	;MEMORY LOAD?
  3383	000354'					ERR NE,<INVALID MOP FUNCTION CODE RECEIVED>,MOPFER
  3384	000356'				10$:
  3385					;
  3386					; VERIFY LOAD NUMBER
  3387					;
  3388					.IFTF
  3389	000356'	116702	000763			MOVB	RCVLDN,R2	;IS LOAD 0?
  3390					.IFT
  3391	000362'	001403				BEQ	20$		;YES-- ALWAYS OK
  3392	000364'	120267	000603			CMPB	R2,LODNUM	;THIS RIGHT LOAD?
  3393	000370'					ERR NE,<WRONG LOAD NUMBER RECIEVED>,MOPFER
  3394	000372'				20$:
  3395		   000			.ENDC
  3396	000372'	105202				INCB	R2		;BUMP LOAD NUMBER
  3397	000374'	110267	000573			MOVB	R2,LODNUM	;STORE LOAD NUMBER
  3398					;
  3399					; RECEIVE DATA INTO MEMORY
  3400					;
  3401	000400'	012702	000004			MOV	#4,R2		;SET TO GET LOAD ADDRESS
  3402		   001			.IF DF L$$DPR
  3403	000404'	126727	000734	000024		CMPB	MOPFNC,#M.PLDP	;PROGRAM DATA?
  3404	000412'	001005				BNE	40$		;NO-- USE ADDRESS
  3405	000414'	062700	177630			ADD	#PRGDAT-LODADR,R0 ;YES-- POINT TO PROGRAM DATA STORAGE AREA
  3406	000420'	005402				NEG	R2		;GET -4 FOR TRANSFER ADDRESS
  3407	000422'	060302				ADD	R3,R2		;GET SIZE LEFT
  3408	000424'	000444				BR	60$		;AND RECEIVE PROGRAM DATA
  3409					;
  3410	000426'				40$:
  3411		   000			.ENDC
  3412	000426'					CALL	DTERCA		; INTO LODADR
  3413	000432'	003450				BLE	70$		;ONLY TRANSFER -- DO THAT
  3414	000434'	126727	000704	000002		CMPB	MOPFNC,#M.PMLD	;MEMORY LOAD ONLY?
  3415	000442'	001402				BEQ	42$		;YES-- ALL IS DATA
  3416	000444'	162702	000004			SUB	#4,R2		;NO-- SAVE TRANSFER FOR LATER
  3417	000450'				42$:
  3418	000450'	016700	000672			MOV	LODADR+0,R0	;GET LOW ADDRESS BITS
  3419		   001			.IF DF M$$MGE
  3420		   002			.IF DF M$$CHK
  3421	000454'	010046				MOV	R0,-(SP)	;ALSO SAVE AS ADDRESS RANGE
  3422					.IFTF
  3423	000456'	016746	000666			MOV	LODADR+2,-(SP)	;GET HIGH ADDRESS BITS
  3424					.IFT
  3425	000462'	032716	177774			BIT	#^C<BIT1!BIT0>,(SP) ;EXTRA BITS SET?
  3426	000466'					ERR NE,<LOAD REQUEST ABOVE 128K>,MOPFER
  3427					.IFTF
  3428	000470'	006216				ASR	(SP)		;SHIFT
  3429	000472'	006016				ROR	(SP)		; TO
  3430	000474'	006016				ROR	(SP)		;  BITS 15-14
  3431	000476'	042716	037777			BIC	#^C<BUSA17!BUSA16>,(SP) ;TRIM EXCESS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 4-2
C11DTE.MAC    04-JAN-83 11:22		MOP PROCESSOR

  3432					.IFT
  3433	000502'	011661	177744			MOV	(SP),DLYCNT-CSTAT(R1) ;SET MEMORY BITS
  3434	000506'	060266	000002			ADD	R2,2(SP)	;COMPUTE FINAL TRANSFER ADDRESS
  3435	000512'	103003				BCC	44$		;NO CARRY-- GO ON
  3436	000514'	062716	040000			ADD	#BUSA16,(SP)	;CARRY INTO THE HIGH PART
  3437	000520'					ERR CS,<LOAD REQUEST WRAPS AROUND 128K>,MOPFER
  3438	000522'				44$:
  3439	000522'	022604				CMP	(SP)+,R4	;VERIFY HIGH ADDRESS
  3440	000524'					ERR HI,<LOAD REQUEST ABOVE LOADER>,MOPFER
  3441	000526'	103402				BLO	46$		;CHECK LOW ADDRESS ONLY IF EQ
  3442	000530'	021605				CMP	(SP),R5		;VERIFY LOW ADDRESS
  3443	000532'					ERR HI,<LOAD REQUEST ON OR ABOVE LOADER>,MOPFER
  3444	000534'				46$:
  3445	000534'	005726				TST	(SP)+		;REMOVE LOW ADDRESS
  3446					.IFF
  3447						MOV	(SP)+,DLYCNT-CSTAT(R1) ;SET MEMORY BITS
  3448		   001			.ENDC
  3449					.IFF
  3450		   002			.IF DF M$$CHK
  3451						TST	LODADR+2	;MAKE SURE HIGH ADDRESS IS ZERO
  3452						ERR NE,<LOAD REQUEST ABOVE LOADER>,MOPFER
  3453						MOV	R0,-(SP)	;ALSO SAVE LOW ADDRESS FOR COMPARE
  3454						ADD	R2,(SP)		;COMPUTE FINAL TRANSFER ADDRESS
  3455						CMP	(SP)+,R5	;VERIFY LOW ADDRESS
  3456						ERR HI,<LOAD REQUEST ON OR ABOVE LOADER>,MOPFER
  3457		   001			.ENDC
  3458		   000			.ENDC
  3459	000536'				60$:
  3460	000536'					CALL	DTERCA		;RECEIVE THEM BYTES
  3461	000542'	003404				BLE	80$		;ALL DONE-- DO ANOTHER REQUEST
  3462					;
  3463					; READ TRANSFER ADDRESS INTO LODADR
  3464					;
  3465	000544'	012700	001106			MOV	#LODADR-MOP,R0	;POINT BACK TO VIRTUAL MEMORY
  3466	000550'					CALL	DTERCV		;READ THE ADDRESS INTO VIRTUAL MEMORY
  3467	000554'				70$:
  3468		   001			.IF DF S$$CLD
  3469						CMPB	MOPFNC,#M.PMLD	;MEMORY LOAD ONLY?
  3470						BNE	90$		;NO-- DO THE TRANSFER
  3471					.IFTF
  3472					;
  3473					; SEND REQUEST FOR NEXT MEMORY LOAD SEGMENT TO THE -10
  3474					;
  3475	000554'				80$:
  3476	000554'	012700	000730			MOV	#REQMLD-MOP,R0	;GET ADDRESS OF MOP "REQUEST/ACKNOWLEDGE MEMORY LOAD"
  3477	000560'					CALL	DTESND		;SEND IT TO -10
  3478					.IFT
  3479						BR	MOPWAT		;AND WAIT FOR ANOTHER REQUEST
  3480					;
  3481					90$:
  3482					.IFF
  3483	000564'	126727	000554	000002		CMPB	MOPFNC,#M.PMLD	;MEMORY LOAD ONLY?
  3484	000572'	001640				BEQ	MOPWAT		;YES-- WAIT FOR NEXT REQUEST
  3485		   000			.ENDC
  3486					;
  3487					; TRANSFER TO ADDRESS NOW IN LODADR.
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 4-3
C11DTE.MAC    04-JAN-83 11:22		MOP PROCESSOR

  3488					;
  3489		   001			.IF DF M$$CHK
  3490	000574'	005767	000550			TST	LODADR+2	;MUST HAVE A VIRTUAL (16-BIT) TRANSFER ADDRESS
  3491	000600'					ERR NE,<TRANSFER ADDRESS ABOVE 32K>
  3492		   000			.ENDC
  3493		   001			.IF DF L$$DPR
  3494	000602'	010704				MOV	PC,R4		;ADDRESS THE
  3495	000604'	062704	000372			ADD	#<PRGDAT-.>,R4	;  RECEIVE BUFFER
  3496	000610'	016705	000360			MOV	PARMAD,R5	;  AND THE STANDARD AREA
  3497	000614'	005025				CLR	(R5)+		;CLEAR OUT BINARY SECTION
  3498	000616'	012700	000006			MOV	#6,R0		;CLEAR OUT
  3499	000622'	012725	020040		110$:	MOV	#20040,(R5)+	;  NODE AND HOST
  3500	000626'	077003				SOB	R0,110$		;  NAME AREAS
  3501					;********
  3502	000630'	005015				clr	(r5)		;make room for host node number 
  3503	000632'	016705	000336		112$:	MOV	parmad,R5	;GET BACK ADDRESS
  3504	000636'	105714				TSTB	(R4)		;CHK FOR END
  3505	000640'	001434				BEQ	x118		;IF 0, NO MORE DATA
  3506	000642'	122714	000002			CMPB	#2,(R4)		;BINARY? (TYPE=2)
  3507	000646'	001412				BEQ	115$		;NO
  3508	000650'	122714	000004			cmpb	#4,(r4)		;host node number ?
  3509	000654'	001002				bne	113$		;nop
  3510	000656'	062705	000006			add	#6.,r5		;where it goes in top32
  3511	000662'	005725			113$:	TST	(R5)+		;BEYOND BINARY AREA
  3512	000664'	105314				DECB	(R4)		;CHK IF HOST NAME (TYPE=3)
  3513	000666'	001402				BEQ	115$		;IF EQ, NODE NAME
  3514	000670'	062705	000006			ADD	#6,R5		;GET TO PROPER AREA
  3515	000674'	105724			115$:	TSTB	(R4)+		;GET COUNT
  3516	000676'	112400				MOVB	(R4)+,R0
  3517	000700'	112425			116$:	MOVB	(R4)+,(R5)+	;MOVE NAME OR NUMBER
  3518	000702'	005300				DEC	R0
  3519	000704'	001375				BNE	116$
  3520	000706'	000751				BR	112$		;CHK FOR MORE
  3521
  3522					;*******
  3523		   000			.ENDC
  3524					;
  3525		   001			.IF DF E$$CHK!D$$CHK!M$$CHK
  3526					;
  3527					; MOP FORMAT ERROR-- READ REST OF MOP MESSAGE AND REQUEST PROGRAM AGAIN
  3528					;
  3529		   002			.IF DF E$$CHK!M$$CHK
  3530	000710'				MOPFER:
  3531	000710'	012702	000001			MOV	#1,R2		;READ ONE BYTE
  3532	000714'	012700	001342'			MOV	#RCVMSG,R0	; INTO RCVMSG
  3533	000720'					CALL	DTERCV		;  FROM -10
  3534	000724'	003371				BGT	MOPFER		;NOT DONE-- READ ANOTHER
  3535					;	BR	MOPERR		;DONE-- ABORT
  3536		   001			.ENDC
  3537					;
  3538					; ERROR-- BACK TO REQUEST PROGRAM AGAIN
  3539					;
  3540	000726'				MOPERR:
  3541		   002			.IF LT <<.-MOP>-256.>
  3542						BR	MOP		;SEND REQUEST PROGRAM
  3543					.IFF
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 4-4
C11DTE.MAC    04-JAN-83 11:22		MOP PROCESSOR

  3544	000726'	000167	177306			JMP	MOP		;SEND REQUEST PROGRAM
  3545		   001			.ENDC
  3546		   000			.ENDC
  3547
  3548
  3549	000732'	010106			x118:	MOV	R1,SP		;COPY DTE STATUS ADDRESS
  3550	000734'	010100				MOV	R1,R0		;  (ALSO TO HERE)
  3551		   001			.IF DF L$$DPR
  3552	000736'	116701	000234			MOVB	PRGDAT,R1	;IF THERE IS
  3553	000742'	001403				BEQ	120$		;  PROGRAM DATA,
  3554	000744'	012701	177777			MOV	#-1,R1		;  FLAG THE FACT
  3555	000750'	010102				MOV	R1,R2		;  IN R1 AND R2
  3556		   000			.ENDC
  3557		   001			.IF DF M$$MGE
  3558	000752'	062706	177746		120$:	ADD	#DEXWD3-CSTAT,SP ;POINT TO DEXWD3, DEXWD2 FOR CODE
  3559	000756'	012726				MOV	(PC)+,(SP)+	;(DEXWD3)
  3560	000760'	005016			CLRSR0:	 CLR	(SP)		;TURN OFF SEGMENTATION
  3561	000762'	012726				MOV	(PC)+,(SP)+	;(DEXWD2)
  3562	000764'	000113				 JMP	(R3)		;TRANSFER TO LOADED CODE.
  3563	000766'	016703	000354			MOV	LODADR,R3	;SET TRANSFER ADDRESS
  3564	000772'	012706	177572			MOV	#SR0,SP		;ALSO WHERE TO DISABLE SEGMENTATION
  3565	000776'					DEBUG HALT,<TRANSFER ADDRESS READY>
  3566	000776'	000160	177746			JMP	DEXWD3-CSTAT(R0) ;NOW TURN OFF SEGMENTATION AND TRANSFER.
  3567					.IFF
  3568						DEBUG HALT,<TRANSFER ADDRESS READY>
  3569						JMP	@LODADR		;TRANSFER TO IT.
  3570		   000			.ENDC
  3571					;*
  3572					;*
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 5
C11DTE.MAC    04-JAN-83 11:22		MOP PROCESSOR

  3574
  3575						.SBTTL	DTE SUBROUTINES
  3576					;
  3577					; DTESND -- SEND MESSAGE TO DTE20 FROM VIRTUAL
  3578					;	R0 --	ADDRESS WITHIN MOVED CODE TO SEND DATA FROM (BYTE COUNT WORD)
  3579					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3580					;	R4 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
  3581					;	R5 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
  3582					;
  3583	001002'				DTESND:
  3584	001002'	012711	050000			MOV	#DON10C!ERR10C,(R1) ;RESET TO10DN AND TO10ER
  3585	001006'	012761	000001	000002		MOV	#TO10BM,DIAG3-CSTAT(R1) ;SET TO -10 BYTE MODE
  3586		   001			.IF DF M$$MGE
  3587	001014'	010461	177744			MOV	R4,DLYCNT-CSTAT(R1) ;SET MEMORY EXTENSION BITS
  3588		   000			.ENDC
  3589		   001			.IF DF D$$CHK
  3590						MOV	R0,-(SP)	;SAVE ADDRESS
  3591					.IFTF
  3592	001020'	060500				ADD	R5,R0		;CONVERT TO PHYSICAL
  3593	001022'	010061	177764			MOV	R0,TO10AD-CSTAT(R1) ;SET ADDRESS OF MOP MESSAGE
  3594					.IFT
  3595						ADD	#2,R0		;DON'T FORGET THE BYTE COUNT!
  3596						ADD	PC,(SP)		;CONVERT OFFSET WITHIN "MOP" TO VIRTUAL
  3597						ADD	#MOP-.,(SP)	; . .
  3598						ADD	@(SP)+,R0	;UPDATE ADDRESS BY BYTE COUNT
  3599		   000			.ENDC
  3600	001026'	012711	002400			MOV	#TO10DB!INT11C,(R1) ;RING -10'S DOORBELL WITH THIS MESSAGE
  3601					;
  3602					; WAIT FOR TO -10 TRANSFER
  3603					;
  3604	001032'				10$:
  3605		   001			.IF DF E$$CHK
  3606	001032'	032711	120000			BIT	#TO10DN!TO10ER,(R1) ;DONE OR ERROR?
  3607	001036'	001775				BEQ	10$		;NOT DONE OR ERROR-- WAIT
  3608	001040'					ERR PL,<TO -10 TRANSFER ERROR>
  3609					.IFF
  3610						TST	(R1)		;DONE?
  3611						BPL	10$		;NO-- WAIT
  3612		   000			.ENDC
  3613		   001			.IF DF D$$CHK
  3614						CMP	R0,TO10AD-CSTAT(R1) ;TRANSFER REQUESTED NUMBER OF BYTES?
  3615						ERR NE,<TO -10 TRANSFER WRONG NUMBER OF BYTES>
  3616		   000			.ENDC
  3617	001042'					RETURN			;RETURN FROM DTESND
  3618					;
  3619					; DTERCV -- RECEIVE MESSAGE FROM DTE20 VIRTUAL
  3620					;	R0 --	ADDRESS WITHIN MOVED CODE TO STORE DATA
  3621					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3622					;	R2 --	BYTE COUNT TO BE RECEIVED
  3623					;	R3 --	GLOBAL BYTE COUNT
  3624					;	R4 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
  3625					;	R5 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
  3626					;
  3627	001044'				DTERCV:
  3628		   001			.IF DF M$$MGE
  3629	001044'	010461	177744			MOV	R4,DLYCNT-CSTAT(R1) ;SET EXTENDED MEMORY BITS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 5-1
C11DTE.MAC    04-JAN-83 11:22		DTE SUBROUTINES

  3630		   000			.ENDC
  3631	001050'	060500				ADD	R5,R0		;MAKE PHYSICAL ADDRESS
  3632					;
  3633					; DTERCA -- RECEIVE FROM DTE20
  3634					;	R0 --	PHYSICAL RECEIVE ADDRESS (BITS 15-0)
  3635					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3636					;	R2 --	BYTE COUNT TO BE RECEIVED
  3637					;	R3 --	GLOBAL BYTE COUNT
  3638					;
  3639	001052'				DTERCA:
  3640	001052'	010061	177766			MOV	R0,TO11AD-CSTAT(R1) ;SET ADDRESS
  3641	001056'	060200				ADD	R2,R0		;UPDATE ADDRESS
  3642		   001			.IF DF T$$32K
  3643	001060'	103010				BCC	10$		;NO BOUNDARY-- OK
  3644	001062'	001407				BEQ	10$		;EXACTLY A BOUNDARY-- OK ALSO
  3645					;
  3646					; THE REQUESTED TRANSFER CROSSES A 32K BOUNDARY-- WE MUST
  3647					;  DO THE TRANSFER IN TWO PIECES
  3648					;
  3649	001064'	010046				MOV	R0,-(SP)	;SAVE RESIDUAL COUNT ABOVE BOUNDARY
  3650	001066'	160002				SUB	R0,R2		;CHANGE THIS COUNT TO JUST BELOW BOUNDARY
  3651	001070'	005000				CLR	R0		;SET FINAL ADDRESS= 0
  3652	001072'					CALL	10$		;DO THE FIRST PART OF THE TRANSFER
  3653	001076'	012602				MOV	(SP)+,R2	;GET RESIDUAL COUNT
  3654	001100'	010200				MOV	R2,R0		;THAT'S FINAL ADDRESS, ALSO
  3655	001102'				10$:
  3656		   000			.ENDC
  3657	001102'	012711	000101			MOV	#DON11C!ERR11C,(R1) ;RESET TO11DN AND TO11ER
  3658	001106'	160203				SUB	R2,R3		;LAST TRANSFER?
  3659	001110'	001403				BEQ	20$		;YES-- SET TO11IB TO INDICATE "DONE" TO BOTH PROCESSORS
  3660		   001			.IF DF E$$CHK
  3661	001112'					ERR LT,<TO -11 MESSAGE TO SHORT>
  3662		   000			.ENDC
  3663	001114'	052702	100000			BIS	#TO11IB,R2	;CLEAR TO11IB (WHEN WE NEG R2)
  3664	001120'				20$:
  3665	001120'	005402				NEG	R2		;NEGATE BYTE COUNT
  3666	001122'	042702	050000			BIC	#^C<TO11IB!TO11BM!TO11CM>,R2 ;CLEAR UNUSED BITS
  3667		   001			.IF DF E$$CHK
  3668	001126'					ERR EQ,<TO -11 ZERO BYTE TRANSFER>
  3669		   000			.ENDC
  3670	001130'	010261	177762			MOV	R2,TO11BC-CSTAT(R1) ;START TRANSFER
  3671					;
  3672					; WAIT FOR TO -11 TRANSFER
  3673					;
  3674	001134'				30$:
  3675		   001			.IF DF E$$CHK
  3676	001134'	132711	000202			BITB	#TO11DN!TO11ER,(R1) ;DONE OR ERROR?
  3677	001140'	001775				BEQ	30$		;NOT DONE OR ERROR-- WAIT
  3678	001142'					ERR PL,<TO -11 TRANSFER ERROR>
  3679					.IFF
  3680						TSTB	(R1)		;DONE?
  3681						BPL	30$		;NO-- WAIT
  3682		   000			.ENDC
  3683		   001			.IF DF D$$CHK
  3684						CMP	R0,TO11AD-CSTAT(R1) ;TRANSFER PROPER NUMBER OF BYTES?
  3685						ERR NE,<TO -11 TRANSFER WRONG NUMBER OF BYTES>
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 5-2
C11DTE.MAC    04-JAN-83 11:22		DTE SUBROUTINES

  3686		   000			.ENDC
  3687		   001			.IF DF T$$32K
  3688	001144'	005700				TST	R0		;THIS TRANSFER CROSS A 32K BOUNDARY?
  3689	001146'	001003				BNE	40$		;NO-- ALL OK
  3690	001150'	062761	040000	177744		ADD	#BUSA16,DLYCNT-CSTAT(R1) ;YES-- BUMP ADDRESS BITS
  3691	001156'				40$:
  3692		   000			.ENDC
  3693	001156'	010302				MOV	R3,R2		;GET REMAINING COUNT, AND TST IT
  3694	001160'					RETURN			;RETURN FROM DTERCV/DTERCA
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 6
C11DTE.MAC    04-JAN-83 11:22		DTE SUBROUTINES

  3696
  3697						.SBTTL	DATA
  3698					;
  3699					; MOP MESSAGE "REQUEST PROGRAM"
  3700					;
  3701	001162'				REQOPS:
  3702	001162'	000004				.WORD	REQOPZ		;(2 BYTES) BYTE COUNT
  3703	001164'	   010				.BYTE	M.PRPR		;(0) FUNCTION = REQUEST PROGRAM
  3704	001165'	   024				.BYTE	20.		;(1) DEVICE TYPE = DTE20/11
  3705	001166'	   001				.BYTE	1		;(2) STATION ADDRESS = 1
  3706		   001			.IF DF S$$CLD
  3707						.BYTE	1		;(3) PROGRAM TYPE = TERTIARY LOADER
  3708					.IFF
  3709	001167'	   002				.BYTE	2		;(3) PROGRAM TYPE = OPERATING SYSTEM
  3710		   000			.ENDC
  3711		000004			REQOPZ=	.-REQOPS-2
  3712						.EVEN
  3713					;
  3714					; MOP MESSAGE "REQUEST/ACKNOWLEDGE MEMORY LOAD"
  3715					;
  3716	001170'				REQMLD:
  3717	001170'	000002				.WORD	REQMLZ		;(2 BYTES) BYTE COUNT
  3718	001172'	   012				.BYTE	M.PRML		;(0) FUNCTION = REQUEST/ACKNOWLEDGE MEMORY LOAD
  3719	001173'	   000			LODNUM:	.BYTE	0		;(1) LOAD NUMBER (START AT 0)
  3720		000002			REQMLZ=	.-REQMLD-2
  3721					;
  3722					; LOAD PARAMETER BLOCK FOR PROGRAM
  3723					;
  3724		   001			.IF DF L$$DPR
  3725	001174'	000000			PARMAD:	.WORD	0		;VIRTUAL ADDRESS OF STANDARD PROGRAM DATA AREA
  3726	001176'				PRGDAT:
  3727	001176'	   000				.BYTE	0		;FIRST BYTE INDICATES EXISTENCE
  3728					.IFTF
  3729	001177'					FIT DTEMOP,M$$XSZ,<CODE>
  3730					.IFT
  3731	001177'	000143				.BLKB	100.-1		;LOAD PARAMETERS FOR PROGRAM
  3732		   000			.ENDC
  3733					;
  3734					; RECEIVED MOP MESSAGE
  3735					;
  3736						.EVEN
  3737	001342'				RCVMSG:
  3738	001342'	000001			BYTCNT:	.BLKW	1		;BYTE COUNT
  3739	001344'	000001			MOPFNC:	.BLKB	1		;MOP FUNCTION
  3740	001345'	000001			RCVLDN:	.BLKB	1		;LOAD NUMBER RECEIVED
  3741	001346'	000004			LODADR:	.BLKB	4		;LOAD ADDRESS/TRANSFER ADDRESS
  3742					;
  3743					; STACK
  3744					;
  3745						.EVEN
  3746	001352'	000006				.BLKW	6
  3747	001366'				STACK:
  3748					;
  3749	001366'					FIT MOP,M$$XSZ,<MOVED CODE>
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 7
C11DTE.MAC    04-JAN-83 11:22		DATA

  3751
  3752					.TITLE CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC
  3753					.SBTTL CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC
  3754					;  22 SEP 1977 DMCC/EGF/JBS/LAD/EJW/TEP
  3755					;
  3756					;
  3757					;
  3758					; THIS CODE IS EXECUTED ONCE AND THEN OVERLAID
  3759					;
  3760					;
  3761					;
  3762					;
  3763					; THE CALL TO CHK11 IS AS FOLLOWS:
  3764					;	JSR	PC,CHK.11
  3765					;	.WORD	PTR	;POINTER TO ASCIZ NAME STRING AND EDIT POINTERS
  3766					;	RETURNS TO CALLER FOLLOWING POINTER WORD
  3767					;
  3768					;	CHK11 WILL DETERMINE WHAT HARDWARE IS PRESENT
  3769					;	  AND WILL PERFORM A FEW SIMPLE DIAGNOSTIC TESTS OF THE HDW
  3770					;
  3771					;	FOR DEV = < DH11, DM11BB, DP11, DQ11, DS11, DU11>
  3772					;	CHK11 WILL:	JSR PC,CKA'DEV
  3773					;			WITH (R3) = DEVICE VECTOR
  3774					;			AND (R4) = DEVICE ADR
  3775					;			AND (R1) = DEVICE ADR
  3776					;	ONCE FOR EACH DEVICE AND A FINAL:
  3777					;			JSR	PC,CKA'DEV WITH (R4)=0
  3778					;
  3779					; ALL SYMBOLS BEGINING CHK OR CK ARE RESERVED FOR CHK11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 7-1
C11DTE.MAC    04-JAN-83 11:22		CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC

  3781						.ENABL	AMA
  3782					; VERSION INFORMATION
  3783					;
  3784	001366'	005015	041412	045510	CKNAME:	.ASCIZ	<15><12><12>"CHK11 HARDWARE TEST"
	001374'	030461	044040	051101
	001402'	053504	051101	020105
	001410'	042524	052123	   000
  3785		001416'				.EVEN
  3786	001416'	000003	000040	000004		.WORD	CKVMAJ,CKVMIN,CKVEDI
  3787	001424'	001430'	001442'			.WORD	CKVWHN,CKVWHO
  3788					;
  3789		000003			CKVMAJ	= 3	;MAJOR VERSION NUMBER
  3790		000040			CKVMIN	= ' 	;MINOR VERSION LETTER (AS 'A)
  3791		000004			CKVEDI	= 4.	;EDIT NUMBER
  3792		000001				ED.HIS	= 1		;TYPE OUT DETAILS
  3793	001430'	026467	072552	074554	CKVWHN:	.ASCIZ	"7-july-82"	;LAST EDIT DATE
	001436'	034055	000062
  3794						.EVEN
  3795	001442'	065162	000160		CKVWHO:	.ASCIZ	"rjp"		;LAST EDITOR
  3796						.EVEN
  3797					;
  3798					;
  3799					;
  3800					;BE SURE ALL THE REGS ARE DEFINED PROPERLY
  3801					;
  3802		000000				R0=%0
  3803		000001				R1=%1
  3804		000002				R2=%2
  3805		000003				R3=%3
  3806		000004				R4=%4
  3807		000005				R5=%5
  3808		000006				R6=%6
  3809		000006				SP=%6
  3810		000007				R7=%7
  3811		000007				PC=%7
  3812					;
  3813					.IIF NDF FTKG11,FTKG11=	1	;0 IF KG11 MUST BE PRESENT
  3814					;
  3815					;OTHER DEFAULTS
  3816						.IIF NDF FLOATV FLOATV=	300	;FIRST FLOATING VECTOR
  3817						.IIF NDF FLOATD FLOATD=	160000	;FLOATING DEVICES BEGIN HERE
  3818					;
  3819					.IIF NDF DL10AD,DL10AD=.
  3820	001446'	000001				.BLKW	1		;PUT DL10 ADR HERE IF NOWHERE ELSE
  3821					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 7-2
C11DTE.MAC    04-JAN-83 11:22		CHK11 MACROS

  3823					.SBTTL	CHK11 MACROS
  3824					.SBTTL		CK11SC
  3825					;
  3826					;THIS MACRO IS USED FOR TYPING TEXT AND ERROR REPORTING.
  3827					;
  3828					;	ARG	BITS	;WHAT TO DO ON A TRAP
  3829		000001					CKEFAT=	B0	;FATAL ERROR - HALT
  3830		000002					CKEPC=	B1	;PRINT ADDRESS OF ERROR TRAP
  3831		000004					CKEMSG=	B2	;PRINT THE MESSAGE FOLLOWING CK11SC
  3832		000010					CKEDID=	B3	;PRINT DEVICE ID AND REG
  3833		000020					CKEMSE=	B4	;PRINT THE MESSAGE POINTED TO BY
  3834									; THE ADDRESS FOLLOWING THE TRAP.
  3835		000040					CKENCL=	B5	;PRINT TEXT WITH OUT CR+LF
  3836		000100					CKEGB=	B6	;PRINT ADR/REG=XXXXX GD=XXXXX  BD=XXXXX XOR=XXXXX
  3837					;
  3838					;	ARG	MSG	;TEXT TO BE OUTPUT
  3839					;
  3840					;	ARG	COMENT	;ADD A COMMENT TO THE TRAP INSTRUCTION
  3841					;
  3842					;	ARG	STOPCD	;ON A FATAL ERROR VALUE TO BE PUT IN R0
  3843					;
  3844					.MACRO	CK11SC	BITS,MSG,COMENT,STOPCD
  3845					.IIF NB,STOPCD,	MOV	#STOPCD,CKSPCD	;VALUE TO DISPLAY ON FATAL ERROR
  3846						    .IF B <MSG>
  3847						TRAP	BITS		;COMENT
  3848						    .IFF ;B <MSG.>
  3849						    .IF	EQ,<BITS&CKEMSE>
  3850						TRAP	BITS!CKEMSG		;COMENT
  3851					;;;;	ASCIZ	<MSG>			;MESSAGE TEXT FOLLOWS TRAP
  3852						    .IFF
  3853						TRAP	BITS&<^CCKEMSG>		;COMENT
  3854						.WORD	MSG			;ADR OF MESSAGE FOLLOWS TRAP
  3855						    .ENDC ;EQ <BITS..>
  3856						    .ENDC ;B <MSG.>
  3857					.ENDM	CK11SC
  3858					;
  3859					;
  3860					;THIS MACRO IS USED FOR SAVING GOOD, BAD, AND ADR ON THE STACK
  3861					;PRIOR TO INVOKING CK11SC
  3862					;
  3863					;	ARG	GD		;GOOD DATA
  3864					;	ARG	BD		;BAD DATA
  3865					;	ARG	ADR		;ADDRESS WHERE IT HAPPENED
  3866					;
  3867					.MACRO	CKSERR	GD,BD,ADR
  3868						MOV	GD,-(SP)			;SAVE GOOD (GD) ON STACK
  3869						MOV	BD,-(SP)			;SAVE BAD (BD) ON STACK
  3870						MOV	ADR,-(SP)		;SAVE ADDRESS (ADR) ON STACK
  3871					.ENDM	CKSERR
  3872					;
  3873					.MACRO	ABORT
  3874						CK11SC	CKEFAT
  3875					.ENDM	ABORT
  3876					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 7-3
C11DTE.MAC    04-JAN-83 11:22			$CKINT

  3878					.SBTTL		$CKINT
  3879					;
  3880					;THIS MACRO IS USED TO CHECK INTERRUPT CONDITIONS
  3881					;
  3882					;	ARG	ENBADR		;DEVICE ADR TO ENABLE INTERRUPTS
  3883					;
  3884					;	ARG	INTADR		;DEVICE ADR TO GENERATE AN INTERRUPT
  3885					;
  3886					;	ARG	ENLBIT		;BIT TO ENABLE INTERRUPTS
  3887					;
  3888					;	ARG	INTBIT		;BITS TO CHECK INTERRUPT CONDITIONS
  3889					;
  3890					;	ARG	BITCLR		;BITS TO CLEAR INTERRUPT CONDITIONS
  3891					;				;IF CLEARING INTERRUPT BITS WON'T CLEAR
  3892					;				;THEM.  [EXAMPLE - DL10]
  3893					;
  3894					.MACRO	$CKINT	ENBADR,INTADR,ENLBIT,INTBIT,BITCLR
  3895					.IIF	NB,ENBADR,	MOV	ENBADR,R1			;LOAD ENABLE ADR
  3896					.IIF	NB,INTADR,	MOV	INTADR,R2			;LOAD INTERRUPT ADR
  3897						JSR	R5,CKINT	;GO CHECK INTERRUPTS
  3898						    .IIF NDF I.$$$$,I.XXXX = .
  3899						    .IIF NDF I.$$$$,I.ENAB = . - I.XXXX
  3900						.WORD	ENLBIT		;ENABLE BITS -  ENLBIT
  3901						    .IIF NDF I.$$$$,I.INTS = . - I.XXXX
  3902						.WORD	INTBIT		;INTERRUPT BITS -  INTBIT
  3903						    .IIF NDF I.$$$$,I.INTC = . - I.XXXX
  3904						.WORD	BITCLR+0	;BITS TO CLEAR DEVICE - ARG MAY BE BLANK
  3905						    .IIF NDF I.$$$$,I.RTRN = . - I.XXXX
  3906						    .IIF NDF I.$$$$,I.$$$$ = 0
  3907					.ENDM
  3908					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 7-4
C11DTE.MAC    04-JAN-83 11:22			DEVICE

  3910					.SBTTL		DEVICE
  3911					;
  3912					;THIS MACRO IS USED TO TO CALL THE ROUTINE TO CHECK A DEVICE
  3913					;AND ASSIGN THE FLOATING ADDRESS AND VECTORS IF THE DEVICE
  3914					;IS THE TYPE THAT REQUIRES IT.
  3915					;
  3916					;	ARG	A	;DEVICE ADDRESS OR 0 IF FLOATING DEVICE
  3917					;	ARG	MAXN	;MAXIMUM NUMBER OF DEVICES
  3918					;	ARG	VI	;VECTOR INCREMENT
  3919					;	ARG	HI	;HARDWARE INCREMENT
  3920					;	ARG	VM	;VECTOR MULTIPLE
  3921					;	ARG	NAM	;DEVICE NAME ABBREVIATION
  3922					;	ARG	FV	;FIRST VECTOR ADR (FIXED DEV ONLY)
  3923					;
  3924					.MACRO	DEVICE	A,MAXN,VI,HI,VM,NAM,FV
  3925						    .IF DF X'NAM'11
  3926						X'NAM'$$=X'NAM'11	;IF A LOCAL DIAGNOSTIC IS DEFINED, USE IT
  3927						    .IFF
  3928						X'NAM'$$=X.....		;ELSE USE NULL DIAGNOSTIC
  3929						    .ENDC ;DF X'NAM'11
  3930									;
  3931									;
  3932						    .IF DF CKA'NAM'11
  3933						CKA'NAM'$$=CKA'NAM'11	;IF PROGRAM ENTRY DEFINED, USE IT
  3934						    .IFF
  3935						CKA'NAM'$$=CKPOPJ	;ELSE USE NULL SUBROUTINE
  3936						    .ENDC ;DF CKA'NAM'11
  3937									;
  3938									;
  3939						    .IF DF CKV'NAM'11
  3940						CV'NAM'$$=CKV'NAM'11	;IF REAL VECTOR DEFINED, USE IT
  3941						    .IFF
  3942						CV'NAM'$$=0		;ELSE IGNORE EVERYTHING
  3943						    .ENDC ;DF CKV'NAM'11
  3944									;
  3945									;
  3946						.IIF NDF,NAM'.LVL,NAM'.LVL=0	;USE LEVEL NAME IF IT EXISTS
  3947										;
  3948						JSR	R5,CHKDEV		;CALL DEVICE ANALYZER
  3949						    .IIF NDF D.$$$$,D.XXXX=.	;FIRST TIME THROUGH (ONLY)
  3950										; THE OFFSETS ARE DEFINED
  3951						    .IIF NDF D.$$$$,D.BADR=.-D.XXXX
  3952						.WORD	A		;1ST NAM'11 ADR IS A
  3953						    .IIF NDF D.$$$$,D.MAXL=.-D.XXXX
  3954						.BYTE	<MAXN>		;MAXIMUM NUMBER OF NAM'11 IS MAXN,
  3955						    .IIF NDF D.$$$$,D.VINC=.-D.XXXX
  3956						.BYTE	<VI>		;VECTOR INCREMENT IS VI
  3957						    .IIF NDF D.$$$$,D.HINC=.-D.XXXX
  3958						.BYTE	<HI>		;HARDWARE INCREMENT IS HI,
  3959						    .IIF NDF D.$$$$,D.VMUL=.-D.XXXX
  3960						.BYTE	<VM>		;1ST VECTOR MULTIPLE IS VM
  3961						    .IIF NDF D.$$$$,D.CNTP=.-D.XXXX
  3962						.WORD	0		;WILL BECOME NUMBER OF DEVICES
  3963						    .IIF NDF D.$$$$,D.NAMP=.-D.XXXX
  3964						.WORD	N.'NAM'11		;ADDRESS OF ASCIZ NAME STRING
  3965						    .IIF NDF D.$$$$,D.DIAG=.-D.XXXX
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 7-5
C11DTE.MAC    04-JAN-83 11:22			DEVICE

  3966						.WORD	X'NAM'$$		;ADDRESS OF ROUTINE TO CHECK DEVICE
  3967						    .IIF NDF D.$$$$,D.MAIN=.-D.XXXX
  3968						.WORD	CKA'NAM'$$		;CALL FOR MAIN PROGRAM (CKA'NAM'11)
  3969						    .IIF NDF D.$$$$,D.MPVC=.-D.XXXX
  3970						.WORD	CV'NAM'$$		;POINTS TO VECTOR SETUP TABLE
  3971						    .IIF NDF D.$$$$,D.CNTF=.-D.XXXX
  3972						.WORD	0		;WILL CONTAIN NUMBER OF NAM'11 FOUND
  3973						    .IIF NDF D.$$$$,D.FRSV=.-D.XXXX
  3974						.WORD	0		;WILL CONTAIN FIRST NAM'11 VECTOR ADR
  3975						    .IIF NDF D.$$$$,D.PRIO=.-D.XXXX
  3976						.WORD	NAM'.LVL*40	;CONTAINS NAM'11 PI LEVEL
  3977						    .IIF NDF D.$$$$,D.FVFD=.-D.XXXX
  3978						.WORD	FV		;DEVICE FIRST VECTOR (FIXED DEV ONLY)
  3979						    .IIF NDF D.$$$$,D.NEXT=.-D.XXXX
  3980						    .IIF NDF D.$$$$,D.$$$$=0	;DEFINE DEFINITION STOPPER
  3981					.ENDM	DEVICE
  3982					;
  3983					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 8
C11DTE.MAC    04-JAN-83 11:22			DEVICE

  3985
  3986					.SBTTL		CHKCHR
  3987					;
  3988					;THIS MACRO IS USED FOR SETTING CHARACTERISTICS TABLE
  3989					;
  3990					;	ARG	DA		;DEVICE ADDRESS TO PUT IN CHARACTERISTICS TABLE
  3991					;
  3992					;	ARG	DV		;DEVICE VECTOR ADDRESS TO PUT IN TABLE
  3993					;
  3994					;	ARG	PI		;DEVICE PI LEVEL TO PUT IN TABLE
  3995					;
  3996					.MACRO	CHKCHR	DA,DV,PI
  3997					.IIF NB,<DA>,	MOV	DA,CHKCHR+CKDA	;PUT DA IN DEVICE ADR SLOT
  3998					.IIF NB,<DV>,	MOV	DV,CHKCHR+CKDV	;PUT DV IN DEVICE VEC SLOT
  3999					.IIF NB,<PI>,	MOV	PI,CHKCHR+CKPI	;PUT PI IN DEVICE INT LVL SLOT
  4000					.ENDM	CHKCHR
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 8-1
C11DTE.MAC    04-JAN-83 11:22			CKVECT, CKVEC1

  4002					.SBTTL		CKVECT, CKVEC1
  4003					;
  4004					;"CKVECT" INVOKES "CKVEC1" TO BUILD A TABLE
  4005					;FOR EACH DEVICE.  THE INFORMATION IN THE TABLE IS OF THE FOLLOWING FORM:
  4006					;
  4007					;	CKV'NAM'11:
  4008					;		.BYTE	NUMBER OF MAIN ROUTINES
  4009					;		.BYTE	NUMBER OF VECTORS PER DEV
  4010					;		.WORD	NAM'VA'NUM
  4011					;
  4012					;	EXAMPLE:
  4013					;
  4014					;	1.	MAIN PROGRAM HAS 1 DQ11
  4015					;		THE MAIN PROGRAM MUST GIVE DQ #0 VECTOR A THE TAG:  DQVA0
  4016					;					   DQ #0 VECTOR B THE TAG:  DQVB0
  4017					;	THE RESULTING TABLE WILL BE:
  4018					;
  4019					;	CKVDQ11:.BYTE	1,2
  4020					;		DQAV0
  4021					;		DQBV0
  4022					;
  4023					;	2.	MAIN PROGRAM HAS 2 DQ11'S
  4024					;		THE MAIN PROGRAM MUST GIVE DQ #0 VECTOR A THE TAG:  DQVA0
  4025					;					   DQ #0 VECTOR B THE TAG:  DQVB0
  4026					;					   DQ #1 VECTOR A THE TAG:  DQVA1
  4027					;					   DQ #1 VECTOR B THE TAG:  DQVB1
  4028					;
  4029					;	THE RESULTING TABLE WILL BE:
  4030					;
  4031					;	CKVDQ11:.BYTE	2,2
  4032					;		DQVA0
  4033					;		DQVB0
  4034					;		DQVA1
  4035					;		DQVB1
  4036					;
  4037					;
  4038					;	ARG	NAM		;NAME (2 CHARACTERS)
  4039					;	ARG	NUMV		;NUMBER OF VECTORS PER DEVICE
  4040					;	ARG	MAXN		;MAXIMUM NUMBER OF DEVICES OF A TYPE
  4041					;
  4042					.MACRO	CKVECT	NAM,NUMV,MAXN
  4043					CKZQZQ=0
  4044					CV'NAM'11:.BYTE	NAM'QQQ,NUMV			;NUM OF VEC FOR EACH NAM'11 IS NUMV
  4045					NAM'QQQ=0				;DEFINE AND SET TO 0
  4046						.REPT	MAXN
  4047						CKVEC1	NAM,NUMV,\CKZQZQ
  4048						CKZQZQ=CKZQZQ+1
  4049						.ENDR
  4050					.ENDM	CKVECT
  4051					;
  4052					;
  4053					;
  4054					;
  4055					.MACRO	CKVEC1	NAM,NUMV,NUM
  4056						    .IF DF,NAM'VA'NUM
  4057						NAM'QQQ=NAM'QQQ+1		;COUNT NUMBER IN MAIN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 8-2
C11DTE.MAC    04-JAN-83 11:22			CKVECT, CKVEC1

  4058					.IIF GE,<NUMV-1>,	.WORD	NAM'VA'NUM		;VECTOR A FOR DEV NAM'11
  4059					.IIF GE,<NUMV-2>,	.WORD	NAM'VB'NUM		;VECTOR B FOR DEV NAM'11
  4060					.IIF GE,<NUMV-3>,	.WORD	NAM'VC'NUM		;VECTOR C FOR DEV NAM'11
  4061					.IIF GE,<NUMV-4>,	.WORD	NAM'VD'NUM		;VECTOR D FOR DEV NAM'11
  4062						    .ENDC
  4063					.ENDM	CKVEC1
  4064					;
  4065					.MACRO	LDVECT	DEV
  4066						    .IF DF DEV'INT
  4067						MOV	#DEV'INT,DEV'VEC		;SET DEV TO GO TO DEV'VEC
  4068						MOV	#DEV'LVL*40,DEV'VEC+2		; AND SET THE LEVEL.
  4069						    .IFF
  4070						MOV	0,@#0			;LEAVE ROOM FOR ENTRY TO BE PATCHED
  4071						MOV	2,@#2			;
  4072						    .ENDC
  4073					.ENDM	LDVECT
  4074					 
  4075					;
  4076					;  LIMIT FOR INTERRUPT VECTORS WHICH CHECK11 WILL MONITOR
  4077					;
  4078					 
  4079		001300			$$HERE	= <CKNAME-DTEMOP>&177700	;ABSOLUTE ADDRESS OF TOP OF CHK11
  4080		   001				.IF LT,<1000-$$HERE>
  4081	001450'	001300			VCTLIM:	.WORD	$$HERE
  4082						.IFF
  4083					VCTLIM:	.WORD	1000
  4084		   000				.ENDC
  4085					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 8-3
C11DTE.MAC    04-JAN-83 11:22		CHK11 DEVICE NAME TABLE

  4087					.SBTTL	CHK11 DEVICE NAME TABLE
  4088					;
  4089					.MACRO	NAMSTR	DEV,ABBR
  4090					N.'ABBR'11:
  4091							.ASCIZ	"DEV"
  4092					.ENDM	NAMSTR
  4093					;
  4094					;NOTE: THIS LIST IS ALPHABETIZED BY DEVICE NAME, NOT DEVICE ABBREVIATION
  4095					;
  4096	001452'					NAMSTR	<CD20>,CD
  4097	001457'					NAMSTR	<CR11>,CR
  4098	001464'					NAMSTR	<CTY IN>,CI
  4099	001473'					NAMSTR	<CTY OUT>,CO
  4100	001503'					NAMSTR	<DH11>,DH
  4101	001510'					NAMSTR	<DJ11>,DJ
  4102	001515'					NAMSTR	<DL10>,DL0
  4103	001522'					NAMSTR	<DL11-A>,DL.A
  4104	001531'					NAMSTR	<DL11-E>,DL.E
  4105	001540'					NAMSTR	<DM11-BB>,DM
  4106	001550'					NAMSTR	<DMC11>,DMC
  4107	001556'					NAMSTR	<DN11>,DN
  4108	001563'					NAMSTR	<DP11>,DP
  4109	001570'					NAMSTR	<DQ11>,DQ
  4110	001575'					NAMSTR	<DS11>,DS
  4111	001602'					NAMSTR	<DTE20>,DTE2
  4112	001610'					NAMSTR	<DU11>,DU
  4113	001615'					NAMSTR	<DUP11>,DUP
  4114	001623'					NAMSTR	<DV11>,DV
  4115	001630'					NAMSTR	<DZ11>,DZ
  4116	001635'					NAMSTR	<KG11-A>,KG
  4117	001644'					NAMSTR	<KMC11>,KMC
  4118	001652'					NAMSTR	<KT11>,KT
  4119	001657'					NAMSTR	<KW11-L>,KW.L
  4120	001666'					NAMSTR	<KW11-P>,KW.P
  4121	001675'					NAMSTR	<LK11>,LK
  4122	001702'					NAMSTR	<LP11>,LE
  4123	001707'					NAMSTR	<LP20>,LP
  4124	001714'					NAMSTR	<MF11-UP>,MM
  4125	001724'					NAMSTR	<null device>,NL
  4126	001740'					NAMSTR	<PA611-P>,P6
  4127	001750'					NAMSTR	<PA611-R>,R6
  4128	001760'					NAMSTR	<PP11>,PP
  4129	001765'					NAMSTR	<PR11>,PR
  4130	001772'					NAMSTR	<RC11>,RC
  4131	001777'					NAMSTR	<RF11>,RF
  4132	002004'					NAMSTR	<RK11>,RK
  4133	002011'					NAMSTR	<RH11>,RH
  4134	002016'					NAMSTR	<RP11-C>,RP
  4135	002025'					NAMSTR	<RX11>,RX
  4136	002032'					NAMSTR	<TA11>,TA
  4137	002037'					NAMSTR	<TC11>,TC
  4138	002044'					NAMSTR	<TM11>,TM
  4139		002052'				.EVEN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 8-4
C11DTE.MAC    04-JAN-83 11:22		CHK11 DEVICE NAME TABLE

  4141	002052'	000001			CHKFLG:	.BLKW	1		;CHK11 FLAGS
  4142		000001				CKFERR=	B0		;ERROR DETECTED
  4143		100000				CKFIDT=	B15		;ID ALREADY TYPED
  4144	002054'	000001			CKDEVN:	.BLKW	1		;UNIT # CURRENTLY BEING TESTED
  4145	002056'	000001			CKDNAM:	.BLKW	1		;ADR OF DEVICE NAME(.ASCIZ)
  4146					;
  4147	002060'	000001			CK.CAL:	.BLKW	1		;RETURN ADDRESS TO CALLER OF CHK11
  4148	002062'	000001			CK.DTE:	.BLKW	1		;DTE CSR ADDRESS (FOR REMOTE REPORTING)
  4149					;
  4150	002064'	000001			PHYLIM:	.BLKW	1		;LIMIT OF PHYSICAL MEMORY (BLOCKS)
  4151		000060			NLINES	= 48.			;NUMBER OF DMC/KMC LINES, 4 PER DEVICE
  4152	002066'	000000			MDCSRP:	.WORD	0		;POINTER INTO MDCSR TABLE
  4153	002070'	000000	000000	000000	MDCSR:	.WORD	0,0,0,0,0,0,0,0	; (TWELVE ENTRIES FOR NOW)
	002076'	000000	000000	000000
	002104'	000000	000000
  4154	002110'	000000	000000	000000			0,0,0,0		;
	002116'	000000
  4155					;
  4156	002120'	000207			CKPOPJ:	RTS	PC		;CKPOPJ IS THE GENERAL NULL SUBROUTINE
  4157	002122'	000000			CKHALT:	HALT			;CKHALT IS THE HARD ERROR ROUTINE
  4158					.IIF NDF CKADLX,CKADLX=CKPOPJ
  4159					.IIF NDF CKAMEM,CKAMEM=CKPOPJ
  4160					.IIF NDF CKAKW1,CKAKW1=CKPOPJ
  4161					.IIF NDF CKAKG1,CKAKG1=CKPOPJ
  4162					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 9
C11DTE.MAC    04-JAN-83 11:22		CHK11 DEVICE NAME TABLE

  4164
  4165					.SBTTL **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
  4166					;
  4167	002124'				CHK.11:	SPL	7		;PROCESSOR LEVEL TO 7
  4168	002132'	010137	002062'			MOV	R1,CK.DTE	;SAVE THE
  4169	002136'	010446				MOV	R4,-(SP)	;  LOADER'S
  4170	002140'	010546				MOV	R5,-(SP)	;  REGISTERS
  4171	002142'	010037	002060'			MOV	R0,CK.CAL	;SAVE RETURN ADDRESS
  4172	002146'	012705	016610'			MOV	#CHKSTK,R5	;GET OUR OWN STACK
  4173	002152'	010645				MOV	SP,-(R5)	;CHAIN TO CALLER'S STACK
  4174	002154'	010506				MOV	R5,SP		;SWITCH CONTROL
  4175	002156'	012737	000300	011520'		MOV	#FLOATV,CHKFLV	;FLOATING INT VEC BEGIN HERE
  4176	002164'	012737	160000	011522'		MOV	#FLOATD,CHKFLD	;FLOATING DEV ADR'S BEGIN HERE
  4177	002172'	005037	002052'			CLR	CHKFLG		;CLEAR CHK11 FLAGS
  4178	002176'	005037	016252'			CLR	CKSPCD		;CLEAR STOP CODE; NON 0 ON FATAL
  4179									; ERROR PUTS C(CKSPCD) IN R0.
  4180					;
  4181					;INITIALIZE VECTOR SPACE
  4182					;
  4183					; THIS ROUTINE LOADS THE VECTOR AREA WITH ADDRESSES POINTING
  4184					;   INTO TABLE/CODE CHKINT - CHKINT IS USED TO FIELD MOST CHK11
  4185					;   INTERRUPTS AND CAN TELL WHICH VECTOR WAS USED BY DECODING
  4186					;   THE CONDITION CODE BITS AND THE ENTRY IN CHKINT WHICH WAS USED -
  4187					;   THE REFERENCES TO "LIMIT" AND "ADD #CHKISZ,R1" IN THE CODE BELOW
  4188					;   ARE WHAT DETERMINE THE CHKINT ENTRY LOCATION
  4189					;
  4190	002202'	013703	000014		CKINTS:	MOV	@#14,R3		;SAVE ODT ADDRESS
  4191	002206'	005000				CLR	R0		;START LOADING AT ADR 0
  4192	002210'	012701	011356'			MOV	#CHKINT,R1	;WHERE TO GO ON INTERRUPT
  4193	002214'	012702	000340			MOV	#BR7,R2		;INTERRUPT PS
  4194									;
  4195	002220'	010120			33$:	MOV	R1,(R0)+	;SET INTERRUPT VECTOR
  4196	002222'	010220				MOV	R2,(R0)+	;SET INTERRUPT LEVEL
  4197	002224'	005202				INC	R2		;UP VECTOR COUNTER
  4198	002226'	032700	000077			BIT	#77,R0		;HAVE WE HIT A LIMIT ?
  4199	002232'	001004				BNE	35$		;NO
  4200	002234'	062701	000012			ADD	#CHKISZ,R1	;YES, CHANGE VECT TO NEXT CHKINT BLOCK
  4201	002240'	012702	000340			MOV	#BR7,R2		;RESET PS
  4202	002244'	020037	001450'		35$:	CMP	R0,VCTLIM	;FILL VECTORS UP TO VECTOR LIMIT
  4203	002250'	103763				BLO	33$		;MORE TO DO
  4204									;
  4205	002252'	012737	015600'	000034		MOV	#CHKERR,TRPVEC	;WHERE TO GO ON TRAP INSTRUCTION
  4206	002260'	010337	000014			MOV	R3,@#14		;RESTORE ODT ADDRESS
  4207	002264'					FALLR	CHKCTY		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 9-1
C11DTE.MAC    04-JAN-83 11:22		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4209					;NOW CHECK THE CTY (CONSOLE TTY)
  4210					;
  4211	002264'	012737	002336'	000004	CHKCTY:	MOV	#10$,NXMVEC	;WHERE TO TRAP IF NO CTY
  4212	002272'	042737	100000	002052'		BIC	#CKFIDT,CHKFLG	;SO WE PRINT DEV ID
  4213	002300'	012737	100000	014524'		MOV	#100000,CKTRPT	;ASSUME A CTY EXISTS AS THE REPORT DEV
  4214	002306'	005737	177564			TST	CTOSTS		;IF ANY OF THESE FOUR TST'S TRAPS
  4215	002312'	005737	177566			TST	CTOCHR		;  THEN WE DEEM THERE IS NO CTY
  4216	002316'	005737	177560			TST	CTISTS		;
  4217	002322'	005737	177562			TST	CTICHR		;
  4218	002326'	012737	015534'	000004		MOV	#CKBUST,NXMVEC	;CTY EXISTS, RESET BUS ERROR VECTOR
  4219	002334'	000411				BR	14$		;
  4220									;
  4221	002336'	022626				10$:	CMP	(SP)+,(SP)+	;POP TRAP
  4222	002340'	012737	000200	014524'			MOV	#200,CKTRPT ;NO CTY EXISTS, ASSUME REMOTE REPORTING
  4223	002346'	012737	015534'	000004			MOV	#CKBUST,NXMVEC ;RESET BUS ERROR VECTOR
  4224	002354'	000137	002676'				JMP	CHKCKD	;SKIP TO END OF CTY CHECK
  4225									;
  4226	002360'				14$:				; CHECK TO SEE IF CTY OUTPUT SHOULD BE
  4227									;    SUPPRESSED OR DIVERTED OR BOTH
  4228	002360'	012702	100000			MOV	#100000,R2	;PLAN TO DIRECT OUTPUT TO CTY
  4229		000000				.REPT	0	;***OMITTED***;
  4230					30$:	JSR	R0,CKTCRL	;ASK FOR DIRECTION
  4231						.ASCIZ	"IS THIS CTY THE DEFAULT REPORTING DEVICE? (Y OR N) "<377>
  4232						.EVEN			;
  4233						JSR	PC,CKGYES	;WAIT FOR ANSWER
  4234						BCS	30$		;
  4235						BEQ	40$		;"YES"
  4236						CLR	R2		;"NO", DON'T OUTPUT TO CTY
  4237					40$:	JSR	R0,CKTCRL	;CHECK FOR REMOTE REPORTING
  4238						.ASCIZ	"IS OUTPUT TO BE DIRECTED TO A REMOTE RECORDER? (Y OR N) "<377>
  4239						.EVEN			;
  4240						JSR	PC,CKGYES	;WAIT FOR ANSWER
  4241						BCS	40$		;
  4242						BNE	50$		;"NO", DON'T OUTPUT REMOTELY
  4243						.ENDR		;***OMITTED PART***;
  4244	002364'	052702	000200			BIS	#200,R2		;REPORT OUTPUT REMOTELY
  4245	002370'	010237	014524'		50$:	MOV	R2,CKTRPT	;SAVE REQUESTED MODE
  4246									;TEST CTY
  4247	002374'	012704	177564			MOV	#CTOSTS,R4	;CTY OUTPUT STATUS
  4248	002400'	010437	016254'			MOV	R4,CHKCHR+CKDA	;DEV ADR
  4249	002404'	010401				MOV	R4,R1		;CHKBIT NEEDS ADR IN R1
  4250	002406'	012737	000064	016256'		MOV	#CTOVEC,CHKCHR+CKDV;CTY OUTPUT VECTOR
  4251	002414'	012737	001473'	002056'		MOV	#N.CO11,CKDNAM	;NAME ADDRESS
  4252	002422'	005037	002054'			CLR	CKDEVN		;DEVICE 0
  4253	002426'	004537	010416'			JSR	R5,CHKBIT	;CHECK THE FOLLOWING BITS FOR R/W
  4254	002432'	000104				.WORD	CO.INE!CO..MM	;BITS TO CHECK FOR R/W
  4255	002434'	012714	000100			MOV	#CO.INE,(R4)	;ENABLE INTERRUPTS
  4256	002440'	004537	010644'			JSR	R5,CHKINL	;CHECK INTERRUPT AND FIND DEV LEVEL
  4257	002444'	177777				.WORD	ALLBTS		;TIME LOOP CONSTANT
  4258	002446'	005014				CLR	(R4)		;CLR DEV OUT
  4259									;
  4260	002450'					FALLR	CHKCKB		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 9-2
C11DTE.MAC    04-JAN-83 11:22		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4262					;NOW CHECK THE KBRD SECTION
  4263					;
  4264	002450'	042737	100000	002052'	CHKCKB:	BIC	#CKFIDT,CHKFLG	;PRINT DEV ID
  4265	002456'	012704	177560			MOV	#CTISTS,R4	;KBRD STATUS REG
  4266	002462'	010437	016254'			MOV	R4,CHKCHR+CKDA	;DEV ADR
  4267	002466'	010401				MOV	R4,R1		;CHKBIT NEEDS ADR IN R1
  4268	002470'	012737	000060	016256'		MOV	#CTIVEC,CHKCHR+CKDV ;VECTOR ADR
  4269	002476'	012737	001464'	002056'		MOV	#N.CI11,CKDNAM	;ADR OF DEV NAME
  4270	002504'	004537	010416'			JSR	R5,CHKBIT	;CHECK THE FOLLOWING BITS
  4271	002510'	000100				.WORD	CI.INE		;BITS TO CHECK R/W
  4272									;
  4273	002512'	012700	001366'		15$:	MOV	#CKNAME,R0	;GET ADDR OF .ASCIZ \PROG NAME\
  4274	002516'	004737	014526'			JSR	PC,CKTTXT	;TYPE PROGRAM NAME, ETC.
  4275	002522'	010002				MOV	R0,R2		;GET ADDR OF EDIT DATA (FOLLOWS PROG NAME)
  4276	002524'	004037	014566'			JSR	R0,CKTCRL	;
  4277	002530'	062566	071562	067551		.ASCIZ	"version "	;
	002536'	020156	   000
  4278		002542'				.EVEN			;
  4279	002542'	012200				MOV	(R2)+,R0	;GET MAJOR VERSION NUMBER
  4280	002544'	004737	014614'			JSR	PC,CKTOCT	;TYPE IT
  4281	002550'	012201				MOV	(R2)+,R1	;GET MINOR VERSION LETTER
  4282	002552'	001402				BEQ	20$		;NOT THERE
  4283	002554'	004737	014666'			JSR	PC,CKTCHR	;TYPE IT
  4284	002560'	112701	000050		20$:	MOVB	#'(,R1		;TYPE EDIT NUMBER IN ()
  4285	002564'	004737	014666'			JSR	PC,CKTCHR	;
  4286	002570'	012200				MOV	(R2)+,R0	;GET EDIT NUMBER
  4287	002572'	004737	014614'			JSR	PC,CKTOCT	;TYPE IT
  4288	002576'	112701	000051			MOVB	#'),R1		;
  4289	002602'	004737	014666'			JSR	PC,CKTCHR	;
  4290		   001				    .IF DF ED.HIS	;DO NEXT ONLY IF LAST EDIT HISTORY REQ'D
  4291	002606'	004037	014572'			JSR	R0,CKTSTR	;
  4292	002612'	067440	020146	   000		.ASCIZ	" of "		;
  4293		002620'				.EVEN			;
  4294	002620'	012200				MOV	(R2)+,R0	;DATE STRING ADDRESS
  4295	002622'	004737	014526'			JSR	PC,CKTTXT	;
  4296	002626'	004037	014572'			JSR	R0,CKTSTR	;
  4297	002632'	061040	020171	   000		.ASCIZ	" by "		;
  4298		002640'				.EVEN			;
  4299	002640'	012200				MOV	(R2)+,R0	;
  4300	002642'	004737	014526'			JSR	PC,CKTTXT	;
  4301		   000				    .ENDC ;DF ED.HIS	;
  4302	002646'	004037	014566'			JSR	R0,CKTCRL	;
  4303	002652'	062524	072163	067151		.ASCIZ	"Testing begins..."<15><12>
	002660'	020147	062542	064547
	002666'	071556	027056	006456
	002674'	000012
  4304						.EVEN			;
  4305									;
  4306	002676'				CHKCKD:	FALLR	CKCPU		;
  4307					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 10
C11DTE.MAC    04-JAN-83 11:22		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4309
  4310					; DETERMINE PROCESSOR MODEL NUMBER
  4311					;
  4312	002676'	004037	014566'		CKCPU:	JSR	R0,CKTCRL	;
  4313	002702'	044124	020105	051120		.ASCIZ	"THE PROCESSOR SEEMS TO BE A "
	002710'	041517	051505	047523
	002716'	020122	042523	046505
	002724'	020123	047524	041040
	002732'	020105	020101	   000
  4314		002740'				.EVEN			;
  4315									;
  4316	002740'	012700	003126'			MOV	#CKWRD,R0	;GET ADDRESS OF TEST WORD
  4317					;;;;	MOV	R0,(R0)+	;STORE AND AUTOINC ON SAME REGISTER
  4318	002744'	010020				.WORD	10020		;	(PRE-ASSEMBLE TO PREVENT Z ERROR)
  4319	002746'	012700	002770'			MOV	#5$,R0		;GET BUMPER TABLE ADDRESS
  4320	002752'	023727	003126'	003126'		CMP	CKWRD,#CKWRD	;BUMP BEFORE STORE?
  4321	002760'	001402				BEQ	3$		;NO, CPU IS NEWER THAN THAT
  4322									;YES, CPU IS OF /20 /40 VINTAGE
  4323	002762'	062700	000004			ADD	#9$-5$,R0	;MODIFY ADDRESS INTO BUMPER TABLE
  4324									;
  4325	002766'				3$: ;;;	JMP	(R0)+		;BUMP BEFORE JUMP?
  4326	002766'	000120				.WORD	120		;	(PRE-ASSEMBLE TO PREVENT Z ERROR)
  4327	002770'	000403			5$:	BR	10$		;NO, CPU IS LIKE /04 /34 /45
  4328	002772'	000562				BR	CK05		;YES, CPU IS /05 /10
  4329									;BUMP BEFORE JUMP?
  4330	002774'	000572			9$:	BR	CK40		;NO, CPU IS /40
  4331	002776'	000563				BR	CK20		;YES, CPU IS /15 OR /20
  4332									;
  4333	003000'				10$:				;CPU IS /04 /34/ OR /40 OR HIGHER
  4334	003000'	013746	000004			MOV	@#4,-(SP)	;SAVE BUS ERROR VECTOR
  4335	003004'	012737	003044'	000004		MOV	#20$,@#4	;SET LOCAL ONE
  4336	003012'	012700	177770			MOV	#177770,R0	;TRY TO FIND NONEXISTENT MEMORY
  4337	003016'	005710			15$:	TST	(R0)		;IS THIS MEMORY HERE?
  4338	003020'	162700	000002			SUB	#2,R0		;YES, THERE WAS NO TRAP
  4339	003024'	001374				BNE	15$		;LOOK AGAIN (UNLESS ALL MEMORY SEEN)
  4340									;THIS IS RIDICULOUS! THERE ARE NO HOLES
  4341									;  IN MEMORY, OR THE BUS ERROR TRAPPER
  4342									;  DOESN'T WORK
  4343	003026'				17$:	CK11SC	CKEPC,<NO NXM??>,<NO NONEXISTENT MEMORY TRAP>
  4344	003030'	047516	047040	046530		.ASCIZ	"NO NXM??"	;
	003036'	037477	   000
  4345		003042'				.EVEN			;
  4346	003042'	000410				BR	26$		;
  4347									;
  4348	003044'	012737	003060'	000004	20$:	MOV	#25$,@#4	;SET UP NEXT BUS ERROR ADDRESS
  4349	003052'	010001				MOV	R0,R1		;COPY ADDRESS WHICH DIDN'T ANSWER
  4350	003054'	010220				MOV	R2,(R0)+	;REPEAT TRAP
  4351	003056'	000763				BR	17$		;YOU CAN'T GET HERE UNLESS TRAP FAILS
  4352	003060'	062706	000010		25$:	ADD	#10,SP		;POP BOTH TRAPS
  4353	003064'	012637	000004		26$:	MOV	(SP)+,@#4	;RESTORE SAVED BUS ERROR VECTOR
  4354	003070'	020001				CMP	R0,R1		;DID R0 POP DURING TRAP?
  4355	003072'	001517				BEQ	CK04		;NO, CPU IS /04
  4356	003074'	013746	000010			MOV	@#10,-(SP)	;YES, SAVE RESERVED INSTRUCTION VECTOR
  4357	003100'	012737	003114'	000010		MOV	#30$,@#10	;SET UP A NEW ONE
  4358	003106'	005000				CLR	R0		;R0 WILL STAY CLEAR IF CPU IS /45
  4359	003110'	106700				.WORD	106700		;11/34 MFPS INSTR (OP NAME=A MACRO NAME)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 10-1
C11DTE.MAC    04-JAN-83 11:22		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4360	003112'	005200				INC	R0		;DIDN'T TRAP, CPU IS /34 (OR /03)
  4361	003114'	012637	000010		30$:	MOV	(SP)+,@#10	;RESTORE RES INSTR VECTOR
  4362	003120'	005700				TST	R0		;WAS THERE A TRAP?
  4363	003122'	001114				BNE	CK34		;NO, CPU IS 11/34
  4364	003124'	000521				BR	CK45		;YES, CPU IS 11/45
  4365									;
  4366	003126'	000000			CKWRD:	.WORD	0		;CPU ID TEST WORD
  4367	003130'	000000			CKCPUN:	.WORD	0		;CPU MODEL NUMBER (DECIMAL)
  4368						    .ENABL LSB		;
  4369	003132'	   004			4$:	.BYTE	4.
  4370	003133'	   113	030504	026461		.ASCIZ	"KD11-D (11/04)"
	003140'	020104	030450	027461
	003146'	032060	000051
  4371	003152'	   005			5$:	.BYTE	5.
  4372	003153'	   113	030504	026461		.ASCIZ	"KD11-B (11/05 OR 11/10)"
	003160'	020102	030450	027461
	003166'	032460	047440	020122
	003174'	030461	030457	024460
	003202'	   000
  4373	003203'	   024			20$:	.BYTE	20.
  4374	003204'	040513	030461	024040		.ASCIZ	"KA11 (11/20) OR KC11 (11/15)"
	003212'	030461	031057	024460
	003220'	047440	020122	041513
	003226'	030461	024040	030461
	003234'	030457	024465	   000
  4375	003241'	   042			34$:	.BYTE	34.
  4376	003242'	042113	030461	042455		.ASCIZ	"KD11-E (11/34)"
	003250'	024040	030461	031457
	003256'	024464	   000
  4377	003261'	   050			40$:	.BYTE	40.
  4378	003262'	042113	030461	040455		.ASCIZ	"KD11-A (11/35 OR 11/40)"
	003270'	024040	030461	031457
	003276'	020065	051117	030440
	003304'	027461	030064	000051
  4379	003312'	   055			45$:	.BYTE	45.
  4380	003313'	   113	030502	026461		.ASCIZ	"KB11-A (11/45)"
	003320'	020101	030450	027461
	003326'	032464	000051
  4381						.EVEN			;
  4382									;
  4383	003332'	012700	003132'		CK04:	MOV	#4$,R0		;
  4384	003336'	000417				BR	CKCPUE		;
  4385									;
  4386	003340'	012700	003152'		CK05:	MOV	#5$,R0		;
  4387	003344'	000414				BR	CKCPUE		;
  4388									;
  4389	003346'	012700	003203'		CK20:	MOV	#20$,R0		;
  4390	003352'	000411				BR	CKCPUE		;
  4391									;
  4392	003354'	012700	003241'		CK34:	MOV	#34$,R0		;
  4393	003360'	000406				BR	CKCPUE		;
  4394									;
  4395	003362'	012700	003261'		CK40:	MOV	#40$,R0		;
  4396	003366'	000403				BR	CKCPUE		;
  4397									;
  4398	003370'	012700	003312'		CK45:	MOV	#45$,R0		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 10-2
C11DTE.MAC    04-JAN-83 11:22		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4399	003374'	000400				BR	CKCPUE		;
  4400						    .DSABL LSB		;
  4401									;
  4402	003376'	112037	003130'		CKCPUE:	MOVB	(R0)+,CKCPUN	;SAVE PROCESSOR MODEL NUMBER AWAY FOR REFERENCE
  4403	003402'	004737	014526'			JSR	PC,CKTTXT	;TYPE OUT THE ID TEXT
  4404		   001				    .IF NE 1
  4405	003406'	004037	014566'			JSR	R0,CKTCRL	;TYPE OUT EXPECTED MODEL NUMBER
  4406	003412'	041411	045510	030461		.ASCIZ	"	CHK11 EXPECTED AN 11/"
	003420'	042440	050130	041505
	003426'	042524	020104	047101
	003434'	030440	027461	   000
  4407		003442'				.EVEN			;
  4408	003442'	012700	000042			MOV	#PDP11,R0	;ADD NUMBER
  4409	003446'	004737	014762'			JSR	PC,CKTDEC
  4410		   000				    .ENDC ;NE 1
  4411									;
  4412	003452'					FALLR	CKDLXB		;FALL INTO DL10 SEEKER
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 10-3
C11DTE.MAC    04-JAN-83 11:22		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4414					;DETERMINE THE DL10 BASE ADDRESS
  4415					;
  4416					;
  4417					.IIF NDF FTDL10,FTDL10=0
  4418					;
  4419	003452'				CKDLXB:
  4420		   001				    .IF NE FTDL10
  4421						MOV	#CHKFFB,R0		;SET ADDRESS TO START LOOKING FOR A DL10
  4422						CLR	DL10AD			;SET FOR NO DL10
  4423						MOV	#10$,NXMVEC		;WHERE TO GO ON A NXM
  4424					3$:	MOV	#DL.CNX!DL.CPE!DL.CWC!DL.11C,R1	;BITS TO SET IN DL10
  4425						MOV	(R0),R2			;SAVE CONTENTS AS IT MAY BE CORE
  4426						BIS	R1,(R0)			;CLEAR THESE CONDITIONS IF DL10
  4427										; OR IF MEMORY BITS WILL BE SET
  4428						ASL	R1			;POSITION BITS FOR SETTING CONDITIONS
  4429						CLR	(R0)			;SEE IF SOMETHING THERE AND CLEAR IF IT IS THERE
  4430						TST	(R0)			;MAKE SURE ITS CLEAR SINCE ITS THERE
  4431						BEQ	1$			;BRANCH IF IT CLEARED
  4432						CLR	-(SP)			;RESULT SHOULD BE 0
  4433						MOV	(R0),-(SP)		;SAVE WHAT IT WAS
  4434						MOV	R0,-(SP)			;SAVE THE ADDRESS WHERE IT HAPPENED
  4435						CK11SC	<CKEPC!CKEGB>,<Can't Clear DL10 or MEM>,<CLR @R0 DIDN'T CLEAR @R0>,<S..D
  4436						.ASCIZ	\Can't Clear DL10 or MEM\<377>
  4437						.EVEN
  4438						BR	1$			;
  4439					1$:	BIS	R1,(R0)			;NOW SET DL10 BITS
  4440						CMP	R1,(R0)			;SEE IF THEY SET BE IT MEMORY OR DL10
  4441						BEQ	2$			;BRANCH IF THE SET OK
  4442						CKSERR	R1,<(R0)>,R0		;SAVE GD,BD,ADR
  4443						CK11SC	<CKEPC!CKEGB>,<DL10 or Mem Err>,<EITHER DL10 IS BAD OR MEMORY IS BAD>,<S
  4444						.ASCIZ	\DL10 or Mem Err\<377>
  4445						.EVEN
  4446						BR	2$			;
  4447					2$:	CLC				;CARRY MUST BE CLR
  4448						ROR	R1			;SHIFT TO CLEAR BITS JUST SET
  4449						BIS	R1,(R0)			;SET BITS, IF DL10 ALL BITS SHOULD BE 0
  4450						TST	(R0)			;SEE IF ALL 0
  4451						BEQ	4$			;BRANCH IF SO
  4452					6$:	MOV	R2,(R0)			;RESTORE MEMORY
  4453					7$:	ADD	#4000,R0		;GO TO NEXT POSSIBLE DL10 ADR
  4454						CMP	R0,#160000		;TIME TO STOP CHECKING FOR DL10?
  4455						BLO	3$			;BRANCH IF NOT
  4456						BR	5$			;NEVER FOUND A DL10
  4457										;
  4458					10$:	ADD	#4,P			;FLUSH NXM TRAP
  4459						BR	7$			;GO CHECK NEXT POSSIBLE ADR
  4460										;
  4461					4$:					;DL10 FOUND
  4462						MOV	R0,DL10AD		;PUT DL10 BASE ADDR WE FOUND AWAY
  4463						JSR	PC,CKADLX		;PRINT DL10 BASE ADDR
  4464		   000				    .ENDC ;NE FTDL10
  4465	003452'				5$:	FALLR	CHKMAP			;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 10-4
C11DTE.MAC    04-JAN-83 11:22		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4467					; CHECK TO SEE IF SYSTEM IS MAPPED
  4468					;
  4469	003452'				CHKMAP:
  4470						    .IIF NDF MMGSR0,MMGSR0 = 177572
  4471									;
  4472	003452'	012737	003466'	000004		MOV	#48$,NXMVEC	;SET UP BUS ERROR VECTOR
  4473	003460'	013700	177572			MOV	MMGSR0,R0	;READ MEM MGT STATUS
  4474									;
  4475		   001				    .IF NDF M$$MGE
  4476						CK11SC	<CKEMSG>,<WRONG VERSION>
  4477						.ASCIZ	"A NON-MAPPING CHK11 IS LOADED ON A MAPPED SYSTEM"<15><12><377>
  4478						.EVEN			;
  4479						BR	63$		;
  4480									;
  4481					48$:	CMP	(SP)+,(SP)+	;POP TRAP, IGNORE IT (IT WAS HOPED FOR)
  4482						FALLR	63$		;DROP RIGHT OUT
  4483						    .IFF
  4484	003464'	000433				BR	63$		;NO TRAP, THAT'S WHAT WAS EXPECTED
  4485									;TRAP, REPORT
  4486	003466'				48$:	CK11SC	<CKEMSG>,<WRONG VERSION>
  4487	003470'	020101	040515	050120		.ASCIZ	"A MAPPING CHK11 IS LOADED ON UNMAPPED HARDWARE"<15><12><377>
	003476'	047111	020107	044103
	003504'	030513	020061	051511
	003512'	046040	040517	042504
	003520'	020104	047117	052440
	003526'	046516	050101	042520
	003534'	020104	040510	042122
	003542'	040527	042522	005015
	003550'	000377
  4488	003552'					ABORT			;
  4489						.EVEN			;
  4490		   000				    .ENDC ;NDF M$$MGE
  4491	003554'				63$:	FALLR	CHKMMG		;CHECK MEMORY MGT
  4492					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 11
C11DTE.MAC    04-JAN-83 11:22		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4494
  4495					.SBTTL		CHECK KT11 HARDWARE
  4496					;
  4497					;VERIFY MEMORY MANAGEMENT HARDWARE - *** CODED FOR 11/34 SUBSET ***
  4498					;
  4499	003554'				CHKMMG:				;
  4500		   001				    .IF DF M$$MGE
  4501	003554'	004037	014566'			JSR	R0,CKTCRL	;
  4502	003560'	045412	030524	020061		.ASCIZ	<12>"KT11 memory management test"
	003566'	062555	067555	074562
	003574'	066440	067141	063541
	003602'	066545	067145	020164
	003610'	062564	072163	   000
  4503		003616'				.EVEN			;
  4504	003616'	012704	000250			MOV	#MMGVEC,R4	;SAVE ADDRESS OF MEM MGT VECTOR
  4505	003622'	011446				MOV	(R4),-(SP)	;SAVE CURRENT MEM MGT VECTOR
  4506	003624'	012714	004002'			MOV	#25$,(R4)	;SET MEM MGT VECTOR TO "BAD TRAP"
  4507	003630'	012700	077406			MOV	#PD.PLF!<6*PD.AC0>,R0 ;SET UP CONSTANT FOR FULL PAGE, R/W ACCESS
  4508	003634'	032737	000001	177572		BIT	#MG.ENB,MMGSR0	;MEM MGT ALREADY ENABLED?
  4509	003642'	001020				BNE	10$		;YES, DON'T MESS
  4510	003644'	005037	172340			CLR	KISAR0		;NO, SET UP REASONABLY, AS APR0 TO PAGE ZERO
  4511	003650'	010037	172300			MOV	R0,KISDR0	;FULL PAGE ACCESS, R/W, EXPAND UP
  4512	003654'	012737	000200	172342		MOV	#PAGE1B,KISAR1	;MAP THIS PROGRAM TO SELF
  4513	003662'	010037	172302			MOV	R0,KISDR1	;INCLUDE SAME TOTAL ACCESS
  4514	003666'	012737	007600	172356		MOV	#PAGE7B,KISAR7	;SPECIAL MAP TO I/O PAGE
  4515	003674'	010037	172316			MOV	R0,KISDR7	;
  4516	003700'	005237	177572			INC	MMGSR0		;TURN ON MEMORY MANAGEMENT
  4517									;
  4518	003704'				10$:				;RELOCATION CONSISTENCY CHECK
  4519									;
  4520	003704'	013737	172340	172354		MOV	KISAR0,KISAR6	;MAP APR6 TO SAME MEMORY AS APR0
  4521	003712'	013737	172300	172314		MOV	KISDR0,KISDR6	;  AND COPY PDR OVER TOO
  4522	003720'	012701	000302			MOV	#PAGE0+302,R1	;GET POINTERS INTO PAGES 0 AND 6
  4523	003724'	012702	140302			MOV	#PAGE6+302,R2	;  THE OFFSET INTO THE PAGE IS MOSTLY ARBITRARY
  4524									;
  4525	003730'	011146				MOV	(R1),-(SP)	;SAVE THE CURRENT CONTENTS OF THE DIDDLE LOC
  4526	003732'	010712			16$:	MOV	PC,(R2)		;ENSURE TEST LOCATION HAS NON-ZERO CONTENTS
  4527	003734'	005011				CLR	(R1)		;CLEAR THE TEST LOCATION THROUGH THE OTHER PTR
  4528	003736'	005712				TST	(R2)		;DID IT REALLY CLEAR?
  4529	003740'	001015				BNE	20$		;NO, WHAT A SHAME
  4530	003742'	010711				MOV	PC,(R1)		;YES, ENSURE IT'S NOT ZERO AGAIN
  4531	003744'	021112				CMP	(R1),(R2)	;STILL MATCH?
  4532	003746'	001012				BNE	20$		;NO, THAT'S FUNNY, IT WORKED BEFORE
  4533									;
  4534	003750'	023737	172340	172354		CMP	KISAR0,KISAR6	;DONE OFFSET TEST YET?
  4535	003756'	001015				BNE	30$		;YES
  4536	003760'	062737	000002	172354		ADD	#2,KISAR6	;NO, CHANGE APR6 UP
  4537	003766'	162702	000200			SUB	#2*BSFACT,R2	;  AND PAGE POINTER DOWN ACCORDINGLY
  4538	003772'	000757				BR	16$		;REPEAT TEST FOR DIFFERENT RELOCATION ADDRESSES
  4539									;
  4540	003774'				20$:	CK11SC	CKEMSE,101$	;
  4541	004000'	000404				BR	30$		;
  4542	004002'				25$:	CK11SC	CKEMSE,104$	;
  4543	004006'	000400				BR	26$		;
  4544	004010'	000002			26$:	RTI			;
  4545									;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 11-1
C11DTE.MAC    04-JAN-83 11:22			CHECK KT11 HARDWARE

  4546	004012'	012611			30$:	MOV	(SP)+,(R1)	;RESTORE ORIGINAL TEST WORD CONTENTS
  4547									;
  4548									;PAGE LENGTH PROTECTION TEST
  4549									;
  4550	004014'	013737	172340	172354		MOV	KISAR0,KISAR6	;USE VECTOR SPACE AGAIN FOR TEST
  4551	004022'	012737	000406	172314		MOV	#PD.PL0!<6*PD.AC0>,KISDR6 ;SET 2 BLOCK PAGE, R/W, UP
  4552	004030'	012701	000176			MOV	#PAGE0+<2*BSFACT>-2,R1 ;SET PTRS NEAR PAGE BOUNDARY
  4553	004034'	012702	140176			MOV	#PAGE6+<2*BSFACT>-2,R2 ;
  4554	004040'	012146				MOV	(R1)+,-(SP)	;FETCH FROM BELOW BOUNDARY
  4555	004042'	012622				MOV	(SP)+,(R2)+	;WRITE IT BACK, DIFFERENT PTR, SHOULDN'T TRAP
  4556	004044'	012146				MOV	(R1)+,-(SP)	;FETCH FROM ABOVE BOUNDARY, PAGE 0, NO TRAP
  4557	004046'	012714	004062'			MOV	#45$,(R4)	;SET UP TO EXPECT TRAP
  4558	004052'	012622				MOV	(SP)+,(R2)+	;WRITE BACK TO TEST LOCATION, EXPECT TRAP
  4559									;NO TRAP, THAT'S BAD
  4560	004054'				40$:	CK11SC	CKEMSE,107$	;
  4561	004060'	024646				CMP	-(SP),-(SP)	;FAKE TRAP
  4562									;
  4563	004062'	022626			45$:	CMP	(SP)+,(SP)+	;GOOD TRAP, POP IT
  4564	004064'	012714	004002'			MOV	#25$,(R4)	;RESET TO BAD TRAP MSG
  4565	004070'	032737	120000	177572		BIT	#MG.ANR!MG.ARO,MMGSR0 ;TRAP FOR RIGHT REASON?
  4566	004076'	001403				BEQ	47$		;YES, KEEP ON KEEPIN' ON
  4567	004100'					CK11SC	CKEMSE,107$	;NO, GOOD GRIEF!
  4568	004104'	000400				BR	47$		;
  4569	004106'				47$:				;
  4570									;**** CONSIDER ADDING HERE THE SAME TYPE OF
  4571									;     TEST FOR A DOWNWARD EXPANDABLE PAGE ****
  4572									;
  4573									;ACCESS CONTROL MODE TEST
  4574									;
  4575	004106'	013737	172340	172354		MOV	KISAR0,KISAR6	;USE THE VECTOR AREA AGAIN
  4576	004114'	012737	077406	172314		MOV	#PD.PLF+<6*PD.AC0>,KISDR6 ;RESET TO FULL PAGE, FULL ACCESS
  4577	004122'	012702	140052			MOV	#PAGE6+52,R2	;RESET POINTER TO ARBITRARY LOCATION IN PAGE
  4578	004126'	012714	004156'			MOV	#50$,(R4)	;SET UP THE EXPECTED BAD TRAP HANDLER
  4579	004132'	011246				MOV	(R2),-(SP)	;READ (DON'T TRAP)
  4580	004134'	012612				MOV	(SP)+,(R2)	;PUT IT BACK (DON'T TRAP)
  4581	004136'	112737	000002	172314		MOVB	#PD.AC0*2,KISDR6 ;SET PDR FOR READ ONLY ACCESS
  4582	004144'	011246				MOV	(R2),-(SP)	;READ AGAIN (DON'T TRAP)
  4583	004146'	012714	004172'			MOV	#60$,(R4)	;RESET TRAP VECTOR AGAIN
  4584	004152'	012612				MOV	(SP)+,(R2)	;WRITE IT BACK AGAIN, AND FINALLY TRAP!
  4585	004154'	024646				CMP	-(SP),-(SP)	;DIDN'T TRAP, HAVE TO FAKE IT
  4586									;
  4587	004156'					50$:	CK11SC	CKEMSE,110$	;BAD TRAP, OR NON-TRAP, DEPENDING
  4588	004162'	000404					BR	62$		;
  4589										;
  4590	004164'	062716	000002			55$:	ADD	#2,(SP)		;GOOD TRAP, SKIP ERROR BRANCH
  4591	004170'	000002					RTI			;  ON RETURN
  4592									;
  4593	004172'	022626			60$:	CMP	(SP)+,(SP)+	;GOOD TRAP, POP IT
  4594	004174'	012714	004242'		62$:	MOV	#67$,(R4)	;CHANGE TRAP VECTOR STILL AGAIN
  4595	004200'	012737	077404	172314		MOV	#PD.PLF+<PD.AC0*4>,KISDR6 ;SET PDR FOR ILLEGAL ACCESS
  4596	004206'	011201			65$:	MOV	(R2),R1		;TRY TO READ, EXPECT A TRAP
  4597	004210'					CK11SC	<CKEMSE!CKEPC>,110$ ;DIDN'T, ERROR
  4598	004214'	010112				MOV	R1,(R2)		;TRY A WRITE, EXPECT A TRAP
  4599	004216'					CK11SC	<CKEMSE!CKEPC>,110$ ;DIDN'T, ERROR
  4600	004222'	032737	000007	172314		BIT	#PD.ACF,KISDR6	;DONE ALL ACF MODES YET?
  4601	004230'	001511				BEQ	70$		;YES, GO ON
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 11-2
C11DTE.MAC    04-JAN-83 11:22			CHECK KT11 HARDWARE

  4602	004232'	042737	000007	172314		BIC	#PD.ACF,KISDR6	;NO, CLEAR ACF FOR LAST ILLEGAL MODE
  4603	004240'	000762				BR	65$		;REPEAT TEST
  4604									;
  4605	004242'	062716	000004			67$:	ADD	#4,(SP)	;GOOD TRAP, POP IT
  4606	004246'	000002					RTI		;
  4607									;
  4608	004250'	064411	061556	067157	101$:	.ASCIZ	"	inconsistent relocation"<377>
	004256'	064563	072163	067145
	004264'	020164	062562	067554
	004272'	060543	064564	067157
	004300'	000377
  4609	004302'	072411	062556	070170	104$:	.ASCIZ	"	unexpected mem mgt trap"<377>
	004310'	061545	062564	020144
	004316'	062555	020155	063555
	004324'	020164	071164	070141
	004332'	000377
  4610	004334'	066411	066545	066440	107$:	.ASCIZ	"	mem mgt page length protection failure"<377>
	004342'	072147	070040	063541
	004350'	020145	062554	063556
	004356'	064164	070040	067562
	004364'	062564	072143	067551
	004372'	020156	060546	066151
	004400'	071165	177545	   000
  4611	004405'	   011	062555	020155	110$:	.ASCIZ	"	mem mgt access mode control failure"<377>
	004412'	063555	020164	061541
	004420'	062543	071563	066440
	004426'	062157	020145	067543
	004434'	072156	067562	020154
	004442'	060546	066151	071165
	004450'	177545	   000
  4612		004454'				.EVEN			;
  4613									;
  4614	004454'	012614			70$:	MOV	(SP)+,(R4)	;RESTORE PREVIOUS MEMORY MANAGEMENT TRAP VECTOR
  4615						    .IFF
  4616						JSR	R0,CKTCRL	;
  4617						.ASCIZ	"NO MEM MGT TEST"
  4618						.EVEN			;
  4619		   000				    .ENDC ;DF M$$MGE
  4620	004456'					FALLR	CHKCOR		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 11-3
C11DTE.MAC    04-JAN-83 11:22			CHECK KT11 HARDWARE

  4622					; SEE HOW MUCH CORE IS PRESENT
  4623					;
  4624	004456'				CHKCOR:				;
  4625		   001				    .IF NDF M$$MGE
  4626									;UNMAPPED SNIFFER
  4627						CLR	R0		;START SMALL
  4628						MOV	#20$,NXMVEC	;SET BUS TRAP VECTOR
  4629					10$:	TST	(R0)+		;CHECK NEXT LOCATION
  4630						CMP	R0,DL10AD	;SEE IF NEXT WORD IS DL10
  4631						BNE	10$		;
  4632						BR	21$		;
  4633									;
  4634					20$:	CMP	(SP)+,(SP)+	;FLUSH STACK
  4635						SUB	#2,R0		;MAKE 2 LESS SO WE HAVE 1ST NXM LOC
  4636					21$:	MOV	R0,PHYLIM	;SAVE ADR OF 1ST NXM LOCATION
  4637						JSR	PC,CKAMEM	;PRINT LAST MEM LOCATION
  4638						    .IFF
  4639									;MAPPED SNIFFER
  4640	004456'	004037	014566'			JSR	R0,CKTCRL	;ADVERTISE RANGES OF MEMORY
  4641	004462'	050012	054510	044523		.ASCIZ	<12>"PHYSICAL MEMORY HAS ABSOLUTE LIMITS OF "
	004470'	040503	020114	042515
	004476'	047515	054522	044040
	004504'	051501	040440	051502
	004512'	046117	052125	020105
	004520'	044514	044515	051524
	004526'	047440	020106	   000
  4642		004534'				.EVEN			;
  4643	004534'	005037	172354			CLR	KISAR6		;START AT ZERO MEMORY
  4644	004540'	012737	077406	172314		MOV	#PD.PLF!<6*PD.AC0>,KISDR6 ;FULL PAGE, R/W ACCESS
  4645	004546'	005000				CLR	R0		;START OF CURRENT BLOCK ADDRESS
  4646	004550'	005001				CLR	R1		;ACCUMULATED PAGE COUNT
  4647	004552'	005003				CLR	R3		;CURRENT BLOCK PAGE COUNT
  4648	004554'	012737	004574'	000004		MOV	#35$,NXMVEC	;SET UP BUS ERROR VECTOR
  4649									;
  4650	004562'	012702	000100		30$:	MOV	#BSFACT,R2	;SET BYTE COUNT OF PAGE
  4651	004566'	105762	137777		31$:	TSTB	PAGE6-1(R2)	;READ A BYTE FROM THE ADDRESSED PAGE
  4652	004572'	000412				BR	43$		;NO TRAP
  4653									;
  4654	004574'	022626				35$:	CMP	(SP)+,(SP)+	;TRAP, POP IT
  4655	004576'	005703					TST	R3		;ANY PAGES FOUND?
  4656	004600'	001402					BEQ	39$		;NO, SKIP REPORT
  4657	004602'	004737	004762'				JSR	PC,65$		;YES, REPORT RANGE
  4658	004606'	005237	172354			39$:	INC	KISAR6		;COMPUTE NEXT BIAS VALUE
  4659	004612'	013700	172354				MOV	KISAR6,R0	;SAVE IT AS START ADDRESS OF NEXT RANGE
  4660	004616'	000404					BR	52$		;RETURN TO TEST LOOP
  4661									;
  4662	004620'	077216			43$:	SOB	R2,31$		;LOOP OVER ALL BYTES ON CURRENT PAGE
  4663	004622'	005203				INC	R3		;NO TRAP, UP BLOCK COUNT
  4664	004624'	005237	172354			INC	KISAR6		;UP PAGE BIAS
  4665									;
  4666	004630'	023727	172354	007600	52$:	CMP	KISAR6,#PAGE7B	;DONE ALL POSSIBLE MEMORY SPACE?
  4667	004636'	103751				BLO	30$		;NOT YET
  4668									;YES
  4669	004640'	005703				TST	R3		;ANY BLOCKS FOUND AT END OF MEMORY?
  4670	004642'	001402				BEQ	54$		;NO
  4671	004644'	004737	004762'			JSR	PC,65$		;YES, REPORT LAST BLOCK
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 11-4
C11DTE.MAC    04-JAN-83 11:22			CHECK KT11 HARDWARE

  4672	004650'	010137	002064'		54$:	MOV	R1,PHYLIM	;SAVE NUMBER OF BLOCKS OF MEMORY
  4673	004654'	004037	014566'			JSR	R0,CKTCRL	;SUMMARIZE MEMORY SIZE DATA
  4674	004660'	043011	051117	040440		.ASCIZ	"	FOR A TOTAL OF "
	004666'	052040	052117	046101
	004674'	047440	020106	   000
  4675		004702'				.EVEN			;
  4676	004702'	010100				MOV	R1,R0		;
  4677	004704'	006200				ASR	R0		;DIVIDE NUMBER OF 32 WORD BLOCKS
  4678	004706'	006200				ASR	R0		;  BY 32 TO GET NUMBER OF KW
  4679	004710'	006200				ASR	R0		;
  4680	004712'	006200				ASR	R0		;
  4681	004714'	006200				ASR	R0		;
  4682	004716'	004737	014762'			JSR	PC,CKTDEC	;OUTPUT MEMORY SIZE IN KW DECIMAL
  4683	004722'	032701	000037			BIT	#37,R1		;REMAINDER OVER EXACT KW AMOUNT?
  4684	004726'	001402				BEQ	62$		;NO
  4685	004730'					CK11SC	<CKENCL>,<+>,<REMAINDER OVER EVEN K AMOUNT>
  4686	004732'	000053				.ASCIZ	"+"		;
  4687						.EVEN			;
  4688	004734'	004037	014572'		62$:	JSR	R0,CKTSTR	;
  4689	004740'	053513	024040	042504		.ASCIZ	"KW (DECIMAL)"<15><12>
	004746'	044503	040515	024514
	004754'	005015	   000
  4690		004760'				.EVEN			;
  4691	004760'	000432				BR	70$		;
  4692									;
  4693	004762'					65$:	CK11SC	0,<CRLFTAB>	;FEED LINE, SPACE OVER
  4694	004764'	000011					.ASCIZ	"	"	;
  4695							.EVEN			;
  4696	004766'	060301					ADD	R3,R1		;ACCUMULATE TOTAL BLOCKS TO DATE
  4697	004770'	005003					CLR	R3		;CLEAR FOR NEXT TIME
  4698	004772'	004737	014614'				JSR	PC,CKTOCT	;TYPE R0 FOR START BIAS
  4699	004776'	005700					TST	R0		;SKIP LEADING ZEROS IF ZERO
  4700	005000'	001404					BEQ	66$		;
  4701	005002'	004037	014572'				JSR	R0,CKTSTR	;ADD ZEROS FOR FULL ADDRESS
  4702	005006'	030060	   000				.ASCIZ	"00"		;
  4703		005012'					.EVEN			;
  4704	005012'	004037	014572'			66$:	JSR	R0,CKTSTR	;
  4705	005016'	026440	000040				.ASCIZ	" - "		;
  4706							.EVEN			;
  4707	005022'	013700	172354				MOV	KISAR6,R0	;GET END OF BLOCK ADDRESS BIAS
  4708	005026'	005300					DEC	R0		;BACK TO LAST GOOD BIAS
  4709	005030'	004737	014614'				JSR	PC,CKTOCT	;
  4710	005034'	004037	014572'				JSR	R0,CKTSTR	;
  4711	005040'	033467	   000				.ASCIZ	"77"		;
  4712		005044'					.EVEN			;
  4713	005044'	000207					RTS	PC		;
  4714										;
  4715	005046'				70$:				;
  4716		   000				    .ENDC ;NDF M$$MGE
  4717	005046'					FALLR	CKCOR		;
  4718					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 12
C11DTE.MAC    04-JAN-83 11:22			CHECK KT11 HARDWARE

  4720
  4721					.SBTTL		CHECK MEMORY - SLIDING BIT PATTERN
  4722					;
  4723					; PERFORM A SIMPLE READ/WRITE MEMORY TEST -
  4724					;THE PATTERN USED IS A SLIDING BIT, WITH THE
  4725					;BIT IN EACH OF THE 16 BIT POSITIONS AND THE
  4726					;LAST PATTERN BEING ALL 0'S.
  4727					;
  4728	005046'				CKCOR:
  4729		   001				    .IF NDF M$$MGE
  4730						CLR	R0		;FIRST ADR TO CHECK
  4731						MOV	#10$,R1		;LIMIT TO CHECK
  4732									;CHECK IN TWO PIECES, SKIPPING
  4733									;  THE AREA OF THE SUBROUTINE,
  4734									;  SO AS NOT TO CLOBBER OURSELVES
  4735						JSR	PC,10$		;CHECK LOW CORE
  4736						MOV	#CKMPAR,R0	;BEGIN CHECKING HERE NOW
  4737						MOV	PHYLIM,R1	;AND STOP HERE
  4738						JSR	PC,10$		;
  4739						JSR	R0,CKTCRL	;PRINT AMOUNT OF CORE
  4740						.ASCIZ	\   \		;
  4741						.EVEN			;
  4742						MOV	PHYLIM,R0	;GET AMOUNT
  4743						JSR	PC,CKTOCT	;PRINT IT
  4744						JSR	R0,CKTSTR	;FOLLOWED BY MSG:
  4745						.ASCIZ	\ BYTES OF UNMAPPED MEMORY\
  4746						.EVEN			;
  4747						BR	CKMPAR		;ALL OK, SKIP TO PARITY CHECKER
  4748						    .IFF
  4749	005046'	004037	014566'			JSR	R0,CKTCRL	;
  4750	005052'	040515	050120	042105		.ASCIZ	"MAPPED PHYSICAL MEMORY TEST..."
	005060'	050040	054510	044523
	005066'	040503	020114	042515
	005074'	047515	054522	052040
	005102'	051505	027124	027056
	005110'	   000
  4751		005112'				.EVEN			;
  4752	005112'	005037	172354			CLR	KISAR6		;START AT LOWEST POSSIBLE ADDRESS
  4753					;;;;	MOV	#PD.PLF!<6*PD.AC0>,KISDR6 ;FULL PAGE, R/W ACCESS (SET ALREADY)
  4754	005116'	012737	005214'	000004		MOV	#80$,NXMVEC	;SET UP BUS ERROR VECTOR
  4755		002000				CKCPSZ	= 1024.		;SET UP SIZE OF PAGE TO CHECK
  4756	005124'	005001				CLR	R1		;
  4757	005126'	010100			8$:	MOV	R1,R0		;SET UP POINTER, CONSIDERING NON-ZERO START
  4758	005130'	005400				NEG	R0		;CHANGE NEGATIVE WORD COUNT
  4759	005132'	006300				ASL	R0		;  TO POSITIVE BYTE ADDRESS OFFSET
  4760	005134'	062700	140000			ADD	#PAGE6,R0	;MAP THROUGH APR6
  4761	005140'	062701	002000			ADD	#CKCPSZ,R1	;SET UP COUNT TO TEST
  4762	005144'	004737	005276'			JSR	PC,10$		;CALL CHECKER FOR DEFINED PAGE
  4763	005150'	062737	000020	172354		ADD	#CKCPSZ/BSFACT.,KISAR6 ;UP MAPPING REG TO NEXT PAGE
  4764	005156'	023737	172354	002064'		CMP	KISAR6,PHYLIM	;PAST ALL OF PHYSICAL MEMORY?
  4765	005164'	101760				BLOS	8$		;NOT YET
  4766	005166'	004037	014566'			JSR	R0,CKTCRL	;ADVERTISE COMPLETION
  4767	005172'	004411	027056	041456		.ASCIZ	"		...COMPLETE"<15><12>
	005200'	046517	046120	052105
	005206'	006505	000012
  4768						.EVEN			;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 12-1
C11DTE.MAC    04-JAN-83 11:22			CHECK MEMORY - SLIDING BIT PATTERN

  4769	005212'	000512				BR	CKMPAR		;
  4770									;
  4771	005214'				80$:				;THIS TRAP HANDLER IS NEEDED ONLY IF THERE
  4772									;  CAN BE HOLES IN THE PHYSICAL MEMORY
  4773	005214'	021627	005304'			CMP	(SP),#15$	;EXPECTED TRAP FROM CHECKER?
  4774	005220'	001422				BEQ	82$		;OKAY
  4775	005222'					CK11SC	<CKEPC!CKEMSG>,<BAD NXM TRAP IN MEM CHK>
  4776	005224'	040502	020104	054116		.ASCIZ	"BAD NXM TRAP IN MEMORY CHECKER"<377>
	005232'	020115	051124	050101
	005240'	044440	020116	042515
	005246'	047515	054522	041440
	005254'	042510	045503	051105
	005262'	000377
  4777						.EVEN			;
  4778	005264'	000400				BR	82$		;
  4779	005266'	012716	005434'		82$:	MOV	#40$,(SP)	;SET RECOVERY ADDRESS
  4780	005272'	000002				RTI			;RECOVER
  4781		   000				    .ENDC ;NDF M$$MGE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 12-2
C11DTE.MAC    04-JAN-83 11:22			CHECK MEMORY - SLIDING BIT PATTERN

  4783					; MEMORY CHECKER SUBROUTINE, CALLED FROM ABOVE, AND SKIPPED AROUND INLINE
  4784					;
  4785	005274'	000000			1$:	.WORD	0		;LOCAL LOWER LIMIT WORD
  4786	005276'	012702	100000		10$:	MOV	#100000,R2	;SET UP TEST PATTERN
  4787	005302'	011003				MOV	(R0),R3		;SAVE CONTENTS OF OBJECT LOCATION
  4788	005304'				15$:				;LEGAL TRAP OCCURS HERE
  4789	005304'	012737	177777	005274'		MOV	#-1,1$		;SET LIMIT WORD NON-ZERO
  4790	005312'	005010				CLR	(R0)		;CLEAR OBJECT WORD
  4791	005314'	005737	005274'			TST	1$		;REACHED LOWER LIMIT?
  4792	005320'	001006				BNE	20$		;NO, CONTINUE WITH TEST
  4793									;YES, SET VALUES TO SKIP TESTING THIS CODE AREA
  4794	005322'	062700	000142			ADD	#60$-1$,R0	;POINT PAST THIS CODE
  4795	005326'	162701	000061			SUB	#<60$-1$>/2,R1	;ADJUST COUNT FOR SKIPPING TEST
  4796	005332'	003361				BGT	10$		;NO PAGE BREAK RESULTED, RESUME TEST
  4797	005334'	000207				RTS	PC		;CODE COVERS PAGE BREAK, RETURN R1 LE ZERO
  4798									;
  4799	005336'				20$:				;
  4800	005336'	010210			22$:	MOV	R2,(R0)		;STUFF CURRENT PATTERN
  4801	005340'	005110				COM	(R0)		;INVERT IT
  4802	005342'	005110				COM	(R0)		;AND BRING IT BACK
  4803	005344'	021002				CMP	(R0),R2		;DID IT SURVIVE?
  4804	005346'	001411				BEQ	30$		;YES
  4805	005350'					CKSERR	R2,<(R0)>,R0	;SAVE GD,BD,ADR
  4806	005356'					CK11SC	<CKEMSE!CKEPC!CKEGB>,<CKMG01>,<MEMORY ERROR>,<S..MEM>
  4807	005370'	000400				BR	30$		;
  4808	005372'	006302			30$:	ASL	R2		;ADVANCE PATTERN
  4809	005374'	001360				BNE	22$		;REPEAT UNTIL R2 IS ZERO
  4810	005376'	103757				BCS	22$		;  AND EVEN THEN, DO IT ONCE MORE
  4811	005400'	010310				MOV	R3,(R0)		;RESTORE RIGHTFUL DATA
  4812	005402'	005110				COM	(R0)		;BLAP IT, TOO
  4813	005404'	005110				COM	(R0)		;  BACK AND FORTH
  4814	005406'	022003				CMP	(R0)+,R3	;CHECK FOR SURVIVAL AND ADVANCE POINTER
  4815	005410'	001411				BEQ	40$		;OKAY
  4816	005412'					CKSERR	R3,<-(R0)>,R0	;SAVE GD,BD,ADR
  4817	005420'					CK11SC	<CKEMSE!CKEPC!CKEGB>,<CKMG01>,<MEMORY ERROR>,<S..MEM>
  4818	005432'	000400				BR	40$		;
  4819	005434'	077160			40$:	SOB	R1,10$		;DO OVER THE WHOLE DEFINED LIMIT OF THE PAGE
  4820	005436'	000207			60$:	RTS	PC		;THEN RETURN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 12-3
C11DTE.MAC    04-JAN-83 11:22			CHECK MEMORY - SLIDING BIT PATTERN

  4822					; CHECK THE MEMORY PARITY OPTION
  4823					;
  4824	005440'				CKMPAR:					;START CHECKING CORE HERE
  4825		   001			.IF EQ <PDP11-40.>
  4826						MOV	#N.MM11,CKDNAM		;SAVE NAME OF "DEVICE"
  4827						CLR	CKDEVN			;"UNIT" IS 0
  4828						MOV	#MP.REG,R1		;OPTION REGISTER
  4829						MOV	R1,CHKCHR+CKDA		;SAVE ADR IN CASE NEED TO TYPE IT
  4830						MOV	NXMVEC,-(SP)
  4831						MOV	#MP.VEC,CHKCHR+CKDV	;VECTOR FOR INTERRUPTS
  4832						MOV	#60$,NXMVEC		;IN CASE PARITY OPTION NOT INSTALLED
  4833						CLR	MP.REG			;TRY TO CLEAR MEMORY PARITY REGISTER
  4834						MOV	@P,NXMVEC		;RESTORE TRAP VECTOR
  4835						JSR	R5,CHKBIT		;CHECK READ/WRITE BITS
  4836						107745
  4837					;NOW CHECK INTERRUPTS FROM PARITY CONTROL
  4838					; THIS IS DIFFICULT CUZ SETTING MP.ENB & MP.ERR WON'T CAUSE INTERRUPT
  4839						CLR	R0			;VECTOR WE TOOK WILL APPEAR HERE
  4840						MOV	#MP.WWP,@R1		;WE WANT TO WRITE WRONG PARITY
  4841						MOV	CKMPAR,CKMPAR		;WRITE A BAD WORD
  4842					;
  4843						CLR	@R1			;BUT ONLY ONE WORD !
  4844						TST	CKMPAR			;TRY FOR AN INTERRUPT
  4845						NOP				;IN CASE SLOW
  4846						TST	R0			;SEE IF WE GOT ONE
  4847						BEQ	32$
  4848						CK11SC	<CKEMSE!CKEDID!CKEPC>,CKMG07,<INTERRUPTED WHEN NOT ENABLED>
  4849					32$:	MOV	#MP.ENB,@R1		;NOW LETS GET THE INTERRUPT
  4850						TST	CKMPAR
  4851						CLR	@R1			;DISABLE FURTHER INTERRUPTS
  4852						MOV	CKMPAR,CKMPAR		;WRITE BACK RIGHT
  4853						TST	R0			;DID WE GET THE INTERRUPT ?
  4854						BNE	34$
  4855						CK11SC	<CKEDID!CKEMSE!CKEPC>,CKMG04,<INTERRUPT DID NOT OCCUR>
  4856						BR	80$
  4857					;
  4858					34$:	CMP	R0,CHKCHR+CKDV		;WAS INTERRUPT RIGHT?
  4859						BEQ	36$			;YES.
  4860						CKSERR	<CHKCHR+CKDV>,R0,<#CKMPAR>	;GD,BD,ADR
  4861						CK11SC	<CKEMSE!CKEDID!CKEPC!CKEGB>,CKMG05,<interrupted to wrong vector>
  4862						BR	80$			;DONE.
  4863					;
  4864					.PAGE
  4865					; COME HERE IF PARITY OPTION IS PRESENT AND WORKING
  4866					;
  4867					36$:	JSR	R0,CKTCRL		;PRINT MESSAGE ABOUT IT
  4868						.ASCIZ	\     MF11-UP\
  4869						.EVEN
  4870						MOV	#MP.ENB,MP.REG		;ENABLE PARITY ERRORS
  4871						BR	80$			;ALL DONE.
  4872					;
  4873					;HERE IF WE GET A BUS TRAP WHILE ACCESSING THE PARITY CONTROL REG
  4874					60$:	MOV	(SP)+,(SP)+		;CLEAN OFF STACK
  4875						CK11SC	<CKEDID!CKEPC!CKEMSE>,CKMG06,<not found>
  4876					;
  4877		   002			.IF DF MP.ARM
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 12-4
C11DTE.MAC    04-JAN-83 11:22			CHECK MEMORY - SLIDING BIT PATTERN

  4878						MOV	#402,MP.ARM		;MP.ARM CONTAINS A MOV #MP.ENB,MP.REG;
  4879										; THIS TURNS IT INTO A BR .+6
  4880		   001			.ENDC
  4881					80$:	MOV	(SP)+,NXMVEC
  4882					;
  4883		   000			.ENDC;.IF EQ <PDP11-40.>
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 12-5
C11DTE.MAC    04-JAN-83 11:22			CHECK MEMORY - SLIDING BIT PATTERN

  4885					; SEE IF ROM = BM873 OR M9301 IS PRESENT
  4886					;
  4887		   001				    .IF DF FT.ROM
  4888		   002				    .IF NE FT.ROM
  4889					CK.ROM:	MOV	NXMVEC,-(SP)		;SAVE BUS TRAP VECTOR
  4890						MOV	#20$,NXMVEC
  4891						TST	ROMADR			;IS ROM REALLY HERE ?
  4892						BR	90$			;YES
  4893					;
  4894					;HERE BECAUSE ROM NOT PRESENT
  4895					20$:	CLR	GO.ROM			;MAKE JMP ROMADR = HALT
  4896						MOV	(SP)+,(SP)+		;CLEAN OFF STACK
  4897					;
  4898					90$:	MOV	(SP)+,NXMVEC
  4899		   001				    .ENDC;NE FT.ROM
  4900		   000				    .ENDC;DF FT.ROM
  4901					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 13
C11DTE.MAC    04-JAN-83 11:22			CHECK MEMORY - SLIDING BIT PATTERN

  4903
  4904					.SBTTL		CHECK KW11-L HDW
  4905					;
  4906					; BE SURE CLOCK IS PRESENT AND TICKS
  4907					;
  4908	005440'	012737	001657'	002056'	CHKCLK:	MOV	#N.KW.L,CKDNAM		;SET UP FOR NAME
  4909	005446'	042737	100000	002052'		BIC	#CKFIDT,CHKFLG		;SO WE PRINT DEV ID
  4910	005454'	012704	177546			MOV	#CLKWRD,R4		;SET UP DEV ADR
  4911	005460'	010437	016254'			MOV	R4,CHKCHR+CKDA		;SET UP DEVICE ADR
  4912	005464'	012737	000100	016256'		MOV	#CLKVEC,CHKCHR+CKDV	;SET UP VECTOR ADR
  4913	005472'	005037	002054'			CLR	CKDEVN			;DEVICE NUMBER
  4914	005476'	012737	005604'	000004		MOV	#20$,NXMVEC		;SET BUS TRAP IN CASE CLOCK IS NOT PRESENT
  4915	005504'	005714				TST	(R4)			;TRAP IF NOT INSTALLED
  4916	005506'	012737	015534'	000004		MOV	#CKBUST,NXMVEC		;WHERE TO GO ON BUS TRAP
  4917	005514'	013746	000100			MOV	CLKVEC,-(SP)		;SAVE WHERE TO GO ON INT
  4918	005520'	012737	005626'	000100		MOV	#80$,CLKVEC		;SETUP INTERRUPT VECTOR
  4919	005526'	012737	000003	005640'		MOV	#3,CHKTIM		;TIME 3 TICKS
  4920	005534'	005037	177776			CLR	PS			;LET INTERRUPTS HAPPEN
  4921	005540'	012714	000100			MOV	#KW.INE,(R4)		;ENABLE THE CLOCK
  4922	005544'	001412				BEQ	15$			;IF COUNTED OUT ALREADY EVIL
  4923	005546'	005000				CLR	R0			;INITIALIZE WATCHDOG COUNTER
  4924	005550'	005737	005640'		10$:	TST	CHKTIM
  4925	005554'	001432				BEQ	CKCLK9			;BRANCH IF TIMED OUT ALREADY
  4926	005556'	077004				SOB	R0,10$
  4927	005560'					CK11SC	<CKEPC!CKEDID>,<Slow>,<NO RESPONSE FROM KW11>
  4928	005562'	066123	073557	000377		.ASCIZ	\Slow\<377>
  4929						.EVEN
  4930	005570'	000424				BR	CKCLK9			;
  4931	005572'				15$:	CK11SC	<CKEPC!CKEDID>,<Fast>,<KW11 TICKING TOO FAST>
  4932	005574'	060506	072163	000377		.ASCIZ	\Fast\<377>
  4933						.EVEN
  4934	005602'	000417				BR	CKCLK9			;
  4935	005604'				20$:	CK11SC	<CKEPC!CKEDID>,<Not Present>,<CAN'T ACCESS KW11>
  4936	005606'	067516	020164	071120		.ASCIZ	\Not Present\<377>
	005614'	071545	067145	177564
	005622'	   000
  4937		005624'				.EVEN
  4938	005624'	000406				BR	CKCLK9			;
  4939					;
  4940					; KW11 INTERRUPT HANDLER
  4941					;
  4942	005626'	005337	005640'		80$:	DEC	CHKTIM		;COUNT OUT TIMER
  4943	005632'	001001				BNE	90$		;
  4944	005634'	005014				CLR	(R4)		;TURN OFF CLOCK
  4945	005636'	000002			90$:	RTI			;DISMISS INTERRUPT
  4946									;
  4947	005640'	000000			CHKTIM:	.WORD	0		;
  4948	005642'				CKCLK9:	SPL	7		;SET TO LEVEL 7
  4949	005650'	012714	000100			MOV	#KW.INE,(R4)	;ENABLE INT
  4950	005654'	012637	000100			MOV	(SP)+,CLKVEC	;RESTORE WHERE TO GO ON INT
  4951	005660'	004537	010644'			JSR	R5,CHKINL	;FIND THE INT LEVEL
  4952	005664'	177777				-1			;DELAY TO WAIT FOR INT
  4953	005666'	042737	000100	177546		BIC	#KW.INE,CLKWRD	;DISABLE CLK INTS
  4954	005674'	004037	014566'			JSR	R0,CKTCRL	;INDICATE CLOCK PRESENT
  4955	005700'	053513	030461	046055		.ASCIZ	\KW11-L checked\
	005706'	061440	062550	065543
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 13-1
C11DTE.MAC    04-JAN-83 11:22			CHECK KW11-L HDW

	005714'	062145	   000
  4956		005720'				.EVEN			;
  4957	005720'	004737	002120'			JSR	PC,CKAKW1	;CALL TO MAIN FOR CLOCK
  4958									;
  4959	005724'					FALLR	.		;FALL INTO WHATEVER COMES NEXT
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 13-2
C11DTE.MAC    04-JAN-83 11:22			CHECK DL10 HDW

  4961					.SBTTL		CHECK DL10 HDW
  4962					;
  4963	005724'				CKDL10:
  4964		   001				    .IF NE FTDL10	;IF DOESN'T HAVE A DL10,DON'T CHECK IT
  4965						MOV	DL10AD,R4	;IF "DL10AD" IS NON 0 A DL10 IS PRESENT
  4966									; AND R4 WILL BE LOADED WITH BASE ADR
  4967						BEQ	10$		;BRANCH IF WE DO NOT
  4968						BIC	#CKFIDT,CHKFLG	;SO WE PRINT DEV ID
  4969						MOV	#CKND10,CKDNAM	;DEVICE NAME
  4970						CLR	CKDEVN		;DEVICE NUMBER
  4971						MOV	R4,R1		;PUT DEVICE ADDR FOR CHKBIT
  4972						MOV	R4,CHKCHR+CKDA	;PUT IN CHARACT TABLE FOR ERROR REPORTING
  4973						JSR	R5,CHKBIT	;CHECK THE FOLLOWING BITS
  4974						DL.B00!DL.B01!DL.INE!DL.ERE
  4975						JSR	R5,CHKDLX	;CHECK SET/CLEAR OF
  4976						DL.WCO			;WORD COUNT OVERFLOW
  4977						JSR	R5,CHKDLX	;CHECK SET/CLEAR OF
  4978						DL.PAR			;PARITY ERROR
  4979						JSR	R5,CHKDLX	;CHECK SET/CLEAR OF
  4980						DL.NXM			;NON EX MEM
  4981						JSR	R5,CHKDLX	;CHECK SET/CLEAR OF
  4982						DL.11I
  4983					8$:	MOV	#DL.B01,(R4)	;SET DL10 FOR LEVEL 5
  4984						MOV	#DL.VEC,CHKCHR+CKDV;PUT DEVICE VECTOR IN TABLE FOR CKINT
  4985						$CKINT	R4,R4,DL.INE,DL.11I,DL.11C
  4986						$CKINT	R4,R4,DL.ERE,<DL.PAR!DL.NXM!DL.WCO>,<DL.CNX!DL.CPE!DL.CWC>
  4987						JSR	R0,CKTCRL	;NOTE PRESENCE OF DL10
  4988						.ASCIZ	\     DL10\
  4989						.EVEN
  4990					10$:
  4991		   000				    .ENDC ;.IF NE FTDL10
  4992					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 14
C11DTE.MAC    04-JAN-83 11:22			CHECK DL10 HDW

  4994
  4995					.SBTTL		DEVICE SCAN AND CHECK
  4996					;
  4997					;THE SAME ROUTINE IS USED FOR FLOATING AND FIXED DEVICES
  4998					;HOWEVER FOR FIXED DEVICES THE VECTOR MULTIPLE MUST BE 0
  4999					;  *** WARNING: ***  CKCDEV IS BOTH CODE AND DATA BASE.
  5000					;DO *NOT* PUT ANYTHING OTHER THAN "DEVICE" MACROS BETWEEN CKCDEV AND CKCEND!
  5001					;
  5002					; INVOCATION:
  5003					;	DEVICE	A,MAXN,VI,HI,VM,NAM,FV
  5004					;
  5005					;	ARG	A	;DEVICE ADDRESS OR 0 IF FLOATING DEVICE
  5006					;	ARG	MAXN	;MAXIMUM NUMBER OF DEVICES
  5007					;	ARG	VI	;VECTOR INCREMENT
  5008					;	ARG	HI	;HARDWARE INCREMENT
  5009					;	ARG	VM	;VECTOR MULTIPLE
  5010					;	ARG	NAM	;DEVICE NAME ABBREVIATION
  5011					;	ARG	FV	;FIRST VECTOR ADR (FIXED DEV ONLY)
  5012					;
  5013	005724'	004037	014566'			JSR	R0,CKTCRL		;
  5014	005730'	062012	073145	061551		.ASCII	<12>"device scan report assumes"
	005736'	020145	061563	067141
	005744'	071040	070145	071157
	005752'	020164	071541	072563
	005760'	062555	   163
  5015					.IIF DF CKSTD .ASCII	<15><12>"standard PDP-11 fixed and floating assignments"
  5016		   001				    .IF DF CKDN2X
  5017		   002				    .IF NE CKDN2X&B0
  5018	005763'	   015	020012	020040		.ASCII	<15><12>"       DN20"
	005770'	020040	020040	047104
	005776'	030062
  5019		   001				    .ENDC
  5020		   002				    .IF NE CKDN2X&B1
  5021	006000'	005015	020040	020040		.ASCII	<15><12>"       DN21"
	006006'	020040	042040	031116
	006014'	   061
  5022		   001				    .ENDC
  5023		   002				    .IF NE CKDN2X&B5
  5024	006015'	   015	020012	020040		.ASCII	<15><12>"       DN25"
	006022'	020040	020040	047104
	006030'	032462
  5025		   001				    .ENDC
  5026	006032'	063040	074151	062145		.ASCII	" fixed assignments (no floating)"
	006040'	060440	071563	063551
	006046'	066556	067145	071564
	006054'	024040	067556	063040
	006062'	067554	072141	067151
	006070'	024547
  5027		   000				    .ENDC ;DF CKDN2X
  5028	006072'	   000				.BYTE	0
  5029		006074'				.EVEN				;
  5030					;
  5031					;
  5032	006074'				CKCDEV:					;FIXED ADDRESS, FIXED VECTOR DEVICES
  5033	006074'				CHKCD:	DEVICE	CD.STS,1,0,0,0,CD,CD.VEC	;CD20(CD11)
  5034		000034						CKCADD=.-CKCDEV			;SIZE OF "DEVICE" BLOCK
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 14-1
C11DTE.MAC    04-JAN-83 11:22			DEVICE SCAN AND CHECK

  5035	006130'				CHKCR:	DEVICE	CR.STS,1,0,0,0,CR,CR.VEC	;CR11
  5036	006164'					DEVICE	KG.STS,8.,0,10,0,KG,0		;KG11
  5037	006220'					DEVICE	LE.STS,2,-10,10,0,LE,LE.VEC	;LP11
  5038	006254'					DEVICE	LP0STS,2,-4,20,0,LP,LP.VEC	;LP20
  5039	006310'					DEVICE	PP.STS,1,0,0,0,PP,PP.VEC	;PP11(PC11)
  5040	006344'					DEVICE	PR.STS,1,0,0,0,PR,PR.VEC	;PR11(PC11)
  5041	006400'					DEVICE	TC.STS,1,0,0,0,TC,TC.VEC	;TC11
  5042	006434'					DEVICE	TM.STS,1,0,0,0,TM,TM.VEC	;TM11
  5043	006470'					DEVICE	177446,1,0,0,0,RC,210		;RC11
  5044	006524'					DEVICE	177460,1,0,0,0,RF,204		;RF11
  5045	006560'					DEVICE	176700,1,0,0,0,RH,254		;RH11
  5046	006614'				CHKRP:	DEVICE	176710,1,0,0,0,RP,254		;RP11-C
  5047	006650'					DEVICE	177500,1,0,0,0,TA,260		;TA11
  5048	006704'					DEVICE	177404,1,0,0,0,RK,220		;RK11
  5049	006740'					DEVICE	177170,1,0,0,0,RX,264		;RX11
  5050	006774'					DEVICE	172540,1,0,0,0,KW.P,104		;KW11-P
  5051					;;;;	DEVICE	DS.DVA,1,20,10,0,DS,DS.VEC	;DS11
  5052	007030'				CHKDTE:	DEVICE	174440,4,-4,40,0,DTE2,770	;DTE20
  5053		   001				    .IF DF CKSTD		;STANDARD FLOATING ASSIGNMENTS
  5054										;FIXED ADDRESS, FLOATING VECTOR DEVICES
  5055						DEVICE	174770,32.,10,-10,10,DP,0	;DP11
  5056						DEVICE	175200,64.,4,10,4,DN,0		;DN11
  5057						DEVICE	170500,16.,4,10,10,DM,0		;DM11BB
  5058						DEVICE	172600,16.,4,10,4,R6,0		;PA611RDR
  5059						DEVICE	172700,16.,4,10,4,P6,0		;PA611PNCH
  5060						DEVICE	175610,16.,10,10,10,DL.E,0	;DL11-E
  5061					.IIF DF SY0880	DEVICE	177776,1,10,0,10,NL,0	;(NULL DEVICE, VECTOR SPACER)
  5062										;FULLY FLOATING DEVICES
  5063						DEVICE	0,16.,10,10,10,DJ,0		;DJ11
  5064						DEVICE	0,16.,10,20,10,DH,0		;DH11
  5065						DEVICE	0,16.,10,10,10,DQ,0		;DQ11
  5066						DEVICE	0,16.,10,10,10,DU,0		;DU11
  5067					.IIF DF SY0880	DEVICE	0,1,10,10,10,NL,0	;(NULL DEVICE, ADDRESS SPACER)
  5068						DEVICE	0,16.,10,10,10,DUP,0		;DUP11
  5069					.IIF DF SY0880	DEVICE	0,1,10,10,10,NL,0	;(NULL DEVICE, ADDRESS SPACER)
  5070					.IIF DF SY0880	DEVICE	0,1,10,10,10,NL,0	;(NULL DEVICE, ADDRESS SPACER)
  5071						DEVICE	0,16.,10,10,4,DMC,0		;DMC11
  5072						DEVICE	0,3.,10,10,4,KMC,0		;KMC11
  5073		   000				    .ENDC ;DF CKSTD
  5074											;
  5075		   001				    .IF DF CKDN2X		;-20 FRONT END CONFIGURATIONS
  5076		   002					.IF NE CKDN2X&B0	;DN20
  5077	007064'					DEVICE	160540,3,10,10,0,KMC,540	;KMC11
  5078	007120'					DEVICE	160300,12.,10,10,0,DUP,570	;DUP11
  5079	007154'					DEVICE	175630,1,10,10,0,DL.E,740	;DL11-E (DN20 #1)
  5080	007210'					DEVICE	175640,1,10,10,0,DL.E,730	;DL11-E (DN20 #2)
  5081	007244'					DEVICE	175650,1,10,10,0,DL.E,720	;DL11-E (DN20 #3)
  5082		   001					.ENDC ;NE CKDN2X&B0
  5083		   002					.IF NE CKDN2X&B1	;DN21
  5084	007300'					DEVICE	160740,6,10,10,0,DMC,670	;DMC11
  5085		   001					.ENDC ;NE CKDN2X&B1
  5086		   002					.IF NE CKDN2X&B5	;DN25
  5087	007334'					DEVICE	160640,3,10,10,0,KMC,300	;KMC11
  5088	007370'					DEVICE	160010,16.,10,10,0,DZ,340	;DZ11
  5089		   001					.ENDC ;NE CKDN2X&B5
  5090		   000				    .ENDC ;DF CKDN2X
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 14-2
C11DTE.MAC    04-JAN-83 11:22			DEVICE SCAN AND CHECK

  5091											;
  5092	007424'				CKCEND:					;END OF DEVICES TO CHECK
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 14-3
C11DTE.MAC    04-JAN-83 11:22			CHK11 COMPLETION

  5094					.SBTTL		CHK11 COMPLETION
  5095					;
  5096	007424'	004037	014566'		CHK.90:	JSR	R0,CKTCRL	;
  5097	007430'	004412	044103	030513		.ASCIZ	<12>"	CHK11 complete"<15><12><12>
	007436'	020061	067543	070155
	007444'	062554	062564	005015
	007452'	000012
  5098						.EVEN			;
  5099	007454'	012700	015407'			MOV	#CK.BUF,R0	;SEND OUT A NULL
  5100	007460'					CALL	CKBFSH		;  LINE TO THE REMOTE DEVICE
  5101	007464'	011606				MOV	(SP),SP		;CHAIN BACK TO CALLER'S STACK
  5102	007466'	012605				MOV	(SP)+,R5	;RESTORE
  5103	007470'	012604				MOV	(SP)+,R4	;  CALLER'S
  5104	007472'	013701	002062'			MOV	CK.DTE,R1	;  REGISTERS
  5105	007476'	000177	172356			JMP	@CK.CAL		;RETURN TO CALLER
  5106					.SBTTL	END OF CHK11 MAINLINE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 14-4
C11DTE.MAC    04-JAN-83 11:22		GENERAL SUBROUTINES

  5108					.SBTTL	GENERAL SUBROUTINES
  5109					;**** GOT RID OF ALL THE STANDARD CHK11 VECTOR SETUP HERE ****;
  5110					;**** AFTER ALL, THIS IS ONLY THE TERTIARY LOADER...      ****;
  5111					.SBTTL		LOOK FOR AND CHECK SYSTEM DEVICES
  5112					;
  5113					; CALLING SEQUENCE (GENERATED BY MACRO "DEVICE"):
  5114					;	JSR	R5,CHKDEV
  5115					;	(OFFSET
  5116					;	  NAME)
  5117					;	D.BADR	.WORD	ADDRESS OF 1ST DEVICE REGISTER
  5118					;	D.MAXL	.BYTE	MAX # OF DEVICES TO SEEK
  5119					;	D.VINC	.BYTE	VECTOR INC
  5120					;	D.HINC	.BYTE	HDW INC
  5121					;	D.VMUL	.BYTE	1ST VEC MULTIPLE
  5122					;	D.CNTP	.WORD	<ADR OF NUMBER OF DEVICES OR ZERO>
  5123					;	D.NAMP	.WORD	<ADR OF .ASCIZ \NAME\>
  5124					;	D.DIAG	.WORD	<ADR OF ROUTINE TO VERIFY OPERATION>
  5125					;	D.MAIN	.WORD	<ADR OF MAIN PROGRAM ROUTINE FOR DEVICE>
  5126					;	D.MPVC	.WORD	<ADR OF TABLE WHICH CONTAINS MAIN PROG VECTORS OR 0>
  5127					;	D.CNTF	.WORD	<# OF DEVICES FOUND>
  5128					;	D.FRSV	.WORD	<FIRST VECTOR FOUND>
  5129					;	D.PRIO	.WORD	<PI LEVEL>
  5130					;	D.FVFD	.WORD	<FIRST DEV VECTOR FOR FIXED TYPE DEV>
  5131					;	D.NEXT	(RETURN ADDRESS)
  5132					;
  5133	007502'				CHKDEV:			;
  5134								;LOOK FOR AND COUNT PLAUSIBLE DEVICE TYPES
  5135								;
  5136	007502'	016537	000010	002056'		MOV	D.NAMP(R5),CKDNAM ;REMEMBER DEVICE NAME
  5137	007510'	005002				CLR	R2		;INITIALIZE COUNTER FOR DEVICES
  5138									;GET DEVICE VECTOR
  5139	007512'	013703	011520'			MOV	CHKFLV,R3	;ASSUME FLOATING VECTOR
  5140	007516'	105765	000005			TSTB	D.VMUL(R5)	;BUT SEE IF FIXED
  5141	007522'	001002				BNE	4$		;FLOATING VECTOR
  5142	007524'	016503	000026			MOV	D.FVFD(R5),R3	;FIXED, GET PRE-ASSIGNED VECTOR
  5143									;
  5144	007530'	011504			4$:	MOV	(R5),R4		;GET HDW ADR FOR 1ST DEVICE
  5145	007532'	001012				BNE	6$		;ADDRESS IS NOT ZERO, HENCE FIXED DEVICE
  5146									;DEV EXPECTS TO FLOAT, BUMP UP TO NEXT SLOT
  5147	007534'	116501	000004			MOVB	D.HINC(R5),R1	;COMPUTE NEXT ADDRESS AS MULTIPLE OF HDW INC
  5148	007540'	060137	011522'			ADD	R1,CHKFLD	;
  5149	007544'	005301				DEC	R1		;
  5150	007546'	040137	011522'			BIC	R1,CHKFLD	;
  5151	007552'	013704	011522'			MOV	CHKFLD,R4	;COPY FOR USE
  5152	007556'	010415				MOV	R4,(R5)		;STUFF EXPECTED ADDRESS IN DEVICE TABLE
  5153	007560'				6$:				;
  5154	007560'	012737	007672'	000004	7$:	MOV	#20$,NXMVEC	;SET BUS TRAP VECTOR
  5155	007566'	005714				TST	(R4)		;CHECK TO SEE IF DEVICE IS PRESENT
  5156	007570'	012737	015534'	000004		MOV	#CKBUST,NXMVEC	;IT'S THERE, SET BUS ERR VEC BACK
  5157	007576'	005702				TST	R2		;IS THIS THE FIRST OF ITS KIND ?
  5158	007600'	001014				BNE	15$		;NO
  5159	007602'	005065	000020			CLR	D.CNTF(R5)	;YES, CLEAR NUMBER OF DEV FOUND
  5160	007606'	005065	000022			CLR	D.FRSV(R5)	;CLEAR FIRST VECTOR ADR
  5161					;;;;	CLR	D.PRIO(R5)	;CLEAR BR LEVEL
  5162	007612'	116501	000005			MOVB	D.VMUL(R5),R1	;GET ADDRESS MULTIPLE OF VECTOR
  5163	007616'	001405				BEQ	15$		;BRANCH IF FIXED VECTOR DEV
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 14-5
C11DTE.MAC    04-JAN-83 11:22			LOOK FOR AND CHECK SYSTEM DEVICES

  5164	007620'	005301				DEC	R1		;ELSE COUNT UP VECTOR MOD VMUL
  5165	007622'	010365	000026			MOV	R3,D.FVFD(R5)	;SAVE EXPECTED ADDRESS OF FIRST VECTOR
  5166	007626'	060103				ADD	R1,R3		;
  5167	007630'	040103				BIC	R1,R3		;
  5168	007632'	005202			15$:	INC	R2		;COUNT DEVICE
  5169	007634'	005265	000020			INC	D.CNTF(R5)	;COUNT DEVICE AND REMEMBER IT
  5170	007640'	116501	000003			MOVB	D.VINC(R5),R1	;GET VECTOR INCREMENT
  5171	007644'	060103				ADD	R1,R3		;COMPUTE NEW VECTOR
  5172	007646'	116501	000004			MOVB	D.HINC(R5),R1	;GET REG BLOCK INCREMENT
  5173	007652'	060104				ADD	R1,R4		;ADVANCE DEVICE ADR POINTER
  5174	007654'	021537	011522'			CMP	(R5),CHKFLD	;FLOATING DEVICE?
  5175	007660'	101737				BLOS	7$		;YES, KEEP LOOKING UNTIL GAP FOUND
  5176	007662'	120265	000002			CMPB	R2,D.MAXL(R5)	;HAVE WE CHECKED AS MANY AS WE CAN EXPECT?
  5177	007666'	001334				BNE	7$		;NO, LOOP BACK FOR REST
  5178	007670'	024646				CMP	-(SP),-(SP)	;YES, FAKE A TRAP
  5179									;WE HAVE FOUND AS MANY UNITS AS WE SOUGHT,
  5180									;  OR WE HAVE TRAPPED ON FINDING FEWER
  5181									;REPORT THE DEVICE COUNT
  5182	007672'	012737	015534'	000004	20$:	MOV	#CKBUST,NXMVEC	;RESET BUS ERROR VECTOR
  5183	007700'	022626				CMP	(SP)+,(SP)+	;POP OFF TRAP
  5184	007702'	021537	011522'			CMP	(R5),CHKFLD	;FLOATER?
  5185	007706'	101016				BHI	21$		;NO
  5186	007710'	010437	011522'			MOV	R4,CHKFLD	;YES, SAVE CURRENT ADDRESS AS GAP ADDRESS
  5187	007714'	120265	000002			CMPB	R2,D.MAXL(R5)	;TOO MANY?
  5188	007720'	101411				BLOS	21$		;NO
  5189	007722'					CK11SC	<CKEDID>,<Too many device units>
  5190	007724'	067524	020157	060555		.ASCIZ	"Too many units"
	007732'	074556	072440	064556
	007740'	071564	   000
  5191		007744'				.EVEN			;
  5192	007744'	005765	000006		21$:	TST	D.CNTP(R5)	;DO WE HAVE A REMOTE ADDRESS TO REPORT COUNT?
  5193	007750'	001402				BEQ	22$		;IF NOT, DON'T TRY
  5194	007752'	010275	000006			MOV	R2,@D.CNTP(R5)	;YES, PUT NUMBER FOR SOMEONE TO FIND
  5195	007756'	010200			22$:	MOV	R2,R0		;NUMBER OF DEVICES WE FOUND
  5196	007760'	001001				BNE	24$		;THERE ARE SOME
  5197		   001				.IF DF CKNODV
  5198						JSR	PC,CKCRLF	;DO CR/LF
  5199						JSR	R0,CKTSTR	;THERE AREN'T ANY
  5200						.ASCIZ	"no"		;
  5201						.EVEN			;
  5202						BR	25$		;
  5203						.IFF
  5204	007762'	000560				BR	40$		;AREN'T ANY - FORGET IT
  5205		   000				.ENDC
  5206	007764'	004737	014554'		24$:	JSR	PC,CKCRLF	;DO CR/LF
  5207	007770'	004737	014614'			JSR	PC,CKTOCT	;TYPE OUT THE NUMBER
  5208	007774'	012700	010354'		25$:	MOV	#70$,R0		;ASSUME FIXED ADDRESS DEVICE
  5209	010000'	021537	011522'			CMP	(R5),CHKFLD	;  BUT CHECK
  5210	010004'	101002				BHI	26$		;FIXED
  5211	010006'	012700	010364'			MOV	#72$,R0		;RATHER FLOATING
  5212	010012'	004737	014526'		26$:	JSR	PC,CKTTXT	;SAY WHICH
  5213	010016'	013700	002056'			MOV	CKDNAM,R0	;GET ADR OF ASCIZ STRING
  5214	010022'	004737	014526'			JSR	PC,CKTTXT	;TYPE DEVICE NAME
  5215	010026'	020227	000001			CMP	R2,#1		;HOW MANY ?
  5216	010032'	001402				BEQ	27$		;SINGULAR
  5217	010034'					CK11SC	<CKENCL>,<'s>	;PLURAL
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 14-6
C11DTE.MAC    04-JAN-83 11:22			LOOK FOR AND CHECK SYSTEM DEVICES

  5218	010036'	000163				.ASCIZ	\s\		;
  5219						.EVEN			;
  5220	010040'	012700	010410'		27$:	MOV	#74$,R0		;ADD TO DESCRIPTOR STRING
  5221	010044'	020227	000001			CMP	R2,#1		;USE PROPER PREPOSITION
  5222	010050'	101402				BLOS	28$		;
  5223	010052'	012700	010400'			MOV	#73$,R0		;
  5224	010056'	004737	014526'		28$:	JSR	PC,CKTTXT	;TYPE PREPOSITION
  5225	010062'	011500				MOV	(R5),R0		;GET EXPECTED DEVICE ADDRESS
  5226	010064'	004737	014614'			JSR	PC,CKTOCT	;TYPE IT OUT
  5227									;THE CURRENT DEVICE UNITS HAVE BEEN SOUGHT
  5228									;  AND COUNTED - PROCEED TO TEST ANY SO FOUND
  5229	010070'	005702				TST	R2		;WERE THERE ANY?
  5230	010072'	001514				BEQ	40$		;NO
  5231	010074'	010346				MOV	R3,-(SP)	;
  5232	010076'	010446				MOV	R4,-(SP)	;
  5233	010100'	010246				MOV	R2,-(SP)	;R2 MUST STAY ON TOP FOR COUNT
  5234	010102'	005037	002054'			CLR	CKDEVN		;CHECK UNIT 0 FIRST
  5235	010106'	016503	000026			MOV	D.FVFD(R5),R3	;GET FIRST VECTOR FOR POSSIBLE FIXED
  5236	010112'	004037	014572'			JSR	R0,CKTSTR	;REPORT VECTOR ADDRESS
  5237	010116'	020054	062566	072143		.ASCIZ	", vector at"	;
	010124'	071157	060440	000164
  5238						.EVEN			;
  5239	010132'	010300				MOV	R3,R0		;
  5240	010134'	004737	014600'			JSR	PC,CKTBOC	;
  5241	010140'	116500	000005			MOVB	D.VMUL(R5),R0	;GET VECTOR MULTIPLE
  5242	010144'	001405				BEQ	30$		;BRANCH IF FIXED
  5243	010146'	013703	011520'			MOV	CHKFLV,R3	;GET VECTOR FOR 1ST UNIT
  5244	010152'	005300				DEC	R0		;
  5245	010154'	060003				ADD	R0,R3		;
  5246	010156'	040003				BIC	R0,R3		;
  5247	010160'	011504			30$:	MOV	(R5),R4		;GET HDW ADR FOR FIRST UNIT
  5248	010162'	001002				BNE	32$		;
  5249	010164'	013704	011522'			MOV	CHKFLD,R4	;FLOATING DEVICE
  5250	010170'	005037	016260'		32$:	CLR	CHKCHR+CKPI	;ROUTINE WILL SET PI LEVEL
  5251	010174'	016500	000012			MOV	D.DIAG(R5),R0	;ADR OF ROUTINE TO VERIFY DEVICE
  5252	010200'	001424				BEQ	34$		;BRANCH IF NO ROUTINE TO VERIFY
  5253	010202'	042737	100000	002052'		BIC	#CKFIDT,CHKFLG	;HAVEN'T TYPED ID YET
  5254	010210'	010437	016254'			MOV	R4,CHKCHR+CKDA	;SAVE DEVICE ADDRESS
  5255	010214'	010337	016256'			MOV	R3,CHKCHR+CKDV	;SAVE VECTOR ADDRESS IN TABLE
  5256	010220'	010401				MOV	R4,R1		;PUT DEV ADR IN R1, MOST WILL USE IT
  5257	010222'	005037	016262'			CLR	CHKCHR+CKFLG	;CLR AND LET DEV ROUTINE SET FLAGS
  5258	010226'					SPL	7		;MAKE SURE WE'RE AT LEVEL 7
  5259	010234'	004710				JSR	PC,(R0)		;CALL TO DEVICE CHECK
  5260	010236'	005765	000022			TST	D.FRSV(R5)	;SEE IF VECTOR ADR SET YET
  5261	010242'	001003				BNE	34$		;BRANCH IF SET
  5262	010244'	013765	016256'	000022		MOV	CHKCHR+CKDV,D.FRSV(R5) ;SET FIRST VECTOR FOUND
  5263					;;;;	MOV	CHKCHR+CKPI,D.PRIO(R5) ;SET FIRST PI LEVEL FOUND
  5264	010252'	021527	175400		34$:	CMP	(R5),#DS.DVA	;DS11 ARE SPECIAL SO DON'T CALL MAIN HERE
  5265	010256'	001404				BEQ	35$		;BRANCH IF DS11
  5266	010260'	012700	016254'			MOV	#CHKCHR,R0	;POINT TO THE CHARACTERISTIC TABLE
  5267	010264'	004775	000014			JSR	PC,@D.MAIN(R5)	;CALL TO MAIN PROGRAM
  5268	010270'	116500	000003		35$:	MOVB	D.VINC(R5),R0	;GET VECTOR INCREMENT
  5269	010274'	060003				ADD	R0,R3		;
  5270	010276'	116500	000004			MOVB	D.HINC(R5),R0	;HDW INCREMENT
  5271	010302'	060004				ADD	R0,R4		;POINT TO NEXT REGISTER SET
  5272	010304'	005237	002054'			INC	CKDEVN		;ON TO NEXT DEVICE NUMBER
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 14-7
C11DTE.MAC    04-JAN-83 11:22			LOOK FOR AND CHECK SYSTEM DEVICES

  5273	010310'	023716	002054'			CMP	CKDEVN,(SP)	;DONE ALL UNITS YET? (SET TO 177776 BY NULL DIAG)
  5274	010314'	103725				BLO	32$		;NO, NOT YET
  5275	010316'	012602				MOV	(SP)+,R2	;
  5276	010320'	012604				MOV	(SP)+,R4	;
  5277	010322'	012603				MOV	(SP)+,R3	;
  5278	010324'				40$:				;
  5279		000000				.REPT	0
  5280							;;;;DISABLED CODE!!!
  5281						SAVE	<R3,R4>
  5282						CLR	R4		;FLAG NO MORE DEVICES
  5283						JSR	PC,@D.MAIN(R5)	;CALL MAIN PROGRAM
  5284						RESTORE	<R4,R3>
  5285						.ENDR
  5286					;
  5287					;DONE CHECKING ALL DEVICE UNITS, UPDATE FLOATING VALUES AS REQ'D
  5288					;
  5289	010324'	105765	000005			TSTB	D.VMUL(R5)	;FIXED VECTOR DEV?
  5290	010330'	001406				BEQ	50$		;YES
  5291	010332'	013746	011520'			MOV	CHKFLV,-(SP)	;NO, RESET FLOATING VECTOR
  5292	010336'	010337	011520'			MOV	R3,CHKFLV	;
  5293	010342'	012603				MOV	(SP)+,R3	;
  5294	010344'	011500				MOV	(R5),R0		;WAS THIS A FLOATING DEVICE ?
  5295	010346'	062705	000030		50$:	ADD	#D.NEXT,R5	;RETURN FOLLOWING TRAILING ARGS
  5296	010352'	000205				RTS	R5		;
  5297									;
  5298	010354'	043040	074151	062145	70$:	.ASCIZ	" Fixed "	;
	010362'	000040
  5299						.EVEN			;
  5300	010364'	043040	067554	072141	72$:	.ASCIZ	" Floating "	;
	010372'	067151	020147	   000
  5301		010400'				.EVEN			;
  5302	010400'	063040	067562	020155	73$:	.ASCIZ	" from "	;
	010406'	   000
  5303		010410'				.EVEN			;
  5304	010410'	060440	020164	   000	74$:	.ASCIZ	" at "		;
  5305		010416'				.EVEN			;
  5306					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 15
C11DTE.MAC    04-JAN-83 11:22			LOOK FOR AND CHECK SYSTEM DEVICES

  5308
  5309					.SBTTL		BIT BY BIT SET/CLEAR TEST
  5310					;
  5311					; CHECK WE CAN SET/CLEAR VARIOUS BITS
  5312					;
  5313					; CALL	MOV	#<ADR OF ASCIZ \NAME\>,CKDNAM
  5314					;	MOV	<DEVICE NUMBER>,CKDEVN
  5315					;	MOV	<DEVICE REGISTER ADDRESS>,R1
  5316					;	JSR	R5,CHKBIT
  5317					;	<ALL BITS TO TEST>
  5318					;
  5319	010416'	010046			CHKBIT:	MOV	R0,-(SP)	;
  5320	010420'	052737	000340	177776		BIS	#BR7,PS		;DISABLE INTERRUPTS
  5321	010426'	011500				MOV	(R5),R0		;GET BITS TO CHECK
  5322	010430'	040011				BIC	R0,(R1)		;TRY AND CLEAR ALL OF THEM
  5323	010432'	030011				BIT	R0,(R1)		;SEE IF ALL OF THEM CLEARED?
  5324	010434'	001410				BEQ	1$		;BRANCH IF ALL CLEAR
  5325	010436'	005046				CLR	-(SP)		;WHAT THE RESULT SHOULD BE
  5326	010440'	011146				MOV	(R1),-(SP)	;PUT C(DEV REG) ON STACK
  5327	010442'	010046				MOV	R0,-(SP)	;BUT ONLY CERTAIN BITS ARE BAD CANDIDATES
  5328	010444'	005116				COM	(SP)		;GET RID OF ONES
  5329	010446'	042616				BIC	(SP)+,(SP)	; THAT WE'RE NOT INTERESTED IN
  5330	010450'	010146				MOV	R1,-(SP)	;SAVE THE DEVICE ADR
  5331	010452'					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<BITS WOULD NOT CLEAR>
  5332	010456'	012700	000001		1$:	MOV	#1,R0		;START WITH B0 AND GO UNTIL B15 IS DONE
  5333	010462'	031500			2$:	BIT	(R5),R0		;WANT THIS BIT CHECKED?
  5334	010464'	001420				BEQ	4$		;BRANCH IF NOT, AND MAKE NEW BIT
  5335	010466'	050011				BIS	R0,(R1)		;TRY TO SET THE BIT
  5336	010470'	030011				BIT	R0,(R1)		;SEE IF THE BIT SET
  5337	010472'	001005				BNE	3$		;BRANCH IF IT SET
  5338	010474'	010046				MOV	R0,-(SP)	;SAVE GOOD
  5339	010476'	005046				CLR	-(SP)		;GOOD SHOUD BE 0 FOR THAT BIT
  5340	010500'	010146				MOV	R1,-(SP)	;DEV ADR WHERE IT HAPPENED
  5341	010502'					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG03>,<BIT WOULD NOT SET>
  5342	010506'	040011			3$:	BIC	R0,(R1)		;NOW THAT ITS SET TRY TO CLEAR IT
  5343	010510'	030011				BIT	R0,(R1)		;SEE IF IT CLEARED
  5344	010512'	001405				BEQ	4$		;BRANCH IF IT CLEARED AND GET NEW BIT
  5345	010514'	005046				CLR	-(SP)		;GOOD SHOUD BE 0
  5346	010516'	010046				MOV	R0,-(SP)	;SINCE IT DIDN'T CLEAR THIS BIT IS BAD
  5347	010520'	010146				MOV	R1,-(SP)	;DEV ADR THAT FAILED
  5348	010522'					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<BIT WOULD NOT CLEAR>
  5349	010526'	006300			4$:	ASL	R0		;MAKE NEW BIT POSITION
  5350	010530'	001354				BNE	2$		;BRANCH IF THERE IS A BIT
  5351	010532'	012600				MOV	(SP)+,R0	;
  5352	010534'	005725				TST	(R5)+		;GO OVER BITS FOLLOWING JSR
  5353	010536'	000205				RTS	R5		;EXIT
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 15-1
C11DTE.MAC    04-JAN-83 11:22			BIT SET/BIT CLEAR TEST FOR DL10

  5355					.SBTTL		BIT SET/BIT CLEAR TEST FOR DL10
  5356					;
  5357					;ROUTINE TO CHECK DL10 BITS
  5358					;
  5359		   001				    .IF NE FTDL10
  5360					CHKDLX:	MOV	(R5)+,R0	;GET BIT TO CHECK
  5361						BIS	R0,(R1)		;SET THE BIT IN THE DL10
  5362						CMP	(R1),R0		;DID IT SET AND ONLY IT SET?
  5363						BEQ	1$		;BRANCH IF OK
  5364						CKSERR	R0,<(R1)>,R1	;GD, BD, ADR
  5365						CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG03>,<SET BIT BUT ITS NOT SET>
  5366					1$:	ASR	R0		;SHIFT RIGHT TO GET IT IN CLEAR POSITION
  5367						BIS	R0,(R1)		;SET BIT TO CLEAR BIT
  5368						TST	(R1)		;ALL BITS SHOULD BE CLEAR NOW
  5369						BEQ	2$		;BRANCH IF THEY ARE
  5370						CLR	-(SP)		;THE GOOD
  5371						MOV	(R1),-(SP)	;THE BAD
  5372						MOV	R1,-(SP)		;THE BAD ADR
  5373						CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<SETTING DIDN'T CLR BIT>
  5374					2$:	RTS	R5		;EXIT
  5375		   000				    .ENDC ;.IF NE FTDL10
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 15-2
C11DTE.MAC    04-JAN-83 11:22			PRINT DEVICE ID ROUTINE

  5377					.SBTTL		PRINT DEVICE ID ROUTINE
  5378					;
  5379	010540'	032737	100000	002052'	CKDIDT:	BIT	#CKFIDT,CHKFLG	;HAVE WE ALREADY TYPE DEVICE ID ?
  5380	010546'	001035				BNE	1$
  5381	010550'					CK11SC	0,<? >
  5382	010552'	004407	020077	   000			.ASCIZ	<7>"	? "
  5383		010560'					.EVEN
  5384	010560'	013700	002056'			MOV	CKDNAM,R0	;GET ASCIZ \DEVICE NAME\
  5385	010564'	004737	014526'			JSR	PC,CKTTXT	;TYPE DEVICE NAME
  5386	010570'					CK11SC	<CKENCL>,< #>
  5387	010572'	021440	   000				.ASCIZ	\ #\
  5388		010576'					.EVEN
  5389	010576'	013700	002054'			MOV	CKDEVN,R0	;GET UNIT NUMBER
  5390	010602'	004737	014614'			JSR	PC,CKTOCT	;TYPE UNIT NUMBER
  5391	010606'					CK11SC	<CKENCL>,<(Adr = >
  5392	010610'	040450	071144	036440			.ASCIZ	\(Adr = \
	010616'	000040
  5393							.EVEN
  5394	010620'	013700	016254'			MOV	CHKCHR+CKDA,R0	;GET DEVICE ADDR
  5395	010624'	004737	014614'			JSR	PC,CKTOCT	;TYPE IT
  5396	010630'					CK11SC	<CKENCL>,<)>
  5397	010632'	000051					.ASCIZ	\)\
  5398							.EVEN
  5399	010634'	052737	100000	002052'		BIS	#CKFIDT,CHKFLG	;REMEMBER WE TYPED DEVICE ID
  5400	010642'	000207			1$:	RTS	PC
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 15-3
C11DTE.MAC    04-JAN-83 11:22			ROUTINE TO FIND DEVICE INTERRUPT LEVEL

  5402					.SBTTL		ROUTINE TO FIND DEVICE INTERRUPT LEVEL
  5403					;
  5404					;CALL	JSR R5,CHKINL		;WITH DEVICE READY TO INT BUT
  5405					;				; WITH THE PS SET TO LEVEL 7.
  5406					;
  5407	010644'	010046			CHKINL:	MOV	R0,-(SP)	;SAVE R0
  5408	010646'	010146				MOV	R1,-(SP)	;SAVE R1
  5409	010650'	010246				MOV	R2,-(SP)	;SAVE R2
  5410	010652'	012702	000300			MOV	#BR6,R2		;START BY CHECKING LEVEL 6
  5411	010656'	011501			1$:	MOV	(R5),R1		;GET TIME TO WAIT
  5412	010660'	005000				CLR	R0		;WILL BE SET BY INT ROUTINE IF INT
  5413	010662'	010237	177776			MOV	R2,PS		;LOWER PS LEVEL
  5414									;MOST REASONABLE INTERRUPTS WHICH OCCUR WILL
  5415									;  DISPATCH THROUGH CKINT, RETURN THE VECTOR
  5416									;  ADDRESS USED IN R0
  5417	010666'	005700			2$:	TST	R0		;SEE IF INT YET
  5418	010670'	001012				BNE	10$		;NON 0 SAYS INTERRUPT HAPPENED
  5419	010672'	077103				SOB	R1,2$		;TIME AND WAIT
  5420	010674'					SPL	7		;TIMED OUT SET LEVEL 7, LOWER AND TRY AGAIN
  5421	010702'	162702	000040			SUB	#40,R2		;MAKE LEVEL LOWER BY 1
  5422	010706'	002363				BGE	1$		;BRANCH IF LEVEL 0 NOT CHECKED YET
  5423	010710'					CK11SC	<CKEMSE!CKEDID!CKEPC>,<CKMG04>,<DEVICE NEVER INTERRUPTED>
  5424	010714'	000415				BR	3$		;EXIT
  5425									;
  5426	010716'	020037	016256'		10$:	CMP	R0,CHKCHR+CKDV	;SEE IF SAME AS WHAT IT SHOULD BE
  5427	010722'	001406				BEQ	11$		;BRANCH IF CORRECT VECTOR
  5428	010724'					CKSERR	<CHKCHR+CKDV>,<R0>,<R4>
  5429	010734'					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG05>,<WENT TO WRONG VECTOR>
  5430									;
  5431	010740'	062702	000040		11$:	ADD	#40,R2		;MAKE THE DEVICE LEVEL
  5432	010744'	010237	016260'			MOV	R2,CHKCHR+CKPI	;SAVE LEVEL DEVICE INTERRUPTED AT
  5433	010750'	012602			3$:	MOV	(SP)+,R2	;RESTORE R2
  5434	010752'	012601				MOV	(SP)+,R1	;RESTORE R1
  5435	010754'	012600				MOV	(SP)+,R0	;RESTORE R0
  5436	010756'	005725				TST	(R5)+		;SKIP OVER TIME DELAY CONSTANT
  5437	010760'	000205				RTS	R5		;RETURN WITH DEVICE LEVEL SAVED IN CHARACTERISTICS TABLE
  5438					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 16
C11DTE.MAC    04-JAN-83 11:22			ROUTINE TO FIND DEVICE INTERRUPT LEVEL

  5440
  5441					.SBTTL		CHECK INTERRUPTS AND FIND DEVICE LEVEL
  5442					;
  5443					;ROUTINE TO CHECK INTERRUPTS AND FIND DEVICE LEVEL
  5444					;
  5445					; CALL (GENERATED BY MACRO "$CKINT"):
  5446					;	MOV	ENABLE ADR,R1
  5447					;	MOV	INT ADR,R2
  5448					;	JSR	R5,CKINT
  5449					;	TRAILING ARGS:
  5450					;		(NAME)	(PURPOSE)
  5451					;		I.ENAB	- ENABLE BIT
  5452					;		I.INTS	- INTERRUPT BITS
  5453					;		I.INTC	- SPECIAL CLEAR BITS
  5454					;		I.RTRN	- RETURN ADDRESS
  5455					;
  5456	010762'	010346			CKINT:	MOV	R3,-(SP)
  5457	010764'	010446				MOV	R4,-(SP)
  5458	010766'	005037	016260'			CLR	CHKCHR+CKPI	;START WITH PI OF 0 (NO DEV)
  5459	010772'	005037	011354'			CLR	CKFLAG		;0 = PI LEVEL FOUND MUST BE PUT IN TABLE
  5460									; NON 0 = CHECK PI LEVEL FOUND WITH TABLE
  5461	010776'	012704	000001			MOV	#1,R4		;STARTING POSITION OF SLIDING INT BIT
  5462	011002'	012703	000340		CKINT1:	MOV	#BR7,R3		;START CHECKING AT THIS LEVEL
  5463	011006'	010337	177776		CKINT2:	MOV	R3,PS		;SET PS
  5464	011012'	005000				CLR	R0		;SET TO 0 SO IF INT HAPPENS WE KNOW IT
  5465	011014'	030465	000002		CKINT3:	BIT	R4,I.INTS(R5)	;IS THERE A BIT TO TEST?
  5466	011020'	001002				BNE	5$		;BRANCH IF BIT IN POSITION
  5467	011022'	000137	011332'			JMP	CKINT7		;MAKE NEW BIT POSITION
  5468	011026'	051511			5$:	BIS	(R5),(R1)	;SET INTERRUPT ENABLE
  5469	011030'	050412				BIS	R4,(R2)		;SET INTERRUPT BIT
  5470	011032'	000240				NOP			;ALLOW 1 EXTRA INST TIME FOR INT
  5471	011034'					SPL	7		;LET NO INT HAPPEN
  5472	011042'	041511				BIC	(R5),(R1)	;CLEAR INT ENABLE
  5473	011044'	005765	000004			TST	I.INTC(R5)	;SEE IF SPECIAL CLEAR
  5474	011050'	001403				BEQ	7$		;BRANCH IF NOT
  5475	011052'	056512	000004			BIS	I.INTC(R5),(R2)	;SPECIAL CLEAR
  5476	011056'	000402				BR	9$		;CONTINUE
  5477	011060'	046512	000002		7$:	BIC	I.INTS(R5),(R2)	;CLEAR INT BITS
  5478	011064'	005700			9$:	TST	R0		;IF R0 IS NON 0 IT SHOULD BE THE
  5479									; VECTOR ADR. IF 0 NO INT HAPPENED.
  5480	011066'	001006				BNE	10$		;BRANCH IF INTERRUPT
  5481	011070'	162703	000040			SUB	#40,R3		;MAKE PS VALUE 1 LEVEL LESS
  5482	011074'	002344				BGE	CKINT2		;BRANCH IF NEW LEVEL OK
  5483	011076'					CK11SC	<CKEMSE!CKEPC!CKEDID>,<CKMG04>,<DEVICE NEVER INTERRUPTED>
  5484	011102'	000517				BR	CKINTE		;EXIT
  5485	011104'				10$:				;INTERRUPT OCCURRED, CHECK IT OUT
  5486	011104'	020037	016256'			CMP	R0,CHKCHR+CKDV	;SEE IF WE WENT TO CORRECT ADR
  5487	011110'	001407				BEQ	13$		;BRANCH IF WE DID, R0 = VECTOR ADR
  5488	011112'					CKSERR	<CHKCHR+CKDV>,R0,<R2>;GD,BD,ADR
  5489	011122'					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG05>,<WENT TO WRONG VECTOR>
  5490	011126'	000505				BR	CKINTE		;EXIT
  5491	011130'	005737	011354'		13$:	TST	CKFLAG		;MUST WE LOAD LEVEL OR CHECK IT?
  5492	011134'	001010				BNE	11$		;BRANCH IF JUST CHECK
  5493	011136'	010337	016260'			MOV	R3,CHKCHR+CKPI	;LOAD LEVEL JUST FOUND
  5494	011142'	062737	000040	016260'		ADD	#40,CHKCHR+CKPI	;MAKE LEVEL OF DEVICE
  5495	011150'	012737	177777	011354'		MOV	#-1,CKFLAG	;SET FLAG SO NEXT TIME WE CHECK LEVEL AS WELL
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 16-1
C11DTE.MAC    04-JAN-83 11:22			CHECK INTERRUPTS AND FIND DEVICE LEVEL

  5496	011156'	010300			11$:	MOV	R3,R0		;GET PRESENT LEVEL
  5497	011160'	062700	000040			ADD	#40,R0		;MAKE IT THE DEVICE LEVEL
  5498	011164'	020037	016260'			CMP	R0,CHKCHR+CKPI	;CHECK LEVEL AGAINST LAST TIME
  5499	011170'	001427				BEQ	CKINT6		;BRANCH IF LEVEL CHECKS
  5500	011172'					CKSERR	<CHKCHR+CKPI>,R0,R4
  5501	011202'					CK11SC	<CKEPC!CKEDID!CKEGB>,<Interrupt to Different BR Level>,<INTERRUPT TO DIF
  5502	011204'	067111	062564	071162		.ASCIZ	\Interrupt to Different BR Level\<377>
	011212'	070165	020164	067564
	011220'	042040	063151	062546
	011226'	062562	072156	041040
	011234'	020122	062514	062566
	011242'	177554	   000
  5503		011246'				.EVEN
  5504	011246'	000435				BR	CKINTE		;EXIT
  5505	011250'	005037	177776		CKINT6:	CLR	PS		;CHECK WITH LEVEL 0 AND
  5506	011254'	005000				CLR	R0		; NO INT ENABLE BITS SET
  5507	011256'	050412				BIS	R4,(R2)		;  AND INT BIT SET THAT NO INT OCCURRS
  5508	011260'	000240				NOP			;PAUSE
  5509	011262'	000240				NOP			;PAUSE
  5510	011264'					SPL	7		;DON'T LET AN INT HAPPEN
  5511	011272'	005700				TST	R0		;SEE IF ONE HAPPENED
  5512	011274'	001403				BEQ	19$		;BRANCH IF NO INT
  5513	011276'					CK11SC	<CKEMSE!CKEDID!CKEPC>,CKMG07,<INTERRUPT WHEN NOT ENABLED>
  5514	011302'	000417				BR	CKINTE		;EXIT
  5515	011304'	005765	000004		19$:	TST	I.INTC(R5)	;SEE IF SPECIAL CLEAR
  5516	011310'	001403				BEQ	22$		;BRANCH IF NOT
  5517	011312'	056512	000004			BIS	I.INTC(R5),(R2)	;SPECIAL CLEAR  (DL10 FOR ONE)
  5518	011316'	000401				BR	24$		;CONTINUE
  5519	011320'	040412			22$:	BIC	R4,(R2)		;CLEAR INT BITS
  5520	011322'	006304			24$:	ASL	R4		;MAKE NEW BIT POSITION
  5521	011324'	001406				BEQ	CKINTE		;BRANCH IF DONE
  5522	011326'	000137	011002'			JMP	CKINT1		;TEST NEW BIT
  5523	011332'	006304			CKINT7:	ASL	R4		;MAKE NEW INT BIT POSITION
  5524	011334'	001402				BEQ	CKINTE		;BRANCH IF NO NEW BIT POSITION
  5525	011336'	000137	011014'			JMP	CKINT3		;BRANCH IF NEW BIT POSITION
  5526	011342'	062705	000006		CKINTE:	ADD	#I.RTRN,R5	;FOR CORRECT RETURN
  5527	011346'	012604				MOV	(SP)+,R4	;
  5528	011350'	012603				MOV	(SP)+,R3	;
  5529	011352'	000205				RTS	R5		;RETURN
  5530					;
  5531	011354'	000000			CKFLAG:	0
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 16-2
C11DTE.MAC    04-JAN-83 11:22			GENERAL INTERRUPT FIELDER FOR CHK11

  5533					.SBTTL		GENERAL INTERRUPT FIELDER FOR CHK11
  5534					;
  5535					;WE GET HERE FROM ALMOST ANY INTERRUPT WHILE IN CHK11
  5536					; THIS WILL RETURN THE VECTOR ADDRESS IN R0 -
  5537					; THIS IS DISCERNED FROM THE CONDITION CODE BITS AND THE
  5538					; ADDRESS AT WHICH THE CODE IS ENTERED
  5539					;
  5540	011356'				CHKINT:
  5541									;ENTRY FOR VECTORS 0-74
  5542	011356'	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5543	011362'	004737	011476'			JSR	PC,1$
  5544	011366'	000000				.WORD	0
  5545		000012					CHKISZ	= .-CHKINT ;CHKINT BLOCK SIZE
  5546									;ENTRY FOR VECTORS 100-174
  5547	011370'	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5548	011374'	004737	011476'			JSR	PC,1$
  5549	011400'	000100				.WORD	100
  5550									;ENTRY FOR VECTORS 200-274
  5551	011402'	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5552	011406'	004737	011476'			JSR	PC,1$
  5553	011412'	000200				.WORD	200
  5554									;ENTRY FOR VECTORS 300-374
  5555	011414'	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5556	011420'	004737	011476'			JSR	PC,1$
  5557	011424'	000300				.WORD	300
  5558									;ENTRY FOR VECTORS 400-474
  5559	011426'	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5560	011432'	004737	011476'			JSR	PC,1$
  5561	011436'	000400				.WORD	400
  5562									;ENTRY FOR VECTORS 500-574
  5563	011440'	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5564	011444'	004737	011476'			JSR	PC,1$
  5565	011450'	000500				.WORD	500
  5566									;ENTRY FOR VECTORS 600-674
  5567	011452'	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5568	011456'	004737	011476'			JSR	PC,1$
  5569	011462'	000600				.WORD	600
  5570									;ENTRY FOR VECTORS 700-774
  5571	011464'	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5572	011470'	004737	011476'			JSR	PC,1$
  5573	011474'	000700				.WORD	700
  5574						;-----------------------------------------------------------------
  5575	011476'	042700	177760		1$:	BIC	#^C17,R0	;SAVE ONLY CONDITION CODE BITS
  5576	011502'	006300				ASL	R0		;MULTIPLY BY 4 (4 BYTES PER VECTOR)
  5577	011504'	006300				ASL	R0		;
  5578	011506'	063600				ADD	@(SP)+,R0	;MAKES VECTOR ADR (POPS JSR RET ADR)
  5579	011510'	012766	000340	000002		MOV	#BR7,2(SP)	;DON'T TRAP AGAIN ON RETURN
  5580	011516'	000002				RTI			;
  5581									;
  5582	011520'	000001			CHKFLV:	.BLKW	1		;CURRENT FLOATING DEVICE VECTOR
  5583	011522'	000001			CHKFLD:	.BLKW	1		;CURRENT FLOATING DEVICE ADR
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 16-3
C11DTE.MAC    04-JAN-83 11:22		DEVICE DIAGNOSTICS

  5585					.SBTTL	DEVICE DIAGNOSTICS
  5586					;
  5587					; THE FOLLOWING ROUTINES HAVE NAMES OF THE FORM X--11, WHERE -- IS
  5588					;   A DEVICE NAME (E.G. DH, DL, DTE2, KMC, ETC.) - THIS DEVICE NAME IS USED
  5589					;   IN THE MACRO "DEVICE" TO GENERATE A POINTER TO THE APPROPRIATE
  5590					;   DIAGNOSTIC ROUTINE - "DEVICE" CALLS CHKDEV, WHICH ACCESSES THE
  5591					;   TABLE GENERATED BY "DEVICE" CONTAINING THIS POINTER, AND USES
  5592					;   IT TO CALL THE PROPER DIAGNOSTIC
  5593					;
  5594					; DEVELOPERS: TRY TO KEEP THE DEVICE ROUTINE SETS IN
  5595					;   ALPHABETICAL ORDER BY DEVICE NAME (E.G., ...DL11-A, DL11-E,
  5596					;   DM11BB, DN11, ... DU11, DUP11, DZ11...) - ALSO NOTE THAT THE
  5597					;   THE DEVICE NAMES ARE THE ABBREVIATIONS USED IN THE MACRO NAMSTR
  5598					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 16-4
C11DTE.MAC    04-JAN-83 11:22			CHECK CD20 HARDWARE

  5600					.SBTTL		CHECK CD20 HARDWARE
  5601					;
  5602						    .IIF NDF FTCD20,FTCD20=0
  5603		   001				    .IF NE FTCD20
  5604	011524'				XCD11:				;
  5605	011524'	012737	011760'	000004		MOV	#30$,NXMVEC	;SET A LOCAL BUS ERROR HANDLER
  5606	011532'	005761	000006			TST	CDST2(R1)	;LOOK FOR SECONDARY STATUS REGISTER
  5607	011536'	012737	015534'	000004		MOV	#CKBUST,NXMVEC	;IT'S THERE, THIS MUST BE A CD20 (NOT A CR11)
  5608	011544'	016146	000004			MOV	CDBA(R1),-(SP)	;TO BE SURE,
  5609	011550'	012700	177777			MOV	#-1,R0		;  FIND OUT IF WE CAN
  5610	011554'	074061	000004			XOR	R0,CDBA(R1)	;  FIDDLE THE "CDBA" BITS
  5611	011560'	022661	000004			CMP	(SP)+,CDBA(R1)	;  IF WE CAN'T,
  5612	011564'	001501				BEQ	40$		;  IT ISN'T A CD11/20
  5613	011566'	074061	000004			XOR	R0,CDBA(R1)	;  IF WE DID, PUT THE BITS BACK
  5614	011572'	052737	000001	006134'		BIS	#1,CHKCR+4	;MAKE CR11 TEST FAIL IF TRIED
  5615	011600'	004537	010416'			JSR	R5,CHKBIT	;R/W CHECK ON CD.STS
  5616	011604'	000162				.WORD	CD.IE!CD.XAD!CD.PAC
  5617	011606'	005721				TST	(R1)+		;UP TO CDCC
  5618	011610'	004537	010416'			JSR	R5,CHKBIT	;
  5619	011614'	177777				.WORD	ALLBTS		;
  5620	011616'	005721				TST	(R1)+		;UP TO CDBA
  5621	011620'	004537	010416'			JSR	R5,CHKBIT	;
  5622	011624'	177777				.WORD	ALLBTS		;
  5623	011626'	010401				MOV	R4,R1		;RESTORE CD.STS POINTER
  5624	011630'	032711	010000			BIT	#CD.OFL,(R1)	;READER AVAILABLE?
  5625	011634'	001012				BNE	10$		;YES
  5626	011636'					CK11SC	0,<not ready>	;
  5627	011640'	041411	031104	020060		.ASCIZ	"	CD20 off line"
	011646'	063157	020146	064554
	011654'	062556	   000
  5628		011660'				.EVEN			;
  5629	011660'	000207				RTS	PC		;
  5630									;
  5631	011662'	012721	000400		10$:	MOV	#CD.PWC,(R1)+	;CLEAR READER
  5632	011666'	012721	177777			MOV	#-1,(R1)+	;SET TO READ ONE COLUMN
  5633	011672'	012721	160000			MOV	#160000,(R1)+	;  INTO A NON-EXISTENT LOCATION
  5634	011676'	012714	000161			MOV	#CD.IE!CD.XAD!CD.GO,(R4) ;START READER
  5635	011702'	005000				CLR	R0		;SET TIMER FOR READ WAIT
  5636	011704'	032714	100200		15$:	BIT	#CD.ERR!CD.RDY,(R4) ;LOOK FOR ERROR OR DONE
  5637	011710'	001017				BNE	20$		;GOT ONE OF THEM
  5638	011712'	077004				SOB	R0,15$		;NOT YET
  5639	011714'					CK11SC	<CKEPC!CKEDID>,<SLOW READ>
  5640	011716'	041411	031104	020060		.ASCIZ	"	CD20 time out on read"
	011724'	064564	062555	067440
	011732'	072165	067440	020156
	011740'	062562	062141	   000
  5641		011746'				.EVEN			;
  5642	011746'	000207				RTS	PC		;
  5643									;
  5644	011750'	004537	010644'		20$:	JSR	R5,CHKINL	;CD20 SHOULD BE READY TO INTERRUPT
  5645	011754'	177777				.WORD	177777		;
  5646	011756'	000207				RTS	PC		;
  5647									;
  5648	011760'	012737	015534'	000004	30$:	MOV	#CKBUST,NXMVEC	;RESTORE BUS ERROR VECTOR
  5649	011766'	022626				CMP	(SP)+,(SP)+	;POP TRAP
  5650	011770'				40$:	CK11SC	0,<NOT CD20>	;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 16-5
C11DTE.MAC    04-JAN-83 11:22			CHECK CD20 HARDWARE

  5651	011772'	061411	071157	062562		.ASCIZ	"	correction - reader is NOT a CD20"
	012000'	072143	067551	020156
	012006'	020055	062562	062141
	012014'	071145	064440	020163
	012022'	047516	020124	020141
	012030'	042103	030062	   000
  5652		012036'				.EVEN			;
  5653	012036'	000207				RTS	PC		;
  5654		   000				    .ENDC ;NE FTCD20
  5655					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 17
C11DTE.MAC    04-JAN-83 11:22			CHECK CD20 HARDWARE

  5657
  5658					.SBTTL		CHECK CR11 HARDWARE
  5659					;
  5660					;CALL	MOV	#<VECTOR ADR>,R3
  5661					;	MOV	#<HDW ADR>,R4
  5662					;	MOV	#<HDW ADR>,R1
  5663					;	JSR	PC,XCR11
  5664					;
  5665						    .IIF NDF FTCR11,FTCR11=0
  5666		   001				    .IF NE FTCR11
  5667	012040'	016146	000004		XCR11:	MOV	CDBA(R1),-(SP)	;CHECK TO SEE
  5668	012044'	012700	177777			MOV	#-1,R0		;  IF WE CAN
  5669	012050'	074061	000004			XOR	R0,CDBA(R1)	;  FIDDLE THE BITS IN
  5670	012054'	022661	000004			CMP	(SP)+,CDBA(R1)	;  THE BUFFER ADDRESS CSR
  5671	012060'	001423				BEQ	10$		;NO - READER IS REAL
  5672	012062'	074061	000004			XOR	R0,CDBA(R1)	;YES - SET THE BITS BACK
  5673	012066'					CK11SC	0,<NOT CR11>	;
  5674	012070'	067411	070157	020163		.ASCIZ	"	oops - reader is NOT a CR11"
	012076'	020055	062562	062141
	012104'	071145	064440	020163
	012112'	047516	020124	020141
	012120'	051103	030461	   000
  5675		012126'				.EVEN			;
  5676	012126'	000207				RTS	PC		;
  5677									;
  5678	012130'	052737	000001	006100'	10$:	BIS	#1,CHKCD+4	;MAKE CD20 TEST FAIL IF TRIED
  5679	012136'	004537	010416'			JSR	R5,CHKBIT	;CHECK HARDWARE BITS
  5680	012142'	000102				.WORD	CR.EJT!CR.INE	;
  5681	012144'	032714	001000			BIT	#CR.BSY,(R4)	;SEE IF BUSY (MAYBE POWER OFF)
  5682	012150'	001414				BEQ	2$		;BRANCH IF COMMAND CAN BE GIVEV
  5683	012152'					CK11SC	0,< CR11 not Rdy>
  5684	012154'	041440	030522	020061		.ASCIZ	\ CR11 not Rdy\
	012162'	067556	020164	062122
	012170'	000171
  5685						.EVEN
  5686	012172'	012737	000006	016260'		MOV	#CR.LVL,CHKCHR+CKPI ;GIVE DEFAULT LEVEL
  5687	012200'	000207				RTS	PC		;
  5688									;
  5689	012202'	012714	000101		2$:	MOV	#CR.INE!CR.CFD,(R4) ;SET INT ENABLE AND READ
  5690								; TO FORCE ANY KIND OF INT
  5691	012206'	005000				CLR	R0		;FOR TIMING OUT
  5692	012210'	032714	100200		1$:	BIT	#CR.ERR!CR.CDN,(R4) ;SEE IF AN INT CONDITION EXISTS
  5693	012214'	001015				BNE	3$		;IF NOT, THEN WAIT.
  5694	012216'	077004				SOB	R0,1$		;START TIMING OUT
  5695	012220'	042714	000100			BIC	#CR.INE,(R4)	;DISABLE CR11 INT ENABLE
  5696	012224'					CK11SC	<CKEPC!CKEDID>,<CR11 Timed Out>,<CR11 NOT RESPONDING>
  5697	012226'	051103	030461	052040		.ASCIZ	\CR11 Timed Out\
	012234'	066551	062145	047440
	012242'	072165	   000
  5698		012246'				.EVEN			;
  5699	012246'	000207				RTS	PC		;
  5700									;
  5701	012250'	004537	010644'		3$:	JSR	R5,CHKINL	;FIND INT LEVEL
  5702	012254'	177777				-1			;FOR TIME-OUT LOOP
  5703	012256'	042714	000100			BIC	#CR.INE,(R4)	;DISABLE INT FOR CR11
  5704	012262'	000207				RTS	PC		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 17-1
C11DTE.MAC    04-JAN-83 11:22			CHECK CR11 HARDWARE

  5705		   000				    .ENDC ;NE FTCR11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 17-2
C11DTE.MAC    04-JAN-83 11:22			CHECK DH11 HDW

  5707					.SBTTL		CHECK DH11 HDW
  5708					.IIF NDF NDH11,NDH11=0	;BY DEFAULT NO DH11S
  5709					;
  5710					;CALL	MOV	#<VECTOR ADR>,R3
  5711					;	MOV	#<HDW ADR>,R4
  5712					;	MOV	#<HDW ADR>,R1
  5713					;	JSR	PC,XDH11
  5714					;
  5715						    .IIF NDF FTDH11,FTDH11=0
  5716		   001				    .IF NE FTDH11
  5717					XDH11:	MOV	R3,-(SP)	;SAVE REGISTER
  5718						JSR	R5,CHKBIT	;CHECK RD/WRT BITS
  5719						131177			;READ/WRITE BITS
  5720						TST	(R1)+		;ADVANCE TO NXT REC CHAR REG
  5721						TST	(R1)+		;ADVANCE TO LINE PARAMETER REG(XX4)
  5722						JSR	R5,CHKBIT	;CHECK RD/WRT BITS
  5723						177767			;READ/WRITE BITS
  5724						TST	(R1)+		;ADVANCE TO CURRENT ADR REG(XX6)
  5725						CLR	R2		;START CHECK AT LINE 0
  5726					1$:	JSR	R5,CHKBIT	;CHECK RD/WRT BITS
  5727						-1			;READ/WRITE BITS
  5728						INC	R2		;NEXT LINE TO CHECK
  5729						CMP	R2,#17		;DONE
  5730						BLE	1$		;CHECK LINES 0-17
  5731						TST	(R1)+		;ADVANCE TO BYTE COUNT REG(X10)
  5732						CLR	R2		;START CHECK AT LINE 0
  5733					2$:	JSR	R5,CHKBIT	;CHECK RD/WRT BITS
  5734						-1			;READ/WRITE BITS
  5735						INC	R2		;NEXT LINE TO CHECK
  5736						CMP	R2,#17		;ALL LINES CHECKED?
  5737						BLE	2$		;CHECK ALL 20 LINES
  5738						TST	(R1)+		;ADVANCE TO BAR REG(XX12)
  5739						TST	(R1)+		;ADVANCE TO BREAK REG(X14)
  5740						JSR	R5,CHKBIT	;CHECK BITS
  5741						-1			;READ/WRITE BITS
  5742						TST	(R1)+		;ADVANCE TO SILO STATUS REG(X16)
  5743						JSR	R5,CHKBIT	;CHECK READ/WRITE BITS
  5744						77
  5745						$CKINT	R4,R4,<DH.RIE!DH..MM>,<DH..RI>
  5746						$CKINT	,,<DH.SIE!DH..MM>,<DH..SI>
  5747						ADD	#4,CHKCHR+CKDV		;MAKE EXPECTED VECTOR FOR XMIT
  5748						$CKINT	,,<DH.TIE>,<DH..TI>
  5749						MOV	R3,CHKCHR+CKDV		;PUT VECTOR ADDRESS IN TABLE
  5750										;
  5751		   002				    .IF NE NDH11		;DON'T CHECK HARDWARE NOT TO BE USED
  5752					CKDH1A:	MOV	R3,DHXMII		;ADR TO COME TO ON XMIT INT
  5753						ADD	#4,DHXMII		;
  5754						MOV	#CKBLK,R0		;LOAD A BUFFER WITH COUNT PATTERN
  5755						MOV	#400,R1			;LOAD 400 CHARACTERS
  5756						CLR	R2			;START WITH 0
  5757					1$:	MOVB	R2,(R0)+		;STORE THE COUNT PATTERN
  5758						INCB	R2			;NEW PATTERN
  5759						SOB	R1,1$			;BUFFER LOADED?
  5760						CLR	R3			;START WITH LINE 0
  5761						MOV	#1,R2			;LINE BIT  (LINE 0)
  5762					CKDH1B:	CLR	DHDATA			;FIRST RCV'D SHOULD BE 0
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 17-3
C11DTE.MAC    04-JAN-83 11:22			CHECK DH11 HDW

  5763					.IIF NDF NTRIB,NTRIB=0
  5764		   003				    .IF NE NTRIB
  5765									;IF TRIBUTARY LINES IN USE
  5766									;USE MINIMAL TEST TO AVOID INTERFERRENCE
  5767									;WITH THE FUNCTIONAL STATIONS ON LINE
  5768									;THE PROBLEM ARISES BECAUSE MAINTAINANCE
  5769									;MODE ON THE DH11 DRIVES THE MODEM LINES!!!
  5770						MOV	#-1,R1
  5771						DEC	DHDATA
  5772						MOVB	R1,CKBLK
  5773						    .IFF
  5774						MOV	#-400,R1
  5775		   002				    .ENDC	;.IF NE NTRIB
  5776						BIS	#DH..MC,(R4)		;CLEAR THE DH
  5777						BIS	#DH..MM!DH.SIE!DH.TIE!DH.RIE,(R4)	;ENABLE INTS
  5778						BIS	R3,(R4)			;LOAD THE LINE NUMBER
  5779						MOV	#B6!B8!B9!B10!B12!B13!DH.2SB!DH.CL8!DH.PEN!DH..OP,DH.LPR(R4)
  5780										;SEL 8BIT,9600,PAR,ODD
  5781						MOV	R1,DH.BCR(R4)		;LENGTH TO XMIT
  5782						MOV	#CKBLK,DH.CAR(R4)	;ADR WHERE THE DATA IS
  5783						MOV	#4,DH.SSR(R4)		;ALARM LEVEL TO 4
  5784					CKDH1E:	CLR	R0			;INT RETURNS ADR IN HERE
  5785						CLR	R1			;TIMER
  5786						MOV	R2,DH.BAR(R4)		;SET LINE ACTIVE
  5787					2$:	CLR	PS			;LEVEL TO 0 FOR INTS
  5788						NOP				;LET AN INTERRUPT HAPPEN
  5789						SPL	7			;DON'T LET ONE HAPPEN
  5790						CMP	R0,CHKCHR+CKDV		;SEE IF RCV INT YET
  5791						BEQ	4$			;BRANCH IF RCV INT
  5792						CMP	R0,DHXMII		;SEE IF XMIT INT
  5793						BEQ	5$			;BRANCH IF XMIT INT
  5794						TST	R0			;SEE IF ANY INTERRUPT
  5795						BEQ	3$			;BRANCH IF NO INTERRUPT
  5796						CKSERR	<CHKCHR+CKDV>,R0,R3
  5797						CK11SC	<CKEPC!CKEGB!CKEDID>,<Ill Int>,<ILLEGAL INT WHILE WAITING FOR DH11 INT>
  5798						.ASCIZ	\Ill Int\<377>
  5799						.EVEN
  5800						JMP	CKDH1D			;DON'T TEST ANY MORE
  5801					3$:	SOB	R1,2$			;TIME-OUT
  5802						CK11SC	<CKEPC!CKEDID>,<No Int>,<NO DH11 INTERRUPT>
  5803						.ASCIZ	\No Int\<377>
  5804						.EVEN
  5805						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5806						JMP	CKDH1D			;DON'T TEST ANY MORE
  5807					5$:	BIT	#DH.NXM,(R4)		;SEE IF NXM
  5808						BEQ	16$			;BRANCH IF NO NXM
  5809						CK11SC	<CKEPC!CKEDID>,<Xmit Nxm>,<TRANSMIT NXM ON DH>
  5810						.ASCIZ	\Xmit Nxm\<377>
  5811						.EVEN
  5812						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5813						BR	CKDH1D			;DON'T TEST ANY MORE
  5814					16$:	BIT	#DH..TI,(R4)		;BETTER HAVE XMIT INT
  5815						BNE	17$			;BRANCH IF WE DO
  5816						CK11SC	<CKEPC!CKEDID>,<Ill Xmit Int>,<INT TO XMIT BUT FOR NO REASON>
  5817						.ASCIZ	\Ill Xmit Int\<377>
  5818						.EVEN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 17-4
C11DTE.MAC    04-JAN-83 11:22			CHECK DH11 HDW

  5819						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5820						BR	CKDH1D			;DON'T TEST ANY MORE
  5821					17$:	BIC	#DH..TI,(R4)		;CLEAR XMIT INT
  5822						BR	CKDH1E			;
  5823					4$:	BIT	#DH..SI,(R4)		;SEE IF SILO OVERFLOW
  5824						BEQ	CKDH1C			;BRANCH IF SILO HAD ROOM
  5825						CK11SC	<CKEPC!CKEDID>,<Silo Full>,<SILO OVERFLOW>
  5826						.ASCIZ	\Silo Full\<377>
  5827						.EVEN
  5828						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5829						BR	CKDH1D			;DON'T TEST ANY MORE
  5830					CKDH1C:	BIC	#DH..RI,(R4)		;CLEAR RCV INT (MUST FOR MAINT MODE)
  5831						MOV	DH.NRC(R4),R0		;GET STUFF FROM SILO
  5832						BIT	#DH.DOV!DH..FE!DH..PE,R0	;SEE IF ANY ERROR BITS WITH DATA
  5833						BEQ	7$			;BRANCH IF NO ERRORS WITH THE DATA
  5834						MOV	DHDATA,-(SP)		;MAKE THE GOOD
  5835						MOV	R3,-(SP)			;PUT LINE # IN
  5836						SWAB	(SP)			;GET IT IN THE (LB)
  5837						BIS	(SP)+,(SP)		;LINE # NOW IN GOOD
  5838						BIS	#DH.VDP,(SP)		;GOOD INCLUDES VALID DATA PRESENT
  5839						MOV	R0,-(SP)			;THE BAD
  5840						MOV	R3,-(SP)			;THE LINE UNDER TEST
  5841						CK11SC	<CKEGB!CKEPC!CKEDID>,<Data Err Bit Set>,<ERROR BITS WITH THE DATA>
  5842						.ASCIZ	\Data Err Bit Set\<377>
  5843						.EVEN
  5844						BR	CKDH1D			;DON'T TEST ANY MORE
  5845					7$:	BIT	#DH.VDP,R0		;SEE IF VALID DATA
  5846						BNE	8$			;BRANCH IF VALID DATA
  5847						CK11SC	<CKEPC!CKEDID>,<Not Valid Data>,<NOT VALID DATA BIT SET>
  5848						.ASCIZ	\Not Valid Data\<377>
  5849						.EVEN
  5850						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5851						BR	CKDH1D			;DON'T TEST ANY MORE
  5852					8$:	BIC	#B15!B14!B13!B12,R0	;CLEAR DATA ERROR BITS
  5853						SWAB	R0			;FOR CHECKING LINE #
  5854						CMPB	R0,R3			;SEE IF LINE #OK
  5855						BEQ	9$			;BRANCH IF IT IS
  5856						MOV	R3,-(SP)			;LEGAL LINE NUMBER
  5857						CLR	-(SP)			;0 FOR BYTE MOVE
  5858						MOVB	R0,(SP)			;THE ILLEGAL LINE NUMBER
  5859						MOV	R3,-(SP)			;LINE UNDER TEST
  5860						CK11SC	<CKEGB!CKEPC!CKEDID>,<Ill Line Num>,<ILLEGAL LINE NUMBER>
  5861						.ASCIZ	\Ill Line Num\<377>
  5862						.EVEN
  5863						BR	CKDH1D			;DON'T TEST ANY MORE
  5864					9$:	SWAB	R0			;FOR CHECKING THE DATA
  5865						CMPB	R0,DHDATA		;SEE IF CORRECT DATA
  5866						BEQ	10$			;BRANCH IF DATA OK
  5867						MOV	DHDATA,-(SP)		;GOOD DATA
  5868						CLR	-(SP)			;FOR BYTE MOVE
  5869						MOVB	R0,(SP)			;THE BAD DATA
  5870						MOV	R3,-(SP)			;THE LINE #
  5871						CK11SC	<CKEGB!CKEPC!CKEDID>,<Data Err>,<DATA ERROR>
  5872						.ASCIZ	\Data Err\<377>
  5873						.EVEN
  5874						BR	CKDH1D			;DON'T TEST ANY MORE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 17-5
C11DTE.MAC    04-JAN-83 11:22			CHECK DH11 HDW

  5875					10$:	INCB	DHDATA			;NEW PATTERN EXPECTED
  5876						BEQ	11$			;BRANCH IF LINE DONE
  5877						JMP	CKDH1E			;
  5878					;
  5879					11$:
  5880					CKDH1D:	INC	R3			;NEW LINE NUMBER
  5881						ASL	R2			;NEW BIT FOR NEXT LINE
  5882						BEQ	CKDH1F			;BRANCH IF TEST ALL DONE
  5883						JMP	CKDH1B			;
  5884					;
  5885					CKDHPL:	CK11SC	0,<		Line #>
  5886						.ASCIZ	\		Line #\
  5887						.EVEN
  5888						MOV	R3,R0			;LINE NUMBER TO R0 FOR CALL
  5889						JSR	PC,CKTOCT		;PRINT LINE NUMBER
  5890						RTS	PC			;RETURN
  5891					;
  5892						    .IFF ;NE NDH11
  5893					10$:	JSR	R0,CKTSTR
  5894						.ASCIZ	\	SKIPPING TRANSMISSION CHECK\
  5895						.EVEN
  5896						MOV	#377+<<.+6-10$>/2>,10$	;SHUT OFF SKIPPING COMMENT
  5897		   001				    .ENDC ;NE NDH11
  5898					;
  5899					CKDH1F:	BIS	#DH..MC,(R4)		;MASTER CLEAR
  5900						MOV	(SP)+,R3	;GET R3 BACK
  5901						RTS	PC			;DH CHARACTER TEST DONE
  5902					DHDATA:	0
  5903					DHXMII:	0
  5904		   000				    .ENDC ;NE FTDH11
  5905					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 18
C11DTE.MAC    04-JAN-83 11:22			CHECK DH11 HDW

  5907
  5908					.SBTTL		CHECK DL11-A HDW
  5909					;
  5910						    .IIF NDF FTDL1A,FTDL1A=0
  5911		   001				    .IF NE FTDL1A
  5912					XDL.A11:
  5913						RTS	PC
  5914		   000				    .ENDC ;NE FTDL1A
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 18-1
C11DTE.MAC    04-JAN-83 11:22			CHECK DL11-E HDW

  5916					.SBTTL		CHECK DL11-E HDW
  5917					;
  5918					;CALL	MOV	#<VECTOR ADR>,R3
  5919					;	MOV	#<HDW ADR>,R4
  5920					;	MOV	#<HDW ADR>,R1
  5921					;	JSR	PC,XDL11
  5922					;
  5923						    .IIF NDF FTDL1E,FTDL1E=0
  5924		   001				    .IF NE FTDL1E
  5925	012264'				XDL.E11:
  5926	012264'	010346				MOV	R3,-(SP)	;
  5927	012266'	004537	010416'			JSR	R5,CHKBIT	;CHECK READ/WRITE BITS
  5928	012272'	000156				000156			;
  5929	012274'	005721				TST	(R1)+		;ADVANCE TO RECEIVE DATA REGISTER
  5930	012276'	005721				TST	(R1)+		;ADVANCE TO TRANSMIT STATUS REGISTER
  5931	012300'	004537	010416'			JSR	R5,CHKBIT	;
  5932	012304'	000105				000105			;
  5933	012306'	012603				MOV	(SP)+,R3	;
  5934	012310'	000207				RTS	PC		;
  5935		   000				    .ENDC ;NE FTDL1E
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 18-2
C11DTE.MAC    04-JAN-83 11:22			CHECK DM11BB HDW

  5937					.SBTTL		CHECK DM11BB HDW
  5938					;
  5939					;CALL	MOV	#<VECTOR ADR>,R3
  5940					;	MOV	#<HDW ADR>,R4
  5941					;	MOV	#<HDW ADR>,R1
  5942					;	JSR	PC,XDM11
  5943					;
  5944						    .IIF NDF FTDM11,FTDM11=0
  5945		   001				    .IF NE FTDM11
  5946					XDM11:	JSR	R5,CHKBIT		;CHECK FOLLOWING BITS
  5947						DM.ALI!DM.DNE!DM..MM!DM.ENB!DM.IEN
  5948						$CKINT	,R4,<DM.IEN>,<DM.DNE>
  5949						JSR	PC,CKDMCS		;CLEAR SCAN AND CHECK IT CLEARED
  5950						BIS	#DM.ENB,(R4)		;ENABLE SCAN
  5951						BIT	#DM.BSY,(R4)		;SEE IF BSY SET
  5952						BNE	1$			;BRANCH IF IT DID
  5953						CK11SC	<CKEPC!CKEDID>,<Busy did not Set>,<BUSY DID NOT SET>
  5954						.ASCIZ	\Busy did not Set\<377>
  5955						.EVEN
  5956					1$:	JSR	PC,CKDMCS		;CLEAR SCAN AND CHECKED IT CLEARED
  5957						RTS	PC
  5958					;
  5959					.IIF NDF DM.TIM,DM.TIM=40.		;DM11BB SETTLE TIME IN MEMORY CYCLES
  5960					;
  5961					CKDMCS:	MOV	#DM.DNE!DM..MM!DM.IEN!DM.ENB!DM.ALI,R2
  5962										;BITS WHICH SHOULD GET CLEARED
  5963						MOV	#<DM.TIM/5>,R0		;TIME OUT FOR BUSY
  5964						BIS	#DM.SCN,(R4)		;CLEAR SCAN
  5965					5$:	BIT	#DM.BSY,(R4)		;SEE IF BUSY CLEAR YET
  5966						BEQ	2$			;BRANCH IF IT IS
  5967						SOB	R0,5$			;TIME OUT WAITING FOR BSY TO CLEAR
  5968						CK11SC	<CKEPC!CKEDID>,<Busy did not Clear>,<CLEARING SCAN FAILED TO CLEAR BUSY>
  5969						.ASCIZ	\Busy did not Clear\<377>
  5970						.EVEN
  5971					2$:	BIT	R1,(R4)			;SEE IF THEY ARE ALL CLEAR
  5972						BEQ	3$			;BRANCH IF THEY ARE ALL CLEAR
  5973						MOV	(R4),R0			;GET DM11 STATUS
  5974						COM	R2			;MASK OUT NON INTERESTING BITS
  5975						BIC	R2,R0			;
  5976						CLR	-(SP)			;GOOD
  5977						MOV	R0,-(SP)			;BAD
  5978						MOV	R4,-(SP)			;ADR
  5979						CK11SC	<CKEGB!CKEPC!CKEDID>,<Clear Scan Error>,<CLR SCAN FAILED TO CLEAR A BIT>
  5980						.ASCIZ	\Clear Scan Error\<377>
  5981						.EVEN
  5982					3$:	RTS	PC
  5983		   000				    .ENDC ;NE FTDM11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 18-3
C11DTE.MAC    04-JAN-83 11:22			CHECK DN11 HDW

  5985					.SBTTL		CHECK DN11 HDW
  5986					;
  5987					;CALL	MOV	#<VECTOR ADR>,R3
  5988					;	MOV	#<HDW ADR>,R4
  5989					;	MOV	#<HDW ADR>,R1
  5990					;	JSR	PC,XDN11
  5991					;
  5992						    .IIF NDF FTDN11,FTDN11=0
  5993		   001				    .IF NE FTDN11
  5994					XDN11:	JSR	R5,CHKBIT		;CHECK BITS
  5995						007714				;READ/WRITE BITS
  5996						$CKINT	,R4,<DN..IE!DN..ME>,<DN.DNE>
  5997						RTS	PC
  5998		   000				    .ENDC ;NE FTDN11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 18-4
C11DTE.MAC    04-JAN-83 11:22			CHECK DP11 HDW

  6000					.SBTTL		CHECK DP11 HDW
  6001					;
  6002					;CALL	MOV	#<VECTOR ADR>,R3
  6003					;	MOV	#<HDW ADR>,R4
  6004					;	MOV	#<HDW ADR>,R1
  6005					;	JSR	PC,XDP11
  6006					;
  6007						    .IIF NDF FTDP11,FTDP11=0
  6008		   001				    .IF NE FTDP11
  6009					XDP11:	JSR	R5,CHKBIT	;CHECK BITS
  6010						3707			;READ/WRITE BITS
  6011						TST	(R1)+		;ADV TO REC BUF/SYN REG
  6012					;;;;	JSR	R5,CHKBIT	;CHECK BITS
  6013					;;;;	000000			;READ/WRITE BITS
  6014						TST	(R1)+		;ADV TO XMT STATUS REG
  6015						JSR	R5,CHKBIT	;
  6016						000143			;READ/WRITE BITS
  6017					;;;;	TST	(R1)+		;ADV TO XMT BUFFER
  6018					;;;;	JSR	R5,CHKBIT	;
  6019					;;;;	000000			;READ/WRITE BITS
  6020						$CKINT	R4,R4,B6,B7	;
  6021						RTS	PC		;
  6022		   000				    .ENDC ;NE FTDP11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 18-5
C11DTE.MAC    04-JAN-83 11:22			CHECK DQ11 HDW

  6024					.SBTTL		CHECK DQ11 HDW
  6025					;
  6026					;CALL	MOV	#<VECTOR ADR>,R3
  6027					;	MOV	#<HDW ADR>,R4
  6028					;	MOV	#<HDW ADR>,R1
  6029					;	JSR	PC,XDQ11
  6030					;
  6031						    .IIF NDF FTDQ11,FTDQ11=0
  6032		   001				    .IF NE FTDQ11
  6033					XDQ11:
  6034		   002				    .IF	NDF,FT.D75		;ONLY ASSEMBLE DQ IF NOT DC75
  6035						JSR	R5,CHKBIT		;CHECK WE CAN SET BITS
  6036						110373				;READ/WRITE BITS
  6037						TST	(R1)+			;ADVANCE TO XMT REGISTER
  6038						JSR	R5,CHKBIT		;CHECK WE CAN SET BITS
  6039						101772				;READ/WRITE BITS
  6040						TST	(R1)+			;ADVANCE TO ERR REGISTER
  6041						JSR	R5,CHKBIT		;CHECK WE CAN SET BITS
  6042						017477				;READ/WRITE BITS
  6043						TST	(R1)+			;ADVANCE TO SHADOW REGISTERS
  6044						JSR	R5,CHKBIT
  6045						-1
  6046					;
  6047					;DETERMINE DQ11 INTERRUPT LEVEL
  6048					;
  6049					30$:	$CKINT	R4,R4,DQ.RIE,<DQ.RDP!DQ.RDS>
  6050						MOV	CHKCHR+CKDV,-(SP)	;SAVE VECTOR
  6051						ADD	#4,CHKCHR+CKDV		;MAKE VECTOR B
  6052						CMP	(R1)+,(R2)+		;POINT TO XMIT REG
  6053						$CKINT	,,<DQ.XIE>,<DQ.XDS!DQ.XDP>
  6054						TST	(R2)+			;ADVANCE INT BIT POINTER TO ERR REG
  6055						$CKINT	,,<DQ.EIE>,<DQ.VRC!DQ.XLE!DQ.RLE!DQ.XNX!DQ.RNX!DQ.XCL!DQ.RCL>
  6056						MOV	(SP)+,CHKCHR+CKDV		;RESTORE VECTOR A VECTOR
  6057					;
  6058					;ENTRY BECAUSE DQ11 TRAPPED TO RIGHT LOCATION
  6059					; CHECK WE CAN CLEAR THE DATASET FLAG
  6060					;
  6061					32$:	MOV	#5,R0			;PATIENCE COUNTER ON DATASET FLAG
  6062					31$:	BIC	#DQ.DSF,2(R4)		;CLEAR DATASET FLAG
  6063						CMP	(SP),(SP)			;TIME WASTER ONLY
  6064						BIT	#DQ.DSF,2(R4)		;CHECK TO SEE IF DATASET FLAG STILL OFF
  6065						BEQ	CHKDQE
  6066						SOB	R0,31$
  6067						CK11SC	<CKEDID!CKEPC>,<Can't Clr Dataset Flg>,< CAN'T CLEAR DATASET FLAG>
  6068						.ASCIZ	\Can't Clr Dataset Flg\<377>
  6069						.EVEN
  6070					.PAGE
  6071					;CHECK THAT ERROR BITS WORK
  6072					;
  6073					CHKDQE:	JSR	PC,CKDQCL		;CLEAR ENTIRE DQ
  6074						MOV	#40,R2			;FIRST BIT TO TRY
  6075					1$:	BIS	R2,4(R4)		;SET AN ERROR BIT
  6076						MOV	4(R4),R0		;GET ERR REG
  6077						BPL	2$			;BRANCH IF B15 ERR NOT SET
  6078						BIT	R2,R0			;SEE IF THE BIT SET
  6079						BNE	3$			;BRANCH IF B15 SET AND ERR BIT SET
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 18-6
C11DTE.MAC    04-JAN-83 11:22			CHECK DQ11 HDW

  6080					2$:	MOV	R2,-(SP)			;SAVE GOOD
  6081						BIS	#B15,(SP)		; ALSO MUST INCLUDE BIT 15.
  6082						JSR	PC,CKDQES		;PUT BAD AND REG # ON STACK
  6083						CK11SC	<CKEDID!CKEPC!CKEGB>,<Bit not Set>,<CAN'T SET BIT>
  6084						.ASCIZ	\Bit not Set\<377>
  6085						.EVEN
  6086					3$:	BIC	R2,4(R4)		;CLEAR BIT JUST SET, SHOULD ALSO CLEAR B15.
  6087						MOV	4(R4),R0		;SAVE RESULTS
  6088						BMI	4$			;BRANCH IF B15 SET (IT SHOULDN'T BE)
  6089						BIT	R2,R0		;SEE IF THE BIT IS CLEAR
  6090						BEQ	5$			;BRANCH IF ITS 0
  6091					4$:	CLR	-(SP)			;WHAT GOOD SHOULD BE
  6092						JSR	PC,CKDQES		;SAVE BD, AND REG # ON STACK
  6093						CK11SC	<CKEDID!CKEPC!CKEGB>,<Bit not Clear>,<COULDN'T CLEAR BIT>
  6094						.ASCIZ	\Bit not Clear\<377>
  6095						.EVEN
  6096					5$:	ASR	R2			;ALL DONE?
  6097						BNE	1$			;BRANCH BACK IF ANOTHER BIT TO TEST
  6098						BR	CHKDQS		;GO CHECK SECONDARY REGS
  6099					;
  6100					CKDQES:	MOV	(SP)+,R1			;SAVE RETURN PC
  6101						MOV	R0,-(SP)			;PUT C(ERR REG) ON STACK
  6102						MOV	R2,-(SP)			;BIT WE TESTED
  6103						BIS	#B15,(SP)		;INCLUDE ERROR BIT
  6104						COM	(SP)			;
  6105						BIC	(SP)+,(SP)		;KEEP ONLY THE INTERESTING BITS
  6106						MOV	R4,-(SP)			;SAVE REG ADR
  6107						ADD	#4,(SP)			;MAKE IT THE ERROR REG
  6108						JMP	(R1)			;RETURN
  6109					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 19
C11DTE.MAC    04-JAN-83 11:22			CHECK DQ11 HDW

  6111
  6112					; CHECK WE CAN LOAD VARIOUS DQ11 SECONDARY REGISTERS
  6113					;
  6114					CHKDQS:	CLR	R0			;1ST TRY TO CLEAR ALL SECONDARY REGISTERS
  6115						JSR	PC,60$			;GO DO IT
  6116						MOV	#-1,R0			;NOW TRY TO SET ALL SECONDARY REGISTERS
  6117						JSR	PC,60$
  6118						MOV	#1,R0			;BIT TO LOAD
  6119					10$:	JSR	PC,60$			;TRY TO LOAD BIT
  6120						ASL	R0			;SHIFT BIT
  6121						BNE	10$			;BRANCH IF STILL HAVE BITS TO TEST
  6122						MOV	#RG.SYN,R1		;NOW TRY TO LOAD REG WITH REG #
  6123					12$:	MOV	R1,R0			;DATA = REGISTER NUMBER
  6124						JSR	PC,CKDQSL		;TRY TO LOAD REGISTER
  6125						CMP	#RG.SYN,R1
  6126						BNE	14$
  6127						DEC	R1			;SKIP REG 10
  6128					14$:	DEC	R1			;ON TO NEXT REGISTER
  6129						BPL	12$
  6130						MOV	#RG.SYN,R1		;NOW CHECK IT LOADED
  6131					16$:	MOV	R1,R0			;DATA SHOULD BE SAME
  6132						JSR	PC,CKDQSR		;CHECK DATA STILL THERE
  6133						CMP	#RG.SYN,R1		;WAS THIS THE FIRST REG ?
  6134						BNE	18$
  6135						DEC	R1			;YES SO SKIP REG 10
  6136					18$:	DEC	R1			;ON TO NEXT REGISTER
  6137						BPL	16$			;DO REST IF ANY
  6138						MOV	#RG.MSC,R1		;NOW TEST MISC REG
  6139						CLR	R0			;TRY TO CLEAR REGISTER
  6140						JSR	PC,CKDQSL		;TRY TO LOAD IT
  6141						MOV	#2,R0			;TEST STEP-MODE BIT
  6142						JSR	PC,CKDQSL
  6143						MOV	#10,R0			;TEST TEST-LOOP BIT
  6144						JSR	PC,CKDQSL
  6145						CLR	R0
  6146						JSR	PC,CKDQSL		;CLEAR MISC REG
  6147						BR	CHKDQL			;DO A LOOP BACK TEST
  6148					;
  6149					60$:	MOV	#RG.SYN,R1		;1ST REGISTER TO LOAD
  6150					62$:	JSR	PC,CKDQSL
  6151						CMP	#RG.SYN,R1		;DID WE JUST CHECK THE SYN REG ?
  6152						BNE	64$
  6153						DEC	R1			;YES SO SKIP A REG
  6154					64$:	DEC	R1			;ON TO THE NEXT REG
  6155						BPL	62$
  6156						RTS	PC			;YES
  6157					;
  6158					; LOAD A DQ11 2NDARY REGISTER
  6159					; CALL	MOV	#DATA,R0
  6160					;	MOV	#REG,R1
  6161					;	JSR	PC,CKDQSL
  6162					CKDQSL:	BIS	#DQ.MBM,R1
  6163						MOVB	R1,5(R4)		;SELECT THE REGISTER
  6164						MOV	R0,6(R4)		;LOAD THE DATA
  6165					CKDQSR:	BIS	#DQ.MBM,R1
  6166						MOVB	R1,5(R4)		;SELECT THE REGISTER
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 19-1
C11DTE.MAC    04-JAN-83 11:22			CHECK DQ11 HDW

  6167						BIC	#DQ.MBM,R1
  6168						CMP	R0,6(R4)		;CHECK TO SEE IF WE LOADED IT
  6169						BNE	10$
  6170						RTS	PC
  6171					10$:	MOV	R0,-(SP)			;SAVE GOOD DATA
  6172						MOV	6(R4),-(SP)		;SAVE BAD DATA
  6173						MOV	R1,-(SP)			;SAVE 2ND REG #
  6174						CK11SC	<CKEDID!CKEPC!CKEGB>,<Secondary Reg Err>,<SECONDARY REG ERROR>
  6175						.ASCIZ	\Secondary Reg Err\<377>
  6176						.EVEN
  6177						RTS	PC			;RETURN
  6178					.PAGE
  6179					; DISCOVER WHAT THE SPECIAL CHARACTERS ARE IN THE DQ11.
  6180					;
  6181					CHKDQL:
  6182		   003				    .IF NE SPCVFY		;CHECK FOR SPECIAL CHARS ONLY IF USED
  6183						CLR	CHKCHR+CKFLG		;CLEAR WHERE WE COUNT SPECIAL CHARS
  6184						MOV	R2,-(SP)		;SAVE R2
  6185						MOV	R3,-(SP)		;SAVE R3 (VECTOR)
  6186						MOV	R5,-(SP)		;SAVE R5
  6187						MOVB	#255,CHKXBF+2		;SOMETHING OTHER THAN SYNC (226)
  6188						CLR	R3			;START WITH CHARACTER 0
  6189					CKDQLP:
  6190					1$:	JSR	PC,CKDQCL		;CLEAR DQ
  6191						MOV	#CHKRBF,R5		;ADDRESS TO LOAD
  6192						MOV	#<<CHKRBF-CHKXBF>/2>,R1	;LENGTH TO LOAD
  6193						CLR	R2			;DATA TO LOAD
  6194						JSR	PC,CKLDBF		;LOAD BUFFER
  6195						MOV	#226*401,CHKXBF		;SYNC CHAR WE USE
  6196						MOVB	R3,CHKXBF+3		;PUT CHAR IN XMIT BUFFER
  6197						DQREGS	SYN,(R4)		;SYNC REG
  6198						MOV	#226*401,6(R4)		;PUT SYNC CHAR IN REG
  6199						DQREGS	MSC,(R4)		;MISC REG
  6200						MOV	#4010,6(R4)		;LOAD MISC REG
  6201						DQREGS	PTA,(R4)		;PRI XMIT ADDR REG
  6202						MOV	#CHKXBF,6(R4)		;LOAD XMIT PRI ADDR REG
  6203						DQREGS	STA,(R4)		;SEC XMIT ADR REG
  6204						MOV	#CHKXBF,6(R4)		;LOAD XMIT SEC ADDR REG
  6205						DQREGS	PRA,(R4)		;PRIMARY RECEIVE ADDR REG
  6206						MOV	#CHKRBF,6(R4)		;LOAD REC ADDR REG PRI
  6207						DQREGS	SRA,(R4)		;SEC REC ADR REG
  6208						MOV	#CHKRBF,6(R4)		;LOAD REC ADDR REG SEC
  6209						DQREGS	PTC,(R4)		;PRI XMIT CC
  6210						MOV	#-4,6(R4)		;LOAD PRI XMIT CC
  6211						DQREGS	STC,(R4)		;SEC XMIT CC
  6212						MOV	#-2,6(R4)		;LOAD SEC XMIT CC
  6213						DQREGS	PRC,(R4)		;PRI REC CC
  6214						MOV	#-2,6(R4)		;LOAD PRI REC CC
  6215						DQREGS	SRC,(R4)		;SEC REC CC
  6216						MOV	#-2,6(R4)		;LOAD SEC REC CC
  6217						CLR	R1			;CLEAR SAVED STATUS
  6218						MOV	#DQ.RGO!DQ.CIE!DQ.RIE,(R4)	;TELL REC TO GO WITH IE
  6219						MOV	#DQ.XGO,2(R4)		;TELL XMIT TO GO
  6220					CKDQWA:	CLR	R5			;FOR TIME-OUT
  6221						CLR	R0			;UPON INT R0 WILL GET VECTOR
  6222						CLR	PS			;LET INT HAPPEN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 19-2
C11DTE.MAC    04-JAN-83 11:22			CHECK DQ11 HDW

  6223					1$:	TST	R0			;SEE IF AN INTERRUPT
  6224						BNE	2$			;BRANCH IF ONE (R0 IS NON 0)
  6225						SOB	R5,1$			;TIME OUT
  6226						CK11SC	<CKEPC!CKEDID>,<Timed Out>,<TIMED OUT WHILE WAITING FOR AN INT>
  6227						.ASCIZ	\Timed Out\<377>
  6228						.EVEN
  6229						BR	CKDQOT		;DON'T CHK THIS DQ ANY MORE
  6230					2$:	CMP	R0,CHKCHR+CKDV		;SEE IF WE CAME TO THE RIGH VECTOR
  6231						BEQ	CKDQGI			;BRANCH IF WE DID
  6232						CKSERR	<CHKCHR+CKDV>,R0,R4	;SAVE GD,BD,DEV ADR
  6233						CK11SC	<CKEPC!CKEDID!CKEGB>,<Interrupted to Wrong Vector>,<INTERRUPTED TO WRONG
  6234						.ASCIZ	\Interrupted to Wrong Vector\<377>
  6235						.EVEN
  6236						BR	CKDQOT			;DON'T CHK ANY MORE OF THIS DQ
  6237					CKLDBF:	MOV	R2,(R5)+		;PUT DATA IN ADDR
  6238						SOB	R1,CKLDBF		;FILLED?
  6239						RTS	PC			;YES.
  6240					;
  6241					CKDQGI:	MOV	(R4),R5			;GET STATUS
  6242						TSTB	R5			;SEE IF DONE YET?
  6243						BMI	1$			;BRANCH IF SO
  6244						BIT	#DQ.RDS,R5		;SEE IF SEC INT
  6245						BNE	2$			;BRANCH IF IT IS
  6246						BIT	#DQ.VCH,R5		;SEE IF SPECIAL CHAR INT
  6247						BNE	3$			;BRANCH IF SO
  6248						CK11SC	<CKEDID!CKEPC>,<Illegal Interrupt>,<SOME BIT OTHER THAN SPEC CHAR INT'ED
  6249						.ASCIZ	\Illegal Interrupt\<377>
  6250						.EVEN
  6251						BR	CKDQOT			;DON'T CHECK ANY MORE OF THIS DQ
  6252					1$:	BIT	#DQ.VCH,R5		;SEE IF SPECIAL CHAR INT
  6253						BEQ	5$			;BRANCH IF NOT
  6254						MOV	R5,R1			;SAVE REC STATUS FOR PRINT
  6255						BIC	#DQ.VCH!DQ.RDP!DQ.CIE,(R4)	;DISMISS INT
  6256						BR	CKDQWA			;GO WAIT FOR ANOTHER INT
  6257					3$:	BIC	#DQ.VCH,(R4)		;CLEAR FOR EXIT
  6258						BR	CKDQWA			;GO WAIT FOR ANOTHER INT
  6259					5$:	BIC	#DQ.RDP,(R4)		;
  6260						BR	CKDQWA			;GO WAIT FOR ANOTHER INT
  6261					2$:	BIT	#DQ.VCH,R1		;WAS IT A SPECIAL CHAR?
  6262						BEQ	6$			;NO, SO JUST UPDATE PATTERN
  6263						BIT	#DQ.CHR,R1		;WAS THERE CAUSE FOR VCH ?
  6264						BNE	9$			;MUST BE NON 0 OR WHY ARE WE HERE
  6265						CK11SC	<CKEDID!CKEPC>,<Spec Char Code Fld 0>,<SPECIAL CHAR CODE FIELD 0>
  6266						.ASCIZ	\Spec Char Code Fld 0\
  6267						.EVEN
  6268						BR	CKDQOT			;DON'T CHECK ANY MORE OF THIS DQ
  6269					9$:	BIT	#DQ.ETB!DQ.ETX!DQ.ENQ,R1 ;WAS IT INTERESTING SPECIAL CHAR ?
  6270						BNE	10$			;IF SO FIND WHICH
  6271						BIS	#B15,CHKCHR+CKFLG	;SET FLAG THAT SYNC INTERRUPTS
  6272						BR	6$
  6273					69$:	.WORD	B10
  6274						.WORD	B9
  6275						.WORD	B8
  6276					10$:	MOV	#4,R5			;INDEX FOR SPECIAL CHAR TABLE
  6277						INC	CHKCHR+CKFLG		;COUNT SPECIAL CHARACTER
  6278					12$:	BIT	69$(R5),R1		;CHECK FOR SPECIAL CHAR FLAG
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 19-3
C11DTE.MAC    04-JAN-83 11:22			CHECK DQ11 HDW

  6279						BEQ	14$
  6280						MOV	R3,CHKCHR+CKSPC(R5)	;PUT INTO THE TABLE
  6281					14$:	SUB	#2,R5
  6282						BGE	12$			;LOOK FOR ANOTHER MAYBE
  6283					6$:	INCB	R3			;NEXT CHAR TO CHECK
  6284						BEQ	4$			;BRANCH IF ALL DONE
  6285						BIC	#DQ.RDS!DQ.VCH!DQ.CIE!DQ.RIE,(R4)	;
  6286						JMP	CKDQLP			;
  6287					CKDQOT=.
  6288					4$:	MOV	(SP)+,R5
  6289						MOV	(SP)+,R3
  6290						MOV	(SP)+,R2
  6291						CMPB	CHKCHR+CKFLG,#4		;SHOULD BE NO MORE THAT 4
  6292						BLE	15$			;CHECK IF SO
  6293						CK11SC	<CKEDID!CKEPC>,<More than 4 Spec Char Det>,<MORE THAN 4 SPEC CHAR WERE D
  6294						.ASCIZ	\More than 4 Spec Char Det\
  6295						.EVEN
  6296						BR	CKDQOT			;DON'T CHECK ANY MORE OF THIS DQ
  6297						    .IFF
  6298					10$:	JSR	R0,CKTSTR
  6299						.ASCIZ	\	SKIPPING SPEC CHAR TEST\
  6300						.EVEN
  6301						MOV	#377+<<.+6-10$>/2>,10$	;SHUT OFF SKIPPING COMMENT
  6302		   002				    .ENDC ; .IF NE SPCVFY
  6303					15$:	RTS	PC			;RETURN
  6304					.PAGE
  6305					;ROUTINE TO CLEAR THE ENTIRE DQ
  6306					;
  6307					CKDQCL:	MOV	R0,-(SP)
  6308						MOV	R1,-(SP)
  6309						MOV	R2,-(SP)
  6310						DQREGS	MSC,(R4)		;SELECT MISC REG
  6311						MOV	#DQ.MC,6(R4)		;MASTER CLEAR
  6312						DQREGS	MSC,(R4)		;SELECT MISC REG AGAIN
  6313						MOV	#DQ.MC,6(R4)		;MASTER CLEAR AGAIN
  6314						MOV	#17,R0			;CLEAR ALL SEC REG
  6315						MOV	#B12,R2			;CLEAR BITS 13+14 IN ERR
  6316					1$:	MOV	R2,4(R4)		;SELECT A SEC REG
  6317						CLR	6(R4)			;CLEAR THAT SEC REG
  6318						ADD	#B8,R2			;SELECT NEXT SEC REG TO CLEAR
  6319						SOB	R0,1$			;ALL SEC CLEARED?
  6320						MOV	(SP)+,R2		;RESTORE REGS USED
  6321						MOV	(SP)+,R1
  6322						MOV	(SP)+,R0
  6323						RTS	PC			;RETURN
  6324					;
  6325					.IIF NDF CHKBSZ,CHKBSZ=10
  6326					CHKXBF:	.BLKB	CHKBSZ
  6327					CHKRBF:	.BLKB	CHKBSZ
  6328					;
  6329		   001				    .ENDC	;RANGES OVER ENTIRE DQ CHECK (NDF FT.D75)
  6330					;
  6331					.IIF	DF,FT.D75,	RTS	PC
  6332		   000				    .ENDC ;NE FTDQ11
  6333					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 20
C11DTE.MAC    04-JAN-83 11:22			CHECK DQ11 HDW

  6335
  6336					.SBTTL		CHECK DS11 HDW
  6337					;
  6338					;CALL	MOV	#<VECTOR ADR>,R3
  6339					;	MOV	#<HDW ADR>,R4
  6340					;	MOV	#<HDW ADR>,R1
  6341					;	JSR	PC,CKDS11
  6342					;
  6343						    .IIF NDF FTDS11,FTDS11=0
  6344		   001				    .IF NE FTDS11
  6345					CKDS11:
  6346						MOV	DS.AUX,R1		;GET AUX REG TO SEE HOW MANY GROUPS
  6347						MOV	#DS.AD1,R2		;FOR CHECKING GROUP NUMBER
  6348						MOV	#4,R0			;ALWAYS 1 GROUP IF DS11
  6349					1$:	BIT	R2,R1			;GROUP EXIST?
  6350						BEQ	2$			;BRANCH IF NO GROUP
  6351						ADD	#4,R0			;COUNT 4 LINES FOR EACH GROUP
  6352						ASL	R2			;POSITION TO CHECK NEXT GROUP BIT
  6353						BNE	1$			;BRANCH IF WE CAN CHECK ANOTHER
  6354					2$:	JSR	PC,CKTBOC		;PRINT NUMBER OF LINES
  6355						CK11SC	CKENCL,< Lines>
  6356						.ASCIZ	\ Lines\
  6357						.EVEN
  6358						MOV	#DS.AUX,R1		;CHECK THE AUX REG
  6359						JSR	R5,CHKBIT		;CHECK FOLLOWING BITS
  6360						1700				;BITS TO CHECK
  6361						MOV	#DS.DVA-2,R1		;SET TO CHECK LINES
  6362						MOV	#DS.VEC,CHKCHR+CKDV	;VECTOR TO START AT
  6363						MOV	26(R5),CHKCHR+CKPI	;PI LEVEL FOR ALL DS11
  6364						MOV	R0,R2			;NUMBER OF LINES TO CHECK
  6365						MOV	#CHKCHR,R0		;POINT TO BLOCK FOR MAIN CALL
  6366					3$:	ADD	#2,R1			;LINE ADR TO CHECK
  6367						MOV	R1,CHKCHR+CKDA		;MAIN NEEDS THIS INFO
  6368						JSR	R5,CHKBIT		;CHK RECEIVE STATUS REG
  6369						6477				;BITS TO CHECK
  6370						TST	(R1)+			;ADVANCE TO REC DATA REG
  6371						JSR	R5,CHKBIT		;CHK RECEIVE DATA REG
  6372						7777				;BITS TO CHECK
  6373						TST	(R1)+			;ADVANCE TO XMIT STATUS REG
  6374						JSR	R5,CHKBIT		;CHK XMIT STATUS REG
  6375						476				;BITS TO CHECK
  6376						TST	(R1)+			;ADVNACE TO XMIT DATA REG
  6377						JSR	R5,CHKBIT		;CHK XMIT DATA REG
  6378						7777				;BITS TO CHECK
  6379						JSR	PC,@14(R5)		;CALL THE MAIN PROGRAM
  6380						ADD	#20,CHKCHR+CKDV		;ADVANCE VECTOR ADR FOR NEXT LINE
  6381						ADD	#10,CHKCHR+CKDA		;ADVANCE DEVICE ADR FOR NEXT LINE
  6382						SOB	R2,3$			;ALL LINES CHECKED?
  6383						MOV	#DS.VEC,CHKCHR+CKDV	;SO "CHKDEV" WILL FILL OUT BLOCK
  6384										;
  6385						RTS	PC			;FINI CHECKING DS11
  6386		   000				    .ENDC ;NE FTDS11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 20-1
C11DTE.MAC    04-JAN-83 11:22			CHECK DTE20 HARDWARE

  6388					.SBTTL		CHECK DTE20 HARDWARE
  6389					;
  6390					;CALL	MOV	#<VECTOR ADR>,R3
  6391					;	MOV	#<HDW ADR>,R4
  6392					;	MOV	#<HDW ADR>,R1
  6393					;	JSR	PC,XDTE211
  6394					;
  6395						    .IIF NDF FTDTE,FTDTE=0
  6396		   001				    .IF NE FTDTE
  6397	012312'				XDTE211:				;
  6398					;	MOV	R1,R0		;FROM THE DEVICE ADDRESS
  6399					;	ASR	R0		;BITS 5 AND 6 GIVE US WHICH ONE IT IS
  6400					;	ASR	R0		;POSITION TO BITS 2 AND 3 WHICH IS
  6401					;	ASR	R0		;WHERE THE VECTOR VARIES
  6402					;	BIC	#^C14,R0	;ISOLATE THEM
  6403					;	SUB	R0,CHKCHR+CKDV	;CORRECT OUR VECTOR ADDRESS
  6404	012312'	004537	010416'			JSR	R5,CHKBIT	;CHECK DLYCNT IN DTE'S RAM
  6405	012316'	177777				177777			; SINCE WE CAN ACCESS ALL THE BITS
  6406	012320'	062701	000034			ADD	#CSTAT-DLYCNT,R1 ;POINT TO STATUS REGISTER
  6407	012324'	012711	000040			MOV	#INTRON,(R1)	;ENABLE INTERRUPTS
  6408	012330'	032711	000001			BIT	#INTSON,(R1)	;DOES DTE AGREE?
  6409	012334'	001022				BNE	10$		;YEP
  6410	012336'					CK11SC	<CKEPC!CKEDID>,<Setting INTRON didn't set INTSON>
  6411	012340'	062523	072164	067151		.ASCIZ	\Setting INTRON didn't set INTSON\<377>
	012346'	020147	047111	051124
	012354'	047117	062040	062151
	012362'	023556	020164	062563
	012370'	020164	047111	051524
	012376'	047117	000377
  6412						.EVEN
  6413	012402'	012711	004000		10$:	MOV	#INT11S,(R1)	;NOW SEE IF IT WILL INTERRUPT US
  6414	012406'	004537	010644'			JSR	R5,CHKINL
  6415	012412'	177777				-1			;TIME DELAY COUNT
  6416	012414'	012711	000010			MOV	#INTROF,(R1)	;TRY TO MAKE IT GO AWAY
  6417	012420'	032711	000001			BIT	#INTSON,(R1)	;WHICH SHOULD TURN THIS OFF
  6418	012424'	001423				BEQ	20$		;OKAY
  6419	012426'					CK11SC	<CKEPC!CKEDID>,<Setting INTROF didn't clear INTSON>
  6420	012430'	062523	072164	067151		.ASCIZ	\Setting INTROF didn't clear INTSON\<377>
	012436'	020147	047111	051124
	012444'	043117	062040	062151
	012452'	023556	020164	066143
	012460'	060545	020162	047111
	012466'	051524	047117	000377
  6421						.EVEN
  6422	012474'	032711	000010		20$:	BIT	#RM,(R1)		;WE SHOULD BE RESTRICTED
  6423	012500'	001016				BNE	30$		;WE ARE, FINE
  6424	012502'					CK11SC	<CKEPC!CKEDID>,<DTE20 is not restricted>
  6425	012504'	052104	031105	020060		.ASCIZ	\DTE20 is not restricted\<377>
	012512'	071551	067040	072157
	012520'	071040	071545	071164
	012526'	061551	062564	177544
	012534'	   000
  6426		012536'				.EVEN			;
  6427	012536'	012741	000100		30$:	MOV	#DRESET,-(R1)	;REALLY INITIALIZE DTE20
  6428	012542'	000207				RTS	PC
  6429		   000				    .ENDC ;NE FT.DTE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 20-2
C11DTE.MAC    04-JAN-83 11:22			CHECK DU11 HDW

  6431					.SBTTL		CHECK DU11 HDW
  6432					;
  6433					;CALL	MOV	#<VECTOR ADR>,R3
  6434					;	MOV	#<HDW ADR>,R4
  6435					;	MOV	#<HDW ADR>,R1
  6436					;	JSR	PC,XDU11
  6437						    .IIF NDF FTDU11,FTDU11=0
  6438		   001				    .IF NE FTDU11
  6439					XDU11:				;
  6440						RTS	PC
  6441		   000				    .ENDC ;NE FTDU11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 20-3
C11DTE.MAC    04-JAN-83 11:22			CHECK DUP11 HDW

  6443					.SBTTL		CHECK DUP11 HDW
  6444					;
  6445					;CALL	MOV	#<VECTOR ADR>,R3
  6446					;	MOV	#<HDW ADR>,R4
  6447					;	MOV	#<HDW ADR>,R1
  6448					;	JSR	PC,XUP11
  6449						    .IIF NDF FTDUP1,FTDUP1=0
  6450		   001				    .IF NE FTDUP1
  6451	012544'				XDUP11:				;
  6452	012544'					FIELD	$$,DUPRIE,DUPDTR ;
  6453	012544'	004537	010416'			JSR	R5,CHKBIT	;TEST THE RECVR CSR
  6454	012550'	000576				.WORD	DUPSSY!$$	;
  6455	012552'	005721				TST	(R1)+		;UP TO RECVR, BUT IT'S READ ONLY
  6456	012554'	005721				TST	(R1)+		;UP TO XMIT CSR
  6457	012556'	004537	010416'			JSR	R5,CHKBIT	;
  6458	012562'	036130				.WORD	DUPTMC!DUPTM1!DUPTM0!DUPTMI!DUPTIE!DUPTSN!DUPTHD
  6459	012564'	005721				TST	(R1)+		;UP TO XMIT DBR
  6460	012566'	004537	010416'			JSR	R5,CHKBIT	;
  6461	012572'	003777				.WORD	DUPXAB!DUPXEM!DUPXSM!DUPXDB
  6462	012574'	010401				MOV	R4,R1		;RESTORE DEVICE ADDRESS
  6463									;(ADD INTERRUPT CHECK)
  6464	012576'	000207				RTS	PC		;
  6465		   000				    .ENDC ;NE FTDUP1
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 20-4
C11DTE.MAC    04-JAN-83 11:22			CHECK DZ11 HDW

  6467					.SBTTL		CHECK DZ11 HDW
  6468					;
  6469					;CALL	MOV	#<VECTOR ADR>,R3
  6470					;	MOV	#<HDW ADR>,R4
  6471					;	MOV	#<HDW ADR>,R1
  6472					;	JSR	PC,XDZ11
  6473						    .IIF NDF FTDZ11,FTDZ11=0
  6474		   001				    .IF NE FTDZ11
  6475	012600'				XDZ11:				;
  6476	012600'	004537	010416'			JSR	R5,CHKBIT	;
  6477	012604'	040140				.WORD	DZ.TIE!DZ.RIE!DZ.SCN
  6478	012606'	005721				TST	(R1)+		;
  6479	012610'	004537	010416'			JSR	R5,CHKBIT	;
  6480	012614'	000000				.WORD	0		;
  6481	012616'	010401				MOV	R4,R1		;
  6482									;ADD INTERRUPT TEST
  6483	012620'	000207				RTS	PC		;
  6484		   000				    .ENDC ;NE FTDZ11
  6485					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 21
C11DTE.MAC    04-JAN-83 11:22			CHECK DZ11 HDW

  6487
  6488					.SBTTL		CHECK KG11 HARDWARE
  6489					;
  6490	012622'				XKG11:	SAVE	R3		;
  6491	012624'					CHKCHR	R4,<#0>,<#0>	;
  6492	012644'	005000				CLR	R0		;
  6493	012646'				11$:	KGLOAD	R0		;
  6494	012662'	020064	000002			CMP	R0,KGBCC(R4)	;CHECK THAT IT LOADED
  6495	012666'	001422				BEQ	12$		;OK
  6496	012670'					CKSERR	R0,KGBCC(R4),R4	;GD,BD,ADR
  6497	012700'					CK11SC	<CKEPC!CKEDID!CKEGB>,<Can't load BCC Correctly>,<BCC ERROR>
  6498	012702'	060503	023556	020164		.ASCIZ	\Can't load BCC Correctly\<377>
	012710'	067554	062141	041040
	012716'	041503	041440	071157
	012724'	062562	072143	074554
	012732'	000377
  6499						.EVEN			;
  6500	012734'	077034			12$:	SOB	R0,11$		;
  6501									;
  6502									; CHECK CRC PORTION
  6503									;
  6504	012736'	012700	000777			MOV	#777,R0		;FIRST ENTRY FOR CRC
  6505	012742'					KGLOAD	#0		;CLEAR KG11
  6506	012746'	005003				CLR	R3		;CLEAR SOFTWARE COPY
  6507	012750'	004737	013026'		20$:	JSR	PC,70$		;CALCULATE SOFTWARE BCC
  6508	012754'	110064	000004			MOVB	R0,KGDATA(R4)	;INCLUDE CHAR IN HDW BCC
  6509	012760'	020364	000002			CMP	R3,KGBCC(R4)	;
  6510	012764'	001415				BEQ	54$		;
  6511	012766'					CKSERR	R3,KGBCC(R4),R4	;
  6512	012776'					CK11SC	<CKEPC!CKEGB!CKEDID>,<Incorrect CRC>,<INCORRECT CRC>
  6513	013000'	067111	067543	071162		.ASCIZ	\Incorrect CRC\<377>
	013006'	061545	020164	051103
	013014'	177503	   000
  6514		013020'				.EVEN			;
  6515	013020'	077025			54$:	SOB	R0,20$		;
  6516									;
  6517	013022'					RESTORE	R3		;
  6518	013024'	000207				RTS	PC		;
  6519					;
  6520					;SUBROUTINE TO CALCULATE CRC IN R3
  6521					;
  6522	013026'				70$:	SAVE	<R0,R1>		;
  6523	013032'	042700	177400			BIC	#^C377,R0	;STRIP EXTRA BITS
  6524	013036'	012701	000010			MOV	#8.,R1		;COUNTER
  6525	013042'	074003				XOR	R0,R3		;
  6526	013044'	012700	120001			MOV	#120001,R0	;
  6527	013050'	000241			72$:	CLC			;CLEAR CARRY BIT
  6528	013052'	006003				ROR	R3		;
  6529	013054'	103001				BCC	74$		;
  6530	013056'	074003				XOR	R0,R3		;
  6531	013060'	077105			74$:	SOB	R1,72$		;
  6532	013062'					RESTORE	<R1,R0>		;
  6533	013066'	000207				RTS	PC		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 21-1
C11DTE.MAC    04-JAN-83 11:22			CHECK KMC/DMC HARDWARE

  6535					.SBTTL		CHECK KMC/DMC HARDWARE
  6536					;
  6537					;CALL	MOV	#<VECTOR ADR OF KMC11>,R3
  6538					;	MOV	#<HDW ADR OF KMC11>,R4
  6539					;	MOV	#<HDW ADR OF KMC11>,R1
  6540					;	JSR	PC,XKMC11
  6541					;
  6542						    .IIF NDF FTKMC,FTKMC=0
  6543						    .IIF NDF FTDMC,FTDMC=0
  6544		   001				    .IF NE FTDMC
  6545	013070'				XDMC11:
  6546	013070'	010546			XKMC11:	MOV	R5,-(SP)	;SAVE R5
  6547	013072'	010446				MOV	R4,-(SP)	; AND R4
  6548	013074'	010346				MOV	R3,-(SP)	; AND R3
  6549	013076'	012714	040000			MOV	#MD.CLR,(R4)	;INITIALIZE THE KMC11
  6550	013102'	013746	002066'			MOV	MDCSRP,-(SP)	;LOG IN THE DEVICE
  6551	013106'	001004				BNE	10$		;NOT THE FIRST
  6552	013110'	012716	002070'			MOV	#MDCSR,(SP)	;THE FIRST, SET POINTER
  6553	013114'	011637	002066'			MOV	(SP),MDCSRP	;
  6554	013120'	010436			10$:	MOV	R4,@(SP)+	;ENTER DEVICE CSR INTO STARTUP TABLE
  6555	013122'	062737	000002	002066'		ADD	#2,MDCSRP	;UPDATE TABLE POINTER
  6556	013130'	005024				CLR	(R4)+		;CLEAR THE CSRS
  6557	013132'	005024				CLR	(R4)+		;
  6558	013134'	005024				CLR	(R4)+		;
  6559	013136'	005024				CLR	(R4)+		;
  6560	013140'	010104				MOV	R1,R4		;
  6561	013142'	004537	010416'			JSR	R5,CHKBIT	;VERIFY THESE BITS WORK
  6562	013146'	000377				.WORD	377		;ALL BITS OF BSEL 0
  6563	013150'	005721				TST	(R1)+		;LOOK AT SEL 2
  6564	013152'	004537	010416'			JSR	R5,CHKBIT	;VERIFY THESE BITS WORK
  6565	013156'	177777				.WORD	ALLBTS		;ALL BITS OF SEL 2
  6566	013160'	005721				TST	(R1)+		;LOOK AT SEL 4
  6567	013162'	004537	010416'			JSR	R5,CHKBIT	;VERIFY THESE BITS WORK
  6568	013166'	177777				.WORD	ALLBTS		;ALL BITS OF SEL 4
  6569	013170'	005721				TST	(R1)+		;LOOK AT SEL 6
  6570	013172'	004537	010416'			JSR	R5,CHKBIT	;VERIFY THESE BITS WORK
  6571	013176'	177777				.WORD	ALLBTS		;ALL BITS OF SEL 6
  6572		   002				    .IF NE FTKMCL
  6573						TST	MDCODB+2	;IF WE ARE RETAINING THE CRAM...
  6574						BEQ	20$		; DON'T CHECK INTERRUPTS (CLOBBERS CRAM 0)
  6575		   001				    .ENDC ;NE FTKMCL
  6576									;CREATE A DMC INTERRUPT BY SETTING
  6577									;  BUS RQ IN MP MISC BY JAMMING MP INSTRS
  6578	013200'	012737	000340	177776		MOV	#BR7,PS		;STOP INTERRUPTS
  6579	013206'	012714	001000			MOV	#MD.RMI,(R4)	;SET ROM I ("JAM INSTRUCTION")
  6580	013212'	012764	000600	000006		MOV	#600,6(R4)	;600 = "MOVE #200,BRG"
  6581	013220'	052714	000400			BIS	#MD.SMP,(R4)	;EXECUTE THE INSTRUCTION
  6582	013224'	005014				CLR	(R4)		;TURN OFF STEP AND ROM I
  6583	013226'	012714	001000			MOV	#MD.RMI,(R4)	;SET ROM I AGAIN
  6584	013232'	012764	061231	000006		MOV	#61231,6(R4)	;61231 = "MOVE BRG,MISC" (SETS BUS RQ)
  6585	013240'	052714	000400			BIS	#MD.SMP,(R4)	;EXECUTE
  6586	013244'	005014				CLR	(R4)		;TURN OFF ROM I
  6587	013246'	004537	010644'			JSR	R5,CHKINL	;CHECK FOR THE RESULTING INTERRUPT
  6588	013252'	177777				.WORD	177777		;
  6589	013254'	012714	040000			MOV	#MD.CLR,(R4)	;CLEAR INTERFACE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 21-2
C11DTE.MAC    04-JAN-83 11:22			CHECK KMC/DMC HARDWARE

  6591					; IF WE HAVE A VALID COPY OF THE MICROCODE, WE CAN TEST
  6592					;  THE CRAM.  OTHERWISE BYPASS MOST OF THE TESTING.
  6593					;
  6594	013260'				20$:
  6595		   002				    .IF NE FTKMC
  6596	013260'	012701	000012			MOV	#12,R1		;CHECK ARBITRARY LOCATION IN CRAM
  6597	013264'	004737	014126'			JSR	PC,CKMDRD	;READ FROM IT
  6598	013270'	010046				MOV	R0,-(SP)	;SAVE DATA READ
  6599	013272'	005100				COM	R0		;INVERT IT
  6600	013274'	004737	013774'			JSR	PC,CKMDWR	;WRITE BACK INVERTED DATA
  6601	013300'	004737	014126'			JSR	PC,CKMDRD	;READ IT BACK OUT
  6602	013304'	020026				CMP	R0,(SP)+	;CHECK IT AGAINST WHAT WAS WRITTEN
  6603	013306'	001034				BNE	22$		;DATA DIFFERENT, CRAM IS READ/WRITE
  6604									;NOT WRITTEN, CRAM IS A CROM
  6605	013310'	023727	002056'	001644'		CMP	CKDNAM,#N.KMC11	;DID YOU EXPECT A KMC?
  6606	013316'	001026				BNE	21$		;NO, SKIP CRAM CHECK, NO MSG
  6607	013320'	013746	002052'			MOV	CHKFLG,-(SP)	;PREVENT ERROR FROM BEING SET
  6608	013324'					CK11SC	CKEDID,<DEV IS DMC>
  6609	013326'	041411	040522	020115		.ASCIZ	"	CRAM is not R/W, device is a DMC"
	013334'	071551	067040	072157
	013342'	051040	053457	020054
	013350'	062544	064566	062543
	013356'	064440	020163	020141
	013364'	046504	000103
  6610						.EVEN			;
  6611	013370'	012637	002052'			MOV	(SP)+,CHKFLG	;RESTORE PREVIOUS FLAG WORD
  6612	013374'	000137	013730'		21$:	JMP	CKMDXT		;SKIP CRAM CHECK
  6613									;
  6614	013400'	005100			22$:	COM	R0		;INVERT DATA BACK
  6615	013402'	004737	013774'			JSR	PC,CKMDWR	;REWRITE AGAIN
  6616	013406'	023727	002056'	001550'		CMP	CKDNAM,#N.DMC11	;WAS A DMC EXPECTED?
  6617	013414'	001027				BNE	23$		;NO, MUST HAVE BEEN A KMC CALL
  6618	013416'	013746	002052'			MOV	CHKFLG,-(SP)	;PREVENT ERROR FROM BEING SET
  6619	013422'					CK11SC	CKEDID,<dev is a KMC>
  6620	013424'	051011	053457	041440		.ASCIZ	"	R/W CRAM present, device is a KMC"
	013432'	040522	020115	071160
	013440'	071545	067145	026164
	013446'	062040	073145	061551
	013454'	020145	071551	060440
	013462'	045440	041515	   000
  6621		013470'				.EVEN			;
  6622	013470'	012637	002052'			MOV	(SP)+,CHKFLG	;RESTORE PREVIOUS FLAG WORD
  6623	013474'	   003			23$:	    .IF NE FTKMCL
  6624						TST	MDCODB+2	;IS MICROCODE IMAGE INVALID?
  6625						BNE	24$		;NOT OBVIOUSLY
  6626						JSR	PC,CKMDEX	;YES, BE SURE WE CAN CYCLE THE CRAM
  6627						JMP	CKMDXT		; BUT LEAVE ITS CONTENTS ALONE.
  6628					24$:
  6629		   002				    .ENDC ;NE FTKMCL
  6630	013474'	005001				CLR	R1		;START AT CRAM ADDRESS 0
  6631	013476'	005000			30$:	CLR	R0		;DATA IS ZERO
  6632	013500'	004737	014022'			JSR	PC,CKMDCK	;WRITE 0 AND CHECK IT
  6633	013504'	005201				INC	R1		;NEXT CRAM LOCATION
  6634	013506'	022701	002000			CMP	#2000,R1	;REACHED THE END OF THE CRAM?
  6635	013512'	001371				BNE	30$		;NO, DO THE REST.
  6636	013514'	004737	013744'			JSR	PC,CKMDEX	;COMPLEMENT THE CRAM TWICE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 21-3
C11DTE.MAC    04-JAN-83 11:22			CHECK KMC/DMC HARDWARE

  6637	013520'	005001				CLR	R1		;START AT THE BEGINNING AGAIN
  6638	013522'	004737	014126'		36$:	JSR	PC,CKMDRD	;READ A WORD FROM THE CRAM
  6639	013526'	005700				TST	R0		;IS IT ZERO?
  6640	013530'	001417				BEQ	42$		;YES, THAT IS OK.
  6641	013532'					CKSERR	<#0>,R0,R1	;GOOD, BAD, CRAM ADDRESS
  6642	013542'					CK11SC	<CKEPC!CKEGB!CKEDID>,<CRAM CLEAR FAILED>,<CRAM CLEAR FAILED>
  6643	013544'	041440	040522	020115		.ASCIZ	/ CRAM clear failed /
	013552'	066143	060545	020162
	013560'	060546	066151	062145
	013566'	000040
  6644						.EVEN
  6645	013570'	005201			42$:	INC	R1		;NEXT CRAM ADDRESS
  6646	013572'	022701	002000			CMP	#2000,R1	;REACHED THE END OF THE CRAM?
  6647	013576'	001351				BNE	36$		;NO, DO THE REST
  6648					;
  6649					; NOW SET EACH CRAM LOCATION TO ITS OWN ADDRESS.  THIS CHECKS FOR
  6650					;  ADDRESSING FAILURES.
  6651					;
  6652	013600'	005001				CLR	R1		;START AT LOCATION ZERO
  6653	013602'	010100			50$:	MOV	R1,R0		;GET ADDRESS
  6654	013604'	006300				ASL	R0		; * 2 (WE ARE PUTTING THE 10-BIT
  6655	013606'	006300				ASL	R0		; * 4  CRAM ADDRESS IN THE MIDDLE
  6656	013610'	006300				ASL	R0		; * 8  OF THE 16-BIT WORD.)
  6657	013612'	004737	014022'			JSR	PC,CKMDCK	;WRITE ADDRESS INTO CRAM
  6658	013616'	005201				INC	R1		;NEXT CRAM ADDRESS
  6659	013620'	020127	002000			CMP	R1,#2000	;REACHED END OF CRAM YET?
  6660	013624'	103766				BLO	50$		;NO, GO DO THE REST.
  6661	013626'	004737	013744'			JSR	PC,CKMDEX	;COMPLEMENT THE CRAM TWICE
  6662	013632'	005001				CLR	R1		;START AT BEGINNING OF CRAM AGAIN
  6663	013634'	004737	014126'		55$:	JSR	PC,CKMDRD	;READ WORD FROM CRAM
  6664	013640'	010102				MOV	R1,R2		;GET CRAM ADDRESS
  6665	013642'	006302				ASL	R2		; * 2
  6666	013644'	006302				ASL	R2		; * 4
  6667	013646'	006302				ASL	R2		; * 8
  6668	013650'	020002				CMP	R0,R2		;IS THE CRAM OK?
  6669	013652'	001422				BEQ	60$		;YES
  6670	013654'					CKSERR	R2,R0,R1	;NO, STUFF GOOD, BAD, AND CRAM ADDRESS
  6671	013662'					CK11SC	<CKEPC!CKEGB!CKEDID>,<CRAM ERROR>,<CRAM ERROR>
  6672	013664'	041440	040522	020115		.ASCIZ	/ CRAM data = address error /
	013672'	060544	060564	036440
	013700'	060440	062144	062562
	013706'	071563	062440	071162
	013714'	071157	000040
  6673						.EVEN			;
  6674	013720'	005201			60$:	INC	R1		;NEXT CRAM ADDRESS
  6675	013722'	020127	002000			CMP	R1,#2000	;REACHED THE END OF THE CRAM?
  6676	013726'	103742				BLO	55$		;NO, GO DO THE REST
  6677					;
  6678					; NOW LOAD THE APPLICATION CODE INTO THE CRAM, IF REQUESTED.
  6679					;
  6680		   003				    .IF NE FTKMCL
  6681						CLR	R1		;START AT THE BEGINNING OF THE CRAM
  6682						MOV	#MDCODB,R2	;POINT TO APPLICATION CODE
  6683					70$:	MOV	(R2)+,R0	;GET WORD TO LOAD
  6684						JSR	PC,CKMDCK	;WRITE IT INTO THE CRAM
  6685						INC	R1		;POINT TO NEXT CRAM LOCATION
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 21-4
C11DTE.MAC    04-JAN-83 11:22			CHECK KMC/DMC HARDWARE

  6686						CMP	R2,#MDCODE	;REACHED END OF PROGRAM?
  6687						BNE	70$		;NO, LOAD THE REST
  6688						JSR	PC,CKMDEX	;COMPLEMENT THE CRAM TWICE
  6689						CLR	R1		;START AT BEGINNING OF CRAM AGAIN
  6690						MOV	#MDCODB,R2	;POINT TO APPLICATION CODE AGAIN
  6691					72$:	JSR	PC,CKMDRD	;READ A WORD FROM THE CRAM
  6692						MOV	(R2)+,R3	;GET WORD THAT SHOULD BE THERE
  6693						CMP	R3,R0		;IS IT RIGHT?
  6694						BEQ	78$		;YES
  6695						CKSERR	R3,R0,R1	;GOOD, BAD, CRAM ADDRESS
  6696						CK11SC	<CKEPC!CKEGB!CKEDID>,<CRAM LOAD ERROR>,<CRAM LOAD ERROR>
  6697						.ASCIZ	/ CRAM load error /
  6698						.EVEN			;
  6699					78$:	INC	R1		;NEXT CRAM ADDRESS
  6700						CMP	R2,#MDCODE	;REACHED END OF APPLICATION PROGRAM?
  6701						BLO	72$		;NO, DO THE REST
  6702		   002				    .ENDC ;NE FTKMCL
  6703		   001				    .ENDC ;NE FTKMC
  6704					;
  6705					; DMC (KMC) CHECK COMPLETED
  6706					;
  6707	013730'	012714	040000		CKMDXT:	MOV	#MD.CLR,(R4)	;BE SURE THE KMC11 IS CLEAR
  6708	013734'	012603				MOV	(SP)+,R3	;RESTORE R3
  6709	013736'	012604				MOV	(SP)+,R4	; AND R4
  6710	013740'	012605				MOV	(SP)+,R5	; AND R5
  6711	013742'	000207				RTS	PC		;RETURN.
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 21-5
C11DTE.MAC    04-JAN-83 11:22			CHECK KMC/DMC HARDWARE

  6713		   002				    .IF NE FTKMC	;THESE SUBROUTINES APPLY ONLY TO
  6714									;  WRITEABLE CONTROL STORES, I.E., KMC'S
  6715					;
  6716					; SUBROUTINE TO COMPLEMENT THE DATA IN THE KMC11'S CRAM.
  6717					;  ENTERING AT CKMDEX WILL CAUSE THE ROUTINE TO EXECUTE TWICE -
  6718					;  IF THE KMC11 IS WORKING PROPERLY THIS WILL LEAVE THE CRAM UNCHANGED.
  6719					;
  6720	013744'	004717			CKMDEX:	JSR	PC,(PC)		;CALL REST OF ROUTINE ONCE, RETURN
  6721									;  HERE AND FALL INTO IT FOR SECOND PASS
  6722	013746'	005001				CLR	R1		;START AT BEGINNING OF CRAM
  6723	013750'	004737	014126'		80$:	JSR	PC,CKMDRD	;READ WORD FROM CRAM
  6724	013754'	005100				COM	R0		;COMPLEMENT IT
  6725	013756'	004737	014022'			JSR	PC,CKMDCK	;WRITE IT BACK (AND CHECK IT)
  6726	013762'	005201				INC	R1		;NEXT CRAM LOCATION
  6727	013764'	020127	002000			CMP	R1,#2000	;REACHED END OF CRAM?
  6728	013770'	103767				BLO	80$		;NO, DO THE REST
  6729	013772'	000207				RTS	PC		;YES, ALL DONE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 21-6
C11DTE.MAC    04-JAN-83 11:22			CHECK KMC/DMC HARDWARE

  6731					; SUBROUTINE TO WRITE A WORD INTO THE KMC11'S CRAM
  6732					;
  6733					; R0 = WORD TO WRITE
  6734					; R1 = CRAM ADDRESS
  6735					; R4 = POINTER TO KMC11 CSR
  6736					;
  6737	013774'	005014			CKMDWR:	CLR	(R4)		;CLEAR BSEL 1
  6738	013776'	010164	000004			MOV	R1,4(R4)	;SET ADDRESS INTO SEL 4
  6739	014002'	010064	000006			MOV	R0,6(R4)	;LOAD DATA INTO SEL 6
  6740	014006'	052714	002000			BIS	#MD.RMO,(R4)	;SET ROM O
  6741	014012'	052714	022000			BIS	#MD.RMO!MD.CWR,(R4) ;SET CRAM WRITE ALSO
  6742	014016'	005014				CLR	(R4)		;CLEAR ROM O AND CRAM WRITE
  6743	014020'	000207				RTS	PC		;RETURN
  6744					;
  6745					; SUBROUTINE TO WRITE AND VERIFY A WORD IN THE CRAM
  6746					;
  6747					; CALLED AS CKMDWR
  6748					;
  6749	014022'	010046			CKMDCK:	MOV	R0,-(SP)	;SAVE DATA TO BE WRITTEN
  6750	014024'	004737	013774'			JSR	PC,CKMDWR	;WRITE THE WORD
  6751	014030'	004737	014126'			JSR	PC,CKMDRD	;READ IT BACK
  6752	014034'	020016				CMP	R0,(SP)		;DATA SAME AS WRITTEN?
  6753	014036'	001431				BEQ	85$		;YES.
  6754	014040'	010246				MOV	R2,-(SP)	;NO, SAVE R2
  6755	014042'	016602	000002			MOV	2(SP),R2	;GET BAD DATA FROM CRAM
  6756	014046'					CKSERR	R2,R0,R1	;GOOD, BAD, CRAM ADDRESS
  6757	014054'					CK11SC	<CKEPC!CKEGB!CKEDID>,<CRAM DATA ERROR>,<CRAM DATA ERROR>
  6758	014056'	041440	040522	020115		.ASCIZ	/ CRAM data error in write check /
	014064'	060544	060564	062440
	014072'	071162	071157	064440
	014100'	020156	071167	072151
	014106'	020145	064143	061545
	014114'	020153	   000
  6759		014120'				.EVEN
  6760	014120'	012602				MOV	(SP)+,R2	;RESTORE R2
  6761	014122'	012600			85$:	MOV	(SP)+,R0	;RESTORE DATA
  6762	014124'	000207				RTS	PC		;RETURN
  6763					;
  6764					; SUBROUTINE TO READ A WORD FROM THE KMC11'S CRAM.
  6765					;
  6766					; R1 = ADDRESS
  6767					; R4 = POINTER TO KMC11 CSR
  6768					;
  6769					; ON RETURN:
  6770					;
  6771					;  R0 = DATA FROM CRAM
  6772					;
  6773	014126'	005014			CKMDRD:	CLR	(R4)		;CLEAR BSEL 1
  6774	014130'	010164	000004			MOV	R1,4(R4)	;SET ADDRESS INTO BSEL 4
  6775	014134'	052714	002000			BIS	#MD.RMO,(R4)	;SET ROM O
  6776	014140'	016400	000006			MOV	6(R4),R0	;FETCH DATA
  6777	014144'	005014				CLR	(R4)		;CLEAR ROM O
  6778	014146'	000207				RTS	PC		;RETURN
  6779		   001				    .ENDC ;NE FTKMC
  6780		   000				    .ENDC ;NE FTDMC
  6781					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22
C11DTE.MAC    04-JAN-83 11:22			CHECK KMC/DMC HARDWARE

  6783
  6784					.SBTTL		CHECK LP11 HARDWARE
  6785					;
  6786					;CALL	MOV	#<VECTOR ADR>,R3
  6787					;	MOV	#<HDW ADR>,R4
  6788					;	MOV	#<HDW ADR>,R1
  6789					;	JSR	PC,XLE11
  6790					;
  6791						    .IIF NDF FTLE11,FTLE11=0
  6792		   001				    .IF NE FTLE11
  6793	014150'				XLE11:				;
  6794	014150'	032714	100000			BIT	#LE.ERR,(R4)	;SEE IF DEV READY
  6795	014154'	001406				BEQ	1$		;BRANCH IF RDY
  6796	014156'					CK11SC	<CKEDID!CKENCL>,< Not Rdy>
  6797	014160'	047040	072157	051040		.ASCIZ	\ Not Rdy\<377>
	014166'	074544	000377
  6798						.EVEN			;
  6799	014172'	004537	010416'		1$:	JSR	R5,CHKBIT	;CHECK HDW BITS
  6800	014176'	000100				.WORD	LE.INE
  6801	014200'					$CKINT	,R4,<LE.INE>,<LE.DNE>
  6802	014214'	000207				RTS	PC
  6803		   000				    .ENDC ;NE FTLE11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-1
C11DTE.MAC    04-JAN-83 11:22			CHECK LP20 HARDWARE

  6805					.SBTTL		CHECK LP20 HARDWARE
  6806					;
  6807						    .IIF NDF FTLP20,FTLP20=0
  6808		   001				    .IF NE FTLP20
  6809	014216'				XLP11:				;
  6810	014216'	012737	000340	177776		MOV	#BR7,PS		;
  6811	014224'	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;CLEAR CONTROLLER
  6812	014230'	062701	000012			ADD	#LPRAMD,R1	;POINT TO RAM DATA BUFFER
  6813	014234'	010102				MOV	R1,R2		;
  6814	014236'	005722				TST	(R2)+		;POINT TO CHAR BUFFER
  6815	014240'	105012				CLRB	(R2)		;SET RAM ADDRESS TO ZERO
  6816	014242'	005011			10$:	CLR	(R1)		;CLEAR RAM LOCATION
  6817	014244'	105212				INCB	(R2)		;UP RAM ADDRESS
  6818	014246'	001375				BNE	10$		;  UNTIL IT OVERFLOWS
  6819	014250'	010401				MOV	R4,R1		;RECOVER BASE CRS ADDRESS
  6820	014252'	005061	000004			CLR	LPBSAD(R1)	;SET UP HARMLESS TRANSFER
  6821	014256'	012761	177777	000006		MOV	#-1,LPBCTR(R1)	;
  6822	014264'	004537	010416'			JSR	R5,CHKBIT	;CHECK R/W ON CSRA
  6823	014270'	002176				.WORD	LP.DH!LP.IE!LP.XAD!LP.MDS!LP.PEN
  6824									;
  6825	014272'	005721				TST	(R1)+		;UP TO CSRB
  6826	014274'	004537	010416'			JSR	R5,CHKBIT	;
  6827	014300'	003400				.WORD	LP.TS2!LP.TS1!LP.TS0
  6828	014302'	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;
  6829									;
  6830	014306'	005721				TST	(R1)+		;CHECK R/W ON BUS ADDRESS
  6831	014310'	004537	010416'			JSR	R5,CHKBIT	;
  6832	014314'	177777				.WORD	ALLBTS		;
  6833	014316'	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;
  6834									;
  6835	014322'	012702	000003			MOV	#3,R2		;NEXT THREE REGISTERS ARE ALIKE
  6836	014326'	005721			20$:	TST	(R1)+		;BYTE COUNT, PAGE CONT, RAMDATA
  6837	014330'	004537	010416'			JSR	R5,CHKBIT	;
  6838	014334'	007777				.WORD	7777		;
  6839	014336'	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;
  6840	014342'	077207				SOB	R2,20$		;
  6841									;
  6842	014344'	005721				TST	(R1)+		;CHECK R/W ON CHAR BUFFER
  6843	014346'	004537	010416'			JSR	R5,CHKBIT	;
  6844	014352'	177777				.WORD	ALLBTS		;
  6845	014354'	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;
  6846									;
  6847	014360'	010401				MOV	R4,R1		;RECOVER BASE CSR ADDRESS
  6848	014362'	032711	004000			BIT	#LP.ONL,(R1)	;PRINTER AVAILABLE?
  6849	014366'	001012				BNE	30$		;YES
  6850	014370'					CK11SC	0,<NOT READY>
  6851	014372'	050114	030062	067040		.ASCIZ	"LP20 not ready"
	014400'	072157	071040	060545
	014406'	074544	   000
  6852		014412'				.EVEN			;
  6853	014412'	000207				RTS	PC		;
  6854									;
  6855	014414'	012761	177777	000006	30$:	MOV	#-1,LPBCTR(R1)	;SET CHAR COUNT
  6856	014422'	010161	000004			MOV	R1,LPBSAD(R1)	;SET ADDRESS TO SELF
  6857	014426'	062761	000014	000004		ADD	#LPCBUF,LPBSAD(R1) ;
  6858	014434'	012711	000061			MOV	#LP.B17!LP.B16!LP.GO,(R1) ;SET HIGH ADDRESS BITS AND START
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-2
C11DTE.MAC    04-JAN-83 11:22			CHECK LP20 HARDWARE

  6859	014440'					$CKINT	,R4,LP.IE,LP.IE	;
  6860	014454'	000207				RTS	PC		;
  6861		   000				    .ENDC ;NE FTLP20
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-3
C11DTE.MAC    04-JAN-83 11:22			CHECK MD11 HDW

  6863					.SBTTL		CHECK MD11 HDW
  6864					;
  6865					;CALL	MOV	#<VECTOR ADR>,R3
  6866					;	MOV	#<HDW ADR>,R4
  6867					;	MOV	#<HDW ADR>,R1
  6868					;	JSR	PC,XMD11
  6869						    .IIF NDF FTMD11,FTMD11=0
  6870		   001				    .IF NE FTMD11
  6871					XMD11:				;
  6872						RTS	PC
  6873		   000				    .ENDC ;NE FTMD11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-4
C11DTE.MAC    04-JAN-83 11:22			DUMMY NULL DEVICE CHECKER

  6875					.SBTTL		DUMMY NULL DEVICE CHECKER
  6876					;
  6877					;
  6878					;
  6879	014456'	000207			XNL11:	RTS	PC	;DUMMY
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-5
C11DTE.MAC    04-JAN-83 11:22			CHECK PA611P HARDWARE

  6881					.SBTTL		CHECK PA611P HARDWARE
  6882					;
  6883					;CALL	MOV	#<VECTOR ADR>,R3
  6884					;	MOV	#<HDW ADR>,R4
  6885					;	MOV	#<HDW ADR>,R1
  6886					;	JSR	PC,XP611
  6887					;
  6888						    .IIF NDF FTP611,FTP611=0
  6889		   001				    .IF NE FTP611
  6890					XP611:				;
  6891						RTS	PC
  6892		   000				    .ENDC ;NE FTP611
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-6
C11DTE.MAC    04-JAN-83 11:22			CHECK PA611R HARDWARE

  6894					.SBTTL		CHECK PA611R HARDWARE
  6895					;
  6896					;CALL	MOV	#<VECTOR ADR>,R3
  6897					;	MOV	#<HDW ADR>,R4
  6898					;	MOV	#<HDW ADR>,R1
  6899					;	JSR	PC,XR611
  6900					;
  6901						    .IIF NDF FTR611,FTR611=0
  6902		   001				    .IF NE FTR611
  6903					XR611:				;
  6904						RTS	PC
  6905		   000				    .ENDC ;NE FTR611
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-7
C11DTE.MAC    04-JAN-83 11:22			CHECK PP11 HARDWARE

  6907					.SBTTL		CHECK PP11 HARDWARE
  6908					;
  6909					;CALL	MOV	#<VECTOR ADR>,R3
  6910					;	MOV	#<HDW ADR>,R4
  6911					;	MOV	#<HDW ADR>,R1
  6912					;	JSR	PC,XPP11
  6913					;
  6914						    .IIF NDF FTPP11,FTPP11=0
  6915		   001				    .IF NE FTPP11
  6916					XPP11:
  6917						JSR	R5,CHKBIT
  6918						PP.INE
  6919						$CKINT	,R4,<PP.INE>,<PP.RDY>
  6920						RTS	PC
  6921		   000				    .ENDC ;NE FTPP11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-8
C11DTE.MAC    04-JAN-83 11:22			CHECK PR11 HARDWARE

  6923					.SBTTL		CHECK PR11 HARDWARE
  6924					;
  6925					;CALL	MOV	#<VECTOR ADR>,R3
  6926					;	MOV	#<HDW ADR>,R4
  6927					;	MOV	#<HDW ADR>,R1
  6928					;	JSR	PC,XPR11
  6929					;
  6930						    .IIF NDF FTPR11,FTPR11=0
  6931		   001				    .IF NE FTPR11
  6932					XPR11:					;
  6933						JSR	R5,CHKBIT		;CHECK HARDWARE BITS
  6934						PR.INE
  6935						CLR	R0			;FOR TIME OUT
  6936						BIS	#PR..RE!PR.INE,(R4)	;TELL READER TO DO SOMETHING
  6937										; TO FORCE ANY INTERRUPT COND
  6938					1$:	BIT	#PR.DNE!PR.ERR,(R4)	;SEE IF AN INT CONDITION IS THERE
  6939						BNE	2$			;IF NOT, THEN WAIT FOR ONE.
  6940						SOB	R0,1$			;TIME OUT TO CATCH NO RESPONSE
  6941						CK11SC	<CKEDID!CKEPC>,<Timed Out>,<NO RESPONSE>
  6942						.ASCIZ	\Timed Out\<377>
  6943						.EVEN
  6944						BIC	#PR.INE,(R4)		;DISABLE INT ENABLE
  6945						RTS	PC			;EXIT
  6946					2$:	JSR	R5,CHKINL		;FIND INT LEVEL
  6947						-1				;FOR TIME-OUT
  6948						BIC	#PR.INE,(R4)		;DISABLE INTS
  6949						RTS	PC
  6950		   000				    .ENDC ;NE FTPR11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-9
C11DTE.MAC    04-JAN-83 11:22			CHECK RH11 HARDWARE

  6952					.SBTTL		CHECK RH11 HARDWARE
  6953					;
  6954					;CALL	MOV	#<VECTOR ADR>,R3
  6955					;	MOV	#<HDW ADR>,R4
  6956					;	MOV	#<HDW ADR>,R1
  6957					;	JSR	PC,XRH11
  6958					;
  6959						    .IIF NDF FTRH11,FTRH11=0
  6960		   001				    .IF NE FTRH11
  6961					XRH11:	BIS	#1,CHKRP+4+0	;GROSS KLUDGE TO PREVENT CHKDEV FROM
  6962						RTS	PC		; FINDING WHAT LOOKS LIKE AN RP.
  6963									; (THE DEVICE REGISTERS OVERLAP)
  6964		   000				    .ENDC ;NE FTRH11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-10
C11DTE.MAC    04-JAN-83 11:22			CHECK TC11 HARDWARE

  6966					.SBTTL		CHECK TC11 HARDWARE
  6967					;
  6968					;CALL	MOV	#<VECTOR ADR>,R3
  6969					;	MOV	#<HDW ADR>,R4
  6970					;	MOV	#<HDW ADR>,R1
  6971					;	JSR	PC,XTC11
  6972					;
  6973						    .IIF NDF FTTC11,FTTC11=0
  6974		   001				    .IF NE FTTC11
  6975					XTC11:				;
  6976		   002				    .IF NDF,FT.D75
  6977						JSR	R5,CHKBIT	;TEST FOLLOWING BITS
  6978						TC.D17!TC.D16
  6979						TST	(R1)+		;ADVANCE TO COMMAND REGISTER
  6980						JSR	R5,CHKBIT		;TEST FOLLOWING BITS
  6981						TC..MM!TC..DI!TC.REV!TC.US7!TC.INE!TC.A17!TC.A16
  6982						TST	(R1)+		;ADVANCE TO WORD COUNT REG
  6983						JSR	R5,CHKBIT	;TEST FOLLOWING BITS
  6984						-1
  6985						TST	(R1)+		;ADVANCE TO BUS ADDR REG
  6986						JSR	R5,CHKBIT		;TEST THE FOLLOWING BITS
  6987						-1
  6988						TST	(R1)+		;ADVANCE TO DATA REGISTER
  6989						JSR	R5,CHKBIT	;CHECK FOLLOWING BITS
  6990						-1
  6991						MOV	R4,R1		;SET UP ADR FOR INT CHK
  6992						TST	(R1)+		;ADVANCE TO COMMAND REG
  6993						MOV	R1,R2		;SET UP FOR INT CHK
  6994						$CKINT	,,<TC.INE>,<TC.RDY>
  6995		   001				    .ENDC ;IF NDF FT.D75
  6996						RTS	PC
  6997		   000				    .ENDC ;NE FTTC11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-11
C11DTE.MAC    04-JAN-83 11:22			CHECK TM11 HARDWARE

  6999					.SBTTL		CHECK TM11 HARDWARE
  7000					;
  7001					;CALL	MOV	#<VECTOR ADR>,R3
  7002					;	MOV	#<HDW ADR>,R4
  7003					;	MOV	#<HDW ADR>,R1
  7004					;	JSR	PC,XTM11
  7005					;
  7006						    .IIF NDF FTTM11,FTTM11=0
  7007		   001				    .IF NE FTTM11
  7008					XTM11:				;
  7009						RTS	PC
  7010		   000				    .ENDC ;NE FTTM11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 22-12
C11DTE.MAC    04-JAN-83 11:22			NULL DIAGNOSTIC

  7012					.SBTTL		NULL DIAGNOSTIC
  7013					;
  7014					;
  7015					;
  7016	014460'				X.....:				;
  7017	014460'	004037	014572'			JSR	R0,CKTSTR	;
  7018	014464'	020073	067151	062564		.ASCIZ	"; integrity not tested"
	014472'	071147	072151	020171
	014500'	067556	020164	062564
	014506'	072163	062145	   000
  7019		014514'				.EVEN			;
  7020	014514'	012737	177776	002054'		MOV	#177776,CKDEVN	;SET COUNT TO PREVENT MORE TYPEOUTS
  7021	014522'	000207				RTS	PC		;
  7022					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 23
C11DTE.MAC    04-JAN-83 11:22			NULL DIAGNOSTIC

  7024
  7025					.SBTTL	TTY SUPPORT FOR TYPE OUTS
  7026					;
  7027	014524'	000000			CKTRPT:	.WORD	0		;REPORT DESTINATION DEVICE
  7028									; B15 - CTY
  7029									; B7 - REMOTE DEVICE
  7030					;
  7031					; TYPE THE MESSAGE STRING POINTED TO BY R0
  7032					;
  7033					; CALL	JSR	PC,CKTTXT	;R0 CONTAINS ADDR OF TXT
  7034					; ON EXIT R0 POINTS TO THE EVEN LOCATION FOLLOWING THE TEXT
  7035					;
  7036						    .ENABL LSB
  7037	014526'				CKTTXT:	SAVE	<R1>
  7038	014530'	112001			10$:	MOVB	(R0)+,R1	;GET THE NEXT CHARACTER
  7039	014532'	001403				BEQ	20$		;BRANCH IF END (NULL)
  7040	014534'	004737	014666'			JSR	PC,CKTCHR	;TYPE CHAR
  7041	014540'	000773				BR	10$		;GET NEXT CHAR
  7042									;
  7043	014542'	005200			20$:	INC	R0		;
  7044	014544'	042700	000001			BIC	#B0,R0		;POINT TO EVEN LOC
  7045	014550'				25$:	RESTORE	<R1>
  7046	014552'	000207				RTS	PC		;RETURN TO CALLER
  7047					;
  7048					; TYPE A CARRIAGE RETURN AND LINE FEED
  7049					;
  7050					; CALL	JSR	PC,CKCRLF
  7051					;
  7052	014554'	004037	014572'		CKCRLF:	JSR	R0,CKTSTR
  7053	014560'	005015	   000			.ASCIZ	<15><12>
  7054		014564'				.EVEN
  7055	014564'	000207				RTS	PC
  7056					;
  7057					; TYPE A STRING PRECEEDED BY A CR/LF
  7058					;
  7059					; CALL	JSR	R0,CKTCRL
  7060					;	.ASCIZ	\TEXT\
  7061					;	.EVEN
  7062					;
  7063	014566'	004737	014554'		CKTCRL:	JSR	PC,CKCRLF	;FIRST TYPE A CR/LF
  7064					;
  7065					; TYPE A MESSAGE ON THE CTY
  7066					; CALL	JSR	R0,CKTSTR	;CALL TYPE ROUTINE
  7067					;	.ASCIZ \TEXT\
  7068					;	.EVEN
  7069					;
  7070	014572'	004737	014526'		CKTSTR:	JSR	PC,CKTTXT	;GO TYPE STRING
  7071	014576'	000200				RTS	R0
  7072					;
  7073					;TYPE A BLANK AND THE OCTAL CONTENTS OF R0
  7074					;
  7075					;	SIMILIAR TO CKTOCT
  7076					;
  7077	014600'				CKTBOC:	SAVE	<R1>
  7078	014602'	012701	000040			MOV	#040,R1
  7079	014606'	004737	014666'			JSR	PC,CKTCHR
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 23-1
C11DTE.MAC    04-JAN-83 11:22		TTY SUPPORT FOR TYPE OUTS

  7080	014612'	000401				BR	30$
  7081					;
  7082					; TYPE THE OCTAL CONTENTS OF R0
  7083					;
  7084					; CALL	JSR	PC,CKTOCT	;WITH ARG IN R0
  7085					;
  7086	014614'				CKTOCT:	SAVE	<R1>
  7087	014616'				30$:	SAVE	<R0>
  7088	014620'	004737	014632'			JSR	PC,50$
  7089	014624'				40$:	RESTORE	<R0>
  7090	014626'					RESTORE	<R1>
  7091	014630'	000207				RTS	PC
  7092					;
  7093					;RECURSIVE BINARY TO ASCIC CONVERSION
  7094					;  PUSHES CURRENT VALUE IN R0 ONTO STACK, THEN DIVIDES BY 8 -
  7095					;    IF THE QUOTIENT IS NOT ZERO IT CALLS ITSELF, HENCE INTERLEAVING
  7096					;    INTERMEDIATE VALUES AND RETURN ADDRESSES - WHEN THE QUOTIENT
  7097					;    BECOMES ZERO, INTERMEDIATE VALUES ARE POPPED, AND THE LEAST
  7098					;    SIGNIFICANT VALUES ARE PRINTED IN TURN, WITH RETURN FALLING
  7099					;    BACK INTO THE PRINT ROUTINE - NOTICE THAT LEADING ZEROS ARE
  7100					;    AUTOMATICALLY SUPPRESSED, EXCEPT THE LONE ZERO OF A ZERO WORD
  7101					;
  7102	014632'				50$:	SAVE	<R0>		;STUFF CURRENT VALUE
  7103	014634'	006000				ROR	R0		;DIVIDE BY EIGHT
  7104	014636'	006000				ROR	R0		;
  7105	014640'	006000				ROR	R0		;
  7106	014642'	042700	160000			BIC	#160000,R0	;CLEAR SPURIOUS CARRIES IN
  7107	014646'	001402				BEQ	60$		;SKIP TO PRINT WHEN QUOTIENT ZERO
  7108	014650'	004737	014632'			JSR	PC,50$		;  ELSE CALL SELF
  7109	014654'				60$:	RESTORE	<R1>		;POP INTERMEDIATE VALUE
  7110	014656'	042701	177770			BIC	#^C7,R1		;SAVE LSD
  7111	014662'	052701	000060			BIS	#60,R1		;SET BITS FOR ASCII CHARACTER
  7112									;  AND DROP INTO CHARACTER PRINT
  7113					;
  7114					; TYPE THE SINGLE CHARACTER IN R1
  7115					;
  7116					; CALL	JSR	PC,CKTCHR	;WITH CHAR IN R1
  7117					;
  7118	014666'	120127	000040		CKTCHR:	CMPB	R1,#40		;DOES THIS NEED FILLER ?
  7119	014672'	103015				BHIS	80$		;
  7120	014674'	120127	000011			CMPB	R1,#11		;IS CHAR A TAB (11)
  7121	014700'	001005				BNE	70$		;BRANCH IF NOT A TAB
  7122	014702'	004037	014572'			JSR	R0,CKTSTR	;GIVE SPACES FOR IT
  7123	014706'	   040	   040	   040		.BYTE	40,40,40,0	;SUBSTITUTE SPACES FOR TAB
	014711'	   000
  7124	014712'	000207				RTS	PC		;
  7125									;
  7126	014714'	004737	014720'		70$:	JSR	PC,75$		;TYPE CHAR FIRST THEN PAD IT WITH 4 NULLS
  7127	014720'	004737	014726'		75$:	JSR	PC,80$		;
  7128	014724'	005001				CLR	R1		;
  7129	014726'	005737	014524'		80$:	TST	CKTRPT		;CTY OUTPUT REPORT DEVICE?
  7130	014732'	100005				BPL	83$		;NO
  7131	014734'	105737	177564		81$:	TSTB	CTOSTS		;YES, TEST FOR STILL BUSY
  7132	014740'	100375				BPL	81$		;
  7133	014742'	110137	177566			MOVB	R1,CTOCHR	;TYPE CHAR
  7134	014746'	105737	014524'		83$:	TSTB	CKTRPT		;REMOTE DEVICE RECEIVING REPORT?
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 23-2
C11DTE.MAC    04-JAN-83 11:22		TTY SUPPORT FOR TYPE OUTS

  7135	014752'	100002				BPL	86$		;NO
  7136	014754'	004737	015204'			JSR	PC,CKTREM	;YES, REPORT REMOTELY
  7137	014760'	000207			86$:	RTS	PC		;
  7138					;
  7139					; BINARY TO DECIMAL ASCII CONVERSION AND OUTPUT
  7140					;
  7141	014762'				CKTDEC:	SAVE	<R0,R1,R2>	;
  7142	014770'	012702	015056'			MOV	#125$,R2	;SET DIVISOR POINTER
  7143	014774'	005001			101$:	CLR	R1		;CLEAR QUOTIENT COUNTER
  7144	014776'	005742			103$:	TST	-(R2)		;BACK DOWN INTO ARRAY
  7145	015000'	001414				BEQ	111$		;DONE ALL BUT UNITS
  7146	015002'	005201			107$:	INC	R1		;UP QUOTIENT
  7147	015004'	161200				SUB	(R2),R0		;SUBTRACT CURRENT 10**N
  7148	015006'	002375				BGE	107$		;NOT NEGATIVE YET, LOOP AROUND
  7149	015010'	061200				ADD	(R2),R0		;WENT TOO FAR, GO BACK ONE
  7150	015012'	005301				DEC	R1		;COUNT BACK QUOTIENT
  7151	015014'	001770				BEQ	103$		;IF QUOTIENT IS ZERO, SUPPRESS IT
  7152	015016'	052701	000060			BIS	#'0,R1		;CONVERT QUOTIENT DIGIT TO ASCII
  7153	015022'	004737	014666'			JSR	PC,CKTCHR	;TYPE DIGIT
  7154	015026'	005712				TST	(R2)		;DONE TO LSD?
  7155	015030'	001361				BNE	101$		;NO
  7156	015032'				111$:	RESTORE	<R2,R1,R0>	;RESTORE AND RETURN
  7157	015040'	000207				RTS	PC		;
  7158	015042'	000000	000001	000012	124$:	.WORD	0,1.,10.,100.,1000.,10000. ;DECIMAL ORDERS OF MAGNITUDE
	015050'	000144	001750	023420
  7159	015056'				125$:				;125$ **ENDS** THE ARRAY
  7160					;
  7161					; GET A SINGLE CHAR FROM THE KEYBOARD
  7162					;	R1 WILL HAVE THE SEVEN BIT CHAR INPUT, OR
  7163					;	  WILL HAVE -1 IF THE ROUTINE HAD TO WAIT MORE
  7164					;	  THAN 30 SECONDS FOR A RESPONSE
  7165					;	IF THERE IS NO CTY, THE RETURNED CHAR WILL BE "N" (DEFAULT "NO")
  7166					; CALL	JSR	PC,CKGCHR
  7167					;
  7168	015056'	005737	014524'		CKGCHR:	TST	CKTRPT		;KB EXIST?
  7169	015062'	100030				BPL	96$		;NO, DON'T LOOK FOR A CHARACTER
  7170	015064'					SAVE	<R0,R2>		;YES, ENTER INPUT WAIT
  7171	015070'	012702	000764			MOV	#500.,R2	;SET TIMEOUT COUNTERS
  7172	015074'	005000				CLR	R0		;
  7173	015076'	012701	177777			MOV	#-1,R1		;ASSUME NO CHARACTER WILL BE RECEIVED
  7174	015102'	005737	177562			TST	CTICHR		;CLEAR BUFFER
  7175	015106'	077001			90$:	SOB	R0,90$		;THIS TAKES ABOUT 1/15 SECOND TO FALL THROUGH
  7176	015110'	005302				DEC	R2		;DO IT ENOUGH TIMES TO GET TO 30-60 SECONDS
  7177	015112'	001411				BEQ	95$		;NO INPUT WAS SEEN, RETURN WITH DEFAULT
  7178	015114'	105737	177560			TSTB	CTISTS		;LOOK FOR CHAR
  7179	015120'	100372				BPL	90$		;NOT THERE YET
  7180	015122'	113701	177562			MOVB	CTICHR,R1	;FINALLY GOT ONE, GRAB IT
  7181	015126'	042701	177600			BIC	#^C177,R1	;KEEP ONLY INTERESTING BITS
  7182	015132'	004737	014666'			JSR	PC,CKTCHR	;TYPE IT BACK TO HIM (ECHO)
  7183	015136'				95$:	RESTORE	<R2,R0>		;
  7184	015142'	000207				RTS	PC		;
  7185									;
  7186	015144'	012701	000116		96$:	MOV	#'N,R1		;NO CTY, RETURN "NO" FOR ANSWER
  7187	015150'	000207				RTS	PC		;
  7188					;
  7189					; GET A CHARACTER AND RETURN Z-BIT SET IF IT IS A "Y" (CASE INSENSITIVE) -
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 23-3
C11DTE.MAC    04-JAN-83 11:22		TTY SUPPORT FOR TYPE OUTS

  7190					;    RETURN WITH C-BIT SET IF NO CHARACTER WAS RECEIVED
  7191					;
  7192	015152'	004737	015056'		CKGYES:	JSR	PC,CKGCHR	;GET ANY CHARACTER
  7193	015156'	120127	000040			CMPB	R1,#40		;TEST FOR IGNORED OR UNPRINTABLE
  7194	015162'	002406				BLT	97$		;NO CHARACTER
  7195	015164'	052701	000040			BIS	#40,R1		;FORCE LOWER CASE FOR COMPARISON
  7196	015170'	120127	000171			CMPB	R1,#'Y!40	;IS IT A "Y"?
  7197	015174'	000241				CLC			;RETURN Z-BIT FOR CALLER TO BRANCH ON
  7198	015176'	000207				RTS	PC		;
  7199	015200'	000261			97$:	SEC			;NO REASONABLE CHARACTER TYPED
  7200	015202'	000207				RTS	PC		;
  7201						    .DSABL LSB
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 23-4
C11DTE.MAC    04-JAN-83 11:22		REMOTE OUTPUT HANDLER

  7203					.SBTTL	REMOTE OUTPUT HANDLER
  7204					;
  7205	015204'				CKTREM:				;
  7206						; THIS ROUTINE WILL TAKE THE OUTPUT DIRECTED
  7207						;   TO THE CTY AND SEND IT OVER A BUFFERED
  7208						;   LINK TO BE OUTPUT ON A REMOTE DEVICE.
  7209						;
  7210						; IF THE TRANSFER IS BUFFERED, RECEIPT OF A -1 BYTE
  7211						;   SHOULD FORCE THE TRANSMISSION OF THE PARTIALLY FILLED
  7212						;   BUFFER TO ENSURE THE UP TO DATE REPORTING OF VITAL
  7213						;   MESSAGES (DEATH, DISEASE, FAMINE, ETC.)
  7214									;
  7215	015204'	105037	014524'			CLRB	CKTRPT		;PREVENT ERROR LOOP IN THIS ROUTINE
  7216	015210'	010046				MOV	R0,-(SP)	;
  7217	015212'	013700	015532'			MOV	CK.PTR,R0	;PICK UP BUFFER FILL POINTER
  7218	015216'	120127	177777			CMPB	R1,#-1		;IF CHARACTER IS -1,
  7219	015222'	001003				BNE	5$		;  (NOT)
  7220	015224'					CALL	CKBFSH		;WRITE OUT BUFFER
  7221	015230'	000426				BR	100$		;AND QUIT (DON'T STORE THE -1)
  7222	015232'	020127	000015		5$:	CMP	R1,#15		;IF CHARACTER IS <CR>,
  7223	015236'	001003				BNE	10$		;  (NOT)
  7224	015240'	005237	015530'			INC	CK.BFG		;SET FLAG
  7225	015244'	000412				BR	30$		;AND STORE IN BUFFER
  7226	015246'	020127	000012		10$:	CMP	R1,#12		;IF CHARACTER IS <LF>,
  7227	015252'	001005				BNE	20$		;  (NOT)
  7228	015254'	005737	015530'			TST	CK.BFG		;AND LAST CHAR WAS <CR>,
  7229	015260'	001402				BEQ	20$		;  (NOT)
  7230	015262'					CALL	CKBFSH		;WRITE OUT BUFFER
  7231
  7232	015266'	005037	015530'		20$:	CLR	CK.BFG		;CLEAR <CR> FLAG
  7233	015272'	110120			30$:	MOVB	R1,(R0)+	;STORE CHAR IN BUFFER
  7234	015274'	020027	015527'			CMP	R0,#CK.BFN	;IF AT END OF BUFFER,
  7235	015300'	001002				BNE	100$		;  (NOT)
  7236	015302'					CALL	CKBFSH		;WRITE OUT BUFFER
  7237	015306'	010037	015532'		100$:	MOV	R0,CK.PTR	;REFRESH BUFFER FILL POINTER
  7238	015312'	012600				MOV	(SP)+,R0	;
  7239	015314'	112737	177777	014524'		MOVB	#-1,CKTRPT	;RESET "REMOTE REPORTING" FLAG
  7240	015322'					RETURN			;RETURN  TO CALLER
  7241
  7242
  7243					;  ROUTINE TO WRITE OUT A BUFFER
  7244
  7245	015324'	162700	015407'		CKBFSH:	SUB	#CK.BUF,R0	;CALCULATE BUFFER LENGTH
  7246	015330'	005200				INC	R0		;  PLUS ONE FOR OPCODE
  7247	015332'	010037	015404'			MOV	R0,CK.LEN	;SET UP BYTE COUNT WORD
  7248	015336'	012700	015404'			MOV	#CK.LEN,R0	;ADDRESS BUFFER START
  7249	015342'	010446				MOV	R4,-(SP)	;
  7250	015344'	010546				MOV	R5,-(SP)	;
  7251	015346'	010246				MOV	R2,-(SP)	;
  7252	015350'	010146				MOV	R1,-(SP)	;
  7253	015352'	005004				CLR	R4		;SET PHYSICAL ADDRESS
  7254	015354'	005005				CLR	R5		;  BASE AT ZERO
  7255	015356'	013701	002062'			MOV	CK.DTE,R1	;PICK UP DTE CSR ADDRESS
  7256	015362'	013702	002060'			MOV	CK.CAL,R2	;ADDRESS LOADER CODE
  7257					;	CALL	DTESND-MOP(R2)	;CALL DTE SEND ROUTINE IN LOADER
  7258	015366'	012601				MOV	(SP)+,R1	;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 23-5
C11DTE.MAC    04-JAN-83 11:22		REMOTE OUTPUT HANDLER

  7259	015370'	012602				MOV	(SP)+,R2	;
  7260	015372'	012605				MOV	(SP)+,R5	;
  7261	015374'	012604				MOV	(SP)+,R4	;
  7262	015376'	012700	015407'			MOV	#CK.BUF,R0	;RESET FILL POINTER TO START OF BUFFER
  7263	015402'					RETURN
  7264
  7265	015404'	000000			CK.LEN:	.WORD	0		;BYTE COUNT FOR DTE SEND ROUTINE
  7266	015406'	   026				.BYTE	22.		;MOP OP CODE
  7267	015407'	000120			CK.BUF:	.BLKB	80.		;BUFFER
  7268	015527'	   000			CK.BFN:	.BYTE	0		;  END OF BUFFER (1 BYTE SAFETY PAD)
  7269						.EVEN			;
  7270	015530'	000000			CK.BFG:	.WORD	0		;FLAG WORD
  7271	015532'	015407'			CK.PTR:	.WORD	CK.BUF		;BUFFER FILL POINTER
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 23-6
C11DTE.MAC    04-JAN-83 11:22		UNEXPECTED BUS TRAP HANDLER

  7273					.SBTTL	UNEXPECTED BUS TRAP HANDLER
  7274					;
  7275	015534'				CKBUST:	CK11SC	<CKEDID>,<Bus error trap>
  7276	015536'	072502	020163	071105		.ASCIZ	\Bus Error trap from\
	015544'	067562	020162	071164
	015552'	070141	063040	067562
	015560'	000155
  7277						.EVEN			;
  7278	015562'	011600				MOV	(SP),R0		;GET PC OF NEXT INST
  7279	015564'	162700	000002			SUB	#2,R0		;MAKE PC WITHIN BAD INST
  7280	015570'	004737	014600'			JSR	PC,CKTBOC	;PRINT THE PC WHERE WE WERE DONE IN
  7281					;;;;	JMP	?		;FATAL BUS ERROR
  7282	015574'	000000			20$:	HALT			;SOMEDAY WE MAY HAVE A REAL ABORT ROUTINE
  7283	015576'	000776				BR	20$		;  BUT FOR NOW, WE JUST HANG
  7284					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 24
C11DTE.MAC    04-JAN-83 11:22		UNEXPECTED BUS TRAP HANDLER

  7286
  7287					.SBTTL	CK11SC/TRAP INSTRUCTION HANDLER
  7288					;
  7289					; TRAP INSTRUCTION HANDLER - WE GET HERE ON ERROR IN CHK11
  7290					;
  7291					;   AT HALT TIME R0 CONTAINS ADDRESS OF TRAP
  7292					;
  7293	015600'	010046			CHKERR:	MOV	R0,-(SP)	;SAVE A WORKING REGISTER
  7294	015602'	016646	000002			MOV	2(SP),-(SP)	;GET THE ADDRESS OF
  7295	015606'	162716	000002			SUB	#2,(SP)		; THE TRAP INSTRUCTION
  7296	015612'	013646				MOV	@(SP)+,-(SP)	;REPLACE THE ADDRESS WITH THE INSTR
  7297	015614'	032716	000010			BIT	#CKEDID,(SP)	;PRINT DEVICE ID+REG MSG?
  7298	015620'	001405				BEQ	11$		;NO
  7299	015622'	052737	000001	002052'		BIS	#CKFERR,CHKFLG	;YES, REMEMBER WE HAD AN ERROR
  7300	015630'	004737	010540'			JSR	PC,CKDIDT	;
  7301	015634'	032716	000002		11$:	BIT	#CKEPC,(SP)	;TYPE PC MESSAGE?
  7302	015640'	001421				BEQ	14$		;NO
  7303	015642'	004037	014566'			JSR	R0,CKTCRL	;YES
  7304	015646'	020011	071105	067562		.ASCIZ	\	 Error at PC\
	015654'	020162	072141	050040
	015662'	000103
  7305						.EVEN			;
  7306	015664'	052737	000001	002052'		BIS	#CKFERR,CHKFLG	;REMEMBER WE HAD AN ERROR
  7307	015672'	016600	000004			MOV	4(SP),R0	;GET ADDRESS
  7308	015676'	005740				TST	-(R0)		;  OF INSTRUCTION
  7309	015700'	004737	014600'			JSR	PC,CKTBOC	;PRINT SPACE AND ADDRESS
  7310	015704'	032716	000024		14$:	BIT	#CKEMSG!CKEMSE,(SP);ANY MSG TO DO?
  7311	015710'	001434				BEQ	36$		;NO
  7312									;
  7313	015712'	032716	000040			BIT	#CKENCL,(SP)	;YES, SUPPRESS CR/LF?
  7314	015716'	001002				BNE	20$		;YES
  7315	015720'	004737	014554'			JSR	PC,CKCRLF	;NO, DO CR/LF
  7316	015724'	032716	000110		20$:	BIT	#CKEDID!CKEGB,(SP);DETAIL FORMAT SPACES?
  7317	015730'	001404				BEQ	24$		;NO
  7318	015732'	004037	014572'			JSR	R0,CKTSTR	;YES
  7319	015736'	004411	   000			.ASCIZ	"		"
  7320		015742'				.EVEN			;
  7321	015742'	016600	000004		24$:	MOV	4(SP),R0	;GET MSG ADDRESS
  7322	015746'	032716	000020			BIT	#CKEMSE,(SP)	;INDIRECT?
  7323	015752'	001401				BEQ	29$		;NO, INLINE
  7324	015754'	011000				MOV	(R0),R0		;YES, GET ACTUAL ADDRESS
  7325	015756'	004737	014526'		29$:	JSR	PC,CKTTXT	;TYPE OUT MSG
  7326	015762'	062766	000002	000004		ADD	#2,4(SP)	;UPDATE RETURN ADDRESS
  7327	015770'	032716	000004			BIT	#CKEMSG,(SP)	;WAS MSG INLINE?
  7328	015774'	001402				BEQ	36$		;NO
  7329	015776'	010066	000004			MOV	R0,4(SP)	;YES, REPLACE RETURN ADDRESS
  7330	016002'	032716	000100		36$:	BIT	#CKEGB,(SP)	;SEE IF GOOD BAD PRINT OUT
  7331	016006'	001454				BEQ	40$		;BRANCH IF NOT THIS
  7332	016010'	004037	014566'			JSR	R0,CKTCRL	;
  7333	016014'	004411	062101	027562		.ASCIZ	\		Adr/Reg =\
	016022'	062522	020147	000075
  7334						.EVEN			;
  7335	016030'	016600	000010			MOV	10(SP),R0	;GET ADR OFF THE STACK
  7336	016034'	004737	014600'			JSR	PC,CKTBOC	;PRINT ADR
  7337	016040'	004037	014572'			JSR	R0,CKTSTR	;
  7338	016044'	020040	042107	036440		.ASCIZ	\  GD =\
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 24-1
C11DTE.MAC    04-JAN-83 11:22		CK11SC/TRAP INSTRUCTION HANDLER

	016052'	   000
  7339		016054'				.EVEN
  7340	016054'	016600	000014			MOV	14(SP),R0	;GET "GOOD"
  7341	016060'	004737	014600'			JSR	PC,CKTBOC	;PRINT IT
  7342	016064'	004037	014572'			JSR	R0,CKTSTR	;
  7343	016070'	020040	042102	036440		.ASCIZ	\  BD =\
	016076'	   000
  7344		016100'				.EVEN
  7345	016100'	016600	000012			MOV	12(SP),R0	;PRINT BAD STUFF
  7346	016104'	004737	014600'			JSR	PC,CKTBOC	;PRINT BAD
  7347	016110'	004037	014572'			JSR	R0,CKTSTR	;
  7348	016114'	020040	047530	020122		.ASCIZ	\  XOR =\
	016122'	000075
  7349						.EVEN
  7350	016124'	016646	000014			MOV	14(SP),-(SP)	;GET GOOD
  7351	016130'	074016				XOR	R0,(SP)		;LEAVE ONLY QUESTIONABLE BITS
  7352	016132'	012600				MOV	(SP)+,R0	;PRINT THEM
  7353	016134'	004737	014600'			JSR	PC,CKTBOC	;
  7354	016140'	032716	000001		40$:	BIT	#CKEFAT,(SP)	;FATAL ERROR?  HALT REQUIRED?
  7355	016144'	001426				BEQ	50$		;NO
  7356	016146'	052737	000001	002052'		BIS	#CKFERR,CHKFLG	;YES, NOTE THAT WE HAD AN ERROR
  7357	016154'	004037	014566'			JSR	R0,CKTCRL	;
  7358	016160'	004411	060506	060564		.ASCIZ	\		Fatal Error\<377>
	016166'	020154	071105	067562
	016174'	177562	   000
  7359		016200'				.EVEN
  7360	016200'	013700	016252'			MOV	CKSPCD,R0	;PUT STOPCODE IN R0, 0 IS NOT TO BE DISPLAYED
  7361	016204'	001401				BEQ	45$		;IF 0
  7362	016206'	000000				HALT			;STOP CODE IN R0, PRESS CONTINUE
  7363									; GIVES ADR WE CAME FROM
  7364	016210'	016600	000004		45$:	MOV	4(SP),R0	;ADDRESS OF RETURN FROM TRAP IN R0
  7365	016214'	000000				HALT			;FATAL ERROR - R0 CONTAINS ERROR ADDRESS
  7366	016216'	000137	002124'			JMP	CHK.11		;IF CONTINUE DO PROGRAM AGAIN.
  7367	016222'	032726	000100		50$:	BIT	#CKEGB,(SP)+	;WAS THERE A GD-BD PRINT? (POP SAVED INSTUCTION)
  7368	016226'	001002				BNE	55$		;YES, CLEAR STACK
  7369	016230'	012600				MOV	(SP)+,R0	;
  7370	016232'	000002				RTI			;  AND EXIT
  7371									;
  7372	016234'	012600			55$:	MOV	(SP)+,R0	;RESTORE WORKING REGISTER, CLEAN STACK
  7373	016236'	012666	000004			MOV	(SP)+,4(SP)	;PC
  7374	016242'	012666	000004			MOV	(SP)+,4(SP)	;PS
  7375	016246'	005726				TST	(SP)+		;CLEAN THE STACK
  7376	016250'	000002				RTI			;  THEN EXIT
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 24-2
C11DTE.MAC    04-JAN-83 11:22		CK11SC/TRAP INSTRUCTION HANDLER

  7378	016252'	000000			CKSPCD:	.WORD	0		;CONTAINS STOPCODE ON FATAL ERROR
  7379									;
  7380	016254'				CHKCHR:
  7381									;
  7382		000000			CKDA = .-CHKCHR			;DEVICE ADDRESS OFFSET
  7383	016254'	000001				.BLKW	1
  7384									;
  7385		000002			CKDV = .-CHKCHR			;DEVICE VECTOR OFFSET
  7386	016256'	000001				.BLKW	1
  7387									;
  7388		000004			CKPI = .-CHKCHR			;DEVICE PI LEVEL OFFSET
  7389	016260'	000001				.BLKW	1
  7390									;
  7391		000006			CKFLG = .-CHKCHR		;DEVICE FLAGS OFFSET
  7392									; B0-B5 = # OF DQ11 SPECIAL CHAR
  7393									; B15 = INTERRUPTED ON SYNC
  7394	016262'	000001				.BLKW	1
  7395									;
  7396		000010			CKSPC = .-CHKCHR		;SPECIAL CHAR OFFSET
  7397	016264'	000004				.BLKW	4		;SPECIAL CHARACTERS
  7398					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 24-3
C11DTE.MAC    04-JAN-83 11:22		CK11SC/TRAP INSTRUCTION HANDLER

  7400		000000					.REPT	0
  7401						CKVECT	CD,1,1			;CD20 VECTOR SETUP
  7402						CKVECT	CR,1,1			;CR11 VECTOR SETUP
  7403						CKVECT	DH,2,16.		;DH11 VECTOR SETUP
  7404						CKVECT	DJ,2,16.		;DJ11 VECTOR SETUP
  7405						CKVECT	DL.E,2,16.		;DL11 VECTOR SETUP
  7406						CKVECT	DM,1,16.		;DM11BB VECTOR SETUP
  7407						CKVECT	DMC,2,16.		;DMC11 VECTOR SETUP
  7408						CKVECT	DN,1,64.		;DN11 VECTOR SETUP
  7409						CKVECT	DP,2,32.		;DP11 VECTOR SETUP
  7410						CKVECT	DQ,2,16.		;DQ11 VECTOR SETUP
  7411						CKVECT	DS,4,16.		;DS11 VECTOR SETUP
  7412						CKVECT	DU,2,16.		;DU11 VECTOR SETUP
  7413						CKVECT	DUP,2,16.		;DUP11 VECTOR SETUP
  7414						CKVECT	DTE2,1,1		;DTE20 VECTOR SETUP
  7415						CKVECT	KMC,2,3			;KMC11 VECTOR SETUP
  7416						CKVECT	KW.P,1,1		;KW11-P VECTOR SETUP
  7417						CKVECT	LE,1,2			;LP11 VECTOR SETUP
  7418						CKVECT	LP,1,2			;LP20 VECTOR SETUP
  7419						CKVECT	PP,1,1			;PP11 VECTOR SETUP
  7420						CKVECT	PR,1,1			;PR11 VECTOR SETUP
  7421						CKVECT	P6,1,16.		;PA611P VECTOR SETUP
  7422						CKVECT	R6,1,16.		;PA611R VECTOR SETUP
  7423						CKVECT	TC,1,1			;TC11 VECTOR SETUP
  7424						CKVECT	TM,1,1			;TM11 VECTOR SETUP
  7425						CKVECT	RC,1,1			;RC11 VECTOR SETUP
  7426						CKVECT	RF,1,1			;RF11 VECTOR SETUP
  7427						CKVECT	RH,1,1			;RH11 (RJP04) VECTOR SETUP
  7428						CKVECT	RP,1,1			;RP11-C VECTOR SETUP
  7429						CKVECT	TA,1,1			;TA11 VECTOR SETUP
  7430						CKVECT	RK,1,1			;RK11 VECTOR SETUP
  7431						CKVECT	RX,1,1			;RX11 VECOR SETUP
  7432							.ENDR	;END OF SUPPRES VECTORS
  7433					;
  7434	016274'	062515	020155	071105	CKMG01:	.ASCIZ	\Mem Err\<377>
	016302'	177562	   000
  7435	016305'	   102	072151	062040	CKMG02:	.ASCIZ	\Bit did not clear\<377>
	016312'	062151	067040	072157
	016320'	061440	062554	071141
	016326'	000377
  7436	016330'	064502	020164	064544	CKMG03:	.ASCIZ	\Bit did not set\<377>
	016336'	020144	067556	020164
	016344'	062563	177564	   000
  7437	016351'	   111	072156	071145	CKMG04:	.ASCIZ	\Interrupt did not occur\<377>
	016356'	072562	072160	062040
	016364'	062151	067040	072157
	016372'	067440	061543	071165
	016400'	000377
  7438	016402'	067111	062564	071162	CKMG05:	.ASCIZ	\Interrupted to wrong vector\<377>
	016410'	070165	062564	020144
	016416'	067564	073440	067562
	016424'	063556	073040	061545
	016432'	067564	177562	   000
  7439	016437'	   156	072157	063040	CKMG06:	.ASCIZ	\not found\<377>
	016444'	072557	062156	000377
  7440	016452'	067151	062564	071162	CKMG07:	.ASCIZ	\interrupted when not enabled\<377>
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 24-4
C11DTE.MAC    04-JAN-83 11:22		CK11SC/TRAP INSTRUCTION HANDLER

	016460'	070165	062564	020144
	016466'	064167	067145	067040
	016474'	072157	062440	060556
	016502'	066142	062145	000377
  7441					;
  7442						.EVEN
  7443		002202'			CKBLK=CKINTS			;REMOVE THIS AREA AS A BUFFER FOR THE DH11 TEST
  7444					;
  7445	016510'	000040				.BLKW	40		;STACK FOR CHECK-11
  7446		016610'			CHKSTK	=.			;END OF STACK
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 24-5
C11DTE.MAC    04-JAN-83 11:22		MODULE END

  7448					.SBTTL MODULE END
  7449					.SBTTL PROGRAM END
  7450		016610'				CHKEND=	.	;COMPUTE AND PRINT PROGRAM SIZE
  7451					;
  7452					;	EEEEEEEEEEEEEE	NN          NN	DDDDDDDDDD	!!
  7453					;	EE		NNNN        NN	DD        DD	!!
  7454					;	EE		NN  NN      NN	DD          DD	!!
  7455					;	EE		NN  NN      NN	DD          DD	!!
  7456					;	EEEEEEEEEE	NN    NN    NN	DD          DD	!!
  7457					;	EE		NN    NN    NN	DD          DD	!!
  7458					;	EE		NN      NN  NN	DD          DD	!!
  7459					;	EE		NN        NNNN	DD        DD
  7460					;	EEEEEEEEEEEEEE	NN          NN	DDDDDDDDDD	!!
  7461					;
  7462					;
  7463					;**********************************************************************
  7464					;
  7465					; END OF CHK11 - THE ONLY ONCE ONLY SYSTEM DIAGNOSTIC YOU'LL EVER NEED
  7466					;
  7467					;**********************************************************************
  7468					;
  7469		000000'				.END	DTEMOP		;START AT LOADER START
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

ALLBTS= 177777        	  769#	 4257	 5619	 5622	 6565	 6568	 6571	 6832	 6844
BIT0  = 000001        	 3105#	 3203	 3205	 3425
BIT1  = 000002        	 3106#	 3202	 3425
BIT10 = 002000        	 3115#	 3198
BIT11 = 004000        	 3116#	 3197
BIT12 = 010000        	 3117#	 3196
BIT13 = 020000        	 3118#	 3182	 3195
BIT14 = 040000        	 3119#	 3172	 3194
BIT15 = 100000        	 3120#	 3171	 3181	 3193
BIT2  = 000004        	 3107#
BIT3  = 000010        	 3108#
BIT4  = 000020        	 3109#
BIT5  = 000040        	 3110#	 3143
BIT6  = 000100        	 3111#	 3191	 3201
BIT7  = 000200        	 3112#	 3200
BIT8  = 000400        	 3113#	 3199
BIT9  = 001000        	 3114#
BPARER= 000020        	 1385#
BPTLVL= 000007        	  805#
BPTVEC= 000014        	  805#
BR0   = 000000        	  773#
BR1   = 000040        	  774#
BR2   = 000100        	  775#
BR3   = 000140        	  776#
BR4   = 000200        	  777#
BR5   = 000240        	  778#
BR6   = 000300        	  779#	 5410
BR7   = 000340        	  780#	 4167	 4193	 4201	 4948	 5258	 5320	 5420	 5462	 5471	 5510	 5579	 6578
			 6810
BSEL0 = 000000        	 1085#
BSEL1 = 000001        	 1088#
BSEL2 = 000002        	 1085#
BSEL3 = 000003        	 1088#
BSEL4 = 000004        	 1085#
BSEL5 = 000005        	 1088#
BSEL6 = 000006        	 1085#
BSEL7 = 000007        	 1088#
BSFACT= 000100        	 1635#	 4537	 4552	 4553	 4650	 4763
BUSA16= 040000        	 1353#	 3172#	 3277	 3431	 3436	 3690
BUSA17= 100000        	 1352#	 3171#	 3277	 3431
BYTCNT  001342R       	 3369	 3738#
B.DM11= 170500        	 1055#
B0    = 000001        	  752#	  769	  902	  962	  964	  994	 1008	 1026	 1037	 1047	 1064	 1071#	 1105
			 1121	 1138	 1147	 1167	 1186	 1391	 1394	 1811	 1838	 1896	 1928	 3829	 4142
			 5017	 5076	 7044
B1    = 000002        	  753#	  901	  963	  964	  993	 1009	 1026	 1047	 1064	 1071#	 1104	 1120	 1137
			 1148	 1187	 1389	 1837	 1859	 1861	 1863	 1865	 1895	 1921	 1923	 1925	 1927
			 3830	 5020	 5083
B10   = 002000        	  762#	  896	  933	  983	 1015	 1057	 1106	 1130	 1158	 1177	 1309	 1379	 1828
			 1850	 1851	 1852	 1853	 1886	 1907	 1912	 1913	 1914	 1915
B11   = 004000        	  763#	  895	  934	  982	 1016	 1056	 1106	 1115	 1129	 1159	 1178	 1309	 1377
			 1808	 1827	 1845	 1885	 1906
B12   = 010000        	  764#	  894	  935	  953	  981	 1017	 1027	 1097	 1114	 1128	 1160	 1179	 1195
			 1376	 1826	 1844	 1884	 1905
B13   = 020000        	  765#	  893	  936	  949	  952	  980	 1018	 1028	 1127	 1180	 1274	 1363	 1375
			 1825	 1843	 1883	 1902	 1904
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-1
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

B14   = 040000        	  766#	  892	  937	  948	  951	  957	  979	 1019	 1029	 1096	 1126	 1273	 1353
			 1374	 1824	 1882	 1903	 1904
B15   = 100000        	  767#	  769	  891	  938	  950	  956	  978	 1020	 1030	 1095	 1125	 1162	 1182
			 1272	 1352	 1362	 1373	 1667	 1798	 1807	 1823	 1842	 1881	 1900	 4143
B2    = 000004        	  754#	  923	  960	  992	 1010	 1026	 1038	 1047	 1064	 1071#	 1103	 1119	 1149
			 1169	 1188	 1388	 1836	 1860	 1861	 1864	 1865	 1894	 1922	 1923	 1926	 1927
			 3831
B3    = 000010        	  755#	  991	 1011	 1026	 1047	 1064	 1071#	 1102	 1118	 1136	 1150	 1170	 1189
			 1386	 1835	 1862	 1863	 1864	 1865	 1893	 1924	 1925	 1926	 1927	 3832
B4    = 000020        	  756#	  959	  990	 1026	 1047	 1063	 1071#	 1101	 1135	 1151	 1171	 1190	 1385
			 1834	 1857	 1892	 1919	 3833
B5    = 000040        	  757#	  958	  988	 1012	 1026	 1047	 1062	 1071#	 1100	 1134	 1152	 1172	 1191
			 1213	 1384	 1833	 1856	 1891	 1918	 3835	 5023	 5086
B6    = 000100        	  758#	  900	  915	  922	  929	  987	 1013	 1026	 1039	 1047	 1061	 1071#	 1099
			 1117	 1133	 1153	 1173	 1192	 1371	 1383	 1655	 1656	 1669	 1800	 1810	 1832
			 1855	 1890	 1917	 3836
B7    = 000200        	  759#	  899	  930	  986	 1014	 1026	 1040	 1047	 1060	 1071#	 1098	 1116	 1132
			 1154	 1174	 1193	 1382	 1657	 1668	 1799	 1809	 1831	 1854	 1889	 1916
B8    = 000400        	  760#	  898	  931	  985	 1059	 1106	 1156	 1175	 1279	 1381	 1830	 1847	 1849
			 1851	 1853	 1888	 1907	 1909	 1911	 1913	 1915
B9    = 001000        	  761#	  897	  932	  984	 1058	 1106	 1131	 1157	 1176	 1380	 1829	 1848	 1849
			 1852	 1853	 1887	 1907	 1910	 1911	 1914	 1915
CDBA  = 000004        	  848#	 5608	 5610*	 5611	 5613*	 5667	 5669*	 5670	 5672*
CDCC  = 000002        	  845#
CDDB  = 000006        	  850#	  867
CDHRSZ= 000010        	  881#
CDST  = 000000        	  821#
CDST2 = 000006        	  867#	 5606
CD.B16= 000020        	  823#	  825
CD.B17= 000040        	  823#	  825
CD.CER= 100000        	  852#
CD.COL= 000120        	  846#
CD.DER= 004000        	  822#
CD.DLT= 002000        	  822#
CD.EOF= 020000        	  822#
CD.ERR= 100000        	  822#	 5636
CD.GO = 000001        	  824#	 5634
CD.HPE= 000004        	  824#
CD.IE = 000100        	  823#	 5616	 5634
CD.LVL= 000004        	  817#	 5033
CD.NXM= 001000        	  823#
CD.OFL= 010000        	  822#	 5624
CD.ONL= 000010        	  824#
CD.PAC= 000002        	  824#	 5616
CD.PCK= 020000        	  869#
CD.PWC= 000400        	  823#	 5631
CD.RCK= 040000        	  869#
CD.RDC= 040000        	  822#
CD.RDY= 000200        	  823#	 5636
CD.SCK= 010000        	  869#
CD.STS= 177160        	  820#	 5033
CD.VEC= 000230        	  818#	 5033
CD.XAD= 000060        	  825#	 5616	 5634
CHKBIT  010416R       	 4253	 4270	 5319#	 5615	 5618	 5621	 5679	 5927	 5931	 6404	 6453	 6457	 6460
			 6476	 6479	 6561	 6564	 6567	 6570	 6799	 6822	 6826	 6831	 6837	 6843
CHKCD   006074R       	 5033#	 5678*
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-2
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

CHKCHR  016254R       	 4248*	 4250*	 4266*	 4268*	 4911*	 4912*	 5250*	 5254*	 5255*	 5257*	 5262	 5266	 5394
			 5426	 5428	 5432*	 5458*	 5486	 5488	 5493*	 5494*	 5498	 5500	 5686*	 6491*	 7380#
			 7382	 7385	 7388	 7391	 7396
CHKCKB  002450R       	 4260	 4264#
CHKCKD  002676R       	 4224	 4306#
CHKCLK  005440R       	 4908#
CHKCOR  004456R       	 4620	 4624#
CHKCR   006130R       	 5035#	 5614*
CHKCTY  002264R       	 4207	 4211#
CHKDEV  007502R       	 5033	 5035	 5036	 5037	 5038	 5039	 5040	 5041	 5042	 5043	 5044	 5045	 5046
			 5047	 5048	 5049	 5050	 5052	 5077	 5078	 5079	 5080	 5081	 5084	 5087	 5088
			 5133#
CHKDTE  007030R       	 5052#
CHKEND= 016610R       	 7450#
CHKERR  015600R       	 4205	 7293#
CHKFLD  011522R       	 4176*	 5148*	 5150*	 5151	 5174	 5184	 5186*	 5209	 5249	 5583#
CHKFLG  002052R       	 4141#	 4177*	 4212*	 4264*	 4909*	 5253*	 5379	 5399*	 6607	 6611*	 6618	 6622*	 7299*
			 7306*	 7356*
CHKFLV  011520R       	 4175*	 5139	 5243	 5291	 5292*	 5582#
CHKINL  010644R       	 4256	 4951	 5407#	 5644	 5701	 6414	 6587
CHKINT  011356R       	 4192	 5540#	 5545
CHKISZ= 000012        	 4200	 5545#
CHKMAP  003452R       	 4465	 4469#
CHKMMG  003554R       	 4491	 4499#
CHKRP   006614R       	 5046#
CHKSTK= 016610R       	 4172	 7446#
CHKTIM  005640R       	 4919*	 4924	 4942*	 4947#
CHK.11  002124R       	 3318	 4167#	 7366
CHK.90  007424R       	 5096#
CI.INE= 000100        	  915#	 4271
CKACD$= 002120R       	 5033#
CKACD1= ****** U      	 5033
CKACR$= 002120R       	 5035#
CKACR1= ****** U      	 5035
CKADLX= 002120R       	 4158
CKADL.= 002120R       	 5079#	 5080#	 5081#
CKADMC= 002120R       	 5084#
CKADTE= 002120R       	 5052#
CKADUP= 002120R       	 5078#
CKADZ$= 002120R       	 5088#
CKADZ1= ****** U      	 5088
CKAKG$= 002120R       	 5036#
CKAKG1= 002120R       	 4161	 5036
CKAKMC= 002120R       	 5077#	 5087#
CKAKW.= 002120R       	 5050#
CKAKW1= 002120R       	 4160	 4957
CKALE$= 002120R       	 5037#
CKALE1= ****** U      	 5037
CKALP$= 002120R       	 5038#
CKALP1= ****** U      	 5038
CKAMEM= 002120R       	 4159
CKAPP$= 002120R       	 5039#
CKAPP1= ****** U      	 5039
CKAPR$= 002120R       	 5040#
CKAPR1= ****** U      	 5040
CKARC$= 002120R       	 5043#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-3
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

CKARC1= ****** U      	 5043
CKARF$= 002120R       	 5044#
CKARF1= ****** U      	 5044
CKARH$= 002120R       	 5045#
CKARH1= ****** U      	 5045
CKARK$= 002120R       	 5048#
CKARK1= ****** U      	 5048
CKARP$= 002120R       	 5046#
CKARP1= ****** U      	 5046
CKARX$= 002120R       	 5049#
CKARX1= ****** U      	 5049
CKATA$= 002120R       	 5047#
CKATA1= ****** U      	 5047
CKATC$= 002120R       	 5041#
CKATC1= ****** U      	 5041
CKATM$= 002120R       	 5042#
CKATM1= ****** U      	 5042
CKBFSH  015324R       	 5100	 7220	 7230	 7236	 7245#
CKBLK = 002202R       	 7443#
CKBUST  015534R       	 4218	 4223	 4916	 5156	 5182	 5607	 5648	 7275#
CKCADD= 000034        	 5034#
CKCDEV  006074R       	 5032#	 5034
CKCEND  007424R       	 5092#
CKCLK9  005642R       	 4925	 4930	 4934	 4938	 4948#
CKCOR   005046R       	 4717	 4728#
CKCPSZ= 002000        	 4755#	 4761	 4763
CKCPU   002676R       	 4306	 4312#
CKCPUE  003376R       	 4384	 4387	 4390	 4393	 4396	 4399	 4402#
CKCPUN  003130R       	 4367#	 4402*
CKCRLF  014554R       	 5206	 7052#	 7063	 7315
CKDA  = 000000        	 4248*	 4266*	 4911*	 5254*	 5394	 6491*	 7382#
CKDEVN  002054R       	 4144#	 4252*	 4913*	 5234*	 5272*	 5273	 5389	 7020*
CKDIDT  010540R       	 5379#	 7300
CKDLXB  003452R       	 4412	 4419#
CKDL10  005724R       	 4963#
CKDNAM  002056R       	 4145#	 4251*	 4269*	 4908*	 5136*	 5213	 5384	 6605	 6616
CKDN2X= 000043        	  178#	 5016	 5017	 5020	 5023	 5075	 5076	 5083	 5086
CKDV  = 000002        	 4250*	 4268*	 4912*	 5255*	 5262	 5426	 5428	 5486	 5488	 6491*	 7385#
CKEDID= 000010        	 3832#	 4927	 4931	 4935	 5189	 5331	 5341	 5348	 5423	 5429	 5483	 5489	 5501
			 5513	 5639	 5696	 6410	 6419	 6424	 6497	 6512	 6608	 6619	 6642	 6671	 6757
			 6796	 7275	 7297	 7316
CKEFAT= 000001        	 3829#	 4488	 7354
CKEGB = 000100        	 3836#	 4806	 4817	 5331	 5341	 5348	 5429	 5489	 5501	 6497	 6512	 6642	 6671
			 6757	 7316	 7330	 7367
CKEMSE= 000020        	 3833#	 4343	 4486	 4540	 4542	 4560	 4567	 4587	 4597	 4599	 4685	 4693	 4775
			 4806	 4817	 4927	 4931	 4935	 5189	 5217	 5331	 5341	 5348	 5381	 5386	 5391
			 5396	 5423	 5429	 5483	 5489	 5501	 5513	 5626	 5639	 5650	 5673	 5683	 5696
			 6410	 6419	 6424	 6497	 6512	 6608	 6619	 6642	 6671	 6757	 6796	 6850	 7275
			 7310	 7322
CKEMSG= 000004        	 3831#	 4343	 4486	 4540	 4542	 4560	 4567	 4587	 4597	 4599	 4685	 4693	 4775
			 4806	 4817	 4927	 4931	 4935	 5189	 5217	 5331	 5341	 5348	 5381	 5386	 5391
			 5396	 5423	 5429	 5483	 5489	 5501	 5513	 5626	 5639	 5650	 5673	 5683	 5696
			 6410	 6419	 6424	 6497	 6512	 6608	 6619	 6642	 6671	 6757	 6796	 6850	 7275
			 7310	 7327
CKENCL= 000040        	 3835#	 4685	 5217	 5386	 5391	 5396	 6796	 7313
CKEPC = 000002        	 3830#	 4343	 4597	 4599	 4775	 4806	 4817	 4927	 4931	 4935	 5331	 5341	 5348
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-4
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

			 5423	 5429	 5483	 5489	 5501	 5513	 5639	 5696	 6410	 6419	 6424	 6497	 6512
			 6642	 6671	 6757	 7301
CKFERR= 000001        	 4142#	 7299	 7306	 7356
CKFIDT= 100000        	 4143#	 4212	 4264	 4909	 5253	 5379	 5399
CKFLAG  011354R       	 5459*	 5491	 5495*	 5531#
CKFLG = 000006        	 5257*	 7391#
CKGCHR  015056R       	 7168#	 7192
CKGYES  015152R       	 7192#
CKHALT  002122R       	 4157#
CKINT   010762R       	 5456#	 6801	 6859
CKINTE  011342R       	 5484	 5490	 5504	 5514	 5521	 5524	 5526#
CKINTS  002202R       	 4190#	 7443
CKINT1  011002R       	 5462#	 5522
CKINT2  011006R       	 5463#	 5482
CKINT3  011014R       	 5465#	 5525
CKINT6  011250R       	 5499	 5505#
CKINT7  011332R       	 5467	 5523#
CKMDCK  014022R       	 6632	 6657	 6725	 6749#
CKMDEX  013744R       	 6636	 6661	 6720#
CKMDRD  014126R       	 6597	 6601	 6638	 6663	 6723	 6751	 6773#
CKMDWR  013774R       	 6600	 6615	 6737#	 6750
CKMDXT  013730R       	 6612	 6707#
CKMG01  016274R       	 4806	 4817	 7434#
CKMG02  016305R       	 5331	 5348	 7435#
CKMG03  016330R       	 5341	 7436#
CKMG04  016351R       	 5423	 5483	 7437#
CKMG05  016402R       	 5429	 5489	 7438#
CKMG06  016437R       	 7439#
CKMG07  016452R       	 5513	 7440#
CKMPAR  005440R       	 4769	 4824#
CKNAME  001366R       	 3784#	 4079	 4273
CKNODV= ****** U      	 5197
CKPI  = 000004        	 5250*	 5432*	 5458*	 5493*	 5494*	 5498	 5500	 5686*	 6491*	 7388#
CKPOPJ  002120R       	 4156#	 5033	 5035	 5037	 5038	 5039	 5040	 5041	 5042	 5043	 5044	 5045	 5046
			 5047	 5048	 5049	 5088
CKSPC = 000010        	 7396#
CKSPCD  016252R       	 4178*	 4806*	 4817*	 7360	 7378#
CKSTD = ****** U      	 5015	 5053
CKTBOC  014600R       	 5240	 7077#	 7280	 7309	 7336	 7341	 7346	 7353
CKTCHR  014666R       	 4283	 4285	 4289	 7040	 7079	 7118#	 7153	 7182
CKTCRL  014566R       	 4276	 4302	 4312	 4405	 4501	 4640	 4673	 4749	 4766	 4954	 5013	 5096	 7063#
			 7303	 7332	 7357
CKTDEC  014762R       	 4409	 4682	 7141#
CKTOCT  014614R       	 4280	 4287	 4698	 4709	 5207	 5226	 5390	 5395	 7086#
CKTREM  015204R       	 7136	 7205#
CKTRPT  014524R       	 4213*	 4222*	 4245*	 7027#	 7129	 7134	 7168	 7215*	 7239*
CKTSTR  014572R       	 4291	 4296	 4688	 4701	 4704	 4710	 5236	 7017	 7052	 7070#	 7122	 7318	 7337
			 7342	 7347
CKTTXT  014526R       	 4274	 4295	 4300	 4403	 5212	 5214	 5224	 5385	 7037#	 7070	 7325
CKVCD1= ****** U      	 5033
CKVCR1= ****** U      	 5035
CKVDL.= ****** U      	 5079	 5080	 5081
CKVDMC= ****** U      	 5084
CKVDTE= ****** U      	 5052
CKVDUP= ****** U      	 5078
CKVDZ1= ****** U      	 5088
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-5
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

CKVEDI= 000004        	 3786	 3791#
CKVKG1= ****** U      	 5036
CKVKMC= ****** U      	 5077	 5087
CKVKW.= ****** U      	 5050
CKVLE1= ****** U      	 5037
CKVLP1= ****** U      	 5038
CKVMAJ= 000003        	 3786	 3789#
CKVMIN= 000040        	 3786	 3790#
CKVPP1= ****** U      	 5039
CKVPR1= ****** U      	 5040
CKVRC1= ****** U      	 5043
CKVRF1= ****** U      	 5044
CKVRH1= ****** U      	 5045
CKVRK1= ****** U      	 5048
CKVRP1= ****** U      	 5046
CKVRX1= ****** U      	 5049
CKVTA1= ****** U      	 5047
CKVTC1= ****** U      	 5041
CKVTM1= ****** U      	 5042
CKVWHN  001430R       	 3787	 3793#
CKVWHO  001442R       	 3787	 3795#
CKWRD   003126R       	 4316	 4320	 4366#
CK.BFG  015530R       	 7224*	 7228	 7232*	 7270#
CK.BFN  015527R       	 7234	 7268#
CK.BUF  015407R       	 5099	 7245	 7262	 7267#	 7271
CK.CAL  002060R       	 4147#	 4171*	 5105	 7256
CK.DTE  002062R       	 4148#	 4168*	 5104	 7255
CK.LEN  015404R       	 7247*	 7248	 7265#
CK.PTR  015532R       	 7217	 7237*	 7271#
CK04    003332R       	 4355	 4383#
CK05    003340R       	 4328	 4386#
CK20    003346R       	 4331	 4389#
CK34    003354R       	 4363	 4392#
CK40    003362R       	 4330	 4395#
CK45    003370R       	 4364	 4398#
CLKENB= 000100        	 1656#
CLKLVL= 000004        	 1649#
CLKVEC= 000100        	 1651#	 4912	 4917	 4918*	 4950*
CLKWRD= 177546        	 1653#	 4910	 4953*
CLRSR0  000760R       	 3295*	 3560#
CO.INE= 000100        	  922#	 4254	 4255
CO..MM= 000004        	  923#	 4254
CR.BSY= 001000        	  897#	 5681
CR.CDN= 000200        	  899#	 5692
CR.CFD= 000001        	  902#	 5689
CR.DAT= 177162        	  904#
CR.DNE= 040000        	  892#
CR.EJT= 000002        	  901#	 5680
CR.ERR= 100000        	  891#	 5692
CR.HCK= 020000        	  893#
CR.INE= 000100        	  900#	 5680	 5689	 5695	 5703
CR.LVL= 000006        	  885#	 5035	 5686
CR.MCK= 010000        	  894#
CR.OLN= 002000        	  896#
CR.RDY= 000400        	  898#
CR.STS= 177160        	  889#	 5035
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-6
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

CR.TIM= 004000        	  895#
CR.VEC= 000230        	  886#	 5035
CR0STS= 177160        	  888#
CSTAT = 000034        	 1372#	 3192#	 3339*	 3433*	 3558	 3566	 3585*	 3587*	 3593*	 3629*	 3640*	 3670*	 3690*
			 6406
CTICHR= 177562        	  911#	 4217	 7174	 7180
CTILVL= 000004        	  913#
CTISTS= 177560        	  910#	 4216	 4265	 7178
CTIVEC= 000060        	  912#	 4268
CTOCHR= 177566        	  918#	 4215	 7133*
CTOLVL= 000004        	  920#
CTOSTS= 177564        	  917#	 4214	 4247	 7131
CTOVEC= 000064        	  919#	 4250
CVCD$$= 000000        	 5033#
CVCR$$= 000000        	 5035#
CVDL.E= 000000        	 5079#	 5080#	 5081#
CVDMC$= 000000        	 5084#
CVDTE2= 000000        	 5052#
CVDUP$= 000000        	 5078#
CVDZ$$= 000000        	 5088#
CVKG$$= 000000        	 5036#
CVKMC$= 000000        	 5077#	 5087#
CVKW.P= 000000        	 5050#
CVLE$$= 000000        	 5037#
CVLP$$= 000000        	 5038#
CVPP$$= 000000        	 5039#
CVPR$$= 000000        	 5040#
CVRC$$= 000000        	 5043#
CVRF$$= 000000        	 5044#
CVRH$$= 000000        	 5045#
CVRK$$= 000000        	 5048#
CVRP$$= 000000        	 5046#
CVRX$$= 000000        	 5049#
CVTA$$= 000000        	 5047#
CVTC$$= 000000        	 5041#
CVTM$$= 000000        	 5042#
DEBUG = 000001        	  286
DEXDON= 000004        	 1388#
DEXWD1= 000006        	 1357#	 3176#
DEXWD2= 000004        	 1356#	 3175#
DEXWD3= 000002        	 1355#	 3174#	 3558	 3566
DGUTS = 000000        	  274	  276
DHBASE= 160020        	  926#
DHRFER= 020000        	  949#
DHROVR= 040000        	  948#
DH.AEE= 100000        	  956#
DH.BAR= 000012        	  943#
DH.BCR= 000010        	  942#
DH.BRK= 000014        	  944#
DH.CAR= 000006        	  941#
DH.CL5= 000000        	  961#
DH.CL6= 000001        	  962#
DH.CL7= 000002        	  963#
DH.CL8= 000003        	  964#
DH.CNX= 000400        	  931#
DH.DOV= 040000        	  951#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-7
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

DH.LPR= 000004        	  940#
DH.LVL= 000007        	  927#
DH.NRC= 000002        	  939#
DH.NXM= 002000        	  933#
DH.PEN= 000020        	  959#
DH.RIE= 000100        	  929#
DH.SIE= 010000        	  935#
DH.SSR= 000016        	  945#
DH.TIE= 020000        	  936#
DH.VDP= 100000        	  950#
DH..FE= 020000        	  952#
DH..HD= 040000        	  957#
DH..MC= 004000        	  934#
DH..MM= 001000        	  932#
DH..OP= 000040        	  958#
DH..PE= 010000        	  953#
DH..RI= 000200        	  930#
DH..SI= 040000        	  937#
DH..TI= 100000        	  938#
DH.2SB= 000004        	  960#
DIAG1 = 000030        	 1369#	 3189#
DIAG2 = 000032        	 1370#	 3190#	 3339*
DIAG3 = 000036        	 1393#	 3204#	 3585*
DLBASE= 100000        	  973#	  977
DLDADR= 175610        	  999#
DLDSIZ= 000010        	 1000#
DLPENB= 000040        	  989#
DLRBUF= 000002        	 1023#
DLRSTS= 000000        	 1005#
DLXBUF= 000006        	 1044#
DLXSTS= 000004        	 1034#
DLYCNT= 000000        	 1351#	 3170#	 3433*	 3587*	 3629*	 3690*	 6406
DLYMSK= 037777        	 1354#	 3173#
DL.BAS= 100000        	  972#	  973
DL.BRK= 000001        	 1037#
DL.B00= 000001        	  994#
DL.B01= 000002        	  993#
DL.B04= 000020        	  990#
DL.CAR= 010000        	 1017#
DL.CNX= 002000        	  983#
DL.CPE= 000400        	  985#
DL.CTS= 020000        	 1018#
DL.CWC= 000100        	  987#
DL.DIE= 000040        	 1012#
DL.DSC= 100000        	 1020#
DL.DTR= 000002        	 1009#
DL.ERE= 000010        	  991#
DL.ERR= 100000        	 1030#
DL.E.L= 000000        	 5079	 5080	 5081
DL.INE= 000004        	  992#
DL.LVL= 000004        	  975#
DL.NXM= 004000        	  982#
DL.OVR= 040000        	 1029#
DL.PAR= 001000        	  984#
DL.PEN= 000040        	  988#	  989
DL.RGO= 004000        	 1016#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-8
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

DL.RIE= 000100        	 1013#
DL.RNG= 040000        	 1019#
DL.ROK= 000200        	 1014#
DL.RTS= 000004        	 1010#
DL.STS= 100000        	  977#
DL.VEC= 000170        	  974#
DL.WCO= 000200        	  986#
DL.XIE= 000100        	 1039#
DL.XOK= 000200        	 1040#
DL..FE= 020000        	 1028#
DL..MM= 000004        	 1038#
DL..PE= 010000        	 1027#
DL..RC= 000377        	 1026#
DL..RE= 000001        	 1008#
DL..XC= 000377        	 1047#
DL.10C= 010000        	  981#
DL.10I= 020000        	  980#
DL.11C= 040000        	  979#
DL.11I= 100000        	  978#
DL.2RC= 002000        	 1015#
DL.2XM= 000010        	 1011#
DL10AD= 001446R       	 3819
DMBASE= 170500        	 1051#
DMC.LV= 000005        	 1068#	 5084
DM.ALI= 000017        	 1064#
DM.BSY= 000020        	 1063#
DM.DNE= 000200        	 1060#
DM.ENB= 000040        	 1062#
DM.IEN= 000100        	 1061#
DM.INI= 002000        	 1057#
DM.LVL= 000007        	 1053#
DM.SCN= 004000        	 1056#
DM.STP= 000400        	 1059#
DM.TIM= 000120        	  199#
DM..MM= 001000        	 1058#
DNBASE= 175200        	 1093#
DN.ACR= 040000        	 1096#
DN.DGT= 007400        	 1106#
DN.DLO= 010000        	 1097#
DN.DNE= 000200        	 1098#
DN.DSS= 000040        	 1100#
DN.LVL= 000007        	 1092#
DN.PND= 000020        	 1101#
DN.PWI= 100000        	 1095#
DN..CR= 000001        	 1105#
DN..DP= 000002        	 1104#
DN..IE= 000100        	 1099#
DN..ME= 000004        	 1103#
DN..MM= 000010        	 1102#
DON10C= 040000        	 1374#	 3194#	 3584
DON11C= 000100        	 1383#	 3201#	 3657
DP.CAR= 004000        	 1129#
DP.CTS= 002000        	 1130#
DP.DTR= 000001        	 1138#
DP.LVL= 000007        	 1110#
DP.MIS= 000020        	 1135#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-9
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

DP.MRY= 010000        	 1128#
DP.RIE= 000100        	 1117#
DP.RNG= 020000        	 1127#
DP.ROF= 040000        	 1126#
DP.RTS= 001000        	 1131#
DP.SIE= 000040        	 1134#
DP.TIE= 000100        	 1133#
DP..CF= 100000        	 1125#
DP..CP= 010000        	 1114#
DP..HD= 000002        	 1120#
DP..IS= 000002        	 1137#
DP..MM= 000004        	 1119#
DP..MR= 000010        	 1118#
DP..MT= 000010        	 1136#
DP..RA= 004000        	 1115#
DP..RD= 000200        	 1116#
DP..SS= 000001        	 1121#
DP..TD= 000200        	 1132#
DQ.BCC= 000100        	 1192#
DQ.CAR= 010000        	 1179#
DQ.CHR= 007400        	 1155#
DQ.CIE= 000020        	 1151#	 1163
DQ.CTS= 020000        	 1180#
DQ.DIE= 000020        	 1171#
DQ.DSF= 100000        	 1182#
DQ.DSR= 002000        	 1177#
DQ.DTR= 001000        	 1176#
DQ.EIE= 000010        	 1170#
DQ.ENQ= 002000        	 1158#
DQ.ETB= 000400        	 1156#
DQ.ETX= 001000        	 1157#
DQ.HD = 000010        	 1150#
DQ.LVL= 000007        	 1142#
DQ.MBM= 000020        	 1196#
DQ.MC = 000040        	 1213#
DQ.MEM= 010000        	 1195#
DQ.RAC= 010000        	 1160#	 1163
DQ.RCL= 000002        	 1187#
DQ.RDP= 000200        	 1154#
DQ.RDS= 000100        	 1153#
DQ.RGO= 000001        	 1147#	 1163
DQ.RIE= 000040        	 1152#
DQ.RKL= 110021        	 1163#
DQ.RLE= 000010        	 1189#
DQ.RNG= 004000        	 1178#
DQ.RNX= 000040        	 1191#
DQ.RTS= 000400        	 1175#
DQ.SEC= 000004        	 1149#	 1169#
DQ.SSY= 000002        	 1148#
DQ.SYN= 004000        	 1159#
DQ.VCH= 100000        	 1162#	 1163
DQ.VRC= 000200        	 1193#
DQ.XCL= 000001        	 1186#
DQ.XDP= 000200        	 1174#
DQ.XDS= 000100        	 1173#
DQ.XGO= 000001        	 1167#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-10
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

DQ.XIE= 000040        	 1172#
DQ.XLE= 000004        	 1188#
DQ.XNX= 000020        	 1190#
DRESET= 000100        	 1371#	 3191#	 3339	 6427
DS.AD1= 020000        	 1274#
DS.AD2= 040000        	 1273#
DS.AD3= 100000        	 1272#
DS.AUX= 175600        	 1265#
DS.DTR= 000440        	 1306#	 1308	 1309
DS.DVA= 175400        	 1266#	 5264
DS.IVA= 000400        	 1279#
DS.LVL= 000007        	 1268#
DS.RDR= 000002        	 1294#
DS.RGO= 006455        	 1309#
DS.RST= 000000        	 1295#
DS.VEC= 000400        	 1267#
DS.XDR= 000006        	 1292#
DS.XGO= 000455        	 1308#
DS.XST= 000004        	 1293#
DS.ZAP= 170000        	 1307#
DTEMOP  000000R       	 3224#	 4079	 7469
DTERCA  001052R       	 3371	 3412	 3460	 3639#
DTERCV  001044R       	 3364	 3466	 3533	 3627#
DTESND  001002R       	 3351	 3477	 3583#
DTE2.L= 000000        	 5052
DUPACT= 004000        	 1405#
DUPCAR= 010000        	 1405#
DUPCRS= 000000        	 1404#
DUPCTS= 020000        	 1405#
DUPDIE= 000040        	 1406#
DUPDSA= 100000        	 1405#
DUPDSB= 000001        	 1407#
DUPDSR= 001000        	 1406#
DUPDTR= 000002        	 1407#	 6452
DUPPDM= 100000        	 1442#
DUPPIC= 001000        	 1442#
DUPPSR= 000002        	 1441#
DUPP2M= 010000        	 1442#
DUPP2S= 000377        	 1443#
DUPRAB= 002000        	 1429#
DUPRCE= 000020        	 1406#
DUPRCR= 010000        	 1429#
DUPRDB= 000002        	 1428#	 1441
DUPRDN= 000200        	 1406#
DUPRDT= 000377        	 1430#
DUPREM= 001000        	 1429#
DUPRER= 100000        	 1429#
DUPRIE= 000100        	 1406#	 6452
DUPRNG= 040000        	 1405#
DUPROV= 040000        	 1429#
DUPRSM= 000400        	 1429#
DUPRTS= 000004        	 1407#
DUPSSY= 000400        	 1406#	 6454
DUPTAC= 001000        	 1455#
DUPTCS= 000004        	 1453#
DUPTDB= 000006        	 1474#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-11
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

DUPTDL= 100000        	 1454#
DUPTDN= 000200        	 1455#
DUPTHD= 000010        	 1455#	 6458
DUPTIE= 000100        	 1455#	 6458
DUPTMC= 020000        	 1454#	 6458
DUPTMI= 002000        	 1455#	 6458
DUPTMT= 040000        	 1454#
DUPTM0= 004000        	 1454#	 6458
DUPTM1= 010000        	 1454#	 6458
DUPTRS= 000400        	 1455#
DUPTSN= 000020        	 1455#	 6458
DUPXAB= 002000        	 1475#	 6461
DUPXCI= 040000        	 1475#
DUPXCO= 010000        	 1475#
DUPXDB= 000377        	 1476#	 6461
DUPXEM= 001000        	 1475#	 6461
DUPXMT= 004000        	 1475#
DUPXSM= 000400        	 1475#	 6461
DUP.LV= 000006        	 1400#	 5078
DUP2RC= 002000        	 1405#
DUP2TX= 000010        	 1407#
DZ.CLR= 000020        	 1492#
DZ.INI= 050140        	 1497#
DZ.LVL= 000000        	 5088
DZ.RCV= 010000        	 1503#
DZ.RIE= 000100        	 1494#	 1497	 6477
DZ.SAE= 010000        	 1495#	 1497
DZ.SCN= 000040        	 1493#	 1497	 6477
DZ.TIE= 040000        	 1496#	 1497	 6477
D$$BUG= ****** U      	 3225	 3337	 3383	 3393	 3426	 3437	 3440	 3443	 3491	 3565	 3608	 3661	 3668
			 3678
D$$CHK= ****** U      	 3338	 3525	 3589	 3613	 3683
D.CNTF= 000020        	 5159*	 5169*
D.CNTP= 000006        	 5192	 5194*
D.DIAG= 000012        	 5251
D.FRSV= 000022        	 5160*	 5260	 5262*
D.FVFD= 000026        	 5142	 5165*	 5235
D.HINC= 000004        	 5147	 5172	 5270
D.MAIN= 000014        	 5267
D.MAXL= 000002        	 5176	 5187
D.NAMP= 000010        	 5136
D.NEXT= 000030        	 5295
D.VINC= 000003        	 5170	 5268
D.VMUL= 000005        	 5140	 5162	 5241	 5289
D.$$$$= 000000        	 5033	 5035	 5036	 5037	 5038	 5039	 5040	 5041	 5042	 5043	 5044	 5045	 5046
			 5047	 5048	 5049	 5050	 5052	 5077	 5078	 5079	 5080	 5081	 5084	 5087	 5088
ED.HIS= 000001        	 3792#	 4290
EMTLVL= 000007        	  808#
EMTVEC= 000030        	  808#
ENBGO = 000103        	 1717#
ERR10C= 010000        	 1376#	 3196#	 3584
ERR11C= 000001        	 1391#	 1392	 3203#	 3657
ERR11S= 000002        	 1390#
EXCLUD= 000000        	  182#	  192	  194	  195	  196	  201	  202	  203	  204	  205	  207	  210	  212
			  215	  216	  217	  218	  219	  220	  221	  222	  223
E$$CHK= 000000        	 3029#	 3338	 3372	 3525	 3529	 3605	 3660	 3667	 3675
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-12
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

FLOATD= 160000        	 3817	 4176
FLOATV= 000300        	 3816	 4175
FTCD20= 177777        	  190#	 5602	 5603
FTCR11= 177777        	  191#	 5665	 5666
FTDH11= 000000        	  192#	  193	  198	 5715	 5716
FTDJ11= 000000        	  194#
FTDL1A= 000000        	  196#	 5910	 5911
FTDL1E= 177777        	  197#	 5923	 5924
FTDL10= 000000        	  195#	 4417	 4420	 4964	 5359
FTDMC = 177777        	  200#	  211	 6543	 6544
FTDM11= 000000        	  198#	 5944	 5945
FTDN11= 000000        	  201#	 5992	 5993
FTDP11= 000000        	  202#	 6007	 6008
FTDQ11= 000000        	  203#	  204	 6031	 6032
FTDS11= 000000        	  205#	 6343	 6344
FTDTE = 177777        	  206#	 6395	 6396
FTDUP1= 177777        	  208#	 6449	 6450
FTDU11= 000000        	  207#	 6437	 6438
FTDZ11= 177777        	  209#	 6473	 6474
FTKG11= 000000        	  210#	 3813
FTKMC = 177777        	  211#	  212	 6542	 6595	 6713
FTKMCL= 000000        	  212#	 6572	 6623	 6680
FTLE11= 177777        	  213#	 6791	 6792
FTLP20= 177777        	  214#	 6807	 6808
FTMD11= 000000        	  215#	 6869	 6870
FTPA61= 000000        	  216#
FTPP11= 000000        	  217#	 6914	 6915
FTPR11= 000000        	  218#	 6930	 6931
FTP611= 000000        	 6888	 6889
FTRH11= 000000        	  219#	 6959	 6960
FTRK11= 000000        	  220#
FTRX11= 000000        	  221#
FTR611= 000000        	 6901	 6902
FTTC11= 000000        	  222#	 6973	 6974
FTTM11= 000000        	  223#	 7006	 7007
FT.CHK= 000001        	  293
FT.HLP= 000001        	  284
FT.ROM= ****** U      	 4887
FT.87S= ****** U      	 1646
IDZ0  = 010000        	  852#
IDZ1  = 020000        	  852#
IDZ2  = 040000        	  852#
ILSLVL= 000007        	  804#
ILSVEC= 000010        	  804#
INCLUD= 177777        	  181#	  190	  191	  197	  198	  200	  206	  208	  209	  211	  213	  214
INTROF= 000010        	 1386#	 1387	 6416
INTRON= 000040        	 1384#	 6407
INTSON= 000001        	 1392#	 6408	 6417
INT11C= 002000        	 1379#	 3198#	 3600
INT11S= 004000        	 1378#	 6413
IOTLVL= 000007        	  806#
IOTVEC= 000020        	  806#
IZ00  = 001000        	  852#
IZ01  = 000400        	  852#
IZ02  = 000200        	  853#
IZ03  = 000100        	  853#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-13
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

IZ04  = 000040        	  853#
IZ05  = 000020        	  853#
IZ06  = 000010        	  853#
IZ07  = 000004        	  853#
IZ08  = 000002        	  853#
IZ09  = 000001        	  853#
IZ11  = 002000        	  852#
IZ12  = 004000        	  852#
I.DSRD= 000007        	 1299#	 1309
I.DSRS= 000006        	 1300#
I.DSXD= 000007        	 1301#	 1308
I.DSXS= 000006        	 1302#
I.INTC= 000004        	 5473	 5475	 5515	 5517
I.INTS= 000002        	 5465	 5477
I.RTRN= 000006        	 5526
I.$$$$= 000000        	 6801	 6859
KDSAR0= 172360        	 1624#
KDSAR1= 172362        	 1624#
KDSAR2= 172364        	 1624#
KDSAR3= 172366        	 1624#
KDSAR4= 172370        	 1624#
KDSAR5= 172372        	 1624#
KDSAR6= 172374        	 1624#
KDSAR7= 172376        	 1624#
KDSDR0= 172320        	 1624#
KDSDR1= 172322        	 1624#
KDSDR2= 172324        	 1624#
KDSDR3= 172326        	 1624#
KDSDR4= 172330        	 1624#
KDSDR5= 172332        	 1624#
KDSDR6= 172334        	 1624#
KDSDR7= 172336        	 1624#
KGBCC = 000002        	 1546#	 6494	 6496	 6509	 6511
KGDATA= 000004        	 1547#	 6493*	 6508*
KG.CCI= 000005        	 1544#
KG.CLR= 000020        	 1539#	 1545	 6505
KG.CRC= 000001        	 1542#	 1545
KG.DDB= 000010        	 1540#
KG.DNE= 000200        	 1536#
KG.INI= 000121        	 1545#
KG.LRC= 000003        	 1543#
KG.LVL= 000000        	 5036
KG.SEN= 000100        	 1537#	 1545
KG.STP= 000040        	 1538#
KG.STS= 170700        	 1535#	 5036
KISAR0= 172340        	 1624#	 3158#	 3257*	 4510*	 4520	 4534	 4550	 4575
KISAR1= 172342        	 1624#	 3159#	 3258*	 4512*
KISAR2= 172344        	 1624#	 3160#	 3259*	 3266*	 3271
KISAR3= 172346        	 1624#	 3161#
KISAR4= 172350        	 1624#	 3162#
KISAR5= 172352        	 1624#	 3163#
KISAR6= 172354        	 1624#	 3164#	 4520*	 4534	 4536*	 4550*	 4575*	 4643*	 4658*	 4659	 4664*	 4666	 4707
			 4752*	 4763*	 4764
KISAR7= 172356        	 1624#	 3165#	 3260*	 4514*
KISDR0= 172300        	 1624#	 3149#	 3253*	 4511*	 4521
KISDR1= 172302        	 1624#	 3150#	 3254*	 4513*
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-14
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

KISDR2= 172304        	 1624#	 3151#	 3255*
KISDR3= 172306        	 1624#	 3152#
KISDR4= 172310        	 1624#	 3153#
KISDR5= 172312        	 1624#	 3154#
KISDR6= 172314        	 1624#	 3155#	 4521*	 4551*	 4576*	 4581*	 4595*	 4600	 4602*	 4644*
KISDR7= 172316        	 1624#	 3156#	 3256*	 4515*
KMC.LV= 000000        	 5077	 5087
KW.INE= 000100        	 1655#	 4921	 4949	 4953
KW.P.L= 000000        	 5050
KW.TIC= 000200        	 1657#
LE.DAT= 177516        	 1672#
LE.DNE= 000200        	 1668#	 6801
LE.ERR= 100000        	 1667#	 6794
LE.INE= 000100        	 1669#	 6800	 6801
LE.LVL= 000004        	 1661#	 5037
LE.STS= 177514        	 1665#	 5037
LE.VEC= 000200        	 1662#	 5037
LE0DAT= 177516        	 1671#	 1672
LE0STS= 177514        	 1664#	 1665
LE1DAT= 177522        	 1677#
LE1STS= 177520        	 1676#
LODADR  001346R       	 3405	 3418	 3423	 3465	 3490	 3563	 3741#
LODNUM  001173R       	 3342*	 3392	 3397*	 3719#
LPBCTR= 000006        	 1746#	 6821*	 6855*
LPBSAD= 000004        	 1744#	 6820*	 6856*	 6857*
LPCBUF= 000014        	 1762#	 6857
LPCCTR= 000015        	 1763#
LPCKSM= 000017        	 1766#
LPCSRA= 000000        	 1688#
LPCSRB= 000002        	 1719#
LPPCTR= 000010        	 1750#
LPRAMD= 000012        	 1754#	 6812
LPRBSZ= 000020        	 1768#
LPTDAT= 000016        	 1765#
LP.B16= 000020        	 1690#	 1716	 6858
LP.B17= 000040        	 1690#	 1716	 6858
LP.CHI= 020000        	 1689#
LP.DEM= 000002        	 1722#
LP.DH = 002000        	 1689#	 6823
LP.DNE= 000200        	 1690#
LP.DV = 100000        	 1720#
LP.ERR= 100000        	 1689#
LP.GO = 000001        	 1691#	 1717	 6858
LP.GOE= 000001        	 1722#
LP.IE = 000100        	 1690#	 1717	 6823	 6859
LP.LOI= 000400        	 1690#	 6811	 6828	 6833	 6839	 6845
LP.LVL= 000004        	 1683#	 5038
LP.MDS= 000014        	 1715#	 6823
LP.MD0= 000004        	 1691#	 1712	 1713	 1714	 1715
LP.MD1= 000010        	 1691#	 1715
LP.MPE= 000020        	 1722#
LP.NRD= 020000        	 1720#
LP.OFL= 000200        	 1721#
LP.ONL= 004000        	 1689#	 6848
LP.OPT= 004000        	 1721#
LP.PAR= 010000        	 1720#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-15
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

LP.PEN= 000002        	 1691#	 1717	 6823
LP.PER= 000040        	 1722#
LP.PGZ= 040000        	 1689#
LP.RDL= 002000        	 1755#
LP.RIN= 004000        	 1755#
LP.RP = 010000        	 1755#	 1756
LP.RPE= 000010        	 1722#
LP.RPI= 000400        	 1755#
LP.RSE= 001000        	 1690#	 6811	 6828	 6833	 6839	 6845
LP.RTR= 001000        	 1755#
LP.SYN= 000004        	 1722#
LP.TS0= 000400        	 1721#	 6827
LP.TS1= 001000        	 1721#	 6827
LP.TS2= 002000        	 1721#	 6827
LP.VEC= 000754        	 1684#	 5038
LP.VFE= 000100        	 1721#
LP.VFR= 010000        	 1689#
LP.XAD= 000060        	 1716#	 6823
LP.180= 040000        	 1720#
LP0STS= 175400        	 1686#	 5038
L$$DPR= 000000        	 3032#	 3343	 3378	 3402	 3493	 3551	 3724
MDCSR   002070R       	 4153#	 6552
MDCSRP  002066R       	 4152#	 6550	 6553*	 6555*
MD.CLR= 040000        	 1070#	 6549	 6589	 6707
MD.CWR= 020000        	 1070#	 6741
MD.LLU= 004000        	 1070#
MD.RMI= 001000        	 1071#	 6579	 6583
MD.RMO= 002000        	 1071#	 6740	 6741	 6775
MD.RUN= 100000        	 1070#
MD.SLU= 010000        	 1070#
MD.SMP= 000400        	 1071#	 6581	 6585
MG.ANR= 100000        	 1590#	 4565
MG.APL= 040000        	 1590#
MG.ARO= 020000        	 1590#	 4565
MG.DAD= 000020        	 1592#
MG.EMT= 001000        	 1591#
MG.ENB= 000001        	 1592#	 4508
MG.IDN= 000200        	 1591#
MG.KDS= 000004        	 1617#
MG.MD0= 000040        	 1591#
MG.MD1= 000100        	 1591#
MG.MNT= 000400        	 1591#
MG.PG0= 000002        	 1592#
MG.PG1= 000004        	 1592#
MG.PG2= 000010        	 1592#
MG.SDS= 000002        	 1617#
MG.TMM= 010000        	 1590#
MG.UDS= 000001        	 1617#
MMGLVL= 000007        	  810#
MMGSR0= 177572        	 1589#	 4470	 4473	 4508	 4516*	 4565
MMGSR1= 177574        	 1612#
MMGSR2= 177576        	 1614#
MMGSR3= 172516        	 1616#
MMGVEC= 000250        	  810#	 4504
MOP     000240R       	 3313	 3336#	 3350	 3361	 3465	 3476	 3541	 3544
MOPERR  000726R       	 3491	 3540#	 3608	 3661	 3668	 3678
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-16
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

MOPFER  000710R       	 3383	 3393	 3426	 3437	 3440	 3443	 3530#	 3534
MOPFNC  001344R       	 3376	 3403	 3414	 3483	 3739#
MOPWAT  000274R       	 3355#	 3357	 3484
MPE11 = 001000        	 1380#
MP.ENB= 000001        	 1780#
MP.ERR= 100000        	 1777#
MP.LVL= 000007        	 1773#
MP.REG= 172100        	 1775#
MP.VEC= 000114        	 1772#
MP.WWP= 000004        	 1779#
M$$CHK= 000000        	 3031#	 3338	 3420	 3489	 3525	 3529
M$$MGE= 000000        	  186#	 3035#	 3251	 3419	 3557	 3586	 3628	 4475	 4500	 4625	 4729
M$$XSZ= 002000        	 3034#	 3266	 3287	 3312	 3729	 3749
M.PDAP= 000020        	 3133#
M.PEAM= 000022        	 3134#
M.PEMM= 000006        	 3128#
M.PLBT= 000030        	 3136#
M.PLDP= 000024        	 3135#	 3379	 3403
M.PMDP= 000016        	 3132#
M.PMLD= 000002        	 3126#	 3382	 3414	 3483
M.PMLT= 000000        	 3125#
M.PMMR= 000014        	 3131#
M.PRMD= 000004        	 3127#
M.PRML= 000012        	 3130#	 3718
M.PRPR= 000010        	 3129#	 3703
NDH11 = 000000        	  193#	 5708
NLINES= 000060        	 4151#
NXMLVL= 000007        	  803#
NXMVEC= 000004        	  803#	 4211*	 4218*	 4223*	 4472*	 4648*	 4754*	 4914*	 4916*	 5154*	 5156*	 5182*	 5605*
			 5607*	 5648*
N.CD11  001452R       	 4096#	 5033
N.CI11  001464R       	 4098#	 4269
N.CO11  001473R       	 4099#	 4251
N.CR11  001457R       	 4097#	 5035
N.DH11  001503R       	 4100#
N.DJ11  001510R       	 4101#
N.DL.A  001522R       	 4103#
N.DL.E  001531R       	 4104#	 5079	 5080	 5081
N.DL01  001515R       	 4102#
N.DMC1  001550R       	 4106#	 5084	 6616
N.DM11  001540R       	 4105#
N.DN11  001556R       	 4107#
N.DP11  001563R       	 4108#
N.DQ11  001570R       	 4109#
N.DS11  001575R       	 4110#
N.DTE2  001602R       	 4111#	 5052
N.DUP1  001615R       	 4113#	 5078
N.DU11  001610R       	 4112#
N.DV11  001623R       	 4114#
N.DZ11  001630R       	 4115#	 5088
N.KG11  001635R       	 4116#	 5036
N.KMC1  001644R       	 4117#	 5077	 5087	 6605
N.KT11  001652R       	 4118#
N.KW.L  001657R       	 4119#	 4908
N.KW.P  001666R       	 4120#	 5050
N.LE11  001702R       	 4122#	 5037
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-17
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

N.LK11  001675R       	 4121#
N.LP11  001707R       	 4123#	 5038
N.MM11  001714R       	 4124#
N.NL11  001724R       	 4125#
N.PP11  001760R       	 4128#	 5039
N.PR11  001765R       	 4129#	 5040
N.P611  001740R       	 4126#
N.RC11  001772R       	 4130#	 5043
N.RF11  001777R       	 4131#	 5044
N.RH11  002011R       	 4133#	 5045
N.RK11  002004R       	 4132#	 5048
N.RP11  002016R       	 4134#	 5046
N.RX11  002025R       	 4135#	 5049
N.R611  001750R       	 4127#
N.TA11  002032R       	 4136#	 5047
N.TC11  002037R       	 4137#	 5041
N.TM11  002044R       	 4138#	 5042
PAGE0 = 000000        	 1639#	 4522	 4552
PAGE0B= 000000        	 1639#
PAGE1 = 020000        	 1639#
PAGE1B= 000200        	 1639#	 4512
PAGE2 = 040000        	 1639#
PAGE2B= 000400        	 1639#
PAGE3 = 060000        	 1639#
PAGE3B= 000600        	 1639#
PAGE4 = 100000        	 1639#
PAGE4B= 001000        	 1639#
PAGE5 = 120000        	 1639#
PAGE5B= 001200        	 1639#
PAGE6 = 140000        	 1639#	 4523	 4553	 4577	 4651	 4760
PAGE6B= 001400        	 1639#
PAGE7 = 160000        	 1639#
PAGE7B= 007600        	 1639#	 1640#	 4514	 4666
PARMAD  001174R       	 3311*	 3312*	 3496	 3503	 3725#
PASS  = 000002        	  295	  296#
PASS2 = ****** U      	 3729	 3749
PDP11 = 000042        	  174#	  576	  701	 4408	 4825
PDZ0  = 000001        	  861#
PDZ1  = 000002        	  861#
PDZ2  = 000004        	  861#
PD.A  = 000200        	 1629#
PD.ACF= 000007        	 1631#	 4600	 4602
PD.AC0= 000001        	 1629#	 1631	 4507	 4551	 4576	 4581	 4595	 4644
PD.AC1= 000002        	 1629#
PD.AC2= 000004        	 1629#	 1631
PD.ED = 000010        	 1629#
PD.PLF= 077400        	 1630#	 4507	 4576	 4595	 4644
PD.PL0= 000400        	 1628#	 1630	 4551
PD.PL1= 001000        	 1628#
PD.PL2= 002000        	 1628#
PD.PL3= 004000        	 1628#
PD.PL4= 010000        	 1628#
PD.PL5= 020000        	 1628#
PD.PL6= 040000        	 1628#	 1630
PD.W  = 000100        	 1629#
PHYLIM  002064R       	 4150#	 4672*	 4764
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-18
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

POSMSK= 000200        	  822#	  823#	  824#	  852#	  853#	  861#	  869#	  870#	 1070#	 1071#	 1405#	 1406#	 1407#
			 1429#	 1442#	 1454#	 1455#	 1475#	 1590#	 1591#	 1592#	 1617#	 1628#	 1629#	 1689#	 1690#
			 1691#	 1720#	 1721#	 1722#	 1755#
PP.DAT= 177556        	 1802#
PP.ERR= 100000        	 1798#
PP.INE= 000100        	 1800#
PP.LVL= 000004        	 1792#	 5039
PP.RDY= 000200        	 1799#
PP.STS= 177554        	 1796#	 5039
PP.VEC= 000074        	 1793#	 5039
PP0STS= 177554        	 1795#
PRGDAT  001176R       	 3344*	 3405	 3495	 3552	 3726#
PR.BSY= 004000        	 1808#
PR.DAT= 177552        	 1813#
PR.DNE= 000200        	 1809#
PR.ERR= 100000        	 1807#
PR.INE= 000100        	 1810#
PR.LVL= 000004        	 1790#	 5040
PR.STS= 177550        	 1805#	 5040
PR.VEC= 000070        	 1791#	 5040
PR..RE= 000001        	 1811#
PR0   = 000000        	  782#
PR0STS= 177550        	 1804#
PR1   = 000040        	  783#	  784	  785	  786	  787	  788	  789
PR2   = 000100        	  784#
PR3   = 000140        	  785#
PR4   = 000200        	  786#
PR5   = 000240        	  787#
PR6   = 000300        	  788#
PR7   = 000340        	  789#	 3143#	 3228
PS    = 177776        	  739#	 3142#	 4167*	 4920*	 4948*	 5258*	 5320*	 5413*	 5420*	 5463*	 5471*	 5505*	 5510*
			 5542	 5547	 5551	 5555	 5559	 5563	 5567	 5571	 6578*	 6810*
PWFLVL= 000007        	  807#
PWFVEC= 000024        	  807#
PZ00  = 000040        	  861#
PZ08  = 000010        	  861#
PZ09  = 000020        	  861#
PZ11  = 000100        	  861#
PZ12  = 000200        	  861#
P6.LVL= 000007        	 1784#
RAMDAT= 007777        	 1756#
RAMLOD= 000014        	 1714#
RCVLDN  001345R       	 3389	 3740#
RCVMSG  001342R       	 3361	 3532	 3737#
RC.LVL= 000000        	 5043
REQMLD  001170R       	 3476	 3716#	 3720
REQMLZ= 000002        	 3717	 3720#
REQOPS  001162R       	 3350	 3701#	 3711
REQOPZ= 000004        	 3702	 3711#
RF.LVL= 000000        	 5044
RG.MSC= 000012        	 1212#
RG.PRA= 000000        	 1202#
RG.PRC= 000001        	 1203#
RG.PTA= 000002        	 1204#
RG.PTC= 000003        	 1205#
RG.SRA= 000004        	 1206#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-19
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

RG.SRC= 000005        	 1207#
RG.STA= 000006        	 1208#
RG.STC= 000007        	 1209#
RG.SYN= 000011        	 1211#
RH.LVL= 000000        	 5045
RK.LVL= 000000        	 5048
RM    = 000010        	 1387#	 6422
RP.LVL= 000000        	 5046
RX.LVL= 000000        	 5049
R6.LVL= 000007        	 1786#
SEL0  = 000000        	 1085#
SEL2  = 000002        	 1085#
SEL4  = 000004        	 1085#
SEL6  = 000006        	 1085#
SLEW  = 000020        	 1757#
SPCVFY= 000000        	  204#
SR0   = 177572        	 3147#	 3261*	 3564
STACK   001366R       	 3249	 3316	 3341	 3747#
STKLEN= 000200        	  291
ST2ENB= 100000        	  869#
SW    = 177570        	  750#
SWR   = 177570        	 3141#
S$$CLD= ****** U      	 3001	 3002	 3468	 3706
S..AMC= 000000        	  300#
S..BDT= 000011        	  311#
S..CHK= 000012        	  312#
S..CNK= 000003        	  304#
S..CTY= 000005        	  306#
S..DL1= 000002        	  302#	  303
S..DTE= 000002        	  303#
S..ILS= 000004        	  305#
S..KW1= 000007        	  308#
S..MEM= 000006        	  307#	 4806	 4817
S..MMG= 000014        	  314#
S..MPD= 000013        	  313#
S..NCN= 000010        	  309#
S..NXM= 000001        	  301#
TA.LVL= 000000        	 5047
TC.A16= 000020        	 1857#
TC.A17= 000040        	 1856#
TC.BAR= 177346        	 1869#
TC.CLK= 000100        	 1832#
TC.CMD= 177342        	 1840#
TC.DAT= 177350        	 1871#
TC.DT0= 000020        	 1834#
TC.DT1= 000010        	 1835#
TC.DT2= 000004        	 1836#
TC.D16= 000001        	 1838#
TC.D17= 000002        	 1837#
TC.ERR= 100000        	 1842#
TC.ILO= 010000        	 1826#
TC.INE= 000100        	 1855#
TC.LVL= 000006        	 1819#	 5041
TC.MMT= 000040        	 1833#
TC.MTE= 020000        	 1825#
TC.NXM= 000400        	 1830#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-20
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

TC.PAR= 040000        	 1824#
TC.RDA= 000006        	 1861#
TC.RDY= 000200        	 1854#
TC.REV= 004000        	 1845#
TC.RMT= 000002        	 1859#
TC.SAT= 000000        	 1858#
TC.SST= 000010        	 1862#
TC.STS= 177340        	 1821#	 5041
TC.UPS= 000200        	 1831#
TC.US0= 000000        	 1846#
TC.US1= 000400        	 1847#
TC.US2= 001000        	 1848#
TC.US3= 001400        	 1849#
TC.US4= 002000        	 1850#
TC.US5= 002400        	 1851#
TC.US6= 003000        	 1852#
TC.US7= 003400        	 1853#
TC.VEC= 000214        	 1817#	 5041
TC.WCR= 177344        	 1867#
TC.WRA= 000016        	 1865#
TC.WTM= 000012        	 1863#
TC..BM= 002000        	 1828#
TC..DI= 010000        	 1844#
TC..DM= 001000        	 1829#
TC..EZ= 100000        	 1823#
TC..MM= 020000        	 1843#
TC..RD= 000004        	 1860#
TC..SE= 004000        	 1827#
TC..WR= 000014        	 1864#
TENAD1= 000010        	 1358#	 3177#
TENAD2= 000012        	 1359#	 3178#
TM.A16= 000020        	 1919#
TM.A17= 000040        	 1918#
TM.BAR= 172526        	 1932#
TM.BCR= 172524        	 1930#
TM.BGL= 004000        	 1885#
TM.BOT= 000040        	 1891#
TM.BTE= 000400        	 1888#
TM.CRE= 020000        	 1883#
TM.CUR= 000200        	 1916#
TM.DAT= 172530        	 1934#
TM.D72= 000000        	 1901#
TM.D75= 020000        	 1902#
TM.D78= 040000        	 1903#
TM.D98= 060000        	 1904#
TM.EOF= 040000        	 1882#
TM.EOT= 002000        	 1886#
TM.ERR= 100000        	 1900#
TM.INE= 000100        	 1917#
TM.LVL= 000005        	 1877#	 5042
TM.MTC= 172522        	 1898#
TM.NXM= 000200        	 1889#
TM.OFL= 000000        	 1920#
TM.PAE= 010000        	 1884#
TM.RDL= 172532        	 1936#
TM.REW= 000016        	 1927#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-21
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

TM.RLE= 001000        	 1887#
TM.RWS= 000002        	 1895#
TM.SLR= 000100        	 1890#
TM.STS= 172520        	 1879#	 5042
TM.TSD= 000010        	 1893#
TM.TUR= 000001        	 1896#
TM.US0= 000000        	 1908#
TM.US1= 000400        	 1909#
TM.US2= 001000        	 1910#
TM.US3= 001400        	 1911#
TM.US4= 002000        	 1912#
TM.US5= 002400        	 1913#
TM.US6= 003000        	 1914#
TM.US7= 003400        	 1915#
TM.VEC= 000224        	 1875#	 5042
TM.WEF= 000006        	 1923#
TM.WEG= 000014        	 1926#
TM.WRL= 000004        	 1894#
TM..GO= 000001        	 1928#
TM..IC= 100000        	 1881#
TM..LP= 004000        	 1906#
TM..PC= 010000        	 1905#
TM..RD= 000002        	 1921#
TM..SF= 000010        	 1924#
TM..SR= 000012        	 1925#
TM..US= 003400        	 1907#
TM..WR= 000004        	 1922#
TM.7CH= 000020        	 1892#
TO10AD= 000020        	 1365#	 3184#	 3593*
TO10BC= 000014        	 1360#	 3179#
TO10BM= 000001        	 1394#	 3205#	 3585
TO10DB= 000400        	 1381#	 3199#	 3600
TO10DN= 100000        	 1373#	 3193#	 3606
TO10DT= 000024        	 1367#	 3186#
TO10ER= 020000        	 1375#	 3195#	 3606
TO11AD= 000022        	 1366#	 3185#	 3640*
TO11BC= 000016        	 1361#	 3180#	 3670*
TO11BM= 020000        	 1363#	 3182#	 3666
TO11CM= 007777        	 1364#	 3183#	 3666
TO11DB= 004000        	 1377#	 1378	 3197#	 3356
TO11DN= 000200        	 1382#	 3200#	 3676
TO11DT= 000026        	 1368#	 3187#
TO11ER= 000002        	 1389#	 1390	 3202#	 3676
TO11IB= 100000        	 1362#	 3181#	 3663	 3666
TRPLVL= 000007        	  809#
TRPVEC= 000034        	  809#	 4205*
TSTMOD= 000004        	 1712#
T$$RLD= 000000        	 3000#	 3001	 3003	 3033	 3226
T$$32K= 000000        	 3036#	 3642	 3687
UDSAR0= 177660        	 1622#
UDSAR1= 177662        	 1622#
UDSAR2= 177664        	 1622#
UDSAR3= 177666        	 1622#
UDSAR4= 177670        	 1622#
UDSAR5= 177672        	 1622#
UDSAR6= 177674        	 1622#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-22
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

UDSAR7= 177676        	 1622#
UDSDR0= 177620        	 1622#
UDSDR1= 177622        	 1622#
UDSDR2= 177624        	 1622#
UDSDR3= 177626        	 1622#
UDSDR4= 177630        	 1622#
UDSDR5= 177632        	 1622#
UDSDR6= 177634        	 1622#
UDSDR7= 177636        	 1622#
UISAR0= 177640        	 1622#
UISAR1= 177642        	 1622#
UISAR2= 177644        	 1622#
UISAR3= 177646        	 1622#
UISAR4= 177650        	 1622#
UISAR5= 177652        	 1622#
UISAR6= 177654        	 1622#
UISAR7= 177656        	 1622#
UISDR0= 177600        	 1622#
UISDR1= 177602        	 1622#
UISDR2= 177604        	 1622#
UISDR3= 177606        	 1622#
UISDR4= 177610        	 1622#
UISDR5= 177612        	 1622#
UISDR6= 177614        	 1622#
UISDR7= 177616        	 1622#
VCTLIM  001450R       	 4081#	 4202
VFULOD= 000010        	 1713#
VRS   = 000004        	  263#
XCD$$ = 011524R       	 5033#
XCD11   011524R       	 5033	 5604#
XCR$$ = 012040R       	 5035#
XCR11   012040R       	 5035	 5667#
XDL.E$= 012264R       	 5079#	 5080#	 5081#
XDL.E1  012264R       	 5079	 5080	 5081	 5925#
XDMC$$= 013070R       	 5084#
XDMC11  013070R       	 5084	 6545#
XDTE2$= 012312R       	 5052#
XDTE21  012312R       	 5052	 6397#
XDUP$$= 012544R       	 5078#
XDUP11  012544R       	 5078	 6451#
XDZ$$ = 012600R       	 5088#
XDZ11   012600R       	 5088	 6475#
XKG$$ = 012622R       	 5036#
XKG11   012622R       	 5036	 6490#
XKMC$$= 013070R       	 5077#	 5087#
XKMC11  013070R       	 5077	 5087	 6546#
XKW.P$= 014460R       	 5050#
XKW.P1= ****** U      	 5050
XLE$$ = 014150R       	 5037#
XLE11   014150R       	 5037	 6793#
XLP$$ = 014216R       	 5038#
XLP11   014216R       	 5038	 6809#
XNL11   014456R       	 6879#
XPP$$ = 014460R       	 5039#
XPP11 = ****** U      	 5039
XPR$$ = 014460R       	 5040#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 25-23
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- USER SYMBOLS

XPR11 = ****** U      	 5040
XRC$$ = 014460R       	 5043#
XRC11 = ****** U      	 5043
XRF$$ = 014460R       	 5044#
XRF11 = ****** U      	 5044
XRH$$ = 014460R       	 5045#
XRH11 = ****** U      	 5045
XRK$$ = 014460R       	 5048#
XRK11 = ****** U      	 5048
XRP$$ = 014460R       	 5046#
XRP11 = ****** U      	 5046
XRX$$ = 014460R       	 5049#
XRX11 = ****** U      	 5049
XTA$$ = 014460R       	 5047#
XTA11 = ****** U      	 5047
XTC$$ = 014460R       	 5041#
XTC11 = ****** U      	 5041
XTM$$ = 014460R       	 5042#
XTM11 = ****** U      	 5042
X.....  014460R       	 5039	 5040	 5041	 5042	 5043	 5044	 5045	 5046	 5047	 5048	 5049	 5050	 7016#
X118    000732R       	 3505	 3549#
Z     = 000121        	 6493#	 6505#
ZTALL = 007777        	  871#
ZT00  = 001000        	  870#
ZT01  = 000400        	  870#
ZT02  = 000200        	  870#
ZT03  = 000100        	  870#
ZT04  = 000040        	  870#
ZT05  = 000020        	  870#
ZT06  = 000010        	  870#
ZT07  = 000004        	  870#
ZT08  = 000002        	  870#
ZT09  = 000001        	  870#
ZT11  = 002000        	  870#
ZT12  = 004000        	  870#
$MMADR= 172400        	 1622#	 1624#
$$    = 000176        	 1622#	 1624#	 6452#	 6454
$$HERE= 001300        	 4079#	 4080	 4081
.     = 016610R       	 3341	 3495	 3541	 3711	 3720	 3731#	 3738#	 3739#	 3740#	 3741#	 3746#	 3785#	 3820#
			 4139#	 4141#	 4144#	 4145#	 4147#	 4148#	 4150#	 4207	 4260	 4278#	 4293#	 4298#	 4306
			 4314#	 4345#	 4407#	 4412	 4465	 4491	 4503#	 4612#	 4620	 4642#	 4675#	 4690#	 4703#
			 4712#	 4717	 4751#	 4937#	 4956#	 4959	 5029#	 5034	 5191#	 5301#	 5303#	 5305#	 5383#
			 5388#	 5503#	 5545	 5582#	 5583#	 5628#	 5641#	 5652#	 5675#	 5698#	 6426#	 6514#	 6621#
			 6759#	 6852#	 7019#	 7054#	 7267#	 7320#	 7339#	 7344#	 7359#	 7382	 7383#	 7385	 7386#
			 7388	 7389#	 7391	 7394#	 7396	 7397#	 7445#	 7446	 7450
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 26
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- MACRO NAMES

ABORT	 3873#	 4488
ASCIZ	  723#
CALL	 3044#	 3351	 3364	 3371	 3412	 3460	 3466	 3477	 3533	 3652	 5100	 7220	 7230	 7236
CHKCHR	 3996#	 6491
CKSERR	 3867#	 4805	 4816	 5428	 5488	 5500	 6496	 6511	 6641	 6670	 6756
CKVECT	 4042#
CKVEC1	 4055#
CK11SC	 3844#	 4343	 4486	 4488	 4540	 4542	 4560	 4567	 4587	 4597	 4599	 4685	 4693	 4775	 4806
	 4817	 4927	 4931	 4935	 5189	 5217	 5331	 5341	 5348	 5381	 5386	 5391	 5396	 5423	 5429
	 5483	 5489	 5501	 5513	 5626	 5639	 5650	 5673	 5683	 5696	 6410	 6419	 6424	 6497	 6512
	 6608	 6619	 6642	 6671	 6757	 6796	 6850	 7275
COUNT	  335#
DEBUG	 3055#	 3225	 3337	 3383	 3393	 3426	 3437	 3440	 3443	 3491	 3565	 3608	 3661	 3668	 3678
DEFVEC	  794#	  803	  804	  805	  806	  807	  808	  809	  810
DEVICE	 3924#	 5033	 5035	 5036	 5037	 5038	 5039	 5040	 5041	 5042	 5043	 5044	 5045	 5046	 5047
	 5048	 5049	 5050	 5052	 5077	 5078	 5079	 5080	 5081	 5084	 5087	 5088
DQREGS	 1220#
ERR	 3066#	 3383	 3393	 3426	 3437	 3440	 3443	 3491	 3608	 3661	 3668	 3678
EXCH	  715#
FALLR	  358#	 4207	 4260	 4306	 4412	 4465	 4491	 4620	 4717	 4959
FIELD	  433#	  769	 1630	 1631	 6452
FIT	 3092#	 3729	 3749
GREATR	  378#
KGLOAD	 1549#	 6493	 6505
LDVECT	 4065#
LESSER	  370#
MMNAM1	 1566#	 1622	 1624
MMNAM2	 1571#	 1622	 1624
NAMASC	  405#
NAMEBT	  383#	  822	  823	  824	  852	  853	  861	  869	  870	 1070	 1071	 1405	 1406	 1407	 1429
	 1442	 1454	 1455	 1475	 1590	 1591	 1592	 1617	 1628	 1629	 1689	 1690	 1691	 1720	 1721
	 1722	 1755
NAMSTR	 4089#	 4096	 4097	 4098	 4099	 4100	 4101	 4102	 4103	 4104	 4105	 4106	 4107	 4108	 4109
	 4110	 4111	 4112	 4113	 4114	 4115	 4116	 4117	 4118	 4119	 4120	 4121	 4122	 4123	 4124
	 4125	 4126	 4127	 4128	 4129	 4130	 4131	 4132	 4133	 4134	 4135	 4136	 4137	 4138
RESTOR	  352#	 6517	 6532	 7045	 7089	 7090	 7109	 7156	 7183
RETURN	 3048#	 3617	 3694	 7240	 7263
SAVE	  344#	 6490	 6522	 7037	 7077	 7086	 7087	 7102	 7141	 7170
SPL	  703#	 4167	 4948	 5258	 5420	 5471	 5510
STOPCD	  320#
$CKINT	 3894#	 6801	 6859
.DEC	  366#
.INC	  362#


. ABS.  000000     000	   CON   RW    ABS   LCL   I  
        016610     001	   CON   RW    ABS   LCL   D  


 ERRORS DETECTED:  0
 DEFAULT GLOBALS GENERATED:  0

 DTEMPT,DTEMPT/CRF=C11DTE
 RUN-TIME: 12 17 2 SECONDS
 RUN-TIME RATIO: 108/32=3.3
 CORE USED:  18K  (35 PAGES)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  25-JAN-83  09:48  PAGE 26-1
C11DTE.MAC    04-JAN-83 11:22		CROSS REFERENCE TABLE -- MACRO NAMES