Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/loader/dtempt.list
There are no other files named dtempt.list in the archive.
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  06-DEC-79  13:39
C11DTE.MAC    10-AUG-79 16:05		TABLE OF CONTENTS

   154	 CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST
   208	 END OF MODULE CHKDEF
   209
   217	 S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
   281		STOPCD'S
   315		GENERAL MACRO DEFINITIONS
   555		PDP-11 EIS EMULATORS
   711		SYMBOL DEFINITIONS
   774		HARDWARE DEFINITIONS
   775			VECTORS
   795			DEVICES
   796			CD20 - PUNCHED CARD READER
   866			CR11 - PUNCHED/MARK SENSE CARD READER
   889			CTY - CONSOLE TELETYPE
   908			DH11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
   949			DJ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
   951			DL10 - UNIBUS-TO-MBUS INTERFACE
   979			DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE
  1032			DM11BB - MODEM CONTROLLER FOR DH11
  1049			DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER
  1073			DN11 - AUTODIALER
  1091			DP11 - SYNCHRONOUS LINE INTERFACE
  1123			DQ11 - DMA SYNCHRONOUS LINE INTERFACE
  1244			DS11 - SYNCHRONOUS LINE INTERFACE
  1332			DTE20 - DECSYSTEM 20(10)/PDP-11 INTERPROCESSOR INTERFACE
  1379			DU11 - SYNCHRONOUS LINE CONTROLLER
  1381			DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC
  1471			DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
  1488			EIA PIN DEFINITIONS
  1516			KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR
  1547			KT11 - MEMORY MANAGEMENT MODULE
  1625			KW11 - LINE TIME CLOCK
  1642			LP11 - LINE PRINTER CONTROLLER
  1662			LP20 - LINEPRINTER CONTROLLER
  1753			MM11-LP PARITY MEMORY
  1765			PA611 - TYPESET READER/PUNCH
  1771			PC11 - PAPER TAPE READER/PUNCH INTERFACE
  1798			TC11 - DECTAPE CONTROLLER
  1856			TM11 - MAGNETIC TAPE CONTROLLER
  1921		END OF DEVICE DEFINITIONS
  2974	 MODULE END
  2975
  2987		TITLE PAGE
  3002		MACROS AND DEFINITIONS
  3184		MOVE TO TOP OF PHYSICAL MEMORY
  3297		MOP PROCESSOR
  3539		DTE SUBROUTINES
  3661		DATA
  3717	 CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC
  3787		CHK11 MACROS
  3788			CK11SC
  3842			$CKINT
  3874			DEVICE
  3950			CHKCHR
  3966			CKVECT, CKVEC1
  4051		CHK11 DEVICE NAME TABLE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39
C11DTE.MAC    10-AUG-79 16:05		TABLE OF CONTENTS

  4129	 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
  4459			CHECK KT11 HARDWARE
  4685			CHECK MEMORY - SLIDING BIT PATTERN
  4868			CHECK KW11-L HDW
  4925			CHECK DL10 HDW
  4959			DEVICE SCAN AND CHECK
  5058			CHK11 COMPLETION
  5070		END OF CHK11 MAINLINE
  5072		GENERAL SUBROUTINES
  5075			LOOK FOR AND CHECK SYSTEM DEVICES
  5273			BIT BY BIT SET/CLEAR TEST
  5319			BIT SET/BIT CLEAR TEST FOR DL10
  5341			PRINT DEVICE ID ROUTINE
  5366			ROUTINE TO FIND DEVICE INTERRUPT LEVEL
  5405			CHECK INTERRUPTS AND FIND DEVICE LEVEL
  5497			GENERAL INTERRUPT FIELDER FOR CHK11
  5549		DEVICE DIAGNOSTICS
  5564			CHECK CD20 HARDWARE
  5622			CHECK CR11 HARDWARE
  5671			CHECK DH11 HDW
  5872			CHECK DL11-A HDW
  5880			CHECK DL11-E HDW
  5901			CHECK DM11BB HDW
  5949			CHECK DN11 HDW
  5964			CHECK DP11 HDW
  5988			CHECK DQ11 HDW
  6300			CHECK DS11 HDW
  6352			CHECK DTE20 HARDWARE
  6395			CHECK DU11 HDW
  6407			CHECK DUP11 HDW
  6431			CHECK DZ11 HDW
  6452			CHECK KG11 HARDWARE
  6499			CHECK KMC/DMC HARDWARE
  6748			CHECK LP11 HARDWARE
  6769			CHECK LP20 HARDWARE
  6827			CHECK MD11 HDW
  6839			DUMMY NULL DEVICE CHECKER
  6845			CHECK PA611P HARDWARE
  6858			CHECK PA611R HARDWARE
  6871			CHECK PP11 HARDWARE
  6887			CHECK PR11 HARDWARE
  6916			CHECK RH11 HARDWARE
  6930			CHECK TC11 HARDWARE
  6963			CHECK TM11 HARDWARE
  6976			NULL DIAGNOSTIC
  6989		TTY SUPPORT FOR TYPE OUTS
  7167		REMOTE OUTPUT HANDLER
  7237		UNEXPECTED BUS TRAP HANDLER
  7251		CK11SC/TRAP INSTRUCTION HANDLER
  7412	 MODULE END
  7413	 PROGRAM END
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1
C11DTE.MAC    10-AUG-79 16:05

     1						.TITLE	CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST
     2						.IDENT	/X2A.17/
     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) 1976,1977,1978 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  06-DEC-79  13:39  PAGE 1-1
C11DTE.MAC    10-AUG-79 16:05

    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) 1976,1977,1978 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  06-DEC-79  13:39  PAGE 1-2
C11DTE.MAC    10-AUG-79 16:05

    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  06-DEC-79  13:39  PAGE 1-3
C11DTE.MAC    10-AUG-79 16:05

   148					;	  .17	10-AUG-79  L. WEBBER				       ;
   149					;			MODIFIED MEMORY MANAGEMENT TEST TO SET UP      ;
   150					;			PDR 6					       ;
   151					;								       ;
   152					;**********************************************************************;
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-4
C11DTE.MAC    10-AUG-79 16:05		CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST

   154						.SBTTL CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST
   155									;
   156									;
   157		000042				PDP11 = 34.		; EXPECTED CPU IS 11/34
   158									;
   159					;;;;	CKSTD = 0		; SYSTEM CONFIGURATION IS PDP-11 STANDARD
   160					;;;;	SY0880 = 0		; INCLUDE SYSTEM 880 QUIRKS
   161		000043				CKDN2X = 1!2!40		; SYSTEM CONIGURATION IS DN20, DN21, OR DN25
   162									;  (SPECIFIED BY BIT NUMBERS SET IN CKDN2X DEF -
   163									;    B0 SAYS DN20, B1 SAYS DN21, B5 SAYS DN25)
   164		177777				INCLUD	= -1		;
   165		000000				EXCLUD	= 0		;
   166									;
   167					;	CKNODV	= 0		; IF DEFINED, LIST NONEXISTENT DEVICES
   168									;
   169		000000				M$$MGE	= 0		; IF DEFINED, ASSEMBLE FOR MAPPED SYSTEM
   170									;
   171									;
   172									;
   173		177777				FTCD20	= INCLUD
   174		177777				FTCR11	= INCLUD
   175		000000				FTDH11	= EXCLUD
   176		000000					NDH11	= 1&FTDH11	;NUMBER OF DH11'S
   177		000000				FTDJ11	= EXCLUD
   178		000000				FTDL10	= EXCLUD
   179		000000				FTDL1A	= EXCLUD
   180		177777				FTDL1E	= INCLUD
   181		000000				FTDM11	= INCLUD&FTDH11	;DM11BB DEPENDS ON EXISTENCE OF DH11
   182		000120					DM.TIM	= 80.	; DM11BB SETTLE TIME IN MEM CYCLES
   183		177777				FTDMC	= INCLUD
   184		000000				FTDN11	= EXCLUD
   185		000000				FTDP11	= EXCLUD
   186		000000				FTDQ11	= EXCLUD
   187		000000					SPCVFY	= EXCLUD&FTDQ11 ;DQ11 SPECIAL CHARACTER TEST
   188		000000				FTDS11	= EXCLUD
   189		177777				FTDTE	= INCLUD
   190		000000				FTDU11	= EXCLUD
   191		177777				FTDUP1	= INCLUD
   192		177777				FTDZ11	= INCLUD
   193		000000				FTKG11	= EXCLUD
   194		177777				FTKMC	= INCLUD&FTDMC	;KMC IS SUPERSET OF DMC
   195		000000					FTKMCL	= EXCLUD&FTKMC	;INCLUDE ONLY IF CRAM IMAGE IS SUPPLIED
   196		177777				FTLE11	= INCLUD
   197		177777				FTLP20	= INCLUD
   198		000000				FTMD11	= EXCLUD
   199		000000				FTPA61	= EXCLUD
   200		000000				FTPP11	= EXCLUD
   201		000000				FTPR11	= EXCLUD
   202		000000				FTRH11	= EXCLUD
   203		000000				FTRK11	= EXCLUD
   204		000000				FTRX11	= EXCLUD
   205		000000				FTTC11	= EXCLUD
   206		000000				FTTM11	= EXCLUD
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-5
C11DTE.MAC    10-AUG-79 16:05		END OF MODULE CHKDEF

   208						.SBTTL END OF MODULE CHKDEF
   209						.SBTTL
   210					;****************************************************************
   211					;
   212					;	END OF CHKDEF
   213					;
   214					;****************************************************************
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-6
C11DTE.MAC    10-AUG-79 16:05

   216						.TITLE S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
   217						.SBTTL S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
   218					;
   219					;
   220					;
   221					;
   222					;
   223					;
   224					;
   225					;
   226					;
   227					;
   228					;
   229					;
   230					;	COPYRIGHT 1974, 1975, 1976,1977
   231					;	DIGITAL EQUIPMENT CORP., MAYNARD MASS.
   232					;
   233					;	SEPT 25,1974 - DMCC/EGF/LAD/EJW/TEP
   234					;
   235					;
   236					;
   237					;
   238					;
   239					;
   240					;
   241					;
   242					;
   243					;
   244					;
   245					;
   246		000002				VRS	= 02		;FILE EDIT NUMBER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-7
C11DTE.MAC    10-AUG-79 16:05		S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77

   248						.ENABL	LC		;LOWER CASE IS LOWER CASE
   249						.ENABL	AMA		;USE ABSOLUTE RATHER THAN RELATIVE PC ADDRESSING
   250					;;;;	.DSABL	GBL		;DISABLE GLOBAL REFERENCES
   251					;;;;	.LIST	MC,MD,ME	;
   252					;;;;	.NLIST	CND		;
   253					;;;;	.LIST	MEB		;LIST ONLY CODE PRODUCING PARTS OF MACROS
   254									;
   255					;	DGUTS NON ZERO REQUESTS THE "DON'T GIVE UP THE SHIP" FAILSOFT FEATURE
   256					;
   257					.IIF NDF DGUTS,DGUTS=0
   258					;
   259		   001			.IF NE DGUTS
   260							;IF WE'RE NOT TO GIVE UP THE SHIP, TURN OFF DEBUGGING TRAPS
   261							;THEN WE'LL DIE ONLY ON HARD ERRORS.
   262						DEBUG=0
   263						FTASRT=0
   264						FT.CHK=0
   265		   000			.ENDC
   266					;
   267					.IIF NDF FT.HLP,FT.HLP=	1	;1 = TYPE OUT STOPCD INFORMATION
   268					;
   269					.IIF NDF DEBUG,DEBUG=1		;LEVEL OF DEBUG CODE INCLUDED
   270									; 0 = NONE = KEEP AS SMALL AS POSSIBLE
   271									; 1 = SOME - KEEP TRACKS, DIE ON SOME ERRORS
   272									; -1 = DIE ON ALL ERRORS
   273					;
   274					.IIF NDF STKLEN,STKLEN=	200	;LENGTH OF SYSTEM STACK
   275					;
   276					.IIF NDF FT.CHK,FT.CHK=	1	;1 EQUALS CHECK STUFF ON FLY
   277					;
   278					.IIF NDF PASS,PASS=0	;COUNT ASSEMBLER PASSES
   279		000002				PASS=PASS+1
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-8
C11DTE.MAC    10-AUG-79 16:05		STOPCD'S

   281					.SBTTL	STOPCD'S
   282							;
   283		000000			S..AMC	= 0	;ASSERT MACRO CALL - DEFAULT CODE
   284		000001			S..NXM	= 1	;BUS TRAPS'S, ADDRESS ERROR'S, ETC.
   285		000002			S..DL1	= 2	;DL10 ERRORS
   286		000002			S..DTE	= S..DL1 ;DTE20 ERRORS (NOTE - SAME AS DL10)
   287		000003			S..CNK	= 3	;CHUNKS ARE MESSED UP
   288		000004			S..ILS	= 4	;ILLEGAL INSTRUCTION
   289		000005			S..CTY	= 5	;NO CTY
   290		000006			S..MEM	= 6	;MEMORY ERROR (E.G. PARITY, OR CAN'T READ WRITE BITS)
   291		000007			S..KW11	= 7	;KW11 ERROR
   292		000010			S..NCN	= 10	;NO CONNECTION FOR RECEIVED DATA
   293							; OR CONNECTION NUMBER USED BY SOME OTHER NODE
   294		000011			S..BDT	= 11	;BAD DATA TYPE REQUESTED BY 10
   295		000012			S..CHK	= 12	;CHECK 11 ERROR
   296		000013			S..MPD	= 13	;MAPPED ASSEMBLY RUNNING IN UNMAPPED HARDWARE
   297		000014			S..MMG	= 14	;MEMORY MANAGEMENT ERROR
   298							;
   299					;STOP CODE MACRO
   300					;	FIRST ARGUMENT IS CODE FOR STOP
   301					;	SECOND ARGUMENT IS SEVERITY
   302					;
   303					.MACRO	STOPCD	CD,TYPE
   304						    .IF NB <CD>
   305						S.....=S..'CD
   306						    .IFF ;NB <CD>
   307						S.....=0
   308						    .ENDC ;NB <CD>
   309						Z=1
   310					.IIF IDN <.'TYPE>,<.DEBUG>,	Z=DEBUG
   311					.IIF NE Z,	TRAP S.....
   312						S.....=0
   313					.ENDM	STOPCD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-9
C11DTE.MAC    10-AUG-79 16:05		GENERAL MACRO DEFINITIONS

   315					.SBTTL	GENERAL MACRO DEFINITIONS
   316					;
   317					;
   318					.MACRO COUNT A,?X
   319						INC	A+2
   320						BNE	X
   321						INC	A
   322					X:
   323					.ENDM	COUNT
   324					;
   325					; REGISTER SAVE MACRO
   326					;
   327					.MACRO	SAVE	A
   328						.IRP	X,<A>
   329						MOV	X,-(SP)		;PUSH X ON THE STACK
   330						.ENDR ;IRP X
   331					.ENDM	SAVE
   332					;
   333					; REGISTER RESTORE MACRO
   334					;
   335					.MACRO	RESTORE	A
   336						.IRP	X,<A>
   337						MOV	(SP)+,X		;POP X OFF THE STACK
   338						.ENDR ;IRP X
   339					.ENDM	RESTORE
   340					;
   341					.MACRO	FALLR	DEST
   342					.IIF NE DEST-.	.ERROR	DEST-.	;**** ERRONEOUS CODE FALL THROUGH ATTEMPTED ****
   343					.ENDM	FALLR
   344					;
   345					.MACRO	.INC	ARG
   346						ARG	= ARG + 1
   347					.ENDM	.INC
   348					;
   349					.MACRO	.DEC	ARG
   350						ARG	= ARG - 1
   351					.ENDM	.DEC
   352					;
   353					.MACRO	LESSER	A,B,C	;DEFINE A AS THE LESSER OF B AND C
   354						    .IF GT B-C
   355						A	= C
   356						    .IFF
   357						A	= B
   358						    .ENDC
   359					.ENDM	LESSER
   360					;
   361					.MACRO	GREATR	A,B,C	;DEFINE A AS THE GREATER OF B AND C
   362						LESSER	A,C,B
   363					.ENDM	GREATR
   364					;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-10
C11DTE.MAC    10-AUG-79 16:05		GENERAL MACRO DEFINITIONS

   366					.MACRO	NAMEBT	REG,IPOSMS,LIST
   367						    .IF NB IPOSMS
   368						POSMSK = IPOSMS
   369						    .ENDC
   370						    .IF  DF POSMSK
   371						    .IF EQ POSMSK
   372						POSMSK = 100000
   373						    .ENDC
   374						    .IFF
   375						POSMSK = 100000
   376						    .ENDC
   377						.IRP	NAME,<LIST>
   378						    .IF EQ POSMSK
   379						.ERROR	NAME	;**** POSITION MASK UNDERFLOW ****
   380						    .ENDC
   381						    .IF NB NAME
   382						NAME = POSMSK
   383						    .ENDC
   384						POSMSK = <POSMSK/2>&77777
   385						.ENDR ;IRP NAME
   386					.ENDM	NAMEBT
   387					;
   388					.MACRO	NAMASC
   389						$$ = 0
   390						.IRP	X,<NUL,SOH,STX,ETX,EOT,ENQ,ACK,BEL>
   391						X = $$
   392						.INC	$$
   393						.ENDR	;IRP X
   394						;
   395						.IRP	X,<BS,HT,LF,VT,FF,CR,SO,SI>
   396						X = $$
   397						.INC	$$
   398						.ENDR	;IRP X
   399						;
   400						.IRP	X,<DLE,DC1,DC2,DC3,DC4,NAK,SYN,ETB>
   401						X = $$
   402						.INC	$$
   403						.ENDR	;IRP X
   404						;
   405						.IRP	X,<CAN,EM,SUB,ESC,FS,GS,RS,US>
   406						X = $$
   407						.INC	$$
   408						.ENDR	;IRP X
   409						;
   410						DEL = 177
   411						;
   412						ERRCHR = '\!200		;DEC STD ERROR CHARACTER
   413						;
   414					.ENDM	NAMASC
   415					;
   416					.MACRO	FIELD	NAME,HI,LO
   417						NAME	= <HI-1+HI>&^C<LO-1>
   418					.ENDM	FIELD
   419					;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-11
C11DTE.MAC    10-AUG-79 16:05		GENERAL MACRO DEFINITIONS

   421					; HIDDEN HERE IN THE SOURCE CODE ARE A WHOLE BUNCH OF DEBUGGING
   422					;    AND OTHER SPECIAL MACROS WHICH ARE SUPRESSED IN THE ASSEMBLY IN
   423					;    THE INTEREST OF SQUATTER LISTINGS (AND FASTER ASSEMBLING)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-12
C11DTE.MAC    10-AUG-79 16:05		PDP-11 EIS EMULATORS

   555					.SBTTL	PDP-11 EIS EMULATORS
   556					;
   557					;MACROS TO SIMULATE INSTRUCTIONS FOR SIMPLE PDP11'S
   558					;
   559		   001			.IF LT <PDP11-30.>
   560					;
   561					;MACRO TO SIMULATE SOB ON SIMPLE PDP11'S
   562					;
   563					.MACRO	SOB	CNT,WHERE
   564					.IIF GT WHERE-., .ERROR	0; SOB FORWARD BRANCH ????
   565					.IIF NE <.-WHERE>&^C176, .ERROR	WHERE; SOB BRANCH RANGE ????
   566		   002				    .IF NE WHERE-.
   567						DEC	CNT
   568						BNE	WHERE
   569						    .IFF
   570						BRLOC=.
   571						DEC	CNT
   572						BNE	BRLOC
   573		   001				    .ENDC ;NE WHERE-.
   574					.ENDM	SOB
   575					;
   576					;MACRO TO DO AN XOR FOR SIMPLE PDP11'S
   577					;
   578					; ARGUMENTS:	A-- IS ALWAYS A REGISTER, B-- REFLECTS
   579					;		THE DESTINATION OPERAND, C-- IS USUALLY ON THE STACK
   580					;
   581					.MACRO	XOR2	A02,B02,B12,B22,C02,C12,C22
   582						MOV	A02,C02
   583						BIC	B02,C12
   584						BIC	A02,B12
   585						BIS	C22,B22
   586					.ENDM	XOR2
   587					;
   588					.MACRO	XOR1	A01,B01,B11,B21
   589						XOR2	A01,B01,B11,B21,-(SP),(SP),(SP)+
   590					.ENDM	XOR1
   591					;
   592					.MACRO	XORERR	AV,BV,DB
   593		   002				    .IF B DB
   594					.ERROR	74000; XOR SOURCE ('AV') NOT A REGISTER ???
   595						    .IFF
   596					.ERROR	<74000+<AV*100>+BV>; XOR WITH DEST DB IS NOT SUPPORTED ????
   597		   001				    .ENDC
   598						HALT
   599					.ENDM	XORERR
   600					;
   601					.MACRO	XMODE	Y,S,D
   602						XMOD'Y	\QD,S,D
   603					.ENDM	XMODE
   604					;
   605					.MACRO	XMOD0	X,S,D
   606						XOR1	S,D,D,D
   607					.ENDM	XMOD0
   608					;
   609					.MACRO	XMOD10	X,S,D
   610						XOR1	S,D,D,D
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-13
C11DTE.MAC    10-AUG-79 16:05		PDP-11 EIS EMULATORS

   611					.ENDM	XMOD10
   612					;
   613					.MACRO	XMOD20	X,S,D
   614						XOR1	S,(R'X),(R'X),(R'X)+
   615					.ENDM	XMOD20
   616					;
   617					.MACRO	XMOD30	X,S,D
   618						XOR1	S,@(R'X),@(R'X),@(R'X)+
   619					.ENDM	XMOD30
   620					;
   621					.MACRO	XMOD40	X,S,D
   622						XOR1	S,-(R'X),(R'X),(R'X)
   623					.ENDM	XMOD40
   624					;
   625					.MACRO	XMOD50	X,S,D
   626						XOR1	S,@-(R'X),@(R'X),@(R'X)
   627					.ENDM	XMOD50
   628					;
   629					.MACRO	XMOD60	X,S,D
   630						XOR1	S,D,D,D
   631					.ENDM	XMOD60
   632					;
   633					.MACRO	XMOD70	X,S,D
   634						XOR1	S,D,D,D
   635					.ENDM	XMOD70
   636					;
   637					.MACRO	XOR	A,B
   638						.NTYPE	QA,A	;QA IS 6-BIT SOURCE SPEC
   639						.NTYPE	QB,B	;QB IS 6-BIT DEST SPEC
   640						QC=QB&70	;QC IS DEST ADDRESS MODE
   641						QD=QB&7		;QD IS DEST ADDRESS REGISTER
   642		   002				    .IF NE QA&^C7 ;QA MUST BE REGISTER DIRECT
   643						XORERR	\QA
   644						    .IFF
   645								;QA IS REGISTER DIRECT, DECODE DEST SPEC
   646		   003				    .IF LE <QD-5> ;DEST USES USER GPR (0-5)
   647						XMODE	\QC,A,B	;CALL MODE SELECTOR MACRO BASED ON QC
   648						    .IFF
   649								;DEST USES SP OR PC
   650						.IIF EQ <QC-0>	;MODE IS REGISTER DIRECT (ERROR)
   651						.IIF EQ <QB-06>,	XORERR	\QA,\QB,B
   652						.IIF EQ <QB-07>,	XORERR	\QA,\QB,B
   653						.IIF EQ <QC-1>	;MODE IS REGISTER DEFERRED
   654						.IIF EQ <QB-16>,	XOR1	A,2(SP),2(SP),(SP)
   655						.IIF EQ <QB-17>,	XORERR	\QA,\QB,B
   656						.IIF EQ <QC-2>	;MODE IS POP (PC IMMEDIATE)
   657						.IIF EQ <QB-26>,	XORERR	\QA,\QB,B
   658		   004				    .IF EQ <QB-27>
   659						MOV	B,.+22
   660						XOR1	A,.+12,.+6,(PC)+
   661						.WORD	0	;UNLABELED LITERAL
   662		   003				    .ENDC
   663						.IIF EQ <QC-3>	;MODE IS DEFER AND POP (PC ABSOLUTE)
   664						.IIF EQ <QB-36>,	XOR1	A,@2(SP),@2(SP),@(SP)+
   665						.IIF EQ <QB-37>,	XOR1	A,B,B,B
   666						.IIF EQ <QC-4>	;MODE IS PUSH
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-14
C11DTE.MAC    10-AUG-79 16:05		PDP-11 EIS EMULATORS

   667						.IIF EQ <QB-46>,	XORERR	\QA,\QB,B
   668						.IIF EQ <QB-47>,	XORERR	\QA,\QB,B
   669						.IIF EQ <QC-5>	;MODE IS PUSH AND DEFER
   670						.IIF EQ <QB-56>,	XORERR	\QA,\QB,B
   671						.IIF EQ <QB-57>,	XORERR	\QA,\QB,B
   672						.IIF EQ <QC-6>	;MODE IS INDEXED
   673						.IIF EQ <QB-66>,	XOR1	A,2+B,2+B,B
   674						.IIF EQ <QB-67>,	XOR1	A,B,B,B
   675						.IIF EQ <QC-7>	;MODE IS DEFERRED INDEXED
   676						.IIF EQ <QB-76>,	XORERR	\QA,\QB,B
   677						.IIF EQ <QB-77>,	XOR1	A,B,B,B
   678		   002				    .ENDC ;USER GPR VS. SP/PC
   679		   001				    .ENDC ;QA IS REGISTER DIRECT
   680					.ENDM	XOR
   681					;
   682		   000			.ENDC;.IF LT <PDP11-30.>
   683					;
   684		   001			.IF LT <PDP11-45.>
   685						;MACRO TO SET PROCESSOR LEVEL
   686					.MACRO	SPL	Q
   687						    .IF	NE Q
   688						BIS	#BR7,PS			;SET PROCESSOR STATUS TO LEVEL 7
   689						    .ENDC
   690						    .IF NE <Q-7>
   691						BIC	#40*<7&<^C<Q>>>,PS	;NOW DROP TO LEVEL Q
   692						    .ENDC
   693					.ENDM	SPL
   694		   000			.ENDC;.IF LT <PDP11-45.>
   695					;
   696					;MACRO TO SIMULATE EXCH INSTRUCTION
   697					;
   698					.MACRO	EXCH	A,B
   699						MOV	A,-(P)		;SAVE C(A) ON THE STACK
   700						MOV	B,A		;PUT C(B) INTO A
   701						MOV	(P)+,B		;PUT ORIGINAL C(A) INTO B
   702					.ENDM	EXCH
   703					;
   704					;MACRO TO GENERATE AN .ASCIZ STRING TERMINATED WITH .EVEN
   705					;
   706					.MACRO	ASCIZ	STRING
   707						.ASCIZ	\STRING\
   708						.EVEN
   709					.ENDM	ASCIZ
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-15
C11DTE.MAC    10-AUG-79 16:05		SYMBOL DEFINITIONS

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

   767		000100			PR2	= 2*PR1
   768		000140			PR3	= 3*PR1
   769		000200			PR4	= 4*PR1
   770		000240			PR5	= 5*PR1
   771		000300			PR6	= 6*PR1
   772		000340			PR7	= 7*PR1
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-17
C11DTE.MAC    10-AUG-79 16:05		HARDWARE DEFINITIONS

   774					.SBTTL	HARDWARE DEFINITIONS
   775					.SBTTL		VECTORS
   776					;
   777					.MACRO	DEFVEC	TYP,VQ,LQ
   778						TYP'VEC=	VQ		;VECTOR FOR TYP IS VQ
   779						    .IF B LQ
   780						TYP'LVL=	7		;DEFAULT LEVEL IS LEVEL 7
   781						    .IFF
   782						TYP'LVL=	LQ		;LEVEL OF TYP IS LQ
   783						    .ENDC ;B LQ
   784					.ENDM	DEFVEC
   785					;
   786	000000'					DEFVEC	NXM,04	;BUS-TIMEOUT INTERRUPT
   787	000000'					DEFVEC	ILS,10	;ILLEGAL INSTRUCTION INTERRUPT
   788	000000'					DEFVEC	BPT,14	;BREAKPOINT TRAP
   789	000000'					DEFVEC	IOT,20	;I/O TRAP INSTRUCTION
   790	000000'					DEFVEC	PWF,24	;POWER FAIL INT'S
   791	000000'					DEFVEC	EMT,30	;EMT CALL'S
   792	000000'					DEFVEC	TRP,34	;TRAP INSTRUCTION
   793	000000'					DEFVEC	MMG,250	;MEMORY MANAGEMENT FAULT
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-18
C11DTE.MAC    10-AUG-79 16:05			DEVICES

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

   851									;  MULTIPLEXED USE OF DATA BUFFER REGISTER
   852	000000'					NAMEBT	CDST2,0,<ST2ENB,CD.RCK,CD.PCK,CD.SCK>
   853	000000'					NAMEBT	,,<ZT12,ZT11,ZT00,ZT01,ZT02,ZT03,ZT04,ZT05,ZT06,ZT07,ZT08,ZT09>
   854		007777					ZTALL	= 7777
   855		000000						.REPT	0
   856							ST2ENB	= CDST2 ENABLE
   857							RCHK	= READ CHECK (CARD ERROR)
   858							PCHK	= PICK CHECK (FEED ERROR)
   859							SCHK	= STACK CHECK (FEED ERROR)
   860							ZT--	= ZONE TEST BITS
   861							ZTALL	= OR OF ALL ZONE TEST BITS
   862								.ENDR
   863									;
   864		000010			CDHRSZ = 10			;SIZE OF REGISTER BLOCK IN BYTES
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-20
C11DTE.MAC    10-AUG-79 16:05			CR11 - PUNCHED/MARK SENSE CARD READER

   866					.SBTTL		CR11 - PUNCHED/MARK SENSE CARD READER
   867					;
   868		000006			CR.LVL= 6		; PROCESSOR LEVEL FOR CR11 INTERRUPTS
   869		000230			CR.VEC= 230
   870					;
   871		177160			CR0STS = 177160
   872		177160			CR.STS= 177160		; CR11 STATUS REGISTER
   873					;
   874		100000				CR.ERR= B15	; ERROR
   875		040000				CR.DNE= B14	; CARD DONE
   876		020000				CR.HCK= B13	; HOPPER CHECK
   877		010000				CR.MCK= B12	; MOTION CHECK
   878		004000				CR.TIM= B11	; TIMING ERROR
   879		002000				CR.OLN= B10	; BACK ONLINE AFTER BEING OFF
   880		001000				CR.BSY= B9	; BUSY
   881		000400				CR.RDY= B8	; NOT READY
   882		000200				CR.CDN= B7	; COLUMN DONE
   883		000100				CR.INE= B6	; INTERRUPT ENABLE
   884		000002				CR.EJT= B1	; EJECT
   885		000001				CR.CFD= B0	; CARD FEED
   886
   887		177162			CR.DAT= 177162		; 12 LOW ORDER BITS ARE DATA
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-21
C11DTE.MAC    10-AUG-79 16:05			CTY - CONSOLE TELETYPE

   889					.SBTTL		CTY - CONSOLE TELETYPE
   890					;
   891					;CTY HARDWARE BITS
   892					;
   893		177560			CTISTS = 177560
   894		177562			CTICHR = 177562
   895		000060			CTIVEC=	60
   896		000004			CTILVL=	4	; PRIORITY LEVEL
   897					;
   898		000100				CI.INE=	B6		; CTY INPUT INTERRUPT ENABLE
   899					;
   900		177564			CTOSTS = 177564
   901		177566			CTOCHR = 177566
   902		000064			CTOVEC=	64
   903		000004			CTOLVL=	4	; PRIORITY LEVEL
   904					;
   905		000100				CO.INE=	B6		; CTY OUTPUT INTERRUPT ENABLE
   906		000004				CO..MM=	B2		; CTY OUTPUT MAINT MODE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-22
C11DTE.MAC    10-AUG-79 16:05			DH11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER

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

   949					.SBTTL		DJ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-24
C11DTE.MAC    10-AUG-79 16:05			DL10 - UNIBUS-TO-MBUS INTERFACE

   951					.SBTTL		DL10 - UNIBUS-TO-MBUS INTERFACE
   952					;
   953					;DL10 - UNIBUS TO DECSYSTEM-10 MEMORY BUS INTERFACE
   954					;
   955		100000			DL.BAS=	100000			;BASE ADDRESS FOR 10 MEMORY
   956		100000			DLBASE=	DL.BAS			;
   957		000170			DL.VEC=	170			;VECTOR ADR FOR DL10
   958		000004			DL.LVL=	4			;CHANNEL FIVE
   959					;
   960		100000			DL.STS=DLBASE	;1ST WORD IS STATUS
   961		100000				DL.11I=	B15		; BIT 15 - 11 INT(INTERRUPTS IF 11-INT-ENB SET)
   962		040000				DL.11C=	B14		; BIT 14 - CLEAR 11 INT
   963		020000				DL.10I=	B13		; BIT 13 - 10 INT
   964		010000				DL.10C=	B12		; BIT 12 - CLEAR 10 INT
   965		004000				DL.NXM=	B11		; BIT 11 - NXM(INTERRUPTS IF ERR ENB SET)
   966		002000				DL.CNX=	B10		; BIT 10 - CLEAR NXM
   967		001000				DL.PAR=	B9		; BIT 09 - PAR ERR(INTERRUPTS IF ERR ENB SET)
   968		000400				DL.CPE=	B8		; BIT 08 - CLEAR PAR ERR
   969		000200				DL.WCO=	B7		; BIT 07 - WCOV(INTERRUPTS IF ERR ENB SET)
   970		000100				DL.CWC=	B6		; BIT 06 - CLEAR WCOV
   971		000040				DL.PEN=	B5		; BIT 05 - PORT ENABLE
   972		000040				DLPENB=	DL.PEN		;
   973		000020				DL.B04=	B4		; BIT 04 - (GUESS !)
   974		000010				DL.ERE=	B3		; BIT 03 - ERR ENABLE
   975		000004				DL.INE=	B2		; BIT 02 - 11 INT ENB
   976		000002				DL.B01=	B1		; BITS 00 & 01 - PIA
   977		000001				DL.B00=	B0		;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-25
C11DTE.MAC    10-AUG-79 16:05			DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE

   979					.SBTTL		DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE
   980					;
   981					;
   982		175610			DLDADR=175610	; DL11 NUMBER ZERO DEVICE ADDRESS
   983		000010			DLDSIZ=10	; LENGTH OF DEVICE ADDRESS ASSIGNMENT
   984					;
   985					;	CONTROL REGISTERS
   986					;
   987					;
   988		000000			DLRSTS=0		; RECEIVER STATUS AND CONTROL
   989					;
   990					;		BIT ASSIGNMENTS
   991		000001				DL..RE=B0	; PAPER TAPE READER ENABLE (R/W)
   992		000002				DL.DTR=B1	; DATA TERMINAL READY (R/W)
   993		000004				DL.RTS=B2	; REQUEST TO SEND (R/W)
   994		000010				DL.2XM=B3	; SECONDARY XMIT (R/W)
   995		000040				DL.DIE=B5	; DATASET INTERRUPTS ENABLE (R/W)
   996		000100				DL.RIE=B6	; RECEIVER INTERRUPTS ENABLE (R/W)
   997		000200				DL.ROK=B7	; RECEIVER DONE (R)
   998		002000				DL.2RC=B10	; SECONDARY RECEIVE (R)
   999		004000				DL.RGO=B11	; RECEIVER ACTIVE (R)
  1000		010000				DL.CAR=B12	; CARRIER PRESENT (R)
  1001		020000				DL.CTS=B13	; CLEAR TO SEND (R)
  1002		040000				DL.RNG=B14	; DATASET RING (R)
  1003		100000				DL.DSC=B15	; DATASET STATUS CHANGE (R)
  1004					;
  1005					;
  1006		000002			DLRBUF=2	; RECEIVED CHARACTER BUFFER
  1007					;
  1008					;		BIT ASSIGNMENTS
  1009		000377				DL..RC=B0!B1!B2!B3!B4!B5!B6!B7	;THE RECEIVED CHARACTER (R)
  1010		010000				DL..PE=B12	; PARITY ERROR (R)
  1011		020000				DL..FE=B13	; FRAMING ERROR (R)
  1012		040000				DL.OVR=B14	; RECEIVER OVER RUN (R)
  1013		100000				DL.ERR=B15	; RECEIVER ERROR DETECTED (R)
  1014					;
  1015					;
  1016					;
  1017		000004			DLXSTS=4	; XMITTER STATUS AND CONTROL REGISTER
  1018					;
  1019					;		BIT ASSIGNMENTS
  1020		000001				DL.BRK=B0	; SEND BREAK (W)
  1021		000004				DL..MM=B2	; MAINTAINANCE MODE (R/W)
  1022		000100				DL.XIE=B6	; XMITTER INTERRUPTS ENABLE (R/W)
  1023		000200				DL.XOK=B7	; XMITTER READY FOR NEXT CHARACTDER (R)
  1024					;
  1025					;
  1026					;
  1027		000006			DLXBUF=6	; XMITTER CHARACTER BUFFER
  1028					;
  1029					;	BIT ASSSIGNMENT
  1030		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  06-DEC-79  13:39  PAGE 1-26
C11DTE.MAC    10-AUG-79 16:05			DM11BB - MODEM CONTROLLER FOR DH11

  1032					.SBTTL		DM11BB - MODEM CONTROLLER FOR DH11
  1033					;
  1034		170500			DMBASE=	170500		;HDW ADR OF FIRST DM11
  1035					;
  1036		000007			DM.LVL=	7		;PROCESSOR LEVEL FOR DM11BB INTERRUPTS
  1037					;
  1038		170500				B.DM11=	170500	;FIRST DM11 ADR
  1039		004000				DM.SCN=	B11	;CLEAR SCANNER
  1040		002000				DM.INI=	B10	;CLEAR MULTIPLEXER
  1041		001000				DM..MM=	B9	;MAINTENANCE MODE
  1042		000400				DM.STP=	B8	;STEP TO NEXT LINE
  1043		000200				DM.DNE=	B7
  1044		000100				DM.IEN=	B6	;INTERRUPT ENABLE
  1045		000040				DM.ENB=	B5	;SCAN ENABLE
  1046		000020				DM.BSY=	B4	;CLEAR SCAN STILL PERCOLATING
  1047		000017				DM.ALI=	B0!B1!B2!B3	;LINE NUMBER FIELD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-27
C11DTE.MAC    10-AUG-79 16:05			DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER

  1049					.SBTTL		DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER
  1050					;
  1051		000005			DMC.LVL	= 5
  1052					;
  1053	000000'					NAMEBT	,0,<MD.RUN,MD.CLR,MD.CWR,MD.SLU,MD.LLU>
  1054	000000'					NAMEBT	,,<MD.RMO,MD.RMI,MD.SMP,B7,B6,B5,B4,B3,B2,B1,B0>
  1055		000000						.REPT	0
  1056							MD.RUN	- RUN THE MICROPROCESSOR
  1057							MD.CLR	- CLEAR THE MICROPROCESSOR
  1058							MD.CWR	- CRAM WRITE
  1059							MD.SLU	- STEP LINE UNIT
  1060							MD.LLU	- LOOP LINE UNIT
  1061							MD.RMO	- ROM OUTPUT
  1062							MD.RMI	- ROM INPUT
  1063							MD.SMP	- STEP MICROPROCESSOR
  1064								.ENDR
  1065						.IRP	X,<0,2,4,6>
  1066						SEL'X	= X
  1067						BSEL'X	= X
  1068						.ENDR ;X
  1069						.IRP	X,<1,3,5,7>
  1070						BSEL'X	= X
  1071						.ENDR ;X
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-28
C11DTE.MAC    10-AUG-79 16:05			DN11 - AUTODIALER

  1073					.SBTTL		DN11 - AUTODIALER
  1074					;
  1075		000007			DN.LVL=	7			;PROCESSOR LEVEL FOR DN INTERRUPTS
  1076		175200			DNBASE=175200
  1077					;
  1078		100000				DN.PWI=	B15		;POWER INDICATE
  1079		040000				DN.ACR=	B14		;ABANDON CALL AND RETRY
  1080		010000				DN.DLO=	B12		;DATA LINE OCCUPIED
  1081		000200				DN.DNE=	B7		;DONE
  1082		000100				DN..IE=	B6		;INTERRUPT ENABLE
  1083		000040				DN.DSS=	B5		;DATA SET STATUS
  1084		000020				DN.PND=	B4		;PRESENT NEXT DIGIT
  1085		000010				DN..MM=	B3		;MAINTENANCE MODE
  1086		000004				DN..ME=	B2		;MASTER ENABLE
  1087		000002				DN..DP=	B1		;DIGIT PRESENT
  1088		000001				DN..CR=	B0		;CALL REQUEST
  1089		007400				DN.DGT=B8+B9+B10+B11	;DIGIT BITS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-29
C11DTE.MAC    10-AUG-79 16:05			DP11 - SYNCHRONOUS LINE INTERFACE

  1091					.SBTTL		DP11 - SYNCHRONOUS LINE INTERFACE
  1092					;
  1093		000007			DP.LVL=	7	;PROCESSOR LEVEL FOR DP11 INTERRUPTS
  1094					;
  1095					; "A" RECEIVER STATUS REGISTER  (ADR = XXXXX0)
  1096					;
  1097		010000			DP..CP=	B12		;CHARACTER PARITY; 1=ODD, 0=EVEN
  1098		004000			DP..RA=	B11		;RECEIVE ACTIVE
  1099		000200			DP..RD=	B7		;RECEIVE DONE
  1100		000100			DP.RIE=	B6		;RECEIVE DONE INTERRUPT ENABLE
  1101		000010			DP..MR=	B3		;MISCELLANEOUS RECEIVE
  1102		000004			DP..MM=	B2		;MAINTENANCE MODE
  1103		000002			DP..HD=	B1		;HALF DUPLEX
  1104		000001			DP..SS=	B0		;STRIP SYNC
  1105					;
  1106					; "B" TRANSMIT AND CONTROL STATUS REG  (ADR = XXXXX2)
  1107					;
  1108		100000			DP..CF=	B15		;CARRIER FLAG
  1109		040000			DP.ROF=	B14		;RECEIVE OVERRUN FLAG
  1110		020000			DP.RNG=	B13		;RING FLAG
  1111		010000			DP.MRY=	B12		;MODEM READY
  1112		004000			DP.CAR=	B11		;CARRIER
  1113		002000			DP.CTS=	B10		;CLEAR TO SEND
  1114		001000			DP.RTS=	B9		;REQUEST TO SEND
  1115		000200			DP..TD=	B7		;TRANSMIT DONE
  1116		000100			DP.TIE=	B6		;TRANSMIT DONE INTERRUPT ENABLE
  1117		000040			DP.SIE=	B5		;STATUS INTERRUPT ENABLE
  1118		000020			DP.MIS=	B4		;MISCELLANEOUS
  1119		000010			DP..MT=	B3		;MISCELLANEOUS TRANSMIT
  1120		000002			DP..IS=	B1		;IDLE SYNC
  1121		000001			DP.DTR=	B0		;TERMINAL READY
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-30
C11DTE.MAC    10-AUG-79 16:05			DQ11 - DMA SYNCHRONOUS LINE INTERFACE

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

  1179		000020				DQ.MBM=	020	; BYTE EQUIVALENT OF ABOVE
  1180					;		060000	; MEM EXT OR ENTER T/EXIT T
  1181					;		B15	; ERROR INTERRUPT
  1182					;
  1183					; SECONDARY REGISTERS ( ADR = XXXXX6 )
  1184					;
  1185		000000				RG.PRA=	0	; PRIMARY RECEIVE BA
  1186		000001				RG.PRC=	1	; PRIMARY RECEIVE CC
  1187		000002				RG.PTA=	2	; PRIMARY TRANSMIT BA
  1188		000003				RG.PTC=	3	; PRIMARY TRANSMIT CC
  1189		000004				RG.SRA=	4	; SECONDARY RECEIVE BA
  1190		000005				RG.SRC=	5	; SECONDARY RECEIVE CC
  1191		000006				RG.STA=	6	; SECONDARY TRANSMIT BA
  1192		000007				RG.STC=	7	; SECONDARY TRANSMIT CC
  1193					;;;;		10	; CHAR DET REG
  1194		000011				RG.SYN=	11	; SYNC REG
  1195		000012				RG.MSC=	12	; MISC REG
  1196		000040				DQ.MC=	B5	; MASTER CLEAR (SORT OF)
  1197					;;;;		13	; TRANSMIT BUF
  1198					;;;;		14	; SEQUENCE REGISTER
  1199					;;;;		15	; RECEIVE BCC
  1200					;;;;		16	; TRANSMIT BCC
  1201					;;;;		17	; RECEIVE/TRANSMIT POLYNOMIAL
  1202								;
  1203					.MACRO	DQREGS	REG,QQ
  1204					Z=	RG.'REG
  1205					.IIF EQ <Z&10>,Z=	Z+DQ.MBM
  1206						    .IF B,QQ
  1207						MOVB	#Z,5(DQ)	;SET TO ADDRESS SECONDARY REGISTER RG.'REG
  1208						    .IFF ;B <QQ>
  1209						MOVB	#Z,5QQ		;SET TO ADDRESS SECONDARY REGISTER RG.'REG
  1210						    .ENDC ;B <QQ>
  1211					.ENDM	DQREGS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-32
C11DTE.MAC    10-AUG-79 16:05			DQ11 - DMA SYNCHRONOUS LINE INTERFACE

  1213					;
  1214					;	THE SEVEN SWITCHES (PACKAGES) WILL BE LOCATED
  1215					;		ON BOARD #M7818 WITHIN THE DQ11 LOGIC BLOCK
  1216					;
  1217					;
  1218					;	PACKAGE #	SWITCH #'S	SWITCH SETTINGS ON RESPECTIVE PACKAGES
  1219					;
  1220					;	1		 8 - 1		ALL OFF
  1221					;
  1222					;	2		16 - 9		ALL OFF
  1223					;
  1224					;	3		24 - 17		ALL OFF
  1225					;
  1226					;	4		32 - 25	DAS78	 ON, ON,OFF, ON,OFF,OFF, ON,OFF
  1227					;					CHARACTER = 055 (ENQ)
  1228					;	4		32 - 25 DAS85	 ON, ON, ON, ON, ON,OFF, ON,OFF
  1229					;					CHARACTER = 005 (ENQ)
  1230					;
  1231					;	5		40 - 33	DAS78	 ON, ON,OFF,OFF,OFF, ON, ON, ON
  1232					;				DAS85	 ON,OFF,OFF,OFF,OFF, ON, ON, ON
  1233					;
  1234					;	6		48 - 41	DAS78	 ON, ON, ON, ON, ON, ON,OFF,OFF
  1235					;					CHARACTER = 03 (ETX)
  1236					;				DAS85	OFF, ON, ON,OFF, ON, ON,ON, ON
  1237					;					CHARACTER = 220 (DLE)
  1238					;
  1239					;	7		56 - 49	DAS78	 ON, ON, OFF, ON, ON,OFF,OFF, ON
  1240					;					CHARACTER = 46 (ETB)
  1241					;				DAS85	OFF, ON, ON, ON, ON, ON, ON,OFF
  1242					;					CHARACTER = 201 (SOH)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-33
C11DTE.MAC    10-AUG-79 16:05			DS11 - SYNCHRONOUS LINE INTERFACE

  1244					.SBTTL		DS11 - SYNCHRONOUS LINE INTERFACE
  1245					;
  1246					;HARDWARE ADDRESSES
  1247					;
  1248		175600			DS.AUX=	175600		;AUXILLARY REGISTER
  1249		175400			DS.DVA=	175400		;BEGINNING OF LINE DEVICE REGISTERS
  1250		000400			DS.VEC=	400		;FIRST DS11 VECTOR
  1251		000007			DS.LVL=	7		;PROCESSOR LEVEL OR DS11 INTERRUPTS
  1252					;
  1253					;BITS IN AUXILLARY REGISTER
  1254					;
  1255		100000			DS.AD3=B15		;ADAPTER 3 IS PRRSENT IF SET
  1256		040000			DS.AD2=B14		;ADAPTER 2 IS PRESENT IF SET
  1257		020000			DS.AD1=B13		;ADAPTER 1 IS PRESENT IF SET
  1258					;	B12		;NOT USED
  1259					;	B11		;NOT USED
  1260					;	B10		;NOT USED
  1261					;	B9		;PROGRAM VECTOR 9
  1262		000400			DS.IVA=B8		;PROGRAM VECTOR 8 - INTERRUPTS START AT 400
  1263					;	B7		;DIAG MODE
  1264					;	B6		;PROGRAM CLOCK ALLOW
  1265					;	B5		;NOT USED
  1266					;	B4		;DIAG BIT CNTR CLEAR
  1267					;	B3		;DIAG BIT COUNTER 4
  1268					;	B2		;DIAG BIT COUNTER 3
  1269					;	B1		;DIAG BIT COUNTER 2
  1270					;	B0		;DIAG BIT COUNTER 1
  1271					;
  1272					;
  1273					;OFFSETS OF REGISTERS FROM LINE BASE ADDRESS
  1274					;
  1275		000006			DS.XDR=6		;TRANSMIT DATA REGISTER
  1276		000004			DS.XST=4		;TRANSMIT STATUS REGISTER
  1277		000002			DS.RDR=2		;RECEIVE DATA REGISTER
  1278		000000			DS.RST=0		;RECEIVE STATUS REGISTER
  1279					;
  1280					;PRIORITY INTERRUPT LEVELS
  1281					;
  1282		000007			I.DSRD=7		;RECEIVE DATA INTERRUPT
  1283		000006			I.DSRS=6		;RECEIVE STATUS INTERRUPT
  1284		000007			I.DSXD=7		;A TRANSMIT DATA INTERRUPT
  1285		000006			I.DSXS=6		;A TRANSMIT STATUS INTERRUPT
  1286					;
  1287					;BITS IN XMIT STATUS REGISTER & RECEIVE REG.
  1288					;
  1289		000440			DS.DTR=000440		;BOTH XMT & RCV REG.
  1290		170000			DS.ZAP=170000		;CLEAR ALL OVERRUN FLAGS
  1291		000455			DS.XGO=DS.DTR+<<I.DSXD/2>*4>+1	;REQUEST TO SEND
  1292		006455			DS.RGO=B11!B10!DS.DTR!<<I.DSRD/2>*4>+1	;RECEIVE
  1293					;
  1294					;BITS IN TRANSMIT STATUS REGISTER
  1295					;
  1296					;	B15		; NOT USED
  1297					;	B14		; XMIT BIT OVERRUN
  1298					;	B13		; XMIT CHAR OVERRUN
  1299					;	B12		; CLEAR TO SEND FLAG
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-34
C11DTE.MAC    10-AUG-79 16:05			DS11 - SYNCHRONOUS LINE INTERFACE

  1300					;	B11		; NOT USED
  1301					;	B10		; NOT USED
  1302					;	B9		; CLEAR TO SEND
  1303					;	B8		; DATA TERM READY
  1304					;	B7		; XMIT CHAR DONE
  1305					;	B6		; DATA SET READY
  1306					;	B5		; CODE SIZE 2
  1307					;	B4		; CODE SIZE 1
  1308					;	B3		; PRIORITY REQUEST 2
  1309					;	B2		; PRIORITY REQUEST 1
  1310					;	B1		; IDLE
  1311					;	B0		; REQUEST TO SEND
  1312					;
  1313					;BITS IN RECEIVE STATUS REGISTER
  1314					;
  1315					;	B15		; RING FLAG
  1316					;	B14		; REC BIT OVERRUN
  1317					;	B13		; REC CHAR OVERRUN
  1318					;	B12		; LINE SIGNAL FLAG
  1319					;	B11		; SYN STATE 2
  1320					;	B10		; SYN STATE 1
  1321					;	B9		; LINE SIGNAL
  1322					;	B8		; DATA TERMINAL READY
  1323					;	B7		; REC CHAR DONE
  1324					;	B6		; DATA SET READY
  1325					;	B5		; CODE SIZE 2
  1326					;	B4		; CODE SIZE 1
  1327					;	B3		; PRIORITY REQUEST 2
  1328					;	B2		; PRIORITY REQUEST 1
  1329					;	B1		; RING ALLOW
  1330					;	B0		; RECEIVE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-35
C11DTE.MAC    10-AUG-79 16:05			DTE20 - DECSYSTEM 20(10)/PDP-11 INTERPROCESSOR INTERFACE

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

  1379					.SBTTL		DU11 - SYNCHRONOUS LINE CONTROLLER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-37
C11DTE.MAC    10-AUG-79 16:05			DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC

  1381					.SBTTL		DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC
  1382					;
  1383		000006			DUP.LVL	= 6
  1384					;
  1385					;;;;	DUPSTS = FLOATING
  1386					;
  1387		000000			DUPCRS = 0	;RECEIVER STATUS AND CONTROL REGISTER
  1388	000000'					NAMEBT	DUPRCS,0,<DUPDSA,DUPRNG,DUPCTS,DUPCAR,DUPACT,DUP2RC>
  1389	000000'					NAMEBT	,,<DUPDSR,DUPSSY,DUPRDN,DUPRIE,DUPDIE,DUPRCE>
  1390	000000'					NAMEBT	,,<DUP2TX,DUPRTS,DUPDTR,DUPDSB>
  1391									;
  1392		000000						.REPT	0
  1393							DUPDSA	- DATA SET CHANGE A	RO
  1394							DUPRNG	- RING INDICATOR	RO
  1395							DUPCTS	- CLEAR TO SEND		RO
  1396							DUPCAR	- CARRIER		RO
  1397							DUPACT	- ACTIVE		RM
  1398							DUP2RC	- SECONDARY RECEIVE DATA RO
  1399							DUPDSR	- DATA SET READY	RO
  1400							DUPSSY	- STRIP SYNCH		RW
  1401
  1402							DUPRDN	- RECEIVE DONE		RO
  1403							DUPRIE	- RECEIVER INTERRUPT ENABLE RW
  1404							DUPDIE	- DATA SET INTERRUPT ENABLE RW
  1405							DUPRCE	- RECEIVE ENABLE (CLEARS THE READ MOSTLY BITS) RW
  1406							DUP2TX	- SECONDARY TRANSMIT	RW
  1407							DUPRTS	- REQUEST TO SEND	RW
  1408							DUPDTR	- DATA TERMINAL READY	RW
  1409							DUPDSB	- DATA SET CHANGE B	RO
  1410								.ENDR
  1411		000002			DUPRDB = 2		;RECEIVE DATA BUFFER
  1412	000000'					NAMEBT	DUPRDB,0,<DUPRER,DUPROV,,DUPRCR,,DUPRAB,DUPREM,DUPRSM>
  1413		000377				DUPRDT	= 377			;RECEIVED DATA BUFFER
  1414		000000						.REPT	0
  1415							DUPRER	- RECEIVER ERROR	RO
  1416							DUPROV	- RECEIVER OVERRUN	RO
  1417								- RESERVED
  1418							DUPRCR	- RCRC ERROR+ZERO	RO
  1419								- RESERVED
  1420							DUPRAB	- RECEIVED ABORT	RW
  1421							DUPREM	- END OF REC'D MSG	RM
  1422							DUPRSM	- START OF REC'D MSG	RM
  1423								.ENDR
  1424		000002			DUPPSR = DUPRDB		;PARAMETER STATUS REGISTER
  1425	000000'					NAMEBT	DUPPSR,0,<DUPPDM,,,DUPP2M,,,DUPPIC,>
  1426		000377				DUPP2S	= 377		;SECONDARY STATION ADDRESS OR REC SYNCH REG
  1427		000000						.REPT	0
  1428							DUPPDM	- DEC MODE (BYTE MODE)		WO
  1429								- RESERVED
  1430								- RESERVED
  1431							DUPP2M	- SENCONDARY MODE SELECT	WO
  1432								- RESERVED
  1433								- RESERVED
  1434							DUPPIC	- INHIBIT CRC COMPUTATION	WO
  1435								.ENDR
  1436		000004			DUPTCS = 4		;TRANSMITTER STATUS REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-38
C11DTE.MAC    10-AUG-79 16:05			DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC

  1437	000000'					NAMEBT	DUPTCS,0,<DUPTDL,DUPTMT,DUPTMC,DUPTM1,DUPTM0>
  1438	000000'					NAMEBT	,,<DUPTMI,DUPTAC,DUPTRS,DUPTDN,DUPTIE,,DUPTSN,DUPTHD,,,>
  1439		000000						.REPT	0
  1440							DUPTDL	- TRANSMIT DATA LATE	RM
  1441							DUPTMT	- MAINTENANCE TRANSLATE	RO
  1442							DUPTMC	- MAINTENANCE CLOCK	RW
  1443							DUPTM1	- MAINTENANCE MODE SELECT RW
  1444							DUPTM0	- 
  1445							DUPTMI	- MAINTENANCE INPUT	RW
  1446							DUPTAC	- TRANSMITTER ACTIVE	RO
  1447							DUPTRS	- DEVICE RESET		WO
  1448							DUPTDN	- TRANSMIT DONE		RM
  1449							DUPTIE	- TRANSMITTER INTERRUPT ENABLE RW
  1450								- RESERVED
  1451							DUPTSN	- SEND			RW
  1452							DUPTHD	- HALF DUPLEX		RW
  1453								- RESERVED
  1454								- RESERVED
  1455								- RESERVED
  1456								.ENDR
  1457		000006			DUPTDB = 6		;TRANSMITTER DATA BUFFER
  1458	000000'						NAMEBT	DUPTDB,0,<,DUPXCI,,DUPXCO,DUPXMT,DUPXAB,DUPXEM,DUPXSM>
  1459		000377					DUPXDB	= 377		;TRANSMITTER DATA BUFFER BYTE
  1460		000000						.REPT	0
  1461								- RESERVED
  1462							DUPXCI	- MAINTENANCE CRC INPUT	RO
  1463								- RESERVED
  1464							DUPXCO	- MAINTENANCE CRC OUTPUT RO
  1465							DUPXMT	- MAINTENANCE TIMER	RO
  1466							DUPXAB	- TRANSMIT ABORT	RW
  1467							DUPXEM	- TRANSMIT END OF MSG	RW
  1468							DUPXSM	- TRANSMIT STRAT OF MSG	RW
  1469								.ENDR
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-39
C11DTE.MAC    10-AUG-79 16:05			DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER

  1471					.SBTTL		DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
  1472					;
  1473					; DZ11 CONTROL STATUS REGISTER (CSR) FLAGS
  1474					;
  1475		000020			DZ.CLR=	000020				;MASTER CLEAR
  1476		000040			DZ.SCN=	000040				;SCAN ENABLE (ENABLE RCV & XMT)
  1477		000100			DZ.RIE=	000100				;RECEIVE INTERUPT ENABLE
  1478		010000			DZ.SAE=	010000				;SILO ALARM ENABLE
  1479		040000			DZ.TIE=	040000				;TRANSMIT INTERUPT ENABLE
  1480		050140			DZ.INI=	DZ.SCN!DZ.RIE!DZ.TIE!DZ.SAE	;INITIAL VALUE FOR CSR
  1481					 
  1482					 
  1483					;
  1484					; DZ11 LINE PARAMETER REGISTER (LPR) FLAGS
  1485					;
  1486		010000			DZ.RCV=	010000				;RCV ON IN LPR
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-40
C11DTE.MAC    10-AUG-79 16:05			EIA PIN DEFINITIONS

  1488					.SBTTL		EIA PIN DEFINITIONS
  1489					;
  1490					;	1	PROTECTIVE GROUND
  1491					;	2	TRANSMITTED DATA
  1492					;	3	RECEIVED DATA
  1493					;	4	REQUEST TO SEND
  1494					;	5	CLEAR TO SEND
  1495					;	6	DATA SET READY
  1496					;	7	SIGNAL GROUND
  1497					;	8	RECEIVED LINE SIGNAL DECTECTOR
  1498					;	9	*
  1499					;	10	*
  1500					;	11	*
  1501					;	12	*
  1502					;	13	*
  1503					;	14	*
  1504					;	15	*
  1505					;	16	*
  1506					;	17	RECEIVED SIGNAL ELEMENT TIMING
  1507					;	18	*
  1508					;	19	*
  1509					;	20	DATA TERMINAL READY
  1510					;	21	SIGNAL QUALITY DETECTOR
  1511					;	22	RING INDICATOR
  1512					;	23	*
  1513					;	24	TRANSMIT SIGNAL ELEMENT TIMING
  1514					;	25	*
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-41
C11DTE.MAC    10-AUG-79 16:05			KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR

  1516					.SBTTL		KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR
  1517					;
  1518		170700			KG.STS = 170700
  1519		000200				KG.DNE=200	;CALCULATION DONE
  1520		000100				KG.SEN=100	;NOT SINGLE CYCLE
  1521		000040				KG.STP=040	;STEP
  1522		000020				KG.CLR=020	;CLEAR
  1523		000010				KG.DDB=010	;WORD MODE
  1524						;	007	;TYPE OF CALCULATION
  1525		000001				KG.CRC=001	; 1 = CRC-16
  1526		000003				KG.LRC=003	; 3 = LRC-16
  1527		000005				KG.CCI=005	; 5 = CRC-CCITT
  1528		000121			KG.INI=	KG.SEN!KG.CLR!KG.CRC
  1529		000002			KGBCC = 2
  1530		000004			KGDATA = 4
  1531					;
  1532					.MACRO	KGLOAD	X,MODE
  1533						Z=101
  1534						    .IF NB MODE
  1535						.IIF IDN <MODE>,<WORD>,Z=Z!KG.DDB	;SET WORD MODE
  1536						.IIF IDN <MODE>,<BYTE>,Z=Z&<^CKG.DDB>
  1537						    .ENDC;.IF NB MODE
  1538						    .IF IDN <#0>,<X>
  1539						Z=Z!KG.CLR
  1540						    .IFF
  1541						MOV	#133,(R4)		;CLEAN OUT KG11
  1542						MOV	X,KGDATA(R4)		;LOAD WITH DATA  ( X )
  1543						    .ENDC ;IDN <#0>,<X>
  1544						MOV	#Z,(R4)		;AND SET CRC MODE
  1545					.ENDM	KGLOAD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-42
C11DTE.MAC    10-AUG-79 16:05			KT11 - MEMORY MANAGEMENT MODULE

  1547					.SBTTL		KT11 - MEMORY MANAGEMENT MODULE
  1548					;
  1549					.MACRO	MMNAM1	MODE,TYPE,SPACE,NUMB
  1550						MODE'SPACE'S'TYPE'R'NUMB	= $MMADR
  1551						$MMADR	= $MMADR + 2
  1552					.ENDM	MMNAM1
  1553					;
  1554					.MACRO	MMNAM2	MODE,BASE
  1555						$MMADR	= BASE
  1556						.IRPC	TYPE,<DA>
  1557						  .IRPC	SPACE,<ID>
  1558						    $$ = 0
  1559						    .REPT 8.
  1560						      MMNAM1	MODE,TYPE,SPACE,\$$
  1561						      $$ = $$ + 1
  1562						    .ENDR ;8.
  1563						  .ENDR	;SPACE
  1564						.ENDR	;TYPE
  1565					.ENDM	MMNAM2
  1566					;
  1567					;
  1568					;
  1569					; MEMORY MANAGEMENT STATUS REGISTER BLOCK
  1570					;	ASTERISK (*) DENOTES THE 11/34 MEMORY MANAGEMENT SUBSET
  1571					;
  1572		177572				MMGSR0	= 177572	;MEM MGT STATUS REGISTER	*
  1573	000000'					NAMEBT	MMGSR0,0,<MG.ANR,MG.APL,MG.ARO,MG.TMM,,>
  1574	000000'					NAMEBT	,,<MG.EMT,MG.MNT,MG.IDN,MG.MD1,MG.MD0>
  1575	000000'					NAMEBT	,,<MG.DAD,MG.PG2,MG.PG1,MG.PG0,MG.ENB>
  1576		000000					.REPT	0
  1577							MG.ANR - ABORT, NON-RESIDENT		*
  1578							MG.APL - ABORT, PAGE LENGTH		*
  1579							MG.ARO - ABORT, READ ONLY		*
  1580							MG.TMM - ABORT, TRAP ON MEM MGT
  1581							MG.XXX - UNUSED
  1582							MG.XXX - UNUSED
  1583							MG.EMT - ENABLE MEM MGT TRAP
  1584							MG.MNT - MAINTENANCE MODE		*
  1585							MG.IDN - INSTRUCTION DONE
  1586							MG.MD1 - MODE, BIT 1			*
  1587							MG.MD0 - MODE, BIT 0			*
  1588							MG.DAD - D ADDRESS SPACE SELECTED
  1589							MG.PG2 - PAGE SELECTED, BIT 2		*
  1590							MG.PG1 - PAGE SELECTED, BIT 1		*
  1591							MG.PG0 - PAGE SELECTED, BIT 0		*
  1592							MG.ENB - ENABLE MEM MGT			*
  1593							.ENDR ;TEXT
  1594									;
  1595		177574				MMGSR1	= 177574	;GPR MODIFICATION RECORD
  1596									;
  1597		177576				MMGSR2	= 177576	;VIRTUAL ADDRESS REGISTER	*
  1598									;
  1599		172516				MMGSR3	= 172516	;
  1600	000000'					NAMEBT	MMGSR3,4,<MG.KDS,MG.SDS,MG.UDS>
  1601									;
  1602					;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-43
C11DTE.MAC    10-AUG-79 16:05			KT11 - MEMORY MANAGEMENT MODULE

  1603					; DEFINE NAMES FOR THE PAGE ADDRESS AND DESCRIPTOR REGISTERS
  1604					;
  1605	000000'					MMNAM2	U,177600	;USER MODE MEM MGT		*
  1606					;;;;	MMNAM2	S,172200	;SUPERVISOR MODE MEM MGT (NOT FOR 11/34)
  1607	000000'					MMNAM2	K,172300	;KERNEL MODE MEM MGT		*
  1608					;
  1609					; PAGE DESCRIPTOR REGISTER FIELD DEFINITIONS
  1610					;
  1611	000000'					NAMEBT	PDR,0,<,PD.PL6,PD.PL5,PD.PL4,PD.PL3,PD.PL2,PD.PL1,PD.PL0>
  1612	000000'					NAMEBT	,,<PD.A,PD.W,,,PD.ED,PD.AC2,PD.AC1,PD.AC0>
  1613	000000'					FIELD	PD.PLF,PD.PL6,PD.PL0
  1614	000000'					FIELD	PD.ACF,PD.AC2,PD.AC0
  1615					;
  1616					; VIRTUAL ADDRESS DEFINITIONS
  1617					;
  1618		000100				BSFACT	= 100	;BIAS FACTOR, NUMBER OF BYTES PER BLOCK
  1619						.IRP	X,<0,1,2,3,4,5,6,7>
  1620						PAGE'X	= X*20000	;BASE ADDRESS REACHED THROUGH APR'X
  1621						PAGE'X'B	= X*200	;MAPPING BIAS FOR VIRTUAL=PHYSICAL
  1622						.ENDR	;IRP X
  1623		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  06-DEC-79  13:39  PAGE 1-44
C11DTE.MAC    10-AUG-79 16:05			KW11 - LINE TIME CLOCK

  1625					.SBTTL		KW11 - LINE TIME CLOCK
  1626					;
  1627					;KW11 LINE FREQUENCY CLOCK DEFINITIONS
  1628					;
  1629		   001			.IF DF FT.87S
  1630					CLKLVL=	6		; DN87 USES STANDARD PRIORITY LEVEL
  1631					.IFF
  1632		000004			CLKLVL=	4		; CLOCK INTERRUPT PRIORITY LEVEL
  1633		   000			.ENDC
  1634		000100			CLKVEC=	100		; CLOCK VECTOR
  1635					;
  1636		177546			CLKWRD = 177546		; CLOCK STATUS WORD
  1637					;
  1638		000100				KW.INE=B6	; ENABLE INTERRUPTS
  1639		000100				CLKENB=B6	; ENABLE INTERRUPTS
  1640		000200				KW.TIC=B7	; CLOCK MONITOR TOGGLE (CLEARED BY PROGRAM)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-45
C11DTE.MAC    10-AUG-79 16:05			LP11 - LINE PRINTER CONTROLLER

  1642					.SBTTL		LP11 - LINE PRINTER CONTROLLER
  1643					;
  1644		000004			LE.LVL=	4		; PROCESSOR LEVEL FOR LP11 INTERRUPTS
  1645		000200			LE.VEC=	200		; VECTOR LOCATION
  1646					;
  1647		177514			LE0STS = 177514	;STATUS REGISTER FOR 1ST LP11
  1648		177514				LE.STS=LE0STS
  1649					;
  1650		100000				LE.ERR=	B15	; ERROR BIT(POWER OFF, NO PAPER, GATE, TEMP, OFFLINE)
  1651		000200				LE.DNE=	B7	; READY FOR NEXT CHARACTER
  1652		000100				LE.INE=	B6	; INTERRUPT ENABLE
  1653					;
  1654		177516			LE0DAT = 177516	;DATA REGISTER
  1655		177516				LE.DAT=LE0DAT
  1656					;
  1657					;
  1658					;FOR THE SECOND LP11
  1659		177520			LE1STS = 177520
  1660		177522			LE1DAT = 177522
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-46
C11DTE.MAC    10-AUG-79 16:05			LP20 - LINEPRINTER CONTROLLER

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

  1718							LP.VFE=	CHANNEL TYPE ERROR (R)
  1719							LP.PER=	VARIOUS PARITY ERRORS (R)
  1720							LP.MPE=		"
  1721							LP.RPE=		"
  1722							LP.SYN=	SYNCH TIMEOUT (DATA LATE) (R)
  1723							LP.DEM=	DEMAND TIMEOUT (PRINTER HANG) (R)
  1724							LP.GOE=	GO ERROR (R-W)
  1725								.ENDR
  1726									;
  1727		000004			LPBSAD=4			;BUS ADDRESS REGISTER (R-W)
  1728									;
  1729		000006			LPBCTR=6			;BYTE COUNT (2'S COMPLEMENT)
  1730							; BITS	15-12	NOT USED
  1731							;	11-0	BYTE COUNT (R-W)
  1732							;
  1733		000010			LPPCTR=10			;PAGE COUNTER
  1734							; BITS	15-12	NOT USED
  1735							;	11-0	PAGE COUNT (R-W)
  1736							;
  1737		000012			LPRAMD=12			;RAM DATA REGISTER
  1738	000000'					NAMEBT	LPRAMD,0,<,,,LP.RP,LP.RIN,LP.RDL,LP.RTR,LP.RPI>
  1739		007777					RAMDAT = LP.RP - 1	;MASK FOR WRITABLE RAM BITS
  1740		000020					SLEW = 20	;"SLEW" FLAG FOR VFU
  1741							; BITS	15-13	NOT USED
  1742							;	12	RAM PARITY (R)
  1743							;	11-0	RAM DATA (R-W)
  1744							;
  1745		000014			LPCBUF=14			;(BYTE) CHARACTER BUFFER REGISTER (R-W)
  1746		000015			LPCCTR=15			;(BYTE) COLUMN COUNT REGISTER (R-W)
  1747									;
  1748		000016			LPTDAT=16			;(BYTE) PRINTER DATA REGISTER (R)
  1749		000017			LPCKSM=17			;(BYTE) CHECKSUM REGISTER (R)
  1750									;
  1751		000020			LPRBSZ=20			;SIZE OF HARDWARE REGISTER BLOCK
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-48
C11DTE.MAC    10-AUG-79 16:05			MM11-LP PARITY MEMORY

  1753					.SBTTL		MM11-LP PARITY MEMORY
  1754					;
  1755		000114				MP.VEC=114
  1756		000007				MP.LVL=7
  1757					;
  1758		172100			MP.REG=172100		;ADR OF PARITY REGISTER
  1759					;
  1760		100000				MP.ERR=100000	;ERROR BIT
  1761								; BITS 11-5 ERROR ADDRESS
  1762		000004				MP.WWP=000004	;WRITE WRONG PARITY
  1763		000001				MP.ENB=000001	;ENABLE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-49
C11DTE.MAC    10-AUG-79 16:05			PA611 - TYPESET READER/PUNCH

  1765					.SBTTL		PA611 - TYPESET READER/PUNCH
  1766					;
  1767		000007			P6.LVL=	7		; PROCESSOR LEVEL FOR PA611P INTERRUPTS
  1768					;
  1769		000007			R6.LVL=	7		; PROCESSOR LEVEL FOR PA611R INTERRUPTS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-50
C11DTE.MAC    10-AUG-79 16:05			PC11 - PAPER TAPE READER/PUNCH INTERFACE

  1771					.SBTTL		PC11 - PAPER TAPE READER/PUNCH INTERFACE
  1772					;
  1773		000004			PR.LVL=	4		; PROCESSOR LEVEL FOR PC11 READER INTERRUPTS
  1774		000070			PR.VEC=	70		; VECTOR FOR PC11 READER
  1775		000004			PP.LVL=	4		; PROCESSOR LEVEL FOR PC11 PUNCH INTERRUPTS
  1776		000074			PP.VEC=	74		; VECTOR FOR PC11 PUNCH
  1777					;
  1778		177554			PP0STS = 177554	;STATUS REGISTER FOR 1ST PC11 PUNCH
  1779		177554			PP.STS=	177554		; PUNCH STATUS REGISTER
  1780					;
  1781		100000				PP.ERR=	B15	; ERROR BIT (NO TAPE OR NO POWER)
  1782		000200				PP.RDY=	B7	; SET WHEN RREADY TO PUNCH A CHARACTER
  1783		000100				PP.INE=	B6	; INTERRUPT ENABLE
  1784					;
  1785		177556			PP.DAT=	177556		; PUNCH BUFFER REGISTER
  1786					;
  1787		177550			PR0STS = 177550		;STATUS REGISTER FOR 1ST PC11 READER
  1788		177550			PR.STS=	177550		; READER STATUS REGISTER
  1789					;
  1790		100000				PR.ERR=	B15	; ERROR BIT (NO TAPE, NO POWER, OR OFF-LINE)
  1791		004000				PR.BSY=	B11	; SET WHEN A CHARACTER IS BEING READ
  1792		000200				PR.DNE=	B7	; CHARACTER IS AVAILABLE IN THE READER BUFFER
  1793		000100				PR.INE=	B6	; INTERRUPT ENABLE
  1794		000001				PR..RE=	B0	; READER ENABLE
  1795					;
  1796		177552			PR.DAT=	177552		; READER BUFFER REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-51
C11DTE.MAC    10-AUG-79 16:05			TC11 - DECTAPE CONTROLLER

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

  1854		177350			TC.DAT=	177350			; TC11 DATA REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-53
C11DTE.MAC    10-AUG-79 16:05			TM11 - MAGNETIC TAPE CONTROLLER

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

  1912					;
  1913		172524			TM.BCR=	172524			; BYTE COUNT REGISTER
  1914					;
  1915		172526			TM.BAR=	172526			; BYTE ADDRESS REGISTER
  1916					;
  1917		172530			TM.DAT=	172530			; DATA BUFFER
  1918					;
  1919		172532			TM.RDL=	172532			; TU 10 READ LINES
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-55
C11DTE.MAC    10-AUG-79 16:05		END OF DEVICE DEFINITIONS

  1921					.SBTTL	END OF DEVICE DEFINITIONS
  1922					;
  1923					; HERE AGAIN RESIDE THE HIDDEN DEBUGGING AND OTHER SPECIAL MACROS
  1924					;    WHICH ARE HIDDEN IN THE INTEREST OF SAVING ASSEMBLY TIME RESOURCES
  1925					;    AND LARGE AMOUNTS OF PAPER IN LISTING
  2974						.SBTTL MODULE END
  2975						.SBTTL
  2976					;****************************************************************
  2977					;
  2978					;	END OF S - SYMBOL AND MACRO DEFINITION SECTION
  2979					;
  2980					;****************************************************************
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 1-56
C11DTE.MAC    10-AUG-79 16:05

  2982						.ENABLE ABS
  2983		000000			T$$RLD=	0		;*** ASSEMBLE TERTIARY LOADER ***
  2984						.IIF NDF S$$CLD!T$$RLD .TITLE DTEMOP -- DTE20 MOP MODE BOOTSTRAP
  2985						.IIF DF S$$CLD .TITLE DTEMPS -- DTE20 MOP SECONDARY BOOTSTRAP
  2986						.IIF DF T$$RLD .TITLE DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP
  2987						.SBTTL	TITLE PAGE
  2988					;
  2989					;
  2990					; COPYRIGHT (C) 1977,1978 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MA 01754
  2991					;
  2992					;
  2993					;	MODULE:	CHECK11
  2994					;
  2995					;	DATE:	14-NOV-78
  2996					;
  2997					;	AUTHOR:	TOM PORCHER
  2998					;		TOM POWERS
  2999					;		LEE WEBBER
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 2
C11DTE.MAC    10-AUG-79 16:05		TITLE PAGE

  3001
  3002						.SBTTL	MACROS AND DEFINITIONS
  3003					;
  3004					; PARAMETERS (DEFINED IN PARAMETER MODULE)
  3005					;
  3006					;	S$$CLD=	0		;SECONDARY LOADER (FOR TERTIARY) IF DEFINED
  3007					;	T$$RLD=	0		;TERTIARY LOADER IF DEFINED
  3008					;
  3009					; PARAMETERS
  3010					;
  3011					;**	D$$BUG=	0		;DEBUG VERSION IF DEFINED
  3012		000000				E$$CHK=	0		;ERROR CHECKING IF DEFINED
  3013					;**	D$$CHK=	0		;DTE-20 CONSISTENCY CHECKING IF DEFINED
  3014		000000				M$$CHK=	0		;MEMORY LIMIT CHECKING IF DEFINED
  3015		000000				L$$DPR=	0		;ALLOW LOAD PARAMETERS IF DEFINED
  3016		   001			.IF DF T$$RLD
  3017		002000				M$$XSZ=	1024.		;MAX SIZE IS 1K BYTES (0.5K WORDS)
  3018		000000				M$$MGE=	0		;MEMORY MANAGEMENT IF DEFINED
  3019		000000				T$$32K=	0		;ALLOW DTE20 TRANSFERS OVER 32K BOUNDARIES IF DEFINED
  3020					.IFF
  3021						M$$XSZ=	512.		;MAX SIZE IF PROGRAM IS 512. BYTES (256. WORDS)
  3022		   000			.ENDC
  3023					;
  3024					;
  3025					; MISC. MCALLS
  3026					;
  3027						.MCALL	CALL,RETURN
  3028					;
  3029					; MACROS
  3030					;
  3031					.MACRO DEBUG,OP,MSG,ALTOP
  3032					.IF DF D$$BUG
  3033						 OP			;MSG
  3034					.IF NDF PASS2
  3035					.PRINT .-MOP ;MSG
  3036					.ENDC
  3037					.IFF
  3038						 ALTOP
  3039					.ENDC
  3040					.ENDM DEBUG
  3041					;
  3042					.MACRO ERR,CND,MSG,WHERE,?LABEL
  3043					.IF DF D$$BUG
  3044						 .IIF IDN <CND>,<R>,
  3045						 .IIF IDN <CND>,<NE>,BEQ LABEL
  3046						 .IIF IDN <CND>,<EQ>,BNE LABEL
  3047						 .IIF IDN <CND>,<PL>,BMI LABEL
  3048						 .IIF IDN <CND>,<MI>,BPL LABEL
  3049						 .IIF IDN <CND>,<VC>,BVS LABEL
  3050						 .IIF IDN <CND>,<VS>,BVC LABEL
  3051						 .IIF IDN <CND>,<CC>,BCS LABEL
  3052						 .IIF IDN <CND>,<CS>,BCC LABEL
  3053						 .IIF IDN <CND>,<GE>,BLT LABEL
  3054						 .IIF IDN <CND>,<LT>,BGE LABEL
  3055						 .IIF IDN <CND>,<GT>,BLE LABEL
  3056						 .IIF IDN <CND>,<LE>,BGT LABEL
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 2-1
C11DTE.MAC    10-AUG-79 16:05		MACROS AND DEFINITIONS

  3057						 .IIF IDN <CND>,<HI>,BLOS LABEL
  3058						 .IIF IDN <CND>,<LOS>,BHI LABEL
  3059						 .IIF IDN <CND>,<HIS>,BLO LABEL
  3060						 .IIF IDN <CND>,<LO>,BHIS LABEL
  3061					.IFTF
  3062						DEBUG HALT,<ERROR: "MSG">,<B'CND	WHERE'MOPERR>
  3063					.IFT
  3064					LABEL:
  3065					.ENDC
  3066					.ENDM ERR
  3067					;
  3068					.MACRO FIT,BASE,SIZE,STUFF
  3069					.IF DF SIZE&PASS2
  3070					.IF G <<.-BASE>-SIZE>
  3071					 .ERROR <<.-BASE>-SIZE> ; TOO MUCH STUFF
  3072					.IFF
  3073					 .PRINT <SIZE-<.-BASE>> ; FREE FOR STUFF
  3074					.ENDC
  3075					.ENDC
  3076					.ENDM FIT
  3077					;
  3078					;
  3079					; GENERAL BIT DEFINITIONS
  3080					;
  3081		000001			BIT0=	000001
  3082		000002			BIT1=	000002
  3083		000004			BIT2=	000004
  3084		000010			BIT3=	000010
  3085		000020			BIT4=	000020
  3086		000040			BIT5=	000040
  3087		000100			BIT6=	000100
  3088		000200			BIT7=	000200
  3089		000400			BIT8=	000400
  3090		001000			BIT9=	001000
  3091		002000			BIT10=	002000
  3092		004000			BIT11=	004000
  3093		010000			BIT12=	010000
  3094		020000			BIT13=	020000
  3095		040000			BIT14=	040000
  3096		100000			BIT15=	100000
  3097					;
  3098					;
  3099					; MOP DEFINITIONS
  3100					;
  3101		000000			M.PMLT=	0.			;MEMORY LOAD WITH TRANSFER
  3102		000002			M.PMLD=	2.			;MEMORY LOAD
  3103		000004			M.PRMD=	4.			;REQUEST MEMORY DUMP
  3104		000006			M.PEMM=	6.			;ENTER MOP MODE
  3105		000010			M.PRPR=	8.			;REQUEST PROGRAM
  3106		000012			M.PRML=	10.			;REQUEST/ACKNOWLEDGE MEMORY LOAD
  3107		000014			M.PMMR=	12.			;MOP MODE RUNNING
  3108		000016			M.PMDP=	14.			;MEMORY DUMP
  3109		000020			M.PDAP=	16.			;(REMOTE-11) DAP ENVELOPE
  3110		000022			M.PEAM=	18.			;(REMOTE-11) ENTER REMOTE-11 ASCII MODE
  3111		000024			M.PLDP=	20.			;PROGRAM DATA
  3112		000030			M.PLBT=	24.			;LOOPBACK TEST
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 2-2
C11DTE.MAC    10-AUG-79 16:05		MACROS AND DEFINITIONS

  3113					;
  3114					;
  3115					; CPU REGISTER DEFINITIONS
  3116					;
  3117		177570			SWR=	177570			;SWITCH REGISTER
  3118		177776			PS=	177776			;PROCESSOR STATUS WORD
  3119		000340				PR7=	7*BIT5		;PRIORITY 7
  3120					;
  3121					; MEMORY MANAGEMENT REGISTER DEFINITIONS
  3122					;
  3123		177572			SR0=	177572			;STATUS REGISTER 0
  3124					;
  3125		172300			KISDR0=	172300			;KERNAL PAGE DESRIPTOR 0
  3126		172302			KISDR1=	172302			; . . 1
  3127		172304			KISDR2=	172304			; . . 2
  3128		172306			KISDR3=	172306			; . . 3
  3129		172310			KISDR4=	172310			; . . 4
  3130		172312			KISDR5=	172312			; . . 5
  3131		172314			KISDR6=	172314			; . . 6
  3132		172316			KISDR7=	172316			; . . 7
  3133					;
  3134		172340			KISAR0=	172340			;KERNAL PAGE ADDRESS REGISTER 0
  3135		172342			KISAR1=	172342			; . . 1
  3136		172344			KISAR2=	172344			; . . 2
  3137		172346			KISAR3=	172346			; . . 3
  3138		172350			KISAR4=	172350			; . . 4
  3139		172352			KISAR5=	172352			; . . 5
  3140		172354			KISAR6=	172354			; . . 6
  3141		172356			KISAR7=	172356			; . . 7
  3142					;
  3143					;
  3144					; DTE20 REGISTER DEFINITIONS
  3145					;
  3146		000000			DLYCNT=	0			;DELAY COUNTER
  3147		100000				BUSA17=	BIT15		;UNIBUS ADDRESS BIT 17
  3148		040000				BUSA16=	BIT14		;UNIBUS ADDRESS BIT 16
  3149		037777				DLYMSK=	37777		;DELAY COUNTER
  3150		000002			DEXWD3=	2			;DEPOSIT/EXAMINE WORD 3
  3151		000004			DEXWD2=	4			; . . 2
  3152		000006			DEXWD1=	6			; . . 1
  3153		000010			TENAD1=	10			;KL-10 MEMORY ADDRESS 1
  3154		000012			TENAD2=	12			; . . 2
  3155		000014			TO10BC=	14			;TO -10 BYTE (WORD) COUNT
  3156		000016			TO11BC=	16			;TO -11 BYTE (WORD) COUNT
  3157		100000				TO11IB=	BIT15		;INTERRUPT BOTH -10 AND -11 WHEN DONE
  3158		020000				TO11BM=	BIT13		;TO -11 BYTE MODE
  3159		007777				TO11CM=	7777		;BYTE (WORD) COUNT
  3160		000020			TO10AD=	20			;TO -10 ADDRESS
  3161		000022			TO11AD=	22			;TO -11 ADDRESS
  3162		000024			TO10DT=	24			;TO -10 DATA WORD
  3163		000026			TO11DT=	26			;TO -11 DATA WORD
  3164					;
  3165		000030			DIAG1=	30			;DIAGNOSTIC/CONTROL REGISTER 1
  3166		000032			DIAG2=	32			;DIAGNOSTIC REGISTER 2
  3167		000100				DRESET=	BIT6		;(W) DTE20 RESET
  3168		000034			CSTAT=	34			;CONTROL/STATUS REGISTER
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 2-3
C11DTE.MAC    10-AUG-79 16:05		MACROS AND DEFINITIONS

  3169		100000				TO10DN=	BIT15		;(R) TO -10 TRANSFER DONE
  3170		040000				DON10C=	BIT14		;(W) CLEAR TO -10 DONE
  3171		020000				TO10ER=	BIT13		;(R) TO -10 TRANSFER ERROR
  3172		010000				ERR10C=	BIT12		;(W) CLEAR TO -10 TRANSFER ERROR
  3173		004000				TO11DB=	BIT11		;(R/W) TO -11 DOORBELL
  3174		002000				INT11C=	BIT10		;(W) CLEAR TO -11 DOORBELL
  3175		000400				TO10DB=	BIT8		;(R/W) TO -10 DOORBELL
  3176		000200				TO11DN=	BIT7		;(R) TO -11 TRANSFER DONE
  3177		000100				DON11C=	BIT6		;(W) CLEAR TO -11 DONE
  3178		000002				TO11ER=	BIT1		;(R) TO -11 TRANSFER ERROR
  3179		000001				ERR11C=	BIT0		;(W) CLEAR TO -11 TRANSFER ERROR
  3180		000036			DIAG3=	36			;DIAGNOSTIC/CONTROL REGISTER 3
  3181		000001				TO10BM=	BIT0		;(W) TO -10 BYTE MODE
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 3
C11DTE.MAC    10-AUG-79 16:05		MACROS AND DEFINITIONS

  3183
  3184						.SBTTL	MOVE TO TOP OF PHYSICAL MEMORY
  3185					;
  3186					; SECONDARY LOADER:
  3187					; THE BM873-YF, -YG, -YH, -YJ ROM LOADS THIS 256. WORD (512. BYTE) PROGRAM
  3188					; STARTING AT LOCATION 0, THEN TRANSFERS TO LOCATION 0.
  3189					;
  3190					; TERTIARY LOADER:
  3191					; THE SECONDARY LOADER LOADS THIS 1K WORD (2048. BYTE) PROGRAM
  3192					; AND TRANSFERS TO IT AT ITS TRANSFER ADDRESS "DTEMOP"
  3193					;
  3194					;
  3195					; THE FOLLOWING REGISTERS ARE LEFT BY THE ROM OR SECONDARY:
  3196					;	R1 --	ADDRESS OF DTE20 STATUS WORD "CSTAT"
  3197					;
  3198					;
  3199						.DSABL	AMA
  3200	000000				DTEMOP:
  3201	000000					DEBUG HALT,<BOOTSTRAP>,NOP ;(0) MARK START OF BOOTSTRAP
  3202		   001			.IF DF T$$RLD
  3203	000002	012737	000162	000004		MOV	#30$,@#4	;(2,4,6) SET UP TIMEOUT TRAP
  3204	000010	012737	000340	000006		MOV	#PR7,@#6	; (10,12,14) TO TRAP TO US
  3205					.IFF
  3206						BR	10$		;(2) SKIP OVER TIMEOUT CODE
  3207					;
  3208					; TIMEOUT VECTOR-- USED TO FIND TOP OF MEMORY
  3209					;
  3210						.WORD	30$,PR7		;(4,6) WHERE TO GO ON NXM (FIRST ON KT-11, THEN MEMORY S
  3211					;
  3212					10$:
  3213					;
  3214					; WAIT FOR TO -11 DOORBELL IF NOT CLEARED BY ROM
  3215					;
  3216						TSTB	(R1)		;TO -11 DONE?
  3217						BPL	15$		;NO-- DOOBELL HAS BEEN CLEARED
  3218						BIT	#TO11DB,(R1)	;DOORBELL RINGING?
  3219						BEQ	10$		;NO-- WAIT
  3220					15$:
  3221		   000			.ENDC
  3222					;
  3223					; FIND TOP BLOCK OF PHYSICAL MEMORY WHERE WE WILL FIT
  3224					;
  3225	000016	012706	001344			MOV	#STACK-4,SP	;SET STACK
  3226	000022	012700	160000			MOV	#160000,R0	;START AT EXTERNAL PAGE IF NO KT11
  3227		   001			.IF DF M$$MGE
  3228	000026	012702	077406			MOV	#77406,R2	;SET MAX SIZE FOR AN APR
  3229	000032	010237	172300			MOV	R2,@#KISDR0	;SET MAP FOR THIS CODE (THIS WILL TRAP TO 30$ IF NO KT11
  3230	000036	010237	172302			MOV	R2,@#KISDR1	;SET OTHER MAP FOR THIS CODE
  3231	000042	010237	172304			MOV	R2,@#KISDR2	;SET MAP FOR FINDING MEMORY
  3232	000046	010237	172316			MOV	R2,@#KISDR7	; THEN FOR EXTERNAL PAGE
  3233	000052	005037	172340			CLR	@#KISAR0	;SET MAP SEGMENT 0 TO THIS CODE
  3234	000056	012737	000200	172342		MOV	#200,@#KISAR1	;  ALSO MAP SEGMENT 1
  3235	000064	012737	007600	172344		MOV	#7600,@#KISAR2	;START MEMORY LOOKING AT EXTERNAL PAGE
  3236	000072	012737	007600	172356		MOV	#7600,@#KISAR7	;ALSO MAP EXTERNAL PAGE
  3237	000100	012737	000001	177572		MOV	#1,@#SR0	;ENABLE SEGMENTATION
  3238	000106	012700	040000			MOV	#40000,R0	;POINT TO WHERE MAPPING REGISTER 2 MAPS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 3-1
C11DTE.MAC    10-AUG-79 16:05		MOVE TO TOP OF PHYSICAL MEMORY

  3239	000112	012737	000120	000004		MOV	#20$,@#4	;SET TIMEOUT TO KT11 FLAVOR
  3240	000120				20$:
  3241	000120	022626				CMP	(SP)+,(SP)+	;REMOVE TRAP
  3242	000122	162737	000020	172344		SUB	#M$$XSZ/100,@#KISAR2 ;COUNT DOWN BY OUR SIZE
  3243	000130	005710				TST	(R0)		;TRAP BACK TO 20$ IF NON-EX MEM
  3244					;
  3245					; FOUND TOP OF PHYSICAL MEMORY-- NOW COMPUTE PHYSICAL ADDRESS
  3246					;
  3247	000132	013705	172344			MOV	@#KISAR2,R5	;GET PHYSICAL ADDRESS (RIGHT-SHIFTED 6 BITS)
  3248	000136	006305				ASL	R5		;SHIFT
  3249	000140	006305				ASL	R5		; EXTENSION
  3250	000142	006305				ASL	R5		;  BITS TO
  3251	000144	006305				ASL	R5		;   BITS 15-14
  3252	000146	010504				MOV	R5,R4		;COPY IT
  3253	000150	042704	037777			BIC	#^C<BUSA17!BUSA16>,R4 ;TRIM TO RIGHT SIZE
  3254	000154	006305				ASL	R5		;MAKE R5
  3255	000156	006305				ASL	R5		; PHYSICAL ADDRESS
  3256	000160	000411				BR	40$		;GO ON TO MOVE
  3257					.IFTF
  3258					;
  3259					; HERE IF WE MUST FIND TOP OF MEMORY WITHOUT MEMORY MANAGEMENT
  3260					;
  3261	000162				30$:
  3262	000162	022626				CMP	(SP)+,(SP)+	;REMOVE TRAP FROM STACK
  3263	000164	162700	002000			SUB	#M$$XSZ,R0	;DOWN BY ANOTHER BLOCK
  3264	000170	005710				TST	(R0)		;TRAP TO 30$ IF STILL NXM
  3265					;
  3266					; FOUND TOP OF PHYSICAL MEMORY
  3267					;
  3268	000172	010005				MOV	R0,R5		;COPY PHYSICAL ADDRESS
  3269					.IFT
  3270	000174	005004				CLR	R4		;MEMORY EXTENSION= 0
  3271	000176	012767	000240	000514		MOV	#240,CLRSR0	;CHANGE "CLR (SP)" (SR0) TO NO-OP
  3272					.IFF
  3273						CLR	DLYCNT-CSTAT(R1) ;SET MEMORY EXTENSION BITS FOR DTE20 TO 0
  3274		   000			.ENDC
  3275					;
  3276					; WE NOW HAVE R0 POINTING TO THE TOP BLOCK IN MEMORY.
  3277					; SINCE THIS IS POSITION-INDEPENDENT, WE CAN MOVE UP THERE NOW.
  3278					;
  3279					; REGISTERS:
  3280					;	R0 --	VIRTUAL ADDRESS OF WHERE TO MOVE CODE
  3281					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3282					;	R4 --	PHYSICAL ADDRESS OF WHERE TO MOVE CODE (BITS 17-16, IN BITS 15-14)
  3283					;	R5 --	PHYSICAL ADDRESS OF WHERE TO MOVE CODE (BITS 15-0)
  3284					;
  3285	000204				40$:
  3286	000204	010006				MOV	R0,SP		;COPY VIRTUAL ADDRESS
  3287	000206	010067	000744			MOV	R0,PARMAD	;CALCULATE START
  3288	000212	062767	001700	000736		ADD	#M$$XSZ-64.,PARMAD ;OF PARAMETER AREA
  3289	000220	012702	000240			MOV	#MOP,R2		;SET SOURCE ADDRESS
  3290	000224				50$:
  3291	000224	012226				MOV	(R2)+,(SP)+	;MOVE A WORD
  3292	000226	020227	001350			CMP	R2,#STACK	;MOVED ALL THE CODE?
  3293	000232	103774				BLO	50$		;NO-- KEEP ON MOVIN'
  3294	000234	000167	001646			JMP	CHK.11		;INVOKE CHECK11 (WILL CALL MOVED CODE)
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 4
C11DTE.MAC    10-AUG-79 16:05		MOVE TO TOP OF PHYSICAL MEMORY

  3296
  3297						.SBTTL	MOP PROCESSOR
  3298					;
  3299					; THIS POSITION-INDEPENDENT CODE EXECUTES IN THE TOP BLOCK OF PHYSICAL MEMORY
  3300					;
  3301					; REGISTERS:
  3302					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3303					;	R4 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
  3304					;	R5 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
  3305					;	SP --	STACK POINTER (TOP OF VIRTUAL MEMORY)
  3306					;
  3307					; PAGE REGISTERS:
  3308					;	0 --	MAPS TO PHYSICAL 0
  3309					;	1 --	MAPS TO THIS CODE
  3310					;	7 --	MAPS TO EXTERNAL PAGE
  3311					;
  3312	000240				MOP:
  3313	000240					DEBUG HALT,<MOVED TO TOP OF PHYSICAL>
  3314		   001			.IF DF E$$CHK!D$$CHK!M$$CHK
  3315	000240	012761	000100	177776		MOV	#DRESET,DIAG2-CSTAT(R1) ;RESET ALL TRANSFERS IN PROGRESS
  3316	000246	010706				MOV	PC,SP		;SET STACK
  3317	000250	062706	001100			ADD	#STACK-.,SP	; BACK, JACK
  3318	000254	105067	000675			CLRB	LODNUM		;START LOAD AT ZERO
  3319		   002			.IF DF L$$DPR
  3320	000260	105067	000674			CLRB	PRGDAT		;MARK NO PROGRAM DATA YET
  3321		   001			.ENDC
  3322		   000			.ENDC
  3323					;
  3324					; SEND "REQUEST PROGRAM" MESSAGE TO THE -10
  3325					;
  3326	000264	012700	000704			MOV	#REQOPS-MOP,R0	;GET ADDRESS OF MOP "REQUEST PROGRAM"
  3327	000270					CALL	DTESND		;SEND IT TO -10
  3328					;
  3329					; WAIT FOR -10 TO SEND US SOMETHING-- DOORBELL WILL RING
  3330					;
  3331	000274				MOPWAT:
  3332	000274	032711	004000			BIT	#TO11DB,(R1)	;DOORBELL RINGING?
  3333	000300	001775				BEQ	MOPWAT		;NO-- WAIT UNTIL -10 RINGS US
  3334					;
  3335					; THE FIRST TWO BYTES ARE THE BYTE COUNT.
  3336					;
  3337	000302	012700	001064			MOV	#RCVMSG-MOP,R0	;GET ADDRESS OF BYTE COUNT WORD
  3338	000306	011703				MOV	(PC),R3		;SET LARGE COUNT
  3339	000310	012702	000002			MOV	#2,R2		;SET BYTE COUNT
  3340	000314					CALL	DTERCV		;RECEIVE BYTE COUNT
  3341					;
  3342					; THE NEXT BYTE IS THE MOP FUNCTION CODE.
  3343					; THE NEXT BYTE IS THE LOAD NUMBER.
  3344					;
  3345	000320	016703	001000			MOV	BYTCNT,R3	;GET BYTE COUNT NOW
  3346	000324	012702	000002			MOV	#2,R2		;ONE BYTE MOP FUNCTION, ONE BYTE LOAD NUMBER
  3347	000330					CALL	DTERCA		;RECEIVE MOP CODE, ADDRESS IN R0
  3348		   001			.IF DF E$$CHK
  3349					;
  3350					; VERIFY MOP FUNCTION
  3351					;
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 4-1
C11DTE.MAC    10-AUG-79 16:05		MOP PROCESSOR

  3352	000334	116702	000766			MOVB	MOPFNC,R2	;GET MOP FUNCTION
  3353	000340	001406				BEQ	10$		;(M.PMLT) MEMORY LOAD W/TRANSFER-- OK
  3354		   002			.IF DF L$$DPR
  3355	000342	120227	000024			CMPB	R2,#M.PLDP	;PROGRAM DATA?
  3356	000346	001403				BEQ	10$		;YES-- OK
  3357		   001			.ENDC
  3358	000350	120227	000002			CMPB	R2,#M.PMLD	;MEMORY LOAD?
  3359	000354					ERR NE,<INVALID MOP FUNCTION CODE RECEIVED>,MOPFER
  3360	000356				10$:
  3361					;
  3362					; VERIFY LOAD NUMBER
  3363					;
  3364					.IFTF
  3365	000356	116702	000745			MOVB	RCVLDN,R2	;IS LOAD 0?
  3366					.IFT
  3367	000362	001403				BEQ	20$		;YES-- ALWAYS OK
  3368	000364	120267	000565			CMPB	R2,LODNUM	;THIS RIGHT LOAD?
  3369	000370					ERR NE,<WRONG LOAD NUMBER RECIEVED>,MOPFER
  3370	000372				20$:
  3371		   000			.ENDC
  3372	000372	105202				INCB	R2		;BUMP LOAD NUMBER
  3373	000374	110267	000555			MOVB	R2,LODNUM	;STORE LOAD NUMBER
  3374					;
  3375					; RECEIVE DATA INTO MEMORY
  3376					;
  3377	000400	012702	000004			MOV	#4,R2		;SET TO GET LOAD ADDRESS
  3378		   001			.IF DF L$$DPR
  3379	000404	126727	000716	000024		CMPB	MOPFNC,#M.PLDP	;PROGRAM DATA?
  3380	000412	001005				BNE	40$		;NO-- USE ADDRESS
  3381	000414	062700	177630			ADD	#PRGDAT-LODADR,R0 ;YES-- POINT TO PROGRAM DATA STORAGE AREA
  3382	000420	005402				NEG	R2		;GET -4 FOR TRANSFER ADDRESS
  3383	000422	060302				ADD	R3,R2		;GET SIZE LEFT
  3384	000424	000444				BR	60$		;AND RECEIVE PROGRAM DATA
  3385					;
  3386	000426				40$:
  3387		   000			.ENDC
  3388	000426					CALL	DTERCA		; INTO LODADR
  3389	000432	003450				BLE	70$		;ONLY TRANSFER -- DO THAT
  3390	000434	126727	000666	000002		CMPB	MOPFNC,#M.PMLD	;MEMORY LOAD ONLY?
  3391	000442	001402				BEQ	42$		;YES-- ALL IS DATA
  3392	000444	162702	000004			SUB	#4,R2		;NO-- SAVE TRANSFER FOR LATER
  3393	000450				42$:
  3394	000450	016700	000654			MOV	LODADR+0,R0	;GET LOW ADDRESS BITS
  3395		   001			.IF DF M$$MGE
  3396		   002			.IF DF M$$CHK
  3397	000454	010046				MOV	R0,-(SP)	;ALSO SAVE AS ADDRESS RANGE
  3398					.IFTF
  3399	000456	016746	000650			MOV	LODADR+2,-(SP)	;GET HIGH ADDRESS BITS
  3400					.IFT
  3401	000462	032716	177774			BIT	#^C<BIT1!BIT0>,(SP) ;EXTRA BITS SET?
  3402	000466					ERR NE,<LOAD REQUEST ABOVE 128K>,MOPFER
  3403					.IFTF
  3404	000470	006216				ASR	(SP)		;SHIFT
  3405	000472	006016				ROR	(SP)		; TO
  3406	000474	006016				ROR	(SP)		;  BITS 15-14
  3407	000476	042716	037777			BIC	#^C<BUSA17!BUSA16>,(SP) ;TRIM EXCESS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 4-2
C11DTE.MAC    10-AUG-79 16:05		MOP PROCESSOR

  3408					.IFT
  3409	000502	011661	177744			MOV	(SP),DLYCNT-CSTAT(R1) ;SET MEMORY BITS
  3410	000506	060266	000002			ADD	R2,2(SP)	;COMPUTE FINAL TRANSFER ADDRESS
  3411	000512	103003				BCC	44$		;NO CARRY-- GO ON
  3412	000514	062716	040000			ADD	#BUSA16,(SP)	;CARRY INTO THE HIGH PART
  3413	000520					ERR CS,<LOAD REQUEST WRAPS AROUND 128K>,MOPFER
  3414	000522				44$:
  3415	000522	022604				CMP	(SP)+,R4	;VERIFY HIGH ADDRESS
  3416	000524					ERR HI,<LOAD REQUEST ABOVE LOADER>,MOPFER
  3417	000526	103402				BLO	46$		;CHECK LOW ADDRESS ONLY IF EQ
  3418	000530	021605				CMP	(SP),R5		;VERIFY LOW ADDRESS
  3419	000532					ERR HI,<LOAD REQUEST ON OR ABOVE LOADER>,MOPFER
  3420	000534				46$:
  3421	000534	005726				TST	(SP)+		;REMOVE LOW ADDRESS
  3422					.IFF
  3423						MOV	(SP)+,DLYCNT-CSTAT(R1) ;SET MEMORY BITS
  3424		   001			.ENDC
  3425					.IFF
  3426		   002			.IF DF M$$CHK
  3427						TST	LODADR+2	;MAKE SURE HIGH ADDRESS IS ZERO
  3428						ERR NE,<LOAD REQUEST ABOVE LOADER>,MOPFER
  3429						MOV	R0,-(SP)	;ALSO SAVE LOW ADDRESS FOR COMPARE
  3430						ADD	R2,(SP)		;COMPUTE FINAL TRANSFER ADDRESS
  3431						CMP	(SP)+,R5	;VERIFY LOW ADDRESS
  3432						ERR HI,<LOAD REQUEST ON OR ABOVE LOADER>,MOPFER
  3433		   001			.ENDC
  3434		   000			.ENDC
  3435	000536				60$:
  3436	000536					CALL	DTERCA		;RECEIVE THEM BYTES
  3437	000542	003404				BLE	80$		;ALL DONE-- DO ANOTHER REQUEST
  3438					;
  3439					; READ TRANSFER ADDRESS INTO LODADR
  3440					;
  3441	000544	012700	001070			MOV	#LODADR-MOP,R0	;POINT BACK TO VIRTUAL MEMORY
  3442	000550					CALL	DTERCV		;READ THE ADDRESS INTO VIRTUAL MEMORY
  3443	000554				70$:
  3444		   001			.IF DF S$$CLD
  3445						CMPB	MOPFNC,#M.PMLD	;MEMORY LOAD ONLY?
  3446						BNE	90$		;NO-- DO THE TRANSFER
  3447					.IFTF
  3448					;
  3449					; SEND REQUEST FOR NEXT MEMORY LOAD SEGMENT TO THE -10
  3450					;
  3451	000554				80$:
  3452	000554	012700	000712			MOV	#REQMLD-MOP,R0	;GET ADDRESS OF MOP "REQUEST/ACKNOWLEDGE MEMORY LOAD"
  3453	000560					CALL	DTESND		;SEND IT TO -10
  3454					.IFT
  3455						BR	MOPWAT		;AND WAIT FOR ANOTHER REQUEST
  3456					;
  3457					90$:
  3458					.IFF
  3459	000564	126727	000536	000002		CMPB	MOPFNC,#M.PMLD	;MEMORY LOAD ONLY?
  3460	000572	001640				BEQ	MOPWAT		;YES-- WAIT FOR NEXT REQUEST
  3461		   000			.ENDC
  3462					;
  3463					; TRANSFER TO ADDRESS NOW IN LODADR.
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 4-3
C11DTE.MAC    10-AUG-79 16:05		MOP PROCESSOR

  3464					;
  3465		   001			.IF DF M$$CHK
  3466	000574	005767	000532			TST	LODADR+2	;MUST HAVE A VIRTUAL (16-BIT) TRANSFER ADDRESS
  3467	000600					ERR NE,<TRANSFER ADDRESS ABOVE 32K>
  3468		   000			.ENDC
  3469		   001			.IF DF L$$DPR
  3470	000602	010704				MOV	PC,R4		;ADDRESS THE
  3471	000604	062704	000354			ADD	#<PRGDAT-.>,R4	;  RECEIVE BUFFER
  3472	000610	016705	000342			MOV	PARMAD,R5	;  AND THE STANDARD AREA
  3473	000614	005025				CLR	(R5)+		;CLEAR OUT BINARY SECTION
  3474	000616	012700	000006			MOV	#6,R0		;CLEAR OUT
  3475	000622	012725	020040		110$:	MOV	#20040,(R5)+	;  NODE AND HOST
  3476	000626	077003				SOB	R0,110$		;  NAME AREAS
  3477	000630	016705	000322		112$:	MOV	PARMAD,R5	;ADDRESS STANDARD AREA AGAIN
  3478	000634	105714				TSTB	(R4)		;IF THERE ARE NO MORE PARMS,
  3479	000636	001415				BEQ	118$		;  GET OUT OF LOOP
  3480	000640	121427	000002			CMPB	(R4),#2		;NODE NUMBER -
  3481	000644	001405				BEQ	115$		;  WE'RE POSITIONED RIGHT NOW
  3482	000646	005725				TST	(R5)+		;OTHERWISE, BUMP PAST BINARY AREA
  3483	000650	105314				DECB	(R4)		;IF NOT
  3484	000652	001402				BEQ	115$		;  NODE NAME,
  3485	000654	062705	000006			ADD	#6,R5		;  BUMP TO HOST AREA
  3486	000660	105224			115$:	INCB	(R4)+		;PAST PARM TYPE (MAKE IT NON-ZERO)
  3487	000662	112400				MOVB	(R4)+,R0	;PICK UP PARM LENGTH
  3488	000664	112425			116$:	MOVB	(R4)+,(R5)+	;MOVE PARM TO
  3489	000666	077002				SOB	R0,116$		;  STANDARD AREA
  3490	000670	000757				BR	112$		;GO DO NEXT PARM
  3491		   000			.ENDC
  3492					;
  3493	000672	010106			118$:	MOV	R1,SP		;COPY DTE STATUS ADDRESS
  3494	000674	010100				MOV	R1,R0		;  (ALSO TO HERE)
  3495		   001			.IF DF L$$DPR
  3496	000676	116701	000256			MOVB	PRGDAT,R1	;IF THERE IS
  3497	000702	001403				BEQ	120$		;  PROGRAM DATA,
  3498	000704	012701	177777			MOV	#-1,R1		;  FLAG THE FACT
  3499	000710	010102				MOV	R1,R2		;  IN R1 AND R2
  3500		   000			.ENDC
  3501		   001			.IF DF M$$MGE
  3502	000712	062706	177746		120$:	ADD	#DEXWD3-CSTAT,SP ;POINT TO DEXWD3, DEXWD2 FOR CODE
  3503	000716	012726				MOV	(PC)+,(SP)+	;(DEXWD3)
  3504	000720	005016			CLRSR0:	 CLR	(SP)		;TURN OFF SEGMENTATION
  3505	000722	012726				MOV	(PC)+,(SP)+	;(DEXWD2)
  3506	000724	000113				 JMP	(R3)		;TRANSFER TO LOADED CODE.
  3507	000726	016703	000376			MOV	LODADR,R3	;SET TRANSFER ADDRESS
  3508	000732	012706	177572			MOV	#SR0,SP		;ALSO WHERE TO DISABLE SEGMENTATION
  3509	000736					DEBUG HALT,<TRANSFER ADDRESS READY>
  3510	000736	000160	177746			JMP	DEXWD3-CSTAT(R0) ;NOW TURN OFF SEGMENTATION AND TRANSFER.
  3511					.IFF
  3512						DEBUG HALT,<TRANSFER ADDRESS READY>
  3513						JMP	@LODADR		;TRANSFER TO IT.
  3514		   000			.ENDC
  3515		   001			.IF DF E$$CHK!D$$CHK!M$$CHK
  3516					;
  3517					; MOP FORMAT ERROR-- READ REST OF MOP MESSAGE AND REQUEST PROGRAM AGAIN
  3518					;
  3519		   002			.IF DF E$$CHK!M$$CHK
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 4-4
C11DTE.MAC    10-AUG-79 16:05		MOP PROCESSOR

  3520	000742				MOPFER:
  3521	000742	012702	000001			MOV	#1,R2		;READ ONE BYTE
  3522	000746	012700	001324			MOV	#RCVMSG,R0	; INTO RCVMSG
  3523	000752					CALL	DTERCV		;  FROM -10
  3524	000756	003371				BGT	MOPFER		;NOT DONE-- READ ANOTHER
  3525					;	BR	MOPERR		;DONE-- ABORT
  3526		   001			.ENDC
  3527					;
  3528					; ERROR-- BACK TO REQUEST PROGRAM AGAIN
  3529					;
  3530	000760				MOPERR:
  3531		   002			.IF LT <<.-MOP>-256.>
  3532						BR	MOP		;SEND REQUEST PROGRAM
  3533					.IFF
  3534	000760	000167	177254			JMP	MOP		;SEND REQUEST PROGRAM
  3535		   001			.ENDC
  3536		   000			.ENDC
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 5
C11DTE.MAC    10-AUG-79 16:05		MOP PROCESSOR

  3538
  3539						.SBTTL	DTE SUBROUTINES
  3540					;
  3541					; DTESND -- SEND MESSAGE TO DTE20 FROM VIRTUAL
  3542					;	R0 --	ADDRESS WITHIN MOVED CODE TO SEND DATA FROM (BYTE COUNT WORD)
  3543					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3544					;	R4 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
  3545					;	R5 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
  3546					;
  3547	000764				DTESND:
  3548	000764	012711	050000			MOV	#DON10C!ERR10C,(R1) ;RESET TO10DN AND TO10ER
  3549	000770	012761	000001	000002		MOV	#TO10BM,DIAG3-CSTAT(R1) ;SET TO -10 BYTE MODE
  3550		   001			.IF DF M$$MGE
  3551	000776	010461	177744			MOV	R4,DLYCNT-CSTAT(R1) ;SET MEMORY EXTENSION BITS
  3552		   000			.ENDC
  3553		   001			.IF DF D$$CHK
  3554						MOV	R0,-(SP)	;SAVE ADDRESS
  3555					.IFTF
  3556	001002	060500				ADD	R5,R0		;CONVERT TO PHYSICAL
  3557	001004	010061	177764			MOV	R0,TO10AD-CSTAT(R1) ;SET ADDRESS OF MOP MESSAGE
  3558					.IFT
  3559						ADD	#2,R0		;DON'T FORGET THE BYTE COUNT!
  3560						ADD	PC,(SP)		;CONVERT OFFSET WITHIN "MOP" TO VIRTUAL
  3561						ADD	#MOP-.,(SP)	; . .
  3562						ADD	@(SP)+,R0	;UPDATE ADDRESS BY BYTE COUNT
  3563		   000			.ENDC
  3564	001010	012711	002400			MOV	#TO10DB!INT11C,(R1) ;RING -10'S DOORBELL WITH THIS MESSAGE
  3565					;
  3566					; WAIT FOR TO -10 TRANSFER
  3567					;
  3568	001014				10$:
  3569		   001			.IF DF E$$CHK
  3570	001014	032711	120000			BIT	#TO10DN!TO10ER,(R1) ;DONE OR ERROR?
  3571	001020	001775				BEQ	10$		;NOT DONE OR ERROR-- WAIT
  3572	001022					ERR PL,<TO -10 TRANSFER ERROR>
  3573					.IFF
  3574						TST	(R1)		;DONE?
  3575						BPL	10$		;NO-- WAIT
  3576		   000			.ENDC
  3577		   001			.IF DF D$$CHK
  3578						CMP	R0,TO10AD-CSTAT(R1) ;TRANSFER REQUESTED NUMBER OF BYTES?
  3579						ERR NE,<TO -10 TRANSFER WRONG NUMBER OF BYTES>
  3580		   000			.ENDC
  3581	001024					RETURN			;RETURN FROM DTESND
  3582					;
  3583					; DTERCV -- RECEIVE MESSAGE FROM DTE20 VIRTUAL
  3584					;	R0 --	ADDRESS WITHIN MOVED CODE TO STORE DATA
  3585					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3586					;	R2 --	BYTE COUNT TO BE RECEIVED
  3587					;	R3 --	GLOBAL BYTE COUNT
  3588					;	R4 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
  3589					;	R5 --	PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
  3590					;
  3591	001026				DTERCV:
  3592		   001			.IF DF M$$MGE
  3593	001026	010461	177744			MOV	R4,DLYCNT-CSTAT(R1) ;SET EXTENDED MEMORY BITS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 5-1
C11DTE.MAC    10-AUG-79 16:05		DTE SUBROUTINES

  3594		   000			.ENDC
  3595	001032	060500				ADD	R5,R0		;MAKE PHYSICAL ADDRESS
  3596					;
  3597					; DTERCA -- RECEIVE FROM DTE20
  3598					;	R0 --	PHYSICAL RECEIVE ADDRESS (BITS 15-0)
  3599					;	R1 --	VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
  3600					;	R2 --	BYTE COUNT TO BE RECEIVED
  3601					;	R3 --	GLOBAL BYTE COUNT
  3602					;
  3603	001034				DTERCA:
  3604	001034	010061	177766			MOV	R0,TO11AD-CSTAT(R1) ;SET ADDRESS
  3605	001040	060200				ADD	R2,R0		;UPDATE ADDRESS
  3606		   001			.IF DF T$$32K
  3607	001042	103010				BCC	10$		;NO BOUNDARY-- OK
  3608	001044	001407				BEQ	10$		;EXACTLY A BOUNDARY-- OK ALSO
  3609					;
  3610					; THE REQUESTED TRANSFER CROSSES A 32K BOUNDARY-- WE MUST
  3611					;  DO THE TRANSFER IN TWO PIECES
  3612					;
  3613	001046	010046				MOV	R0,-(SP)	;SAVE RESIDUAL COUNT ABOVE BOUNDARY
  3614	001050	160002				SUB	R0,R2		;CHANGE THIS COUNT TO JUST BELOW BOUNDARY
  3615	001052	005000				CLR	R0		;SET FINAL ADDRESS= 0
  3616	001054					CALL	10$		;DO THE FIRST PART OF THE TRANSFER
  3617	001060	012602				MOV	(SP)+,R2	;GET RESIDUAL COUNT
  3618	001062	010200				MOV	R2,R0		;THAT'S FINAL ADDRESS, ALSO
  3619	001064				10$:
  3620		   000			.ENDC
  3621	001064	012711	000101			MOV	#DON11C!ERR11C,(R1) ;RESET TO11DN AND TO11ER
  3622	001070	160203				SUB	R2,R3		;LAST TRANSFER?
  3623	001072	001403				BEQ	20$		;YES-- SET TO11IB TO INDICATE "DONE" TO BOTH PROCESSORS
  3624		   001			.IF DF E$$CHK
  3625	001074					ERR LT,<TO -11 MESSAGE TO SHORT>
  3626		   000			.ENDC
  3627	001076	052702	100000			BIS	#TO11IB,R2	;CLEAR TO11IB (WHEN WE NEG R2)
  3628	001102				20$:
  3629	001102	005402				NEG	R2		;NEGATE BYTE COUNT
  3630	001104	042702	050000			BIC	#^C<TO11IB!TO11BM!TO11CM>,R2 ;CLEAR UNUSED BITS
  3631		   001			.IF DF E$$CHK
  3632	001110					ERR EQ,<TO -11 ZERO BYTE TRANSFER>
  3633		   000			.ENDC
  3634	001112	010261	177762			MOV	R2,TO11BC-CSTAT(R1) ;START TRANSFER
  3635					;
  3636					; WAIT FOR TO -11 TRANSFER
  3637					;
  3638	001116				30$:
  3639		   001			.IF DF E$$CHK
  3640	001116	132711	000202			BITB	#TO11DN!TO11ER,(R1) ;DONE OR ERROR?
  3641	001122	001775				BEQ	30$		;NOT DONE OR ERROR-- WAIT
  3642	001124					ERR PL,<TO -11 TRANSFER ERROR>
  3643					.IFF
  3644						TSTB	(R1)		;DONE?
  3645						BPL	30$		;NO-- WAIT
  3646		   000			.ENDC
  3647		   001			.IF DF D$$CHK
  3648						CMP	R0,TO11AD-CSTAT(R1) ;TRANSFER PROPER NUMBER OF BYTES?
  3649						ERR NE,<TO -11 TRANSFER WRONG NUMBER OF BYTES>
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 5-2
C11DTE.MAC    10-AUG-79 16:05		DTE SUBROUTINES

  3650		   000			.ENDC
  3651		   001			.IF DF T$$32K
  3652	001126	005700				TST	R0		;THIS TRANSFER CROSS A 32K BOUNDARY?
  3653	001130	001003				BNE	40$		;NO-- ALL OK
  3654	001132	062761	040000	177744		ADD	#BUSA16,DLYCNT-CSTAT(R1) ;YES-- BUMP ADDRESS BITS
  3655	001140				40$:
  3656		   000			.ENDC
  3657	001140	010302				MOV	R3,R2		;GET REMAINING COUNT, AND TST IT
  3658	001142					RETURN			;RETURN FROM DTERCV/DTERCA
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 6
C11DTE.MAC    10-AUG-79 16:05		DTE SUBROUTINES

  3660
  3661						.SBTTL	DATA
  3662					;
  3663					; MOP MESSAGE "REQUEST PROGRAM"
  3664					;
  3665	001144				REQOPS:
  3666	001144	000004				.WORD	REQOPZ		;(2 BYTES) BYTE COUNT
  3667	001146	   010				.BYTE	M.PRPR		;(0) FUNCTION = REQUEST PROGRAM
  3668	001147	   024				.BYTE	20.		;(1) DEVICE TYPE = DTE20/11
  3669	001150	   001				.BYTE	1		;(2) STATION ADDRESS = 1
  3670		   001			.IF DF S$$CLD
  3671						.BYTE	1		;(3) PROGRAM TYPE = TERTIARY LOADER
  3672					.IFF
  3673	001151	   002				.BYTE	2		;(3) PROGRAM TYPE = OPERATING SYSTEM
  3674		   000			.ENDC
  3675		000004			REQOPZ=	.-REQOPS-2
  3676						.EVEN
  3677					;
  3678					; MOP MESSAGE "REQUEST/ACKNOWLEDGE MEMORY LOAD"
  3679					;
  3680	001152				REQMLD:
  3681	001152	000002				.WORD	REQMLZ		;(2 BYTES) BYTE COUNT
  3682	001154	   012				.BYTE	M.PRML		;(0) FUNCTION = REQUEST/ACKNOWLEDGE MEMORY LOAD
  3683	001155	   000			LODNUM:	.BYTE	0		;(1) LOAD NUMBER (START AT 0)
  3684		000002			REQMLZ=	.-REQMLD-2
  3685					;
  3686					; LOAD PARAMETER BLOCK FOR PROGRAM
  3687					;
  3688		   001			.IF DF L$$DPR
  3689	001156	000000			PARMAD:	.WORD	0		;VIRTUAL ADDRESS OF STANDARD PROGRAM DATA AREA
  3690	001160				PRGDAT:
  3691	001160	   000				.BYTE	0		;FIRST BYTE INDICATES EXISTENCE
  3692					.IFTF
  3693	001161					FIT DTEMOP,M$$XSZ,<CODE>
  3694					.IFT
  3695	001161	000143				.BLKB	100.-1		;LOAD PARAMETERS FOR PROGRAM
  3696		   000			.ENDC
  3697					;
  3698					; RECEIVED MOP MESSAGE
  3699					;
  3700						.EVEN
  3701	001324				RCVMSG:
  3702	001324	000001			BYTCNT:	.BLKW	1		;BYTE COUNT
  3703	001326	000001			MOPFNC:	.BLKB	1		;MOP FUNCTION
  3704	001327	000001			RCVLDN:	.BLKB	1		;LOAD NUMBER RECEIVED
  3705	001330	000004			LODADR:	.BLKB	4		;LOAD ADDRESS/TRANSFER ADDRESS
  3706					;
  3707					; STACK
  3708					;
  3709						.EVEN
  3710	001334	000006				.BLKW	6
  3711	001350				STACK:
  3712					;
  3713	001350					FIT MOP,M$$XSZ,<MOVED CODE>
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 7
C11DTE.MAC    10-AUG-79 16:05		DATA

  3715
  3716					.TITLE CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC
  3717					.SBTTL CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC
  3718					;  22 SEP 1977 DMCC/EGF/JBS/LAD/EJW/TEP
  3719					;
  3720					;
  3721					;
  3722					; THIS CODE IS EXECUTED ONCE AND THEN OVERLAID
  3723					;
  3724					;
  3725					;
  3726					;
  3727					; THE CALL TO CHK11 IS AS FOLLOWS:
  3728					;	JSR	PC,CHK.11
  3729					;	.WORD	PTR	;POINTER TO ASCIZ NAME STRING AND EDIT POINTERS
  3730					;	RETURNS TO CALLER FOLLOWING POINTER WORD
  3731					;
  3732					;	CHK11 WILL DETERMINE WHAT HARDWARE IS PRESENT
  3733					;	  AND WILL PERFORM A FEW SIMPLE DIAGNOSTIC TESTS OF THE HDW
  3734					;
  3735					;	FOR DEV = < DH11, DM11BB, DP11, DQ11, DS11, DU11>
  3736					;	CHK11 WILL:	JSR PC,CKA'DEV
  3737					;			WITH (R3) = DEVICE VECTOR
  3738					;			AND (R4) = DEVICE ADR
  3739					;			AND (R1) = DEVICE ADR
  3740					;	ONCE FOR EACH DEVICE AND A FINAL:
  3741					;			JSR	PC,CKA'DEV WITH (R4)=0
  3742					;
  3743					; ALL SYMBOLS BEGINING CHK OR CK ARE RESERVED FOR CHK11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 7-1
C11DTE.MAC    10-AUG-79 16:05		CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC

  3745						.ENABL	AMA
  3746					; VERSION INFORMATION
  3747					;
  3748	001350	005015	006012	044103	CKNAME:	.ASCIZ	<15><12><12><14>"CHK11 HARDWARE TEST"
	001356	030513	020061	040510
	001364	042122	040527	042522
	001372	052040	051505	000124
  3749						.EVEN
  3750	001400	000002	000101	000021		.WORD	CKVMAJ,CKVMIN,CKVEDI
  3751	001406	001412	001424			.WORD	CKVWHN,CKVWHO
  3752					;
  3753		000002			CKVMAJ	= 2	;MAJOR VERSION NUMBER
  3754		000101			CKVMIN	= 'A	;MINOR VERSION LETTER (AS 'A)
  3755		000021			CKVEDI	= 17.	;EDIT NUMBER
  3756		000001				ED.HIS	= 1		;TYPE OUT DETAILS
  3757	001412	030061	040455	043525	CKVWHN:	.ASCIZ	"10-AUG-79"	;LAST EDIT DATE
	001420	033455	000071
  3758						.EVEN
  3759	001424	042114	000127		CKVWHO:	.ASCIZ	"LDW"		;LAST EDITOR
  3760						.EVEN
  3761					;
  3762					;
  3763					;
  3764					;BE SURE ALL THE REGS ARE DEFINED PROPERLY
  3765					;
  3766		000000				R0=%0
  3767		000001				R1=%1
  3768		000002				R2=%2
  3769		000003				R3=%3
  3770		000004				R4=%4
  3771		000005				R5=%5
  3772		000006				R6=%6
  3773		000006				SP=%6
  3774		000007				R7=%7
  3775		000007				PC=%7
  3776					;
  3777					.IIF NDF FTKG11,FTKG11=	1	;0 IF KG11 MUST BE PRESENT
  3778					;
  3779					;OTHER DEFAULTS
  3780						.IIF NDF FLOATV FLOATV=	300	;FIRST FLOATING VECTOR
  3781						.IIF NDF FLOATD FLOATD=	160000	;FLOATING DEVICES BEGIN HERE
  3782					;
  3783					.IIF NDF DL10AD,DL10AD=.
  3784	001430	000001				.BLKW	1		;PUT DL10 ADR HERE IF NOWHERE ELSE
  3785					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 7-2
C11DTE.MAC    10-AUG-79 16:05		CHK11 MACROS

  3787					.SBTTL	CHK11 MACROS
  3788					.SBTTL		CK11SC
  3789					;
  3790					;THIS MACRO IS USED FOR TYPING TEXT AND ERROR REPORTING.
  3791					;
  3792					;	ARG	BITS	;WHAT TO DO ON A TRAP
  3793		000001					CKEFAT=	B0	;FATAL ERROR - HALT
  3794		000002					CKEPC=	B1	;PRINT ADDRESS OF ERROR TRAP
  3795		000004					CKEMSG=	B2	;PRINT THE MESSAGE FOLLOWING CK11SC
  3796		000010					CKEDID=	B3	;PRINT DEVICE ID AND REG
  3797		000020					CKEMSE=	B4	;PRINT THE MESSAGE POINTED TO BY
  3798									; THE ADDRESS FOLLOWING THE TRAP.
  3799		000040					CKENCL=	B5	;PRINT TEXT WITH OUT CR+LF
  3800		000100					CKEGB=	B6	;PRINT ADR/REG=XXXXX GD=XXXXX  BD=XXXXX XOR=XXXXX
  3801					;
  3802					;	ARG	MSG	;TEXT TO BE OUTPUT
  3803					;
  3804					;	ARG	COMENT	;ADD A COMMENT TO THE TRAP INSTRUCTION
  3805					;
  3806					;	ARG	STOPCD	;ON A FATAL ERROR VALUE TO BE PUT IN R0
  3807					;
  3808					.MACRO	CK11SC	BITS,MSG,COMENT,STOPCD
  3809					.IIF NB,STOPCD,	MOV	#STOPCD,CKSPCD	;VALUE TO DISPLAY ON FATAL ERROR
  3810						    .IF B <MSG>
  3811						TRAP	BITS		;COMENT
  3812						    .IFF ;B <MSG.>
  3813						    .IF	EQ,<BITS&CKEMSE>
  3814						TRAP	BITS!CKEMSG		;COMENT
  3815					;;;;	ASCIZ	<MSG>			;MESSAGE TEXT FOLLOWS TRAP
  3816						    .IFF
  3817						TRAP	BITS&<^CCKEMSG>		;COMENT
  3818						.WORD	MSG			;ADR OF MESSAGE FOLLOWS TRAP
  3819						    .ENDC ;EQ <BITS..>
  3820						    .ENDC ;B <MSG.>
  3821					.ENDM	CK11SC
  3822					;
  3823					;
  3824					;THIS MACRO IS USED FOR SAVING GOOD, BAD, AND ADR ON THE STACK
  3825					;PRIOR TO INVOKING CK11SC
  3826					;
  3827					;	ARG	GD		;GOOD DATA
  3828					;	ARG	BD		;BAD DATA
  3829					;	ARG	ADR		;ADDRESS WHERE IT HAPPENED
  3830					;
  3831					.MACRO	CKSERR	GD,BD,ADR
  3832						MOV	GD,-(SP)			;SAVE GOOD (GD) ON STACK
  3833						MOV	BD,-(SP)			;SAVE BAD (BD) ON STACK
  3834						MOV	ADR,-(SP)		;SAVE ADDRESS (ADR) ON STACK
  3835					.ENDM	CKSERR
  3836					;
  3837					.MACRO	ABORT
  3838						CK11SC	CKEFAT
  3839					.ENDM	ABORT
  3840					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 7-3
C11DTE.MAC    10-AUG-79 16:05			$CKINT

  3842					.SBTTL		$CKINT
  3843					;
  3844					;THIS MACRO IS USED TO CHECK INTERRUPT CONDITIONS
  3845					;
  3846					;	ARG	ENBADR		;DEVICE ADR TO ENABLE INTERRUPTS
  3847					;
  3848					;	ARG	INTADR		;DEVICE ADR TO GENERATE AN INTERRUPT
  3849					;
  3850					;	ARG	ENLBIT		;BIT TO ENABLE INTERRUPTS
  3851					;
  3852					;	ARG	INTBIT		;BITS TO CHECK INTERRUPT CONDITIONS
  3853					;
  3854					;	ARG	BITCLR		;BITS TO CLEAR INTERRUPT CONDITIONS
  3855					;				;IF CLEARING INTERRUPT BITS WON'T CLEAR
  3856					;				;THEM.  [EXAMPLE - DL10]
  3857					;
  3858					.MACRO	$CKINT	ENBADR,INTADR,ENLBIT,INTBIT,BITCLR
  3859					.IIF	NB,ENBADR,	MOV	ENBADR,R1			;LOAD ENABLE ADR
  3860					.IIF	NB,INTADR,	MOV	INTADR,R2			;LOAD INTERRUPT ADR
  3861						JSR	R5,CKINT	;GO CHECK INTERRUPTS
  3862						    .IIF NDF I.$$$$,I.XXXX = .
  3863						    .IIF NDF I.$$$$,I.ENAB = . - I.XXXX
  3864						.WORD	ENLBIT		;ENABLE BITS -  ENLBIT
  3865						    .IIF NDF I.$$$$,I.INTS = . - I.XXXX
  3866						.WORD	INTBIT		;INTERRUPT BITS -  INTBIT
  3867						    .IIF NDF I.$$$$,I.INTC = . - I.XXXX
  3868						.WORD	BITCLR+0	;BITS TO CLEAR DEVICE - ARG MAY BE BLANK
  3869						    .IIF NDF I.$$$$,I.RTRN = . - I.XXXX
  3870						    .IIF NDF I.$$$$,I.$$$$ = 0
  3871					.ENDM
  3872					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 7-4
C11DTE.MAC    10-AUG-79 16:05			DEVICE

  3874					.SBTTL		DEVICE
  3875					;
  3876					;THIS MACRO IS USED TO TO CALL THE ROUTINE TO CHECK A DEVICE
  3877					;AND ASSIGN THE FLOATING ADDRESS AND VECTORS IF THE DEVICE
  3878					;IS THE TYPE THAT REQUIRES IT.
  3879					;
  3880					;	ARG	A	;DEVICE ADDRESS OR 0 IF FLOATING DEVICE
  3881					;	ARG	MAXN	;MAXIMUM NUMBER OF DEVICES
  3882					;	ARG	VI	;VECTOR INCREMENT
  3883					;	ARG	HI	;HARDWARE INCREMENT
  3884					;	ARG	VM	;VECTOR MULTIPLE
  3885					;	ARG	NAM	;DEVICE NAME ABBREVIATION
  3886					;	ARG	FV	;FIRST VECTOR ADR (FIXED DEV ONLY)
  3887					;
  3888					.MACRO	DEVICE	A,MAXN,VI,HI,VM,NAM,FV
  3889						    .IF DF X'NAM'11
  3890						X'NAM'$$=X'NAM'11	;IF A LOCAL DIAGNOSTIC IS DEFINED, USE IT
  3891						    .IFF
  3892						X'NAM'$$=X.....		;ELSE USE NULL DIAGNOSTIC
  3893						    .ENDC ;DF X'NAM'11
  3894									;
  3895									;
  3896						    .IF DF CKA'NAM'11
  3897						CKA'NAM'$$=CKA'NAM'11	;IF PROGRAM ENTRY DEFINED, USE IT
  3898						    .IFF
  3899						CKA'NAM'$$=CKPOPJ	;ELSE USE NULL SUBROUTINE
  3900						    .ENDC ;DF CKA'NAM'11
  3901									;
  3902									;
  3903						    .IF DF CKV'NAM'11
  3904						CV'NAM'$$=CKV'NAM'11	;IF REAL VECTOR DEFINED, USE IT
  3905						    .IFF
  3906						CV'NAM'$$=0		;ELSE IGNORE EVERYTHING
  3907						    .ENDC ;DF CKV'NAM'11
  3908									;
  3909									;
  3910						.IIF NDF,NAM'.LVL,NAM'.LVL=0	;USE LEVEL NAME IF IT EXISTS
  3911										;
  3912						JSR	R5,CHKDEV		;CALL DEVICE ANALYZER
  3913						    .IIF NDF D.$$$$,D.XXXX=.	;FIRST TIME THROUGH (ONLY)
  3914										; THE OFFSETS ARE DEFINED
  3915						    .IIF NDF D.$$$$,D.BADR=.-D.XXXX
  3916						.WORD	A		;1ST NAM'11 ADR IS A
  3917						    .IIF NDF D.$$$$,D.MAXL=.-D.XXXX
  3918						.BYTE	<MAXN>		;MAXIMUM NUMBER OF NAM'11 IS MAXN,
  3919						    .IIF NDF D.$$$$,D.VINC=.-D.XXXX
  3920						.BYTE	<VI>		;VECTOR INCREMENT IS VI
  3921						    .IIF NDF D.$$$$,D.HINC=.-D.XXXX
  3922						.BYTE	<HI>		;HARDWARE INCREMENT IS HI,
  3923						    .IIF NDF D.$$$$,D.VMUL=.-D.XXXX
  3924						.BYTE	<VM>		;1ST VECTOR MULTIPLE IS VM
  3925						    .IIF NDF D.$$$$,D.CNTP=.-D.XXXX
  3926						.WORD	0		;WILL BECOME NUMBER OF DEVICES
  3927						    .IIF NDF D.$$$$,D.NAMP=.-D.XXXX
  3928						.WORD	N.'NAM'11		;ADDRESS OF ASCIZ NAME STRING
  3929						    .IIF NDF D.$$$$,D.DIAG=.-D.XXXX
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 7-5
C11DTE.MAC    10-AUG-79 16:05			DEVICE

  3930						.WORD	X'NAM'$$		;ADDRESS OF ROUTINE TO CHECK DEVICE
  3931						    .IIF NDF D.$$$$,D.MAIN=.-D.XXXX
  3932						.WORD	CKA'NAM'$$		;CALL FOR MAIN PROGRAM (CKA'NAM'11)
  3933						    .IIF NDF D.$$$$,D.MPVC=.-D.XXXX
  3934						.WORD	CV'NAM'$$		;POINTS TO VECTOR SETUP TABLE
  3935						    .IIF NDF D.$$$$,D.CNTF=.-D.XXXX
  3936						.WORD	0		;WILL CONTAIN NUMBER OF NAM'11 FOUND
  3937						    .IIF NDF D.$$$$,D.FRSV=.-D.XXXX
  3938						.WORD	0		;WILL CONTAIN FIRST NAM'11 VECTOR ADR
  3939						    .IIF NDF D.$$$$,D.PRIO=.-D.XXXX
  3940						.WORD	NAM'.LVL*40	;CONTAINS NAM'11 PI LEVEL
  3941						    .IIF NDF D.$$$$,D.FVFD=.-D.XXXX
  3942						.WORD	FV		;DEVICE FIRST VECTOR (FIXED DEV ONLY)
  3943						    .IIF NDF D.$$$$,D.NEXT=.-D.XXXX
  3944						    .IIF NDF D.$$$$,D.$$$$=0	;DEFINE DEFINITION STOPPER
  3945					.ENDM	DEVICE
  3946					;
  3947					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 8
C11DTE.MAC    10-AUG-79 16:05			DEVICE

  3949
  3950					.SBTTL		CHKCHR
  3951					;
  3952					;THIS MACRO IS USED FOR SETTING CHARACTERISTICS TABLE
  3953					;
  3954					;	ARG	DA		;DEVICE ADDRESS TO PUT IN CHARACTERISTICS TABLE
  3955					;
  3956					;	ARG	DV		;DEVICE VECTOR ADDRESS TO PUT IN TABLE
  3957					;
  3958					;	ARG	PI		;DEVICE PI LEVEL TO PUT IN TABLE
  3959					;
  3960					.MACRO	CHKCHR	DA,DV,PI
  3961					.IIF NB,<DA>,	MOV	DA,CHKCHR+CKDA	;PUT DA IN DEVICE ADR SLOT
  3962					.IIF NB,<DV>,	MOV	DV,CHKCHR+CKDV	;PUT DV IN DEVICE VEC SLOT
  3963					.IIF NB,<PI>,	MOV	PI,CHKCHR+CKPI	;PUT PI IN DEVICE INT LVL SLOT
  3964					.ENDM	CHKCHR
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 8-1
C11DTE.MAC    10-AUG-79 16:05			CKVECT, CKVEC1

  3966					.SBTTL		CKVECT, CKVEC1
  3967					;
  3968					;"CKVECT" INVOKES "CKVEC1" TO BUILD A TABLE
  3969					;FOR EACH DEVICE.  THE INFORMATION IN THE TABLE IS OF THE FOLLOWING FORM:
  3970					;
  3971					;	CKV'NAM'11:
  3972					;		.BYTE	NUMBER OF MAIN ROUTINES
  3973					;		.BYTE	NUMBER OF VECTORS PER DEV
  3974					;		.WORD	NAM'VA'NUM
  3975					;
  3976					;	EXAMPLE:
  3977					;
  3978					;	1.	MAIN PROGRAM HAS 1 DQ11
  3979					;		THE MAIN PROGRAM MUST GIVE DQ #0 VECTOR A THE TAG:  DQVA0
  3980					;					   DQ #0 VECTOR B THE TAG:  DQVB0
  3981					;	THE RESULTING TABLE WILL BE:
  3982					;
  3983					;	CKVDQ11:.BYTE	1,2
  3984					;		DQAV0
  3985					;		DQBV0
  3986					;
  3987					;	2.	MAIN PROGRAM HAS 2 DQ11'S
  3988					;		THE MAIN PROGRAM MUST GIVE DQ #0 VECTOR A THE TAG:  DQVA0
  3989					;					   DQ #0 VECTOR B THE TAG:  DQVB0
  3990					;					   DQ #1 VECTOR A THE TAG:  DQVA1
  3991					;					   DQ #1 VECTOR B THE TAG:  DQVB1
  3992					;
  3993					;	THE RESULTING TABLE WILL BE:
  3994					;
  3995					;	CKVDQ11:.BYTE	2,2
  3996					;		DQVA0
  3997					;		DQVB0
  3998					;		DQVA1
  3999					;		DQVB1
  4000					;
  4001					;
  4002					;	ARG	NAM		;NAME (2 CHARACTERS)
  4003					;	ARG	NUMV		;NUMBER OF VECTORS PER DEVICE
  4004					;	ARG	MAXN		;MAXIMUM NUMBER OF DEVICES OF A TYPE
  4005					;
  4006					.MACRO	CKVECT	NAM,NUMV,MAXN
  4007					CKZQZQ=0
  4008					CV'NAM'11:.BYTE	NAM'QQQ,NUMV			;NUM OF VEC FOR EACH NAM'11 IS NUMV
  4009					NAM'QQQ=0				;DEFINE AND SET TO 0
  4010						.REPT	MAXN
  4011						CKVEC1	NAM,NUMV,\CKZQZQ
  4012						CKZQZQ=CKZQZQ+1
  4013						.ENDR
  4014					.ENDM	CKVECT
  4015					;
  4016					;
  4017					;
  4018					;
  4019					.MACRO	CKVEC1	NAM,NUMV,NUM
  4020						    .IF DF,NAM'VA'NUM
  4021						NAM'QQQ=NAM'QQQ+1		;COUNT NUMBER IN MAIN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 8-2
C11DTE.MAC    10-AUG-79 16:05			CKVECT, CKVEC1

  4022					.IIF GE,<NUMV-1>,	.WORD	NAM'VA'NUM		;VECTOR A FOR DEV NAM'11
  4023					.IIF GE,<NUMV-2>,	.WORD	NAM'VB'NUM		;VECTOR B FOR DEV NAM'11
  4024					.IIF GE,<NUMV-3>,	.WORD	NAM'VC'NUM		;VECTOR C FOR DEV NAM'11
  4025					.IIF GE,<NUMV-4>,	.WORD	NAM'VD'NUM		;VECTOR D FOR DEV NAM'11
  4026						    .ENDC
  4027					.ENDM	CKVEC1
  4028					;
  4029					.MACRO	LDVECT	DEV
  4030						    .IF DF DEV'INT
  4031						MOV	#DEV'INT,DEV'VEC		;SET DEV TO GO TO DEV'VEC
  4032						MOV	#DEV'LVL*40,DEV'VEC+2		; AND SET THE LEVEL.
  4033						    .IFF
  4034						MOV	0,@#0			;LEAVE ROOM FOR ENTRY TO BE PATCHED
  4035						MOV	2,@#2			;
  4036						    .ENDC
  4037					.ENDM	LDVECT
  4038					 
  4039					;
  4040					;  LIMIT FOR INTERRUPT VECTORS WHICH CHECK11 WILL MONITOR
  4041					;
  4042					 
  4043		001300			$$HERE	= <CKNAME-DTEMOP>&177700	;ABSOLUTE ADDRESS OF TOP OF CHK11
  4044		   001				.IF LT,<1000-$$HERE>
  4045	001432	001300			VCTLIM:	.WORD	$$HERE
  4046						.IFF
  4047					VCTLIM:	.WORD	1000
  4048		   000				.ENDC
  4049					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 8-3
C11DTE.MAC    10-AUG-79 16:05		CHK11 DEVICE NAME TABLE

  4051					.SBTTL	CHK11 DEVICE NAME TABLE
  4052					;
  4053					.MACRO	NAMSTR	DEV,ABBR
  4054					N.'ABBR'11:
  4055							.ASCIZ	"DEV"
  4056					.ENDM	NAMSTR
  4057					;
  4058					;NOTE: THIS LIST IS ALPHABETIZED BY DEVICE NAME, NOT DEVICE ABBREVIATION
  4059					;
  4060	001434					NAMSTR	<CD20>,CD
  4061	001441					NAMSTR	<CR11>,CR
  4062	001446					NAMSTR	<CTY IN>,CI
  4063	001455					NAMSTR	<CTY OUT>,CO
  4064	001465					NAMSTR	<DH11>,DH
  4065	001472					NAMSTR	<DJ11>,DJ
  4066	001477					NAMSTR	<DL10>,DL0
  4067	001504					NAMSTR	<DL11-A>,DL.A
  4068	001513					NAMSTR	<DL11-E>,DL.E
  4069	001522					NAMSTR	<DM11-BB>,DM
  4070	001532					NAMSTR	<DMC11>,DMC
  4071	001540					NAMSTR	<DN11>,DN
  4072	001545					NAMSTR	<DP11>,DP
  4073	001552					NAMSTR	<DQ11>,DQ
  4074	001557					NAMSTR	<DS11>,DS
  4075	001564					NAMSTR	<DTE20>,DTE2
  4076	001572					NAMSTR	<DU11>,DU
  4077	001577					NAMSTR	<DUP11>,DUP
  4078	001605					NAMSTR	<DV11>,DV
  4079	001612					NAMSTR	<DZ11>,DZ
  4080	001617					NAMSTR	<KG11-A>,KG
  4081	001626					NAMSTR	<KMC11>,KMC
  4082	001634					NAMSTR	<KT11>,KT
  4083	001641					NAMSTR	<KW11-L>,KW.L
  4084	001650					NAMSTR	<KW11-P>,KW.P
  4085	001657					NAMSTR	<LK11>,LK
  4086	001664					NAMSTR	<LP11>,LE
  4087	001671					NAMSTR	<LP20>,LP
  4088	001676					NAMSTR	<MF11-UP>,MM
  4089	001706					NAMSTR	<null device>,NL
  4090	001722					NAMSTR	<PA611-P>,P6
  4091	001732					NAMSTR	<PA611-R>,R6
  4092	001742					NAMSTR	<PP11>,PP
  4093	001747					NAMSTR	<PR11>,PR
  4094	001754					NAMSTR	<RC11>,RC
  4095	001761					NAMSTR	<RF11>,RF
  4096	001766					NAMSTR	<RK11>,RK
  4097	001773					NAMSTR	<RH11>,RH
  4098	002000					NAMSTR	<RP11-C>,RP
  4099	002007					NAMSTR	<RX11>,RX
  4100	002014					NAMSTR	<TA11>,TA
  4101	002021					NAMSTR	<TC11>,TC
  4102	002026					NAMSTR	<TM11>,TM
  4103		002034				.EVEN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 8-4
C11DTE.MAC    10-AUG-79 16:05		CHK11 DEVICE NAME TABLE

  4105	002034	000001			CHKFLG:	.BLKW	1		;CHK11 FLAGS
  4106		000001				CKFERR=	B0		;ERROR DETECTED
  4107		100000				CKFIDT=	B15		;ID ALREADY TYPED
  4108	002036	000001			CKDEVN:	.BLKW	1		;UNIT # CURRENTLY BEING TESTED
  4109	002040	000001			CKDNAM:	.BLKW	1		;ADR OF DEVICE NAME(.ASCIZ)
  4110					;
  4111	002042	000001			CK.CAL:	.BLKW	1		;RETURN ADDRESS TO CALLER OF CHK11
  4112	002044	000001			CK.DTE:	.BLKW	1		;DTE CSR ADDRESS (FOR REMOTE REPORTING)
  4113					;
  4114	002046	000001			PHYLIM:	.BLKW	1		;LIMIT OF PHYSICAL MEMORY (BLOCKS)
  4115		000060			NLINES	= 48.			;NUMBER OF DMC/KMC LINES, 4 PER DEVICE
  4116	002050	000000			MDCSRP:	.WORD	0		;POINTER INTO MDCSR TABLE
  4117	002052	000000	000000	000000	MDCSR:	.WORD	0,0,0,0,0,0,0,0	; (TWELVE ENTRIES FOR NOW)
	002060	000000	000000	000000
	002066	000000	000000
  4118	002072	000000	000000	000000			0,0,0,0		;
	002100	000000
  4119					;
  4120	002102	000207			CKPOPJ:	RTS	PC		;CKPOPJ IS THE GENERAL NULL SUBROUTINE
  4121	002104	000000			CKHALT:	HALT			;CKHALT IS THE HARD ERROR ROUTINE
  4122					.IIF NDF CKADLX,CKADLX=CKPOPJ
  4123					.IIF NDF CKAMEM,CKAMEM=CKPOPJ
  4124					.IIF NDF CKAKW1,CKAKW1=CKPOPJ
  4125					.IIF NDF CKAKG1,CKAKG1=CKPOPJ
  4126					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 9
C11DTE.MAC    10-AUG-79 16:05		CHK11 DEVICE NAME TABLE

  4128
  4129					.SBTTL **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
  4130					;
  4131	002106				CHK.11:	SPL	7		;PROCESSOR LEVEL TO 7
  4132	002114	010137	002044			MOV	R1,CK.DTE	;SAVE THE
  4133	002120	010446				MOV	R4,-(SP)	;  LOADER'S
  4134	002122	010546				MOV	R5,-(SP)	;  REGISTERS
  4135	002124	010037	002042			MOV	R0,CK.CAL	;SAVE RETURN ADDRESS
  4136	002130	012705	016616			MOV	#CHKSTK,R5	;GET OUR OWN STACK
  4137	002134	010645				MOV	SP,-(R5)	;CHAIN TO CALLER'S STACK
  4138	002136	010506				MOV	R5,SP		;SWITCH CONTROL
  4139	002140	012737	000300	011502		MOV	#FLOATV,CHKFLV	;FLOATING INT VEC BEGIN HERE
  4140	002146	012737	160000	011504		MOV	#FLOATD,CHKFLD	;FLOATING DEV ADR'S BEGIN HERE
  4141	002154	005037	002034			CLR	CHKFLG		;CLEAR CHK11 FLAGS
  4142	002160	005037	016260			CLR	CKSPCD		;CLEAR STOP CODE; NON 0 ON FATAL
  4143									; ERROR PUTS C(CKSPCD) IN R0.
  4144					;
  4145					;INITIALIZE VECTOR SPACE
  4146					;
  4147					; THIS ROUTINE LOADS THE VECTOR AREA WITH ADDRESSES POINTING
  4148					;   INTO TABLE/CODE CHKINT - CHKINT IS USED TO FIELD MOST CHK11
  4149					;   INTERRUPTS AND CAN TELL WHICH VECTOR WAS USED BY DECODING
  4150					;   THE CONDITION CODE BITS AND THE ENTRY IN CHKINT WHICH WAS USED -
  4151					;   THE REFERENCES TO "LIMIT" AND "ADD #CHKISZ,R1" IN THE CODE BELOW
  4152					;   ARE WHAT DETERMINE THE CHKINT ENTRY LOCATION
  4153					;
  4154	002164	013703	000014		CKINTS:	MOV	@#14,R3		;SAVE ODT ADDRESS
  4155	002170	005000				CLR	R0		;START LOADING AT ADR 0
  4156	002172	012701	011340			MOV	#CHKINT,R1	;WHERE TO GO ON INTERRUPT
  4157	002176	012702	000340			MOV	#BR7,R2		;INTERRUPT PS
  4158									;
  4159	002202	010120			33$:	MOV	R1,(R0)+	;SET INTERRUPT VECTOR
  4160	002204	010220				MOV	R2,(R0)+	;SET INTERRUPT LEVEL
  4161	002206	005202				INC	R2		;UP VECTOR COUNTER
  4162	002210	032700	000077			BIT	#77,R0		;HAVE WE HIT A LIMIT ?
  4163	002214	001004				BNE	35$		;NO
  4164	002216	062701	000012			ADD	#CHKISZ,R1	;YES, CHANGE VECT TO NEXT CHKINT BLOCK
  4165	002222	012702	000340			MOV	#BR7,R2		;RESET PS
  4166	002226	020037	001432		35$:	CMP	R0,VCTLIM	;FILL VECTORS UP TO VECTOR LIMIT
  4167	002232	103763				BLO	33$		;MORE TO DO
  4168									;
  4169	002234	012737	015606	000034		MOV	#CHKERR,TRPVEC	;WHERE TO GO ON TRAP INSTRUCTION
  4170	002242	010337	000014			MOV	R3,@#14		;RESTORE ODT ADDRESS
  4171	002246					FALLR	CHKCTY		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 9-1
C11DTE.MAC    10-AUG-79 16:05		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4173					;NOW CHECK THE CTY (CONSOLE TTY)
  4174					;
  4175	002246	012737	002320	000004	CHKCTY:	MOV	#10$,NXMVEC	;WHERE TO TRAP IF NO CTY
  4176	002254	042737	100000	002034		BIC	#CKFIDT,CHKFLG	;SO WE PRINT DEV ID
  4177	002262	012737	100000	014526		MOV	#100000,CKTRPT	;ASSUME A CTY EXISTS AS THE REPORT DEV
  4178	002270	005737	177564			TST	CTOSTS		;IF ANY OF THESE FOUR TST'S TRAPS
  4179	002274	005737	177566			TST	CTOCHR		;  THEN WE DEEM THERE IS NO CTY
  4180	002300	005737	177560			TST	CTISTS		;
  4181	002304	005737	177562			TST	CTICHR		;
  4182	002310	012737	015542	000004		MOV	#CKBUST,NXMVEC	;CTY EXISTS, RESET BUS ERROR VECTOR
  4183	002316	000411				BR	14$		;
  4184									;
  4185	002320	022626				10$:	CMP	(SP)+,(SP)+	;POP TRAP
  4186	002322	012737	000200	014526			MOV	#200,CKTRPT ;NO CTY EXISTS, ASSUME REMOTE REPORTING
  4187	002330	012737	015542	000004			MOV	#CKBUST,NXMVEC ;RESET BUS ERROR VECTOR
  4188	002336	000137	002660				JMP	CHKCKD	;SKIP TO END OF CTY CHECK
  4189									;
  4190	002342				14$:				; CHECK TO SEE IF CTY OUTPUT SHOULD BE
  4191									;    SUPPRESSED OR DIVERTED OR BOTH
  4192	002342	012702	100000			MOV	#100000,R2	;PLAN TO DIRECT OUTPUT TO CTY
  4193		000000				.REPT	0	;***OMITTED***;
  4194					30$:	JSR	R0,CKTCRL	;ASK FOR DIRECTION
  4195						.ASCIZ	"IS THIS CTY THE DEFAULT REPORTING DEVICE? (Y OR N) "<377>
  4196						.EVEN			;
  4197						JSR	PC,CKGYES	;WAIT FOR ANSWER
  4198						BCS	30$		;
  4199						BEQ	40$		;"YES"
  4200						CLR	R2		;"NO", DON'T OUTPUT TO CTY
  4201					40$:	JSR	R0,CKTCRL	;CHECK FOR REMOTE REPORTING
  4202						.ASCIZ	"IS OUTPUT TO BE DIRECTED TO A REMOTE RECORDER? (Y OR N) "<377>
  4203						.EVEN			;
  4204						JSR	PC,CKGYES	;WAIT FOR ANSWER
  4205						BCS	40$		;
  4206						BNE	50$		;"NO", DON'T OUTPUT REMOTELY
  4207						.ENDR		;***OMITTED PART***;
  4208	002346	052702	000200			BIS	#200,R2		;REPORT OUTPUT REMOTELY
  4209	002352	010237	014526		50$:	MOV	R2,CKTRPT	;SAVE REQUESTED MODE
  4210									;TEST CTY
  4211	002356	012704	177564			MOV	#CTOSTS,R4	;CTY OUTPUT STATUS
  4212	002362	010437	016262			MOV	R4,CHKCHR+CKDA	;DEV ADR
  4213	002366	010401				MOV	R4,R1		;CHKBIT NEEDS ADR IN R1
  4214	002370	012737	000064	016264		MOV	#CTOVEC,CHKCHR+CKDV;CTY OUTPUT VECTOR
  4215	002376	012737	001455	002040		MOV	#N.CO11,CKDNAM	;NAME ADDRESS
  4216	002404	005037	002036			CLR	CKDEVN		;DEVICE 0
  4217	002410	004537	010400			JSR	R5,CHKBIT	;CHECK THE FOLLOWING BITS FOR R/W
  4218	002414	000104				.WORD	CO.INE!CO..MM	;BITS TO CHECK FOR R/W
  4219	002416	012714	000100			MOV	#CO.INE,(R4)	;ENABLE INTERRUPTS
  4220	002422	004537	010626			JSR	R5,CHKINL	;CHECK INTERRUPT AND FIND DEV LEVEL
  4221	002426	177777				.WORD	ALLBTS		;TIME LOOP CONSTANT
  4222	002430	005014				CLR	(R4)		;CLR DEV OUT
  4223									;
  4224	002432					FALLR	CHKCKB		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 9-2
C11DTE.MAC    10-AUG-79 16:05		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4226					;NOW CHECK THE KBRD SECTION
  4227					;
  4228	002432	042737	100000	002034	CHKCKB:	BIC	#CKFIDT,CHKFLG	;PRINT DEV ID
  4229	002440	012704	177560			MOV	#CTISTS,R4	;KBRD STATUS REG
  4230	002444	010437	016262			MOV	R4,CHKCHR+CKDA	;DEV ADR
  4231	002450	010401				MOV	R4,R1		;CHKBIT NEEDS ADR IN R1
  4232	002452	012737	000060	016264		MOV	#CTIVEC,CHKCHR+CKDV ;VECTOR ADR
  4233	002460	012737	001446	002040		MOV	#N.CI11,CKDNAM	;ADR OF DEV NAME
  4234	002466	004537	010400			JSR	R5,CHKBIT	;CHECK THE FOLLOWING BITS
  4235	002472	000100				.WORD	CI.INE		;BITS TO CHECK R/W
  4236									;
  4237	002474	012700	001350		15$:	MOV	#CKNAME,R0	;GET ADDR OF .ASCIZ \PROG NAME\
  4238	002500	004737	014530			JSR	PC,CKTTXT	;TYPE PROGRAM NAME, ETC.
  4239	002504	010002				MOV	R0,R2		;GET ADDR OF EDIT DATA (FOLLOWS PROG NAME)
  4240	002506	004037	014570			JSR	R0,CKTCRL	;
  4241	002512	062566	071562	067551		.ASCIZ	"version "	;
	002520	020156	   000
  4242		002524				.EVEN			;
  4243	002524	012200				MOV	(R2)+,R0	;GET MAJOR VERSION NUMBER
  4244	002526	004737	014616			JSR	PC,CKTOCT	;TYPE IT
  4245	002532	012201				MOV	(R2)+,R1	;GET MINOR VERSION LETTER
  4246	002534	001402				BEQ	20$		;NOT THERE
  4247	002536	004737	014670			JSR	PC,CKTCHR	;TYPE IT
  4248	002542	112701	000050		20$:	MOVB	#'(,R1		;TYPE EDIT NUMBER IN ()
  4249	002546	004737	014670			JSR	PC,CKTCHR	;
  4250	002552	012200				MOV	(R2)+,R0	;GET EDIT NUMBER
  4251	002554	004737	014616			JSR	PC,CKTOCT	;TYPE IT
  4252	002560	112701	000051			MOVB	#'),R1		;
  4253	002564	004737	014670			JSR	PC,CKTCHR	;
  4254		   001				    .IF DF ED.HIS	;DO NEXT ONLY IF LAST EDIT HISTORY REQ'D
  4255	002570	004037	014574			JSR	R0,CKTSTR	;
  4256	002574	067440	020146	   000		.ASCIZ	" of "		;
  4257		002602				.EVEN			;
  4258	002602	012200				MOV	(R2)+,R0	;DATE STRING ADDRESS
  4259	002604	004737	014530			JSR	PC,CKTTXT	;
  4260	002610	004037	014574			JSR	R0,CKTSTR	;
  4261	002614	061040	020171	   000		.ASCIZ	" by "		;
  4262		002622				.EVEN			;
  4263	002622	012200				MOV	(R2)+,R0	;
  4264	002624	004737	014530			JSR	PC,CKTTXT	;
  4265		   000				    .ENDC ;DF ED.HIS	;
  4266	002630	004037	014570			JSR	R0,CKTCRL	;
  4267	002634	062524	072163	067151		.ASCIZ	"Testing begins..."<15><12>
	002642	020147	062542	064547
	002650	071556	027056	006456
	002656	000012
  4268						.EVEN			;
  4269									;
  4270	002660				CHKCKD:	FALLR	CKCPU		;
  4271					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 10
C11DTE.MAC    10-AUG-79 16:05		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4273
  4274					; DETERMINE PROCESSOR MODEL NUMBER
  4275					;
  4276	002660	004037	014570		CKCPU:	JSR	R0,CKTCRL	;
  4277	002664	044124	020105	051120		.ASCIZ	"THE PROCESSOR SEEMS TO BE A "
	002672	041517	051505	047523
	002700	020122	042523	046505
	002706	020123	047524	041040
	002714	020105	020101	   000
  4278		002722				.EVEN			;
  4279									;
  4280	002722	012700	003110			MOV	#CKWRD,R0	;GET ADDRESS OF TEST WORD
  4281					;;;;	MOV	R0,(R0)+	;STORE AND AUTOINC ON SAME REGISTER
  4282	002726	010020				.WORD	10020		;	(PRE-ASSEMBLE TO PREVENT Z ERROR)
  4283	002730	012700	002752			MOV	#5$,R0		;GET BUMPER TABLE ADDRESS
  4284	002734	023727	003110	003110		CMP	CKWRD,#CKWRD	;BUMP BEFORE STORE?
  4285	002742	001402				BEQ	3$		;NO, CPU IS NEWER THAN THAT
  4286									;YES, CPU IS OF /20 /40 VINTAGE
  4287	002744	062700	000004			ADD	#9$-5$,R0	;MODIFY ADDRESS INTO BUMPER TABLE
  4288									;
  4289	002750				3$: ;;;	JMP	(R0)+		;BUMP BEFORE JUMP?
  4290	002750	000120				.WORD	120		;	(PRE-ASSEMBLE TO PREVENT Z ERROR)
  4291	002752	000403			5$:	BR	10$		;NO, CPU IS LIKE /04 /34 /45
  4292	002754	000562				BR	CK05		;YES, CPU IS /05 /10
  4293									;BUMP BEFORE JUMP?
  4294	002756	000572			9$:	BR	CK40		;NO, CPU IS /40
  4295	002760	000563				BR	CK20		;YES, CPU IS /15 OR /20
  4296									;
  4297	002762				10$:				;CPU IS /04 /34/ OR /40 OR HIGHER
  4298	002762	013746	000004			MOV	@#4,-(SP)	;SAVE BUS ERROR VECTOR
  4299	002766	012737	003026	000004		MOV	#20$,@#4	;SET LOCAL ONE
  4300	002774	012700	177770			MOV	#177770,R0	;TRY TO FIND NONEXISTENT MEMORY
  4301	003000	005710			15$:	TST	(R0)		;IS THIS MEMORY HERE?
  4302	003002	162700	000002			SUB	#2,R0		;YES, THERE WAS NO TRAP
  4303	003006	001374				BNE	15$		;LOOK AGAIN (UNLESS ALL MEMORY SEEN)
  4304									;THIS IS RIDICULOUS! THERE ARE NO HOLES
  4305									;  IN MEMORY, OR THE BUS ERROR TRAPPER
  4306									;  DOESN'T WORK
  4307	003010				17$:	CK11SC	CKEPC,<NO NXM??>,<NO NONEXISTENT MEMORY TRAP>
  4308	003012	047516	047040	046530		.ASCIZ	"NO NXM??"	;
	003020	037477	   000
  4309		003024				.EVEN			;
  4310	003024	000410				BR	26$		;
  4311									;
  4312	003026	012737	003042	000004	20$:	MOV	#25$,@#4	;SET UP NEXT BUS ERROR ADDRESS
  4313	003034	010001				MOV	R0,R1		;COPY ADDRESS WHICH DIDN'T ANSWER
  4314	003036	010220				MOV	R2,(R0)+	;REPEAT TRAP
  4315	003040	000763				BR	17$		;YOU CAN'T GET HERE UNLESS TRAP FAILS
  4316	003042	062706	000010		25$:	ADD	#10,SP		;POP BOTH TRAPS
  4317	003046	012637	000004		26$:	MOV	(SP)+,@#4	;RESTORE SAVED BUS ERROR VECTOR
  4318	003052	020001				CMP	R0,R1		;DID R0 POP DURING TRAP?
  4319	003054	001517				BEQ	CK04		;NO, CPU IS /04
  4320	003056	013746	000010			MOV	@#10,-(SP)	;YES, SAVE RESERVED INSTRUCTION VECTOR
  4321	003062	012737	003076	000010		MOV	#30$,@#10	;SET UP A NEW ONE
  4322	003070	005000				CLR	R0		;R0 WILL STAY CLEAR IF CPU IS /45
  4323	003072	106700				.WORD	106700		;11/34 MFPS INSTR (OP NAME=A MACRO NAME)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 10-1
C11DTE.MAC    10-AUG-79 16:05		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4324	003074	005200				INC	R0		;DIDN'T TRAP, CPU IS /34 (OR /03)
  4325	003076	012637	000010		30$:	MOV	(SP)+,@#10	;RESTORE RES INSTR VECTOR
  4326	003102	005700				TST	R0		;WAS THERE A TRAP?
  4327	003104	001114				BNE	CK34		;NO, CPU IS 11/34
  4328	003106	000521				BR	CK45		;YES, CPU IS 11/45
  4329									;
  4330	003110	000000			CKWRD:	.WORD	0		;CPU ID TEST WORD
  4331	003112	000000			CKCPUN:	.WORD	0		;CPU MODEL NUMBER (DECIMAL)
  4332						    .ENABL LSB		;
  4333	003114	   004			4$:	.BYTE	4.
  4334	003115	   113	030504	026461		.ASCIZ	"KD11-D (11/04)"
	003122	020104	030450	027461
	003130	032060	000051
  4335	003134	   005			5$:	.BYTE	5.
  4336	003135	   113	030504	026461		.ASCIZ	"KD11-B (11/05 OR 11/10)"
	003142	020102	030450	027461
	003150	032460	047440	020122
	003156	030461	030457	024460
	003164	   000
  4337	003165	   024			20$:	.BYTE	20.
  4338	003166	040513	030461	024040		.ASCIZ	"KA11 (11/20) OR KC11 (11/15)"
	003174	030461	031057	024460
	003202	047440	020122	041513
	003210	030461	024040	030461
	003216	030457	024465	   000
  4339	003223	   042			34$:	.BYTE	34.
  4340	003224	042113	030461	042455		.ASCIZ	"KD11-E (11/34)"
	003232	024040	030461	031457
	003240	024464	   000
  4341	003243	   050			40$:	.BYTE	40.
  4342	003244	042113	030461	040455		.ASCIZ	"KD11-A (11/35 OR 11/40)"
	003252	024040	030461	031457
	003260	020065	051117	030440
	003266	027461	030064	000051
  4343	003274	   055			45$:	.BYTE	45.
  4344	003275	   113	030502	026461		.ASCIZ	"KB11-A (11/45)"
	003302	020101	030450	027461
	003310	032464	000051
  4345						.EVEN			;
  4346									;
  4347	003314	012700	003114		CK04:	MOV	#4$,R0		;
  4348	003320	000417				BR	CKCPUE		;
  4349									;
  4350	003322	012700	003134		CK05:	MOV	#5$,R0		;
  4351	003326	000414				BR	CKCPUE		;
  4352									;
  4353	003330	012700	003165		CK20:	MOV	#20$,R0		;
  4354	003334	000411				BR	CKCPUE		;
  4355									;
  4356	003336	012700	003223		CK34:	MOV	#34$,R0		;
  4357	003342	000406				BR	CKCPUE		;
  4358									;
  4359	003344	012700	003243		CK40:	MOV	#40$,R0		;
  4360	003350	000403				BR	CKCPUE		;
  4361									;
  4362	003352	012700	003274		CK45:	MOV	#45$,R0		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 10-2
C11DTE.MAC    10-AUG-79 16:05		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4363	003356	000400				BR	CKCPUE		;
  4364						    .DSABL LSB		;
  4365									;
  4366	003360	112037	003112		CKCPUE:	MOVB	(R0)+,CKCPUN	;SAVE PROCESSOR MODEL NUMBER AWAY FOR REFERENCE
  4367	003364	004737	014530			JSR	PC,CKTTXT	;TYPE OUT THE ID TEXT
  4368		   001				    .IF NE 1
  4369	003370	004037	014570			JSR	R0,CKTCRL	;TYPE OUT EXPECTED MODEL NUMBER
  4370	003374	041411	045510	030461		.ASCIZ	"	CHK11 EXPECTED AN 11/"
	003402	042440	050130	041505
	003410	042524	020104	047101
	003416	030440	027461	   000
  4371		003424				.EVEN			;
  4372	003424	012700	000042			MOV	#PDP11,R0	;ADD NUMBER
  4373	003430	004737	014764			JSR	PC,CKTDEC
  4374		   000				    .ENDC ;NE 1
  4375									;
  4376	003434					FALLR	CKDLXB		;FALL INTO DL10 SEEKER
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 10-3
C11DTE.MAC    10-AUG-79 16:05		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4378					;DETERMINE THE DL10 BASE ADDRESS
  4379					;
  4380					;
  4381					.IIF NDF FTDL10,FTDL10=0
  4382					;
  4383	003434				CKDLXB:
  4384		   001				    .IF NE FTDL10
  4385						MOV	#CHKFFB,R0		;SET ADDRESS TO START LOOKING FOR A DL10
  4386						CLR	DL10AD			;SET FOR NO DL10
  4387						MOV	#10$,NXMVEC		;WHERE TO GO ON A NXM
  4388					3$:	MOV	#DL.CNX!DL.CPE!DL.CWC!DL.11C,R1	;BITS TO SET IN DL10
  4389						MOV	(R0),R2			;SAVE CONTENTS AS IT MAY BE CORE
  4390						BIS	R1,(R0)			;CLEAR THESE CONDITIONS IF DL10
  4391										; OR IF MEMORY BITS WILL BE SET
  4392						ASL	R1			;POSITION BITS FOR SETTING CONDITIONS
  4393						CLR	(R0)			;SEE IF SOMETHING THERE AND CLEAR IF IT IS THERE
  4394						TST	(R0)			;MAKE SURE ITS CLEAR SINCE ITS THERE
  4395						BEQ	1$			;BRANCH IF IT CLEARED
  4396						CLR	-(SP)			;RESULT SHOULD BE 0
  4397						MOV	(R0),-(SP)		;SAVE WHAT IT WAS
  4398						MOV	R0,-(SP)			;SAVE THE ADDRESS WHERE IT HAPPENED
  4399						CK11SC	<CKEPC!CKEGB>,<Can't Clear DL10 or MEM>,<CLR @R0 DIDN'T CLEAR @R0>,<S..D
  4400						.ASCIZ	\Can't Clear DL10 or MEM\<377>
  4401						.EVEN
  4402						BR	1$			;
  4403					1$:	BIS	R1,(R0)			;NOW SET DL10 BITS
  4404						CMP	R1,(R0)			;SEE IF THEY SET BE IT MEMORY OR DL10
  4405						BEQ	2$			;BRANCH IF THE SET OK
  4406						CKSERR	R1,<(R0)>,R0		;SAVE GD,BD,ADR
  4407						CK11SC	<CKEPC!CKEGB>,<DL10 or Mem Err>,<EITHER DL10 IS BAD OR MEMORY IS BAD>,<S
  4408						.ASCIZ	\DL10 or Mem Err\<377>
  4409						.EVEN
  4410						BR	2$			;
  4411					2$:	CLC				;CARRY MUST BE CLR
  4412						ROR	R1			;SHIFT TO CLEAR BITS JUST SET
  4413						BIS	R1,(R0)			;SET BITS, IF DL10 ALL BITS SHOULD BE 0
  4414						TST	(R0)			;SEE IF ALL 0
  4415						BEQ	4$			;BRANCH IF SO
  4416					6$:	MOV	R2,(R0)			;RESTORE MEMORY
  4417					7$:	ADD	#4000,R0		;GO TO NEXT POSSIBLE DL10 ADR
  4418						CMP	R0,#160000		;TIME TO STOP CHECKING FOR DL10?
  4419						BLO	3$			;BRANCH IF NOT
  4420						BR	5$			;NEVER FOUND A DL10
  4421										;
  4422					10$:	ADD	#4,P			;FLUSH NXM TRAP
  4423						BR	7$			;GO CHECK NEXT POSSIBLE ADR
  4424										;
  4425					4$:					;DL10 FOUND
  4426						MOV	R0,DL10AD		;PUT DL10 BASE ADDR WE FOUND AWAY
  4427						JSR	PC,CKADLX		;PRINT DL10 BASE ADDR
  4428		   000				    .ENDC ;NE FTDL10
  4429	003434				5$:	FALLR	CHKMAP			;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 10-4
C11DTE.MAC    10-AUG-79 16:05		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4431					; CHECK TO SEE IF SYSTEM IS MAPPED
  4432					;
  4433	003434				CHKMAP:
  4434						    .IIF NDF MMGSR0,MMGSR0 = 177572
  4435									;
  4436	003434	012737	003450	000004		MOV	#48$,NXMVEC	;SET UP BUS ERROR VECTOR
  4437	003442	013700	177572			MOV	MMGSR0,R0	;READ MEM MGT STATUS
  4438									;
  4439		   001				    .IF NDF M$$MGE
  4440						CK11SC	<CKEMSG>,<WRONG VERSION>
  4441						.ASCIZ	"A NON-MAPPING CHK11 IS LOADED ON A MAPPED SYSTEM"<15><12><377>
  4442						.EVEN			;
  4443						BR	63$		;
  4444									;
  4445					48$:	CMP	(SP)+,(SP)+	;POP TRAP, IGNORE IT (IT WAS HOPED FOR)
  4446						FALLR	63$		;DROP RIGHT OUT
  4447						    .IFF
  4448	003446	000433				BR	63$		;NO TRAP, THAT'S WHAT WAS EXPECTED
  4449									;TRAP, REPORT
  4450	003450				48$:	CK11SC	<CKEMSG>,<WRONG VERSION>
  4451	003452	020101	040515	050120		.ASCIZ	"A MAPPING CHK11 IS LOADED ON UNMAPPED HARDWARE"<15><12><377>
	003460	047111	020107	044103
	003466	030513	020061	051511
	003474	046040	040517	042504
	003502	020104	047117	052440
	003510	046516	050101	042520
	003516	020104	040510	042122
	003524	040527	042522	005015
	003532	000377
  4452	003534					ABORT			;
  4453						.EVEN			;
  4454		   000				    .ENDC ;NDF M$$MGE
  4455	003536				63$:	FALLR	CHKMMG		;CHECK MEMORY MGT
  4456					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 11
C11DTE.MAC    10-AUG-79 16:05		**** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****

  4458
  4459					.SBTTL		CHECK KT11 HARDWARE
  4460					;
  4461					;VERIFY MEMORY MANAGEMENT HARDWARE - *** CODED FOR 11/34 SUBSET ***
  4462					;
  4463	003536				CHKMMG:				;
  4464		   001				    .IF DF M$$MGE
  4465	003536	004037	014570			JSR	R0,CKTCRL	;
  4466	003542	045412	030524	020061		.ASCIZ	<12>"KT11 memory management test"
	003550	062555	067555	074562
	003556	066440	067141	063541
	003564	066545	067145	020164
	003572	062564	072163	   000
  4467		003600				.EVEN			;
  4468	003600	012704	000250			MOV	#MMGVEC,R4	;SAVE ADDRESS OF MEM MGT VECTOR
  4469	003604	011446				MOV	(R4),-(SP)	;SAVE CURRENT MEM MGT VECTOR
  4470	003606	012714	003764			MOV	#25$,(R4)	;SET MEM MGT VECTOR TO "BAD TRAP"
  4471	003612	012700	077406			MOV	#PD.PLF!<6*PD.AC0>,R0 ;SET UP CONSTANT FOR FULL PAGE, R/W ACCESS
  4472	003616	032737	000001	177572		BIT	#MG.ENB,MMGSR0	;MEM MGT ALREADY ENABLED?
  4473	003624	001020				BNE	10$		;YES, DON'T MESS
  4474	003626	005037	172340			CLR	KISAR0		;NO, SET UP REASONABLY, AS APR0 TO PAGE ZERO
  4475	003632	010037	172300			MOV	R0,KISDR0	;FULL PAGE ACCESS, R/W, EXPAND UP
  4476	003636	012737	000200	172342		MOV	#PAGE1B,KISAR1	;MAP THIS PROGRAM TO SELF
  4477	003644	010037	172302			MOV	R0,KISDR1	;INCLUDE SAME TOTAL ACCESS
  4478	003650	012737	007600	172356		MOV	#PAGE7B,KISAR7	;SPECIAL MAP TO I/O PAGE
  4479	003656	010037	172316			MOV	R0,KISDR7	;
  4480	003662	005237	177572			INC	MMGSR0		;TURN ON MEMORY MANAGEMENT
  4481									;
  4482	003666				10$:				;RELOCATION CONSISTENCY CHECK
  4483									;
  4484	003666	013737	172340	172354		MOV	KISAR0,KISAR6	;MAP APR6 TO SAME MEMORY AS APR0
  4485	003674	013737	172300	172314		MOV	KISDR0,KISDR6	;  AND COPY PDR OVER TOO
  4486	003702	012701	000302			MOV	#PAGE0+302,R1	;GET POINTERS INTO PAGES 0 AND 6
  4487	003706	012702	140302			MOV	#PAGE6+302,R2	;  THE OFFSET INTO THE PAGE IS MOSTLY ARBITRARY
  4488									;
  4489	003712	011146				MOV	(R1),-(SP)	;SAVE THE CURRENT CONTENTS OF THE DIDDLE LOC
  4490	003714	010712			16$:	MOV	PC,(R2)		;ENSURE TEST LOCATION HAS NON-ZERO CONTENTS
  4491	003716	005011				CLR	(R1)		;CLEAR THE TEST LOCATION THROUGH THE OTHER PTR
  4492	003720	005712				TST	(R2)		;DID IT REALLY CLEAR?
  4493	003722	001015				BNE	20$		;NO, WHAT A SHAME
  4494	003724	010711				MOV	PC,(R1)		;YES, ENSURE IT'S NOT ZERO AGAIN
  4495	003726	021112				CMP	(R1),(R2)	;STILL MATCH?
  4496	003730	001012				BNE	20$		;NO, THAT'S FUNNY, IT WORKED BEFORE
  4497									;
  4498	003732	023737	172340	172354		CMP	KISAR0,KISAR6	;DONE OFFSET TEST YET?
  4499	003740	001015				BNE	30$		;YES
  4500	003742	062737	000002	172354		ADD	#2,KISAR6	;NO, CHANGE APR6 UP
  4501	003750	162702	000200			SUB	#2*BSFACT,R2	;  AND PAGE POINTER DOWN ACCORDINGLY
  4502	003754	000757				BR	16$		;REPEAT TEST FOR DIFFERENT RELOCATION ADDRESSES
  4503									;
  4504	003756				20$:	CK11SC	CKEMSE,101$	;
  4505	003762	000404				BR	30$		;
  4506	003764				25$:	CK11SC	CKEMSE,104$	;
  4507	003770	000400				BR	26$		;
  4508	003772	000002			26$:	RTI			;
  4509									;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 11-1
C11DTE.MAC    10-AUG-79 16:05			CHECK KT11 HARDWARE

  4510	003774	012611			30$:	MOV	(SP)+,(R1)	;RESTORE ORIGINAL TEST WORD CONTENTS
  4511									;
  4512									;PAGE LENGTH PROTECTION TEST
  4513									;
  4514	003776	013737	172340	172354		MOV	KISAR0,KISAR6	;USE VECTOR SPACE AGAIN FOR TEST
  4515	004004	012737	000406	172314		MOV	#PD.PL0!<6*PD.AC0>,KISDR6 ;SET 2 BLOCK PAGE, R/W, UP
  4516	004012	012701	000176			MOV	#PAGE0+<2*BSFACT>-2,R1 ;SET PTRS NEAR PAGE BOUNDARY
  4517	004016	012702	140176			MOV	#PAGE6+<2*BSFACT>-2,R2 ;
  4518	004022	012146				MOV	(R1)+,-(SP)	;FETCH FROM BELOW BOUNDARY
  4519	004024	012622				MOV	(SP)+,(R2)+	;WRITE IT BACK, DIFFERENT PTR, SHOULDN'T TRAP
  4520	004026	012146				MOV	(R1)+,-(SP)	;FETCH FROM ABOVE BOUNDARY, PAGE 0, NO TRAP
  4521	004030	012714	004044			MOV	#45$,(R4)	;SET UP TO EXPECT TRAP
  4522	004034	012622				MOV	(SP)+,(R2)+	;WRITE BACK TO TEST LOCATION, EXPECT TRAP
  4523									;NO TRAP, THAT'S BAD
  4524	004036				40$:	CK11SC	CKEMSE,107$	;
  4525	004042	024646				CMP	-(SP),-(SP)	;FAKE TRAP
  4526									;
  4527	004044	022626			45$:	CMP	(SP)+,(SP)+	;GOOD TRAP, POP IT
  4528	004046	012714	003764			MOV	#25$,(R4)	;RESET TO BAD TRAP MSG
  4529	004052	032737	120000	177572		BIT	#MG.ANR!MG.ARO,MMGSR0 ;TRAP FOR RIGHT REASON?
  4530	004060	001403				BEQ	47$		;YES, KEEP ON KEEPIN' ON
  4531	004062					CK11SC	CKEMSE,107$	;NO, GOOD GRIEF!
  4532	004066	000400				BR	47$		;
  4533	004070				47$:				;
  4534									;**** CONSIDER ADDING HERE THE SAME TYPE OF
  4535									;     TEST FOR A DOWNWARD EXPANDABLE PAGE ****
  4536									;
  4537									;ACCESS CONTROL MODE TEST
  4538									;
  4539	004070	013737	172340	172354		MOV	KISAR0,KISAR6	;USE THE VECTOR AREA AGAIN
  4540	004076	012737	077406	172314		MOV	#PD.PLF+<6*PD.AC0>,KISDR6 ;RESET TO FULL PAGE, FULL ACCESS
  4541	004104	012702	140052			MOV	#PAGE6+52,R2	;RESET POINTER TO ARBITRARY LOCATION IN PAGE
  4542	004110	012714	004140			MOV	#50$,(R4)	;SET UP THE EXPECTED BAD TRAP HANDLER
  4543	004114	011246				MOV	(R2),-(SP)	;READ (DON'T TRAP)
  4544	004116	012612				MOV	(SP)+,(R2)	;PUT IT BACK (DON'T TRAP)
  4545	004120	112737	000002	172314		MOVB	#PD.AC0*2,KISDR6 ;SET PDR FOR READ ONLY ACCESS
  4546	004126	011246				MOV	(R2),-(SP)	;READ AGAIN (DON'T TRAP)
  4547	004130	012714	004154			MOV	#60$,(R4)	;RESET TRAP VECTOR AGAIN
  4548	004134	012612				MOV	(SP)+,(R2)	;WRITE IT BACK AGAIN, AND FINALLY TRAP!
  4549	004136	024646				CMP	-(SP),-(SP)	;DIDN'T TRAP, HAVE TO FAKE IT
  4550									;
  4551	004140					50$:	CK11SC	CKEMSE,110$	;BAD TRAP, OR NON-TRAP, DEPENDING
  4552	004144	000404					BR	62$		;
  4553										;
  4554	004146	062716	000002			55$:	ADD	#2,(SP)		;GOOD TRAP, SKIP ERROR BRANCH
  4555	004152	000002					RTI			;  ON RETURN
  4556									;
  4557	004154	022626			60$:	CMP	(SP)+,(SP)+	;GOOD TRAP, POP IT
  4558	004156	012714	004224		62$:	MOV	#67$,(R4)	;CHANGE TRAP VECTOR STILL AGAIN
  4559	004162	012737	077404	172314		MOV	#PD.PLF+<PD.AC0*4>,KISDR6 ;SET PDR FOR ILLEGAL ACCESS
  4560	004170	011201			65$:	MOV	(R2),R1		;TRY TO READ, EXPECT A TRAP
  4561	004172					CK11SC	<CKEMSE!CKEPC>,110$ ;DIDN'T, ERROR
  4562	004176	010112				MOV	R1,(R2)		;TRY A WRITE, EXPECT A TRAP
  4563	004200					CK11SC	<CKEMSE!CKEPC>,110$ ;DIDN'T, ERROR
  4564	004204	032737	000007	172314		BIT	#PD.ACF,KISDR6	;DONE ALL ACF MODES YET?
  4565	004212	001511				BEQ	70$		;YES, GO ON
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 11-2
C11DTE.MAC    10-AUG-79 16:05			CHECK KT11 HARDWARE

  4566	004214	042737	000007	172314		BIC	#PD.ACF,KISDR6	;NO, CLEAR ACF FOR LAST ILLEGAL MODE
  4567	004222	000762				BR	65$		;REPEAT TEST
  4568									;
  4569	004224	062716	000004			67$:	ADD	#4,(SP)	;GOOD TRAP, POP IT
  4570	004230	000002					RTI		;
  4571									;
  4572	004232	064411	061556	067157	101$:	.ASCIZ	"	inconsistent relocation"<377>
	004240	064563	072163	067145
	004246	020164	062562	067554
	004254	060543	064564	067157
	004262	000377
  4573	004264	072411	062556	070170	104$:	.ASCIZ	"	unexpected mem mgt trap"<377>
	004272	061545	062564	020144
	004300	062555	020155	063555
	004306	020164	071164	070141
	004314	000377
  4574	004316	066411	066545	066440	107$:	.ASCIZ	"	mem mgt page length protection failure"<377>
	004324	072147	070040	063541
	004332	020145	062554	063556
	004340	064164	070040	067562
	004346	062564	072143	067551
	004354	020156	060546	066151
	004362	071165	177545	   000
  4575	004367	   011	062555	020155	110$:	.ASCIZ	"	mem mgt access mode control failure"<377>
	004374	063555	020164	061541
	004402	062543	071563	066440
	004410	062157	020145	067543
	004416	072156	067562	020154
	004424	060546	066151	071165
	004432	177545	   000
  4576		004436				.EVEN			;
  4577									;
  4578	004436	012614			70$:	MOV	(SP)+,(R4)	;RESTORE PREVIOUS MEMORY MANAGEMENT TRAP VECTOR
  4579						    .IFF
  4580						JSR	R0,CKTCRL	;
  4581						.ASCIZ	"NO MEM MGT TEST"
  4582						.EVEN			;
  4583		   000				    .ENDC ;DF M$$MGE
  4584	004440					FALLR	CHKCOR		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 11-3
C11DTE.MAC    10-AUG-79 16:05			CHECK KT11 HARDWARE

  4586					; SEE HOW MUCH CORE IS PRESENT
  4587					;
  4588	004440				CHKCOR:				;
  4589		   001				    .IF NDF M$$MGE
  4590									;UNMAPPED SNIFFER
  4591						CLR	R0		;START SMALL
  4592						MOV	#20$,NXMVEC	;SET BUS TRAP VECTOR
  4593					10$:	TST	(R0)+		;CHECK NEXT LOCATION
  4594						CMP	R0,DL10AD	;SEE IF NEXT WORD IS DL10
  4595						BNE	10$		;
  4596						BR	21$		;
  4597									;
  4598					20$:	CMP	(SP)+,(SP)+	;FLUSH STACK
  4599						SUB	#2,R0		;MAKE 2 LESS SO WE HAVE 1ST NXM LOC
  4600					21$:	MOV	R0,PHYLIM	;SAVE ADR OF 1ST NXM LOCATION
  4601						JSR	PC,CKAMEM	;PRINT LAST MEM LOCATION
  4602						    .IFF
  4603									;MAPPED SNIFFER
  4604	004440	004037	014570			JSR	R0,CKTCRL	;ADVERTISE RANGES OF MEMORY
  4605	004444	050012	054510	044523		.ASCIZ	<12>"PHYSICAL MEMORY HAS ABSOLUTE LIMITS OF "
	004452	040503	020114	042515
	004460	047515	054522	044040
	004466	051501	040440	051502
	004474	046117	052125	020105
	004502	044514	044515	051524
	004510	047440	020106	   000
  4606		004516				.EVEN			;
  4607	004516	005037	172354			CLR	KISAR6		;START AT ZERO MEMORY
  4608	004522	012737	077406	172314		MOV	#PD.PLF!<6*PD.AC0>,KISDR6 ;FULL PAGE, R/W ACCESS
  4609	004530	005000				CLR	R0		;START OF CURRENT BLOCK ADDRESS
  4610	004532	005001				CLR	R1		;ACCUMULATED PAGE COUNT
  4611	004534	005003				CLR	R3		;CURRENT BLOCK PAGE COUNT
  4612	004536	012737	004556	000004		MOV	#35$,NXMVEC	;SET UP BUS ERROR VECTOR
  4613									;
  4614	004544	012702	000100		30$:	MOV	#BSFACT,R2	;SET BYTE COUNT OF PAGE
  4615	004550	105762	137777		31$:	TSTB	PAGE6-1(R2)	;READ A BYTE FROM THE ADDRESSED PAGE
  4616	004554	000412				BR	43$		;NO TRAP
  4617									;
  4618	004556	022626				35$:	CMP	(SP)+,(SP)+	;TRAP, POP IT
  4619	004560	005703					TST	R3		;ANY PAGES FOUND?
  4620	004562	001402					BEQ	39$		;NO, SKIP REPORT
  4621	004564	004737	004744				JSR	PC,65$		;YES, REPORT RANGE
  4622	004570	005237	172354			39$:	INC	KISAR6		;COMPUTE NEXT BIAS VALUE
  4623	004574	013700	172354				MOV	KISAR6,R0	;SAVE IT AS START ADDRESS OF NEXT RANGE
  4624	004600	000404					BR	52$		;RETURN TO TEST LOOP
  4625									;
  4626	004602	077216			43$:	SOB	R2,31$		;LOOP OVER ALL BYTES ON CURRENT PAGE
  4627	004604	005203				INC	R3		;NO TRAP, UP BLOCK COUNT
  4628	004606	005237	172354			INC	KISAR6		;UP PAGE BIAS
  4629									;
  4630	004612	023727	172354	007600	52$:	CMP	KISAR6,#PAGE7B	;DONE ALL POSSIBLE MEMORY SPACE?
  4631	004620	103751				BLO	30$		;NOT YET
  4632									;YES
  4633	004622	005703				TST	R3		;ANY BLOCKS FOUND AT END OF MEMORY?
  4634	004624	001402				BEQ	54$		;NO
  4635	004626	004737	004744			JSR	PC,65$		;YES, REPORT LAST BLOCK
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 11-4
C11DTE.MAC    10-AUG-79 16:05			CHECK KT11 HARDWARE

  4636	004632	010137	002046		54$:	MOV	R1,PHYLIM	;SAVE NUMBER OF BLOCKS OF MEMORY
  4637	004636	004037	014570			JSR	R0,CKTCRL	;SUMMARIZE MEMORY SIZE DATA
  4638	004642	043011	051117	040440		.ASCIZ	"	FOR A TOTAL OF "
	004650	052040	052117	046101
	004656	047440	020106	   000
  4639		004664				.EVEN			;
  4640	004664	010100				MOV	R1,R0		;
  4641	004666	006200				ASR	R0		;DIVIDE NUMBER OF 32 WORD BLOCKS
  4642	004670	006200				ASR	R0		;  BY 32 TO GET NUMBER OF KW
  4643	004672	006200				ASR	R0		;
  4644	004674	006200				ASR	R0		;
  4645	004676	006200				ASR	R0		;
  4646	004700	004737	014764			JSR	PC,CKTDEC	;OUTPUT MEMORY SIZE IN KW DECIMAL
  4647	004704	032701	000037			BIT	#37,R1		;REMAINDER OVER EXACT KW AMOUNT?
  4648	004710	001402				BEQ	62$		;NO
  4649	004712					CK11SC	<CKENCL>,<+>,<REMAINDER OVER EVEN K AMOUNT>
  4650	004714	000053				.ASCIZ	"+"		;
  4651						.EVEN			;
  4652	004716	004037	014574		62$:	JSR	R0,CKTSTR	;
  4653	004722	053513	024040	042504		.ASCIZ	"KW (DECIMAL)"<15><12>
	004730	044503	040515	024514
	004736	005015	   000
  4654		004742				.EVEN			;
  4655	004742	000432				BR	70$		;
  4656									;
  4657	004744					65$:	CK11SC	0,<CRLFTAB>	;FEED LINE, SPACE OVER
  4658	004746	000011					.ASCIZ	"	"	;
  4659							.EVEN			;
  4660	004750	060301					ADD	R3,R1		;ACCUMULATE TOTAL BLOCKS TO DATE
  4661	004752	005003					CLR	R3		;CLEAR FOR NEXT TIME
  4662	004754	004737	014616				JSR	PC,CKTOCT	;TYPE R0 FOR START BIAS
  4663	004760	005700					TST	R0		;SKIP LEADING ZEROS IF ZERO
  4664	004762	001404					BEQ	66$		;
  4665	004764	004037	014574				JSR	R0,CKTSTR	;ADD ZEROS FOR FULL ADDRESS
  4666	004770	030060	   000				.ASCIZ	"00"		;
  4667		004774					.EVEN			;
  4668	004774	004037	014574			66$:	JSR	R0,CKTSTR	;
  4669	005000	026440	000040				.ASCIZ	" - "		;
  4670							.EVEN			;
  4671	005004	013700	172354				MOV	KISAR6,R0	;GET END OF BLOCK ADDRESS BIAS
  4672	005010	005300					DEC	R0		;BACK TO LAST GOOD BIAS
  4673	005012	004737	014616				JSR	PC,CKTOCT	;
  4674	005016	004037	014574				JSR	R0,CKTSTR	;
  4675	005022	033467	   000				.ASCIZ	"77"		;
  4676		005026					.EVEN			;
  4677	005026	000207					RTS	PC		;
  4678										;
  4679	005030				70$:				;
  4680		   000				    .ENDC ;NDF M$$MGE
  4681	005030					FALLR	CKCOR		;
  4682					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 12
C11DTE.MAC    10-AUG-79 16:05			CHECK KT11 HARDWARE

  4684
  4685					.SBTTL		CHECK MEMORY - SLIDING BIT PATTERN
  4686					;
  4687					; PERFORM A SIMPLE READ/WRITE MEMORY TEST -
  4688					;THE PATTERN USED IS A SLIDING BIT, WITH THE
  4689					;BIT IN EACH OF THE 16 BIT POSITIONS AND THE
  4690					;LAST PATTERN BEING ALL 0'S.
  4691					;
  4692	005030				CKCOR:
  4693		   001				    .IF NDF M$$MGE
  4694						CLR	R0		;FIRST ADR TO CHECK
  4695						MOV	#10$,R1		;LIMIT TO CHECK
  4696									;CHECK IN TWO PIECES, SKIPPING
  4697									;  THE AREA OF THE SUBROUTINE,
  4698									;  SO AS NOT TO CLOBBER OURSELVES
  4699						JSR	PC,10$		;CHECK LOW CORE
  4700						MOV	#CKMPAR,R0	;BEGIN CHECKING HERE NOW
  4701						MOV	PHYLIM,R1	;AND STOP HERE
  4702						JSR	PC,10$		;
  4703						JSR	R0,CKTCRL	;PRINT AMOUNT OF CORE
  4704						.ASCIZ	\   \		;
  4705						.EVEN			;
  4706						MOV	PHYLIM,R0	;GET AMOUNT
  4707						JSR	PC,CKTOCT	;PRINT IT
  4708						JSR	R0,CKTSTR	;FOLLOWED BY MSG:
  4709						.ASCIZ	\ BYTES OF UNMAPPED MEMORY\
  4710						.EVEN			;
  4711						BR	CKMPAR		;ALL OK, SKIP TO PARITY CHECKER
  4712						    .IFF
  4713	005030	004037	014570			JSR	R0,CKTCRL	;
  4714	005034	040515	050120	042105		.ASCIZ	"MAPPED PHYSICAL MEMORY TEST..."
	005042	050040	054510	044523
	005050	040503	020114	042515
	005056	047515	054522	052040
	005064	051505	027124	027056
	005072	   000
  4715		005074				.EVEN			;
  4716	005074	005037	172354			CLR	KISAR6		;START AT LOWEST POSSIBLE ADDRESS
  4717					;;;;	MOV	#PD.PLF!<6*PD.AC0>,KISDR6 ;FULL PAGE, R/W ACCESS (SET ALREADY)
  4718	005100	012737	005176	000004		MOV	#80$,NXMVEC	;SET UP BUS ERROR VECTOR
  4719		002000				CKCPSZ	= 1024.		;SET UP SIZE OF PAGE TO CHECK
  4720	005106	005001				CLR	R1		;
  4721	005110	010100			8$:	MOV	R1,R0		;SET UP POINTER, CONSIDERING NON-ZERO START
  4722	005112	005400				NEG	R0		;CHANGE NEGATIVE WORD COUNT
  4723	005114	006300				ASL	R0		;  TO POSITIVE BYTE ADDRESS OFFSET
  4724	005116	062700	140000			ADD	#PAGE6,R0	;MAP THROUGH APR6
  4725	005122	062701	002000			ADD	#CKCPSZ,R1	;SET UP COUNT TO TEST
  4726	005126	004737	005260			JSR	PC,10$		;CALL CHECKER FOR DEFINED PAGE
  4727	005132	062737	000020	172354		ADD	#CKCPSZ/BSFACT.,KISAR6 ;UP MAPPING REG TO NEXT PAGE
  4728	005140	023737	172354	002046		CMP	KISAR6,PHYLIM	;PAST ALL OF PHYSICAL MEMORY?
  4729	005146	101760				BLOS	8$		;NOT YET
  4730	005150	004037	014570			JSR	R0,CKTCRL	;ADVERTISE COMPLETION
  4731	005154	004411	027056	041456		.ASCIZ	"		...COMPLETE"<15><12>
	005162	046517	046120	052105
	005170	006505	000012
  4732						.EVEN			;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 12-1
C11DTE.MAC    10-AUG-79 16:05			CHECK MEMORY - SLIDING BIT PATTERN

  4733	005174	000512				BR	CKMPAR		;
  4734									;
  4735	005176				80$:				;THIS TRAP HANDLER IS NEEDED ONLY IF THERE
  4736									;  CAN BE HOLES IN THE PHYSICAL MEMORY
  4737	005176	021627	005266			CMP	(SP),#15$	;EXPECTED TRAP FROM CHECKER?
  4738	005202	001422				BEQ	82$		;OKAY
  4739	005204					CK11SC	<CKEPC!CKEMSG>,<BAD NXM TRAP IN MEM CHK>
  4740	005206	040502	020104	054116		.ASCIZ	"BAD NXM TRAP IN MEMORY CHECKER"<377>
	005214	020115	051124	050101
	005222	044440	020116	042515
	005230	047515	054522	041440
	005236	042510	045503	051105
	005244	000377
  4741						.EVEN			;
  4742	005246	000400				BR	82$		;
  4743	005250	012716	005416		82$:	MOV	#40$,(SP)	;SET RECOVERY ADDRESS
  4744	005254	000002				RTI			;RECOVER
  4745		   000				    .ENDC ;NDF M$$MGE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 12-2
C11DTE.MAC    10-AUG-79 16:05			CHECK MEMORY - SLIDING BIT PATTERN

  4747					; MEMORY CHECKER SUBROUTINE, CALLED FROM ABOVE, AND SKIPPED AROUND INLINE
  4748					;
  4749	005256	000000			1$:	.WORD	0		;LOCAL LOWER LIMIT WORD
  4750	005260	012702	000001		10$:	MOV	#1,R2		;SET UP TEST PATTERN
  4751	005264	011003				MOV	(R0),R3		;SAVE CONTENTS OF OBJECT LOCATION
  4752	005266				15$:				;LEGAL TRAP OCCURS HERE
  4753	005266	012737	177777	005256		MOV	#-1,1$		;SET LIMIT WORD NON-ZERO
  4754	005274	005010				CLR	(R0)		;CLEAR OBJECT WORD
  4755	005276	005737	005256			TST	1$		;REACHED LOWER LIMIT?
  4756	005302	001006				BNE	20$		;NO, CONTINUE WITH TEST
  4757									;YES, SET VALUES TO SKIP TESTING THIS CODE AREA
  4758	005304	062700	000142			ADD	#60$-1$,R0	;POINT PAST THIS CODE
  4759	005310	162701	000061			SUB	#<60$-1$>/2,R1	;ADJUST COUNT FOR SKIPPING TEST
  4760	005314	003361				BGT	10$		;NO PAGE BREAK RESULTED, RESUME TEST
  4761	005316	000207				RTS	PC		;CODE COVERS PAGE BREAK, RETURN R1 LE ZERO
  4762									;
  4763	005320				20$:				;
  4764	005320	010210			22$:	MOV	R2,(R0)		;STUFF CURRENT PATTERN
  4765	005322	005110				COM	(R0)		;INVERT IT
  4766	005324	005110				COM	(R0)		;AND BRING IT BACK
  4767	005326	021002				CMP	(R0),R2		;DID IT SURVIVE?
  4768	005330	001411				BEQ	30$		;YES
  4769	005332					CKSERR	R2,<(R0)>,R0	;SAVE GD,BD,ADR
  4770	005340					CK11SC	<CKEMSE!CKEPC!CKEGB>,<CKMG01>,<MEMORY ERROR>,<S..MEM>
  4771	005352	000400				BR	30$		;
  4772	005354	006302			30$:	ASL	R2		;ADVANCE PATTERN
  4773	005356	001360				BNE	22$		;REPEAT UNTIL R2 IS ZERO
  4774	005360	103757				BCS	22$		;  AND EVEN THEN, DO IT ONCE MORE
  4775	005362	010310				MOV	R3,(R0)		;RESTORE RIGHTFUL DATA
  4776	005364	005110				COM	(R0)		;BLAP IT, TOO
  4777	005366	005110				COM	(R0)		;  BACK AND FORTH
  4778	005370	022003				CMP	(R0)+,R3	;CHECK FOR SURVIVAL AND ADVANCE POINTER
  4779	005372	001411				BEQ	40$		;OKAY
  4780	005374					CKSERR	R3,<-(R0)>,R0	;SAVE GD,BD,ADR
  4781	005402					CK11SC	<CKEMSE!CKEPC!CKEGB>,<CKMG01>,<MEMORY ERROR>,<S..MEM>
  4782	005414	000400				BR	40$		;
  4783	005416	077160			40$:	SOB	R1,10$		;DO OVER THE WHOLE DEFINED LIMIT OF THE PAGE
  4784	005420	000207			60$:	RTS	PC		;THEN RETURN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 12-3
C11DTE.MAC    10-AUG-79 16:05			CHECK MEMORY - SLIDING BIT PATTERN

  4786					; CHECK THE MEMORY PARITY OPTION
  4787					;
  4788	005422				CKMPAR:					;START CHECKING CORE HERE
  4789		   001			.IF EQ <PDP11-40.>
  4790						MOV	#N.MM11,CKDNAM		;SAVE NAME OF "DEVICE"
  4791						CLR	CKDEVN			;"UNIT" IS 0
  4792						MOV	#MP.REG,R1		;OPTION REGISTER
  4793						MOV	R1,CHKCHR+CKDA		;SAVE ADR IN CASE NEED TO TYPE IT
  4794						MOV	NXMVEC,-(SP)
  4795						MOV	#MP.VEC,CHKCHR+CKDV	;VECTOR FOR INTERRUPTS
  4796						MOV	#60$,NXMVEC		;IN CASE PARITY OPTION NOT INSTALLED
  4797						CLR	MP.REG			;TRY TO CLEAR MEMORY PARITY REGISTER
  4798						MOV	@P,NXMVEC		;RESTORE TRAP VECTOR
  4799						JSR	R5,CHKBIT		;CHECK READ/WRITE BITS
  4800						107745
  4801					;NOW CHECK INTERRUPTS FROM PARITY CONTROL
  4802					; THIS IS DIFFICULT CUZ SETTING MP.ENB & MP.ERR WON'T CAUSE INTERRUPT
  4803						CLR	R0			;VECTOR WE TOOK WILL APPEAR HERE
  4804						MOV	#MP.WWP,@R1		;WE WANT TO WRITE WRONG PARITY
  4805						MOV	CKMPAR,CKMPAR		;WRITE A BAD WORD
  4806					;
  4807						CLR	@R1			;BUT ONLY ONE WORD !
  4808						TST	CKMPAR			;TRY FOR AN INTERRUPT
  4809						NOP				;IN CASE SLOW
  4810						TST	R0			;SEE IF WE GOT ONE
  4811						BEQ	32$
  4812						CK11SC	<CKEMSE!CKEDID!CKEPC>,CKMG07,<INTERRUPTED WHEN NOT ENABLED>
  4813					32$:	MOV	#MP.ENB,@R1		;NOW LETS GET THE INTERRUPT
  4814						TST	CKMPAR
  4815						CLR	@R1			;DISABLE FURTHER INTERRUPTS
  4816						MOV	CKMPAR,CKMPAR		;WRITE BACK RIGHT
  4817						TST	R0			;DID WE GET THE INTERRUPT ?
  4818						BNE	34$
  4819						CK11SC	<CKEDID!CKEMSE!CKEPC>,CKMG04,<INTERRUPT DID NOT OCCUR>
  4820						BR	80$
  4821					;
  4822					34$:	CMP	R0,CHKCHR+CKDV		;WAS INTERRUPT RIGHT?
  4823						BEQ	36$			;YES.
  4824						CKSERR	<CHKCHR+CKDV>,R0,<#CKMPAR>	;GD,BD,ADR
  4825						CK11SC	<CKEMSE!CKEDID!CKEPC!CKEGB>,CKMG05,<interrupted to wrong vector>
  4826						BR	80$			;DONE.
  4827					;
  4828					.PAGE
  4829					; COME HERE IF PARITY OPTION IS PRESENT AND WORKING
  4830					;
  4831					36$:	JSR	R0,CKTCRL		;PRINT MESSAGE ABOUT IT
  4832						.ASCIZ	\     MF11-UP\
  4833						.EVEN
  4834						MOV	#MP.ENB,MP.REG		;ENABLE PARITY ERRORS
  4835						BR	80$			;ALL DONE.
  4836					;
  4837					;HERE IF WE GET A BUS TRAP WHILE ACCESSING THE PARITY CONTROL REG
  4838					60$:	MOV	(SP)+,(SP)+		;CLEAN OFF STACK
  4839						CK11SC	<CKEDID!CKEPC!CKEMSE>,CKMG06,<not found>
  4840					;
  4841		   002			.IF DF MP.ARM
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 12-4
C11DTE.MAC    10-AUG-79 16:05			CHECK MEMORY - SLIDING BIT PATTERN

  4842						MOV	#402,MP.ARM		;MP.ARM CONTAINS A MOV #MP.ENB,MP.REG;
  4843										; THIS TURNS IT INTO A BR .+6
  4844		   001			.ENDC
  4845					80$:	MOV	(SP)+,NXMVEC
  4846					;
  4847		   000			.ENDC;.IF EQ <PDP11-40.>
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 12-5
C11DTE.MAC    10-AUG-79 16:05			CHECK MEMORY - SLIDING BIT PATTERN

  4849					; SEE IF ROM = BM873 OR M9301 IS PRESENT
  4850					;
  4851		   001				    .IF DF FT.ROM
  4852		   002				    .IF NE FT.ROM
  4853					CK.ROM:	MOV	NXMVEC,-(SP)		;SAVE BUS TRAP VECTOR
  4854						MOV	#20$,NXMVEC
  4855						TST	ROMADR			;IS ROM REALLY HERE ?
  4856						BR	90$			;YES
  4857					;
  4858					;HERE BECAUSE ROM NOT PRESENT
  4859					20$:	CLR	GO.ROM			;MAKE JMP ROMADR = HALT
  4860						MOV	(SP)+,(SP)+		;CLEAN OFF STACK
  4861					;
  4862					90$:	MOV	(SP)+,NXMVEC
  4863		   001				    .ENDC;NE FT.ROM
  4864		   000				    .ENDC;DF FT.ROM
  4865					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 13
C11DTE.MAC    10-AUG-79 16:05			CHECK MEMORY - SLIDING BIT PATTERN

  4867
  4868					.SBTTL		CHECK KW11-L HDW
  4869					;
  4870					; BE SURE CLOCK IS PRESENT AND TICKS
  4871					;
  4872	005422	012737	001641	002040	CHKCLK:	MOV	#N.KW.L,CKDNAM		;SET UP FOR NAME
  4873	005430	042737	100000	002034		BIC	#CKFIDT,CHKFLG		;SO WE PRINT DEV ID
  4874	005436	012704	177546			MOV	#CLKWRD,R4		;SET UP DEV ADR
  4875	005442	010437	016262			MOV	R4,CHKCHR+CKDA		;SET UP DEVICE ADR
  4876	005446	012737	000100	016264		MOV	#CLKVEC,CHKCHR+CKDV	;SET UP VECTOR ADR
  4877	005454	005037	002036			CLR	CKDEVN			;DEVICE NUMBER
  4878	005460	012737	005566	000004		MOV	#20$,NXMVEC		;SET BUS TRAP IN CASE CLOCK IS NOT PRESENT
  4879	005466	005714				TST	(R4)			;TRAP IF NOT INSTALLED
  4880	005470	012737	015542	000004		MOV	#CKBUST,NXMVEC		;WHERE TO GO ON BUS TRAP
  4881	005476	013746	000100			MOV	CLKVEC,-(SP)		;SAVE WHERE TO GO ON INT
  4882	005502	012737	005610	000100		MOV	#80$,CLKVEC		;SETUP INTERRUPT VECTOR
  4883	005510	012737	000003	005622		MOV	#3,CHKTIM		;TIME 3 TICKS
  4884	005516	005037	177776			CLR	PS			;LET INTERRUPTS HAPPEN
  4885	005522	012714	000100			MOV	#KW.INE,(R4)		;ENABLE THE CLOCK
  4886	005526	001412				BEQ	15$			;IF COUNTED OUT ALREADY EVIL
  4887	005530	005000				CLR	R0			;INITIALIZE WATCHDOG COUNTER
  4888	005532	005737	005622		10$:	TST	CHKTIM
  4889	005536	001432				BEQ	CKCLK9			;BRANCH IF TIMED OUT ALREADY
  4890	005540	077004				SOB	R0,10$
  4891	005542					CK11SC	<CKEPC!CKEDID>,<Slow>,<NO RESPONSE FROM KW11>
  4892	005544	066123	073557	000377		.ASCIZ	\Slow\<377>
  4893						.EVEN
  4894	005552	000424				BR	CKCLK9			;
  4895	005554				15$:	CK11SC	<CKEPC!CKEDID>,<Fast>,<KW11 TICKING TOO FAST>
  4896	005556	060506	072163	000377		.ASCIZ	\Fast\<377>
  4897						.EVEN
  4898	005564	000417				BR	CKCLK9			;
  4899	005566				20$:	CK11SC	<CKEPC!CKEDID>,<Not Present>,<CAN'T ACCESS KW11>
  4900	005570	067516	020164	071120		.ASCIZ	\Not Present\<377>
	005576	071545	067145	177564
	005604	   000
  4901		005606				.EVEN
  4902	005606	000406				BR	CKCLK9			;
  4903					;
  4904					; KW11 INTERRUPT HANDLER
  4905					;
  4906	005610	005337	005622		80$:	DEC	CHKTIM		;COUNT OUT TIMER
  4907	005614	001001				BNE	90$		;
  4908	005616	005014				CLR	(R4)		;TURN OFF CLOCK
  4909	005620	000002			90$:	RTI			;DISMISS INTERRUPT
  4910									;
  4911	005622	000000			CHKTIM:	.WORD	0		;
  4912	005624				CKCLK9:	SPL	7		;SET TO LEVEL 7
  4913	005632	012714	000100			MOV	#KW.INE,(R4)	;ENABLE INT
  4914	005636	012637	000100			MOV	(SP)+,CLKVEC	;RESTORE WHERE TO GO ON INT
  4915	005642	004537	010626			JSR	R5,CHKINL	;FIND THE INT LEVEL
  4916	005646	177777				-1			;DELAY TO WAIT FOR INT
  4917	005650	042737	000100	177546		BIC	#KW.INE,CLKWRD	;DISABLE CLK INTS
  4918	005656	004037	014570			JSR	R0,CKTCRL	;INDICATE CLOCK PRESENT
  4919	005662	053513	030461	046055		.ASCIZ	\KW11-L checked\
	005670	061440	062550	065543
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 13-1
C11DTE.MAC    10-AUG-79 16:05			CHECK KW11-L HDW

	005676	062145	   000
  4920		005702				.EVEN			;
  4921	005702	004737	002102			JSR	PC,CKAKW1	;CALL TO MAIN FOR CLOCK
  4922									;
  4923	005706					FALLR	.		;FALL INTO WHATEVER COMES NEXT
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 13-2
C11DTE.MAC    10-AUG-79 16:05			CHECK DL10 HDW

  4925					.SBTTL		CHECK DL10 HDW
  4926					;
  4927	005706				CKDL10:
  4928		   001				    .IF NE FTDL10	;IF DOESN'T HAVE A DL10,DON'T CHECK IT
  4929						MOV	DL10AD,R4	;IF "DL10AD" IS NON 0 A DL10 IS PRESENT
  4930									; AND R4 WILL BE LOADED WITH BASE ADR
  4931						BEQ	10$		;BRANCH IF WE DO NOT
  4932						BIC	#CKFIDT,CHKFLG	;SO WE PRINT DEV ID
  4933						MOV	#CKND10,CKDNAM	;DEVICE NAME
  4934						CLR	CKDEVN		;DEVICE NUMBER
  4935						MOV	R4,R1		;PUT DEVICE ADDR FOR CHKBIT
  4936						MOV	R4,CHKCHR+CKDA	;PUT IN CHARACT TABLE FOR ERROR REPORTING
  4937						JSR	R5,CHKBIT	;CHECK THE FOLLOWING BITS
  4938						DL.B00!DL.B01!DL.INE!DL.ERE
  4939						JSR	R5,CHKDLX	;CHECK SET/CLEAR OF
  4940						DL.WCO			;WORD COUNT OVERFLOW
  4941						JSR	R5,CHKDLX	;CHECK SET/CLEAR OF
  4942						DL.PAR			;PARITY ERROR
  4943						JSR	R5,CHKDLX	;CHECK SET/CLEAR OF
  4944						DL.NXM			;NON EX MEM
  4945						JSR	R5,CHKDLX	;CHECK SET/CLEAR OF
  4946						DL.11I
  4947					8$:	MOV	#DL.B01,(R4)	;SET DL10 FOR LEVEL 5
  4948						MOV	#DL.VEC,CHKCHR+CKDV;PUT DEVICE VECTOR IN TABLE FOR CKINT
  4949						$CKINT	R4,R4,DL.INE,DL.11I,DL.11C
  4950						$CKINT	R4,R4,DL.ERE,<DL.PAR!DL.NXM!DL.WCO>,<DL.CNX!DL.CPE!DL.CWC>
  4951						JSR	R0,CKTCRL	;NOTE PRESENCE OF DL10
  4952						.ASCIZ	\     DL10\
  4953						.EVEN
  4954					10$:
  4955		   000				    .ENDC ;.IF NE FTDL10
  4956					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 14
C11DTE.MAC    10-AUG-79 16:05			CHECK DL10 HDW

  4958
  4959					.SBTTL		DEVICE SCAN AND CHECK
  4960					;
  4961					;THE SAME ROUTINE IS USED FOR FLOATING AND FIXED DEVICES
  4962					;HOWEVER FOR FIXED DEVICES THE VECTOR MULTIPLE MUST BE 0
  4963					;  *** WARNING: ***  CKCDEV IS BOTH CODE AND DATA BASE.
  4964					;DO *NOT* PUT ANYTHING OTHER THAN "DEVICE" MACROS BETWEEN CKCDEV AND CKCEND!
  4965					;
  4966					; INVOCATION:
  4967					;	DEVICE	A,MAXN,VI,HI,VM,NAM,FV
  4968					;
  4969					;	ARG	A	;DEVICE ADDRESS OR 0 IF FLOATING DEVICE
  4970					;	ARG	MAXN	;MAXIMUM NUMBER OF DEVICES
  4971					;	ARG	VI	;VECTOR INCREMENT
  4972					;	ARG	HI	;HARDWARE INCREMENT
  4973					;	ARG	VM	;VECTOR MULTIPLE
  4974					;	ARG	NAM	;DEVICE NAME ABBREVIATION
  4975					;	ARG	FV	;FIRST VECTOR ADR (FIXED DEV ONLY)
  4976					;
  4977	005706	004037	014570			JSR	R0,CKTCRL		;
  4978	005712	062012	073145	061551		.ASCII	<12>"device scan report assumes"
	005720	020145	061563	067141
	005726	071040	070145	071157
	005734	020164	071541	072563
	005742	062555	   163
  4979					.IIF DF CKSTD .ASCII	<15><12>"standard PDP-11 fixed and floating assignments"
  4980		   001				    .IF DF CKDN2X
  4981		   002				    .IF NE CKDN2X&B0
  4982	005745	   015	020012	020040		.ASCII	<15><12>"       DN20"
	005752	020040	020040	047104
	005760	030062
  4983		   001				    .ENDC
  4984		   002				    .IF NE CKDN2X&B1
  4985	005762	005015	020040	020040		.ASCII	<15><12>"       DN21"
	005770	020040	042040	031116
	005776	   061
  4986		   001				    .ENDC
  4987		   002				    .IF NE CKDN2X&B5
  4988	005777	   015	020012	020040		.ASCII	<15><12>"       DN25"
	006004	020040	020040	047104
	006012	032462
  4989		   001				    .ENDC
  4990	006014	063040	074151	062145		.ASCII	" fixed assignments (no floating)"
	006022	060440	071563	063551
	006030	066556	067145	071564
	006036	024040	067556	063040
	006044	067554	072141	067151
	006052	024547
  4991		   000				    .ENDC ;DF CKDN2X
  4992	006054	   000				.BYTE	0
  4993		006056				.EVEN				;
  4994					;
  4995					;
  4996	006056				CKCDEV:					;FIXED ADDRESS, FIXED VECTOR DEVICES
  4997	006056				CHKCD:	DEVICE	CD.STS,1,0,0,0,CD,CD.VEC	;CD20(CD11)
  4998		000034						CKCADD=.-CKCDEV			;SIZE OF "DEVICE" BLOCK
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 14-1
C11DTE.MAC    10-AUG-79 16:05			DEVICE SCAN AND CHECK

  4999	006112				CHKCR:	DEVICE	CR.STS,1,0,0,0,CR,CR.VEC	;CR11
  5000	006146					DEVICE	KG.STS,8.,0,10,0,KG,0		;KG11
  5001	006202					DEVICE	LE.STS,2,-10,10,0,LE,LE.VEC	;LP11
  5002	006236					DEVICE	LP0STS,2,-4,20,0,LP,LP.VEC	;LP20
  5003	006272					DEVICE	PP.STS,1,0,0,0,PP,PP.VEC	;PP11(PC11)
  5004	006326					DEVICE	PR.STS,1,0,0,0,PR,PR.VEC	;PR11(PC11)
  5005	006362					DEVICE	TC.STS,1,0,0,0,TC,TC.VEC	;TC11
  5006	006416					DEVICE	TM.STS,1,0,0,0,TM,TM.VEC	;TM11
  5007	006452					DEVICE	177446,1,0,0,0,RC,210		;RC11
  5008	006506					DEVICE	177460,1,0,0,0,RF,204		;RF11
  5009	006542					DEVICE	176700,1,0,0,0,RH,254		;RH11
  5010	006576				CHKRP:	DEVICE	176710,1,0,0,0,RP,254		;RP11-C
  5011	006632					DEVICE	177500,1,0,0,0,TA,260		;TA11
  5012	006666					DEVICE	177404,1,0,0,0,RK,220		;RK11
  5013	006722					DEVICE	177170,1,0,0,0,RX,264		;RX11
  5014	006756					DEVICE	172540,1,0,0,0,KW.P,104		;KW11-P
  5015					;;;;	DEVICE	DS.DVA,1,20,10,0,DS,DS.VEC	;DS11
  5016	007012				CHKDTE:	DEVICE	174440,4,-4,40,0,DTE2,774	;DTE20
  5017		   001				    .IF DF CKSTD		;STANDARD FLOATING ASSIGNMENTS
  5018										;FIXED ADDRESS, FLOATING VECTOR DEVICES
  5019						DEVICE	174770,32.,10,-10,10,DP,0	;DP11
  5020						DEVICE	175200,64.,4,10,4,DN,0		;DN11
  5021						DEVICE	170500,16.,4,10,10,DM,0		;DM11BB
  5022						DEVICE	172600,16.,4,10,4,R6,0		;PA611RDR
  5023						DEVICE	172700,16.,4,10,4,P6,0		;PA611PNCH
  5024						DEVICE	175610,16.,10,10,10,DL.E,0	;DL11-E
  5025					.IIF DF SY0880	DEVICE	177776,1,10,0,10,NL,0	;(NULL DEVICE, VECTOR SPACER)
  5026										;FULLY FLOATING DEVICES
  5027						DEVICE	0,16.,10,10,10,DJ,0		;DJ11
  5028						DEVICE	0,16.,10,20,10,DH,0		;DH11
  5029						DEVICE	0,16.,10,10,10,DQ,0		;DQ11
  5030						DEVICE	0,16.,10,10,10,DU,0		;DU11
  5031					.IIF DF SY0880	DEVICE	0,1,10,10,10,NL,0	;(NULL DEVICE, ADDRESS SPACER)
  5032						DEVICE	0,16.,10,10,10,DUP,0		;DUP11
  5033					.IIF DF SY0880	DEVICE	0,1,10,10,10,NL,0	;(NULL DEVICE, ADDRESS SPACER)
  5034					.IIF DF SY0880	DEVICE	0,1,10,10,10,NL,0	;(NULL DEVICE, ADDRESS SPACER)
  5035						DEVICE	0,16.,10,10,4,DMC,0		;DMC11
  5036						DEVICE	0,3.,10,10,4,KMC,0		;KMC11
  5037		   000				    .ENDC ;DF CKSTD
  5038											;
  5039		   001				    .IF DF CKDN2X		;-20 FRONT END CONFIGURATIONS
  5040		   002					.IF NE CKDN2X&B0	;DN20
  5041	007046					DEVICE	160540,3,10,10,0,KMC,540	;KMC11
  5042	007102					DEVICE	160300,12.,10,10,0,DUP,570	;DUP11
  5043	007136					DEVICE	175630,1,10,10,0,DL.E,740	;DL11-E (DN20 #1)
  5044	007172					DEVICE	175640,1,10,10,0,DL.E,730	;DL11-E (DN20 #2)
  5045	007226					DEVICE	175650,1,10,10,0,DL.E,720	;DL11-E (DN20 #3)
  5046		   001					.ENDC ;NE CKDN2X&B0
  5047		   002					.IF NE CKDN2X&B1	;DN21
  5048	007262					DEVICE	160740,4,10,10,0,DMC,670	;DMC11
  5049		   001					.ENDC ;NE CKDN2X&B1
  5050		   002					.IF NE CKDN2X&B5	;DN25
  5051	007316					DEVICE	160640,3,10,10,0,KMC,300	;KMC11
  5052	007352					DEVICE	160010,16.,10,10,0,DZ,340	;DZ11
  5053		   001					.ENDC ;NE CKDN2X&B5
  5054		   000				    .ENDC ;DF CKDN2X
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 14-2
C11DTE.MAC    10-AUG-79 16:05			DEVICE SCAN AND CHECK

  5055											;
  5056	007406				CKCEND:					;END OF DEVICES TO CHECK
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 14-3
C11DTE.MAC    10-AUG-79 16:05			CHK11 COMPLETION

  5058					.SBTTL		CHK11 COMPLETION
  5059					;
  5060	007406	004037	014570		CHK.90:	JSR	R0,CKTCRL	;
  5061	007412	004412	044103	030513		.ASCIZ	<12>"	CHK11 complete"<15><12><12>
	007420	020061	067543	070155
	007426	062554	062564	005015
	007434	000012
  5062						.EVEN			;
  5063	007436	012700	015415			MOV	#CK.BUF,R0	;SEND OUT A NULL
  5064	007442					CALL	CKBFSH		;  LINE TO THE REMOTE DEVICE
  5065	007446	011606				MOV	(SP),SP		;CHAIN BACK TO CALLER'S STACK
  5066	007450	012605				MOV	(SP)+,R5	;RESTORE
  5067	007452	012604				MOV	(SP)+,R4	;  CALLER'S
  5068	007454	013701	002044			MOV	CK.DTE,R1	;  REGISTERS
  5069	007460	000177	172356			JMP	@CK.CAL		;RETURN TO CALLER
  5070					.SBTTL	END OF CHK11 MAINLINE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 14-4
C11DTE.MAC    10-AUG-79 16:05		GENERAL SUBROUTINES

  5072					.SBTTL	GENERAL SUBROUTINES
  5073					;**** GOT RID OF ALL THE STANDARD CHK11 VECTOR SETUP HERE ****;
  5074					;**** AFTER ALL, THIS IS ONLY THE TERTIARY LOADER...      ****;
  5075					.SBTTL		LOOK FOR AND CHECK SYSTEM DEVICES
  5076					;
  5077					; CALLING SEQUENCE (GENERATED BY MACRO "DEVICE"):
  5078					;	JSR	R5,CHKDEV
  5079					;	(OFFSET
  5080					;	  NAME)
  5081					;	D.BADR	.WORD	ADDRESS OF 1ST DEVICE REGISTER
  5082					;	D.MAXL	.BYTE	MAX # OF DEVICES TO SEEK
  5083					;	D.VINC	.BYTE	VECTOR INC
  5084					;	D.HINC	.BYTE	HDW INC
  5085					;	D.VMUL	.BYTE	1ST VEC MULTIPLE
  5086					;	D.CNTP	.WORD	<ADR OF NUMBER OF DEVICES OR ZERO>
  5087					;	D.NAMP	.WORD	<ADR OF .ASCIZ \NAME\>
  5088					;	D.DIAG	.WORD	<ADR OF ROUTINE TO VERIFY OPERATION>
  5089					;	D.MAIN	.WORD	<ADR OF MAIN PROGRAM ROUTINE FOR DEVICE>
  5090					;	D.MPVC	.WORD	<ADR OF TABLE WHICH CONTAINS MAIN PROG VECTORS OR 0>
  5091					;	D.CNTF	.WORD	<# OF DEVICES FOUND>
  5092					;	D.FRSV	.WORD	<FIRST VECTOR FOUND>
  5093					;	D.PRIO	.WORD	<PI LEVEL>
  5094					;	D.FVFD	.WORD	<FIRST DEV VECTOR FOR FIXED TYPE DEV>
  5095					;	D.NEXT	(RETURN ADDRESS)
  5096					;
  5097	007464				CHKDEV:			;
  5098								;LOOK FOR AND COUNT PLAUSIBLE DEVICE TYPES
  5099								;
  5100	007464	016537	000010	002040		MOV	D.NAMP(R5),CKDNAM ;REMEMBER DEVICE NAME
  5101	007472	005002				CLR	R2		;INITIALIZE COUNTER FOR DEVICES
  5102									;GET DEVICE VECTOR
  5103	007474	013703	011502			MOV	CHKFLV,R3	;ASSUME FLOATING VECTOR
  5104	007500	105765	000005			TSTB	D.VMUL(R5)	;BUT SEE IF FIXED
  5105	007504	001002				BNE	4$		;FLOATING VECTOR
  5106	007506	016503	000026			MOV	D.FVFD(R5),R3	;FIXED, GET PRE-ASSIGNED VECTOR
  5107									;
  5108	007512	011504			4$:	MOV	(R5),R4		;GET HDW ADR FOR 1ST DEVICE
  5109	007514	001012				BNE	6$		;ADDRESS IS NOT ZERO, HENCE FIXED DEVICE
  5110									;DEV EXPECTS TO FLOAT, BUMP UP TO NEXT SLOT
  5111	007516	116501	000004			MOVB	D.HINC(R5),R1	;COMPUTE NEXT ADDRESS AS MULTIPLE OF HDW INC
  5112	007522	060137	011504			ADD	R1,CHKFLD	;
  5113	007526	005301				DEC	R1		;
  5114	007530	040137	011504			BIC	R1,CHKFLD	;
  5115	007534	013704	011504			MOV	CHKFLD,R4	;COPY FOR USE
  5116	007540	010415				MOV	R4,(R5)		;STUFF EXPECTED ADDRESS IN DEVICE TABLE
  5117	007542				6$:				;
  5118	007542	012737	007654	000004	7$:	MOV	#20$,NXMVEC	;SET BUS TRAP VECTOR
  5119	007550	005714				TST	(R4)		;CHECK TO SEE IF DEVICE IS PRESENT
  5120	007552	012737	015542	000004		MOV	#CKBUST,NXMVEC	;IT'S THERE, SET BUS ERR VEC BACK
  5121	007560	005702				TST	R2		;IS THIS THE FIRST OF ITS KIND ?
  5122	007562	001014				BNE	15$		;NO
  5123	007564	005065	000020			CLR	D.CNTF(R5)	;YES, CLEAR NUMBER OF DEV FOUND
  5124	007570	005065	000022			CLR	D.FRSV(R5)	;CLEAR FIRST VECTOR ADR
  5125					;;;;	CLR	D.PRIO(R5)	;CLEAR BR LEVEL
  5126	007574	116501	000005			MOVB	D.VMUL(R5),R1	;GET ADDRESS MULTIPLE OF VECTOR
  5127	007600	001405				BEQ	15$		;BRANCH IF FIXED VECTOR DEV
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 14-5
C11DTE.MAC    10-AUG-79 16:05			LOOK FOR AND CHECK SYSTEM DEVICES

  5128	007602	005301				DEC	R1		;ELSE COUNT UP VECTOR MOD VMUL
  5129	007604	010365	000026			MOV	R3,D.FVFD(R5)	;SAVE EXPECTED ADDRESS OF FIRST VECTOR
  5130	007610	060103				ADD	R1,R3		;
  5131	007612	040103				BIC	R1,R3		;
  5132	007614	005202			15$:	INC	R2		;COUNT DEVICE
  5133	007616	005265	000020			INC	D.CNTF(R5)	;COUNT DEVICE AND REMEMBER IT
  5134	007622	116501	000003			MOVB	D.VINC(R5),R1	;GET VECTOR INCREMENT
  5135	007626	060103				ADD	R1,R3		;COMPUTE NEW VECTOR
  5136	007630	116501	000004			MOVB	D.HINC(R5),R1	;GET REG BLOCK INCREMENT
  5137	007634	060104				ADD	R1,R4		;ADVANCE DEVICE ADR POINTER
  5138	007636	021537	011504			CMP	(R5),CHKFLD	;FLOATING DEVICE?
  5139	007642	101737				BLOS	7$		;YES, KEEP LOOKING UNTIL GAP FOUND
  5140	007644	120265	000002			CMPB	R2,D.MAXL(R5)	;HAVE WE CHECKED AS MANY AS WE CAN EXPECT?
  5141	007650	001334				BNE	7$		;NO, LOOP BACK FOR REST
  5142	007652	024646				CMP	-(SP),-(SP)	;YES, FAKE A TRAP
  5143									;WE HAVE FOUND AS MANY UNITS AS WE SOUGHT,
  5144									;  OR WE HAVE TRAPPED ON FINDING FEWER
  5145									;REPORT THE DEVICE COUNT
  5146	007654	012737	015542	000004	20$:	MOV	#CKBUST,NXMVEC	;RESET BUS ERROR VECTOR
  5147	007662	022626				CMP	(SP)+,(SP)+	;POP OFF TRAP
  5148	007664	021537	011504			CMP	(R5),CHKFLD	;FLOATER?
  5149	007670	101016				BHI	21$		;NO
  5150	007672	010437	011504			MOV	R4,CHKFLD	;YES, SAVE CURRENT ADDRESS AS GAP ADDRESS
  5151	007676	120265	000002			CMPB	R2,D.MAXL(R5)	;TOO MANY?
  5152	007702	101411				BLOS	21$		;NO
  5153	007704					CK11SC	<CKEDID>,<Too many device units>
  5154	007706	067524	020157	060555		.ASCIZ	"Too many units"
	007714	074556	072440	064556
	007722	071564	   000
  5155		007726				.EVEN			;
  5156	007726	005765	000006		21$:	TST	D.CNTP(R5)	;DO WE HAVE A REMOTE ADDRESS TO REPORT COUNT?
  5157	007732	001402				BEQ	22$		;IF NOT, DON'T TRY
  5158	007734	010275	000006			MOV	R2,@D.CNTP(R5)	;YES, PUT NUMBER FOR SOMEONE TO FIND
  5159	007740	010200			22$:	MOV	R2,R0		;NUMBER OF DEVICES WE FOUND
  5160	007742	001001				BNE	24$		;THERE ARE SOME
  5161		   001				.IF DF CKNODV
  5162						JSR	PC,CKCRLF	;DO CR/LF
  5163						JSR	R0,CKTSTR	;THERE AREN'T ANY
  5164						.ASCIZ	"no"		;
  5165						.EVEN			;
  5166						BR	25$		;
  5167						.IFF
  5168	007744	000560				BR	40$		;AREN'T ANY - FORGET IT
  5169		   000				.ENDC
  5170	007746	004737	014556		24$:	JSR	PC,CKCRLF	;DO CR/LF
  5171	007752	004737	014616			JSR	PC,CKTOCT	;TYPE OUT THE NUMBER
  5172	007756	012700	010336		25$:	MOV	#70$,R0		;ASSUME FIXED ADDRESS DEVICE
  5173	007762	021537	011504			CMP	(R5),CHKFLD	;  BUT CHECK
  5174	007766	101002				BHI	26$		;FIXED
  5175	007770	012700	010346			MOV	#72$,R0		;RATHER FLOATING
  5176	007774	004737	014530		26$:	JSR	PC,CKTTXT	;SAY WHICH
  5177	010000	013700	002040			MOV	CKDNAM,R0	;GET ADR OF ASCIZ STRING
  5178	010004	004737	014530			JSR	PC,CKTTXT	;TYPE DEVICE NAME
  5179	010010	020227	000001			CMP	R2,#1		;HOW MANY ?
  5180	010014	001402				BEQ	27$		;SINGULAR
  5181	010016					CK11SC	<CKENCL>,<'s>	;PLURAL
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 14-6
C11DTE.MAC    10-AUG-79 16:05			LOOK FOR AND CHECK SYSTEM DEVICES

  5182	010020	000163				.ASCIZ	\s\		;
  5183						.EVEN			;
  5184	010022	012700	010372		27$:	MOV	#74$,R0		;ADD TO DESCRIPTOR STRING
  5185	010026	020227	000001			CMP	R2,#1		;USE PROPER PREPOSITION
  5186	010032	101402				BLOS	28$		;
  5187	010034	012700	010362			MOV	#73$,R0		;
  5188	010040	004737	014530		28$:	JSR	PC,CKTTXT	;TYPE PREPOSITION
  5189	010044	011500				MOV	(R5),R0		;GET EXPECTED DEVICE ADDRESS
  5190	010046	004737	014616			JSR	PC,CKTOCT	;TYPE IT OUT
  5191									;THE CURRENT DEVICE UNITS HAVE BEEN SOUGHT
  5192									;  AND COUNTED - PROCEED TO TEST ANY SO FOUND
  5193	010052	005702				TST	R2		;WERE THERE ANY?
  5194	010054	001514				BEQ	40$		;NO
  5195	010056	010346				MOV	R3,-(SP)	;
  5196	010060	010446				MOV	R4,-(SP)	;
  5197	010062	010246				MOV	R2,-(SP)	;R2 MUST STAY ON TOP FOR COUNT
  5198	010064	005037	002036			CLR	CKDEVN		;CHECK UNIT 0 FIRST
  5199	010070	016503	000026			MOV	D.FVFD(R5),R3	;GET FIRST VECTOR FOR POSSIBLE FIXED
  5200	010074	004037	014574			JSR	R0,CKTSTR	;REPORT VECTOR ADDRESS
  5201	010100	020054	062566	072143		.ASCIZ	", vector at"	;
	010106	071157	060440	000164
  5202						.EVEN			;
  5203	010114	010300				MOV	R3,R0		;
  5204	010116	004737	014602			JSR	PC,CKTBOC	;
  5205	010122	116500	000005			MOVB	D.VMUL(R5),R0	;GET VECTOR MULTIPLE
  5206	010126	001405				BEQ	30$		;BRANCH IF FIXED
  5207	010130	013703	011502			MOV	CHKFLV,R3	;GET VECTOR FOR 1ST UNIT
  5208	010134	005300				DEC	R0		;
  5209	010136	060003				ADD	R0,R3		;
  5210	010140	040003				BIC	R0,R3		;
  5211	010142	011504			30$:	MOV	(R5),R4		;GET HDW ADR FOR FIRST UNIT
  5212	010144	001002				BNE	32$		;
  5213	010146	013704	011504			MOV	CHKFLD,R4	;FLOATING DEVICE
  5214	010152	005037	016266		32$:	CLR	CHKCHR+CKPI	;ROUTINE WILL SET PI LEVEL
  5215	010156	016500	000012			MOV	D.DIAG(R5),R0	;ADR OF ROUTINE TO VERIFY DEVICE
  5216	010162	001424				BEQ	34$		;BRANCH IF NO ROUTINE TO VERIFY
  5217	010164	042737	100000	002034		BIC	#CKFIDT,CHKFLG	;HAVEN'T TYPED ID YET
  5218	010172	010437	016262			MOV	R4,CHKCHR+CKDA	;SAVE DEVICE ADDRESS
  5219	010176	010337	016264			MOV	R3,CHKCHR+CKDV	;SAVE VECTOR ADDRESS IN TABLE
  5220	010202	010401				MOV	R4,R1		;PUT DEV ADR IN R1, MOST WILL USE IT
  5221	010204	005037	016270			CLR	CHKCHR+CKFLG	;CLR AND LET DEV ROUTINE SET FLAGS
  5222	010210					SPL	7		;MAKE SURE WE'RE AT LEVEL 7
  5223	010216	004710				JSR	PC,(R0)		;CALL TO DEVICE CHECK
  5224	010220	005765	000022			TST	D.FRSV(R5)	;SEE IF VECTOR ADR SET YET
  5225	010224	001003				BNE	34$		;BRANCH IF SET
  5226	010226	013765	016264	000022		MOV	CHKCHR+CKDV,D.FRSV(R5) ;SET FIRST VECTOR FOUND
  5227					;;;;	MOV	CHKCHR+CKPI,D.PRIO(R5) ;SET FIRST PI LEVEL FOUND
  5228	010234	021527	175400		34$:	CMP	(R5),#DS.DVA	;DS11 ARE SPECIAL SO DON'T CALL MAIN HERE
  5229	010240	001404				BEQ	35$		;BRANCH IF DS11
  5230	010242	012700	016262			MOV	#CHKCHR,R0	;POINT TO THE CHARACTERISTIC TABLE
  5231	010246	004775	000014			JSR	PC,@D.MAIN(R5)	;CALL TO MAIN PROGRAM
  5232	010252	116500	000003		35$:	MOVB	D.VINC(R5),R0	;GET VECTOR INCREMENT
  5233	010256	060003				ADD	R0,R3		;
  5234	010260	116500	000004			MOVB	D.HINC(R5),R0	;HDW INCREMENT
  5235	010264	060004				ADD	R0,R4		;POINT TO NEXT REGISTER SET
  5236	010266	005237	002036			INC	CKDEVN		;ON TO NEXT DEVICE NUMBER
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 14-7
C11DTE.MAC    10-AUG-79 16:05			LOOK FOR AND CHECK SYSTEM DEVICES

  5237	010272	023716	002036			CMP	CKDEVN,(SP)	;DONE ALL UNITS YET? (SET TO 177776 BY NULL DIAG)
  5238	010276	103725				BLO	32$		;NO, NOT YET
  5239	010300	012602				MOV	(SP)+,R2	;
  5240	010302	012604				MOV	(SP)+,R4	;
  5241	010304	012603				MOV	(SP)+,R3	;
  5242	010306				40$:				;
  5243		000000				.REPT	0
  5244							;;;;DISABLED CODE!!!
  5245						SAVE	<R3,R4>
  5246						CLR	R4		;FLAG NO MORE DEVICES
  5247						JSR	PC,@D.MAIN(R5)	;CALL MAIN PROGRAM
  5248						RESTORE	<R4,R3>
  5249						.ENDR
  5250					;
  5251					;DONE CHECKING ALL DEVICE UNITS, UPDATE FLOATING VALUES AS REQ'D
  5252					;
  5253	010306	105765	000005			TSTB	D.VMUL(R5)	;FIXED VECTOR DEV?
  5254	010312	001406				BEQ	50$		;YES
  5255	010314	013746	011502			MOV	CHKFLV,-(SP)	;NO, RESET FLOATING VECTOR
  5256	010320	010337	011502			MOV	R3,CHKFLV	;
  5257	010324	012603				MOV	(SP)+,R3	;
  5258	010326	011500				MOV	(R5),R0		;WAS THIS A FLOATING DEVICE ?
  5259	010330	062705	000030		50$:	ADD	#D.NEXT,R5	;RETURN FOLLOWING TRAILING ARGS
  5260	010334	000205				RTS	R5		;
  5261									;
  5262	010336	043040	074151	062145	70$:	.ASCIZ	" Fixed "	;
	010344	000040
  5263						.EVEN			;
  5264	010346	043040	067554	072141	72$:	.ASCIZ	" Floating "	;
	010354	067151	020147	   000
  5265		010362				.EVEN			;
  5266	010362	063040	067562	020155	73$:	.ASCIZ	" from "	;
	010370	   000
  5267		010372				.EVEN			;
  5268	010372	060440	020164	   000	74$:	.ASCIZ	" at "		;
  5269		010400				.EVEN			;
  5270					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 15
C11DTE.MAC    10-AUG-79 16:05			LOOK FOR AND CHECK SYSTEM DEVICES

  5272
  5273					.SBTTL		BIT BY BIT SET/CLEAR TEST
  5274					;
  5275					; CHECK WE CAN SET/CLEAR VARIOUS BITS
  5276					;
  5277					; CALL	MOV	#<ADR OF ASCIZ \NAME\>,CKDNAM
  5278					;	MOV	<DEVICE NUMBER>,CKDEVN
  5279					;	MOV	<DEVICE REGISTER ADDRESS>,R1
  5280					;	JSR	R5,CHKBIT
  5281					;	<ALL BITS TO TEST>
  5282					;
  5283	010400	010046			CHKBIT:	MOV	R0,-(SP)	;
  5284	010402	052737	000340	177776		BIS	#BR7,PS		;DISABLE INTERRUPTS
  5285	010410	011500				MOV	(R5),R0		;GET BITS TO CHECK
  5286	010412	040011				BIC	R0,(R1)		;TRY AND CLEAR ALL OF THEM
  5287	010414	030011				BIT	R0,(R1)		;SEE IF ALL OF THEM CLEARED?
  5288	010416	001410				BEQ	1$		;BRANCH IF ALL CLEAR
  5289	010420	005046				CLR	-(SP)		;WHAT THE RESULT SHOULD BE
  5290	010422	011146				MOV	(R1),-(SP)	;PUT C(DEV REG) ON STACK
  5291	010424	010046				MOV	R0,-(SP)	;BUT ONLY CERTAIN BITS ARE BAD CANDIDATES
  5292	010426	005116				COM	(SP)		;GET RID OF ONES
  5293	010430	042616				BIC	(SP)+,(SP)	; THAT WE'RE NOT INTERESTED IN
  5294	010432	010146				MOV	R1,-(SP)	;SAVE THE DEVICE ADR
  5295	010434					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<BITS WOULD NOT CLEAR>
  5296	010440	012700	000001		1$:	MOV	#1,R0		;START WITH B0 AND GO UNTIL B15 IS DONE
  5297	010444	031500			2$:	BIT	(R5),R0		;WANT THIS BIT CHECKED?
  5298	010446	001420				BEQ	4$		;BRANCH IF NOT, AND MAKE NEW BIT
  5299	010450	050011				BIS	R0,(R1)		;TRY TO SET THE BIT
  5300	010452	030011				BIT	R0,(R1)		;SEE IF THE BIT SET
  5301	010454	001005				BNE	3$		;BRANCH IF IT SET
  5302	010456	010046				MOV	R0,-(SP)	;SAVE GOOD
  5303	010460	005046				CLR	-(SP)		;GOOD SHOUD BE 0 FOR THAT BIT
  5304	010462	010146				MOV	R1,-(SP)	;DEV ADR WHERE IT HAPPENED
  5305	010464					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG03>,<BIT WOULD NOT SET>
  5306	010470	040011			3$:	BIC	R0,(R1)		;NOW THAT ITS SET TRY TO CLEAR IT
  5307	010472	030011				BIT	R0,(R1)		;SEE IF IT CLEARED
  5308	010474	001405				BEQ	4$		;BRANCH IF IT CLEARED AND GET NEW BIT
  5309	010476	005046				CLR	-(SP)		;GOOD SHOUD BE 0
  5310	010500	010046				MOV	R0,-(SP)	;SINCE IT DIDN'T CLEAR THIS BIT IS BAD
  5311	010502	010146				MOV	R1,-(SP)	;DEV ADR THAT FAILED
  5312	010504					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<BIT WOULD NOT CLEAR>
  5313	010510	006300			4$:	ASL	R0		;MAKE NEW BIT POSITION
  5314	010512	001354				BNE	2$		;BRANCH IF THERE IS A BIT
  5315	010514	012600				MOV	(SP)+,R0	;
  5316	010516	005725				TST	(R5)+		;GO OVER BITS FOLLOWING JSR
  5317	010520	000205				RTS	R5		;EXIT
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 15-1
C11DTE.MAC    10-AUG-79 16:05			BIT SET/BIT CLEAR TEST FOR DL10

  5319					.SBTTL		BIT SET/BIT CLEAR TEST FOR DL10
  5320					;
  5321					;ROUTINE TO CHECK DL10 BITS
  5322					;
  5323		   001				    .IF NE FTDL10
  5324					CHKDLX:	MOV	(R5)+,R0	;GET BIT TO CHECK
  5325						BIS	R0,(R1)		;SET THE BIT IN THE DL10
  5326						CMP	(R1),R0		;DID IT SET AND ONLY IT SET?
  5327						BEQ	1$		;BRANCH IF OK
  5328						CKSERR	R0,<(R1)>,R1	;GD, BD, ADR
  5329						CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG03>,<SET BIT BUT ITS NOT SET>
  5330					1$:	ASR	R0		;SHIFT RIGHT TO GET IT IN CLEAR POSITION
  5331						BIS	R0,(R1)		;SET BIT TO CLEAR BIT
  5332						TST	(R1)		;ALL BITS SHOULD BE CLEAR NOW
  5333						BEQ	2$		;BRANCH IF THEY ARE
  5334						CLR	-(SP)		;THE GOOD
  5335						MOV	(R1),-(SP)	;THE BAD
  5336						MOV	R1,-(SP)		;THE BAD ADR
  5337						CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<SETTING DIDN'T CLR BIT>
  5338					2$:	RTS	R5		;EXIT
  5339		   000				    .ENDC ;.IF NE FTDL10
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 15-2
C11DTE.MAC    10-AUG-79 16:05			PRINT DEVICE ID ROUTINE

  5341					.SBTTL		PRINT DEVICE ID ROUTINE
  5342					;
  5343	010522	032737	100000	002034	CKDIDT:	BIT	#CKFIDT,CHKFLG	;HAVE WE ALREADY TYPE DEVICE ID ?
  5344	010530	001035				BNE	1$
  5345	010532					CK11SC	0,<? >
  5346	010534	004407	020077	   000			.ASCIZ	<7>"	? "
  5347		010542					.EVEN
  5348	010542	013700	002040			MOV	CKDNAM,R0	;GET ASCIZ \DEVICE NAME\
  5349	010546	004737	014530			JSR	PC,CKTTXT	;TYPE DEVICE NAME
  5350	010552					CK11SC	<CKENCL>,< #>
  5351	010554	021440	   000				.ASCIZ	\ #\
  5352		010560					.EVEN
  5353	010560	013700	002036			MOV	CKDEVN,R0	;GET UNIT NUMBER
  5354	010564	004737	014616			JSR	PC,CKTOCT	;TYPE UNIT NUMBER
  5355	010570					CK11SC	<CKENCL>,<(Adr = >
  5356	010572	040450	071144	036440			.ASCIZ	\(Adr = \
	010600	000040
  5357							.EVEN
  5358	010602	013700	016262			MOV	CHKCHR+CKDA,R0	;GET DEVICE ADDR
  5359	010606	004737	014616			JSR	PC,CKTOCT	;TYPE IT
  5360	010612					CK11SC	<CKENCL>,<)>
  5361	010614	000051					.ASCIZ	\)\
  5362							.EVEN
  5363	010616	052737	100000	002034		BIS	#CKFIDT,CHKFLG	;REMEMBER WE TYPED DEVICE ID
  5364	010624	000207			1$:	RTS	PC
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 15-3
C11DTE.MAC    10-AUG-79 16:05			ROUTINE TO FIND DEVICE INTERRUPT LEVEL

  5366					.SBTTL		ROUTINE TO FIND DEVICE INTERRUPT LEVEL
  5367					;
  5368					;CALL	JSR R5,CHKINL		;WITH DEVICE READY TO INT BUT
  5369					;				; WITH THE PS SET TO LEVEL 7.
  5370					;
  5371	010626	010046			CHKINL:	MOV	R0,-(SP)	;SAVE R0
  5372	010630	010146				MOV	R1,-(SP)	;SAVE R1
  5373	010632	010246				MOV	R2,-(SP)	;SAVE R2
  5374	010634	012702	000300			MOV	#BR6,R2		;START BY CHECKING LEVEL 6
  5375	010640	011501			1$:	MOV	(R5),R1		;GET TIME TO WAIT
  5376	010642	005000				CLR	R0		;WILL BE SET BY INT ROUTINE IF INT
  5377	010644	010237	177776			MOV	R2,PS		;LOWER PS LEVEL
  5378									;MOST REASONABLE INTERRUPTS WHICH OCCUR WILL
  5379									;  DISPATCH THROUGH CKINT, RETURN THE VECTOR
  5380									;  ADDRESS USED IN R0
  5381	010650	005700			2$:	TST	R0		;SEE IF INT YET
  5382	010652	001012				BNE	10$		;NON 0 SAYS INTERRUPT HAPPENED
  5383	010654	077103				SOB	R1,2$		;TIME AND WAIT
  5384	010656					SPL	7		;TIMED OUT SET LEVEL 7, LOWER AND TRY AGAIN
  5385	010664	162702	000040			SUB	#40,R2		;MAKE LEVEL LOWER BY 1
  5386	010670	002363				BGE	1$		;BRANCH IF LEVEL 0 NOT CHECKED YET
  5387	010672					CK11SC	<CKEMSE!CKEDID!CKEPC>,<CKMG04>,<DEVICE NEVER INTERRUPTED>
  5388	010676	000415				BR	3$		;EXIT
  5389									;
  5390	010700	020037	016264		10$:	CMP	R0,CHKCHR+CKDV	;SEE IF SAME AS WHAT IT SHOULD BE
  5391	010704	001406				BEQ	11$		;BRANCH IF CORRECT VECTOR
  5392	010706					CKSERR	<CHKCHR+CKDV>,<R0>,<R4>
  5393	010716					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG05>,<WENT TO WRONG VECTOR>
  5394									;
  5395	010722	062702	000040		11$:	ADD	#40,R2		;MAKE THE DEVICE LEVEL
  5396	010726	010237	016266			MOV	R2,CHKCHR+CKPI	;SAVE LEVEL DEVICE INTERRUPTED AT
  5397	010732	012602			3$:	MOV	(SP)+,R2	;RESTORE R2
  5398	010734	012601				MOV	(SP)+,R1	;RESTORE R1
  5399	010736	012600				MOV	(SP)+,R0	;RESTORE R0
  5400	010740	005725				TST	(R5)+		;SKIP OVER TIME DELAY CONSTANT
  5401	010742	000205				RTS	R5		;RETURN WITH DEVICE LEVEL SAVED IN CHARACTERISTICS TABLE
  5402					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 16
C11DTE.MAC    10-AUG-79 16:05			ROUTINE TO FIND DEVICE INTERRUPT LEVEL

  5404
  5405					.SBTTL		CHECK INTERRUPTS AND FIND DEVICE LEVEL
  5406					;
  5407					;ROUTINE TO CHECK INTERRUPTS AND FIND DEVICE LEVEL
  5408					;
  5409					; CALL (GENERATED BY MACRO "$CKINT"):
  5410					;	MOV	ENABLE ADR,R1
  5411					;	MOV	INT ADR,R2
  5412					;	JSR	R5,CKINT
  5413					;	TRAILING ARGS:
  5414					;		(NAME)	(PURPOSE)
  5415					;		I.ENAB	- ENABLE BIT
  5416					;		I.INTS	- INTERRUPT BITS
  5417					;		I.INTC	- SPECIAL CLEAR BITS
  5418					;		I.RTRN	- RETURN ADDRESS
  5419					;
  5420	010744	010346			CKINT:	MOV	R3,-(SP)
  5421	010746	010446				MOV	R4,-(SP)
  5422	010750	005037	016266			CLR	CHKCHR+CKPI	;START WITH PI OF 0 (NO DEV)
  5423	010754	005037	011336			CLR	CKFLAG		;0 = PI LEVEL FOUND MUST BE PUT IN TABLE
  5424									; NON 0 = CHECK PI LEVEL FOUND WITH TABLE
  5425	010760	012704	000001			MOV	#1,R4		;STARTING POSITION OF SLIDING INT BIT
  5426	010764	012703	000340		CKINT1:	MOV	#BR7,R3		;START CHECKING AT THIS LEVEL
  5427	010770	010337	177776		CKINT2:	MOV	R3,PS		;SET PS
  5428	010774	005000				CLR	R0		;SET TO 0 SO IF INT HAPPENS WE KNOW IT
  5429	010776	030465	000002		CKINT3:	BIT	R4,I.INTS(R5)	;IS THERE A BIT TO TEST?
  5430	011002	001002				BNE	5$		;BRANCH IF BIT IN POSITION
  5431	011004	000137	011314			JMP	CKINT7		;MAKE NEW BIT POSITION
  5432	011010	051511			5$:	BIS	(R5),(R1)	;SET INTERRUPT ENABLE
  5433	011012	050412				BIS	R4,(R2)		;SET INTERRUPT BIT
  5434	011014	000240				NOP			;ALLOW 1 EXTRA INST TIME FOR INT
  5435	011016					SPL	7		;LET NO INT HAPPEN
  5436	011024	041511				BIC	(R5),(R1)	;CLEAR INT ENABLE
  5437	011026	005765	000004			TST	I.INTC(R5)	;SEE IF SPECIAL CLEAR
  5438	011032	001403				BEQ	7$		;BRANCH IF NOT
  5439	011034	056512	000004			BIS	I.INTC(R5),(R2)	;SPECIAL CLEAR
  5440	011040	000402				BR	9$		;CONTINUE
  5441	011042	046512	000002		7$:	BIC	I.INTS(R5),(R2)	;CLEAR INT BITS
  5442	011046	005700			9$:	TST	R0		;IF R0 IS NON 0 IT SHOULD BE THE
  5443									; VECTOR ADR. IF 0 NO INT HAPPENED.
  5444	011050	001006				BNE	10$		;BRANCH IF INTERRUPT
  5445	011052	162703	000040			SUB	#40,R3		;MAKE PS VALUE 1 LEVEL LESS
  5446	011056	002344				BGE	CKINT2		;BRANCH IF NEW LEVEL OK
  5447	011060					CK11SC	<CKEMSE!CKEPC!CKEDID>,<CKMG04>,<DEVICE NEVER INTERRUPTED>
  5448	011064	000517				BR	CKINTE		;EXIT
  5449	011066				10$:				;INTERRUPT OCCURRED, CHECK IT OUT
  5450	011066	020037	016264			CMP	R0,CHKCHR+CKDV	;SEE IF WE WENT TO CORRECT ADR
  5451	011072	001407				BEQ	13$		;BRANCH IF WE DID, R0 = VECTOR ADR
  5452	011074					CKSERR	<CHKCHR+CKDV>,R0,<R2>;GD,BD,ADR
  5453	011104					CK11SC	<CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG05>,<WENT TO WRONG VECTOR>
  5454	011110	000505				BR	CKINTE		;EXIT
  5455	011112	005737	011336		13$:	TST	CKFLAG		;MUST WE LOAD LEVEL OR CHECK IT?
  5456	011116	001010				BNE	11$		;BRANCH IF JUST CHECK
  5457	011120	010337	016266			MOV	R3,CHKCHR+CKPI	;LOAD LEVEL JUST FOUND
  5458	011124	062737	000040	016266		ADD	#40,CHKCHR+CKPI	;MAKE LEVEL OF DEVICE
  5459	011132	012737	177777	011336		MOV	#-1,CKFLAG	;SET FLAG SO NEXT TIME WE CHECK LEVEL AS WELL
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 16-1
C11DTE.MAC    10-AUG-79 16:05			CHECK INTERRUPTS AND FIND DEVICE LEVEL

  5460	011140	010300			11$:	MOV	R3,R0		;GET PRESENT LEVEL
  5461	011142	062700	000040			ADD	#40,R0		;MAKE IT THE DEVICE LEVEL
  5462	011146	020037	016266			CMP	R0,CHKCHR+CKPI	;CHECK LEVEL AGAINST LAST TIME
  5463	011152	001427				BEQ	CKINT6		;BRANCH IF LEVEL CHECKS
  5464	011154					CKSERR	<CHKCHR+CKPI>,R0,R4
  5465	011164					CK11SC	<CKEPC!CKEDID!CKEGB>,<Interrupt to Different BR Level>,<INTERRUPT TO DIF
  5466	011166	067111	062564	071162		.ASCIZ	\Interrupt to Different BR Level\<377>
	011174	070165	020164	067564
	011202	042040	063151	062546
	011210	062562	072156	041040
	011216	020122	062514	062566
	011224	177554	   000
  5467		011230				.EVEN
  5468	011230	000435				BR	CKINTE		;EXIT
  5469	011232	005037	177776		CKINT6:	CLR	PS		;CHECK WITH LEVEL 0 AND
  5470	011236	005000				CLR	R0		; NO INT ENABLE BITS SET
  5471	011240	050412				BIS	R4,(R2)		;  AND INT BIT SET THAT NO INT OCCURRS
  5472	011242	000240				NOP			;PAUSE
  5473	011244	000240				NOP			;PAUSE
  5474	011246					SPL	7		;DON'T LET AN INT HAPPEN
  5475	011254	005700				TST	R0		;SEE IF ONE HAPPENED
  5476	011256	001403				BEQ	19$		;BRANCH IF NO INT
  5477	011260					CK11SC	<CKEMSE!CKEDID!CKEPC>,CKMG07,<INTERRUPT WHEN NOT ENABLED>
  5478	011264	000417				BR	CKINTE		;EXIT
  5479	011266	005765	000004		19$:	TST	I.INTC(R5)	;SEE IF SPECIAL CLEAR
  5480	011272	001403				BEQ	22$		;BRANCH IF NOT
  5481	011274	056512	000004			BIS	I.INTC(R5),(R2)	;SPECIAL CLEAR  (DL10 FOR ONE)
  5482	011300	000401				BR	24$		;CONTINUE
  5483	011302	040412			22$:	BIC	R4,(R2)		;CLEAR INT BITS
  5484	011304	006304			24$:	ASL	R4		;MAKE NEW BIT POSITION
  5485	011306	001406				BEQ	CKINTE		;BRANCH IF DONE
  5486	011310	000137	010764			JMP	CKINT1		;TEST NEW BIT
  5487	011314	006304			CKINT7:	ASL	R4		;MAKE NEW INT BIT POSITION
  5488	011316	001402				BEQ	CKINTE		;BRANCH IF NO NEW BIT POSITION
  5489	011320	000137	010776			JMP	CKINT3		;BRANCH IF NEW BIT POSITION
  5490	011324	062705	000006		CKINTE:	ADD	#I.RTRN,R5	;FOR CORRECT RETURN
  5491	011330	012604				MOV	(SP)+,R4	;
  5492	011332	012603				MOV	(SP)+,R3	;
  5493	011334	000205				RTS	R5		;RETURN
  5494					;
  5495	011336	000000			CKFLAG:	0
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 16-2
C11DTE.MAC    10-AUG-79 16:05			GENERAL INTERRUPT FIELDER FOR CHK11

  5497					.SBTTL		GENERAL INTERRUPT FIELDER FOR CHK11
  5498					;
  5499					;WE GET HERE FROM ALMOST ANY INTERRUPT WHILE IN CHK11
  5500					; THIS WILL RETURN THE VECTOR ADDRESS IN R0 -
  5501					; THIS IS DISCERNED FROM THE CONDITION CODE BITS AND THE
  5502					; ADDRESS AT WHICH THE CODE IS ENTERED
  5503					;
  5504	011340				CHKINT:
  5505									;ENTRY FOR VECTORS 0-74
  5506	011340	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5507	011344	004737	011460			JSR	PC,1$
  5508	011350	000000				.WORD	0
  5509		000012					CHKISZ	= .-CHKINT ;CHKINT BLOCK SIZE
  5510									;ENTRY FOR VECTORS 100-174
  5511	011352	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5512	011356	004737	011460			JSR	PC,1$
  5513	011362	000100				.WORD	100
  5514									;ENTRY FOR VECTORS 200-274
  5515	011364	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5516	011370	004737	011460			JSR	PC,1$
  5517	011374	000200				.WORD	200
  5518									;ENTRY FOR VECTORS 300-374
  5519	011376	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5520	011402	004737	011460			JSR	PC,1$
  5521	011406	000300				.WORD	300
  5522									;ENTRY FOR VECTORS 400-474
  5523	011410	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5524	011414	004737	011460			JSR	PC,1$
  5525	011420	000400				.WORD	400
  5526									;ENTRY FOR VECTORS 500-574
  5527	011422	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5528	011426	004737	011460			JSR	PC,1$
  5529	011432	000500				.WORD	500
  5530									;ENTRY FOR VECTORS 600-674
  5531	011434	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5532	011440	004737	011460			JSR	PC,1$
  5533	011444	000600				.WORD	600
  5534									;ENTRY FOR VECTORS 700-774
  5535	011446	013700	177776			MOV	PS,R0		;GET PROCESSOR STATUS
  5536	011452	004737	011460			JSR	PC,1$
  5537	011456	000700				.WORD	700
  5538						;-----------------------------------------------------------------
  5539	011460	042700	177760		1$:	BIC	#^C17,R0	;SAVE ONLY CONDITION CODE BITS
  5540	011464	006300				ASL	R0		;MULTIPLY BY 4 (4 BYTES PER VECTOR)
  5541	011466	006300				ASL	R0		;
  5542	011470	063600				ADD	@(SP)+,R0	;MAKES VECTOR ADR (POPS JSR RET ADR)
  5543	011472	012766	000340	000002		MOV	#BR7,2(SP)	;DON'T TRAP AGAIN ON RETURN
  5544	011500	000002				RTI			;
  5545									;
  5546	011502	000001			CHKFLV:	.BLKW	1		;CURRENT FLOATING DEVICE VECTOR
  5547	011504	000001			CHKFLD:	.BLKW	1		;CURRENT FLOATING DEVICE ADR
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 16-3
C11DTE.MAC    10-AUG-79 16:05		DEVICE DIAGNOSTICS

  5549					.SBTTL	DEVICE DIAGNOSTICS
  5550					;
  5551					; THE FOLLOWING ROUTINES HAVE NAMES OF THE FORM X--11, WHERE -- IS
  5552					;   A DEVICE NAME (E.G. DH, DL, DTE2, KMC, ETC.) - THIS DEVICE NAME IS USED
  5553					;   IN THE MACRO "DEVICE" TO GENERATE A POINTER TO THE APPROPRIATE
  5554					;   DIAGNOSTIC ROUTINE - "DEVICE" CALLS CHKDEV, WHICH ACCESSES THE
  5555					;   TABLE GENERATED BY "DEVICE" CONTAINING THIS POINTER, AND USES
  5556					;   IT TO CALL THE PROPER DIAGNOSTIC
  5557					;
  5558					; DEVELOPERS: TRY TO KEEP THE DEVICE ROUTINE SETS IN
  5559					;   ALPHABETICAL ORDER BY DEVICE NAME (E.G., ...DL11-A, DL11-E,
  5560					;   DM11BB, DN11, ... DU11, DUP11, DZ11...) - ALSO NOTE THAT THE
  5561					;   THE DEVICE NAMES ARE THE ABBREVIATIONS USED IN THE MACRO NAMSTR
  5562					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 16-4
C11DTE.MAC    10-AUG-79 16:05			CHECK CD20 HARDWARE

  5564					.SBTTL		CHECK CD20 HARDWARE
  5565					;
  5566						    .IIF NDF FTCD20,FTCD20=0
  5567		   001				    .IF NE FTCD20
  5568	011506				XCD11:				;
  5569	011506	012737	011742	000004		MOV	#30$,NXMVEC	;SET A LOCAL BUS ERROR HANDLER
  5570	011514	005761	000006			TST	CDST2(R1)	;LOOK FOR SECONDARY STATUS REGISTER
  5571	011520	012737	015542	000004		MOV	#CKBUST,NXMVEC	;IT'S THERE, THIS MUST BE A CD20 (NOT A CR11)
  5572	011526	016146	000004			MOV	CDBA(R1),-(SP)	;TO BE SURE,
  5573	011532	012700	177777			MOV	#-1,R0		;  FIND OUT IF WE CAN
  5574	011536	074061	000004			XOR	R0,CDBA(R1)	;  FIDDLE THE "CDBA" BITS
  5575	011542	022661	000004			CMP	(SP)+,CDBA(R1)	;  IF WE CAN'T,
  5576	011546	001501				BEQ	40$		;  IT ISN'T A CD11/20
  5577	011550	074061	000004			XOR	R0,CDBA(R1)	;  IF WE DID, PUT THE BITS BACK
  5578	011554	052737	000001	006116		BIS	#1,CHKCR+4	;MAKE CR11 TEST FAIL IF TRIED
  5579	011562	004537	010400			JSR	R5,CHKBIT	;R/W CHECK ON CD.STS
  5580	011566	000162				.WORD	CD.IE!CD.XAD!CD.PAC
  5581	011570	005721				TST	(R1)+		;UP TO CDCC
  5582	011572	004537	010400			JSR	R5,CHKBIT	;
  5583	011576	177777				.WORD	ALLBTS		;
  5584	011600	005721				TST	(R1)+		;UP TO CDBA
  5585	011602	004537	010400			JSR	R5,CHKBIT	;
  5586	011606	177777				.WORD	ALLBTS		;
  5587	011610	010401				MOV	R4,R1		;RESTORE CD.STS POINTER
  5588	011612	032711	010000			BIT	#CD.OFL,(R1)	;READER AVAILABLE?
  5589	011616	001012				BNE	10$		;YES
  5590	011620					CK11SC	0,<not ready>	;
  5591	011622	041411	031104	020060		.ASCIZ	"	CD20 off line"
	011630	063157	020146	064554
	011636	062556	   000
  5592		011642				.EVEN			;
  5593	011642	000207				RTS	PC		;
  5594									;
  5595	011644	012721	000400		10$:	MOV	#CD.PWC,(R1)+	;CLEAR READER
  5596	011650	012721	177777			MOV	#-1,(R1)+	;SET TO READ ONE COLUMN
  5597	011654	012721	160000			MOV	#160000,(R1)+	;  INTO A NON-EXISTENT LOCATION
  5598	011660	012714	000161			MOV	#CD.IE!CD.XAD!CD.GO,(R4) ;START READER
  5599	011664	005000				CLR	R0		;SET TIMER FOR READ WAIT
  5600	011666	032714	100200		15$:	BIT	#CD.ERR!CD.RDY,(R4) ;LOOK FOR ERROR OR DONE
  5601	011672	001017				BNE	20$		;GOT ONE OF THEM
  5602	011674	077004				SOB	R0,15$		;NOT YET
  5603	011676					CK11SC	<CKEPC!CKEDID>,<SLOW READ>
  5604	011700	041411	031104	020060		.ASCIZ	"	CD20 time out on read"
	011706	064564	062555	067440
	011714	072165	067440	020156
	011722	062562	062141	   000
  5605		011730				.EVEN			;
  5606	011730	000207				RTS	PC		;
  5607									;
  5608	011732	004537	010626		20$:	JSR	R5,CHKINL	;CD20 SHOULD BE READY TO INTERRUPT
  5609	011736	177777				.WORD	177777		;
  5610	011740	000207				RTS	PC		;
  5611									;
  5612	011742	012737	015542	000004	30$:	MOV	#CKBUST,NXMVEC	;RESTORE BUS ERROR VECTOR
  5613	011750	022626				CMP	(SP)+,(SP)+	;POP TRAP
  5614	011752				40$:	CK11SC	0,<NOT CD20>	;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 16-5
C11DTE.MAC    10-AUG-79 16:05			CHECK CD20 HARDWARE

  5615	011754	061411	071157	062562		.ASCIZ	"	correction - reader is NOT a CD20"
	011762	072143	067551	020156
	011770	020055	062562	062141
	011776	071145	064440	020163
	012004	047516	020124	020141
	012012	042103	030062	   000
  5616		012020				.EVEN			;
  5617	012020	000207				RTS	PC		;
  5618		   000				    .ENDC ;NE FTCD20
  5619					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 17
C11DTE.MAC    10-AUG-79 16:05			CHECK CD20 HARDWARE

  5621
  5622					.SBTTL		CHECK CR11 HARDWARE
  5623					;
  5624					;CALL	MOV	#<VECTOR ADR>,R3
  5625					;	MOV	#<HDW ADR>,R4
  5626					;	MOV	#<HDW ADR>,R1
  5627					;	JSR	PC,XCR11
  5628					;
  5629						    .IIF NDF FTCR11,FTCR11=0
  5630		   001				    .IF NE FTCR11
  5631	012022	016146	000004		XCR11:	MOV	CDBA(R1),-(SP)	;CHECK TO SEE
  5632	012026	012700	177777			MOV	#-1,R0		;  IF WE CAN
  5633	012032	074061	000004			XOR	R0,CDBA(R1)	;  FIDDLE THE BITS IN
  5634	012036	022661	000004			CMP	(SP)+,CDBA(R1)	;  THE BUFFER ADDRESS CSR
  5635	012042	001423				BEQ	10$		;NO - READER IS REAL
  5636	012044	074061	000004			XOR	R0,CDBA(R1)	;YES - SET THE BITS BACK
  5637	012050					CK11SC	0,<NOT CR11>	;
  5638	012052	067411	070157	020163		.ASCIZ	"	oops - reader is NOT a CR11"
	012060	020055	062562	062141
	012066	071145	064440	020163
	012074	047516	020124	020141
	012102	051103	030461	   000
  5639		012110				.EVEN			;
  5640	012110	000207				RTS	PC		;
  5641									;
  5642	012112	052737	000001	006062	10$:	BIS	#1,CHKCD+4	;MAKE CD20 TEST FAIL IF TRIED
  5643	012120	004537	010400			JSR	R5,CHKBIT	;CHECK HARDWARE BITS
  5644	012124	000102				.WORD	CR.EJT!CR.INE	;
  5645	012126	032714	001000			BIT	#CR.BSY,(R4)	;SEE IF BUSY (MAYBE POWER OFF)
  5646	012132	001414				BEQ	2$		;BRANCH IF COMMAND CAN BE GIVEV
  5647	012134					CK11SC	0,< CR11 not Rdy>
  5648	012136	041440	030522	020061		.ASCIZ	\ CR11 not Rdy\
	012144	067556	020164	062122
	012152	000171
  5649						.EVEN
  5650	012154	012737	000006	016266		MOV	#CR.LVL,CHKCHR+CKPI ;GIVE DEFAULT LEVEL
  5651	012162	000207				RTS	PC		;
  5652									;
  5653	012164	012714	000101		2$:	MOV	#CR.INE!CR.CFD,(R4) ;SET INT ENABLE AND READ
  5654								; TO FORCE ANY KIND OF INT
  5655	012170	005000				CLR	R0		;FOR TIMING OUT
  5656	012172	032714	100200		1$:	BIT	#CR.ERR!CR.CDN,(R4) ;SEE IF AN INT CONDITION EXISTS
  5657	012176	001015				BNE	3$		;IF NOT, THEN WAIT.
  5658	012200	077004				SOB	R0,1$		;START TIMING OUT
  5659	012202	042714	000100			BIC	#CR.INE,(R4)	;DISABLE CR11 INT ENABLE
  5660	012206					CK11SC	<CKEPC!CKEDID>,<CR11 Timed Out>,<CR11 NOT RESPONDING>
  5661	012210	051103	030461	052040		.ASCIZ	\CR11 Timed Out\
	012216	066551	062145	047440
	012224	072165	   000
  5662		012230				.EVEN			;
  5663	012230	000207				RTS	PC		;
  5664									;
  5665	012232	004537	010626		3$:	JSR	R5,CHKINL	;FIND INT LEVEL
  5666	012236	177777				-1			;FOR TIME-OUT LOOP
  5667	012240	042714	000100			BIC	#CR.INE,(R4)	;DISABLE INT FOR CR11
  5668	012244	000207				RTS	PC		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 17-1
C11DTE.MAC    10-AUG-79 16:05			CHECK CR11 HARDWARE

  5669		   000				    .ENDC ;NE FTCR11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 17-2
C11DTE.MAC    10-AUG-79 16:05			CHECK DH11 HDW

  5671					.SBTTL		CHECK DH11 HDW
  5672					.IIF NDF NDH11,NDH11=0	;BY DEFAULT NO DH11S
  5673					;
  5674					;CALL	MOV	#<VECTOR ADR>,R3
  5675					;	MOV	#<HDW ADR>,R4
  5676					;	MOV	#<HDW ADR>,R1
  5677					;	JSR	PC,XDH11
  5678					;
  5679						    .IIF NDF FTDH11,FTDH11=0
  5680		   001				    .IF NE FTDH11
  5681					XDH11:	MOV	R3,-(SP)	;SAVE REGISTER
  5682						JSR	R5,CHKBIT	;CHECK RD/WRT BITS
  5683						131177			;READ/WRITE BITS
  5684						TST	(R1)+		;ADVANCE TO NXT REC CHAR REG
  5685						TST	(R1)+		;ADVANCE TO LINE PARAMETER REG(XX4)
  5686						JSR	R5,CHKBIT	;CHECK RD/WRT BITS
  5687						177767			;READ/WRITE BITS
  5688						TST	(R1)+		;ADVANCE TO CURRENT ADR REG(XX6)
  5689						CLR	R2		;START CHECK AT LINE 0
  5690					1$:	JSR	R5,CHKBIT	;CHECK RD/WRT BITS
  5691						-1			;READ/WRITE BITS
  5692						INC	R2		;NEXT LINE TO CHECK
  5693						CMP	R2,#17		;DONE
  5694						BLE	1$		;CHECK LINES 0-17
  5695						TST	(R1)+		;ADVANCE TO BYTE COUNT REG(X10)
  5696						CLR	R2		;START CHECK AT LINE 0
  5697					2$:	JSR	R5,CHKBIT	;CHECK RD/WRT BITS
  5698						-1			;READ/WRITE BITS
  5699						INC	R2		;NEXT LINE TO CHECK
  5700						CMP	R2,#17		;ALL LINES CHECKED?
  5701						BLE	2$		;CHECK ALL 20 LINES
  5702						TST	(R1)+		;ADVANCE TO BAR REG(XX12)
  5703						TST	(R1)+		;ADVANCE TO BREAK REG(X14)
  5704						JSR	R5,CHKBIT	;CHECK BITS
  5705						-1			;READ/WRITE BITS
  5706						TST	(R1)+		;ADVANCE TO SILO STATUS REG(X16)
  5707						JSR	R5,CHKBIT	;CHECK READ/WRITE BITS
  5708						77
  5709						$CKINT	R4,R4,<DH.RIE!DH..MM>,<DH..RI>
  5710						$CKINT	,,<DH.SIE!DH..MM>,<DH..SI>
  5711						ADD	#4,CHKCHR+CKDV		;MAKE EXPECTED VECTOR FOR XMIT
  5712						$CKINT	,,<DH.TIE>,<DH..TI>
  5713						MOV	R3,CHKCHR+CKDV		;PUT VECTOR ADDRESS IN TABLE
  5714										;
  5715		   002				    .IF NE NDH11		;DON'T CHECK HARDWARE NOT TO BE USED
  5716					CKDH1A:	MOV	R3,DHXMII		;ADR TO COME TO ON XMIT INT
  5717						ADD	#4,DHXMII		;
  5718						MOV	#CKBLK,R0		;LOAD A BUFFER WITH COUNT PATTERN
  5719						MOV	#400,R1			;LOAD 400 CHARACTERS
  5720						CLR	R2			;START WITH 0
  5721					1$:	MOVB	R2,(R0)+		;STORE THE COUNT PATTERN
  5722						INCB	R2			;NEW PATTERN
  5723						SOB	R1,1$			;BUFFER LOADED?
  5724						CLR	R3			;START WITH LINE 0
  5725						MOV	#1,R2			;LINE BIT  (LINE 0)
  5726					CKDH1B:	CLR	DHDATA			;FIRST RCV'D SHOULD BE 0
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 17-3
C11DTE.MAC    10-AUG-79 16:05			CHECK DH11 HDW

  5727					.IIF NDF NTRIB,NTRIB=0
  5728		   003				    .IF NE NTRIB
  5729									;IF TRIBUTARY LINES IN USE
  5730									;USE MINIMAL TEST TO AVOID INTERFERRENCE
  5731									;WITH THE FUNCTIONAL STATIONS ON LINE
  5732									;THE PROBLEM ARISES BECAUSE MAINTAINANCE
  5733									;MODE ON THE DH11 DRIVES THE MODEM LINES!!!
  5734						MOV	#-1,R1
  5735						DEC	DHDATA
  5736						MOVB	R1,CKBLK
  5737						    .IFF
  5738						MOV	#-400,R1
  5739		   002				    .ENDC	;.IF NE NTRIB
  5740						BIS	#DH..MC,(R4)		;CLEAR THE DH
  5741						BIS	#DH..MM!DH.SIE!DH.TIE!DH.RIE,(R4)	;ENABLE INTS
  5742						BIS	R3,(R4)			;LOAD THE LINE NUMBER
  5743						MOV	#B6!B8!B9!B10!B12!B13!DH.2SB!DH.CL8!DH.PEN!DH..OP,DH.LPR(R4)
  5744										;SEL 8BIT,9600,PAR,ODD
  5745						MOV	R1,DH.BCR(R4)		;LENGTH TO XMIT
  5746						MOV	#CKBLK,DH.CAR(R4)	;ADR WHERE THE DATA IS
  5747						MOV	#4,DH.SSR(R4)		;ALARM LEVEL TO 4
  5748					CKDH1E:	CLR	R0			;INT RETURNS ADR IN HERE
  5749						CLR	R1			;TIMER
  5750						MOV	R2,DH.BAR(R4)		;SET LINE ACTIVE
  5751					2$:	CLR	PS			;LEVEL TO 0 FOR INTS
  5752						NOP				;LET AN INTERRUPT HAPPEN
  5753						SPL	7			;DON'T LET ONE HAPPEN
  5754						CMP	R0,CHKCHR+CKDV		;SEE IF RCV INT YET
  5755						BEQ	4$			;BRANCH IF RCV INT
  5756						CMP	R0,DHXMII		;SEE IF XMIT INT
  5757						BEQ	5$			;BRANCH IF XMIT INT
  5758						TST	R0			;SEE IF ANY INTERRUPT
  5759						BEQ	3$			;BRANCH IF NO INTERRUPT
  5760						CKSERR	<CHKCHR+CKDV>,R0,R3
  5761						CK11SC	<CKEPC!CKEGB!CKEDID>,<Ill Int>,<ILLEGAL INT WHILE WAITING FOR DH11 INT>
  5762						.ASCIZ	\Ill Int\<377>
  5763						.EVEN
  5764						JMP	CKDH1D			;DON'T TEST ANY MORE
  5765					3$:	SOB	R1,2$			;TIME-OUT
  5766						CK11SC	<CKEPC!CKEDID>,<No Int>,<NO DH11 INTERRUPT>
  5767						.ASCIZ	\No Int\<377>
  5768						.EVEN
  5769						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5770						JMP	CKDH1D			;DON'T TEST ANY MORE
  5771					5$:	BIT	#DH.NXM,(R4)		;SEE IF NXM
  5772						BEQ	16$			;BRANCH IF NO NXM
  5773						CK11SC	<CKEPC!CKEDID>,<Xmit Nxm>,<TRANSMIT NXM ON DH>
  5774						.ASCIZ	\Xmit Nxm\<377>
  5775						.EVEN
  5776						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5777						BR	CKDH1D			;DON'T TEST ANY MORE
  5778					16$:	BIT	#DH..TI,(R4)		;BETTER HAVE XMIT INT
  5779						BNE	17$			;BRANCH IF WE DO
  5780						CK11SC	<CKEPC!CKEDID>,<Ill Xmit Int>,<INT TO XMIT BUT FOR NO REASON>
  5781						.ASCIZ	\Ill Xmit Int\<377>
  5782						.EVEN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 17-4
C11DTE.MAC    10-AUG-79 16:05			CHECK DH11 HDW

  5783						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5784						BR	CKDH1D			;DON'T TEST ANY MORE
  5785					17$:	BIC	#DH..TI,(R4)		;CLEAR XMIT INT
  5786						BR	CKDH1E			;
  5787					4$:	BIT	#DH..SI,(R4)		;SEE IF SILO OVERFLOW
  5788						BEQ	CKDH1C			;BRANCH IF SILO HAD ROOM
  5789						CK11SC	<CKEPC!CKEDID>,<Silo Full>,<SILO OVERFLOW>
  5790						.ASCIZ	\Silo Full\<377>
  5791						.EVEN
  5792						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5793						BR	CKDH1D			;DON'T TEST ANY MORE
  5794					CKDH1C:	BIC	#DH..RI,(R4)		;CLEAR RCV INT (MUST FOR MAINT MODE)
  5795						MOV	DH.NRC(R4),R0		;GET STUFF FROM SILO
  5796						BIT	#DH.DOV!DH..FE!DH..PE,R0	;SEE IF ANY ERROR BITS WITH DATA
  5797						BEQ	7$			;BRANCH IF NO ERRORS WITH THE DATA
  5798						MOV	DHDATA,-(SP)		;MAKE THE GOOD
  5799						MOV	R3,-(SP)			;PUT LINE # IN
  5800						SWAB	(SP)			;GET IT IN THE (LB)
  5801						BIS	(SP)+,(SP)		;LINE # NOW IN GOOD
  5802						BIS	#DH.VDP,(SP)		;GOOD INCLUDES VALID DATA PRESENT
  5803						MOV	R0,-(SP)			;THE BAD
  5804						MOV	R3,-(SP)			;THE LINE UNDER TEST
  5805						CK11SC	<CKEGB!CKEPC!CKEDID>,<Data Err Bit Set>,<ERROR BITS WITH THE DATA>
  5806						.ASCIZ	\Data Err Bit Set\<377>
  5807						.EVEN
  5808						BR	CKDH1D			;DON'T TEST ANY MORE
  5809					7$:	BIT	#DH.VDP,R0		;SEE IF VALID DATA
  5810						BNE	8$			;BRANCH IF VALID DATA
  5811						CK11SC	<CKEPC!CKEDID>,<Not Valid Data>,<NOT VALID DATA BIT SET>
  5812						.ASCIZ	\Not Valid Data\<377>
  5813						.EVEN
  5814						JSR	PC,CKDHPL		;REPORT LINE NUMBER
  5815						BR	CKDH1D			;DON'T TEST ANY MORE
  5816					8$:	BIC	#B15!B14!B13!B12,R0	;CLEAR DATA ERROR BITS
  5817						SWAB	R0			;FOR CHECKING LINE #
  5818						CMPB	R0,R3			;SEE IF LINE #OK
  5819						BEQ	9$			;BRANCH IF IT IS
  5820						MOV	R3,-(SP)			;LEGAL LINE NUMBER
  5821						CLR	-(SP)			;0 FOR BYTE MOVE
  5822						MOVB	R0,(SP)			;THE ILLEGAL LINE NUMBER
  5823						MOV	R3,-(SP)			;LINE UNDER TEST
  5824						CK11SC	<CKEGB!CKEPC!CKEDID>,<Ill Line Num>,<ILLEGAL LINE NUMBER>
  5825						.ASCIZ	\Ill Line Num\<377>
  5826						.EVEN
  5827						BR	CKDH1D			;DON'T TEST ANY MORE
  5828					9$:	SWAB	R0			;FOR CHECKING THE DATA
  5829						CMPB	R0,DHDATA		;SEE IF CORRECT DATA
  5830						BEQ	10$			;BRANCH IF DATA OK
  5831						MOV	DHDATA,-(SP)		;GOOD DATA
  5832						CLR	-(SP)			;FOR BYTE MOVE
  5833						MOVB	R0,(SP)			;THE BAD DATA
  5834						MOV	R3,-(SP)			;THE LINE #
  5835						CK11SC	<CKEGB!CKEPC!CKEDID>,<Data Err>,<DATA ERROR>
  5836						.ASCIZ	\Data Err\<377>
  5837						.EVEN
  5838						BR	CKDH1D			;DON'T TEST ANY MORE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 17-5
C11DTE.MAC    10-AUG-79 16:05			CHECK DH11 HDW

  5839					10$:	INCB	DHDATA			;NEW PATTERN EXPECTED
  5840						BEQ	11$			;BRANCH IF LINE DONE
  5841						JMP	CKDH1E			;
  5842					;
  5843					11$:
  5844					CKDH1D:	INC	R3			;NEW LINE NUMBER
  5845						ASL	R2			;NEW BIT FOR NEXT LINE
  5846						BEQ	CKDH1F			;BRANCH IF TEST ALL DONE
  5847						JMP	CKDH1B			;
  5848					;
  5849					CKDHPL:	CK11SC	0,<		Line #>
  5850						.ASCIZ	\		Line #\
  5851						.EVEN
  5852						MOV	R3,R0			;LINE NUMBER TO R0 FOR CALL
  5853						JSR	PC,CKTOCT		;PRINT LINE NUMBER
  5854						RTS	PC			;RETURN
  5855					;
  5856						    .IFF ;NE NDH11
  5857					10$:	JSR	R0,CKTSTR
  5858						.ASCIZ	\	SKIPPING TRANSMISSION CHECK\
  5859						.EVEN
  5860						MOV	#377+<<.+6-10$>/2>,10$	;SHUT OFF SKIPPING COMMENT
  5861		   001				    .ENDC ;NE NDH11
  5862					;
  5863					CKDH1F:	BIS	#DH..MC,(R4)		;MASTER CLEAR
  5864						MOV	(SP)+,R3	;GET R3 BACK
  5865						RTS	PC			;DH CHARACTER TEST DONE
  5866					DHDATA:	0
  5867					DHXMII:	0
  5868		   000				    .ENDC ;NE FTDH11
  5869					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 18
C11DTE.MAC    10-AUG-79 16:05			CHECK DH11 HDW

  5871
  5872					.SBTTL		CHECK DL11-A HDW
  5873					;
  5874						    .IIF NDF FTDL1A,FTDL1A=0
  5875		   001				    .IF NE FTDL1A
  5876					XDL.A11:
  5877						RTS	PC
  5878		   000				    .ENDC ;NE FTDL1A
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 18-1
C11DTE.MAC    10-AUG-79 16:05			CHECK DL11-E HDW

  5880					.SBTTL		CHECK DL11-E HDW
  5881					;
  5882					;CALL	MOV	#<VECTOR ADR>,R3
  5883					;	MOV	#<HDW ADR>,R4
  5884					;	MOV	#<HDW ADR>,R1
  5885					;	JSR	PC,XDL11
  5886					;
  5887						    .IIF NDF FTDL1E,FTDL1E=0
  5888		   001				    .IF NE FTDL1E
  5889	012246				XDL.E11:
  5890	012246	010346				MOV	R3,-(SP)	;
  5891	012250	004537	010400			JSR	R5,CHKBIT	;CHECK READ/WRITE BITS
  5892	012254	000156				000156			;
  5893	012256	005721				TST	(R1)+		;ADVANCE TO RECEIVE DATA REGISTER
  5894	012260	005721				TST	(R1)+		;ADVANCE TO TRANSMIT STATUS REGISTER
  5895	012262	004537	010400			JSR	R5,CHKBIT	;
  5896	012266	000105				000105			;
  5897	012270	012603				MOV	(SP)+,R3	;
  5898	012272	000207				RTS	PC		;
  5899		   000				    .ENDC ;NE FTDL1E
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 18-2
C11DTE.MAC    10-AUG-79 16:05			CHECK DM11BB HDW

  5901					.SBTTL		CHECK DM11BB HDW
  5902					;
  5903					;CALL	MOV	#<VECTOR ADR>,R3
  5904					;	MOV	#<HDW ADR>,R4
  5905					;	MOV	#<HDW ADR>,R1
  5906					;	JSR	PC,XDM11
  5907					;
  5908						    .IIF NDF FTDM11,FTDM11=0
  5909		   001				    .IF NE FTDM11
  5910					XDM11:	JSR	R5,CHKBIT		;CHECK FOLLOWING BITS
  5911						DM.ALI!DM.DNE!DM..MM!DM.ENB!DM.IEN
  5912						$CKINT	,R4,<DM.IEN>,<DM.DNE>
  5913						JSR	PC,CKDMCS		;CLEAR SCAN AND CHECK IT CLEARED
  5914						BIS	#DM.ENB,(R4)		;ENABLE SCAN
  5915						BIT	#DM.BSY,(R4)		;SEE IF BSY SET
  5916						BNE	1$			;BRANCH IF IT DID
  5917						CK11SC	<CKEPC!CKEDID>,<Busy did not Set>,<BUSY DID NOT SET>
  5918						.ASCIZ	\Busy did not Set\<377>
  5919						.EVEN
  5920					1$:	JSR	PC,CKDMCS		;CLEAR SCAN AND CHECKED IT CLEARED
  5921						RTS	PC
  5922					;
  5923					.IIF NDF DM.TIM,DM.TIM=40.		;DM11BB SETTLE TIME IN MEMORY CYCLES
  5924					;
  5925					CKDMCS:	MOV	#DM.DNE!DM..MM!DM.IEN!DM.ENB!DM.ALI,R2
  5926										;BITS WHICH SHOULD GET CLEARED
  5927						MOV	#<DM.TIM/5>,R0		;TIME OUT FOR BUSY
  5928						BIS	#DM.SCN,(R4)		;CLEAR SCAN
  5929					5$:	BIT	#DM.BSY,(R4)		;SEE IF BUSY CLEAR YET
  5930						BEQ	2$			;BRANCH IF IT IS
  5931						SOB	R0,5$			;TIME OUT WAITING FOR BSY TO CLEAR
  5932						CK11SC	<CKEPC!CKEDID>,<Busy did not Clear>,<CLEARING SCAN FAILED TO CLEAR BUSY>
  5933						.ASCIZ	\Busy did not Clear\<377>
  5934						.EVEN
  5935					2$:	BIT	R1,(R4)			;SEE IF THEY ARE ALL CLEAR
  5936						BEQ	3$			;BRANCH IF THEY ARE ALL CLEAR
  5937						MOV	(R4),R0			;GET DM11 STATUS
  5938						COM	R2			;MASK OUT NON INTERESTING BITS
  5939						BIC	R2,R0			;
  5940						CLR	-(SP)			;GOOD
  5941						MOV	R0,-(SP)			;BAD
  5942						MOV	R4,-(SP)			;ADR
  5943						CK11SC	<CKEGB!CKEPC!CKEDID>,<Clear Scan Error>,<CLR SCAN FAILED TO CLEAR A BIT>
  5944						.ASCIZ	\Clear Scan Error\<377>
  5945						.EVEN
  5946					3$:	RTS	PC
  5947		   000				    .ENDC ;NE FTDM11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 18-3
C11DTE.MAC    10-AUG-79 16:05			CHECK DN11 HDW

  5949					.SBTTL		CHECK DN11 HDW
  5950					;
  5951					;CALL	MOV	#<VECTOR ADR>,R3
  5952					;	MOV	#<HDW ADR>,R4
  5953					;	MOV	#<HDW ADR>,R1
  5954					;	JSR	PC,XDN11
  5955					;
  5956						    .IIF NDF FTDN11,FTDN11=0
  5957		   001				    .IF NE FTDN11
  5958					XDN11:	JSR	R5,CHKBIT		;CHECK BITS
  5959						007714				;READ/WRITE BITS
  5960						$CKINT	,R4,<DN..IE!DN..ME>,<DN.DNE>
  5961						RTS	PC
  5962		   000				    .ENDC ;NE FTDN11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 18-4
C11DTE.MAC    10-AUG-79 16:05			CHECK DP11 HDW

  5964					.SBTTL		CHECK DP11 HDW
  5965					;
  5966					;CALL	MOV	#<VECTOR ADR>,R3
  5967					;	MOV	#<HDW ADR>,R4
  5968					;	MOV	#<HDW ADR>,R1
  5969					;	JSR	PC,XDP11
  5970					;
  5971						    .IIF NDF FTDP11,FTDP11=0
  5972		   001				    .IF NE FTDP11
  5973					XDP11:	JSR	R5,CHKBIT	;CHECK BITS
  5974						3707			;READ/WRITE BITS
  5975						TST	(R1)+		;ADV TO REC BUF/SYN REG
  5976					;;;;	JSR	R5,CHKBIT	;CHECK BITS
  5977					;;;;	000000			;READ/WRITE BITS
  5978						TST	(R1)+		;ADV TO XMT STATUS REG
  5979						JSR	R5,CHKBIT	;
  5980						000143			;READ/WRITE BITS
  5981					;;;;	TST	(R1)+		;ADV TO XMT BUFFER
  5982					;;;;	JSR	R5,CHKBIT	;
  5983					;;;;	000000			;READ/WRITE BITS
  5984						$CKINT	R4,R4,B6,B7	;
  5985						RTS	PC		;
  5986		   000				    .ENDC ;NE FTDP11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 18-5
C11DTE.MAC    10-AUG-79 16:05			CHECK DQ11 HDW

  5988					.SBTTL		CHECK DQ11 HDW
  5989					;
  5990					;CALL	MOV	#<VECTOR ADR>,R3
  5991					;	MOV	#<HDW ADR>,R4
  5992					;	MOV	#<HDW ADR>,R1
  5993					;	JSR	PC,XDQ11
  5994					;
  5995						    .IIF NDF FTDQ11,FTDQ11=0
  5996		   001				    .IF NE FTDQ11
  5997					XDQ11:
  5998		   002				    .IF	NDF,FT.D75		;ONLY ASSEMBLE DQ IF NOT DC75
  5999						JSR	R5,CHKBIT		;CHECK WE CAN SET BITS
  6000						110373				;READ/WRITE BITS
  6001						TST	(R1)+			;ADVANCE TO XMT REGISTER
  6002						JSR	R5,CHKBIT		;CHECK WE CAN SET BITS
  6003						101772				;READ/WRITE BITS
  6004						TST	(R1)+			;ADVANCE TO ERR REGISTER
  6005						JSR	R5,CHKBIT		;CHECK WE CAN SET BITS
  6006						017477				;READ/WRITE BITS
  6007						TST	(R1)+			;ADVANCE TO SHADOW REGISTERS
  6008						JSR	R5,CHKBIT
  6009						-1
  6010					;
  6011					;DETERMINE DQ11 INTERRUPT LEVEL
  6012					;
  6013					30$:	$CKINT	R4,R4,DQ.RIE,<DQ.RDP!DQ.RDS>
  6014						MOV	CHKCHR+CKDV,-(SP)	;SAVE VECTOR
  6015						ADD	#4,CHKCHR+CKDV		;MAKE VECTOR B
  6016						CMP	(R1)+,(R2)+		;POINT TO XMIT REG
  6017						$CKINT	,,<DQ.XIE>,<DQ.XDS!DQ.XDP>
  6018						TST	(R2)+			;ADVANCE INT BIT POINTER TO ERR REG
  6019						$CKINT	,,<DQ.EIE>,<DQ.VRC!DQ.XLE!DQ.RLE!DQ.XNX!DQ.RNX!DQ.XCL!DQ.RCL>
  6020						MOV	(SP)+,CHKCHR+CKDV		;RESTORE VECTOR A VECTOR
  6021					;
  6022					;ENTRY BECAUSE DQ11 TRAPPED TO RIGHT LOCATION
  6023					; CHECK WE CAN CLEAR THE DATASET FLAG
  6024					;
  6025					32$:	MOV	#5,R0			;PATIENCE COUNTER ON DATASET FLAG
  6026					31$:	BIC	#DQ.DSF,2(R4)		;CLEAR DATASET FLAG
  6027						CMP	(SP),(SP)			;TIME WASTER ONLY
  6028						BIT	#DQ.DSF,2(R4)		;CHECK TO SEE IF DATASET FLAG STILL OFF
  6029						BEQ	CHKDQE
  6030						SOB	R0,31$
  6031						CK11SC	<CKEDID!CKEPC>,<Can't Clr Dataset Flg>,< CAN'T CLEAR DATASET FLAG>
  6032						.ASCIZ	\Can't Clr Dataset Flg\<377>
  6033						.EVEN
  6034					.PAGE
  6035					;CHECK THAT ERROR BITS WORK
  6036					;
  6037					CHKDQE:	JSR	PC,CKDQCL		;CLEAR ENTIRE DQ
  6038						MOV	#40,R2			;FIRST BIT TO TRY
  6039					1$:	BIS	R2,4(R4)		;SET AN ERROR BIT
  6040						MOV	4(R4),R0		;GET ERR REG
  6041						BPL	2$			;BRANCH IF B15 ERR NOT SET
  6042						BIT	R2,R0			;SEE IF THE BIT SET
  6043						BNE	3$			;BRANCH IF B15 SET AND ERR BIT SET
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 18-6
C11DTE.MAC    10-AUG-79 16:05			CHECK DQ11 HDW

  6044					2$:	MOV	R2,-(SP)			;SAVE GOOD
  6045						BIS	#B15,(SP)		; ALSO MUST INCLUDE BIT 15.
  6046						JSR	PC,CKDQES		;PUT BAD AND REG # ON STACK
  6047						CK11SC	<CKEDID!CKEPC!CKEGB>,<Bit not Set>,<CAN'T SET BIT>
  6048						.ASCIZ	\Bit not Set\<377>
  6049						.EVEN
  6050					3$:	BIC	R2,4(R4)		;CLEAR BIT JUST SET, SHOULD ALSO CLEAR B15.
  6051						MOV	4(R4),R0		;SAVE RESULTS
  6052						BMI	4$			;BRANCH IF B15 SET (IT SHOULDN'T BE)
  6053						BIT	R2,R0		;SEE IF THE BIT IS CLEAR
  6054						BEQ	5$			;BRANCH IF ITS 0
  6055					4$:	CLR	-(SP)			;WHAT GOOD SHOULD BE
  6056						JSR	PC,CKDQES		;SAVE BD, AND REG # ON STACK
  6057						CK11SC	<CKEDID!CKEPC!CKEGB>,<Bit not Clear>,<COULDN'T CLEAR BIT>
  6058						.ASCIZ	\Bit not Clear\<377>
  6059						.EVEN
  6060					5$:	ASR	R2			;ALL DONE?
  6061						BNE	1$			;BRANCH BACK IF ANOTHER BIT TO TEST
  6062						BR	CHKDQS		;GO CHECK SECONDARY REGS
  6063					;
  6064					CKDQES:	MOV	(SP)+,R1			;SAVE RETURN PC
  6065						MOV	R0,-(SP)			;PUT C(ERR REG) ON STACK
  6066						MOV	R2,-(SP)			;BIT WE TESTED
  6067						BIS	#B15,(SP)		;INCLUDE ERROR BIT
  6068						COM	(SP)			;
  6069						BIC	(SP)+,(SP)		;KEEP ONLY THE INTERESTING BITS
  6070						MOV	R4,-(SP)			;SAVE REG ADR
  6071						ADD	#4,(SP)			;MAKE IT THE ERROR REG
  6072						JMP	(R1)			;RETURN
  6073					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 19
C11DTE.MAC    10-AUG-79 16:05			CHECK DQ11 HDW

  6075
  6076					; CHECK WE CAN LOAD VARIOUS DQ11 SECONDARY REGISTERS
  6077					;
  6078					CHKDQS:	CLR	R0			;1ST TRY TO CLEAR ALL SECONDARY REGISTERS
  6079						JSR	PC,60$			;GO DO IT
  6080						MOV	#-1,R0			;NOW TRY TO SET ALL SECONDARY REGISTERS
  6081						JSR	PC,60$
  6082						MOV	#1,R0			;BIT TO LOAD
  6083					10$:	JSR	PC,60$			;TRY TO LOAD BIT
  6084						ASL	R0			;SHIFT BIT
  6085						BNE	10$			;BRANCH IF STILL HAVE BITS TO TEST
  6086						MOV	#RG.SYN,R1		;NOW TRY TO LOAD REG WITH REG #
  6087					12$:	MOV	R1,R0			;DATA = REGISTER NUMBER
  6088						JSR	PC,CKDQSL		;TRY TO LOAD REGISTER
  6089						CMP	#RG.SYN,R1
  6090						BNE	14$
  6091						DEC	R1			;SKIP REG 10
  6092					14$:	DEC	R1			;ON TO NEXT REGISTER
  6093						BPL	12$
  6094						MOV	#RG.SYN,R1		;NOW CHECK IT LOADED
  6095					16$:	MOV	R1,R0			;DATA SHOULD BE SAME
  6096						JSR	PC,CKDQSR		;CHECK DATA STILL THERE
  6097						CMP	#RG.SYN,R1		;WAS THIS THE FIRST REG ?
  6098						BNE	18$
  6099						DEC	R1			;YES SO SKIP REG 10
  6100					18$:	DEC	R1			;ON TO NEXT REGISTER
  6101						BPL	16$			;DO REST IF ANY
  6102						MOV	#RG.MSC,R1		;NOW TEST MISC REG
  6103						CLR	R0			;TRY TO CLEAR REGISTER
  6104						JSR	PC,CKDQSL		;TRY TO LOAD IT
  6105						MOV	#2,R0			;TEST STEP-MODE BIT
  6106						JSR	PC,CKDQSL
  6107						MOV	#10,R0			;TEST TEST-LOOP BIT
  6108						JSR	PC,CKDQSL
  6109						CLR	R0
  6110						JSR	PC,CKDQSL		;CLEAR MISC REG
  6111						BR	CHKDQL			;DO A LOOP BACK TEST
  6112					;
  6113					60$:	MOV	#RG.SYN,R1		;1ST REGISTER TO LOAD
  6114					62$:	JSR	PC,CKDQSL
  6115						CMP	#RG.SYN,R1		;DID WE JUST CHECK THE SYN REG ?
  6116						BNE	64$
  6117						DEC	R1			;YES SO SKIP A REG
  6118					64$:	DEC	R1			;ON TO THE NEXT REG
  6119						BPL	62$
  6120						RTS	PC			;YES
  6121					;
  6122					; LOAD A DQ11 2NDARY REGISTER
  6123					; CALL	MOV	#DATA,R0
  6124					;	MOV	#REG,R1
  6125					;	JSR	PC,CKDQSL
  6126					CKDQSL:	BIS	#DQ.MBM,R1
  6127						MOVB	R1,5(R4)		;SELECT THE REGISTER
  6128						MOV	R0,6(R4)		;LOAD THE DATA
  6129					CKDQSR:	BIS	#DQ.MBM,R1
  6130						MOVB	R1,5(R4)		;SELECT THE REGISTER
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 19-1
C11DTE.MAC    10-AUG-79 16:05			CHECK DQ11 HDW

  6131						BIC	#DQ.MBM,R1
  6132						CMP	R0,6(R4)		;CHECK TO SEE IF WE LOADED IT
  6133						BNE	10$
  6134						RTS	PC
  6135					10$:	MOV	R0,-(SP)			;SAVE GOOD DATA
  6136						MOV	6(R4),-(SP)		;SAVE BAD DATA
  6137						MOV	R1,-(SP)			;SAVE 2ND REG #
  6138						CK11SC	<CKEDID!CKEPC!CKEGB>,<Secondary Reg Err>,<SECONDARY REG ERROR>
  6139						.ASCIZ	\Secondary Reg Err\<377>
  6140						.EVEN
  6141						RTS	PC			;RETURN
  6142					.PAGE
  6143					; DISCOVER WHAT THE SPECIAL CHARACTERS ARE IN THE DQ11.
  6144					;
  6145					CHKDQL:
  6146		   003				    .IF NE SPCVFY		;CHECK FOR SPECIAL CHARS ONLY IF USED
  6147						CLR	CHKCHR+CKFLG		;CLEAR WHERE WE COUNT SPECIAL CHARS
  6148						MOV	R2,-(SP)		;SAVE R2
  6149						MOV	R3,-(SP)		;SAVE R3 (VECTOR)
  6150						MOV	R5,-(SP)		;SAVE R5
  6151						MOVB	#255,CHKXBF+2		;SOMETHING OTHER THAN SYNC (226)
  6152						CLR	R3			;START WITH CHARACTER 0
  6153					CKDQLP:
  6154					1$:	JSR	PC,CKDQCL		;CLEAR DQ
  6155						MOV	#CHKRBF,R5		;ADDRESS TO LOAD
  6156						MOV	#<<CHKRBF-CHKXBF>/2>,R1	;LENGTH TO LOAD
  6157						CLR	R2			;DATA TO LOAD
  6158						JSR	PC,CKLDBF		;LOAD BUFFER
  6159						MOV	#226*401,CHKXBF		;SYNC CHAR WE USE
  6160						MOVB	R3,CHKXBF+3		;PUT CHAR IN XMIT BUFFER
  6161						DQREGS	SYN,(R4)		;SYNC REG
  6162						MOV	#226*401,6(R4)		;PUT SYNC CHAR IN REG
  6163						DQREGS	MSC,(R4)		;MISC REG
  6164						MOV	#4010,6(R4)		;LOAD MISC REG
  6165						DQREGS	PTA,(R4)		;PRI XMIT ADDR REG
  6166						MOV	#CHKXBF,6(R4)		;LOAD XMIT PRI ADDR REG
  6167						DQREGS	STA,(R4)		;SEC XMIT ADR REG
  6168						MOV	#CHKXBF,6(R4)		;LOAD XMIT SEC ADDR REG
  6169						DQREGS	PRA,(R4)		;PRIMARY RECEIVE ADDR REG
  6170						MOV	#CHKRBF,6(R4)		;LOAD REC ADDR REG PRI
  6171						DQREGS	SRA,(R4)		;SEC REC ADR REG
  6172						MOV	#CHKRBF,6(R4)		;LOAD REC ADDR REG SEC
  6173						DQREGS	PTC,(R4)		;PRI XMIT CC
  6174						MOV	#-4,6(R4)		;LOAD PRI XMIT CC
  6175						DQREGS	STC,(R4)		;SEC XMIT CC
  6176						MOV	#-2,6(R4)		;LOAD SEC XMIT CC
  6177						DQREGS	PRC,(R4)		;PRI REC CC
  6178						MOV	#-2,6(R4)		;LOAD PRI REC CC
  6179						DQREGS	SRC,(R4)		;SEC REC CC
  6180						MOV	#-2,6(R4)		;LOAD SEC REC CC
  6181						CLR	R1			;CLEAR SAVED STATUS
  6182						MOV	#DQ.RGO!DQ.CIE!DQ.RIE,(R4)	;TELL REC TO GO WITH IE
  6183						MOV	#DQ.XGO,2(R4)		;TELL XMIT TO GO
  6184					CKDQWA:	CLR	R5			;FOR TIME-OUT
  6185						CLR	R0			;UPON INT R0 WILL GET VECTOR
  6186						CLR	PS			;LET INT HAPPEN
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 19-2
C11DTE.MAC    10-AUG-79 16:05			CHECK DQ11 HDW

  6187					1$:	TST	R0			;SEE IF AN INTERRUPT
  6188						BNE	2$			;BRANCH IF ONE (R0 IS NON 0)
  6189						SOB	R5,1$			;TIME OUT
  6190						CK11SC	<CKEPC!CKEDID>,<Timed Out>,<TIMED OUT WHILE WAITING FOR AN INT>
  6191						.ASCIZ	\Timed Out\<377>
  6192						.EVEN
  6193						BR	CKDQOT		;DON'T CHK THIS DQ ANY MORE
  6194					2$:	CMP	R0,CHKCHR+CKDV		;SEE IF WE CAME TO THE RIGH VECTOR
  6195						BEQ	CKDQGI			;BRANCH IF WE DID
  6196						CKSERR	<CHKCHR+CKDV>,R0,R4	;SAVE GD,BD,DEV ADR
  6197						CK11SC	<CKEPC!CKEDID!CKEGB>,<Interrupted to Wrong Vector>,<INTERRUPTED TO WRONG
  6198						.ASCIZ	\Interrupted to Wrong Vector\<377>
  6199						.EVEN
  6200						BR	CKDQOT			;DON'T CHK ANY MORE OF THIS DQ
  6201					CKLDBF:	MOV	R2,(R5)+		;PUT DATA IN ADDR
  6202						SOB	R1,CKLDBF		;FILLED?
  6203						RTS	PC			;YES.
  6204					;
  6205					CKDQGI:	MOV	(R4),R5			;GET STATUS
  6206						TSTB	R5			;SEE IF DONE YET?
  6207						BMI	1$			;BRANCH IF SO
  6208						BIT	#DQ.RDS,R5		;SEE IF SEC INT
  6209						BNE	2$			;BRANCH IF IT IS
  6210						BIT	#DQ.VCH,R5		;SEE IF SPECIAL CHAR INT
  6211						BNE	3$			;BRANCH IF SO
  6212						CK11SC	<CKEDID!CKEPC>,<Illegal Interrupt>,<SOME BIT OTHER THAN SPEC CHAR INT'ED
  6213						.ASCIZ	\Illegal Interrupt\<377>
  6214						.EVEN
  6215						BR	CKDQOT			;DON'T CHECK ANY MORE OF THIS DQ
  6216					1$:	BIT	#DQ.VCH,R5		;SEE IF SPECIAL CHAR INT
  6217						BEQ	5$			;BRANCH IF NOT
  6218						MOV	R5,R1			;SAVE REC STATUS FOR PRINT
  6219						BIC	#DQ.VCH!DQ.RDP!DQ.CIE,(R4)	;DISMISS INT
  6220						BR	CKDQWA			;GO WAIT FOR ANOTHER INT
  6221					3$:	BIC	#DQ.VCH,(R4)		;CLEAR FOR EXIT
  6222						BR	CKDQWA			;GO WAIT FOR ANOTHER INT
  6223					5$:	BIC	#DQ.RDP,(R4)		;
  6224						BR	CKDQWA			;GO WAIT FOR ANOTHER INT
  6225					2$:	BIT	#DQ.VCH,R1		;WAS IT A SPECIAL CHAR?
  6226						BEQ	6$			;NO, SO JUST UPDATE PATTERN
  6227						BIT	#DQ.CHR,R1		;WAS THERE CAUSE FOR VCH ?
  6228						BNE	9$			;MUST BE NON 0 OR WHY ARE WE HERE
  6229						CK11SC	<CKEDID!CKEPC>,<Spec Char Code Fld 0>,<SPECIAL CHAR CODE FIELD 0>
  6230						.ASCIZ	\Spec Char Code Fld 0\
  6231						.EVEN
  6232						BR	CKDQOT			;DON'T CHECK ANY MORE OF THIS DQ
  6233					9$:	BIT	#DQ.ETB!DQ.ETX!DQ.ENQ,R1 ;WAS IT INTERESTING SPECIAL CHAR ?
  6234						BNE	10$			;IF SO FIND WHICH
  6235						BIS	#B15,CHKCHR+CKFLG	;SET FLAG THAT SYNC INTERRUPTS
  6236						BR	6$
  6237					69$:	.WORD	B10
  6238						.WORD	B9
  6239						.WORD	B8
  6240					10$:	MOV	#4,R5			;INDEX FOR SPECIAL CHAR TABLE
  6241						INC	CHKCHR+CKFLG		;COUNT SPECIAL CHARACTER
  6242					12$:	BIT	69$(R5),R1		;CHECK FOR SPECIAL CHAR FLAG
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 19-3
C11DTE.MAC    10-AUG-79 16:05			CHECK DQ11 HDW

  6243						BEQ	14$
  6244						MOV	R3,CHKCHR+CKSPC(R5)	;PUT INTO THE TABLE
  6245					14$:	SUB	#2,R5
  6246						BGE	12$			;LOOK FOR ANOTHER MAYBE
  6247					6$:	INCB	R3			;NEXT CHAR TO CHECK
  6248						BEQ	4$			;BRANCH IF ALL DONE
  6249						BIC	#DQ.RDS!DQ.VCH!DQ.CIE!DQ.RIE,(R4)	;
  6250						JMP	CKDQLP			;
  6251					CKDQOT=.
  6252					4$:	MOV	(SP)+,R5
  6253						MOV	(SP)+,R3
  6254						MOV	(SP)+,R2
  6255						CMPB	CHKCHR+CKFLG,#4		;SHOULD BE NO MORE THAT 4
  6256						BLE	15$			;CHECK IF SO
  6257						CK11SC	<CKEDID!CKEPC>,<More than 4 Spec Char Det>,<MORE THAN 4 SPEC CHAR WERE D
  6258						.ASCIZ	\More than 4 Spec Char Det\
  6259						.EVEN
  6260						BR	CKDQOT			;DON'T CHECK ANY MORE OF THIS DQ
  6261						    .IFF
  6262					10$:	JSR	R0,CKTSTR
  6263						.ASCIZ	\	SKIPPING SPEC CHAR TEST\
  6264						.EVEN
  6265						MOV	#377+<<.+6-10$>/2>,10$	;SHUT OFF SKIPPING COMMENT
  6266		   002				    .ENDC ; .IF NE SPCVFY
  6267					15$:	RTS	PC			;RETURN
  6268					.PAGE
  6269					;ROUTINE TO CLEAR THE ENTIRE DQ
  6270					;
  6271					CKDQCL:	MOV	R0,-(SP)
  6272						MOV	R1,-(SP)
  6273						MOV	R2,-(SP)
  6274						DQREGS	MSC,(R4)		;SELECT MISC REG
  6275						MOV	#DQ.MC,6(R4)		;MASTER CLEAR
  6276						DQREGS	MSC,(R4)		;SELECT MISC REG AGAIN
  6277						MOV	#DQ.MC,6(R4)		;MASTER CLEAR AGAIN
  6278						MOV	#17,R0			;CLEAR ALL SEC REG
  6279						MOV	#B12,R2			;CLEAR BITS 13+14 IN ERR
  6280					1$:	MOV	R2,4(R4)		;SELECT A SEC REG
  6281						CLR	6(R4)			;CLEAR THAT SEC REG
  6282						ADD	#B8,R2			;SELECT NEXT SEC REG TO CLEAR
  6283						SOB	R0,1$			;ALL SEC CLEARED?
  6284						MOV	(SP)+,R2		;RESTORE REGS USED
  6285						MOV	(SP)+,R1
  6286						MOV	(SP)+,R0
  6287						RTS	PC			;RETURN
  6288					;
  6289					.IIF NDF CHKBSZ,CHKBSZ=10
  6290					CHKXBF:	.BLKB	CHKBSZ
  6291					CHKRBF:	.BLKB	CHKBSZ
  6292					;
  6293		   001				    .ENDC	;RANGES OVER ENTIRE DQ CHECK (NDF FT.D75)
  6294					;
  6295					.IIF	DF,FT.D75,	RTS	PC
  6296		   000				    .ENDC ;NE FTDQ11
  6297					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 20
C11DTE.MAC    10-AUG-79 16:05			CHECK DQ11 HDW

  6299
  6300					.SBTTL		CHECK DS11 HDW
  6301					;
  6302					;CALL	MOV	#<VECTOR ADR>,R3
  6303					;	MOV	#<HDW ADR>,R4
  6304					;	MOV	#<HDW ADR>,R1
  6305					;	JSR	PC,CKDS11
  6306					;
  6307						    .IIF NDF FTDS11,FTDS11=0
  6308		   001				    .IF NE FTDS11
  6309					CKDS11:
  6310						MOV	DS.AUX,R1		;GET AUX REG TO SEE HOW MANY GROUPS
  6311						MOV	#DS.AD1,R2		;FOR CHECKING GROUP NUMBER
  6312						MOV	#4,R0			;ALWAYS 1 GROUP IF DS11
  6313					1$:	BIT	R2,R1			;GROUP EXIST?
  6314						BEQ	2$			;BRANCH IF NO GROUP
  6315						ADD	#4,R0			;COUNT 4 LINES FOR EACH GROUP
  6316						ASL	R2			;POSITION TO CHECK NEXT GROUP BIT
  6317						BNE	1$			;BRANCH IF WE CAN CHECK ANOTHER
  6318					2$:	JSR	PC,CKTBOC		;PRINT NUMBER OF LINES
  6319						CK11SC	CKENCL,< Lines>
  6320						.ASCIZ	\ Lines\
  6321						.EVEN
  6322						MOV	#DS.AUX,R1		;CHECK THE AUX REG
  6323						JSR	R5,CHKBIT		;CHECK FOLLOWING BITS
  6324						1700				;BITS TO CHECK
  6325						MOV	#DS.DVA-2,R1		;SET TO CHECK LINES
  6326						MOV	#DS.VEC,CHKCHR+CKDV	;VECTOR TO START AT
  6327						MOV	26(R5),CHKCHR+CKPI	;PI LEVEL FOR ALL DS11
  6328						MOV	R0,R2			;NUMBER OF LINES TO CHECK
  6329						MOV	#CHKCHR,R0		;POINT TO BLOCK FOR MAIN CALL
  6330					3$:	ADD	#2,R1			;LINE ADR TO CHECK
  6331						MOV	R1,CHKCHR+CKDA		;MAIN NEEDS THIS INFO
  6332						JSR	R5,CHKBIT		;CHK RECEIVE STATUS REG
  6333						6477				;BITS TO CHECK
  6334						TST	(R1)+			;ADVANCE TO REC DATA REG
  6335						JSR	R5,CHKBIT		;CHK RECEIVE DATA REG
  6336						7777				;BITS TO CHECK
  6337						TST	(R1)+			;ADVANCE TO XMIT STATUS REG
  6338						JSR	R5,CHKBIT		;CHK XMIT STATUS REG
  6339						476				;BITS TO CHECK
  6340						TST	(R1)+			;ADVNACE TO XMIT DATA REG
  6341						JSR	R5,CHKBIT		;CHK XMIT DATA REG
  6342						7777				;BITS TO CHECK
  6343						JSR	PC,@14(R5)		;CALL THE MAIN PROGRAM
  6344						ADD	#20,CHKCHR+CKDV		;ADVANCE VECTOR ADR FOR NEXT LINE
  6345						ADD	#10,CHKCHR+CKDA		;ADVANCE DEVICE ADR FOR NEXT LINE
  6346						SOB	R2,3$			;ALL LINES CHECKED?
  6347						MOV	#DS.VEC,CHKCHR+CKDV	;SO "CHKDEV" WILL FILL OUT BLOCK
  6348										;
  6349						RTS	PC			;FINI CHECKING DS11
  6350		   000				    .ENDC ;NE FTDS11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 20-1
C11DTE.MAC    10-AUG-79 16:05			CHECK DTE20 HARDWARE

  6352					.SBTTL		CHECK DTE20 HARDWARE
  6353					;
  6354					;CALL	MOV	#<VECTOR ADR>,R3
  6355					;	MOV	#<HDW ADR>,R4
  6356					;	MOV	#<HDW ADR>,R1
  6357					;	JSR	PC,XDTE211
  6358					;
  6359						    .IIF NDF FTDTE,FTDTE=0
  6360		   001				    .IF NE FTDTE
  6361	012274				XDTE211:				;
  6362	012274	010100				MOV	R1,R0		;FROM THE DEVICE ADDRESS
  6363	012276	006200				ASR	R0		;BITS 5 AND 6 GIVE US WHICH ONE IT IS
  6364	012300	006200				ASR	R0		;POSITION TO BITS 2 AND 3 WHICH IS
  6365	012302	006200				ASR	R0		;WHERE THE VECTOR VARIES
  6366	012304	042700	177763			BIC	#^C14,R0	;ISOLATE THEM
  6367	012310	160037	016264			SUB	R0,CHKCHR+CKDV	;CORRECT OUR VECTOR ADDRESS
  6368	012314	004537	010400			JSR	R5,CHKBIT	;CHECK DLYCNT IN DTE'S RAM
  6369	012320	177777				177777			; SINCE WE CAN ACCESS ALL THE BITS
  6370	012322	062701	000034			ADD	#CSTAT-DLYCNT,R1 ;POINT TO STATUS REGISTER
  6371	012326	012711	000040			MOV	#INTRON,(R1)	;ENABLE INTERRUPTS
  6372	012332	032711	000001			BIT	#INTSON,(R1)	;DOES DTE AGREE?
  6373	012336	001022				BNE	10$		;YEP
  6374	012340					CK11SC	<CKEPC!CKEDID>,<Setting INTRON didn't set INTSON>
  6375	012342	062523	072164	067151		.ASCIZ	\Setting INTRON didn't set INTSON\<377>
	012350	020147	047111	051124
	012356	047117	062040	062151
	012364	023556	020164	062563
	012372	020164	047111	051524
	012400	047117	000377
  6376						.EVEN
  6377	012404	012711	004000		10$:	MOV	#INT11S,(R1)	;NOW SEE IF IT WILL INTERRUPT US
  6378	012410	004537	010626			JSR	R5,CHKINL
  6379	012414	177777				-1			;TIME DELAY COUNT
  6380	012416	012711	000010			MOV	#INTROF,(R1)	;TRY TO MAKE IT GO AWAY
  6381	012422	032711	000001			BIT	#INTSON,(R1)	;WHICH SHOULD TURN THIS OFF
  6382	012426	001423				BEQ	20$		;OKAY
  6383	012430					CK11SC	<CKEPC!CKEDID>,<Setting INTROF didn't clear INTSON>
  6384	012432	062523	072164	067151		.ASCIZ	\Setting INTROF didn't clear INTSON\<377>
	012440	020147	047111	051124
	012446	043117	062040	062151
	012454	023556	020164	066143
	012462	060545	020162	047111
	012470	051524	047117	000377
  6385						.EVEN
  6386	012476	032711	000010		20$:	BIT	#RM,(R1)		;WE SHOULD BE RESTRICTED
  6387	012502	001016				BNE	30$		;WE ARE, FINE
  6388	012504					CK11SC	<CKEPC!CKEDID>,<DTE20 is not restricted>
  6389	012506	052104	031105	020060		.ASCIZ	\DTE20 is not restricted\<377>
	012514	071551	067040	072157
	012522	071040	071545	071164
	012530	061551	062564	177544
	012536	   000
  6390		012540				.EVEN			;
  6391	012540	012741	000100		30$:	MOV	#DRESET,-(R1)	;REALLY INITIALIZE DTE20
  6392	012544	000207				RTS	PC
  6393		   000				    .ENDC ;NE FT.DTE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 20-2
C11DTE.MAC    10-AUG-79 16:05			CHECK DU11 HDW

  6395					.SBTTL		CHECK DU11 HDW
  6396					;
  6397					;CALL	MOV	#<VECTOR ADR>,R3
  6398					;	MOV	#<HDW ADR>,R4
  6399					;	MOV	#<HDW ADR>,R1
  6400					;	JSR	PC,XDU11
  6401						    .IIF NDF FTDU11,FTDU11=0
  6402		   001				    .IF NE FTDU11
  6403					XDU11:				;
  6404						RTS	PC
  6405		   000				    .ENDC ;NE FTDU11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 20-3
C11DTE.MAC    10-AUG-79 16:05			CHECK DUP11 HDW

  6407					.SBTTL		CHECK DUP11 HDW
  6408					;
  6409					;CALL	MOV	#<VECTOR ADR>,R3
  6410					;	MOV	#<HDW ADR>,R4
  6411					;	MOV	#<HDW ADR>,R1
  6412					;	JSR	PC,XUP11
  6413						    .IIF NDF FTDUP1,FTDUP1=0
  6414		   001				    .IF NE FTDUP1
  6415	012546				XDUP11:				;
  6416	012546					FIELD	$$,DUPRIE,DUPDTR ;
  6417	012546	004537	010400			JSR	R5,CHKBIT	;TEST THE RECVR CSR
  6418	012552	000576				.WORD	DUPSSY!$$	;
  6419	012554	005721				TST	(R1)+		;UP TO RECVR, BUT IT'S READ ONLY
  6420	012556	005721				TST	(R1)+		;UP TO XMIT CSR
  6421	012560	004537	010400			JSR	R5,CHKBIT	;
  6422	012564	036130				.WORD	DUPTMC!DUPTM1!DUPTM0!DUPTMI!DUPTIE!DUPTSN!DUPTHD
  6423	012566	005721				TST	(R1)+		;UP TO XMIT DBR
  6424	012570	004537	010400			JSR	R5,CHKBIT	;
  6425	012574	003777				.WORD	DUPXAB!DUPXEM!DUPXSM!DUPXDB
  6426	012576	010401				MOV	R4,R1		;RESTORE DEVICE ADDRESS
  6427									;(ADD INTERRUPT CHECK)
  6428	012600	000207				RTS	PC		;
  6429		   000				    .ENDC ;NE FTDUP1
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 20-4
C11DTE.MAC    10-AUG-79 16:05			CHECK DZ11 HDW

  6431					.SBTTL		CHECK DZ11 HDW
  6432					;
  6433					;CALL	MOV	#<VECTOR ADR>,R3
  6434					;	MOV	#<HDW ADR>,R4
  6435					;	MOV	#<HDW ADR>,R1
  6436					;	JSR	PC,XDZ11
  6437						    .IIF NDF FTDZ11,FTDZ11=0
  6438		   001				    .IF NE FTDZ11
  6439	012602				XDZ11:				;
  6440	012602	004537	010400			JSR	R5,CHKBIT	;
  6441	012606	040140				.WORD	DZ.TIE!DZ.RIE!DZ.SCN
  6442	012610	005721				TST	(R1)+		;
  6443	012612	004537	010400			JSR	R5,CHKBIT	;
  6444	012616	000000				.WORD	0		;
  6445	012620	010401				MOV	R4,R1		;
  6446									;ADD INTERRUPT TEST
  6447	012622	000207				RTS	PC		;
  6448		   000				    .ENDC ;NE FTDZ11
  6449					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 21
C11DTE.MAC    10-AUG-79 16:05			CHECK DZ11 HDW

  6451
  6452					.SBTTL		CHECK KG11 HARDWARE
  6453					;
  6454	012624				XKG11:	SAVE	R3		;
  6455	012626					CHKCHR	R4,<#0>,<#0>	;
  6456	012646	005000				CLR	R0		;
  6457	012650				11$:	KGLOAD	R0		;
  6458	012664	020064	000002			CMP	R0,KGBCC(R4)	;CHECK THAT IT LOADED
  6459	012670	001422				BEQ	12$		;OK
  6460	012672					CKSERR	R0,KGBCC(R4),R4	;GD,BD,ADR
  6461	012702					CK11SC	<CKEPC!CKEDID!CKEGB>,<Can't load BCC Correctly>,<BCC ERROR>
  6462	012704	060503	023556	020164		.ASCIZ	\Can't load BCC Correctly\<377>
	012712	067554	062141	041040
	012720	041503	041440	071157
	012726	062562	072143	074554
	012734	000377
  6463						.EVEN			;
  6464	012736	077034			12$:	SOB	R0,11$		;
  6465									;
  6466									; CHECK CRC PORTION
  6467									;
  6468	012740	012700	000777			MOV	#777,R0		;FIRST ENTRY FOR CRC
  6469	012744					KGLOAD	#0		;CLEAR KG11
  6470	012750	005003				CLR	R3		;CLEAR SOFTWARE COPY
  6471	012752	004737	013030		20$:	JSR	PC,70$		;CALCULATE SOFTWARE BCC
  6472	012756	110064	000004			MOVB	R0,KGDATA(R4)	;INCLUDE CHAR IN HDW BCC
  6473	012762	020364	000002			CMP	R3,KGBCC(R4)	;
  6474	012766	001415				BEQ	54$		;
  6475	012770					CKSERR	R3,KGBCC(R4),R4	;
  6476	013000					CK11SC	<CKEPC!CKEGB!CKEDID>,<Incorrect CRC>,<INCORRECT CRC>
  6477	013002	067111	067543	071162		.ASCIZ	\Incorrect CRC\<377>
	013010	061545	020164	051103
	013016	177503	   000
  6478		013022				.EVEN			;
  6479	013022	077025			54$:	SOB	R0,20$		;
  6480									;
  6481	013024					RESTORE	R3		;
  6482	013026	000207				RTS	PC		;
  6483					;
  6484					;SUBROUTINE TO CALCULATE CRC IN R3
  6485					;
  6486	013030				70$:	SAVE	<R0,R1>		;
  6487	013034	042700	177400			BIC	#^C377,R0	;STRIP EXTRA BITS
  6488	013040	012701	000010			MOV	#8.,R1		;COUNTER
  6489	013044	074003				XOR	R0,R3		;
  6490	013046	012700	120001			MOV	#120001,R0	;
  6491	013052	000241			72$:	CLC			;CLEAR CARRY BIT
  6492	013054	006003				ROR	R3		;
  6493	013056	103001				BCC	74$		;
  6494	013060	074003				XOR	R0,R3		;
  6495	013062	077105			74$:	SOB	R1,72$		;
  6496	013064					RESTORE	<R1,R0>		;
  6497	013070	000207				RTS	PC		;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 21-1
C11DTE.MAC    10-AUG-79 16:05			CHECK KMC/DMC HARDWARE

  6499					.SBTTL		CHECK KMC/DMC HARDWARE
  6500					;
  6501					;CALL	MOV	#<VECTOR ADR OF KMC11>,R3
  6502					;	MOV	#<HDW ADR OF KMC11>,R4
  6503					;	MOV	#<HDW ADR OF KMC11>,R1
  6504					;	JSR	PC,XKMC11
  6505					;
  6506						    .IIF NDF FTKMC,FTKMC=0
  6507						    .IIF NDF FTDMC,FTDMC=0
  6508		   001				    .IF NE FTDMC
  6509	013072				XDMC11:
  6510	013072	010546			XKMC11:	MOV	R5,-(SP)	;SAVE R5
  6511	013074	010446				MOV	R4,-(SP)	; AND R4
  6512	013076	010346				MOV	R3,-(SP)	; AND R3
  6513	013100	012714	040000			MOV	#MD.CLR,(R4)	;INITIALIZE THE KMC11
  6514	013104	013746	002050			MOV	MDCSRP,-(SP)	;LOG IN THE DEVICE
  6515	013110	001004				BNE	10$		;NOT THE FIRST
  6516	013112	012716	002052			MOV	#MDCSR,(SP)	;THE FIRST, SET POINTER
  6517	013116	011637	002050			MOV	(SP),MDCSRP	;
  6518	013122	010436			10$:	MOV	R4,@(SP)+	;ENTER DEVICE CSR INTO STARTUP TABLE
  6519	013124	062737	000002	002050		ADD	#2,MDCSRP	;UPDATE TABLE POINTER
  6520	013132	005024				CLR	(R4)+		;CLEAR THE CSRS
  6521	013134	005024				CLR	(R4)+		;
  6522	013136	005024				CLR	(R4)+		;
  6523	013140	005024				CLR	(R4)+		;
  6524	013142	010104				MOV	R1,R4		;
  6525	013144	004537	010400			JSR	R5,CHKBIT	;VERIFY THESE BITS WORK
  6526	013150	000377				.WORD	377		;ALL BITS OF BSEL 0
  6527	013152	005721				TST	(R1)+		;LOOK AT SEL 2
  6528	013154	004537	010400			JSR	R5,CHKBIT	;VERIFY THESE BITS WORK
  6529	013160	177777				.WORD	ALLBTS		;ALL BITS OF SEL 2
  6530	013162	005721				TST	(R1)+		;LOOK AT SEL 4
  6531	013164	004537	010400			JSR	R5,CHKBIT	;VERIFY THESE BITS WORK
  6532	013170	177777				.WORD	ALLBTS		;ALL BITS OF SEL 4
  6533	013172	005721				TST	(R1)+		;LOOK AT SEL 6
  6534	013174	004537	010400			JSR	R5,CHKBIT	;VERIFY THESE BITS WORK
  6535	013200	177777				.WORD	ALLBTS		;ALL BITS OF SEL 6
  6536		   002				    .IF NE FTKMCL
  6537						TST	MDCODB+2	;IF WE ARE RETAINING THE CRAM...
  6538						BEQ	20$		; DON'T CHECK INTERRUPTS (CLOBBERS CRAM 0)
  6539		   001				    .ENDC ;NE FTKMCL
  6540									;CREATE A DMC INTERRUPT BY SETTING
  6541									;  BUS RQ IN MP MISC BY JAMMING MP INSTRS
  6542	013202	012737	000340	177776		MOV	#BR7,PS		;STOP INTERRUPTS
  6543	013210	012714	001000			MOV	#MD.RMI,(R4)	;SET ROM I ("JAM INSTRUCTION")
  6544	013214	012764	000600	000006		MOV	#600,6(R4)	;600 = "MOVE #200,BRG"
  6545	013222	052714	000400			BIS	#MD.SMP,(R4)	;EXECUTE THE INSTRUCTION
  6546	013226	005014				CLR	(R4)		;TURN OFF STEP AND ROM I
  6547	013230	012714	001000			MOV	#MD.RMI,(R4)	;SET ROM I AGAIN
  6548	013234	012764	061231	000006		MOV	#61231,6(R4)	;61231 = "MOVE BRG,MISC" (SETS BUS RQ)
  6549	013242	052714	000400			BIS	#MD.SMP,(R4)	;EXECUTE
  6550	013246	005014				CLR	(R4)		;TURN OFF ROM I
  6551	013250	004537	010626			JSR	R5,CHKINL	;CHECK FOR THE RESULTING INTERRUPT
  6552	013254	177777				.WORD	177777		;
  6553	013256	012714	040000			MOV	#MD.CLR,(R4)	;CLEAR INTERFACE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 21-2
C11DTE.MAC    10-AUG-79 16:05			CHECK KMC/DMC HARDWARE

  6555					; IF WE HAVE A VALID COPY OF THE MICROCODE, WE CAN TEST
  6556					;  THE CRAM.  OTHERWISE BYPASS MOST OF THE TESTING.
  6557					;
  6558	013262				20$:
  6559		   002				    .IF NE FTKMC
  6560	013262	012701	000012			MOV	#12,R1		;CHECK ARBITRARY LOCATION IN CRAM
  6561	013266	004737	014130			JSR	PC,CKMDRD	;READ FROM IT
  6562	013272	010046				MOV	R0,-(SP)	;SAVE DATA READ
  6563	013274	005100				COM	R0		;INVERT IT
  6564	013276	004737	013776			JSR	PC,CKMDWR	;WRITE BACK INVERTED DATA
  6565	013302	004737	014130			JSR	PC,CKMDRD	;READ IT BACK OUT
  6566	013306	020026				CMP	R0,(SP)+	;CHECK IT AGAINST WHAT WAS WRITTEN
  6567	013310	001034				BNE	22$		;DATA DIFFERENT, CRAM IS READ/WRITE
  6568									;NOT WRITTEN, CRAM IS A CROM
  6569	013312	023727	002040	001626		CMP	CKDNAM,#N.KMC11	;DID YOU EXPECT A KMC?
  6570	013320	001026				BNE	21$		;NO, SKIP CRAM CHECK, NO MSG
  6571	013322	013746	002034			MOV	CHKFLG,-(SP)	;PREVENT ERROR FROM BEING SET
  6572	013326					CK11SC	CKEDID,<DEV IS DMC>
  6573	013330	041411	040522	020115		.ASCIZ	"	CRAM is not R/W, device is a DMC"
	013336	071551	067040	072157
	013344	051040	053457	020054
	013352	062544	064566	062543
	013360	064440	020163	020141
	013366	046504	000103
  6574						.EVEN			;
  6575	013372	012637	002034			MOV	(SP)+,CHKFLG	;RESTORE PREVIOUS FLAG WORD
  6576	013376	000137	013732		21$:	JMP	CKMDXT		;SKIP CRAM CHECK
  6577									;
  6578	013402	005100			22$:	COM	R0		;INVERT DATA BACK
  6579	013404	004737	013776			JSR	PC,CKMDWR	;REWRITE AGAIN
  6580	013410	023727	002040	001532		CMP	CKDNAM,#N.DMC11	;WAS A DMC EXPECTED?
  6581	013416	001027				BNE	23$		;NO, MUST HAVE BEEN A KMC CALL
  6582	013420	013746	002034			MOV	CHKFLG,-(SP)	;PREVENT ERROR FROM BEING SET
  6583	013424					CK11SC	CKEDID,<dev is a KMC>
  6584	013426	051011	053457	041440		.ASCIZ	"	R/W CRAM present, device is a KMC"
	013434	040522	020115	071160
	013442	071545	067145	026164
	013450	062040	073145	061551
	013456	020145	071551	060440
	013464	045440	041515	   000
  6585		013472				.EVEN			;
  6586	013472	012637	002034			MOV	(SP)+,CHKFLG	;RESTORE PREVIOUS FLAG WORD
  6587	013476	   003			23$:	    .IF NE FTKMCL
  6588						TST	MDCODB+2	;IS MICROCODE IMAGE INVALID?
  6589						BNE	24$		;NOT OBVIOUSLY
  6590						JSR	PC,CKMDEX	;YES, BE SURE WE CAN CYCLE THE CRAM
  6591						JMP	CKMDXT		; BUT LEAVE ITS CONTENTS ALONE.
  6592					24$:
  6593		   002				    .ENDC ;NE FTKMCL
  6594	013476	005001				CLR	R1		;START AT CRAM ADDRESS 0
  6595	013500	005000			30$:	CLR	R0		;DATA IS ZERO
  6596	013502	004737	014024			JSR	PC,CKMDCK	;WRITE 0 AND CHECK IT
  6597	013506	005201				INC	R1		;NEXT CRAM LOCATION
  6598	013510	022701	002000			CMP	#2000,R1	;REACHED THE END OF THE CRAM?
  6599	013514	001371				BNE	30$		;NO, DO THE REST.
  6600	013516	004737	013746			JSR	PC,CKMDEX	;COMPLEMENT THE CRAM TWICE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 21-3
C11DTE.MAC    10-AUG-79 16:05			CHECK KMC/DMC HARDWARE

  6601	013522	005001				CLR	R1		;START AT THE BEGINNING AGAIN
  6602	013524	004737	014130		36$:	JSR	PC,CKMDRD	;READ A WORD FROM THE CRAM
  6603	013530	005700				TST	R0		;IS IT ZERO?
  6604	013532	001417				BEQ	42$		;YES, THAT IS OK.
  6605	013534					CKSERR	<#0>,R0,R1	;GOOD, BAD, CRAM ADDRESS
  6606	013544					CK11SC	<CKEPC!CKEGB!CKEDID>,<CRAM CLEAR FAILED>,<CRAM CLEAR FAILED>
  6607	013546	041440	040522	020115		.ASCIZ	/ CRAM clear failed /
	013554	066143	060545	020162
	013562	060546	066151	062145
	013570	000040
  6608						.EVEN
  6609	013572	005201			42$:	INC	R1		;NEXT CRAM ADDRESS
  6610	013574	022701	002000			CMP	#2000,R1	;REACHED THE END OF THE CRAM?
  6611	013600	001351				BNE	36$		;NO, DO THE REST
  6612					;
  6613					; NOW SET EACH CRAM LOCATION TO ITS OWN ADDRESS.  THIS CHECKS FOR
  6614					;  ADDRESSING FAILURES.
  6615					;
  6616	013602	005001				CLR	R1		;START AT LOCATION ZERO
  6617	013604	010100			50$:	MOV	R1,R0		;GET ADDRESS
  6618	013606	006300				ASL	R0		; * 2 (WE ARE PUTTING THE 10-BIT
  6619	013610	006300				ASL	R0		; * 4  CRAM ADDRESS IN THE MIDDLE
  6620	013612	006300				ASL	R0		; * 8  OF THE 16-BIT WORD.)
  6621	013614	004737	014024			JSR	PC,CKMDCK	;WRITE ADDRESS INTO CRAM
  6622	013620	005201				INC	R1		;NEXT CRAM ADDRESS
  6623	013622	020127	002000			CMP	R1,#2000	;REACHED END OF CRAM YET?
  6624	013626	103766				BLO	50$		;NO, GO DO THE REST.
  6625	013630	004737	013746			JSR	PC,CKMDEX	;COMPLEMENT THE CRAM TWICE
  6626	013634	005001				CLR	R1		;START AT BEGINNING OF CRAM AGAIN
  6627	013636	004737	014130		55$:	JSR	PC,CKMDRD	;READ WORD FROM CRAM
  6628	013642	010102				MOV	R1,R2		;GET CRAM ADDRESS
  6629	013644	006302				ASL	R2		; * 2
  6630	013646	006302				ASL	R2		; * 4
  6631	013650	006302				ASL	R2		; * 8
  6632	013652	020002				CMP	R0,R2		;IS THE CRAM OK?
  6633	013654	001422				BEQ	60$		;YES
  6634	013656					CKSERR	R2,R0,R1	;NO, STUFF GOOD, BAD, AND CRAM ADDRESS
  6635	013664					CK11SC	<CKEPC!CKEGB!CKEDID>,<CRAM ERROR>,<CRAM ERROR>
  6636	013666	041440	040522	020115		.ASCIZ	/ CRAM data = address error /
	013674	060544	060564	036440
	013702	060440	062144	062562
	013710	071563	062440	071162
	013716	071157	000040
  6637						.EVEN			;
  6638	013722	005201			60$:	INC	R1		;NEXT CRAM ADDRESS
  6639	013724	020127	002000			CMP	R1,#2000	;REACHED THE END OF THE CRAM?
  6640	013730	103742				BLO	55$		;NO, GO DO THE REST
  6641					;
  6642					; NOW LOAD THE APPLICATION CODE INTO THE CRAM, IF REQUESTED.
  6643					;
  6644		   003				    .IF NE FTKMCL
  6645						CLR	R1		;START AT THE BEGINNING OF THE CRAM
  6646						MOV	#MDCODB,R2	;POINT TO APPLICATION CODE
  6647					70$:	MOV	(R2)+,R0	;GET WORD TO LOAD
  6648						JSR	PC,CKMDCK	;WRITE IT INTO THE CRAM
  6649						INC	R1		;POINT TO NEXT CRAM LOCATION
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 21-4
C11DTE.MAC    10-AUG-79 16:05			CHECK KMC/DMC HARDWARE

  6650						CMP	R2,#MDCODE	;REACHED END OF PROGRAM?
  6651						BNE	70$		;NO, LOAD THE REST
  6652						JSR	PC,CKMDEX	;COMPLEMENT THE CRAM TWICE
  6653						CLR	R1		;START AT BEGINNING OF CRAM AGAIN
  6654						MOV	#MDCODB,R2	;POINT TO APPLICATION CODE AGAIN
  6655					72$:	JSR	PC,CKMDRD	;READ A WORD FROM THE CRAM
  6656						MOV	(R2)+,R3	;GET WORD THAT SHOULD BE THERE
  6657						CMP	R3,R0		;IS IT RIGHT?
  6658						BEQ	78$		;YES
  6659						CKSERR	R3,R0,R1	;GOOD, BAD, CRAM ADDRESS
  6660						CK11SC	<CKEPC!CKEGB!CKEDID>,<CRAM LOAD ERROR>,<CRAM LOAD ERROR>
  6661						.ASCIZ	/ CRAM load error /
  6662						.EVEN			;
  6663					78$:	INC	R1		;NEXT CRAM ADDRESS
  6664						CMP	R2,#MDCODE	;REACHED END OF APPLICATION PROGRAM?
  6665						BLO	72$		;NO, DO THE REST
  6666		   002				    .ENDC ;NE FTKMCL
  6667		   001				    .ENDC ;NE FTKMC
  6668					;
  6669					; DMC (KMC) CHECK COMPLETED
  6670					;
  6671	013732	012714	040000		CKMDXT:	MOV	#MD.CLR,(R4)	;BE SURE THE KMC11 IS CLEAR
  6672	013736	012603				MOV	(SP)+,R3	;RESTORE R3
  6673	013740	012604				MOV	(SP)+,R4	; AND R4
  6674	013742	012605				MOV	(SP)+,R5	; AND R5
  6675	013744	000207				RTS	PC		;RETURN.
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 21-5
C11DTE.MAC    10-AUG-79 16:05			CHECK KMC/DMC HARDWARE

  6677		   002				    .IF NE FTKMC	;THESE SUBROUTINES APPLY ONLY TO
  6678									;  WRITEABLE CONTROL STORES, I.E., KMC'S
  6679					;
  6680					; SUBROUTINE TO COMPLEMENT THE DATA IN THE KMC11'S CRAM.
  6681					;  ENTERING AT CKMDEX WILL CAUSE THE ROUTINE TO EXECUTE TWICE -
  6682					;  IF THE KMC11 IS WORKING PROPERLY THIS WILL LEAVE THE CRAM UNCHANGED.
  6683					;
  6684	013746	004717			CKMDEX:	JSR	PC,(PC)		;CALL REST OF ROUTINE ONCE, RETURN
  6685									;  HERE AND FALL INTO IT FOR SECOND PASS
  6686	013750	005001				CLR	R1		;START AT BEGINNING OF CRAM
  6687	013752	004737	014130		80$:	JSR	PC,CKMDRD	;READ WORD FROM CRAM
  6688	013756	005100				COM	R0		;COMPLEMENT IT
  6689	013760	004737	014024			JSR	PC,CKMDCK	;WRITE IT BACK (AND CHECK IT)
  6690	013764	005201				INC	R1		;NEXT CRAM LOCATION
  6691	013766	020127	002000			CMP	R1,#2000	;REACHED END OF CRAM?
  6692	013772	103767				BLO	80$		;NO, DO THE REST
  6693	013774	000207				RTS	PC		;YES, ALL DONE
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 21-6
C11DTE.MAC    10-AUG-79 16:05			CHECK KMC/DMC HARDWARE

  6695					; SUBROUTINE TO WRITE A WORD INTO THE KMC11'S CRAM
  6696					;
  6697					; R0 = WORD TO WRITE
  6698					; R1 = CRAM ADDRESS
  6699					; R4 = POINTER TO KMC11 CSR
  6700					;
  6701	013776	005014			CKMDWR:	CLR	(R4)		;CLEAR BSEL 1
  6702	014000	010164	000004			MOV	R1,4(R4)	;SET ADDRESS INTO SEL 4
  6703	014004	010064	000006			MOV	R0,6(R4)	;LOAD DATA INTO SEL 6
  6704	014010	052714	002000			BIS	#MD.RMO,(R4)	;SET ROM O
  6705	014014	052714	022000			BIS	#MD.RMO!MD.CWR,(R4) ;SET CRAM WRITE ALSO
  6706	014020	005014				CLR	(R4)		;CLEAR ROM O AND CRAM WRITE
  6707	014022	000207				RTS	PC		;RETURN
  6708					;
  6709					; SUBROUTINE TO WRITE AND VERIFY A WORD IN THE CRAM
  6710					;
  6711					; CALLED AS CKMDWR
  6712					;
  6713	014024	010046			CKMDCK:	MOV	R0,-(SP)	;SAVE DATA TO BE WRITTEN
  6714	014026	004737	013776			JSR	PC,CKMDWR	;WRITE THE WORD
  6715	014032	004737	014130			JSR	PC,CKMDRD	;READ IT BACK
  6716	014036	020016				CMP	R0,(SP)		;DATA SAME AS WRITTEN?
  6717	014040	001431				BEQ	85$		;YES.
  6718	014042	010246				MOV	R2,-(SP)	;NO, SAVE R2
  6719	014044	016602	000002			MOV	2(SP),R2	;GET BAD DATA FROM CRAM
  6720	014050					CKSERR	R2,R0,R1	;GOOD, BAD, CRAM ADDRESS
  6721	014056					CK11SC	<CKEPC!CKEGB!CKEDID>,<CRAM DATA ERROR>,<CRAM DATA ERROR>
  6722	014060	041440	040522	020115		.ASCIZ	/ CRAM data error in write check /
	014066	060544	060564	062440
	014074	071162	071157	064440
	014102	020156	071167	072151
	014110	020145	064143	061545
	014116	020153	   000
  6723		014122				.EVEN
  6724	014122	012602				MOV	(SP)+,R2	;RESTORE R2
  6725	014124	012600			85$:	MOV	(SP)+,R0	;RESTORE DATA
  6726	014126	000207				RTS	PC		;RETURN
  6727					;
  6728					; SUBROUTINE TO READ A WORD FROM THE KMC11'S CRAM.
  6729					;
  6730					; R1 = ADDRESS
  6731					; R4 = POINTER TO KMC11 CSR
  6732					;
  6733					; ON RETURN:
  6734					;
  6735					;  R0 = DATA FROM CRAM
  6736					;
  6737	014130	005014			CKMDRD:	CLR	(R4)		;CLEAR BSEL 1
  6738	014132	010164	000004			MOV	R1,4(R4)	;SET ADDRESS INTO BSEL 4
  6739	014136	052714	002000			BIS	#MD.RMO,(R4)	;SET ROM O
  6740	014142	016400	000006			MOV	6(R4),R0	;FETCH DATA
  6741	014146	005014				CLR	(R4)		;CLEAR ROM O
  6742	014150	000207				RTS	PC		;RETURN
  6743		   001				    .ENDC ;NE FTKMC
  6744		   000				    .ENDC ;NE FTDMC
  6745					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22
C11DTE.MAC    10-AUG-79 16:05			CHECK KMC/DMC HARDWARE

  6747
  6748					.SBTTL		CHECK LP11 HARDWARE
  6749					;
  6750					;CALL	MOV	#<VECTOR ADR>,R3
  6751					;	MOV	#<HDW ADR>,R4
  6752					;	MOV	#<HDW ADR>,R1
  6753					;	JSR	PC,XLE11
  6754					;
  6755						    .IIF NDF FTLE11,FTLE11=0
  6756		   001				    .IF NE FTLE11
  6757	014152				XLE11:				;
  6758	014152	032714	100000			BIT	#LE.ERR,(R4)	;SEE IF DEV READY
  6759	014156	001406				BEQ	1$		;BRANCH IF RDY
  6760	014160					CK11SC	<CKEDID!CKENCL>,< Not Rdy>
  6761	014162	047040	072157	051040		.ASCIZ	\ Not Rdy\<377>
	014170	074544	000377
  6762						.EVEN			;
  6763	014174	004537	010400		1$:	JSR	R5,CHKBIT	;CHECK HDW BITS
  6764	014200	000100				.WORD	LE.INE
  6765	014202					$CKINT	,R4,<LE.INE>,<LE.DNE>
  6766	014216	000207				RTS	PC
  6767		   000				    .ENDC ;NE FTLE11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-1
C11DTE.MAC    10-AUG-79 16:05			CHECK LP20 HARDWARE

  6769					.SBTTL		CHECK LP20 HARDWARE
  6770					;
  6771						    .IIF NDF FTLP20,FTLP20=0
  6772		   001				    .IF NE FTLP20
  6773	014220				XLP11:				;
  6774	014220	012737	000340	177776		MOV	#BR7,PS		;
  6775	014226	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;CLEAR CONTROLLER
  6776	014232	062701	000012			ADD	#LPRAMD,R1	;POINT TO RAM DATA BUFFER
  6777	014236	010102				MOV	R1,R2		;
  6778	014240	005722				TST	(R2)+		;POINT TO CHAR BUFFER
  6779	014242	105012				CLRB	(R2)		;SET RAM ADDRESS TO ZERO
  6780	014244	005011			10$:	CLR	(R1)		;CLEAR RAM LOCATION
  6781	014246	105212				INCB	(R2)		;UP RAM ADDRESS
  6782	014250	001375				BNE	10$		;  UNTIL IT OVERFLOWS
  6783	014252	010401				MOV	R4,R1		;RECOVER BASE CRS ADDRESS
  6784	014254	005061	000004			CLR	LPBSAD(R1)	;SET UP HARMLESS TRANSFER
  6785	014260	012761	177777	000006		MOV	#-1,LPBCTR(R1)	;
  6786	014266	004537	010400			JSR	R5,CHKBIT	;CHECK R/W ON CSRA
  6787	014272	002176				.WORD	LP.DH!LP.IE!LP.XAD!LP.MDS!LP.PEN
  6788									;
  6789	014274	005721				TST	(R1)+		;UP TO CSRB
  6790	014276	004537	010400			JSR	R5,CHKBIT	;
  6791	014302	003400				.WORD	LP.TS2!LP.TS1!LP.TS0
  6792	014304	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;
  6793									;
  6794	014310	005721				TST	(R1)+		;CHECK R/W ON BUS ADDRESS
  6795	014312	004537	010400			JSR	R5,CHKBIT	;
  6796	014316	177777				.WORD	ALLBTS		;
  6797	014320	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;
  6798									;
  6799	014324	012702	000003			MOV	#3,R2		;NEXT THREE REGISTERS ARE ALIKE
  6800	014330	005721			20$:	TST	(R1)+		;BYTE COUNT, PAGE CONT, RAMDATA
  6801	014332	004537	010400			JSR	R5,CHKBIT	;
  6802	014336	007777				.WORD	7777		;
  6803	014340	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;
  6804	014344	077207				SOB	R2,20$		;
  6805									;
  6806	014346	005721				TST	(R1)+		;CHECK R/W ON CHAR BUFFER
  6807	014350	004537	010400			JSR	R5,CHKBIT	;
  6808	014354	177777				.WORD	ALLBTS		;
  6809	014356	012714	001400			MOV	#LP.RSE!LP.LOI,(R4) ;
  6810									;
  6811	014362	010401				MOV	R4,R1		;RECOVER BASE CSR ADDRESS
  6812	014364	032711	004000			BIT	#LP.ONL,(R1)	;PRINTER AVAILABLE?
  6813	014370	001012				BNE	30$		;YES
  6814	014372					CK11SC	0,<NOT READY>
  6815	014374	050114	030062	067040		.ASCIZ	"LP20 not ready"
	014402	072157	071040	060545
	014410	074544	   000
  6816		014414				.EVEN			;
  6817	014414	000207				RTS	PC		;
  6818									;
  6819	014416	012761	177777	000006	30$:	MOV	#-1,LPBCTR(R1)	;SET CHAR COUNT
  6820	014424	010161	000004			MOV	R1,LPBSAD(R1)	;SET ADDRESS TO SELF
  6821	014430	062761	000014	000004		ADD	#LPCBUF,LPBSAD(R1) ;
  6822	014436	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  06-DEC-79  13:39  PAGE 22-2
C11DTE.MAC    10-AUG-79 16:05			CHECK LP20 HARDWARE

  6823	014442					$CKINT	,R4,LP.IE,LP.IE	;
  6824	014456	000207				RTS	PC		;
  6825		   000				    .ENDC ;NE FTLP20
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-3
C11DTE.MAC    10-AUG-79 16:05			CHECK MD11 HDW

  6827					.SBTTL		CHECK MD11 HDW
  6828					;
  6829					;CALL	MOV	#<VECTOR ADR>,R3
  6830					;	MOV	#<HDW ADR>,R4
  6831					;	MOV	#<HDW ADR>,R1
  6832					;	JSR	PC,XMD11
  6833						    .IIF NDF FTMD11,FTMD11=0
  6834		   001				    .IF NE FTMD11
  6835					XMD11:				;
  6836						RTS	PC
  6837		   000				    .ENDC ;NE FTMD11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-4
C11DTE.MAC    10-AUG-79 16:05			DUMMY NULL DEVICE CHECKER

  6839					.SBTTL		DUMMY NULL DEVICE CHECKER
  6840					;
  6841					;
  6842					;
  6843	014460	000207			XNL11:	RTS	PC	;DUMMY
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-5
C11DTE.MAC    10-AUG-79 16:05			CHECK PA611P HARDWARE

  6845					.SBTTL		CHECK PA611P HARDWARE
  6846					;
  6847					;CALL	MOV	#<VECTOR ADR>,R3
  6848					;	MOV	#<HDW ADR>,R4
  6849					;	MOV	#<HDW ADR>,R1
  6850					;	JSR	PC,XP611
  6851					;
  6852						    .IIF NDF FTP611,FTP611=0
  6853		   001				    .IF NE FTP611
  6854					XP611:				;
  6855						RTS	PC
  6856		   000				    .ENDC ;NE FTP611
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-6
C11DTE.MAC    10-AUG-79 16:05			CHECK PA611R HARDWARE

  6858					.SBTTL		CHECK PA611R HARDWARE
  6859					;
  6860					;CALL	MOV	#<VECTOR ADR>,R3
  6861					;	MOV	#<HDW ADR>,R4
  6862					;	MOV	#<HDW ADR>,R1
  6863					;	JSR	PC,XR611
  6864					;
  6865						    .IIF NDF FTR611,FTR611=0
  6866		   001				    .IF NE FTR611
  6867					XR611:				;
  6868						RTS	PC
  6869		   000				    .ENDC ;NE FTR611
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-7
C11DTE.MAC    10-AUG-79 16:05			CHECK PP11 HARDWARE

  6871					.SBTTL		CHECK PP11 HARDWARE
  6872					;
  6873					;CALL	MOV	#<VECTOR ADR>,R3
  6874					;	MOV	#<HDW ADR>,R4
  6875					;	MOV	#<HDW ADR>,R1
  6876					;	JSR	PC,XPP11
  6877					;
  6878						    .IIF NDF FTPP11,FTPP11=0
  6879		   001				    .IF NE FTPP11
  6880					XPP11:
  6881						JSR	R5,CHKBIT
  6882						PP.INE
  6883						$CKINT	,R4,<PP.INE>,<PP.RDY>
  6884						RTS	PC
  6885		   000				    .ENDC ;NE FTPP11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-8
C11DTE.MAC    10-AUG-79 16:05			CHECK PR11 HARDWARE

  6887					.SBTTL		CHECK PR11 HARDWARE
  6888					;
  6889					;CALL	MOV	#<VECTOR ADR>,R3
  6890					;	MOV	#<HDW ADR>,R4
  6891					;	MOV	#<HDW ADR>,R1
  6892					;	JSR	PC,XPR11
  6893					;
  6894						    .IIF NDF FTPR11,FTPR11=0
  6895		   001				    .IF NE FTPR11
  6896					XPR11:					;
  6897						JSR	R5,CHKBIT		;CHECK HARDWARE BITS
  6898						PR.INE
  6899						CLR	R0			;FOR TIME OUT
  6900						BIS	#PR..RE!PR.INE,(R4)	;TELL READER TO DO SOMETHING
  6901										; TO FORCE ANY INTERRUPT COND
  6902					1$:	BIT	#PR.DNE!PR.ERR,(R4)	;SEE IF AN INT CONDITION IS THERE
  6903						BNE	2$			;IF NOT, THEN WAIT FOR ONE.
  6904						SOB	R0,1$			;TIME OUT TO CATCH NO RESPONSE
  6905						CK11SC	<CKEDID!CKEPC>,<Timed Out>,<NO RESPONSE>
  6906						.ASCIZ	\Timed Out\<377>
  6907						.EVEN
  6908						BIC	#PR.INE,(R4)		;DISABLE INT ENABLE
  6909						RTS	PC			;EXIT
  6910					2$:	JSR	R5,CHKINL		;FIND INT LEVEL
  6911						-1				;FOR TIME-OUT
  6912						BIC	#PR.INE,(R4)		;DISABLE INTS
  6913						RTS	PC
  6914		   000				    .ENDC ;NE FTPR11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-9
C11DTE.MAC    10-AUG-79 16:05			CHECK RH11 HARDWARE

  6916					.SBTTL		CHECK RH11 HARDWARE
  6917					;
  6918					;CALL	MOV	#<VECTOR ADR>,R3
  6919					;	MOV	#<HDW ADR>,R4
  6920					;	MOV	#<HDW ADR>,R1
  6921					;	JSR	PC,XRH11
  6922					;
  6923						    .IIF NDF FTRH11,FTRH11=0
  6924		   001				    .IF NE FTRH11
  6925					XRH11:	BIS	#1,CHKRP+4+0	;GROSS KLUDGE TO PREVENT CHKDEV FROM
  6926						RTS	PC		; FINDING WHAT LOOKS LIKE AN RP.
  6927									; (THE DEVICE REGISTERS OVERLAP)
  6928		   000				    .ENDC ;NE FTRH11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-10
C11DTE.MAC    10-AUG-79 16:05			CHECK TC11 HARDWARE

  6930					.SBTTL		CHECK TC11 HARDWARE
  6931					;
  6932					;CALL	MOV	#<VECTOR ADR>,R3
  6933					;	MOV	#<HDW ADR>,R4
  6934					;	MOV	#<HDW ADR>,R1
  6935					;	JSR	PC,XTC11
  6936					;
  6937						    .IIF NDF FTTC11,FTTC11=0
  6938		   001				    .IF NE FTTC11
  6939					XTC11:				;
  6940		   002				    .IF NDF,FT.D75
  6941						JSR	R5,CHKBIT	;TEST FOLLOWING BITS
  6942						TC.D17!TC.D16
  6943						TST	(R1)+		;ADVANCE TO COMMAND REGISTER
  6944						JSR	R5,CHKBIT		;TEST FOLLOWING BITS
  6945						TC..MM!TC..DI!TC.REV!TC.US7!TC.INE!TC.A17!TC.A16
  6946						TST	(R1)+		;ADVANCE TO WORD COUNT REG
  6947						JSR	R5,CHKBIT	;TEST FOLLOWING BITS
  6948						-1
  6949						TST	(R1)+		;ADVANCE TO BUS ADDR REG
  6950						JSR	R5,CHKBIT		;TEST THE FOLLOWING BITS
  6951						-1
  6952						TST	(R1)+		;ADVANCE TO DATA REGISTER
  6953						JSR	R5,CHKBIT	;CHECK FOLLOWING BITS
  6954						-1
  6955						MOV	R4,R1		;SET UP ADR FOR INT CHK
  6956						TST	(R1)+		;ADVANCE TO COMMAND REG
  6957						MOV	R1,R2		;SET UP FOR INT CHK
  6958						$CKINT	,,<TC.INE>,<TC.RDY>
  6959		   001				    .ENDC ;IF NDF FT.D75
  6960						RTS	PC
  6961		   000				    .ENDC ;NE FTTC11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-11
C11DTE.MAC    10-AUG-79 16:05			CHECK TM11 HARDWARE

  6963					.SBTTL		CHECK TM11 HARDWARE
  6964					;
  6965					;CALL	MOV	#<VECTOR ADR>,R3
  6966					;	MOV	#<HDW ADR>,R4
  6967					;	MOV	#<HDW ADR>,R1
  6968					;	JSR	PC,XTM11
  6969					;
  6970						    .IIF NDF FTTM11,FTTM11=0
  6971		   001				    .IF NE FTTM11
  6972					XTM11:				;
  6973						RTS	PC
  6974		   000				    .ENDC ;NE FTTM11
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 22-12
C11DTE.MAC    10-AUG-79 16:05			NULL DIAGNOSTIC

  6976					.SBTTL		NULL DIAGNOSTIC
  6977					;
  6978					;
  6979					;
  6980	014462				X.....:				;
  6981	014462	004037	014574			JSR	R0,CKTSTR	;
  6982	014466	020073	067151	062564		.ASCIZ	"; integrity not tested"
	014474	071147	072151	020171
	014502	067556	020164	062564
	014510	072163	062145	   000
  6983		014516				.EVEN			;
  6984	014516	012737	177776	002036		MOV	#177776,CKDEVN	;SET COUNT TO PREVENT MORE TYPEOUTS
  6985	014524	000207				RTS	PC		;
  6986					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 23
C11DTE.MAC    10-AUG-79 16:05			NULL DIAGNOSTIC

  6988
  6989					.SBTTL	TTY SUPPORT FOR TYPE OUTS
  6990					;
  6991	014526	000000			CKTRPT:	.WORD	0		;REPORT DESTINATION DEVICE
  6992									; B15 - CTY
  6993									; B7 - REMOTE DEVICE
  6994					;
  6995					; TYPE THE MESSAGE STRING POINTED TO BY R0
  6996					;
  6997					; CALL	JSR	PC,CKTTXT	;R0 CONTAINS ADDR OF TXT
  6998					; ON EXIT R0 POINTS TO THE EVEN LOCATION FOLLOWING THE TEXT
  6999					;
  7000						    .ENABL LSB
  7001	014530				CKTTXT:	SAVE	<R1>
  7002	014532	112001			10$:	MOVB	(R0)+,R1	;GET THE NEXT CHARACTER
  7003	014534	001403				BEQ	20$		;BRANCH IF END (NULL)
  7004	014536	004737	014670			JSR	PC,CKTCHR	;TYPE CHAR
  7005	014542	000773				BR	10$		;GET NEXT CHAR
  7006									;
  7007	014544	005200			20$:	INC	R0		;
  7008	014546	042700	000001			BIC	#B0,R0		;POINT TO EVEN LOC
  7009	014552				25$:	RESTORE	<R1>
  7010	014554	000207				RTS	PC		;RETURN TO CALLER
  7011					;
  7012					; TYPE A CARRIAGE RETURN AND LINE FEED
  7013					;
  7014					; CALL	JSR	PC,CKCRLF
  7015					;
  7016	014556	004037	014574		CKCRLF:	JSR	R0,CKTSTR
  7017	014562	005015	   000			.ASCIZ	<15><12>
  7018		014566				.EVEN
  7019	014566	000207				RTS	PC
  7020					;
  7021					; TYPE A STRING PRECEEDED BY A CR/LF
  7022					;
  7023					; CALL	JSR	R0,CKTCRL
  7024					;	.ASCIZ	\TEXT\
  7025					;	.EVEN
  7026					;
  7027	014570	004737	014556		CKTCRL:	JSR	PC,CKCRLF	;FIRST TYPE A CR/LF
  7028					;
  7029					; TYPE A MESSAGE ON THE CTY
  7030					; CALL	JSR	R0,CKTSTR	;CALL TYPE ROUTINE
  7031					;	.ASCIZ \TEXT\
  7032					;	.EVEN
  7033					;
  7034	014574	004737	014530		CKTSTR:	JSR	PC,CKTTXT	;GO TYPE STRING
  7035	014600	000200				RTS	R0
  7036					;
  7037					;TYPE A BLANK AND THE OCTAL CONTENTS OF R0
  7038					;
  7039					;	SIMILIAR TO CKTOCT
  7040					;
  7041	014602				CKTBOC:	SAVE	<R1>
  7042	014604	012701	000040			MOV	#040,R1
  7043	014610	004737	014670			JSR	PC,CKTCHR
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 23-1
C11DTE.MAC    10-AUG-79 16:05		TTY SUPPORT FOR TYPE OUTS

  7044	014614	000401				BR	30$
  7045					;
  7046					; TYPE THE OCTAL CONTENTS OF R0
  7047					;
  7048					; CALL	JSR	PC,CKTOCT	;WITH ARG IN R0
  7049					;
  7050	014616				CKTOCT:	SAVE	<R1>
  7051	014620				30$:	SAVE	<R0>
  7052	014622	004737	014634			JSR	PC,50$
  7053	014626				40$:	RESTORE	<R0>
  7054	014630					RESTORE	<R1>
  7055	014632	000207				RTS	PC
  7056					;
  7057					;RECURSIVE BINARY TO ASCIC CONVERSION
  7058					;  PUSHES CURRENT VALUE IN R0 ONTO STACK, THEN DIVIDES BY 8 -
  7059					;    IF THE QUOTIENT IS NOT ZERO IT CALLS ITSELF, HENCE INTERLEAVING
  7060					;    INTERMEDIATE VALUES AND RETURN ADDRESSES - WHEN THE QUOTIENT
  7061					;    BECOMES ZERO, INTERMEDIATE VALUES ARE POPPED, AND THE LEAST
  7062					;    SIGNIFICANT VALUES ARE PRINTED IN TURN, WITH RETURN FALLING
  7063					;    BACK INTO THE PRINT ROUTINE - NOTICE THAT LEADING ZEROS ARE
  7064					;    AUTOMATICALLY SUPPRESSED, EXCEPT THE LONE ZERO OF A ZERO WORD
  7065					;
  7066	014634				50$:	SAVE	<R0>		;STUFF CURRENT VALUE
  7067	014636	006000				ROR	R0		;DIVIDE BY EIGHT
  7068	014640	006000				ROR	R0		;
  7069	014642	006000				ROR	R0		;
  7070	014644	042700	160000			BIC	#160000,R0	;CLEAR SPURIOUS CARRIES IN
  7071	014650	001402				BEQ	60$		;SKIP TO PRINT WHEN QUOTIENT ZERO
  7072	014652	004737	014634			JSR	PC,50$		;  ELSE CALL SELF
  7073	014656				60$:	RESTORE	<R1>		;POP INTERMEDIATE VALUE
  7074	014660	042701	177770			BIC	#^C7,R1		;SAVE LSD
  7075	014664	052701	000060			BIS	#60,R1		;SET BITS FOR ASCII CHARACTER
  7076									;  AND DROP INTO CHARACTER PRINT
  7077					;
  7078					; TYPE THE SINGLE CHARACTER IN R1
  7079					;
  7080					; CALL	JSR	PC,CKTCHR	;WITH CHAR IN R1
  7081					;
  7082	014670	120127	000040		CKTCHR:	CMPB	R1,#40		;DOES THIS NEED FILLER ?
  7083	014674	103015				BHIS	80$		;
  7084	014676	120127	000011			CMPB	R1,#11		;IS CHAR A TAB (11)
  7085	014702	001005				BNE	70$		;BRANCH IF NOT A TAB
  7086	014704	004037	014574			JSR	R0,CKTSTR	;GIVE SPACES FOR IT
  7087	014710	   040	   040	   040		.BYTE	40,40,40,0	;SUBSTITUTE SPACES FOR TAB
	014713	   000
  7088	014714	000207				RTS	PC		;
  7089									;
  7090	014716	004737	014722		70$:	JSR	PC,75$		;TYPE CHAR FIRST THEN PAD IT WITH 4 NULLS
  7091	014722	004737	014730		75$:	JSR	PC,80$		;
  7092	014726	005001				CLR	R1		;
  7093	014730	005737	014526		80$:	TST	CKTRPT		;CTY OUTPUT REPORT DEVICE?
  7094	014734	100005				BPL	83$		;NO
  7095	014736	105737	177564		81$:	TSTB	CTOSTS		;YES, TEST FOR STILL BUSY
  7096	014742	100375				BPL	81$		;
  7097	014744	110137	177566			MOVB	R1,CTOCHR	;TYPE CHAR
  7098	014750	105737	014526		83$:	TSTB	CKTRPT		;REMOTE DEVICE RECEIVING REPORT?
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 23-2
C11DTE.MAC    10-AUG-79 16:05		TTY SUPPORT FOR TYPE OUTS

  7099	014754	100002				BPL	86$		;NO
  7100	014756	004737	015206			JSR	PC,CKTREM	;YES, REPORT REMOTELY
  7101	014762	000207			86$:	RTS	PC		;
  7102					;
  7103					; BINARY TO DECIMAL ASCII CONVERSION AND OUTPUT
  7104					;
  7105	014764				CKTDEC:	SAVE	<R0,R1,R2>	;
  7106	014772	012702	015060			MOV	#125$,R2	;SET DIVISOR POINTER
  7107	014776	005001			101$:	CLR	R1		;CLEAR QUOTIENT COUNTER
  7108	015000	005742			103$:	TST	-(R2)		;BACK DOWN INTO ARRAY
  7109	015002	001414				BEQ	111$		;DONE ALL BUT UNITS
  7110	015004	005201			107$:	INC	R1		;UP QUOTIENT
  7111	015006	161200				SUB	(R2),R0		;SUBTRACT CURRENT 10**N
  7112	015010	002375				BGE	107$		;NOT NEGATIVE YET, LOOP AROUND
  7113	015012	061200				ADD	(R2),R0		;WENT TOO FAR, GO BACK ONE
  7114	015014	005301				DEC	R1		;COUNT BACK QUOTIENT
  7115	015016	001770				BEQ	103$		;IF QUOTIENT IS ZERO, SUPPRESS IT
  7116	015020	052701	000060			BIS	#'0,R1		;CONVERT QUOTIENT DIGIT TO ASCII
  7117	015024	004737	014670			JSR	PC,CKTCHR	;TYPE DIGIT
  7118	015030	005712				TST	(R2)		;DONE TO LSD?
  7119	015032	001361				BNE	101$		;NO
  7120	015034				111$:	RESTORE	<R2,R1,R0>	;RESTORE AND RETURN
  7121	015042	000207				RTS	PC		;
  7122	015044	000000	000001	000012	124$:	.WORD	0,1.,10.,100.,1000.,10000. ;DECIMAL ORDERS OF MAGNITUDE
	015052	000144	001750	023420
  7123	015060				125$:				;125$ **ENDS** THE ARRAY
  7124					;
  7125					; GET A SINGLE CHAR FROM THE KEYBOARD
  7126					;	R1 WILL HAVE THE SEVEN BIT CHAR INPUT, OR
  7127					;	  WILL HAVE -1 IF THE ROUTINE HAD TO WAIT MORE
  7128					;	  THAN 30 SECONDS FOR A RESPONSE
  7129					;	IF THERE IS NO CTY, THE RETURNED CHAR WILL BE "N" (DEFAULT "NO")
  7130					; CALL	JSR	PC,CKGCHR
  7131					;
  7132	015060	005737	014526		CKGCHR:	TST	CKTRPT		;KB EXIST?
  7133	015064	100030				BPL	96$		;NO, DON'T LOOK FOR A CHARACTER
  7134	015066					SAVE	<R0,R2>		;YES, ENTER INPUT WAIT
  7135	015072	012702	000764			MOV	#500.,R2	;SET TIMEOUT COUNTERS
  7136	015076	005000				CLR	R0		;
  7137	015100	012701	177777			MOV	#-1,R1		;ASSUME NO CHARACTER WILL BE RECEIVED
  7138	015104	005737	177562			TST	CTICHR		;CLEAR BUFFER
  7139	015110	077001			90$:	SOB	R0,90$		;THIS TAKES ABOUT 1/15 SECOND TO FALL THROUGH
  7140	015112	005302				DEC	R2		;DO IT ENOUGH TIMES TO GET TO 30-60 SECONDS
  7141	015114	001411				BEQ	95$		;NO INPUT WAS SEEN, RETURN WITH DEFAULT
  7142	015116	105737	177560			TSTB	CTISTS		;LOOK FOR CHAR
  7143	015122	100372				BPL	90$		;NOT THERE YET
  7144	015124	113701	177562			MOVB	CTICHR,R1	;FINALLY GOT ONE, GRAB IT
  7145	015130	042701	177600			BIC	#^C177,R1	;KEEP ONLY INTERESTING BITS
  7146	015134	004737	014670			JSR	PC,CKTCHR	;TYPE IT BACK TO HIM (ECHO)
  7147	015140				95$:	RESTORE	<R2,R0>		;
  7148	015144	000207				RTS	PC		;
  7149									;
  7150	015146	012701	000116		96$:	MOV	#'N,R1		;NO CTY, RETURN "NO" FOR ANSWER
  7151	015152	000207				RTS	PC		;
  7152					;
  7153					; GET A CHARACTER AND RETURN Z-BIT SET IF IT IS A "Y" (CASE INSENSITIVE) -
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 23-3
C11DTE.MAC    10-AUG-79 16:05		TTY SUPPORT FOR TYPE OUTS

  7154					;    RETURN WITH C-BIT SET IF NO CHARACTER WAS RECEIVED
  7155					;
  7156	015154	004737	015060		CKGYES:	JSR	PC,CKGCHR	;GET ANY CHARACTER
  7157	015160	120127	000040			CMPB	R1,#40		;TEST FOR IGNORED OR UNPRINTABLE
  7158	015164	002406				BLT	97$		;NO CHARACTER
  7159	015166	052701	000040			BIS	#40,R1		;FORCE LOWER CASE FOR COMPARISON
  7160	015172	120127	000171			CMPB	R1,#'Y!40	;IS IT A "Y"?
  7161	015176	000241				CLC			;RETURN Z-BIT FOR CALLER TO BRANCH ON
  7162	015200	000207				RTS	PC		;
  7163	015202	000261			97$:	SEC			;NO REASONABLE CHARACTER TYPED
  7164	015204	000207				RTS	PC		;
  7165						    .DSABL LSB
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 23-4
C11DTE.MAC    10-AUG-79 16:05		REMOTE OUTPUT HANDLER

  7167					.SBTTL	REMOTE OUTPUT HANDLER
  7168					;
  7169	015206				CKTREM:				;
  7170						; THIS ROUTINE WILL TAKE THE OUTPUT DIRECTED
  7171						;   TO THE CTY AND SEND IT OVER A BUFFERED
  7172						;   LINK TO BE OUTPUT ON A REMOTE DEVICE.
  7173						;
  7174						; IF THE TRANSFER IS BUFFERED, RECEIPT OF A -1 BYTE
  7175						;   SHOULD FORCE THE TRANSMISSION OF THE PARTIALLY FILLED
  7176						;   BUFFER TO ENSURE THE UP TO DATE REPORTING OF VITAL
  7177						;   MESSAGES (DEATH, DISEASE, FAMINE, ETC.)
  7178									;
  7179	015206	105037	014526			CLRB	CKTRPT		;PREVENT ERROR LOOP IN THIS ROUTINE
  7180	015212	010046				MOV	R0,-(SP)	;
  7181	015214	013700	015540			MOV	CK.PTR,R0	;PICK UP BUFFER FILL POINTER
  7182	015220	120127	177777			CMPB	R1,#-1		;IF CHARACTER IS -1,
  7183	015224	001003				BNE	5$		;  (NOT)
  7184	015226					CALL	CKBFSH		;WRITE OUT BUFFER
  7185	015232	000426				BR	100$		;AND QUIT (DON'T STORE THE -1)
  7186	015234	020127	000015		5$:	CMP	R1,#15		;IF CHARACTER IS <CR>,
  7187	015240	001003				BNE	10$		;  (NOT)
  7188	015242	005237	015536			INC	CK.BFG		;SET FLAG
  7189	015246	000412				BR	30$		;AND STORE IN BUFFER
  7190	015250	020127	000012		10$:	CMP	R1,#12		;IF CHARACTER IS <LF>,
  7191	015254	001005				BNE	20$		;  (NOT)
  7192	015256	005737	015536			TST	CK.BFG		;AND LAST CHAR WAS <CR>,
  7193	015262	001402				BEQ	20$		;  (NOT)
  7194	015264					CALL	CKBFSH		;WRITE OUT BUFFER
  7195
  7196	015270	005037	015536		20$:	CLR	CK.BFG		;CLEAR <CR> FLAG
  7197	015274	110120			30$:	MOVB	R1,(R0)+	;STORE CHAR IN BUFFER
  7198	015276	020027	015535			CMP	R0,#CK.BFN	;IF AT END OF BUFFER,
  7199	015302	001002				BNE	100$		;  (NOT)
  7200	015304					CALL	CKBFSH		;WRITE OUT BUFFER
  7201	015310	010037	015540		100$:	MOV	R0,CK.PTR	;REFRESH BUFFER FILL POINTER
  7202	015314	012600				MOV	(SP)+,R0	;
  7203	015316	112737	177777	014526		MOVB	#-1,CKTRPT	;RESET "REMOTE REPORTING" FLAG
  7204	015324					RETURN			;RETURN  TO CALLER
  7205
  7206
  7207					;  ROUTINE TO WRITE OUT A BUFFER
  7208
  7209	015326	162700	015415		CKBFSH:	SUB	#CK.BUF,R0	;CALCULATE BUFFER LENGTH
  7210	015332	005200				INC	R0		;  PLUS ONE FOR OPCODE
  7211	015334	010037	015412			MOV	R0,CK.LEN	;SET UP BYTE COUNT WORD
  7212	015340	012700	015412			MOV	#CK.LEN,R0	;ADDRESS BUFFER START
  7213	015344	010446				MOV	R4,-(SP)	;
  7214	015346	010546				MOV	R5,-(SP)	;
  7215	015350	010246				MOV	R2,-(SP)	;
  7216	015352	010146				MOV	R1,-(SP)	;
  7217	015354	005004				CLR	R4		;SET PHYSICAL ADDRESS
  7218	015356	005005				CLR	R5		;  BASE AT ZERO
  7219	015360	013701	002044			MOV	CK.DTE,R1	;PICK UP DTE CSR ADDRESS
  7220	015364	013702	002042			MOV	CK.CAL,R2	;ADDRESS LOADER CODE
  7221	015370					CALL	DTESND-MOP(R2)	;CALL DTE SEND ROUTINE IN LOADER
  7222	015374	012601				MOV	(SP)+,R1	;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 23-5
C11DTE.MAC    10-AUG-79 16:05		REMOTE OUTPUT HANDLER

  7223	015376	012602				MOV	(SP)+,R2	;
  7224	015400	012605				MOV	(SP)+,R5	;
  7225	015402	012604				MOV	(SP)+,R4	;
  7226	015404	012700	015415			MOV	#CK.BUF,R0	;RESET FILL POINTER TO START OF BUFFER
  7227	015410					RETURN
  7228
  7229	015412	000000			CK.LEN:	.WORD	0		;BYTE COUNT FOR DTE SEND ROUTINE
  7230	015414	   034				.BYTE	28.		;MOP OP CODE
  7231	015415	000120			CK.BUF:	.BLKB	80.		;BUFFER
  7232	015535	   000			CK.BFN:	.BYTE	0		;  END OF BUFFER (1 BYTE SAFETY PAD)
  7233						.EVEN			;
  7234	015536	000000			CK.BFG:	.WORD	0		;FLAG WORD
  7235	015540	015415			CK.PTR:	.WORD	CK.BUF		;BUFFER FILL POINTER
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 23-6
C11DTE.MAC    10-AUG-79 16:05		UNEXPECTED BUS TRAP HANDLER

  7237					.SBTTL	UNEXPECTED BUS TRAP HANDLER
  7238					;
  7239	015542				CKBUST:	CK11SC	<CKEDID>,<Bus error trap>
  7240	015544	072502	020163	071105		.ASCIZ	\Bus Error trap from\
	015552	067562	020162	071164
	015560	070141	063040	067562
	015566	000155
  7241						.EVEN			;
  7242	015570	011600				MOV	(SP),R0		;GET PC OF NEXT INST
  7243	015572	162700	000002			SUB	#2,R0		;MAKE PC WITHIN BAD INST
  7244	015576	004737	014602			JSR	PC,CKTBOC	;PRINT THE PC WHERE WE WERE DONE IN
  7245					;;;;	JMP	?		;FATAL BUS ERROR
  7246	015602	000000			20$:	HALT			;SOMEDAY WE MAY HAVE A REAL ABORT ROUTINE
  7247	015604	000776				BR	20$		;  BUT FOR NOW, WE JUST HANG
  7248					;EDIT PAGE BREAK (FF)
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 24
C11DTE.MAC    10-AUG-79 16:05		UNEXPECTED BUS TRAP HANDLER

  7250
  7251					.SBTTL	CK11SC/TRAP INSTRUCTION HANDLER
  7252					;
  7253					; TRAP INSTRUCTION HANDLER - WE GET HERE ON ERROR IN CHK11
  7254					;
  7255					;   AT HALT TIME R0 CONTAINS ADDRESS OF TRAP
  7256					;
  7257	015606	010046			CHKERR:	MOV	R0,-(SP)	;SAVE A WORKING REGISTER
  7258	015610	016646	000002			MOV	2(SP),-(SP)	;GET THE ADDRESS OF
  7259	015614	162716	000002			SUB	#2,(SP)		; THE TRAP INSTRUCTION
  7260	015620	013646				MOV	@(SP)+,-(SP)	;REPLACE THE ADDRESS WITH THE INSTR
  7261	015622	032716	000010			BIT	#CKEDID,(SP)	;PRINT DEVICE ID+REG MSG?
  7262	015626	001405				BEQ	11$		;NO
  7263	015630	052737	000001	002034		BIS	#CKFERR,CHKFLG	;YES, REMEMBER WE HAD AN ERROR
  7264	015636	004737	010522			JSR	PC,CKDIDT	;
  7265	015642	032716	000002		11$:	BIT	#CKEPC,(SP)	;TYPE PC MESSAGE?
  7266	015646	001421				BEQ	14$		;NO
  7267	015650	004037	014570			JSR	R0,CKTCRL	;YES
  7268	015654	020011	071105	067562		.ASCIZ	\	 Error at PC\
	015662	020162	072141	050040
	015670	000103
  7269						.EVEN			;
  7270	015672	052737	000001	002034		BIS	#CKFERR,CHKFLG	;REMEMBER WE HAD AN ERROR
  7271	015700	016600	000004			MOV	4(SP),R0	;GET ADDRESS
  7272	015704	005740				TST	-(R0)		;  OF INSTRUCTION
  7273	015706	004737	014602			JSR	PC,CKTBOC	;PRINT SPACE AND ADDRESS
  7274	015712	032716	000024		14$:	BIT	#CKEMSG!CKEMSE,(SP);ANY MSG TO DO?
  7275	015716	001434				BEQ	36$		;NO
  7276									;
  7277	015720	032716	000040			BIT	#CKENCL,(SP)	;YES, SUPPRESS CR/LF?
  7278	015724	001002				BNE	20$		;YES
  7279	015726	004737	014556			JSR	PC,CKCRLF	;NO, DO CR/LF
  7280	015732	032716	000110		20$:	BIT	#CKEDID!CKEGB,(SP);DETAIL FORMAT SPACES?
  7281	015736	001404				BEQ	24$		;NO
  7282	015740	004037	014574			JSR	R0,CKTSTR	;YES
  7283	015744	004411	   000			.ASCIZ	"		"
  7284		015750				.EVEN			;
  7285	015750	016600	000004		24$:	MOV	4(SP),R0	;GET MSG ADDRESS
  7286	015754	032716	000020			BIT	#CKEMSE,(SP)	;INDIRECT?
  7287	015760	001401				BEQ	29$		;NO, INLINE
  7288	015762	011000				MOV	(R0),R0		;YES, GET ACTUAL ADDRESS
  7289	015764	004737	014530		29$:	JSR	PC,CKTTXT	;TYPE OUT MSG
  7290	015770	062766	000002	000004		ADD	#2,4(SP)	;UPDATE RETURN ADDRESS
  7291	015776	032716	000004			BIT	#CKEMSG,(SP)	;WAS MSG INLINE?
  7292	016002	001402				BEQ	36$		;NO
  7293	016004	010066	000004			MOV	R0,4(SP)	;YES, REPLACE RETURN ADDRESS
  7294	016010	032716	000100		36$:	BIT	#CKEGB,(SP)	;SEE IF GOOD BAD PRINT OUT
  7295	016014	001454				BEQ	40$		;BRANCH IF NOT THIS
  7296	016016	004037	014570			JSR	R0,CKTCRL	;
  7297	016022	004411	062101	027562		.ASCIZ	\		Adr/Reg =\
	016030	062522	020147	000075
  7298						.EVEN			;
  7299	016036	016600	000010			MOV	10(SP),R0	;GET ADR OFF THE STACK
  7300	016042	004737	014602			JSR	PC,CKTBOC	;PRINT ADR
  7301	016046	004037	014574			JSR	R0,CKTSTR	;
  7302	016052	020040	042107	036440		.ASCIZ	\  GD =\
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 24-1
C11DTE.MAC    10-AUG-79 16:05		CK11SC/TRAP INSTRUCTION HANDLER

	016060	   000
  7303		016062				.EVEN
  7304	016062	016600	000014			MOV	14(SP),R0	;GET "GOOD"
  7305	016066	004737	014602			JSR	PC,CKTBOC	;PRINT IT
  7306	016072	004037	014574			JSR	R0,CKTSTR	;
  7307	016076	020040	042102	036440		.ASCIZ	\  BD =\
	016104	   000
  7308		016106				.EVEN
  7309	016106	016600	000012			MOV	12(SP),R0	;PRINT BAD STUFF
  7310	016112	004737	014602			JSR	PC,CKTBOC	;PRINT BAD
  7311	016116	004037	014574			JSR	R0,CKTSTR	;
  7312	016122	020040	047530	020122		.ASCIZ	\  XOR =\
	016130	000075
  7313						.EVEN
  7314	016132	016646	000014			MOV	14(SP),-(SP)	;GET GOOD
  7315	016136	074016				XOR	R0,(SP)		;LEAVE ONLY QUESTIONABLE BITS
  7316	016140	012600				MOV	(SP)+,R0	;PRINT THEM
  7317	016142	004737	014602			JSR	PC,CKTBOC	;
  7318	016146	032716	000001		40$:	BIT	#CKEFAT,(SP)	;FATAL ERROR?  HALT REQUIRED?
  7319	016152	001426				BEQ	50$		;NO
  7320	016154	052737	000001	002034		BIS	#CKFERR,CHKFLG	;YES, NOTE THAT WE HAD AN ERROR
  7321	016162	004037	014570			JSR	R0,CKTCRL	;
  7322	016166	004411	060506	060564		.ASCIZ	\		Fatal Error\<377>
	016174	020154	071105	067562
	016202	177562	   000
  7323		016206				.EVEN
  7324	016206	013700	016260			MOV	CKSPCD,R0	;PUT STOPCODE IN R0, 0 IS NOT TO BE DISPLAYED
  7325	016212	001401				BEQ	45$		;IF 0
  7326	016214	000000				HALT			;STOP CODE IN R0, PRESS CONTINUE
  7327									; GIVES ADR WE CAME FROM
  7328	016216	016600	000004		45$:	MOV	4(SP),R0	;ADDRESS OF RETURN FROM TRAP IN R0
  7329	016222	000000				HALT			;FATAL ERROR - R0 CONTAINS ERROR ADDRESS
  7330	016224	000137	002106			JMP	CHK.11		;IF CONTINUE DO PROGRAM AGAIN.
  7331	016230	032726	000100		50$:	BIT	#CKEGB,(SP)+	;WAS THERE A GD-BD PRINT? (POP SAVED INSTUCTION)
  7332	016234	001002				BNE	55$		;YES, CLEAR STACK
  7333	016236	012600				MOV	(SP)+,R0	;
  7334	016240	000002				RTI			;  AND EXIT
  7335									;
  7336	016242	012600			55$:	MOV	(SP)+,R0	;RESTORE WORKING REGISTER, CLEAN STACK
  7337	016244	012666	000004			MOV	(SP)+,4(SP)	;PC
  7338	016250	012666	000004			MOV	(SP)+,4(SP)	;PS
  7339	016254	005726				TST	(SP)+		;CLEAN THE STACK
  7340	016256	000002				RTI			;  THEN EXIT
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 24-2
C11DTE.MAC    10-AUG-79 16:05		CK11SC/TRAP INSTRUCTION HANDLER

  7342	016260	000000			CKSPCD:	.WORD	0		;CONTAINS STOPCODE ON FATAL ERROR
  7343									;
  7344	016262				CHKCHR:
  7345									;
  7346		000000			CKDA = .-CHKCHR			;DEVICE ADDRESS OFFSET
  7347	016262	000001				.BLKW	1
  7348									;
  7349		000002			CKDV = .-CHKCHR			;DEVICE VECTOR OFFSET
  7350	016264	000001				.BLKW	1
  7351									;
  7352		000004			CKPI = .-CHKCHR			;DEVICE PI LEVEL OFFSET
  7353	016266	000001				.BLKW	1
  7354									;
  7355		000006			CKFLG = .-CHKCHR		;DEVICE FLAGS OFFSET
  7356									; B0-B5 = # OF DQ11 SPECIAL CHAR
  7357									; B15 = INTERRUPTED ON SYNC
  7358	016270	000001				.BLKW	1
  7359									;
  7360		000010			CKSPC = .-CHKCHR		;SPECIAL CHAR OFFSET
  7361	016272	000004				.BLKW	4		;SPECIAL CHARACTERS
  7362					;
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 24-3
C11DTE.MAC    10-AUG-79 16:05		CK11SC/TRAP INSTRUCTION HANDLER

  7364		000000					.REPT	0
  7365						CKVECT	CD,1,1			;CD20 VECTOR SETUP
  7366						CKVECT	CR,1,1			;CR11 VECTOR SETUP
  7367						CKVECT	DH,2,16.		;DH11 VECTOR SETUP
  7368						CKVECT	DJ,2,16.		;DJ11 VECTOR SETUP
  7369						CKVECT	DL.E,2,16.		;DL11 VECTOR SETUP
  7370						CKVECT	DM,1,16.		;DM11BB VECTOR SETUP
  7371						CKVECT	DMC,2,16.		;DMC11 VECTOR SETUP
  7372						CKVECT	DN,1,64.		;DN11 VECTOR SETUP
  7373						CKVECT	DP,2,32.		;DP11 VECTOR SETUP
  7374						CKVECT	DQ,2,16.		;DQ11 VECTOR SETUP
  7375						CKVECT	DS,4,16.		;DS11 VECTOR SETUP
  7376						CKVECT	DU,2,16.		;DU11 VECTOR SETUP
  7377						CKVECT	DUP,2,16.		;DUP11 VECTOR SETUP
  7378						CKVECT	DTE2,1,1		;DTE20 VECTOR SETUP
  7379						CKVECT	KMC,2,3			;KMC11 VECTOR SETUP
  7380						CKVECT	KW.P,1,1		;KW11-P VECTOR SETUP
  7381						CKVECT	LE,1,2			;LP11 VECTOR SETUP
  7382						CKVECT	LP,1,2			;LP20 VECTOR SETUP
  7383						CKVECT	PP,1,1			;PP11 VECTOR SETUP
  7384						CKVECT	PR,1,1			;PR11 VECTOR SETUP
  7385						CKVECT	P6,1,16.		;PA611P VECTOR SETUP
  7386						CKVECT	R6,1,16.		;PA611R VECTOR SETUP
  7387						CKVECT	TC,1,1			;TC11 VECTOR SETUP
  7388						CKVECT	TM,1,1			;TM11 VECTOR SETUP
  7389						CKVECT	RC,1,1			;RC11 VECTOR SETUP
  7390						CKVECT	RF,1,1			;RF11 VECTOR SETUP
  7391						CKVECT	RH,1,1			;RH11 (RJP04) VECTOR SETUP
  7392						CKVECT	RP,1,1			;RP11-C VECTOR SETUP
  7393						CKVECT	TA,1,1			;TA11 VECTOR SETUP
  7394						CKVECT	RK,1,1			;RK11 VECTOR SETUP
  7395						CKVECT	RX,1,1			;RX11 VECOR SETUP
  7396							.ENDR	;END OF SUPPRES VECTORS
  7397					;
  7398	016302	062515	020155	071105	CKMG01:	.ASCIZ	\Mem Err\<377>
	016310	177562	   000
  7399	016313	   102	072151	062040	CKMG02:	.ASCIZ	\Bit did not clear\<377>
	016320	062151	067040	072157
	016326	061440	062554	071141
	016334	000377
  7400	016336	064502	020164	064544	CKMG03:	.ASCIZ	\Bit did not set\<377>
	016344	020144	067556	020164
	016352	062563	177564	   000
  7401	016357	   111	072156	071145	CKMG04:	.ASCIZ	\Interrupt did not occur\<377>
	016364	072562	072160	062040
	016372	062151	067040	072157
	016400	067440	061543	071165
	016406	000377
  7402	016410	067111	062564	071162	CKMG05:	.ASCIZ	\Interrupted to wrong vector\<377>
	016416	070165	062564	020144
	016424	067564	073440	067562
	016432	063556	073040	061545
	016440	067564	177562	   000
  7403	016445	   156	072157	063040	CKMG06:	.ASCIZ	\not found\<377>
	016452	072557	062156	000377
  7404	016460	067151	062564	071162	CKMG07:	.ASCIZ	\interrupted when not enabled\<377>
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 24-4
C11DTE.MAC    10-AUG-79 16:05		CK11SC/TRAP INSTRUCTION HANDLER

	016466	070165	062564	020144
	016474	064167	067145	067040
	016502	072157	062440	060556
	016510	066142	062145	000377
  7405					;
  7406						.EVEN
  7407		002164			CKBLK=CKINTS			;REMOVE THIS AREA AS A BUFFER FOR THE DH11 TEST
  7408					;
  7409	016516	000040				.BLKW	40		;STACK FOR CHECK-11
  7410		016616			CHKSTK	=.			;END OF STACK
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 24-5
C11DTE.MAC    10-AUG-79 16:05		MODULE END

  7412					.SBTTL MODULE END
  7413					.SBTTL PROGRAM END
  7414		016616				CHKEND=	.	;COMPUTE AND PRINT PROGRAM SIZE
  7415					;
  7416					;	EEEEEEEEEEEEEE	NN          NN	DDDDDDDDDD	!!
  7417					;	EE		NNNN        NN	DD        DD	!!
  7418					;	EE		NN  NN      NN	DD          DD	!!
  7419					;	EE		NN  NN      NN	DD          DD	!!
  7420					;	EEEEEEEEEE	NN    NN    NN	DD          DD	!!
  7421					;	EE		NN    NN    NN	DD          DD	!!
  7422					;	EE		NN      NN  NN	DD          DD	!!
  7423					;	EE		NN        NNNN	DD        DD
  7424					;	EEEEEEEEEEEEEE	NN          NN	DDDDDDDDDD	!!
  7425					;
  7426					;
  7427					;**********************************************************************
  7428					;
  7429					; END OF CHK11 - THE ONLY ONCE ONLY SYSTEM DIAGNOSTIC YOU'LL EVER NEED
  7430					;
  7431					;**********************************************************************
  7432					;
  7433		000000				.END	DTEMOP		;START AT LOADER START
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

ALLBTS= 177777        	  752#	 4221	 5583	 5586	 6529	 6532	 6535	 6796	 6808
BIT0  = 000001        	 3081#	 3179	 3181	 3401
BIT1  = 000002        	 3082#	 3178	 3401
BIT10 = 002000        	 3091#	 3174
BIT11 = 004000        	 3092#	 3173
BIT12 = 010000        	 3093#	 3172
BIT13 = 020000        	 3094#	 3158	 3171
BIT14 = 040000        	 3095#	 3148	 3170
BIT15 = 100000        	 3096#	 3147	 3157	 3169
BIT2  = 000004        	 3083#
BIT3  = 000010        	 3084#
BIT4  = 000020        	 3085#
BIT5  = 000040        	 3086#	 3119
BIT6  = 000100        	 3087#	 3167	 3177
BIT7  = 000200        	 3088#	 3176
BIT8  = 000400        	 3089#	 3175
BIT9  = 001000        	 3090#
BPARER= 000020        	 1368#
BPTLVL= 000007        	  788#
BPTVEC= 000014        	  788#
BR0   = 000000        	  756#
BR1   = 000040        	  757#
BR2   = 000100        	  758#
BR3   = 000140        	  759#
BR4   = 000200        	  760#
BR5   = 000240        	  761#
BR6   = 000300        	  762#	 5374
BR7   = 000340        	  763#	 4131	 4157	 4165	 4912	 5222	 5284	 5384	 5426	 5435	 5474	 5543	 6542
			 6774
BSEL0 = 000000        	 1068#
BSEL1 = 000001        	 1071#
BSEL2 = 000002        	 1068#
BSEL3 = 000003        	 1071#
BSEL4 = 000004        	 1068#
BSEL5 = 000005        	 1071#
BSEL6 = 000006        	 1068#
BSEL7 = 000007        	 1071#
BSFACT= 000100        	 1618#	 4501	 4516	 4517	 4614	 4727
BUSA16= 040000        	 1336#	 3148#	 3253	 3407	 3412	 3654
BUSA17= 100000        	 1335#	 3147#	 3253	 3407
BYTCNT  001324        	 3345	 3702#
B.DM11= 170500        	 1038#
B0    = 000001        	  735#	  752	  885	  945	  947	  977	  991	 1009	 1020	 1030	 1047	 1054#	 1088
			 1104	 1121	 1130	 1150	 1169	 1374	 1377	 1794	 1821	 1879	 1911	 3793	 4106
			 4981	 5040	 7008
B1    = 000002        	  736#	  884	  946	  947	  976	  992	 1009	 1030	 1047	 1054#	 1087	 1103	 1120
			 1131	 1170	 1372	 1820	 1842	 1844	 1846	 1848	 1878	 1904	 1906	 1908	 1910
			 3794	 4984	 5047
B10   = 002000        	  745#	  879	  916	  966	  998	 1040	 1089	 1113	 1141	 1160	 1292	 1362	 1811
			 1833	 1834	 1835	 1836	 1869	 1890	 1895	 1896	 1897	 1898
B11   = 004000        	  746#	  878	  917	  965	  999	 1039	 1089	 1098	 1112	 1142	 1161	 1292	 1360
			 1791	 1810	 1828	 1868	 1889
B12   = 010000        	  747#	  877	  918	  936	  964	 1000	 1010	 1080	 1097	 1111	 1143	 1162	 1178
			 1359	 1809	 1827	 1867	 1888
B13   = 020000        	  748#	  876	  919	  932	  935	  963	 1001	 1011	 1110	 1163	 1257	 1346	 1358
			 1808	 1826	 1866	 1885	 1887
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-1
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

B14   = 040000        	  749#	  875	  920	  931	  934	  940	  962	 1002	 1012	 1079	 1109	 1256	 1336
			 1357	 1807	 1865	 1886	 1887
B15   = 100000        	  750#	  752	  874	  921	  933	  939	  961	 1003	 1013	 1078	 1108	 1145	 1165
			 1255	 1335	 1345	 1356	 1650	 1781	 1790	 1806	 1825	 1864	 1883	 4107
B2    = 000004        	  737#	  906	  943	  975	  993	 1009	 1021	 1030	 1047	 1054#	 1086	 1102	 1132
			 1152	 1171	 1371	 1819	 1843	 1844	 1847	 1848	 1877	 1905	 1906	 1909	 1910
			 3795
B3    = 000010        	  738#	  974	  994	 1009	 1030	 1047	 1054#	 1085	 1101	 1119	 1133	 1153	 1172
			 1369	 1818	 1845	 1846	 1847	 1848	 1876	 1907	 1908	 1909	 1910	 3796
B4    = 000020        	  739#	  942	  973	 1009	 1030	 1046	 1054#	 1084	 1118	 1134	 1154	 1173	 1368
			 1817	 1840	 1875	 1902	 3797
B5    = 000040        	  740#	  941	  971	  995	 1009	 1030	 1045	 1054#	 1083	 1117	 1135	 1155	 1174
			 1196	 1367	 1816	 1839	 1874	 1901	 3799	 4987	 5050
B6    = 000100        	  741#	  883	  898	  905	  912	  970	  996	 1009	 1022	 1030	 1044	 1054#	 1082
			 1100	 1116	 1136	 1156	 1175	 1354	 1366	 1638	 1639	 1652	 1783	 1793	 1815
			 1838	 1873	 1900	 3800
B7    = 000200        	  742#	  882	  913	  969	  997	 1009	 1023	 1030	 1043	 1054#	 1081	 1099	 1115
			 1137	 1157	 1176	 1365	 1640	 1651	 1782	 1792	 1814	 1837	 1872	 1899
B8    = 000400        	  743#	  881	  914	  968	 1042	 1089	 1139	 1158	 1262	 1364	 1813	 1830	 1832
			 1834	 1836	 1871	 1890	 1892	 1894	 1896	 1898
B9    = 001000        	  744#	  880	  915	  967	 1041	 1089	 1114	 1140	 1159	 1363	 1812	 1831	 1832
			 1835	 1836	 1870	 1890	 1893	 1894	 1897	 1898
CDBA  = 000004        	  831#	 5572	 5574*	 5575	 5577*	 5631	 5633*	 5634	 5636*
CDCC  = 000002        	  828#
CDDB  = 000006        	  833#	  850
CDHRSZ= 000010        	  864#
CDST  = 000000        	  804#
CDST2 = 000006        	  850#	 5570
CD.B16= 000020        	  806#	  808
CD.B17= 000040        	  806#	  808
CD.CER= 100000        	  835#
CD.COL= 000120        	  829#
CD.DER= 004000        	  805#
CD.DLT= 002000        	  805#
CD.EOF= 020000        	  805#
CD.ERR= 100000        	  805#	 5600
CD.GO = 000001        	  807#	 5598
CD.HPE= 000004        	  807#
CD.IE = 000100        	  806#	 5580	 5598
CD.LVL= 000004        	  800#	 4997
CD.NXM= 001000        	  806#
CD.OFL= 010000        	  805#	 5588
CD.ONL= 000010        	  807#
CD.PAC= 000002        	  807#	 5580
CD.PCK= 020000        	  852#
CD.PWC= 000400        	  806#	 5595
CD.RCK= 040000        	  852#
CD.RDC= 040000        	  805#
CD.RDY= 000200        	  806#	 5600
CD.SCK= 010000        	  852#
CD.STS= 177160        	  803#	 4997
CD.VEC= 000230        	  801#	 4997
CD.XAD= 000060        	  808#	 5580	 5598
CHKBIT  010400        	 4217	 4234	 5283#	 5579	 5582	 5585	 5643	 5891	 5895	 6368	 6417	 6421	 6424
			 6440	 6443	 6525	 6528	 6531	 6534	 6763	 6786	 6790	 6795	 6801	 6807
CHKCD   006056        	 4997#	 5642*
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-2
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

CHKCHR  016262        	 4212*	 4214*	 4230*	 4232*	 4875*	 4876*	 5214*	 5218*	 5219*	 5221*	 5226	 5230	 5358
			 5390	 5392	 5396*	 5422*	 5450	 5452	 5457*	 5458*	 5462	 5464	 5650*	 6367*	 6455*
			 7344#	 7346	 7349	 7352	 7355	 7360
CHKCKB  002432        	 4224	 4228#
CHKCKD  002660        	 4188	 4270#
CHKCLK  005422        	 4872#
CHKCOR  004440        	 4584	 4588#
CHKCR   006112        	 4999#	 5578*
CHKCTY  002246        	 4171	 4175#
CHKDEV  007464        	 4997	 4999	 5000	 5001	 5002	 5003	 5004	 5005	 5006	 5007	 5008	 5009	 5010
			 5011	 5012	 5013	 5014	 5016	 5041	 5042	 5043	 5044	 5045	 5048	 5051	 5052
			 5097#
CHKDTE  007012        	 5016#
CHKEND= 016616        	 7414#
CHKERR  015606        	 4169	 7257#
CHKFLD  011504        	 4140*	 5112*	 5114*	 5115	 5138	 5148	 5150*	 5173	 5213	 5547#
CHKFLG  002034        	 4105#	 4141*	 4176*	 4228*	 4873*	 5217*	 5343	 5363*	 6571	 6575*	 6582	 6586*	 7263*
			 7270*	 7320*
CHKFLV  011502        	 4139*	 5103	 5207	 5255	 5256*	 5546#
CHKINL  010626        	 4220	 4915	 5371#	 5608	 5665	 6378	 6551
CHKINT  011340        	 4156	 5504#	 5509
CHKISZ= 000012        	 4164	 5509#
CHKMAP  003434        	 4429	 4433#
CHKMMG  003536        	 4455	 4463#
CHKRP   006576        	 5010#
CHKSTK= 016616        	 4136	 7410#
CHKTIM  005622        	 4883*	 4888	 4906*	 4911#
CHK.11  002106        	 3294	 4131#	 7330
CHK.90  007406        	 5060#
CI.INE= 000100        	  898#	 4235
CKACD$= 002102        	 4997#
CKACD1= ****** U      	 4997
CKACR$= 002102        	 4999#
CKACR1= ****** U      	 4999
CKADLX= 002102        	 4122
CKADL.= 002102        	 5043#	 5044#	 5045#
CKADMC= 002102        	 5048#
CKADTE= 002102        	 5016#
CKADUP= 002102        	 5042#
CKADZ$= 002102        	 5052#
CKADZ1= ****** U      	 5052
CKAKG$= 002102        	 5000#
CKAKG1= 002102        	 4125	 5000
CKAKMC= 002102        	 5041#	 5051#
CKAKW.= 002102        	 5014#
CKAKW1= 002102        	 4124	 4921
CKALE$= 002102        	 5001#
CKALE1= ****** U      	 5001
CKALP$= 002102        	 5002#
CKALP1= ****** U      	 5002
CKAMEM= 002102        	 4123
CKAPP$= 002102        	 5003#
CKAPP1= ****** U      	 5003
CKAPR$= 002102        	 5004#
CKAPR1= ****** U      	 5004
CKARC$= 002102        	 5007#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-3
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

CKARC1= ****** U      	 5007
CKARF$= 002102        	 5008#
CKARF1= ****** U      	 5008
CKARH$= 002102        	 5009#
CKARH1= ****** U      	 5009
CKARK$= 002102        	 5012#
CKARK1= ****** U      	 5012
CKARP$= 002102        	 5010#
CKARP1= ****** U      	 5010
CKARX$= 002102        	 5013#
CKARX1= ****** U      	 5013
CKATA$= 002102        	 5011#
CKATA1= ****** U      	 5011
CKATC$= 002102        	 5005#
CKATC1= ****** U      	 5005
CKATM$= 002102        	 5006#
CKATM1= ****** U      	 5006
CKBFSH  015326        	 5064	 7184	 7194	 7200	 7209#
CKBLK = 002164        	 7407#
CKBUST  015542        	 4182	 4187	 4880	 5120	 5146	 5571	 5612	 7239#
CKCADD= 000034        	 4998#
CKCDEV  006056        	 4996#	 4998
CKCEND  007406        	 5056#
CKCLK9  005624        	 4889	 4894	 4898	 4902	 4912#
CKCOR   005030        	 4681	 4692#
CKCPSZ= 002000        	 4719#	 4725	 4727
CKCPU   002660        	 4270	 4276#
CKCPUE  003360        	 4348	 4351	 4354	 4357	 4360	 4363	 4366#
CKCPUN  003112        	 4331#	 4366*
CKCRLF  014556        	 5170	 7016#	 7027	 7279
CKDA  = 000000        	 4212*	 4230*	 4875*	 5218*	 5358	 6455*	 7346#
CKDEVN  002036        	 4108#	 4216*	 4877*	 5198*	 5236*	 5237	 5353	 6984*
CKDIDT  010522        	 5343#	 7264
CKDLXB  003434        	 4376	 4383#
CKDL10  005706        	 4927#
CKDNAM  002040        	 4109#	 4215*	 4233*	 4872*	 5100*	 5177	 5348	 6569	 6580
CKDN2X= 000043        	  161#	 4980	 4981	 4984	 4987	 5039	 5040	 5047	 5050
CKDV  = 000002        	 4214*	 4232*	 4876*	 5219*	 5226	 5390	 5392	 5450	 5452	 6367*	 6455*	 7349#
CKEDID= 000010        	 3796#	 4891	 4895	 4899	 5153	 5295	 5305	 5312	 5387	 5393	 5447	 5453	 5465
			 5477	 5603	 5660	 6374	 6383	 6388	 6461	 6476	 6572	 6583	 6606	 6635	 6721
			 6760	 7239	 7261	 7280
CKEFAT= 000001        	 3793#	 4452	 7318
CKEGB = 000100        	 3800#	 4770	 4781	 5295	 5305	 5312	 5393	 5453	 5465	 6461	 6476	 6606	 6635
			 6721	 7280	 7294	 7331
CKEMSE= 000020        	 3797#	 4307	 4450	 4504	 4506	 4524	 4531	 4551	 4561	 4563	 4649	 4657	 4739
			 4770	 4781	 4891	 4895	 4899	 5153	 5181	 5295	 5305	 5312	 5345	 5350	 5355
			 5360	 5387	 5393	 5447	 5453	 5465	 5477	 5590	 5603	 5614	 5637	 5647	 5660
			 6374	 6383	 6388	 6461	 6476	 6572	 6583	 6606	 6635	 6721	 6760	 6814	 7239
			 7274	 7286
CKEMSG= 000004        	 3795#	 4307	 4450	 4504	 4506	 4524	 4531	 4551	 4561	 4563	 4649	 4657	 4739
			 4770	 4781	 4891	 4895	 4899	 5153	 5181	 5295	 5305	 5312	 5345	 5350	 5355
			 5360	 5387	 5393	 5447	 5453	 5465	 5477	 5590	 5603	 5614	 5637	 5647	 5660
			 6374	 6383	 6388	 6461	 6476	 6572	 6583	 6606	 6635	 6721	 6760	 6814	 7239
			 7274	 7291
CKENCL= 000040        	 3799#	 4649	 5181	 5350	 5355	 5360	 6760	 7277
CKEPC = 000002        	 3794#	 4307	 4561	 4563	 4739	 4770	 4781	 4891	 4895	 4899	 5295	 5305	 5312
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-4
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

			 5387	 5393	 5447	 5453	 5465	 5477	 5603	 5660	 6374	 6383	 6388	 6461	 6476
			 6606	 6635	 6721	 7265
CKFERR= 000001        	 4106#	 7263	 7270	 7320
CKFIDT= 100000        	 4107#	 4176	 4228	 4873	 5217	 5343	 5363
CKFLAG  011336        	 5423*	 5455	 5459*	 5495#
CKFLG = 000006        	 5221*	 7355#
CKGCHR  015060        	 7132#	 7156
CKGYES  015154        	 7156#
CKHALT  002104        	 4121#
CKINT   010744        	 5420#	 6765	 6823
CKINTE  011324        	 5448	 5454	 5468	 5478	 5485	 5488	 5490#
CKINTS  002164        	 4154#	 7407
CKINT1  010764        	 5426#	 5486
CKINT2  010770        	 5427#	 5446
CKINT3  010776        	 5429#	 5489
CKINT6  011232        	 5463	 5469#
CKINT7  011314        	 5431	 5487#
CKMDCK  014024        	 6596	 6621	 6689	 6713#
CKMDEX  013746        	 6600	 6625	 6684#
CKMDRD  014130        	 6561	 6565	 6602	 6627	 6687	 6715	 6737#
CKMDWR  013776        	 6564	 6579	 6701#	 6714
CKMDXT  013732        	 6576	 6671#
CKMG01  016302        	 4770	 4781	 7398#
CKMG02  016313        	 5295	 5312	 7399#
CKMG03  016336        	 5305	 7400#
CKMG04  016357        	 5387	 5447	 7401#
CKMG05  016410        	 5393	 5453	 7402#
CKMG06  016445        	 7403#
CKMG07  016460        	 5477	 7404#
CKMPAR  005422        	 4733	 4788#
CKNAME  001350        	 3748#	 4043	 4237
CKNODV= ****** U      	 5161
CKPI  = 000004        	 5214*	 5396*	 5422*	 5457*	 5458*	 5462	 5464	 5650*	 6455*	 7352#
CKPOPJ  002102        	 4120#	 4997	 4999	 5001	 5002	 5003	 5004	 5005	 5006	 5007	 5008	 5009	 5010
			 5011	 5012	 5013	 5052
CKSPC = 000010        	 7360#
CKSPCD  016260        	 4142*	 4770*	 4781*	 7324	 7342#
CKSTD = ****** U      	 4979	 5017
CKTBOC  014602        	 5204	 7041#	 7244	 7273	 7300	 7305	 7310	 7317
CKTCHR  014670        	 4247	 4249	 4253	 7004	 7043	 7082#	 7117	 7146
CKTCRL  014570        	 4240	 4266	 4276	 4369	 4465	 4604	 4637	 4713	 4730	 4918	 4977	 5060	 7027#
			 7267	 7296	 7321
CKTDEC  014764        	 4373	 4646	 7105#
CKTOCT  014616        	 4244	 4251	 4662	 4673	 5171	 5190	 5354	 5359	 7050#
CKTREM  015206        	 7100	 7169#
CKTRPT  014526        	 4177*	 4186*	 4209*	 6991#	 7093	 7098	 7132	 7179*	 7203*
CKTSTR  014574        	 4255	 4260	 4652	 4665	 4668	 4674	 5200	 6981	 7016	 7034#	 7086	 7282	 7301
			 7306	 7311
CKTTXT  014530        	 4238	 4259	 4264	 4367	 5176	 5178	 5188	 5349	 7001#	 7034	 7289
CKVCD1= ****** U      	 4997
CKVCR1= ****** U      	 4999
CKVDL.= ****** U      	 5043	 5044	 5045
CKVDMC= ****** U      	 5048
CKVDTE= ****** U      	 5016
CKVDUP= ****** U      	 5042
CKVDZ1= ****** U      	 5052
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-5
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

CKVEDI= 000021        	 3750	 3755#
CKVKG1= ****** U      	 5000
CKVKMC= ****** U      	 5041	 5051
CKVKW.= ****** U      	 5014
CKVLE1= ****** U      	 5001
CKVLP1= ****** U      	 5002
CKVMAJ= 000002        	 3750	 3753#
CKVMIN= 000101        	 3750	 3754#
CKVPP1= ****** U      	 5003
CKVPR1= ****** U      	 5004
CKVRC1= ****** U      	 5007
CKVRF1= ****** U      	 5008
CKVRH1= ****** U      	 5009
CKVRK1= ****** U      	 5012
CKVRP1= ****** U      	 5010
CKVRX1= ****** U      	 5013
CKVTA1= ****** U      	 5011
CKVTC1= ****** U      	 5005
CKVTM1= ****** U      	 5006
CKVWHN  001412        	 3751	 3757#
CKVWHO  001424        	 3751	 3759#
CKWRD   003110        	 4280	 4284	 4330#
CK.BFG  015536        	 7188*	 7192	 7196*	 7234#
CK.BFN  015535        	 7198	 7232#
CK.BUF  015415        	 5063	 7209	 7226	 7231#	 7235
CK.CAL  002042        	 4111#	 4135*	 5069	 7220
CK.DTE  002044        	 4112#	 4132*	 5068	 7219
CK.LEN  015412        	 7211*	 7212	 7229#
CK.PTR  015540        	 7181	 7201*	 7235#
CK04    003314        	 4319	 4347#
CK05    003322        	 4292	 4350#
CK20    003330        	 4295	 4353#
CK34    003336        	 4327	 4356#
CK40    003344        	 4294	 4359#
CK45    003352        	 4328	 4362#
CLKENB= 000100        	 1639#
CLKLVL= 000004        	 1632#
CLKVEC= 000100        	 1634#	 4876	 4881	 4882*	 4914*
CLKWRD= 177546        	 1636#	 4874	 4917*
CLRSR0  000720        	 3271*	 3504#
CO.INE= 000100        	  905#	 4218	 4219
CO..MM= 000004        	  906#	 4218
CR.BSY= 001000        	  880#	 5645
CR.CDN= 000200        	  882#	 5656
CR.CFD= 000001        	  885#	 5653
CR.DAT= 177162        	  887#
CR.DNE= 040000        	  875#
CR.EJT= 000002        	  884#	 5644
CR.ERR= 100000        	  874#	 5656
CR.HCK= 020000        	  876#
CR.INE= 000100        	  883#	 5644	 5653	 5659	 5667
CR.LVL= 000006        	  868#	 4999	 5650
CR.MCK= 010000        	  877#
CR.OLN= 002000        	  879#
CR.RDY= 000400        	  881#
CR.STS= 177160        	  872#	 4999
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-6
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

CR.TIM= 004000        	  878#
CR.VEC= 000230        	  869#	 4999
CR0STS= 177160        	  871#
CSTAT = 000034        	 1355#	 3168#	 3315*	 3409*	 3502	 3510	 3549*	 3551*	 3557*	 3593*	 3604*	 3634*	 3654*
			 6370
CTICHR= 177562        	  894#	 4181	 7138	 7144
CTILVL= 000004        	  896#
CTISTS= 177560        	  893#	 4180	 4229	 7142
CTIVEC= 000060        	  895#	 4232
CTOCHR= 177566        	  901#	 4179	 7097*
CTOLVL= 000004        	  903#
CTOSTS= 177564        	  900#	 4178	 4211	 7095
CTOVEC= 000064        	  902#	 4214
CVCD$$= 000000        	 4997#
CVCR$$= 000000        	 4999#
CVDL.E= 000000        	 5043#	 5044#	 5045#
CVDMC$= 000000        	 5048#
CVDTE2= 000000        	 5016#
CVDUP$= 000000        	 5042#
CVDZ$$= 000000        	 5052#
CVKG$$= 000000        	 5000#
CVKMC$= 000000        	 5041#	 5051#
CVKW.P= 000000        	 5014#
CVLE$$= 000000        	 5001#
CVLP$$= 000000        	 5002#
CVPP$$= 000000        	 5003#
CVPR$$= 000000        	 5004#
CVRC$$= 000000        	 5007#
CVRF$$= 000000        	 5008#
CVRH$$= 000000        	 5009#
CVRK$$= 000000        	 5012#
CVRP$$= 000000        	 5010#
CVRX$$= 000000        	 5013#
CVTA$$= 000000        	 5011#
CVTC$$= 000000        	 5005#
CVTM$$= 000000        	 5006#
DEBUG = 000001        	  269
DEXDON= 000004        	 1371#
DEXWD1= 000006        	 1340#	 3152#
DEXWD2= 000004        	 1339#	 3151#
DEXWD3= 000002        	 1338#	 3150#	 3502	 3510
DGUTS = 000000        	  257	  259
DHBASE= 160020        	  909#
DHRFER= 020000        	  932#
DHROVR= 040000        	  931#
DH.AEE= 100000        	  939#
DH.BAR= 000012        	  926#
DH.BCR= 000010        	  925#
DH.BRK= 000014        	  927#
DH.CAR= 000006        	  924#
DH.CL5= 000000        	  944#
DH.CL6= 000001        	  945#
DH.CL7= 000002        	  946#
DH.CL8= 000003        	  947#
DH.CNX= 000400        	  914#
DH.DOV= 040000        	  934#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-7
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

DH.LPR= 000004        	  923#
DH.LVL= 000007        	  910#
DH.NRC= 000002        	  922#
DH.NXM= 002000        	  916#
DH.PEN= 000020        	  942#
DH.RIE= 000100        	  912#
DH.SIE= 010000        	  918#
DH.SSR= 000016        	  928#
DH.TIE= 020000        	  919#
DH.VDP= 100000        	  933#
DH..FE= 020000        	  935#
DH..HD= 040000        	  940#
DH..MC= 004000        	  917#
DH..MM= 001000        	  915#
DH..OP= 000040        	  941#
DH..PE= 010000        	  936#
DH..RI= 000200        	  913#
DH..SI= 040000        	  920#
DH..TI= 100000        	  921#
DH.2SB= 000004        	  943#
DIAG1 = 000030        	 1352#	 3165#
DIAG2 = 000032        	 1353#	 3166#	 3315*
DIAG3 = 000036        	 1376#	 3180#	 3549*
DLBASE= 100000        	  956#	  960
DLDADR= 175610        	  982#
DLDSIZ= 000010        	  983#
DLPENB= 000040        	  972#
DLRBUF= 000002        	 1006#
DLRSTS= 000000        	  988#
DLXBUF= 000006        	 1027#
DLXSTS= 000004        	 1017#
DLYCNT= 000000        	 1334#	 3146#	 3409*	 3551*	 3593*	 3654*	 6370
DLYMSK= 037777        	 1337#	 3149#
DL.BAS= 100000        	  955#	  956
DL.BRK= 000001        	 1020#
DL.B00= 000001        	  977#
DL.B01= 000002        	  976#
DL.B04= 000020        	  973#
DL.CAR= 010000        	 1000#
DL.CNX= 002000        	  966#
DL.CPE= 000400        	  968#
DL.CTS= 020000        	 1001#
DL.CWC= 000100        	  970#
DL.DIE= 000040        	  995#
DL.DSC= 100000        	 1003#
DL.DTR= 000002        	  992#
DL.ERE= 000010        	  974#
DL.ERR= 100000        	 1013#
DL.E.L= 000000        	 5043	 5044	 5045
DL.INE= 000004        	  975#
DL.LVL= 000004        	  958#
DL.NXM= 004000        	  965#
DL.OVR= 040000        	 1012#
DL.PAR= 001000        	  967#
DL.PEN= 000040        	  971#	  972
DL.RGO= 004000        	  999#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-8
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

DL.RIE= 000100        	  996#
DL.RNG= 040000        	 1002#
DL.ROK= 000200        	  997#
DL.RTS= 000004        	  993#
DL.STS= 100000        	  960#
DL.VEC= 000170        	  957#
DL.WCO= 000200        	  969#
DL.XIE= 000100        	 1022#
DL.XOK= 000200        	 1023#
DL..FE= 020000        	 1011#
DL..MM= 000004        	 1021#
DL..PE= 010000        	 1010#
DL..RC= 000377        	 1009#
DL..RE= 000001        	  991#
DL..XC= 000377        	 1030#
DL.10C= 010000        	  964#
DL.10I= 020000        	  963#
DL.11C= 040000        	  962#
DL.11I= 100000        	  961#
DL.2RC= 002000        	  998#
DL.2XM= 000010        	  994#
DL10AD= 001430        	 3783
DMBASE= 170500        	 1034#
DMC.LV= 000005        	 1051#	 5048
DM.ALI= 000017        	 1047#
DM.BSY= 000020        	 1046#
DM.DNE= 000200        	 1043#
DM.ENB= 000040        	 1045#
DM.IEN= 000100        	 1044#
DM.INI= 002000        	 1040#
DM.LVL= 000007        	 1036#
DM.SCN= 004000        	 1039#
DM.STP= 000400        	 1042#
DM.TIM= 000120        	  182#
DM..MM= 001000        	 1041#
DNBASE= 175200        	 1076#
DN.ACR= 040000        	 1079#
DN.DGT= 007400        	 1089#
DN.DLO= 010000        	 1080#
DN.DNE= 000200        	 1081#
DN.DSS= 000040        	 1083#
DN.LVL= 000007        	 1075#
DN.PND= 000020        	 1084#
DN.PWI= 100000        	 1078#
DN..CR= 000001        	 1088#
DN..DP= 000002        	 1087#
DN..IE= 000100        	 1082#
DN..ME= 000004        	 1086#
DN..MM= 000010        	 1085#
DON10C= 040000        	 1357#	 3170#	 3548
DON11C= 000100        	 1366#	 3177#	 3621
DP.CAR= 004000        	 1112#
DP.CTS= 002000        	 1113#
DP.DTR= 000001        	 1121#
DP.LVL= 000007        	 1093#
DP.MIS= 000020        	 1118#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-9
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

DP.MRY= 010000        	 1111#
DP.RIE= 000100        	 1100#
DP.RNG= 020000        	 1110#
DP.ROF= 040000        	 1109#
DP.RTS= 001000        	 1114#
DP.SIE= 000040        	 1117#
DP.TIE= 000100        	 1116#
DP..CF= 100000        	 1108#
DP..CP= 010000        	 1097#
DP..HD= 000002        	 1103#
DP..IS= 000002        	 1120#
DP..MM= 000004        	 1102#
DP..MR= 000010        	 1101#
DP..MT= 000010        	 1119#
DP..RA= 004000        	 1098#
DP..RD= 000200        	 1099#
DP..SS= 000001        	 1104#
DP..TD= 000200        	 1115#
DQ.BCC= 000100        	 1175#
DQ.CAR= 010000        	 1162#
DQ.CHR= 007400        	 1138#
DQ.CIE= 000020        	 1134#	 1146
DQ.CTS= 020000        	 1163#
DQ.DIE= 000020        	 1154#
DQ.DSF= 100000        	 1165#
DQ.DSR= 002000        	 1160#
DQ.DTR= 001000        	 1159#
DQ.EIE= 000010        	 1153#
DQ.ENQ= 002000        	 1141#
DQ.ETB= 000400        	 1139#
DQ.ETX= 001000        	 1140#
DQ.HD = 000010        	 1133#
DQ.LVL= 000007        	 1125#
DQ.MBM= 000020        	 1179#
DQ.MC = 000040        	 1196#
DQ.MEM= 010000        	 1178#
DQ.RAC= 010000        	 1143#	 1146
DQ.RCL= 000002        	 1170#
DQ.RDP= 000200        	 1137#
DQ.RDS= 000100        	 1136#
DQ.RGO= 000001        	 1130#	 1146
DQ.RIE= 000040        	 1135#
DQ.RKL= 110021        	 1146#
DQ.RLE= 000010        	 1172#
DQ.RNG= 004000        	 1161#
DQ.RNX= 000040        	 1174#
DQ.RTS= 000400        	 1158#
DQ.SEC= 000004        	 1132#	 1152#
DQ.SSY= 000002        	 1131#
DQ.SYN= 004000        	 1142#
DQ.VCH= 100000        	 1145#	 1146
DQ.VRC= 000200        	 1176#
DQ.XCL= 000001        	 1169#
DQ.XDP= 000200        	 1157#
DQ.XDS= 000100        	 1156#
DQ.XGO= 000001        	 1150#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-10
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

DQ.XIE= 000040        	 1155#
DQ.XLE= 000004        	 1171#
DQ.XNX= 000020        	 1173#
DRESET= 000100        	 1354#	 3167#	 3315	 6391
DS.AD1= 020000        	 1257#
DS.AD2= 040000        	 1256#
DS.AD3= 100000        	 1255#
DS.AUX= 175600        	 1248#
DS.DTR= 000440        	 1289#	 1291	 1292
DS.DVA= 175400        	 1249#	 5228
DS.IVA= 000400        	 1262#
DS.LVL= 000007        	 1251#
DS.RDR= 000002        	 1277#
DS.RGO= 006455        	 1292#
DS.RST= 000000        	 1278#
DS.VEC= 000400        	 1250#
DS.XDR= 000006        	 1275#
DS.XGO= 000455        	 1291#
DS.XST= 000004        	 1276#
DS.ZAP= 170000        	 1290#
DTEMOP  000000        	 3200#	 4043	 7433
DTERCA  001034        	 3347	 3388	 3436	 3603#
DTERCV  001026        	 3340	 3442	 3523	 3591#
DTESND  000764        	 3327	 3453	 3547#	 7221
DTE2.L= 000000        	 5016
DUPACT= 004000        	 1388#
DUPCAR= 010000        	 1388#
DUPCRS= 000000        	 1387#
DUPCTS= 020000        	 1388#
DUPDIE= 000040        	 1389#
DUPDSA= 100000        	 1388#
DUPDSB= 000001        	 1390#
DUPDSR= 001000        	 1389#
DUPDTR= 000002        	 1390#	 6416
DUPPDM= 100000        	 1425#
DUPPIC= 001000        	 1425#
DUPPSR= 000002        	 1424#
DUPP2M= 010000        	 1425#
DUPP2S= 000377        	 1426#
DUPRAB= 002000        	 1412#
DUPRCE= 000020        	 1389#
DUPRCR= 010000        	 1412#
DUPRDB= 000002        	 1411#	 1424
DUPRDN= 000200        	 1389#
DUPRDT= 000377        	 1413#
DUPREM= 001000        	 1412#
DUPRER= 100000        	 1412#
DUPRIE= 000100        	 1389#	 6416
DUPRNG= 040000        	 1388#
DUPROV= 040000        	 1412#
DUPRSM= 000400        	 1412#
DUPRTS= 000004        	 1390#
DUPSSY= 000400        	 1389#	 6418
DUPTAC= 001000        	 1438#
DUPTCS= 000004        	 1436#
DUPTDB= 000006        	 1457#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-11
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

DUPTDL= 100000        	 1437#
DUPTDN= 000200        	 1438#
DUPTHD= 000010        	 1438#	 6422
DUPTIE= 000100        	 1438#	 6422
DUPTMC= 020000        	 1437#	 6422
DUPTMI= 002000        	 1438#	 6422
DUPTMT= 040000        	 1437#
DUPTM0= 004000        	 1437#	 6422
DUPTM1= 010000        	 1437#	 6422
DUPTRS= 000400        	 1438#
DUPTSN= 000020        	 1438#	 6422
DUPXAB= 002000        	 1458#	 6425
DUPXCI= 040000        	 1458#
DUPXCO= 010000        	 1458#
DUPXDB= 000377        	 1459#	 6425
DUPXEM= 001000        	 1458#	 6425
DUPXMT= 004000        	 1458#
DUPXSM= 000400        	 1458#	 6425
DUP.LV= 000006        	 1383#	 5042
DUP2RC= 002000        	 1388#
DUP2TX= 000010        	 1390#
DZ.CLR= 000020        	 1475#
DZ.INI= 050140        	 1480#
DZ.LVL= 000000        	 5052
DZ.RCV= 010000        	 1486#
DZ.RIE= 000100        	 1477#	 1480	 6441
DZ.SAE= 010000        	 1478#	 1480
DZ.SCN= 000040        	 1476#	 1480	 6441
DZ.TIE= 040000        	 1479#	 1480	 6441
D$$BUG= ****** U      	 3201	 3313	 3359	 3369	 3402	 3413	 3416	 3419	 3467	 3509	 3572	 3625	 3632
			 3642
D$$CHK= ****** U      	 3314	 3515	 3553	 3577	 3647
D.CNTF= 000020        	 5123*	 5133*
D.CNTP= 000006        	 5156	 5158*
D.DIAG= 000012        	 5215
D.FRSV= 000022        	 5124*	 5224	 5226*
D.FVFD= 000026        	 5106	 5129*	 5199
D.HINC= 000004        	 5111	 5136	 5234
D.MAIN= 000014        	 5231
D.MAXL= 000002        	 5140	 5151
D.NAMP= 000010        	 5100
D.NEXT= 000030        	 5259
D.VINC= 000003        	 5134	 5232
D.VMUL= 000005        	 5104	 5126	 5205	 5253
D.$$$$= 000000        	 4997	 4999	 5000	 5001	 5002	 5003	 5004	 5005	 5006	 5007	 5008	 5009	 5010
			 5011	 5012	 5013	 5014	 5016	 5041	 5042	 5043	 5044	 5045	 5048	 5051	 5052
ED.HIS= 000001        	 3756#	 4254
EMTLVL= 000007        	  791#
EMTVEC= 000030        	  791#
ENBGO = 000103        	 1700#
ERR10C= 010000        	 1359#	 3172#	 3548
ERR11C= 000001        	 1374#	 1375	 3179#	 3621
ERR11S= 000002        	 1373#
EXCLUD= 000000        	  165#	  175	  177	  178	  179	  184	  185	  186	  187	  188	  190	  193	  195
			  198	  199	  200	  201	  202	  203	  204	  205	  206
E$$CHK= 000000        	 3012#	 3314	 3348	 3515	 3519	 3569	 3624	 3631	 3639
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-12
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

FLOATD= 160000        	 3781	 4140
FLOATV= 000300        	 3780	 4139
FTCD20= 177777        	  173#	 5566	 5567
FTCR11= 177777        	  174#	 5629	 5630
FTDH11= 000000        	  175#	  176	  181	 5679	 5680
FTDJ11= 000000        	  177#
FTDL1A= 000000        	  179#	 5874	 5875
FTDL1E= 177777        	  180#	 5887	 5888
FTDL10= 000000        	  178#	 4381	 4384	 4928	 5323
FTDMC = 177777        	  183#	  194	 6507	 6508
FTDM11= 000000        	  181#	 5908	 5909
FTDN11= 000000        	  184#	 5956	 5957
FTDP11= 000000        	  185#	 5971	 5972
FTDQ11= 000000        	  186#	  187	 5995	 5996
FTDS11= 000000        	  188#	 6307	 6308
FTDTE = 177777        	  189#	 6359	 6360
FTDUP1= 177777        	  191#	 6413	 6414
FTDU11= 000000        	  190#	 6401	 6402
FTDZ11= 177777        	  192#	 6437	 6438
FTKG11= 000000        	  193#	 3777
FTKMC = 177777        	  194#	  195	 6506	 6559	 6677
FTKMCL= 000000        	  195#	 6536	 6587	 6644
FTLE11= 177777        	  196#	 6755	 6756
FTLP20= 177777        	  197#	 6771	 6772
FTMD11= 000000        	  198#	 6833	 6834
FTPA61= 000000        	  199#
FTPP11= 000000        	  200#	 6878	 6879
FTPR11= 000000        	  201#	 6894	 6895
FTP611= 000000        	 6852	 6853
FTRH11= 000000        	  202#	 6923	 6924
FTRK11= 000000        	  203#
FTRX11= 000000        	  204#
FTR611= 000000        	 6865	 6866
FTTC11= 000000        	  205#	 6937	 6938
FTTM11= 000000        	  206#	 6970	 6971
FT.CHK= 000001        	  276
FT.HLP= 000001        	  267
FT.ROM= ****** U      	 4851
FT.87S= ****** U      	 1629
IDZ0  = 010000        	  835#
IDZ1  = 020000        	  835#
IDZ2  = 040000        	  835#
ILSLVL= 000007        	  787#
ILSVEC= 000010        	  787#
INCLUD= 177777        	  164#	  173	  174	  180	  181	  183	  189	  191	  192	  194	  196	  197
INTROF= 000010        	 1369#	 1370	 6380
INTRON= 000040        	 1367#	 6371
INTSON= 000001        	 1375#	 6372	 6381
INT11C= 002000        	 1362#	 3174#	 3564
INT11S= 004000        	 1361#	 6377
IOTLVL= 000007        	  789#
IOTVEC= 000020        	  789#
IZ00  = 001000        	  835#
IZ01  = 000400        	  835#
IZ02  = 000200        	  836#
IZ03  = 000100        	  836#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-13
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

IZ04  = 000040        	  836#
IZ05  = 000020        	  836#
IZ06  = 000010        	  836#
IZ07  = 000004        	  836#
IZ08  = 000002        	  836#
IZ09  = 000001        	  836#
IZ11  = 002000        	  835#
IZ12  = 004000        	  835#
I.DSRD= 000007        	 1282#	 1292
I.DSRS= 000006        	 1283#
I.DSXD= 000007        	 1284#	 1291
I.DSXS= 000006        	 1285#
I.INTC= 000004        	 5437	 5439	 5479	 5481
I.INTS= 000002        	 5429	 5441
I.RTRN= 000006        	 5490
I.$$$$= 000000        	 6765	 6823
KDSAR0= 172360        	 1607#
KDSAR1= 172362        	 1607#
KDSAR2= 172364        	 1607#
KDSAR3= 172366        	 1607#
KDSAR4= 172370        	 1607#
KDSAR5= 172372        	 1607#
KDSAR6= 172374        	 1607#
KDSAR7= 172376        	 1607#
KDSDR0= 172320        	 1607#
KDSDR1= 172322        	 1607#
KDSDR2= 172324        	 1607#
KDSDR3= 172326        	 1607#
KDSDR4= 172330        	 1607#
KDSDR5= 172332        	 1607#
KDSDR6= 172334        	 1607#
KDSDR7= 172336        	 1607#
KGBCC = 000002        	 1529#	 6458	 6460	 6473	 6475
KGDATA= 000004        	 1530#	 6457*	 6472*
KG.CCI= 000005        	 1527#
KG.CLR= 000020        	 1522#	 1528	 6469
KG.CRC= 000001        	 1525#	 1528
KG.DDB= 000010        	 1523#
KG.DNE= 000200        	 1519#
KG.INI= 000121        	 1528#
KG.LRC= 000003        	 1526#
KG.LVL= 000000        	 5000
KG.SEN= 000100        	 1520#	 1528
KG.STP= 000040        	 1521#
KG.STS= 170700        	 1518#	 5000
KISAR0= 172340        	 1607#	 3134#	 3233*	 4474*	 4484	 4498	 4514	 4539
KISAR1= 172342        	 1607#	 3135#	 3234*	 4476*
KISAR2= 172344        	 1607#	 3136#	 3235*	 3242*	 3247
KISAR3= 172346        	 1607#	 3137#
KISAR4= 172350        	 1607#	 3138#
KISAR5= 172352        	 1607#	 3139#
KISAR6= 172354        	 1607#	 3140#	 4484*	 4498	 4500*	 4514*	 4539*	 4607*	 4622*	 4623	 4628*	 4630	 4671
			 4716*	 4727*	 4728
KISAR7= 172356        	 1607#	 3141#	 3236*	 4478*
KISDR0= 172300        	 1607#	 3125#	 3229*	 4475*	 4485
KISDR1= 172302        	 1607#	 3126#	 3230*	 4477*
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-14
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

KISDR2= 172304        	 1607#	 3127#	 3231*
KISDR3= 172306        	 1607#	 3128#
KISDR4= 172310        	 1607#	 3129#
KISDR5= 172312        	 1607#	 3130#
KISDR6= 172314        	 1607#	 3131#	 4485*	 4515*	 4540*	 4545*	 4559*	 4564	 4566*	 4608*
KISDR7= 172316        	 1607#	 3132#	 3232*	 4479*
KMC.LV= 000000        	 5041	 5051
KW.INE= 000100        	 1638#	 4885	 4913	 4917
KW.P.L= 000000        	 5014
KW.TIC= 000200        	 1640#
LE.DAT= 177516        	 1655#
LE.DNE= 000200        	 1651#	 6765
LE.ERR= 100000        	 1650#	 6758
LE.INE= 000100        	 1652#	 6764	 6765
LE.LVL= 000004        	 1644#	 5001
LE.STS= 177514        	 1648#	 5001
LE.VEC= 000200        	 1645#	 5001
LE0DAT= 177516        	 1654#	 1655
LE0STS= 177514        	 1647#	 1648
LE1DAT= 177522        	 1660#
LE1STS= 177520        	 1659#
LODADR  001330        	 3381	 3394	 3399	 3441	 3466	 3507	 3705#
LODNUM  001155        	 3318*	 3368	 3373*	 3683#
LPBCTR= 000006        	 1729#	 6785*	 6819*
LPBSAD= 000004        	 1727#	 6784*	 6820*	 6821*
LPCBUF= 000014        	 1745#	 6821
LPCCTR= 000015        	 1746#
LPCKSM= 000017        	 1749#
LPCSRA= 000000        	 1671#
LPCSRB= 000002        	 1702#
LPPCTR= 000010        	 1733#
LPRAMD= 000012        	 1737#	 6776
LPRBSZ= 000020        	 1751#
LPTDAT= 000016        	 1748#
LP.B16= 000020        	 1673#	 1699	 6822
LP.B17= 000040        	 1673#	 1699	 6822
LP.CHI= 020000        	 1672#
LP.DEM= 000002        	 1705#
LP.DH = 002000        	 1672#	 6787
LP.DNE= 000200        	 1673#
LP.DV = 100000        	 1703#
LP.ERR= 100000        	 1672#
LP.GO = 000001        	 1674#	 1700	 6822
LP.GOE= 000001        	 1705#
LP.IE = 000100        	 1673#	 1700	 6787	 6823
LP.LOI= 000400        	 1673#	 6775	 6792	 6797	 6803	 6809
LP.LVL= 000004        	 1666#	 5002
LP.MDS= 000014        	 1698#	 6787
LP.MD0= 000004        	 1674#	 1695	 1696	 1697	 1698
LP.MD1= 000010        	 1674#	 1698
LP.MPE= 000020        	 1705#
LP.NRD= 020000        	 1703#
LP.OFL= 000200        	 1704#
LP.ONL= 004000        	 1672#	 6812
LP.OPT= 004000        	 1704#
LP.PAR= 010000        	 1703#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-15
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

LP.PEN= 000002        	 1674#	 1700	 6787
LP.PER= 000040        	 1705#
LP.PGZ= 040000        	 1672#
LP.RDL= 002000        	 1738#
LP.RIN= 004000        	 1738#
LP.RP = 010000        	 1738#	 1739
LP.RPE= 000010        	 1705#
LP.RPI= 000400        	 1738#
LP.RSE= 001000        	 1673#	 6775	 6792	 6797	 6803	 6809
LP.RTR= 001000        	 1738#
LP.SYN= 000004        	 1705#
LP.TS0= 000400        	 1704#	 6791
LP.TS1= 001000        	 1704#	 6791
LP.TS2= 002000        	 1704#	 6791
LP.VEC= 000754        	 1667#	 5002
LP.VFE= 000100        	 1704#
LP.VFR= 010000        	 1672#
LP.XAD= 000060        	 1699#	 6787
LP.180= 040000        	 1703#
LP0STS= 175400        	 1669#	 5002
L$$DPR= 000000        	 3015#	 3319	 3354	 3378	 3469	 3495	 3688
MDCSR   002052        	 4117#	 6516
MDCSRP  002050        	 4116#	 6514	 6517*	 6519*
MD.CLR= 040000        	 1053#	 6513	 6553	 6671
MD.CWR= 020000        	 1053#	 6705
MD.LLU= 004000        	 1053#
MD.RMI= 001000        	 1054#	 6543	 6547
MD.RMO= 002000        	 1054#	 6704	 6705	 6739
MD.RUN= 100000        	 1053#
MD.SLU= 010000        	 1053#
MD.SMP= 000400        	 1054#	 6545	 6549
MG.ANR= 100000        	 1573#	 4529
MG.APL= 040000        	 1573#
MG.ARO= 020000        	 1573#	 4529
MG.DAD= 000020        	 1575#
MG.EMT= 001000        	 1574#
MG.ENB= 000001        	 1575#	 4472
MG.IDN= 000200        	 1574#
MG.KDS= 000004        	 1600#
MG.MD0= 000040        	 1574#
MG.MD1= 000100        	 1574#
MG.MNT= 000400        	 1574#
MG.PG0= 000002        	 1575#
MG.PG1= 000004        	 1575#
MG.PG2= 000010        	 1575#
MG.SDS= 000002        	 1600#
MG.TMM= 010000        	 1573#
MG.UDS= 000001        	 1600#
MMGLVL= 000007        	  793#
MMGSR0= 177572        	 1572#	 4434	 4437	 4472	 4480*	 4529
MMGSR1= 177574        	 1595#
MMGSR2= 177576        	 1597#
MMGSR3= 172516        	 1599#
MMGVEC= 000250        	  793#	 4468
MOP     000240        	 3289	 3312#	 3326	 3337	 3441	 3452	 3531	 3534	 7221
MOPERR  000760        	 3467	 3530#	 3572	 3625	 3632	 3642
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-16
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

MOPFER  000742        	 3359	 3369	 3402	 3413	 3416	 3419	 3520#	 3524
MOPFNC  001326        	 3352	 3379	 3390	 3459	 3703#
MOPWAT  000274        	 3331#	 3333	 3460
MPE11 = 001000        	 1363#
MP.ENB= 000001        	 1763#
MP.ERR= 100000        	 1760#
MP.LVL= 000007        	 1756#
MP.REG= 172100        	 1758#
MP.VEC= 000114        	 1755#
MP.WWP= 000004        	 1762#
M$$CHK= 000000        	 3014#	 3314	 3396	 3465	 3515	 3519
M$$MGE= 000000        	  169#	 3018#	 3227	 3395	 3501	 3550	 3592	 4439	 4464	 4589	 4693
M$$XSZ= 002000        	 3017#	 3242	 3263	 3288	 3693	 3713
M.PDAP= 000020        	 3109#
M.PEAM= 000022        	 3110#
M.PEMM= 000006        	 3104#
M.PLBT= 000030        	 3112#
M.PLDP= 000024        	 3111#	 3355	 3379
M.PMDP= 000016        	 3108#
M.PMLD= 000002        	 3102#	 3358	 3390	 3459
M.PMLT= 000000        	 3101#
M.PMMR= 000014        	 3107#
M.PRMD= 000004        	 3103#
M.PRML= 000012        	 3106#	 3682
M.PRPR= 000010        	 3105#	 3667
NDH11 = 000000        	  176#	 5672
NLINES= 000060        	 4115#
NXMLVL= 000007        	  786#
NXMVEC= 000004        	  786#	 4175*	 4182*	 4187*	 4436*	 4612*	 4718*	 4878*	 4880*	 5118*	 5120*	 5146*	 5569*
			 5571*	 5612*
N.CD11  001434        	 4060#	 4997
N.CI11  001446        	 4062#	 4233
N.CO11  001455        	 4063#	 4215
N.CR11  001441        	 4061#	 4999
N.DH11  001465        	 4064#
N.DJ11  001472        	 4065#
N.DL.A  001504        	 4067#
N.DL.E  001513        	 4068#	 5043	 5044	 5045
N.DL01  001477        	 4066#
N.DMC1  001532        	 4070#	 5048	 6580
N.DM11  001522        	 4069#
N.DN11  001540        	 4071#
N.DP11  001545        	 4072#
N.DQ11  001552        	 4073#
N.DS11  001557        	 4074#
N.DTE2  001564        	 4075#	 5016
N.DUP1  001577        	 4077#	 5042
N.DU11  001572        	 4076#
N.DV11  001605        	 4078#
N.DZ11  001612        	 4079#	 5052
N.KG11  001617        	 4080#	 5000
N.KMC1  001626        	 4081#	 5041	 5051	 6569
N.KT11  001634        	 4082#
N.KW.L  001641        	 4083#	 4872
N.KW.P  001650        	 4084#	 5014
N.LE11  001664        	 4086#	 5001
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-17
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

N.LK11  001657        	 4085#
N.LP11  001671        	 4087#	 5002
N.MM11  001676        	 4088#
N.NL11  001706        	 4089#
N.PP11  001742        	 4092#	 5003
N.PR11  001747        	 4093#	 5004
N.P611  001722        	 4090#
N.RC11  001754        	 4094#	 5007
N.RF11  001761        	 4095#	 5008
N.RH11  001773        	 4097#	 5009
N.RK11  001766        	 4096#	 5012
N.RP11  002000        	 4098#	 5010
N.RX11  002007        	 4099#	 5013
N.R611  001732        	 4091#
N.TA11  002014        	 4100#	 5011
N.TC11  002021        	 4101#	 5005
N.TM11  002026        	 4102#	 5006
PAGE0 = 000000        	 1622#	 4486	 4516
PAGE0B= 000000        	 1622#
PAGE1 = 020000        	 1622#
PAGE1B= 000200        	 1622#	 4476
PAGE2 = 040000        	 1622#
PAGE2B= 000400        	 1622#
PAGE3 = 060000        	 1622#
PAGE3B= 000600        	 1622#
PAGE4 = 100000        	 1622#
PAGE4B= 001000        	 1622#
PAGE5 = 120000        	 1622#
PAGE5B= 001200        	 1622#
PAGE6 = 140000        	 1622#	 4487	 4517	 4541	 4615	 4724
PAGE6B= 001400        	 1622#
PAGE7 = 160000        	 1622#
PAGE7B= 007600        	 1622#	 1623#	 4478	 4630
PARMAD  001156        	 3287*	 3288*	 3472	 3477	 3689#
PASS  = 000002        	  278	  279#
PASS2 = ****** U      	 3693	 3713
PDP11 = 000042        	  157#	  559	  684	 4372	 4789
PDZ0  = 000001        	  844#
PDZ1  = 000002        	  844#
PDZ2  = 000004        	  844#
PD.A  = 000200        	 1612#
PD.ACF= 000007        	 1614#	 4564	 4566
PD.AC0= 000001        	 1612#	 1614	 4471	 4515	 4540	 4545	 4559	 4608
PD.AC1= 000002        	 1612#
PD.AC2= 000004        	 1612#	 1614
PD.ED = 000010        	 1612#
PD.PLF= 077400        	 1613#	 4471	 4540	 4559	 4608
PD.PL0= 000400        	 1611#	 1613	 4515
PD.PL1= 001000        	 1611#
PD.PL2= 002000        	 1611#
PD.PL3= 004000        	 1611#
PD.PL4= 010000        	 1611#
PD.PL5= 020000        	 1611#
PD.PL6= 040000        	 1611#	 1613
PD.W  = 000100        	 1612#
PHYLIM  002046        	 4114#	 4636*	 4728
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-18
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

POSMSK= 000200        	  805#	  806#	  807#	  835#	  836#	  844#	  852#	  853#	 1053#	 1054#	 1388#	 1389#	 1390#
			 1412#	 1425#	 1437#	 1438#	 1458#	 1573#	 1574#	 1575#	 1600#	 1611#	 1612#	 1672#	 1673#
			 1674#	 1703#	 1704#	 1705#	 1738#
PP.DAT= 177556        	 1785#
PP.ERR= 100000        	 1781#
PP.INE= 000100        	 1783#
PP.LVL= 000004        	 1775#	 5003
PP.RDY= 000200        	 1782#
PP.STS= 177554        	 1779#	 5003
PP.VEC= 000074        	 1776#	 5003
PP0STS= 177554        	 1778#
PRGDAT  001160        	 3320*	 3381	 3471	 3496	 3690#
PR.BSY= 004000        	 1791#
PR.DAT= 177552        	 1796#
PR.DNE= 000200        	 1792#
PR.ERR= 100000        	 1790#
PR.INE= 000100        	 1793#
PR.LVL= 000004        	 1773#	 5004
PR.STS= 177550        	 1788#	 5004
PR.VEC= 000070        	 1774#	 5004
PR..RE= 000001        	 1794#
PR0   = 000000        	  765#
PR0STS= 177550        	 1787#
PR1   = 000040        	  766#	  767	  768	  769	  770	  771	  772
PR2   = 000100        	  767#
PR3   = 000140        	  768#
PR4   = 000200        	  769#
PR5   = 000240        	  770#
PR6   = 000300        	  771#
PR7   = 000340        	  772#	 3119#	 3204
PS    = 177776        	  722#	 3118#	 4131*	 4884*	 4912*	 5222*	 5284*	 5377*	 5384*	 5427*	 5435*	 5469*	 5474*
			 5506	 5511	 5515	 5519	 5523	 5527	 5531	 5535	 6542*	 6774*
PWFLVL= 000007        	  790#
PWFVEC= 000024        	  790#
PZ00  = 000040        	  844#
PZ08  = 000010        	  844#
PZ09  = 000020        	  844#
PZ11  = 000100        	  844#
PZ12  = 000200        	  844#
P6.LVL= 000007        	 1767#
RAMDAT= 007777        	 1739#
RAMLOD= 000014        	 1697#
RCVLDN  001327        	 3365	 3704#
RCVMSG  001324        	 3337	 3522	 3701#
RC.LVL= 000000        	 5007
REQMLD  001152        	 3452	 3680#	 3684
REQMLZ= 000002        	 3681	 3684#
REQOPS  001144        	 3326	 3665#	 3675
REQOPZ= 000004        	 3666	 3675#
RF.LVL= 000000        	 5008
RG.MSC= 000012        	 1195#
RG.PRA= 000000        	 1185#
RG.PRC= 000001        	 1186#
RG.PTA= 000002        	 1187#
RG.PTC= 000003        	 1188#
RG.SRA= 000004        	 1189#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-19
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

RG.SRC= 000005        	 1190#
RG.STA= 000006        	 1191#
RG.STC= 000007        	 1192#
RG.SYN= 000011        	 1194#
RH.LVL= 000000        	 5009
RK.LVL= 000000        	 5012
RM    = 000010        	 1370#	 6386
RP.LVL= 000000        	 5010
RX.LVL= 000000        	 5013
R6.LVL= 000007        	 1769#
SEL0  = 000000        	 1068#
SEL2  = 000002        	 1068#
SEL4  = 000004        	 1068#
SEL6  = 000006        	 1068#
SLEW  = 000020        	 1740#
SPCVFY= 000000        	  187#
SR0   = 177572        	 3123#	 3237*	 3508
STACK   001350        	 3225	 3292	 3317	 3711#
STKLEN= 000200        	  274
ST2ENB= 100000        	  852#
SW    = 177570        	  733#
SWR   = 177570        	 3117#
S$$CLD= ****** U      	 2984	 2985	 3444	 3670
S..AMC= 000000        	  283#
S..BDT= 000011        	  294#
S..CHK= 000012        	  295#
S..CNK= 000003        	  287#
S..CTY= 000005        	  289#
S..DL1= 000002        	  285#	  286
S..DTE= 000002        	  286#
S..ILS= 000004        	  288#
S..KW1= 000007        	  291#
S..MEM= 000006        	  290#	 4770	 4781
S..MMG= 000014        	  297#
S..MPD= 000013        	  296#
S..NCN= 000010        	  292#
S..NXM= 000001        	  284#
TA.LVL= 000000        	 5011
TC.A16= 000020        	 1840#
TC.A17= 000040        	 1839#
TC.BAR= 177346        	 1852#
TC.CLK= 000100        	 1815#
TC.CMD= 177342        	 1823#
TC.DAT= 177350        	 1854#
TC.DT0= 000020        	 1817#
TC.DT1= 000010        	 1818#
TC.DT2= 000004        	 1819#
TC.D16= 000001        	 1821#
TC.D17= 000002        	 1820#
TC.ERR= 100000        	 1825#
TC.ILO= 010000        	 1809#
TC.INE= 000100        	 1838#
TC.LVL= 000006        	 1802#	 5005
TC.MMT= 000040        	 1816#
TC.MTE= 020000        	 1808#
TC.NXM= 000400        	 1813#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-20
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

TC.PAR= 040000        	 1807#
TC.RDA= 000006        	 1844#
TC.RDY= 000200        	 1837#
TC.REV= 004000        	 1828#
TC.RMT= 000002        	 1842#
TC.SAT= 000000        	 1841#
TC.SST= 000010        	 1845#
TC.STS= 177340        	 1804#	 5005
TC.UPS= 000200        	 1814#
TC.US0= 000000        	 1829#
TC.US1= 000400        	 1830#
TC.US2= 001000        	 1831#
TC.US3= 001400        	 1832#
TC.US4= 002000        	 1833#
TC.US5= 002400        	 1834#
TC.US6= 003000        	 1835#
TC.US7= 003400        	 1836#
TC.VEC= 000214        	 1800#	 5005
TC.WCR= 177344        	 1850#
TC.WRA= 000016        	 1848#
TC.WTM= 000012        	 1846#
TC..BM= 002000        	 1811#
TC..DI= 010000        	 1827#
TC..DM= 001000        	 1812#
TC..EZ= 100000        	 1806#
TC..MM= 020000        	 1826#
TC..RD= 000004        	 1843#
TC..SE= 004000        	 1810#
TC..WR= 000014        	 1847#
TENAD1= 000010        	 1341#	 3153#
TENAD2= 000012        	 1342#	 3154#
TM.A16= 000020        	 1902#
TM.A17= 000040        	 1901#
TM.BAR= 172526        	 1915#
TM.BCR= 172524        	 1913#
TM.BGL= 004000        	 1868#
TM.BOT= 000040        	 1874#
TM.BTE= 000400        	 1871#
TM.CRE= 020000        	 1866#
TM.CUR= 000200        	 1899#
TM.DAT= 172530        	 1917#
TM.D72= 000000        	 1884#
TM.D75= 020000        	 1885#
TM.D78= 040000        	 1886#
TM.D98= 060000        	 1887#
TM.EOF= 040000        	 1865#
TM.EOT= 002000        	 1869#
TM.ERR= 100000        	 1883#
TM.INE= 000100        	 1900#
TM.LVL= 000005        	 1860#	 5006
TM.MTC= 172522        	 1881#
TM.NXM= 000200        	 1872#
TM.OFL= 000000        	 1903#
TM.PAE= 010000        	 1867#
TM.RDL= 172532        	 1919#
TM.REW= 000016        	 1910#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-21
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

TM.RLE= 001000        	 1870#
TM.RWS= 000002        	 1878#
TM.SLR= 000100        	 1873#
TM.STS= 172520        	 1862#	 5006
TM.TSD= 000010        	 1876#
TM.TUR= 000001        	 1879#
TM.US0= 000000        	 1891#
TM.US1= 000400        	 1892#
TM.US2= 001000        	 1893#
TM.US3= 001400        	 1894#
TM.US4= 002000        	 1895#
TM.US5= 002400        	 1896#
TM.US6= 003000        	 1897#
TM.US7= 003400        	 1898#
TM.VEC= 000224        	 1858#	 5006
TM.WEF= 000006        	 1906#
TM.WEG= 000014        	 1909#
TM.WRL= 000004        	 1877#
TM..GO= 000001        	 1911#
TM..IC= 100000        	 1864#
TM..LP= 004000        	 1889#
TM..PC= 010000        	 1888#
TM..RD= 000002        	 1904#
TM..SF= 000010        	 1907#
TM..SR= 000012        	 1908#
TM..US= 003400        	 1890#
TM..WR= 000004        	 1905#
TM.7CH= 000020        	 1875#
TO10AD= 000020        	 1348#	 3160#	 3557*
TO10BC= 000014        	 1343#	 3155#
TO10BM= 000001        	 1377#	 3181#	 3549
TO10DB= 000400        	 1364#	 3175#	 3564
TO10DN= 100000        	 1356#	 3169#	 3570
TO10DT= 000024        	 1350#	 3162#
TO10ER= 020000        	 1358#	 3171#	 3570
TO11AD= 000022        	 1349#	 3161#	 3604*
TO11BC= 000016        	 1344#	 3156#	 3634*
TO11BM= 020000        	 1346#	 3158#	 3630
TO11CM= 007777        	 1347#	 3159#	 3630
TO11DB= 004000        	 1360#	 1361	 3173#	 3332
TO11DN= 000200        	 1365#	 3176#	 3640
TO11DT= 000026        	 1351#	 3163#
TO11ER= 000002        	 1372#	 1373	 3178#	 3640
TO11IB= 100000        	 1345#	 3157#	 3627	 3630
TRPLVL= 000007        	  792#
TRPVEC= 000034        	  792#	 4169*
TSTMOD= 000004        	 1695#
T$$RLD= 000000        	 2983#	 2984	 2986	 3016	 3202
T$$32K= 000000        	 3019#	 3606	 3651
UDSAR0= 177660        	 1605#
UDSAR1= 177662        	 1605#
UDSAR2= 177664        	 1605#
UDSAR3= 177666        	 1605#
UDSAR4= 177670        	 1605#
UDSAR5= 177672        	 1605#
UDSAR6= 177674        	 1605#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-22
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

UDSAR7= 177676        	 1605#
UDSDR0= 177620        	 1605#
UDSDR1= 177622        	 1605#
UDSDR2= 177624        	 1605#
UDSDR3= 177626        	 1605#
UDSDR4= 177630        	 1605#
UDSDR5= 177632        	 1605#
UDSDR6= 177634        	 1605#
UDSDR7= 177636        	 1605#
UISAR0= 177640        	 1605#
UISAR1= 177642        	 1605#
UISAR2= 177644        	 1605#
UISAR3= 177646        	 1605#
UISAR4= 177650        	 1605#
UISAR5= 177652        	 1605#
UISAR6= 177654        	 1605#
UISAR7= 177656        	 1605#
UISDR0= 177600        	 1605#
UISDR1= 177602        	 1605#
UISDR2= 177604        	 1605#
UISDR3= 177606        	 1605#
UISDR4= 177610        	 1605#
UISDR5= 177612        	 1605#
UISDR6= 177614        	 1605#
UISDR7= 177616        	 1605#
VCTLIM  001432        	 4045#	 4166
VFULOD= 000010        	 1696#
VRS   = 000002        	  246#
XCD$$ = 011506        	 4997#
XCD11   011506        	 4997	 5568#
XCR$$ = 012022        	 4999#
XCR11   012022        	 4999	 5631#
XDL.E$= 012246        	 5043#	 5044#	 5045#
XDL.E1  012246        	 5043	 5044	 5045	 5889#
XDMC$$= 013072        	 5048#
XDMC11  013072        	 5048	 6509#
XDTE2$= 012274        	 5016#
XDTE21  012274        	 5016	 6361#
XDUP$$= 012546        	 5042#
XDUP11  012546        	 5042	 6415#
XDZ$$ = 012602        	 5052#
XDZ11   012602        	 5052	 6439#
XKG$$ = 012624        	 5000#
XKG11   012624        	 5000	 6454#
XKMC$$= 013072        	 5041#	 5051#
XKMC11  013072        	 5041	 5051	 6510#
XKW.P$= 014462        	 5014#
XKW.P1= ****** U      	 5014
XLE$$ = 014152        	 5001#
XLE11   014152        	 5001	 6757#
XLP$$ = 014220        	 5002#
XLP11   014220        	 5002	 6773#
XNL11   014460        	 6843#
XPP$$ = 014462        	 5003#
XPP11 = ****** U      	 5003
XPR$$ = 014462        	 5004#
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 25-23
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- USER SYMBOLS

XPR11 = ****** U      	 5004
XRC$$ = 014462        	 5007#
XRC11 = ****** U      	 5007
XRF$$ = 014462        	 5008#
XRF11 = ****** U      	 5008
XRH$$ = 014462        	 5009#
XRH11 = ****** U      	 5009
XRK$$ = 014462        	 5012#
XRK11 = ****** U      	 5012
XRP$$ = 014462        	 5010#
XRP11 = ****** U      	 5010
XRX$$ = 014462        	 5013#
XRX11 = ****** U      	 5013
XTA$$ = 014462        	 5011#
XTA11 = ****** U      	 5011
XTC$$ = 014462        	 5005#
XTC11 = ****** U      	 5005
XTM$$ = 014462        	 5006#
XTM11 = ****** U      	 5006
X.....  014462        	 5003	 5004	 5005	 5006	 5007	 5008	 5009	 5010	 5011	 5012	 5013	 5014	 6980#
Z     = 000121        	 6457#	 6469#
ZTALL = 007777        	  854#
ZT00  = 001000        	  853#
ZT01  = 000400        	  853#
ZT02  = 000200        	  853#
ZT03  = 000100        	  853#
ZT04  = 000040        	  853#
ZT05  = 000020        	  853#
ZT06  = 000010        	  853#
ZT07  = 000004        	  853#
ZT08  = 000002        	  853#
ZT09  = 000001        	  853#
ZT11  = 002000        	  853#
ZT12  = 004000        	  853#
$MMADR= 172400        	 1605#	 1607#
$$    = 000176        	 1605#	 1607#	 6416#	 6418
$$HERE= 001300        	 4043#	 4044	 4045
.     = 016616        	 3317	 3471	 3531	 3675	 3684	 3695#	 3702#	 3703#	 3704#	 3705#	 3710#	 3784#	 4103#
			 4105#	 4108#	 4109#	 4111#	 4112#	 4114#	 4171	 4224	 4242#	 4257#	 4262#	 4270	 4278#
			 4309#	 4371#	 4376	 4429	 4455	 4467#	 4576#	 4584	 4606#	 4639#	 4654#	 4667#	 4676#
			 4681	 4715#	 4901#	 4920#	 4923	 4993#	 4998	 5155#	 5265#	 5267#	 5269#	 5347#	 5352#
			 5467#	 5509	 5546#	 5547#	 5592#	 5605#	 5616#	 5639#	 5662#	 6390#	 6478#	 6585#	 6723#
			 6816#	 6983#	 7018#	 7231#	 7284#	 7303#	 7308#	 7323#	 7346	 7347#	 7349	 7350#	 7352
			 7353#	 7355	 7358#	 7360	 7361#	 7409#	 7410	 7414
CHK11 -  ONCE ONLY SYSTEM DIAGNOSTIC	DNMAC X24.07-563  06-DEC-79  13:39  PAGE 26
C11DTE.MAC    10-AUG-79 16:05		CROSS REFERENCE TABLE -- MACRO NAMES

ABORT	 3837#	 4452
ASCIZ	  706#
CALL	 3027#	 3327	 3340	 3347	 3388	 3436	 3442	 3453	 3523	 3616	 5064	 7184	 7194	 7200	 7221
CHKCHR	 3960#	 6455
CKSERR	 3831#	 4769	 4780	 5392	 5452	 5464	 6460	 6475	 6605	 6634	 6720
CKVECT	 4006#
CKVEC1	 4019#
CK11SC	 3808#	 4307	 4450	 4452	 4504	 4506	 4524	 4531	 4551	 4561	 4563	 4649	 4657	 4739	 4770
	 4781	 4891	 4895	 4899	 5153	 5181	 5295	 5305	 5312	 5345	 5350	 5355	 5360	 5387	 5393
	 5447	 5453	 5465	 5477	 5590	 5603	 5614	 5637	 5647	 5660	 6374	 6383	 6388	 6461	 6476
	 6572	 6583	 6606	 6635	 6721	 6760	 6814	 7239
COUNT	  318#
DEBUG	 3031#	 3201	 3313	 3359	 3369	 3402	 3413	 3416	 3419	 3467	 3509	 3572	 3625	 3632	 3642
DEFVEC	  777#	  786	  787	  788	  789	  790	  791	  792	  793
DEVICE	 3888#	 4997	 4999	 5000	 5001	 5002	 5003	 5004	 5005	 5006	 5007	 5008	 5009	 5010	 5011
	 5012	 5013	 5014	 5016	 5041	 5042	 5043	 5044	 5045	 5048	 5051	 5052
DQREGS	 1203#
ERR	 3042#	 3359	 3369	 3402	 3413	 3416	 3419	 3467	 3572	 3625	 3632	 3642
EXCH	  698#
FALLR	  341#	 4171	 4224	 4270	 4376	 4429	 4455	 4584	 4681	 4923
FIELD	  416#	  752	 1613	 1614	 6416
FIT	 3068#	 3693	 3713
GREATR	  361#
KGLOAD	 1532#	 6457	 6469
LDVECT	 4029#
LESSER	  353#
MMNAM1	 1549#	 1605	 1607
MMNAM2	 1554#	 1605	 1607
NAMASC	  388#
NAMEBT	  366#	  805	  806	  807	  835	  836	  844	  852	  853	 1053	 1054	 1388	 1389	 1390	 1412
	 1425	 1437	 1438	 1458	 1573	 1574	 1575	 1600	 1611	 1612	 1672	 1673	 1674	 1703	 1704
	 1705	 1738
NAMSTR	 4053#	 4060	 4061	 4062	 4063	 4064	 4065	 4066	 4067	 4068	 4069	 4070	 4071	 4072	 4073
	 4074	 4075	 4076	 4077	 4078	 4079	 4080	 4081	 4082	 4083	 4084	 4085	 4086	 4087	 4088
	 4089	 4090	 4091	 4092	 4093	 4094	 4095	 4096	 4097	 4098	 4099	 4100	 4101	 4102
RESTOR	  335#	 6481	 6496	 7009	 7053	 7054	 7073	 7120	 7147
RETURN	 3027#	 3581	 3658	 7204	 7227
SAVE	  327#	 6454	 6486	 7001	 7041	 7050	 7051	 7066	 7105	 7134
SPL	  686#	 4131	 4912	 5222	 5384	 5435	 5474
STOPCD	  303#
$CKINT	 3858#	 6765	 6823
.DEC	  349#
.INC	  345#


. ABS.  016616     000	   OVR   RW    ABS   LCL   D  


 ERRORS DETECTED:  0

 DTEMPT,DTEMPT/CRF=C11DTE
 RUN-TIME: 18 26 4 SECONDS
 RUN-TIME RATIO: 1421/49=28.5
 CORE USED:  18K  (35 PAGES)