Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/smmon.seq
There are no other files named smmon.seq in the archive.
;DSQDC
                                                                                                                           SEQ 0001






				IDENTIFICATION
				--------------

	PRODUCT CODE:		AH-F485C-DD

	DIAGNOSTIC CODE:	DSQDC

	PRODUCT NAME:	 	DSQDCC0 DECSYSTEM 2020 DIAGNOSTIC MONITOR

	VERSION:		0.3

	DATE RELEASED:		APRIL 1979

	MAINTAINED BY:		DIAGNOSTIC ENGINEERING

	AUTHOR:			JOHN R. KIRCHOFF

		        COPYRIGHT (C) 1978, 1979

	        DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

	THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR  USE  ONLY  ON  A
	SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION
	OF THE ABOVE COPYRIGHT NOTICE.   THIS  SOFTWARE,  OR  ANY  OTHER
	COPIES  THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE
	TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
	AGREES  TO  THESE  LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE
	SOFTWARE  SHALL  AT   ALL  TIMES  REMAIN  IN  DIGITAL  EQUIPMENT
	CORPORATION.

	THE INFORMATION IN THIS DOCUMENT IS SUBJECT  TO  CHANGE  WITHOUT
	NOTICE  AND  SHOULD  NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
	EQUIPMENT CORPORATION.

	DIGITAL EQUIPMENT CORPORATION ASSUMES NO  RESPONSIBILITY FOR THE
	USE  OR  RELIABILITY  OF  ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
	SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 2                                                                     SEQ 0002

		TABLE OF CONTENTS
		-----------------

1.0	ABSTRACT

2.0	REQUIREMENTS

2.1	EQUIPMENT

2.2	STORAGE

2.3	PRELIMINARY PROGRAMS

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

3.2	STARTING PROCEDURE

3.3	OPERATING PROCEDURE

3.4	SELECTING/RESELECTING LOAD DEVICE

3.5	DIAGNOSTIC MONITOR SWITCHES

3.6	EXPANDED OPERATING PROCEDURES

4.0	ROUTINE DESCRIPTIONS

5.0	COMMAND LIST FORMAT

6.0	ERRORS

7.0	ERROR RECOVERY

8.0	RESTRICTIONS

9.0	DEVICE COMMAND LIST

10.0	LISTING
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 3                                                                     SEQ 0003

1.0	ABSTRACT

	THE DECSYSTEM 2020 DIAGNOSTIC MONITOR IS AN EXEC OR USER MODE
	PROGRAM WHICH WILL CALL FROM THE DISK SYSTEM IN EXEC OR USER
	MODE AND EXECUTE THE DECSYSTEM 2020 DIAGNOSTIC PROGRAMS
	EITHER SINGLY OR AUTOMATICALLY.

	THE DECSYSTEM 2020 DIAGNOSTIC MONITOR OPERATES FROM EITHER
	A TOPS-10 OR A TOPS-20 STRUCTURED DISK PACK IN EXEC MODE AND
	FROM THE USERS DISK AREA UNDER EITHER THE TOPS-10 OR TOPS-20
	MONITOR IN USER MODE.

	THE MONITOR IS INTENDED TO ALLOW RAPID CHECKOUT OF THE
	COMPUTER SYSTEM AND TO ISOLATE HARDWARE PROBLEMS IN THE
	QUICKEST POSSIBLE TIME.  THE MONITOR WILL ALSO PROVIDE THE
	SEQUENCING AND CONTROL NEEDED FOR THE DIAGNOSTIC PROGRAMS
	SO THAT ACCEPTANCE TESTS, START-UP RELIABILITY TESTS,
	AND/OR UNATTENDED OVERNIGHT TESTS MAY BE RUN.

	THE DECSYSTEM SUBROUTINE PROGRAM AND DDT ARE AUTOMATICALLY
	LOADED ON SYSTEM STARTUP OR DEVICE SPECIFICATION IF THEY ARE
	NOT ALREADY RESIDENT IN THE DECSYSTEM 2020 MEMORY.

	THE DIAGNOSTIC MONITOR SPECIAL ROUTINES
	OPERATE AS PART OF THE DIAGNOSTIC MONITOR TO PROVIDE
	ADDITIONAL FEATURES.

	THESE FEATURES ARE:

	SPECIAL USER MODE

	PROGRAM CONTAINS ROUTINES FOR:
	USER PAGE MAP SETUP
	USER MODE CONTROL
	TRAPPED I/O PROCESSING
	ADDITIONAL CONTROL SEQUENCING.
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 4                                                                     SEQ 0004

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A DECSYSTEM 2020 PROCESSOR
	MINIMUM OF 32K OF MEMORY.
	CONSOLE PROCESSOR
	CONSOLE TELETYPE
	LOAD DEVICE, RP06 OR RM03 DISK PACK, TOPS-10 OR TOPS-20

2.2	STORAGE

	THE MAXIMUM MEMORY SIZE IS A FUNCTION OF THE PROGRAMS BEING
	EXECUTED.  THE MONITOR RESIDES FROM LOCATION 20000 TO 27770.

2.3	PRELIMINARY PROGRAMS

	THE MONITOR ASSUMES THAT BASIC INSTRUCTIONS AND THE SELECTED
	LOAD DEVICE ARE OPERATIONAL.
	IF THE MONITOR FAILS TO OPERATE USE THE DIAGNOSTIC PROGRAMS
	INDIVIDUALLY TO ISOLATE THE PROBLEM.

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

	EXEC - LOAD VIA CONSOLE PROCESSOR
	USER - "RUN SMMON"
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 5                                                                     SEQ 0005

3.2	STARTING PROCEDURE

	A.  STARTING ADDRESS FOR DIAGNOSTIC MONITOR = 20000

	B.  STARTING ADDRESS FOR RESTART AFTER ERROR = 20001

	C.  STARTING ADDRESS FOR CURRENT PROGRAM TITLE = 20002

	D.  STARTING ADDRESS TO RESTART CURRENT PROGRAM = 20003

	SET THE LEFT HAND CONSOLE DATA SWITCHES AS WOULD BE APPROPRIATE
	FOR THE DIAGNOSTIC PROGRAMS TO BE RUN.  SETTINGS TO BE
	SELECTED WOULD BE:

		PRINT ON LINE PRINTER?
		RING TTY BELL ON ERROR?
		SCOPE LOOP ON ERROR?
		ETC.

3.3	OPERATING PROCEDURE

	A.  AFTER THE DIAGNOSTIC MONITOR IS STARTED IT WILL TYPE
	    THE FOLLOWING MESSAGE:

	* SMMON [DSQDC] - DECSYSTEM 2020 DIAGNOSTIC MONITOR VER 0.1 *

	B.  SMMON WILL AUTOMATICALLY SELECT THE DISK PACK FOR LOADING
	    IF IT IS THE STANDARD DIAGNSTIC PACK, IF NOT YOU WILL BE
	    ASKED TO SELECT THE APPROPRIATE UBA, DISK, AND USER AREA.

	C.  AFTER SELECTION OF THE LOAD DEVICE "SMMON" WILL
	    AUTOMATICALLY LOAD "SUBSM" AND "SMDDT".
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 6                                                                     SEQ 0006

	D.  IF YOU REQUIRE HELP, TYPE HELP<CR>.
	    THE FOLLOWING MESSAGE WILL THEN BE PRINTED.

	NORMAL START = 20000
	RESTART/ABORT = 20001
	PRINT TEST TITLE = 20002
	RESTART CURR TEST = 20003

	COMMANDS;
	STD=START DIAGNOSTIC
	STM=REINITIALIZE START
	STL=START LOADER
	START=START DIAGNOSTIC
	SFSTRT=SPECIAL FEATURE START
	PFSTRT=POWER FAIL START
	REE=REENTER
	DDT=DDT
	START1=SPECIAL START 1
	START2=SPECIAL START 2
	START3=SPECIAL START 3
	START4=SPECIAL START 4
	START5=SPECIAL START 5
	SMMON=LOAD SMMON
	SMMAG=LOAD SMMAG
	SMAPT=LOAD SMAPT

	R=RESELECT, X=XPN, I=INTERNAL, T=TTY, D=DEVICE
	S=SINGLE, F=DIR, L=LIST, G=GO

	DEVICES:
	UBA #
	 0 = UBA 1, RH ADR 776700
	 1 = UBA 1, RH ADR 776700
	 2 = UBA 2, RH ADR 776700
	 3 = UBA 3, RH ADR 776700
	 # = UBA ADDRESS
	? = IDENTIFY DISKS, DSK:? = MASTER DIRECTORY

	E.  FOLLOWING THIS YOU MAY SELECT AND
	    RUN YOUR PROGRAMS.

	SMMON CMD -

	ALL COMMANDS END WITH A (CR).
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 7                                                                     SEQ 0007

	COMMANDS ARE AS LISTED ABOVE PLUS IF A SINGLE PROGRAM LOAD
	IS REQUIRED, THE FILE.EXT OF THE PROGRAM MAY BE TYPED TO
	THE "CMD - " QUESTION.  ALSO IF A FILE WITH A "CMD" EXTENSION IS
	GIVEN A COMMAND LIST WILL BE PERFORMED AS IN THE "D" OPTION.  THE
	LH SWITCHES WILL NOT BE ASKED FOR AND THE "HALT ON ERROR" SWITCH
	WILL BE SET.

	THE DIAGNOSTIC MONITOR OPERATES ON A COMMAND LIST OF PROGRAMS
	WHICH IT WILL EXECUTE.  THIS LIST MAY BE READ IN FROM THE
	SELECTED LOAD DEVICE, TYPED IN FROM THE TELETYPE OR PREVIOUSLY
	READ/TYPED IN.

	1.  IF THE COMMAND LIST IS TO BE TYPED IN, TYPE "T".  THE
	    MONITOR WILL NOW ACCEPT TYPE-IN FROM THE KEYBOARD.
	    THE COMMAND LIST FORMAT IS GIVEN IN 4.0.

	2.  IF THE COMMAND LIST IS TO BE READ FROM THE LOAD DEVICE,
	    TYPE "D".  IN THIS CASE THE LH SWITCHES WILL BE REQUESTED.

	3.  TO LOAD AND RUN A SINGLE PROGRAM, TYPE "S".

	    THE SPECIFIED PROGRAM WILL BE LOADED AND RUN THE NUMBER OF
	    OF ITERATIONS AS SPECIFIED IN THE PROGRAM BY "ITERAT".

	    TO CONTINUE OPERATION OF THE SAME PROGRAM AFTER IT RETURNS
	    TO "SMMON", TYPE "G".

	4.  THE COMMAND LIST REMAINS IN CORE SO THAT IF THE MONITOR IS
	    RESTARTED THE COMMAND LIST DOES NOT HAVE TO BE READ IN AGAIN
	    UNLESS A NEW COMMAND LIST OR SINGLE PROGRAM IS SELECTED.

	    TO USE THE SAME COMMAND LIST, TYPE "I".

	THE DIAGNOSTIC MONITOR WILL NOW READ IN AND EXECUTE THE FIRST
	PROGRAM ON THE COMMAND LIST.  THE PROGRAM WILL BE ITERATED THE
	REQUESTED NUMBER OF TIMES AND CONTROL WILL THEN REVERT TO THE
	MONITOR.  THE MONITOR WILL THEN PROCEED TO THE NEXT PROGRAM
	ON THE LIST UNTIL ALL PROGRAMS REQUESTED HAVE BEEN EXECUTED.
	WHEN THE FINAL PROGRAM ON THE COMMAND LIST HAS BEEN EXECUTED,
	THE PASS COUNTER WILL BE PRINTED AND THEN THE MONITOR WILL
	RESTART WITH THE FIRST PROGRAM AGAIN.

	FOR EXAMPLE:

	SMMON PASS 000001
	SMMON PASS 000002
	ETC.
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 8                                                                     SEQ 0008


	WHEN SELECTING A SINGLE PROGRAM THE:

	"FILE.EXT -"

	QUESTION MAYBE ANSWERED WITH ONLY THE FILE NAME AS THE EXTENSION
	WILL DEFAULT TO ".A10" OR ".SAV".

	5.  TO START THE PROGRAM JUST LOADED IF THE "FILE.EXT" ENDED
	    WITH A ALTMODE, OR TO RESTART THE PROGRAM, TYPE "G".

	6.  TO LIST A FILE FROM THE SELECTED LOAD DEVICE, TYPE "L".

	7.  TO OBTAIN A DIRECTORY OF THE SELECTED LOAD DEVICE, TYPE "F".

3.4	SELECTING/RESELECTING LOAD DEVICE

	WHEN SELECTING THE LOAD DEVICE THE FOLLOWING QUESTIONS WILL BE
	ASKED:

		UBA # -
		DISK:<DIRECTORY> OR DISK:[P,PN] -

	SPECIFY TO THE UBA QUESTION EITHER THE UBA NUMBER OR THE FULL
	RH-11 BASE ADDRESS.  SPECIFY TO THE DISK QUESTION THE
	APPROPRIATE ANSWER DEPENDING UPON WHICH TYPE OF DISK PACK IS
	TO BE USED (EITHER TOPS-10 OR TOPS-20).
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 9                                                                     SEQ 0009

	THE DIAGNOSTIC MONITOR OPERATES FROM EITHER THE "DISK:[P,PN]"
	OR THE "DISK:<DIRECTORY> THAT IS SPECIFIED.
	THE DEFAULT TOPS-10 [P,PN] (PROJECT,PROGRAMMER NUMBER) IS
	6,2020. DISK PACK SEARCH WILL BE DONE FROM 'RED', 'KLAD' OR
	'DSKA' TO 'DSKO' IF NO DISK IS SPECIFIED.
	THE DEFAULT TOPS-20 <DIRECTORY> IS "DIAGNOSTICS" AND DISK
	PACK SEARCH WILL BE DONE ON PS:.

	TO USE THE DEFAULTS TYPE A (CR).

	TOPS-10 DEFAULTS:

	DISK:	'RED', 'KLAD' OR 'DSKA' TO 'DSKO'
	[P,PN]	6,10

	TOPS-20 DEFAULTS:

	DISK: 'PS'
	<DIRECTORY> DIAGNOSTICS

3.5	DIAGNOSTIC MONITOR SWITCHES

	A.  RELIAB, SW 9, UNLESS THIS SWITCH IS SET THE ITERATIONS
	    CONTAINED IN THE COMMAND LIST WILL BE REDUCED BY A FACTOR
	    OF 100(8):1 FOR FAST ITERATION OPERATION.
	    THIS PROVIDES A CONSIDERABLE REDUCTION IN THE RUN TIME OF
	    EACH PROGRAM FOR A QUICK CHECK OF HARDWARE OR FOR MARGIN
	    OPERATION.

	B.  CHAIN, SW 15, THIS INHIBITS THE TYPE-OUT OF THE "PROG.EXT"
	    OF THE PROGRAM PRIOR TO THE PROGRAM BEING LOADED AND
	    EXECUTED.

	C.  XPAND, SW 18, EXPAND CONTROL SEQUENCING
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 10                                                                    SEQ 0010

3.6	EXPANDED OPERATING PROCEDURE

	THE FOLLOWING ADDITIONAL COMMAND SEQUENCES ARE ADDED WHEN
	EITHER THE "X" COMMAND IS USED OR THE "XPAND" SWITCH IS SET
	DURING COMMAND LIST OPERATION.

	A. TYPE Y OR A FOR SPECIAL USER MODE -

		Y = SPECIAL USER MODE
		A = SPECIAL USER MODE AFTER FIRST PASS
		CR = NO

4.0	ROUTINE DESCRIPTIONS

	A. SPECIAL USER MODE

	A PSEUDO USER MODE WHERE THE DIAGNOSTIC PROGRAM BEING RUN
	IS RUN IN USER MODE (WITH PAGING, ETC.) AND THE I/O IS TRAPPED
	BACK TO THE DIAGNOSTIC MONITOR FOR PROCESSING.  PROVIDES A
	METHOD OF CHECKING USER MODE OPERATION OF THE INSTRUCTION
	DIAGNOSTIC AND RELIABILITY PROGRAMS WITHOUT HAVING TO USE A
	MONITOR AND TIMESHARING.
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 11                                                                    SEQ 0011

5.0	COMMAND LIST FORMAT

	A.  EACH COMMAND LIST INPUT FILE LINE ENDS WITH A CARRIAGE
	    RETURN (CR) AND THE FILE TERMINATES WITH A CONTROL Z (^Z).

		IF THE SPECIAL USER MODE ROUTINES ARE SELECTED A LINE
		THAT STARTS WITH A MINUS (-) SIGNIFIES THAT THE PROGRAM
		WILL RUN IN SPECIAL USER MODE.

	B.  THE FIRST ITEM IS THE PROGRAM NAME.

	C.  THE NEXT ITEM, SEPARATED BY A SPACE(TAB), IS THE NUMBER OF
	    PASSES THAT THE PROGRAM IS TO RUN.  THE PASS COUNT MAY BE
	    IN THE RANGE 0 TO 777777.  IF ZERO, THE PROGRAM WILL RUN ON
	    EVERY PASS.

	D.  THE NEXT ITEM, SEPARATED BY A SPACE(TAB), IS THE OCTAL HALF 
	    WORD, 6 DIGITS, TO BE USED BY THE PROGRAM AS THE RIGHT 
	    HALF OF THE CONSOLE DATA SWITCHES.  THIS WORD IS PASSED
	    FROM THE COMMAND LIST TO THE PROGRAM THRU "MONCTL".

	E.  THE NEXT ITEM, SEPARATED BY A SPACE(TAB), IS THE NUMBER,
	    IN OCTAL, OF ITERATIONS THE PROGRAM IS TO BE EXECUTED.  THE
	    ITERATION COUNT MAY BE IN THE RANGE 0 TO 377777.  IF ZERO,
	    ONE ITERATION IS ASSUMED.

	F.  IF A RUBOUT IS TYPED AN XXX IS TYPED OUT AND THAT LINE IS
	    IGNORED.

	G.  A SPACE TYPED-IN PERFORMS A TAB FUNCTION.

	H.  IF A "CMD" FILE IS CALLED THE NEW "CMD" FILE WILL BE SETUP
	    AS THE COMMAND LIST.

	SAMPLE COMMAND LIST:

	NAME	PASSES	RH SWS	ITERATIONS
	DSKAA	10	0	1000
	DSKAB	1	123456	200
	DSKAC	0	000001	1
	^Z
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 12                                                                    SEQ 0012

6.0	ERRORS

	A.  "CMD'S REQUIRED"

	    THE PROGRAM WAS COMMANDED TO EXECUTE THE COMMAND LIST, BUT
	    THE LIST IS EMPTY.  INPUT SOME PROGRAMS TO EXECUTE.

	B.  "PROGRAM NOT FOUND - PROG.EXT"

	    THE PROGRAM REQUESTED IS NOT ON THE LOAD DEVICE.

	C.  DISK PACK ERRORS

	    ANY DISK PACK ERRORS WILL PRINT OUT THE REASON,
	    "ERROR AT" AND THE OCTAL ADDRESS OF THE ERROR.
	    CONSULT THE LISTING FOR ERROR EXPLANATION.

	D. IF THE DIAGNOSTIC PROGRAM BEING RUN (IN SPECIAL USER MODE)
	   CAUSES AN MUUO, (NOT TRAPPED I/O) THE FOLLOWING ERROR
	   MESSAGE WILL BE PRINTED AND THE PROGRAM WILL HALT.
	   THE OPERATOR MAY EXAMINE THE USER MUUO LOCATIONS (17424 &
	   17425) TO DETERMINE THE CAUSE OF THE ERROR.

		MUUO ERROR

	E. IF THE DIAGNOSTIC PROGRAM BEING RUN (IN SPECIAL USER MODE)
	   CAUSES A TRAP (PAGE FAIL, PUSHDOWN OVERFLOW OR TRAP 3) THE
	   FOLLOWING MESSAGE WILL BE PRINTED AND THE PROGRAM WILL HALT.

		USER TRAP ERROR
				MAINDEC-10-DSQDC.TXT (SMMON)
						PAGE 13                                                                    SEQ 0013

7.0	ERROR RECOVERY

	IF THE DIAGNOSTIC MONITOR IS RUNNING IN THE MODE WHERE TITLES
	ARE NOT PRINTED AND A USER PROGRAM FAILS SUCH THAT IS NOT
	KNOWN WHICH PROGRAM FAILED, STARTING AT LOCATION 20002 WILL
	CAUSE THE TITLE TO BE PRINTED.  THE COMPUTER WILL THEN
	HALT AT LOCATION 20000.  THE OPERATOR MAY AT THIS TIME MANUALLY
	RESTART THE USER PROGRAM OR RESTART THE DIAGNOSTIC MONITOR.

	IF IT IS DESIRED TO ABORT A TEST CURRENTLY IN PROGRESS OR TO
	RESTART AT THE NEXT SEQUENTIAL PROGRAM, THE OPERATOR MAY DO SO
	BY STARTING AT LOCATION 20001.

8.0	RESTRICTIONS

	THE DIAGNOSTIC MONITOR MAY BE USED TO CALL ONLY THOSE PROGRAMS
	WHICH FOLLOW THE PRESCRIBED DIAGNOSTIC FORMATS.

	DIAGNOSTICS FORMATS

	CALLED AT LOCATION 30002.  LOCATION 30000 IS USED FOR
	STAND-ALONE STARTING OF THESE PROGRAMS AND LOCATION
	30043 "MONCTL" IS RESERVED AS THE MONITOR CONTROL WORD.

		MONCTL	LH = 0,		STAND-ALONE OPERATION
			   = -PASS COUNT, CALLED BY DIAGNOSTIC MONITOR

			RH = RIGHT HALF OF CONSOLE SWITCHES IF CALLED.


9.0	DEVICE COMMAND LIST

	A DEVICE COMMAND LIST MAY BE MADE UP IN USER MODE USING THE
	TYPED-IN FORMAT.

10.0	LISTING
		HISTORY FILE FOR SMMON                                                                                     SEQ 0014
		----------------------

---------------------------------------------------------------

CODE:		MAINDEC-10-SMMON

TITLE:		DECSYSTEM 2020 DIAGNOSTICS MONITOR

VERSION		0.3

DATE:		APRIL 1979

REASON:		UPDATED TO CORRECT A PROBLEM WITH "FREAD" AND THE CACHE.
---------------------------------------------------------------

VERSION:	0.2

DATE:		DECEMBER 1978

REASON:		UPDATED TO PROVIDE AUTOMATIC COMMAND FILE SELECTION TO 
		IMPROVE EASE OF OPERATION.  ADDED CAPABILITY OF ONE COMMAND
		LIST TO CALL ANOTHER.
		ADDED MAINTENANCE MODE OPERATION.
---------------------------------------------------------------

VERSION:	0.1

DATE:		APRIL 1978

REASON:		ORIGINAL RELEASE OF THIS PROGRAM FOR KS-10.
		ORIGINAL MARCH 1978 0.1 VERSION HAD A BUG IN THE TOPS-10
		DISK READ.
---------------------------------------------------------------
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 1             
                                                                                                                           SEQ 0015




















				   DOCUMENT
				**************
        SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^
				**************

















		    COPYRIGHT 1979
		    DIGITAL EQUIPMENT CORPORATION
		    MAYNARD, MASS. 01754

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 2             
                                                                                                                           SEQ 0016

				 TABLE OF CONTENTS
				*******************


	43	PARAMETERS

	211	CONTROL SECTION

	364	RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM

	527	COMMAND LIST PROCESSING

	572	FLNAME - FILE NAME AND CONTROL INFO INPUT

	701	EXECUTE THE INPUT COMMAND LIST

	815	EXPANDED COMMAND FORMAT SETUP

	842	SPECIAL RUN SEQUENCING

	939	SPECIAL USER MODE I/O HANDLER

	996	MESSAGE PRINTER

	1198	TELETYPE  INPUT

	1373	SPECIAL ROUTINES

	1513	PROGRAM FILE SELECTION

	1581	"SUBRTN" PROGRAM FILE READ

	1663	LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE

	1855	PROGRAM CORE AREA SETUP

	1990	TOPS-20 DEFINTIONS

	2039	FDB DEFINITIONS

	2184	TOPS20 DISK DIRECTORY PROCESS

	3048	DEVICE SELECTION

	3090	UNIBUS ADAPTER SELECTION

	3168	DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 3             
                                                                                                                           SEQ 0017

				 TABLE OF CONTENTS
				*******************


	3460	DSKLDR DISK PACK LOAD ONLY ROUTINE

	4183	STORAGE ASSIGNMENTS

	4475	SPECIAL STARTUP MESSAGES AND INITIALIZATION
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 4             
                                                                                                                           SEQ 0018
		1	MAINDEC-10-SMMON

		15	THIS PROGRAM PROVIDES THE PROGRAM LOADING CAPABILITY FOR KS-10
			DIAGNOSTICS.  PROVIDES FOR LOADING AND RUNNING SINGLE DIAGNOSTICS OR
			CHAIN EXECUTION OF A SERIES OF DIAGNOSTICS.

		19	THIS PROGRAM WILL EXECUTE KS-10 DIAGNOSTICS AND RELIABILITY
			PROGRAMS THAT ARE CAPABLE OF BEING RUN UNATTENDED.
			RUNS ON KS10 PROCESSORS

		23	IT PROVIDES FOR CONTINUOUS TESTING FOR EQUIPMENT CHECKOUT
			AND/OR FAST ITERATION OPERATION FOR MARGIN TESTING.

		26	ALSO PROVIDES SPECIAL USER MODE OPERATION FOR KS-10.

		28	COPYRIGHT 1978,1979
			DIGITAL EQUIPMENT CORPORATION
			MARLBORO, MASS. 01752

		32	JOHN R. KIRCHOFF

		*****************************************************************
	43	PARAMETERS
		*****************************************************************

		45	ACCUMULATORS

		67	COMMAND DEFINITIONS

		100	DIAGNOSTIC SPECIAL ADDRESSES

		118	SPECIAL DIAGNOSTIC START ADDRESSES

		130	SPECIAL PRE-BOOT ADDRESSES

		135	KS-10 EPT PARAMETERS

		151	PROCESSOR CONTROL BITS

		165	SWITCH ASSIGNMENTS, RH SW'S NOT USED BY CALLED PROG

		179	IO INSTRUCTIONS

		194	UNIBUS BIT NUMBERS

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 5             
                                                                                                                           SEQ 0019
		*****************************************************************
	211	CONTROL SECTION
		*****************************************************************

		233	START - STARTING ADDRESS AND CONTROL FLAGS

		251	ONETM1 - STARTUP & PROCESSOR TYPE DETERMINATION

		258	SELECT - START/RESTART INITIALIZATION

		288	SELX - DIAMON LINKAGE SETUP

		303	AUTOMATICALLY LOAD "SUBSM" AND "SMDDT"

		326	PROCESS OPERATOR COMMAND

		*****************************************************************
	364	RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM
		*****************************************************************

		479	WHAT - IDENTIFY LAST PROGRAM

		487	NAMPNT - PRINT FILE NAME AND EXTENSION

		498	SIXBP - SIX BIT PRINTER

		508	PNT16 - PRINT ASCII CHAR IN AC16

		516	CMDHLP, PRINT HELP TEXT

		*****************************************************************
	527	COMMAND LIST PROCESSING
		*****************************************************************

		529	STORED - USE INTERNAL COMMAND LIST

		535	TTYCMD - TELETYPE INPUT COMMAND LIST

		545	DEVCMD - DEVICE COMMAND LIST

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 6             
                                                                                                                           SEQ 0020
		*****************************************************************
	572	FLNAME - FILE NAME AND CONTROL INFO INPUT
		*****************************************************************

		581	FLNMLP - INPUT AND PROCESS CHARACTERS

		601	FLNAM1 - FILE NAME PROCESS

		612	PERIOD - STORE FILE NAME, GO PROCESS EXTENSION

		617	FLNAM2 - PROCESS DIGITS

		624	TTAB - FIELD SEPARATOR, STORE PREVIOUS FIELD

		631	MINUS - SET SPECIAL USER MODE

		636	SCSET - SEMICOLON, REST IS COMMENT

		641	ZEROAC - ZERO AC'S BEFORE STARTING PROGRAM

		653	COMMAND LIST FORMAT
				NAME
				EXT,,ITERATIONS	(BIT 18 SET IF SPEC USER)
				PASSES,,SWITCHES

		658	CRRTN - CR, STORE COMMAND LIST INFORMATION

		*****************************************************************
	701	EXECUTE THE INPUT COMMAND LIST
		*****************************************************************

		703	EX - INITIALIZATION

		714	EX1 - START PASS

		728	EX2 - PRINT NAME AND LOAD PROGRAM

		737	EX3 - SETUP PROGRAM OPERATION PARAMETERS

		772	RERUN1 - DISPATCH TO EXPANDED SETUP

		776	RUN - PROGRAM RUN, CLEAR PROCESSOR FOR NEXT

		791	RET - ANY MORE PROGRAMS ON COMMAND LIST

		809	EX4 - ALL FINISHED

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 7             
                                                                                                                           SEQ 0021
		*****************************************************************
	815	EXPANDED COMMAND FORMAT SETUP
		*****************************************************************

		817	CXPND - EXPANDED ALLOWED

		826	STRD3 - SPECIAL USER MODE

		*****************************************************************
	842	SPECIAL RUN SEQUENCING
		*****************************************************************

		844	XPNRUN - DETERMINE AND SETUP FOR SPECIAL OPERATIONS

		863	USRRUN - SPECIAL USER MODE RUN SEQUENCING

		879	SETUP PAGE MAP AND TRAPS

		910	USSR1 - PROGRAM COMPLETION CONTROL

		930	MUUOER & USRERR - USER ERROR REPORTING

		*****************************************************************
	939	SPECIAL USER MODE I/O HANDLER
		*****************************************************************

		980	SAXPN - STANDALONE EXPANDED RUNNING
				  SPECIAL USER AND/OR MARGINS

		*****************************************************************
	996	MESSAGE PRINTER
		*****************************************************************

		998	PNTMSG - PRINT SIXBIT MESSAGES

		1032	PNTAL - PRINT ASCII MESSAGES

		1046	PNTOCT - PRINT OCTAL NUMBERS

		1056	PNTOCS - PRINT OCTAL ZERO SUPPRESSED NUMBERS

		1066	PNTDEC - PRINT DECIMAL NUMBERS

		1076	PRINT - PRINT AN ASCII CHARACTER

		1118	MISCELLANEOUS

		1134	PNTLPT - LINE PRINTER DRIVER

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 8             
                                                                                                                           SEQ 0022
		1147	LPTOFL - LINE PRINTER OFF-LINE

		1170	TTYCHK - TELETYPE CHECK ROUTINE

		*****************************************************************
	1198	TELETYPE  INPUT
		*****************************************************************

		1200	TTICHR - INPUT A TELETYPE CHARACTER

		1208	TTYINX - CHECK FOR SPECIAL CHAR PROCESS

		1220	TTYIND - TRANSFER TO DDT

		1233	TTYINA - COMPLETE CHARACTER PROCESS

		1253	CHECK EXEC TTY FOR ^C ABORT

		1264	TTYINU - USER MODE CHARACTER INPUT

		1298	USER MODE LH SWITCHES FOR CHAIN OPERATION

		1308	TTIOCT - TELETYPE OCTAL NUMBER INPUT

		1337	READ - COMMAND FILE READ PROCESS

		1361	TTALTM - ALTMODE PROCESS

		*****************************************************************
	1373	SPECIAL ROUTINES
		*****************************************************************

		1375	SWITCH - READ CONSOLE SWITCHES

		1381	SMINT - SM10 INITIALIZATION

		1404	CTY CONTROL ROUTINES

		*****************************************************************
	1513	PROGRAM FILE SELECTION
		*****************************************************************

		1515	FSELECT - "SUBRTN" FILE SELECTION

		1522	DIAGLD - "DIAMON" FILE SELECTION

		1551	RFILE - FILE FOUND AND SETUP

		1561	FSELF - "SUBRTN" FILE FOUND RETURN

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 9             
                                                                                                                           SEQ 0023
		1570	NFERR - FILE NOT FOUND

		1577	FSELNF - "SUBRTN" FILE NOT FOUND

		*****************************************************************
	1581	"SUBRTN" PROGRAM FILE READ
		*****************************************************************

		1583	FREAD - DETERMINE READ TYPE

		1594	FREAD3 - CHARACTER READ

		1606	FREAD2 - END OF FILE

		1611	FRD36 - 36 BIT WORD READ

		1617	LDACHR - ASCII CHARACTER PROCESS

		1643	FRD8 - 8 BIT WORD READ

		*****************************************************************
	1663	LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE
		*****************************************************************

		1665	LDPROC - FORMAT CONTROL PROCESS

		1700	LDCNV - CONVERT ASCIIZED BACK INTO BITS

		1748	LDEOL - END OF LINE, CHECKSUM LOAD LINE

		1764	LDTEN - CREATE LOAD ADDRESS AND WORD COUNT

		1775	LDTENZ - CLEAR TEN CORE, JOB START TO JOB FIRST FREE

		1785	LDTEN1 - TRANSFER TEN WORDS TO MEMORY

		1817	LDDONE - COMPLETED, GO TO START ROUTINE

		1822	LDCMNT - LOAD FILE COMMENT LINE

		1829	CMNPNT - PRINT COMMENT LINE

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 10            
                                                                                                                           SEQ 0024
		*****************************************************************
	1855	PROGRAM CORE AREA SETUP
		*****************************************************************

		1857	PRGCOR - SETUP CORE ZEROING FOR ".SAV" FILES

		1905	CLRCOR - CLEAR CORE FOR DIAGNOSTIC SEGMENT
				   CLEARS CORE FROM 'JOBSA' TO 'JOBFF'

		1938	STARTQ - HERE ON TRANSFER WORD

		1968	CLOS20 - CLOSE OUT INPUT FILE, TOPS-20

		1981	DSKDIR - DISK PACK DIRECTORY ROUTINE

		*****************************************************************
	1990	TOPS-20 DEFINTIONS
		*****************************************************************

		*****************************************************************
	2039	FDB DEFINITIONS
		*****************************************************************

		2128	AC USAGE

		*****************************************************************
	2184	TOPS20 DISK DIRECTORY PROCESS
		*****************************************************************

		2186	LOOK20, FIND REQUESTED FILE

		2209	FNDIDX, MAP THE DIRECTORY INTO VIRTUAL ADR DIR

		2302	MAPDIR, READ HEADER PAGE OF DIRECTORY

		2312	GETPAG, MAP A PAGE OF THE DIRECTORY
				ENTRY	- P1/ ADDRESS TO MAP
				RETURN	- T1/ MAPPED ADDRESS

		2340	FIND, DO A PRIMARY NAME SEARCH IN A DIRECTORY

		2381	STRCMP, STRING COMPARE ROUTINE

		2402	STAOBJN, BUILD A S.T. AOBJN POINTER

		2412	MFDPNT, PRINT MASTER FILE DIRECTORY

		2430	DIRPNT, PRINT TOPS20 DIRECTORY

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 11            
                                                                                                                           SEQ 0025
		2544	DSKRD4, READ FOUR SECTORS (ONE PAGE) FROM DISK

		2595	DSKPNT, PRINT DISK PAGE JUST READ

		2642	CHKHOM, CHECK HOME BLOCK
				CTYPE/ CHANNEL #
				CUNIT/ UNIT #
				RPTYPE/ DRIVE TYPE CODE

		2699	CHOM10, CHECK TOPS-10 HOME BLOCK

		2708	RDPAGE, READ FULL TOPS-20 PAGE, 4 SECTORS

		2713	DEVID, IDENTIFY DISKS

		2761	PAKTYP, DETERMINE PACK TYPE, TOPS-10 OR TOPS-20

		2798	GETCOM, PROMPT FOR AND INPUT DESIRED DISK

		2830	FDSK, FIND SELECTED STRUCTURE AND ALL UNITS IN STRUCTURE

		2902	READXB, READ THE INDEX BLOCK
				READ INTO 27000 TO 27771
				LAST 6 LOCATIONS USED FOR LOAD LINKS
				WHICH ALLOWS A FILE TO BE MAX OF 2024. BLOCKS

		2939	GETSTR, STRING READ FROM CONSOLE

		2976	PPNIN - TOPS-10 DISK AND PROJ PROGRAMMER SPECIFICATION

		*****************************************************************
	3048	DEVICE SELECTION
		*****************************************************************

		3061	LIST1 - LIST FILES

		3066	LSTPNT - LIST FILES (ASCIZ)

		3081	DIRECT - PRINT DIRECTORY

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 12            
                                                                                                                           SEQ 0026
		*****************************************************************
	3090	UNIBUS ADAPTER SELECTION
		*****************************************************************

		3128	AUTOSL, AUTOMATICALLY SELECT LOAD DEVICE

		*****************************************************************
	3168	DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK
		*****************************************************************

		3187	RFILE1 - HERE WHEN FILE FOUND

		3211	RWORD - READ DATA WORD FROM FILE

		3245	USRINT - USER MODE INIT, SETUP MINIMUM OF 32K OF CORE

		3268	USERLD, USER MODE LOADER

		3340	URWD, USER MODE READ WORD

		3383	USLD10 - TOPS-10 USER MODE LOAD ROUTINES

		3420	SIXASC, SIXBIT TO ASCIZ STRING CONVERSION

		*****************************************************************
	3460	DSKLDR DISK PACK LOAD ONLY ROUTINE
		*****************************************************************

		3462	DEVICE BIT DEFINITIONS FOR RH11

		3483	UNIBUS DEFINITIONS

		3491	SYSTEM PARAMETERS, MUST AGREE WITH MONITOR

		3497	LOOK10 - TOPS-10 SUBROUTINE TO LOOK FOR DIRECTORY

		3552	LOOK11 - TOPS-10 SUBROUTINE TO LOOK FOR FILE

		3596	DDIR10 - TOPS-10 DISK PACK DIRECTORY ROUTINE

		3639	SRCHFD - SUBROUTINE TO SEARCH A UFD OR MFD FOR FILE & EXT
				   RIB LBN IN STR OF THE FD IN A

		3669	LBNSEL - SUBROUTINE TO SELECT CORRECT UNIT FROM LBN

		3689	SELBLK - SUBROUTINE TO SELECT NEXT BLOCK OF DATA
				   THE DATA IS FOUND USING RIB'S STARTING AT 0(S), OR
				   IF STUFF LEFT OVER FROM CURRENT RIB, VIA CLUCNT,BLKCNT,CLBN

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 13            
                                                                                                                           SEQ 0027
		3728	SETRIB - SUBROUTINE TO SETUP A RIB BLOCK AND CHECK IT

		3747	FNDUNI, FIND A PARTICULAR LOGICAL UNIT IN THE SYSTEM

		3772	HOME, DETERMINE WHETHER A UNIT EXISTS, AND IF SO,
				 READ ITS HOME BLOCK INTO THE HOME BUFFER
				 CALL SEQUENCE:
					P5/	CONTROLLER TYPE INDEX
					Q2/	UNIT NUMBER, 0-7
				  GO HOME
				  NOT THERE RETURN
				  OK	RETURN

		3805	DSKBLK - ROUTINE TO READ A BLOCK FROM THE DEVICE AND UNIT IN
				   CTYPE & CUNIT INTO THE BUFFER AT (T1)+1, FROM LOGICAL BLOCK
				   NUMBER IN P1 SKIP RETURN IF SUCCESSFUL, NON-SKIP IF ANY
				   HARDWARE ERRORS

		3817	UNIINI - INITIALIZE CONTROLLER ROUTINES

		3824	SETCHN - SUBROUTINE TO SETUP CHANNEL, THEN DISPATCH TO DEVICE
				   DEPENDENT ROUTINE

		3830	RHINIT - INITIALIZATION FOR RH11/RP04/5/6/RM03

		3878	DRVINI - INITIALIZE DRIVE PARAMETERS

		3918	RHREAD - READ ROUTINE FOR RH11/RP04/5/6/RM03
				ENTRY:	P1/ LOGICAL BLOCK NUMBER
					Q2/   DRIVE NUMBER
					P4/  MEMORY ADDRESS
				EXIT:	+1 FOR ERROR
					+2 SUCESSFUL

		3971	 SUBROUTINE TO ATTEMPT TO DO ECC CORRECTION 

		4012	DOIO, PERFORM DISK OPERATION

		4016	WAIT, WAIT FOR COMPLETION OR ERROR

		4029	RH11CH, CHANNEL TABLE FOR RH11'S

		4053	ERROR - ERROR REPORTING

		4081	NFERR1 - PROGRAM NOT FOUND ERROR

		4088	SMMON, SMMAG, SMAPT - LOAD DIAGNOSTIC MONITOR'S

		4135	ERROR REPORT MESSAGES

SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:28:49   PAGE 14            
                                                                                                                           SEQ 0028
		*****************************************************************
	4183	STORAGE ASSIGNMENTS
		*****************************************************************

		*****************************************************************
	4475	SPECIAL STARTUP MESSAGES AND INITIALIZATION
		*****************************************************************

		4477	HEADER

		4501	HELP
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 1
SMMON	MAC	11-Apr-79 13:23	                                                                                           SEQ 0029

     1					;*MAINDEC-10-SMMON
     2
     3			000000		MCNVER=0
     4			000003		DECVER=3
     5
     6						XLIST
     7						LIST
     8						LALL
     9
    10					NAME	\MCNVER,\DECVER^
    11
    12					TITLE	SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 ^
    13
    14
    15					;*THIS PROGRAM PROVIDES THE PROGRAM LOADING CAPABILITY FOR KS-10
    16					;*DIAGNOSTICS.  PROVIDES FOR LOADING AND RUNNING SINGLE DIAGNOSTICS OR
    17					;*CHAIN EXECUTION OF A SERIES OF DIAGNOSTICS.
    18
    19					;*THIS PROGRAM WILL EXECUTE KS-10 DIAGNOSTICS AND RELIABILITY
    20					;*PROGRAMS THAT ARE CAPABLE OF BEING RUN UNATTENDED.
    21					;*RUNS ON KS10 PROCESSORS
    22
    23					;*IT PROVIDES FOR CONTINUOUS TESTING FOR EQUIPMENT CHECKOUT
    24					;*AND/OR FAST ITERATION OPERATION FOR MARGIN TESTING.
    25
    26					;*ALSO PROVIDES SPECIAL USER MODE OPERATION FOR KS-10.
    27
    28					;*COPYRIGHT 1978,1979
    29					;*DIGITAL EQUIPMENT CORPORATION
    30					;*MARLBORO, MASS. 01752
    31
    32					;*JOHN R. KIRCHOFF
    33
    34	000137					LOC	137
    35	000137	000000	000003		MCNVER,,DECVER
    36
    37						NOSYM
    38
    39					;ASSEMBLE AS FOLLOWS:
    40					;	SMMON.MAC
    41
    42			026770		INLEND=26770			;COMMAND LIST END ADDRESS
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 2
SMMON	MAC	11-Apr-79 13:23		PARAMETERS                                                                         SEQ 0030

    43					SUBTTL	PARAMETERS
    44
    45					;*ACCUMULATORS
    46
    47			000001		A=	1
    48			000002		B=	2
    49			000004		W=	4
    50			000005		Q=	5
    51			000007		M=	7
    52
    53			000005		DPNTR=	5			;DISK CMD LIST INPUT POINTER
    54			000006		LET=	6			;LETTERS TYPIN FLAG
    55			000007		NAM=	7			;NAME GENERATION AC'S
    56			000010		NAM1=	10
    57			000011		NAM2=	11
    58			000012		DIGIT=	12			;DIGIT GENERATION AC'S
    59			000013		DIGITA=	13
    60			000014		DIGIT1=	14
    61			000015		DIGIT2=	15
    62			000016		IP=	16			;COMMAND INDEX POINTER
    63			000017		P=	17			;PUSHDOWN POINTER
    64
    65			000016		LDCHN=	16			;USER LOAD CHANNEL
    66
    67					;*COMMAND DEFINITIONS
    68
    69			000120		JOBSA=	120			;JOB STARTING ADDRESS
    70			000121		JOBFF=	121			;JOB FIRST FREE ADDRESS
    71			000044		JOBREL=	44			;JOB HIGHEST RELATIVE ADDRESS
    72			027772		FSELNK=	27772			;FILE SELECT LINK
    73			027773		FRDLNK=	27773			;FILE READ LINK
    74			027774		LDLNK=	27774			;LOAD LINK
    75			027775		DDTLNK=	27775			;DDT LINK
    76			027776		MODLNK=	27776			;MODE CHECK LINK
    77			027777		SUBLNK=	27777			;SUBROUTINE LINK
    78
    79			000476		CHNCMD=	476			;CHANNEL COMMAND LIST
    80
    81		260740	000000		OPDEF	GO	[PUSHJ	P,0]
    82		263740	000000		OPDEF	RTN	[POPJ	P,]
    83		261740	000000		OPDEF	PUT	[PUSH	P,0]
    84		262740	000000		OPDEF	GET	[POP	P,0]
    85		260740	021115		OPDEF	PNTMSG	[GO	$PSIX]
    86		260740	021151		OPDEF	PNTAL	[GO	TOUT]
    87		260740	021355		OPDEF	TTICHR	[GO	TTYIN]
    88		260740	021502		OPDEF	TTIOCT	[GO	TTYOCT]
    89		260740	021567		OPDEF	SWITCH	[GO	$SWITCH]
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 3
SMMON	MAC	11-Apr-79 13:23		PARAMETERS                                                                         SEQ 0031

    90
    91		264000	021611		OPDEF	CTYINI	[JSR	$TYINI]	;CTY INITIALIZATION
    92		264000	021623		OPDEF	CTYCLR	[JSR	$TYCLR]	;CTY CLEAR
    93		264000	021625		OPDEF	CTYTYI	[JSR	$CYTYI]	;CTY INPUT
    94		264000	021701		OPDEF	CTYTYO	[JSR	$CYTYO]	;CTY OUTPUT
    95		264000	021636		OPDEF	KTYTYI	[JSR	$KYTYI]	;CTY INPUT
    96		264000	021714		OPDEF	KTYTYO	[JSR	$KYTYO]	;CTY OUTPUT
    97		264000	021647		OPDEF	BTYTYI	[JSR	$BYTYI]	;CTY INPUT
    98		264000	021727		OPDEF	BTYTYO	[JSR	$BYTYO]	;CTY OUTPUT
    99
   100					;*DIAGNOSTIC SPECIAL ADDRESSES
   101
   102			001005		SUBRTN=	1005			;"SUBRTN" IDENTIFICATION WORD
   103			030000		DIAGNOS=30000			;DIAGNOSTIC START ADDRESS
   104			030002		DIAGMN=	30002			;PROG START ADDRESS
   105			030012		RETURN=	30012			;RETURN ADR STORAGE
   106			030031		$EMODE=	30031			;EXEC ALLOWED
   107			030032		$UMODE=	30032			;USER ALLOWED
   108			030024		ITRCNT=	30024			;PROG ITERATIONS
   109			030043		MONCTL=	30043			;DIAG MON CONTROL FLAG
   110			030022		RANDBS=	30022			;PROG RANDOM BASE
   111			030042		MONFLG=	30042			;SPECIAL USER CONTROL FLAG
   112			030044		MONTEN=	30044			;LOADED BY DIAMON FLAG
   113			030055		MARGIN=	30055			;KI10 MARGIN WORD
   114			010000		SMDDT=	10000			;SMDDT PROGRAM START ADDRESS
   115
   116			020000		.LOC=	20000			;STARTING ADDRESS
   117
   118					;*SPECIAL DIAGNOSTIC START ADDRESSES
   119
   120			030004		SFSTRT=	30004			;SPECIAL FEATURE START
   121			030005		PFSTRT=	30005			;POWER FAIL RESTART
   122			030006		REENTR=	30006			;PROGRAM REENTER START
   123			030007		DDT=	30007			;DDT START
   124			030013		START1=	30013			;START 1
   125			030014		START2=	30014			;START 2
   126			030015		START3=	30015			;START 3
   127			030016		START4=	30016			;START 4
   128			030017		START5=	30017			;START 5
   129
   130					;*SPECIAL PRE-BOOT ADDRESSES
   131
   132			000036		MSRH=	36			;RH-11 BASE ADDRESS
   133			000037		MSDRIVE=37			;DRIVE NUMBER
   134			000040		MSSLAVE=40			;MAGTAPE SLAVE NUMBER
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 4
SMMON	MAC	11-Apr-79 13:23		PARAMETERS                                                                         SEQ 0032

   135					;*KS-10 EPT PARAMETERS
   136
   137			000440		$STD=	440			;PDP-10 DIAGNOSTIC START ADDRESS
   138			000441		$DDT=	441			;PDP-10 DDT START ADDRESS
   139			000442		$STL=	442			;PDP-10 LOADER START ADDRESS
   140			000443		$STM=	443			;PDP-10 MONITOR START ADDRESS
   141
   142			000031		$80STAT=31			;8080 STATUS WORD
   143		000020	000000		$80MM=	1B13			;MAINTENANCE MODE BIT
   144			000032		$80CIW=	32			;8080 TO KS-10 INPUT WORD
   145			000033		$80COW=	33			;KS-10 TO 8080 OUTPUT WORD
   146			000034		$80KIW=	34			;8080 TO KS-10 INPUT WORD - KLINIK
   147			000035		$80KOW=	35			;KS-10 TO 8080 OUTPUT WORD - KLINIK
   148			000400		$80CHR=	1B27			;CHAR AVAIL BIT
   149			012000		$80INT=	012000			;INTERRUPT 8080
   150
   151					;*PROCESSOR CONTROL BITS
   152
   153			200000		IOCLR=	200000			;APR, I/O CLEAR
   154			010000		PICLR=	10000			;PI, PI CLEAR
   155			010000		USERF=	10000			;USER MODE FLAG
   156
   157			020000		TRPENB=	020000			;ENABLE TRAPS
   158			010000		USERF=	10000			;USER MODE FLAG
   159			000010		PAG=	010			;PAGING I/O DEVICE CODE
   160			000424		MUUO=	424			;MUUO STORAGE
   161			000425		MUUOPC=	425			;C(PC) OF MUUO STORAGE
   162			017000		UPMP=	17000			;USER PAGE MAP PAGE
   163			140000		LLDUSB=	140000			;LOAD SM10 USER BASE REGISTER
   164
   165					;*SWITCH ASSIGNMENTS, RH SW'S NOT USED BY CALLED PROG
   166
   167			020000		LPTSW=	20000			;SW 4, PRINT ON LPT
   168			002000		ERSTOP=	2000			;SW 7, STOP ON ERROR
   169			000400		RELIAB=	400			;SW 9, RELIABILITY MODE
   170			000004		CHAIN=	4			;SW 15, INHIBIT PROGRAM TITLE PRINT
   171
   172			400000		XPAND=	400000			;SW 18, EXPANDED CONTROL SEQUENCING
   173
   174					DEFINE	MSG	(ARG),<[SIXBIT\ARG'_\]>
   175
   176					DEFINE	PMSG	(ARG),<
   177						MOVEI	[SIXBIT\ARG'_\]
   178						PNTMSG>
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 5
SMMON	MAC	11-Apr-79 13:23		PARAMETERS                                                                         SEQ 0033

   179					;*IO INSTRUCTIONS
   180
   181		710000	000000		OPDEF	TIOE	[710B8]
   182		711000	000000		OPDEF	TION	[711B8]
   183		712000	000000		OPDEF	RDIO	[712B8]
   184		713000	000000		OPDEF	WRIO	[713B8]
   185		714000	000000		OPDEF	BSIO	[714B8]
   186		715000	000000		OPDEF	BCIO	[715B8]
   187		720000	000000		OPDEF	TIOEB	[720B8]
   188		721000	000000		OPDEF	TIONB	[721B8]
   189		722000	000000		OPDEF	RDIOB	[722B8]
   190		723000	000000		OPDEF	WRIOB	[723B8]
   191		724000	000000		OPDEF	BSIOB	[724B8]
   192		725000	000000		OPDEF	BCIOB	[725B8]
   193
   194					;*UNIBUS BIT NUMBERS
   195
   196			000001		EBIT0==1
   197			000002		EBIT1==2
   198			000004		EBIT2==4
   199			000010		EBIT3==10
   200			000020		EBIT4==20
   201			000040		EBIT5==40
   202			000100		EBIT6==100
   203			000200		EBIT7==200
   204			000400		EBIT8==400
   205			001000		EBIT9==1000
   206			002000		EBIT10==2000
   207			004000		EBIT11==4000
   208			010000		EBIT12==10000
   209			020000		EBIT13==20000
   210			040000		EBIT14==40000
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 6
SMMON	MAC	11-Apr-79 13:23		CONTROL SECTION                                                                    SEQ 0034

   211					SUBTTL	CONTROL SECTION
   212
   213	000421					LOC	421
   214	000421	255 00 0 00 000000 		JFCL			;ARITHMETIC TRAP NO-OP
   215	000422	254 04 0 00 000422 		HALT	.		;PUSHDOWN TRAP ERROR
   216	000423	254 04 0 00 000423 		HALT	.		;TRAP 3 TRAP ERROR
   217
   218	000430					LOC	430
   219	000430	000000	000432			432
   220	000431	000000	000433			433
   221	000432	254 04 0 00 000432 		HALT	.		;MUUO NO TRAP ERROR
   222	000433	254 04 0 00 000433 		HALT	.		;MMUO TRAP ERROR
   223
   224	000442					LOC	442
   225	000442	254 00 0 00 020000 		JRST	START		;"STL" START ADDRESS
   226
   227	000502					LOC	502
   228	000502	000000	000503			503
   229	000503	254 04 0 00 000503 		HALT	.		;PAGE FAIL ERROR
   230
   231	020000					LOC	.LOC
   232
   233					;*START - STARTING ADDRESS AND CONTROL FLAGS
   234
   235	020000	254 00 0 00 020024 	START:	JRST	SELECT
   236	020001	254 00 0 00 020645 	RESTRT:	JRST	RUN
   237	020002	254 00 0 00 020324 	TITLE:	JRST	WHAT
   238	020003	254 00 0 00 020644 	RERUN:	JRST	RERUN1
   239	020004	254 00 0 00 020020 	ONETIM:	JRST	ONETM1
   240	020005	000000	000000		ITERAT:	0
   241	020006	000000	000000		USER:	0
   242	020007	000000	000000		CONSW:	0			;USER MODE SWITCHES
   243	020010	000000	000000		SMFLG:	0
   244	020011	000000	000000		KAIFLG:	0
   245	020012	000000	000000		SUSERF:	0
   246	020013	000000	000000		PASS:	0
   247	020014	000000	000000		ONCE:	0
   248	020015	000000	000000		RANBAS:	0
   249	020016	000000	000000		TTYSPD:	0			;TTY BAUD RATE
   250	020017	000000	000000		MONTYP:	0			;0 = TOPS-10, -1 = TOPS-20
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 7
SMMON	MAC	11-Apr-79 13:23		CONTROL SECTION                                                                    SEQ 0035

   251					;*ONETM1 - STARTUP & PROCESSOR TYPE DETERMINATION
   252
   253	020020	200 00 0 00 000044 	ONETM1:	MOVE	JOBREL		;SAVE "DIAMON" MAX SIZE
   254	020021	202 00 0 00 026035 		MOVEM	SVJBREL#
   255	020022	402 00 0 00 020014 		SETZM	ONCE
   256	020023	402 00 0 00 020007 		SETZM	CONSW
   257
   258					;*SELECT - START/RESTART INITIALIZATION
   259
   260	020024	402 00 0 00 020006 	SELECT:	SETZM	USER
   261	020025	265 00 0 00 020026 		JSP	0,.+1
   262	020026	603 00 0 00 010000 		TLNE	0,USERF
   263	020027	476 00 0 00 020006 		SETOM	USER		;USER MODE
   264	020030	332 00 0 00 020006 		SKIPE	USER
   265	020031	254 00 0 00 020035 		JRST	.+4
   266	020032	7 004 20 0 00 010000 		CONO	PI,PICLR
   267	020033	7 000 20 0 00 200000 		CONO	APR,IOCLR
   268	020034	7 010 20 0 00 000000 		CONO	PAG,0		;PAGING CLEAR
   269	020035	200 17 0 00 025363 		MOVE	P,[-40,,PLIST]
   270	020036	402 00 0 00 020010 		SETZM	SMFLG
   271	020037	402 00 0 00 020011 		SETZM	KAIFLG
   272	020040	200 01 0 00 025364 		MOVE	1,[1,,1]
   273	020041	251 01 0 00 000001 		BLT	1,1
   274	020042	316 01 0 00 025364 		CAMN	1,[1,,1]	;BLT CHANGES AC ON SM10
   275	020043	254 04 0 00 020043 		HALT	.		;WRONG PROCESSOR
   276	020044	476 00 0 00 020010 		SETOM	SMFLG
   277	020045	260 17 0 00 021571 		GO	SMINT		;KS-10, INIT TTY
   278	020046	332 00 0 00 020006 		SKIPE	USER
   279	020047	260 17 0 00 024064 		GO	USRINT		;USER INITIALIZATION
   280	020050	200 01 0 00 026044 		MOVE	1,PGNAME
   281	020051	332 00 0 00 020006 		SKIPE	USER
   282	020052	260 17 0 00 020230 		GO	SNAME		;USER, SET NAME BACK
   283	020053	332 00 0 00 020014 		SKIPE	ONCE
   284	020054	254 00 0 00 020060 		JRST	SELX		;NOT FIRST TIME
   285	020055	201 00 0 00 026336 		MOVEI	HEADER
   286	020056	260 17 0 00 021151 		PNTAL			;PRINT HEADER
   287	020057	260 17 0 00 023736 		GO	AUTOSL		;SELECT LOAD DEVICE
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 8
SMMON	MAC	11-Apr-79 13:23		CONTROL SECTION                                                                    SEQ 0036

   288					;*SELX - DIAMON LINKAGE SETUP
   289
   290	020060	201 00 0 00 030001 	SELX:	MOVEI	30001		;SETUP $START AS
   291	020061	202 00 0 00 027774 		MOVEM	27774		;LOAD LINK
   292	020062	201 00 0 00 021745 		MOVEI	FSELECT		;SETUP FILE SELECT LINK
   293	020063	202 00 0 00 027772 		MOVEM	FSELNK
   294	020064	201 00 0 00 022023 		MOVEI	FREAD		;SETUP FILE READ LINK
   295	020065	202 00 0 00 027773 		MOVEM	FRDLNK
   296	020066	402 00 0 00 026105 		SETZM	PGMGO
   297	020067	200 00 0 00 025365 		MOVE	[PGMGO,,PGMGO+1]
   298	020070	251 00 0 00 026122 		BLT	CNSFLG
   299	020071	200 00 0 00 025366 		MOVE	[SIXBIT/SUBRTN/]
   300	020072	316 00 0 00 001005 		CAMN	SUBRTN		;IS "SUBRTN" LOADED ?
   301	020073	254 00 0 00 020116 		JRST	SELX1		;YES
   302
   303					;*AUTOMATICALLY LOAD "SUBSM" AND "SMDDT"
   304
   305	020074	336 00 0 00 020006 		SKIPN	USER
   306	020075	254 00 0 00 020102 		JRST	.+5		;EXEC
   307						MOVEI	IP,[SIXBIT/SUBUSR/
   308	020076	201 16 0 00 025367 			    0]
   309	020077	260 17 0 00 021754 		GO	DIAGLD-2	;USER, LOAD "SUBUSR"
   310	020100	254 00 0 00 020116 		JRST	SELX1		;CAN'T FIND, ALREADY REPORTED
   311	020101	254 00 0 00 020105 		JRST	.+4
   312						MOVEI	IP,[SIXBIT/SUBSM/
   313	020102	201 16 0 00 025371 			    0]
   314	020103	260 17 0 00 021754 		GO	DIAGLD-2	;EXEC, LOAD "SUBSM"
   315	020104	254 00 0 00 020116 		JRST	SELX1		;CAN'T FIND, ALREADY REPORTED
   316						MOVEI	IP,[SIXBIT/SMDDT/
   317	020105	201 16 0 00 025373 			    0]
   318	020106	260 17 0 00 021754 		GO	DIAGLD-2	;LOAD DDT ALSO
   319	020107	254 00 0 00 020116 		JRST	SELX1
   320	020110	201 00 0 00 000441 		MOVEI	$DDT
   321	020111	202 00 0 00 000074 		MOVEM	74		;SET USER DDT START ADDRESS
   322	020112	332 00 0 00 020006 		SKIPE	USER
   323	020113	332 00 0 00 020017 		SKIPE	MONTYP
   324	020114	334 00 0 00 000000 		SKIPA
   325	020115	047 00 0 00 000002 		SETDDT
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 9
SMMON	MAC	11-Apr-79 13:23		CONTROL SECTION                                                                    SEQ 0037

   326					;*PROCESS OPERATOR COMMAND
   327
   328	020116	476 00 0 00 020014 	SELX1:	SETOM	ONCE
   329	020117	200 17 0 00 025363 		MOVE	P,[-40,,PLIST]
   330	020120	201 16 0 00 026167 		MOVEI	IP,SELSTR
   331	020121	260 17 0 00 021257 		GO	CRLF1		;TYPE A CARRIAGE AND LINE FEED
   332	020122	200 01 0 00 026044 		MOVE	A,PGNAME	;GET PROGRAM NAME
   333	020123	260 17 0 00 020341 		GO	SIXBP		;PRINT IT
   334	020124	476 00 0 00 025735 		SETOM	ASKSW#
   335	020125	205 00 0 00 002000 		MOVSI	ERSTOP
   336	020126	202 00 0 00 020007 		MOVEM	CONSW		;SET TO STOP ON ERROR IN CHAIN MODE
   337						PMSG	< CMD - >^
   338	020127	201 00 0 00 025375 		MOVEI	[SIXBIT\ CMD - _\]
   339	020130	260 17 0 00 021115 		PNTMSG^
   340	020131	260 17 0 00 020424 		GO	FLNAME		;GET COMMAND OR FILE NAME
   341	020132	255 00 0 00 000000 		JFCL
   342	020133	201 16 0 00 026167 		MOVEI	IP,SELSTR
   343	020134	402 00 0 00 000001 		SETZM	1
   344	020135	200 00 0 16 000000 		MOVE	(IP)
   345
   346	020136	336 00 0 01 020235 	CMDLP:	SKIPN	CMDLST(1)	;CHECK FOR SPECIAL COMMANDS
   347	020137	344 01 0 00 020145 		AOJA	1,CMDLP1	;NOT IN FIRST PART OF LIST
   348	020140	316 00 0 01 020235 		CAMN	CMDLST(1)
   349	020141	254 00 0 00 020143 		JRST	CMDEX		;FOUND
   350	020142	344 01 0 00 020136 		AOJA	1,CMDLP
   351
   352	020143	200 00 0 01 020271 	CMDEX:	MOVE	0,CMDADR(1)	;GET START ADDRESS
   353	020144	254 00 1 00 000000 		JRST	@0		;GO TO COMMAND ROUTINE
   354
   355	020145	336 00 0 01 020235 	CMDLP1:	SKIPN	CMDLST(1)	;SPECIAL START COMMANDS
   356	020146	254 00 0 00 020207 		JRST	RUNPR2		;NOT FOUND, MUST BE PROGRAM NAME
   357	020147	316 00 0 01 020235 		CAMN	CMDLST(1)
   358	020150	254 00 0 00 020152 		JRST	CMDEX1		;FOUND
   359	020151	344 01 0 00 020145 		AOJA	1,CMDLP1
   360
   361	020152	200 00 0 01 020271 	CMDEX1:	MOVE	0,CMDADR(1)	;GET SPECIAL START ADDRESS
   362	020153	542 00 0 00 022452 		HRRM	SADR		;SET FOR START
   363	020154	254 00 0 00 022440 		JRST	SADRQ		;GO START
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 10
SMMON	MAC	11-Apr-79 13:23		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0038

   364					SUBTTL	RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM
   365
   366	020155				RUNPRG:	PMSG	<^FILE.EXT - >^
   367	020155	201 00 0 00 025377 		MOVEI	[SIXBIT\^FILE.EXT - _\]
   368	020156	260 17 0 00 021115 		PNTMSG^
   369	020157	201 16 0 00 026335 		MOVEI	IP,INLIST
   370	020160	260 17 0 00 020424 		GO	FLNAME		;GET FILE NAME
   371	020161	255 00 0 00 000000 		JFCL
   372
   373	020162	201 16 0 00 026335 	RUNPR1:	MOVEI	IP,INLIST
   374	020163	554 00 0 16 000000 		HLRZ	(IP)
   375	020164	306 00 0 00 470000 		CAIN	(SIXBIT/G/)
   376	020165	254 00 0 00 022440 		JRST	SADRQ
   377	020166	336 00 0 16 000000 		SKIPN	(IP)
   378	020167	254 00 0 00 020677 		JRST	EX4		;NO PROGRAM TO RUN
   379
   380	020170	510 00 0 16 000001 		HLLZ	1(IP)		;GET EXT
   381	020171	326 00 0 00 020176 		JUMPN	.+5		;EXT SUPPLIED ?
   382	020172	336 00 0 00 026107 		SKIPN	DEVFLG		;DOING DEVICE COMMAND FILE ?
   383	020173	254 00 0 00 020176 		JRST	.+3		;NO
   384	020174	205 00 0 00 435544 		MOVSI	(SIXBIT/CMD/)	;YES, USE "CMD" AS DEFAULT EXT
   385	020175	502 00 0 16 000001 		HLLM	1(IP)
   386
   387	020176	202 16 0 00 026127 		MOVEM	IP,SAVEIP
   388	020177	476 00 0 00 026105 		SETOM	PGMGO		;SET LOAD & GO FLAG
   389
   390	020200	260 17 0 00 021756 		GO	DIAGLD		;GO GET PROGRAM
   391	020201	254 00 0 00 020203 		JRST	.+2
   392
   393	020202	254 00 0 00 020401 		JRST	DEVCM1		;MUST BE DEVICE COMMAND LIST
   394	020203	336 00 0 00 026116 		SKIPN	ALTMFLG		;ALTMODE SELECTION ?
   395	020204	254 00 0 00 020024 		JRST	SELECT		;NO, ERROR
   396	020205	402 00 0 00 026116 		SETZM	ALTMFLG
   397	020206	254 00 0 00 020155 		JRST	RUNPRG		;YES, ASK FOR NEXT PROGRAM
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 11
SMMON	MAC	11-Apr-79 13:23		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0039

   398
   399	020207	200 00 0 00 026167 	RUNPR2:	MOVE	SELSTR
   400	020210	202 00 0 00 026335 		MOVEM	INLIST
   401	020211	200 00 0 00 026170 		MOVE	SELSTR+1
   402	020212	202 00 0 00 026336 		MOVEM	INLIST+1
   403	020213	402 00 0 00 026340 		SETZM	INLIST+3
   404	020214	254 00 0 00 020162 		JRST	RUNPR1
   405
   406	020215	260 17 0 00 021355 	TT2CHR:	TTICHR			;INPUT 1ST CHAR
   407	020216	306 00 0 00 000012 		CAIN	12
   408	020217	263 17 0 00 000000 		RTN			;ONLY A CR
   409	020220	202 00 0 00 000006 		MOVEM	0,LET
   410	020221	260 17 0 00 021355 		TTICHR			;INPUT 2ND CHAR, SHOULD BE CR
   411	020222	302 00 0 00 000012 		CAIE	12
   412	020223	254 00 0 00 020024 		JRST	SELECT		;WASN'T
   413	020224	200 00 0 00 000006 		MOVE	0,LET		;GET 1ST CHAR BACK
   414	020225	254 00 0 00 020415 		JRST	CPOPJ1		;SKIP RETURN
   415
   416	020226	260 17 0 00 023641 	SELXR:	GO	DEVSEL		;SELECT DEVICE
   417	020227	254 00 0 00 020060 		JRST	SELX
   418
   419	020230	332 00 0 00 020017 	SNAME:	SKIPE	MONTYP
   420	020231	104 00 0 00 000210 		SETNM
   421	020232	336 00 0 00 020017 		SKIPN	MONTYP
   422	020233	047 01 0 00 000043 		SETNAM	T1,
   423	020234	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 12
SMMON	MAC	11-Apr-79 13:23		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0040

   424	020235	50 00 00 00 00 00 	CMDLST:	SIXBIT/H/
   425	020236	51 00 00 00 00 00 		SIXBIT/I/
   426	020237	64 00 00 00 00 00 		SIXBIT/T/
   427	020240	44 00 00 00 00 00 		SIXBIT/D/
   428	020241	63 00 00 00 00 00 		SIXBIT/S/
   429	020242	46 00 00 00 00 00 		SIXBIT/F/
   430	020243	54 00 00 00 00 00 		SIXBIT/L/
   431	020244	47 00 00 00 00 00 		SIXBIT/G/
   432	020245	70 00 00 00 00 00 		SIXBIT/X/
   433	020246	62 00 00 00 00 00 		SIXBIT/R/
   434	020247	63 55 55 57 56 00 		SIXBIT/SMMON/
   435	020250	63 55 55 41 47 00 		SIXBIT/SMMAG/
   436	020251	63 55 41 60 64 00 		SIXBIT/SMAPT/
   437	020252	000000	000000			0
   438	020253	63 64 44 00 00 00 		SIXBIT/STD/
   439	020254	63 64 54 00 00 00 		SIXBIT/STL/
   440	020255	63 64 55 00 00 00 		SIXBIT/STM/
   441	020256	44 44 64 00 00 00 		SIXBIT/DDT/
   442	020257	63 64 41 62 64 00 		SIXBIT/START/
   443	020260	63 46 63 64 62 64 		SIXBIT/SFSTRT/
   444	020261	60 46 63 64 62 64 		SIXBIT/PFSTRT/
   445	020262	62 45 45 00 00 00 		SIXBIT/REE/
   446	020263	63 64 41 62 64 21 		SIXBIT/START1/
   447	020264	63 64 41 62 64 22 		SIXBIT/START2/
   448	020265	63 64 41 62 64 23 		SIXBIT/START3/
   449	020266	63 64 41 62 64 24 		SIXBIT/START4/
   450	020267	63 64 41 62 64 25 		SIXBIT/START5/
   451	020270	000000	000000			0
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 13
SMMON	MAC	11-Apr-79 13:23		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0041

   452	020271	000000	020355		CMDADR:	CMDHLP
   453	020272	000000	020365			STORED
   454	020273	000000	020370			TTYCMD
   455	020274	000000	020376			DEVCMD
   456	020275	000000	020155			RUNPRG
   457	020276	000000	023670			DIRECT
   458	020277	000000	023652			LIST1
   459	020300	000000	022440			SADRQ
   460	020301	000000	021103			SAXPN
   461	020302	000000	020226			SELXR
   462	020303	000000	025252			SMMON
   463	020304	000000	025254			SMMAG
   464	020305	000000	025256			SMAPT
   465	020306	000000	000000			0
   466	020307	000000	000440			$STD
   467	020310	000000	000442			$STL
   468	020311	000000	000443			$STM
   469	020312	000000	000441			$DDT
   470	020313	000000	030000			DIAGNOS
   471	020314	000000	030004			SFSTRT
   472	020315	000000	030005			PFSTRT
   473	020316	000000	030006			REENTR
   474	020317	000000	030013			START1
   475	020320	000000	030014			START2
   476	020321	000000	030015			START3
   477	020322	000000	030016			START4
   478	020323	000000	030017			START5
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 14
SMMON	MAC	11-Apr-79 13:23		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0042

   479					;*WHAT - IDENTIFY LAST PROGRAM
   480
   481	020324	200 17 0 00 025363 	WHAT:	MOVE	P,[-40,,PLIST]
   482	020325	260 17 0 00 021257 		GO	CRLF1
   483	020326	200 16 0 00 026127 		MOVE	IP,SAVEIP
   484	020327	260 17 0 00 020331 		GO	NAMPNT		;PRINT TITLE OF LAST PROGRAM
   485	020330	254 00 0 00 020000 		JRST	START
   486
   487					;*NAMPNT - PRINT FILE NAME AND EXTENSION
   488
   489	020331	200 01 0 16 000000 	NAMPNT:	MOVE	A,(IP)
   490	020332	260 17 0 00 020341 		GO	SIXBP
   491	020333	201 00 0 00 000056 		MOVEI	"."
   492	020334	260 17 0 00 021211 		GO	PRINT
   493	020335	510 01 0 16 000001 		HLLZ	A,1(IP)
   494	020336	260 17 0 00 020341 		GO	SIXBP
   495	020337	260 17 0 00 021257 		GO	CRLF1
   496	020340	263 17 0 00 000000 		RTN
   497
   498					;*SIXBP - SIX BIT PRINTER
   499
   500	020341	201 02 0 00 000000 	SIXBP:	MOVEI	B,0		;SO DON'T SHIFT IN JUNK
   501	020342	402 00 0 00 000000 		SETZM	F
   502	020343	246 00 0 00 000006 		LSHC	F,6		;GET A SIXBIT CHAR
   503	020344	271 00 0 00 000040 		ADDI	F,40		;MAKE IT ASCII
   504	020345	260 17 0 00 021211 		GO	PRINT		;TYPE IT
   505	020346	326 01 0 00 020341 		JUMPN	A,SIXBP		;IF ANY MORE, TYPE THEM
   506	020347	263 17 0 00 000000 	CPOPJ:	RTN
   507
   508					;*PNT16 - PRINT ASCII CHAR IN AC16
   509
   510	020350	261 17 0 00 000000 	PNT16:	PUT	0
   511	020351	200 00 0 00 000016 		MOVE	0,16
   512	020352	260 17 0 00 021211 		GO	PRINT
   513	020353	262 17 0 00 000000 		GET	0
   514	020354	263 17 0 00 000000 		RTN
   515
   516					;*CMDHLP, PRINT HELP TEXT
   517
   518	020355	332 00 0 00 025773 	CMDHLP:	SKIPE	HLPCLR#		;HAS HELP BEEN OVERWRITTEN ?
   519	020356	254 00 0 00 020362 		JRST	.+4		;YES
   520	020357	201 00 0 00 026354 		MOVEI	HELP		;PRINT HELP
   521	020360	260 17 0 00 021151 		PNTAL
   522	020361	254 00 0 00 020000 		JRST	START
   523						PMSG	<NO HELP>^
   524	020362	201 00 0 00 025402 		MOVEI	[SIXBIT\NO HELP_\]
   525	020363	260 17 0 00 021115 		PNTMSG^
   526	020364	254 00 0 00 020000 		JRST	START
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 15
SMMON	MAC	11-Apr-79 13:23		COMMAND LIST PROCESSING                                                            SEQ 0043

   527					SUBTTL	COMMAND LIST PROCESSING
   528
   529					;*STORED - USE INTERNAL COMMAND LIST
   530
   531	020365	402 00 0 00 026111 	STORED:	SETZM	LPTFLG
   532	020366	260 17 0 00 020702 		GO	CXPND		;SETUP EXPANDED OPERATIONS
   533	020367	254 00 0 00 020553 		JRST	EX
   534
   535					;*TTYCMD - TELETYPE INPUT COMMAND LIST
   536
   537	020370				TTYCMD:	PMSG	<^NAME]PASSES]RH SWS]ITERATIONS^>^
   538	020370	201 00 0 00 025404 		MOVEI	[SIXBIT\^NAME]PASSES]RH SWS]ITERATIONS^_\]
   539	020371	260 17 0 00 021115 		PNTMSG^
   540	020372	201 16 0 00 026335 	CMNCMD:	MOVEI	IP,INLIST
   541	020373	260 17 0 00 020424 		GO	FLNAME
   542	020374	254 00 0 00 020373 		JRST	.-1		;INPUT TILL ^Z
   543	020375	254 00 0 00 020365 		JRST	STORED
   544
   545					;*DEVCMD - DEVICE COMMAND LIST
   546
   547	020376	402 00 0 00 025735 	DEVCMD:	SETZM	ASKSW
   548	020377	476 00 0 00 026107 		SETOM	DEVFLG		;SET DEVICE CMD LIST FLAG
   549	020400	254 00 0 00 020155 		JRST	RUNPRG		;GET COMMAND FILE
   550
   551	020401	402 00 0 00 026107 	DEVCM1:	SETZM	DEVFLG		;CLEAR DEVICE CMD LIST FLAG
   552	020402	476 00 0 00 026110 		SETOM	DINFLG		;SET "READ" FOR DEVICE IN
   553	020403	402 00 0 00 026105 		SETZM	PGMGO		;CLEAR FOR COMMAND OPERATION
   554	020404	200 05 0 00 025412 		MOVE	DPNTR,[POINT 7,31000]
   555	020405	254 00 0 00 020372 		JRST	CMNCMD		;GO RUN COMMAND LIST
   556
   557	020406	200 13 0 00 025412 	DEVCM2:	MOVE	13,[POINT 7,31000]
   558	020407	260 17 0 00 022051 		GO	LDACHR		;READ A CHAR
   559	020410	254 00 0 00 020413 		JRST	.+3		;EOF
   560	020411	136 16 0 00 000013 		IDPB	16,13
   561	020412	254 00 0 00 020407 		JRST	.-3
   562	020413	201 16 0 00 000177 		MOVEI	16,177		;FLAG END OF INPUT
   563	020414	136 16 0 00 000013 		IDPB	16,13
   564	020415	350 00 0 17 000000 	CPOPJ1:	AOS	(P)		;DONE, RETURN TO "DEVCM1"
   565	020416	263 17 0 00 000000 		RTN
   566
   567	020417	134 00 0 00 000005 	DEVRD:	ILDB	0,DPNTR		;GET CHARS FROM 31000 UP
   568	020420	322 00 0 00 020417 		JUMPE	0,.-1		;IGNORE NULLS
   569	020421	306 00 0 00 000177 		CAIN	0,177
   570	020422	254 00 0 00 020415 		JRST	CPOPJ1		;177 BYTE SIGNIFIES END
   571	020423	254 00 0 00 021534 		JRST	READ1		;FOR "READ"
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 16
SMMON	MAC	11-Apr-79 13:23		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0044

   572					SUBTTL	FLNAME - FILE NAME AND CONTROL INFO INPUT
   573
   574	020424	402 00 0 00 026123 	FLNAME:	SETZM	SCFLAG
   575	020425	402 00 0 00 020012 		SETZM	SUSERF
   576	020426	661 06 0 00 400000 		TLO	LET,400000	;SET LETTERS FLAG
   577	020427	400 10 0 00 000000 		SETZ	NAM1,		;CLEAR CONTROLS
   578	020430	403 07 0 00 000012 		SETZB	NAM,DIGIT
   579	020431	201 11 0 00 000036 		MOVEI	NAM2,^D30	;SETUP CHAR POSITIONING
   580
   581					;*FLNMLP - INPUT AND PROCESS CHARACTERS
   582
   583	020432	260 17 0 00 021531 	FLNMLP:	GO	READ
   584	020433	306 00 0 00 000032 		CAIN	32
   585	020434	254 00 0 00 020415 		JRST	CPOPJ1		;^Z, LOGICAL END OF INPUT
   586	020435	306 00 0 00 000012 		CAIN	12
   587	020436	254 00 0 00 020512 		JRST	CRRTN		;CR, (ACTUALLY LF) COMPLETES LINE
   588	020437	332 00 0 00 026123 		SKIPE	SCFLAG
   589	020440	254 00 0 00 020432 		JRST	FLNMLP		;<;> TYPED, IGNORE REST OF LINE
   590	020441	306 00 0 00 000073 		CAIN	73
   591	020442	254 00 0 00 020500 		JRST	SCSET		;<;>
   592	020443	306 00 0 00 000177 		CAIN	177
   593	020444	254 00 0 00 020507 		JRST	RBOUT		;RUBOUT
   594	020445	306 00 0 00 000055 		CAIN	55		;MINUS IS SPECIAL USER MODE FLAG
   595	020446	254 00 0 00 020476 		JRST	MINUS
   596	020447	306 00 0 00 000011 		CAIN	11
   597	020450	254 00 0 00 020472 		JRST	TTAB		;TAB IS FIELD SEPARATOR
   598	020451	322 00 0 00 020432 		JUMPE	FLNMLP		;REJECT 0'S
   599	020452	325 06 0 00 020466 		JUMPGE	LET,FLNAM2	;JUMP IF ASSEMBLE DIGITS
   600
   601					;*FLNAM1 - FILE NAME PROCESS
   602
   603	020453	306 00 0 00 000056 	FLNAM1:	CAIN	56
   604	020454	254 00 0 00 020464 		JRST	PERIOD		;DOT, NAME.EXT SEPARATOR
   605	020455	275 00 0 00 000040 		SUBI	40		;CONVERT TO 6BIT
   606	020456	321 00 0 00 020507 		JUMPL	RBOUT		;CNTL CHAR, TREAT AS RUBOUT
   607	020457	322 00 0 00 020507 		JUMPE	RBOUT		;0 IS ERROR
   608	020460	242 00 0 11 000000 		LSH	0,(NAM2)	;POSITION CHAR
   609	020461	434 07 0 00 000000 		IOR	NAM,0		;MERGE INTO NAME
   610	020462	275 11 0 00 000006 		SUBI	NAM2,6		;CHANGE POSITIONING FOR NEXT
   611	020463	254 00 0 00 020432 		JRST	FLNMLP		;GET NEXT CHAR
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 17
SMMON	MAC	11-Apr-79 13:23		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0045

   612					;*PERIOD - STORE FILE NAME, GO PROCESS EXTENSION
   613
   614	020464	202 07 0 00 000010 	PERIOD:	MOVEM	NAM,NAM1	;SAVE FILE NAME
   615	020465	254 00 0 00 020430 		JRST	FLNAME+4	;PROCESS EXTENTION
   616
   617					;*FLNAM2 - PROCESS DIGITS
   618
   619	020466	200 13 0 00 000000 	FLNAM2:	MOVE	DIGITA,0
   620	020467	242 13 0 00 000041 		LSH	DIGITA,^D33
   621	020470	246 12 0 00 000003 		LSHC	DIGIT,3		;ASSEMBLE DIGITS
   622	020471	254 00 0 00 020432 		JRST	FLNMLP
   623
   624					;*TTAB - FIELD SEPARATOR, STORE PREVIOUS FIELD
   625
   626	020472	202 14 0 00 000015 	TTAB:	MOVEM	DIGIT1,DIGIT2
   627	020473	202 12 0 00 000014 		MOVEM	DIGIT,DIGIT1
   628	020474	403 06 0 00 000012 		SETZB	LET,DIGIT
   629	020475	254 00 0 00 020431 		JRST	FLNMLP-1
   630
   631					;*MINUS - SET SPECIAL USER MODE
   632
   633	020476	476 00 0 00 020012 	MINUS:	SETOM	SUSERF		;MINUS, SET SPECIAL USER FLAG
   634	020477	254 00 0 00 020427 		JRST	FLNAME+3
   635
   636					;*SCSET - SEMICOLON, REST IS COMMENT
   637
   638	020500	476 00 0 00 026123 	SCSET:	SETOM	SCFLAG
   639	020501	254 00 0 00 020432 		JRST	FLNMLP
   640
   641					;*ZEROAC - ZERO AC'S BEFORE STARTING PROGRAM
   642
   643	020502	205 16 0 00 777762 	ZEROAC:	MOVSI	16,-16
   644	020503	402 00 0 16 000000 		SETZM	0(16)
   645	020504	253 16 0 00 020503 		AOBJN	16,.-1
   646	020505	402 00 0 00 000016 		SETZM	16
   647	020506	263 17 0 00 000000 		RTN
   648
   649	020507				RBOUT:	PMSG	<XXX^>^
   650	020507	201 00 0 00 025413 		MOVEI	[SIXBIT\XXX^_\]
   651	020510	260 17 0 00 021115 		PNTMSG^
   652	020511	254 00 0 00 020424 		JRST	FLNAME
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 18
SMMON	MAC	11-Apr-79 13:23		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0046

   653					;*COMMAND LIST FORMAT
   654					;*	NAME
   655					;*	EXT,,ITERATIONS	(BIT 18 SET IF SPEC USER)
   656					;*	PASSES,,SWITCHES
   657
   658					;*CRRTN - CR, STORE COMMAND LIST INFORMATION
   659
   660	020512	402 00 0 00 026123 	CRRTN:	SETZM	SCFLAG
   661	020513	336 00 0 00 000007 		SKIPN	NAM
   662	020514	322 10 0 00 020424 		JUMPE	NAM1,FLNAME	;REPEAT IF JUST CR
   663	020515	336 00 0 00 000010 		SKIPN	NAM1		;NAME ONLY ?
   664	020516	250 07 0 00 000010 		EXCH	NAM,NAM1	;YES
   665	020517	202 10 0 16 000000 		MOVEM	NAM1,(IP)	;STORE THE FILE NAME
   666	020520	512 07 0 16 000001 		HLLZM	NAM,1(IP)	;AND EXTENSION
   667	020521	620 12 0 00 400000 		TRZ	DIGIT,400000
   668	020522	332 00 0 00 020012 		SKIPE	SUSERF
   669	020523	660 12 0 00 400000 		TRO	DIGIT,400000	;SET SPEC USER BIT
   670	020524	542 12 0 16 000001 		HRRM	DIGIT,1(IP)	;ITERATIONS (IF SPEC USER BIT 18 SET)
   671	020525	504 14 0 00 000015 		HRL	DIGIT1,DIGIT2	;PASSES,,SWITCHES
   672	020526	202 14 0 16 000002 		MOVEM	DIGIT1,2(IP)
   673	020527	271 16 0 00 000003 		ADDI	IP,3		;INCREMENT POINTER
   674	020530	402 00 0 16 000000 	CRRTN1:	SETZM	(IP)		;CLEAR LAST WORD
   675	020531	301 16 0 00 026354 		CAIL	IP,HELP		;OVERWRITTEN HELP MESSAGE
   676	020532	476 00 0 00 025773 		SETOM	HLPCLR		;YES, NO MORE HELP AVAILABLE
   677	020533	305 16 0 00 026770 		CAIGE	IP,INLEND
   678	020534	263 17 0 00 000000 		RTN
   679
   680	020535				FULL:	PMSG	<^?CMDLST TOO LONG>^
   681	020535	201 00 0 00 025414 		MOVEI	[SIXBIT\^?CMDLST TOO LONG_\]
   682	020536	260 17 0 00 021115 		PNTMSG^
   683	020537	254 00 0 00 020000 		JRST	START
   684
   685	020540				EXNOE:	PMSG	<^%USER ONLY>^
   686	020540	201 00 0 00 025417 		MOVEI	[SIXBIT\^%USER ONLY_\]
   687	020541	260 17 0 00 021115 		PNTMSG^
   688	020542	254 00 0 00 020545 		JRST	EXBAD
   689
   690	020543				EXNOU:	PMSG	<^%EXEC ONLY>^
   691	020543	201 00 0 00 025421 		MOVEI	[SIXBIT\^%EXEC ONLY_\]
   692	020544	260 17 0 00 021115 		PNTMSG^
   693
   694	020545	201 00 0 00 000001 	EXBAD:	MOVEI	0,1		;SET CMD LIST PASS COUNT TO INHIBIT
   695	020546	506 00 0 16 000002 		HRLM	0,2(IP)		;FURTHER REQUEST OF THIS PROGRAM
   696						PMSG	<^%UNCHAINABLE->^
   697	020547	201 00 0 00 025423 		MOVEI	[SIXBIT\^%UNCHAINABLE-_\]
   698	020550	260 17 0 00 021115 		PNTMSG^
   699	020551	260 17 0 00 020331 		GO	NAMPNT		;INCORRECT FORMAT
   700	020552	254 00 0 00 020661 		JRST	RET
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 19
SMMON	MAC	11-Apr-79 13:23		EXECUTE THE INPUT COMMAND LIST                                                     SEQ 0047

   701					SUBTTL	EXECUTE THE INPUT COMMAND LIST
   702
   703					;*EX - INITIALIZATION
   704
   705	020553	402 00 0 00 020013 	EX:	SETZM	PASS
   706	020554	260 17 0 00 021257 		GO	CRLF1
   707	020555	336 00 0 00 025735 		SKIPN	ASKSW
   708	020556	260 17 0 00 021474 		GO	LHSWS		;GET LH CONTROL SWITCHES
   709	020557	476 00 0 00 025735 		SETOM	ASKSW
   710	020560	402 00 0 00 026130 	EX5:	SETZM	RUNCTL
   711	020561	201 16 0 00 026335 		MOVEI	IP,INLIST	;INIT LIST POINTER
   712	020562	350 00 0 00 020013 		AOS	PASS
   713
   714					;*EX1 - START PASS
   715
   716	020563	202 16 0 00 026127 	EX1:	MOVEM	IP,SAVEIP
   717	020564	402 00 0 00 020012 		SETZM	SUSERF
   718	020565	336 00 0 16 000000 		SKIPN	(IP)
   719	020566	254 00 0 00 020677 		JRST	EX4		;NO PROGRAMS TO RUN
   720	020567	554 01 0 16 000002 		HLRZ	1,2(IP)		;GET PASSES TO RUN
   721	020570	322 01 0 00 020573 		JUMPE	1,.+3		;0, RUN ALWAYS
   722	020571	315 01 0 00 020013 		CAMGE	1,PASS		;RUN FOR REQUESTED PASSES
   723	020572	254 00 0 00 020661 		JRST	RET
   724	020573	200 00 0 16 000001 		MOVE	1(IP)		;PROG RUN IN SPECIAL
   725	020574	602 00 0 00 400000 		TRNE	400000
   726	020575	476 00 0 00 020012 		SETOM	SUSERF		;USER MODE ?
   727
   728					;*EX2 - PRINT NAME AND LOAD PROGRAM
   729
   730	020576	260 17 0 00 021567 	EX2:	SWITCH			;READ SWITCHES
   731	020577	607 00 0 00 000004 		TLNN	0,CHAIN		;INHIBIT TITLE PRINT ?
   732	020600	260 17 0 00 020331 		GO	NAMPNT
   733	020601	260 17 0 00 021426 		GO	CKTTY		;CHECK TTY FOR ^C ABORT
   734	020602	260 17 0 00 021754 		GO	DIAGLD-2	;GET THE PROGRAM
   735	020603	254 00 0 00 020661 		JRST	RET		;PROGRAM NOT FOUND
   736	020604	260 17 0 00 021426 		GO	CKTTY		;CHECK TTY FOR ^C ABORT
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 20
SMMON	MAC	11-Apr-79 13:23		EXECUTE THE INPUT COMMAND LIST                                                     SEQ 0048

   737					;*EX3 - SETUP PROGRAM OPERATION PARAMETERS
   738
   739	020605	332 00 0 00 025740 	EX3:	SKIPE	CMDFLG
   740	020606	254 00 0 00 020401 		JRST	DEVCM1		;REQUESTED NEW COMMAND LIST
   741	020607	200 16 0 00 026127 		MOVE	IP,SAVEIP
   742	020610	550 01 0 16 000001 		HRRZ	1,1(IP)		;GET THE ITERATION COUNT
   743	020611	620 01 0 00 400000 		TRZ	1,400000	;CLEAR SPEC USER, IF SET
   744	020612	260 17 0 00 021567 		SWITCH			;READ SWITCHES
   745	020613	607 00 0 00 000400 		TLNN	0,RELIAB	;RELIABILITY MODE ?
   746	020614	242 01 0 00 777772 		LSH	1,-6		;NO, 100(8):1 REDUCTION
   747	020615	336 00 0 00 000001 		SKIPN	1
   748	020616	271 01 0 00 000001 		ADDI	1,1		;ALWAYS ALLOW 1 ITERATION
   749	020617	202 01 0 00 020005 		MOVEM	1,ITERAT
   750	020620	210 00 0 00 020013 		MOVN	PASS
   751	020621	504 00 0 16 000002 		HRL	2(IP)		;SETUP MONITR CONTROL
   752	020622	200 01 0 00 030002 		MOVE	1,30002
   753	020623	312 01 0 00 025426 		CAME	1,[JRST	@27774]
   754	020624	254 00 0 00 020545 		JRST	EXBAD		;INCORRECT FORMAT
   755	020625	332 00 0 00 020006 		SKIPE	USER		;IN USER MODE ?
   756	020626	254 00 0 00 020632 		JRST	EXUSR		;YES
   757
   758	020627	332 00 0 00 030031 	EXEXEC:	SKIPE	$EMODE		;EXEC, THIS PROG RUN IN EXEC ?
   759	020630	254 00 0 00 020635 		JRST	EXNEW		;YES
   760	020631	254 00 0 00 020540 		JRST	EXNOE		;NO
   761	020632	332 00 0 00 030032 	EXUSR:	SKIPE	$UMODE		;USER, THIS PROGRAM RUN IN USER ?
   762	020633	254 00 0 00 020635 		JRST	EXNEW		;YES
   763	020634	254 00 0 00 020543 		JRST	EXNOU		;NO
   764
   765	020635	476 00 0 00 026130 	EXNEW:	SETOM	RUNCTL
   766	020636	206 00 0 00 030043 		MOVSM	MONCTL		;LH = -PASS COUNT, RH = RH SWITCHES
   767	020637	200 00 0 00 020015 		MOVE	0,RANBAS	;GENERATE PROG RANDOM BASE NUMBER
   768	020640	270 00 0 00 025427 		ADD	0,[165742335216]
   769	020641	241 00 0 00 777777 		ROT	0,-1
   770	020642	447 00 0 00 020015 		EQVB	0,RANBAS
   771	020643	202 00 0 00 030022 		MOVEM	0,RANDBS	;PUT IN PROG DATA AREA
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 21
SMMON	MAC	11-Apr-79 13:23		EXECUTE THE INPUT COMMAND LIST                                                     SEQ 0049

   772					;*RERUN1 - DISPATCH TO EXPANDED SETUP
   773
   774	020644	254 00 0 00 020722 	RERUN1:	JRST	XPNRUN
   775
   776					;*RUN - PROGRAM RUN, CLEAR PROCESSOR FOR NEXT
   777
   778	020645	332 00 0 00 020006 	RUN:	SKIPE	USER
   779	020646	254 00 0 00 020656 		JRST	.+^D8
   780	020647	264 00 0 00 021647 		BTYTYI
   781	020650	254 00 0 00 020654 		JRST	.+4
   782	020651	254 04 0 00 020651 		HALT	.
   783	020652	306 00 0 00 000003 		CAIN	0,003
   784	020653	254 00 0 00 020000 		JRST	START		;CONTROL C
   785	020654	7 004 20 0 00 010000 		CONO	PI,PICLR
   786	020655	7 000 20 0 00 200000 		CONO	APR,IOCLR
   787	020656	200 17 0 00 025363 		MOVE	P,[-40,,PLIST]
   788	020657	200 16 0 00 026127 		MOVE	IP,SAVEIP
   789	020660	260 17 0 00 021571 		GO	SMINT		;CLEAR SM
   790
   791					;*RET - ANY MORE PROGRAMS ON COMMAND LIST
   792
   793	020661	271 16 0 00 000003 	RET:	ADDI	IP,3		;INCREMENT POINTER TO NEXT COMMAND
   794	020662	332 00 0 16 000000 		SKIPE	(IP)
   795	020663	254 00 0 00 020563 		JRST	EX1		;RUN NEXT PROGRAM
   796	020664	336 00 0 00 026130 		SKIPN	RUNCTL		;ANY PROGRAMS RUN THIS PASS ?
   797	020665	254 00 0 00 020677 		JRST	EX4		;NO
   798	020666	260 17 0 00 021257 		GO	CRLF1		;PRINT A CARRIAGE RETURN AND LINE FEED
   799	020667	200 01 0 00 026044 		MOVE	A,PGNAME	;GET PROGRAM NAME
   800	020670	260 17 0 00 020341 		GO	SIXBP		;PRINT IT
   801						PMSG	< PASS >^
   802	020671	201 00 0 00 025430 		MOVEI	[SIXBIT\ PASS _\]
   803	020672	260 17 0 00 021115 		PNTMSG^
   804	020673	200 00 0 00 020013 		MOVE	PASS		;PRINT PASS COUNTER
   805	020674	260 17 0 00 021202 		GO	PNTDEC
   806	020675	260 17 0 00 021257 		GO	CRLF1
   807	020676	254 00 0 00 020560 		JRST	EX5
   808
   809					;*EX4 - ALL FINISHED
   810
   811	020677				EX4:	PMSG	<^CMD'S REQUIRED>^
   812	020677	201 00 0 00 025432 		MOVEI	[SIXBIT\^CMD'S REQUIRED_\]
   813	020700	260 17 0 00 021115 		PNTMSG^
   814	020701	254 00 0 00 020024 		JRST	SELECT
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 22
SMMON	MAC	11-Apr-79 13:23		EXPANDED COMMAND FORMAT SETUP                                                      SEQ 0050

   815					SUBTTL	EXPANDED COMMAND FORMAT SETUP
   816
   817					;*CXPND - EXPANDED ALLOWED
   818
   819	020702	332 00 0 00 020006 	CXPND:	SKIPE	USER
   820	020703	263 17 0 00 000000 		RTN			;NO EXPANDED FEATURES IN USER MODE
   821
   822	020704	260 17 0 00 021567 	CXPND1:	SWITCH
   823	020705	606 00 0 00 400000 		TRNN	XPAND		;ALLOW EXPANDED FEATURES ?
   824	020706	263 17 0 00 000000 		RTN			;NO
   825
   826					;*STRD3 - SPECIAL USER MODE
   827
   828	020707				STRD3:	PMSG	<^Y OR A FOR SPECIAL USER MODE - >^
   829	020707	201 00 0 00 025435 		MOVEI	[SIXBIT\^Y OR A FOR SPECIAL USER MODE - _\]
   830	020710	260 17 0 00 021115 		PNTMSG^
   831	020711	260 17 0 00 020215 		GO	TT2CHR
   832	020712	254 00 0 00 020721 		JRST	STRD4		;CR, NO SPECIAL USER
   833	020713	306 00 0 00 000131 		CAIN	"Y"
   834	020714	477 00 0 00 026120 		SETOB	0,USRFLG	;IF Y SET FLAG
   835	020715	306 00 0 00 000101 		CAIN	"A"		;A, USER AFTER 1ST PASS
   836	020716	254 00 0 00 020720 		JRST	STRD3A
   837	020717	325 00 0 00 020707 		JUMPGE	0,STRD3		;OTHER IS GOOF
   838
   839	020720	202 00 0 00 026120 	STRD3A:	MOVEM	0,USRFLG	;USRFLG + ='S
   840									;SPECIAL USER AFTER 1ST PASS
   841	020721	263 17 0 00 000000 	STRD4:	RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 23
SMMON	MAC	11-Apr-79 13:23		SPECIAL RUN SEQUENCING                                                             SEQ 0051

   842					SUBTTL	SPECIAL RUN SEQUENCING
   843
   844					;*XPNRUN - DETERMINE AND SETUP FOR SPECIAL OPERATIONS
   845
   846	020722	200 00 0 00 020005 	XPNRUN:	MOVE	ITERAT
   847	020723	202 00 0 00 026041 		MOVEM	USRITR#
   848
   849	020724	332 00 0 00 020006 	XPNRN1:	SKIPE	USER
   850	020725	254 00 0 00 020730 		JRST	XPNRN2		;USER MODE
   851	020726	332 00 0 00 026120 		SKIPE	USRFLG
   852	020727	254 00 0 00 020737 		JRST	USRRUN		;SPECIAL USER MODE OPERATION
   853
   854	020730	200 00 0 00 020005 	XPNRN2:	MOVE	0,ITERAT
   855	020731	202 00 0 00 030024 		MOVEM	0,ITRCNT
   856	020732	201 00 0 00 021012 		MOVEI	USSR2
   857	020733	202 00 0 00 030012 		MOVEM	RETURN
   858
   859	020734	260 17 0 00 020502 	XPNRN3:	GO	ZEROAC
   860	020735	402 00 0 00 000017 		SETZM	17
   861	020736	254 00 0 00 030002 		JRST	DIAGMN		;GO TO PROGRAM
   862
   863					;*USRRUN - SPECIAL USER MODE RUN SEQUENCING
   864
   865	020737	336 00 0 00 020012 	USRRUN:	SKIPN	SUSERF		;ALLOW SPECIAL USER ?
   866	020740	254 00 0 00 020730 		JRST	XPNRN2		;NO, RUN IN EXEC
   867	020741	201 00 0 00 000001 		MOVEI	1
   868	020742	202 00 0 00 020005 		MOVEM	ITERAT		;RETURN TO DIAMON AFTER EACH PASS
   869	020743	337 00 0 00 026120 		SKIPG	USRFLG		;USRFLG - ='S RUN ALL
   870	020744	254 00 0 00 020750 		JRST	.+4		;PASSES
   871	020745	200 02 0 00 020013 		MOVE	2,PASS		;USRFLG + AND PASS 1 ='S
   872	020746	306 02 0 00 000001 		CAIN	2,1		;RUN IN EXEC MODE
   873	020747	254 00 0 00 020730 		JRST	XPNRN2
   874	020750	200 00 0 00 020005 		MOVE	ITERAT
   875	020751	202 00 0 00 030024 		MOVEM	ITRCNT
   876	020752	402 00 0 00 030042 		SETZM	MONFLG		;CLEAR MONFLG
   877	020753	205 01 0 00 777400 		MOVSI	1,-400		;SETUP USER PAGE MAP
   878	020754	200 00 0 00 025443 		MOVE	0,[557776,,557777]
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 24
SMMON	MAC	11-Apr-79 13:23		SPECIAL RUN SEQUENCING                                                             SEQ 0052

   879					;*SETUP PAGE MAP AND TRAPS
   880
   881	020755	270 00 0 00 025444 		ADD	0,[2,,2]
   882	020756	202 00 0 01 017000 		MOVEM	0,UPMP(1)
   883	020757	253 01 0 00 020755 		AOBJN	1,.-2
   884	020760	200 00 0 00 025445 		MOVE	0,[UPMP+160,,UPMP+400]	;SET EPPM SAME AS USER 340-377
   885	020761	251 00 0 00 017417 		BLT	0,UPMP+417
   886	020762	200 00 0 00 025446 		MOVE	0,[JSR USRERR]
   887	020763	202 00 0 00 017420 		MOVEM	0,UPMP+420
   888	020764	202 00 0 00 017422 		MOVEM	0,UPMP+422
   889	020765	202 00 0 00 017423 		MOVEM	0,UPMP+423
   890	020766	205 00 0 00 255000 		MOVSI	0,(JFCL)
   891	020767	202 00 0 00 017421 		MOVEM	0,UPMP+421
   892	020770	201 00 0 00 021030 		MOVEI	0,MUUOER
   893	020771	202 00 0 00 017430 		MOVEM	0,UPMP+430
   894	020772	202 00 0 00 017431 		MOVEM	0,UPMP+431
   895	020773	202 00 0 00 017432 		MOVEM	0,UPMP+432
   896	020774	202 00 0 00 017433 		MOVEM	0,UPMP+433
   897	020775	201 00 0 00 021036 		MOVEI	0,MUUOH		;SETUP FOR HANDLER
   898	020776	202 00 0 00 017434 		MOVEM	0,UPMP+434
   899	020777	202 00 0 00 017435 		MOVEM	0,UPMP+435
   900	021000	202 00 0 00 017436 		MOVEM	0,UPMP+436
   901	021001	202 00 0 00 017437 		MOVEM	0,UPMP+437
   902	021002	260 17 0 00 021015 		GO	PAGSM		;SM10
   903	021003	254 02 1 00 021004 		JRSTF	@.+1
   904	021004	010000	021005			USERF,,.+1		;ENTER USER MODE
   905	021005	254 01 0 00 021006 		JRST	1,.+1		;ENTRY
   906	021006	201 00 0 00 021011 		MOVEI	USSR1
   907	021007	202 00 0 00 030012 		MOVEM	RETURN
   908	021010	254 00 0 00 020734 		JRST	XPNRN3		;GO TO PROGRAM
   909
   910					;*USSR1 - PROGRAM COMPLETION CONTROL
   911
   912	021011	077000	000000		USSR1:	77B8			;MUUO 77, RETURN TO EXEC MODE
   913	021012	332 00 0 00 020006 	USSR2:	SKIPE	USER
   914	021013	254 00 0 00 020001 		JRST	RESTRT		;USER MODE, COMPLETED
   915	021014	254 00 0 00 021022 		JRST	USSR3
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 25
SMMON	MAC	11-Apr-79 13:23		SPECIAL RUN SEQUENCING                                                             SEQ 0053

   916	021015	201 00 0 00 021033 	PAGSM:	MOVEI	0,USRERR+1
   917	021016	202 00 0 00 017427 		MOVEM	0,UPMP+427
   918	021017	7 010 20 0 00 020000 		CONO	PAG,TRPENB
   919	021020	7 010 14 0 00 025447 		DATAO	PAG,[LLDUSB,,400000!<UPMP_-^D9>]
   920	021021	263 17 0 00 000000 		RTN
   921
   922	021022	7 010 20 0 00 020000 	USSR3:	CONO	PAG,TRPENB
   923	021023	7 010 14 0 00 025450 		DATAO	PAG,[LLDUSB,,400000]
   924
   925	021024	332 00 0 00 020012 	USSR4:	SKIPE	SUSERF		;RUNNING SPECIAL USER ?
   926	021025	376 00 0 00 026041 		SOSN	USRITR		;YES, FINISHED USER ITERATIONS ?
   927	021026	254 00 0 00 020001 		JRST	RESTRT		;FINISHED ALL ITERATIONS
   928	021027	254 00 0 00 020724 		JRST	XPNRN1		;NOT FINISHED, CONTINUE
   929
   930					;*MUUOER & USRERR - USER ERROR REPORTING
   931
   932	021030	201 00 0 00 025451 	MUUOER:	MOVEI	MSG	<^?MUUO ERROR^>^[SIXBIT\^?MUUO ERROR^_\]^
   933	021031	254 00 0 00 021034 		JRST	.+3
   934
   935	021032	000000	000000		USRERR:	0
   936	021033	201 00 0 00 025454 		MOVEI	MSG	<^?USER TRAP ERROR^>^[SIXBIT\^?USER TRAP ERROR^_\]^
   937	021034	260 17 0 00 021115 		PNTMSG
   938	021035	254 04 0 00 020000 		HALT	START
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 26
SMMON	MAC	11-Apr-79 13:23		SPECIAL USER MODE I/O HANDLER                                                      SEQ 0054

   939					SUBTTL	SPECIAL USER MODE I/O HANDLER
   940
   941	021036	202 00 0 00 025733 	MUUOH:	MOVEM	0,ACS0#		;SAVE AC0 AND AC1
   942	021037	202 01 0 00 025734 		MOVEM	1,ACS1#
   943	021040	554 01 0 00 017424 		HLRZ	1,UPMP+MUUO	;GET MUUO INSTRUCTION FIELD
   944	021041	242 01 0 00 777767 		LSH	1,-^D9
   945	021042	306 01 0 00 000257 		CAIN	1,257
   946	021043	254 00 0 00 021046 		JRST	EXC		;IF MAP, DO AS MUUO FOR SM10
   947	021044	200 01 0 00 017424 		MOVE	1,UPMP+MUUO	;GET MUUO
   948	021045	325 01 0 00 021071 		JUMPGE	1,JRSTX		;A JRST, JEN OR MUUO
   949	021046	200 01 0 00 025734 	EXC:	MOVE	1,ACS1		;RESTORE AC1
   950	021047	256 00 0 00 017424 		XCT	UPMP+MUUO	;EXECUTE
   951	021050	334 00 0 00 000000 		SKIPA
   952	021051	350 00 0 00 017425 		AOS	UPMP+MUUOPC	;INC RETURN IF CONSO, CONSZ SKIP
   953	021052	202 01 0 00 025734 	EXC1:	MOVEM	1,ACS1		;RESAVE AC1
   954	021053	254 00 0 00 021064 		JRST	EXC4
   955	021054	200 01 0 00 017425 	EXC5:	MOVE	1,UPMP+MUUOPC	;SETUP RETURN
   956	021055	661 01 0 00 010000 		TLO	1,USERF
   957	021056	502 01 0 00 021062 		HLLM	1,EXC2		;SETUP FLAGS
   958	021057	542 01 0 00 021063 		HRRM	1,EXC3		;SETUP RETURN PC
   959	021060	200 01 0 00 025734 		MOVE	1,ACS1		;RESTORE AC1
   960	021061	254 02 1 00 021062 		JRSTF	@.+1		;RESTORE FLAGS, GO TO USER
   961	021062	000000	021063		EXC2:	0,,.+1
   962	021063	254 01 0 00 000000 	EXC3:	JRST	1,0		;ENTRY
   963
   964	021064	7 010 24 0 00 000001 	EXC4:	CONI	PAG,1
   965	021065	660 01 0 00 020000 		TRO	1,TRPENB
   966	021066	7 010 20 0 01 000000 		CONO	PAG,(1)
   967	021067	7 010 14 0 00 025447 		DATAO	PAG,[LLDUSB,,400000!<UPMP_-^D9>]
   968	021070	254 00 0 00 021054 		JRST	EXC5
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 27
SMMON	MAC	11-Apr-79 13:23		SPECIAL USER MODE I/O HANDLER                                                      SEQ 0055

   969	021071	603 01 0 00 700000 	JRSTX:	TLNE	1,700000
   970	021072	254 00 0 00 021077 		JRST	JRSTX1
   971	021073	641 01 0 00 077000 		TLC	1,077000
   972	021074	643 01 0 00 077000 		TLCE	1,077000
   973	021075	254 00 0 00 021030 		JRST	MUUOER		;INCORRECT MUUO
   974	021076	254 00 0 00 021012 		JRST	USSR2		;MUUO 77, RETURN TO DIAG MON
   975	021077	603 01 0 00 000200 	JRSTX1:	TLNE	1,200
   976	021100	254 04 1 00 017425 		HALT	@UPMP+MUUOPC	;HALT, POINTING TO ACTUAL HALT
   977	021101	254 10 0 00 021102 		JRST	10,.+1		;JEN, DISMISS INTERRUPT
   978	021102	254 00 0 00 021052 		JRST	EXC1
   979
   980					;*SAXPN - STANDALONE EXPANDED RUNNING
   981					;*	  SPECIAL USER AND/OR MARGINS
   982
   983	021103	332 00 0 00 020006 	SAXPN:	SKIPE	USER
   984	021104	254 00 0 00 020024 		JRST	SELECT		;ILLEGAL IN USER MODE
   985	021105	476 00 0 00 020005 		SETOM	ITERAT		;RUN PROGRAM FOREVER
   986	021106	260 17 0 00 021567 		SWITCH
   987	021107	505 00 0 00 777777 		HRLI	-1
   988	021110	202 00 0 00 030043 		MOVEM	MONCTL		;LH = -PASS CNT, RH = RH SWS
   989
   990	021111	260 17 0 00 020707 		GO	STRD3		;SETUP 	EXPANDED FEATURES
   991
   992	021112	332 00 0 00 026120 		SKIPE	USRFLG		;IF SPECIAL USER WAS SELECTED
   993	021113	476 00 0 00 020012 		SETOM	SUSERF		;SET FLAG TO RUN THAT WAY
   994
   995	021114	254 00 0 00 020722 		JRST	XPNRUN		;GO RUN PROGRAM
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 28
SMMON	MAC	11-Apr-79 13:23		MESSAGE PRINTER                                                                    SEQ 0056

   996					SUBTTL	MESSAGE PRINTER
   997
   998					;*PNTMSG - PRINT SIXBIT MESSAGES
   999
  1000	021115	261 17 0 00 000002 	$PSIX:	PUT	2
  1001	021116	261 17 0 00 000003 		PUT	3
  1002	021117	261 17 0 00 000004 		PUT	4
  1003	021120	550 04 0 00 000000 		HRRZ	4,0		;MESSAGE ADDRESS
  1004
  1005	021121	201 03 0 00 000006 	$PSIX1:	MOVEI	3,6		;6 CHARS PER 6BIT WORD
  1006	021122	200 01 0 04 000000 		MOVE	1,(4)		;GET FIRST/NEXT WORD OF MESSAGE
  1007
  1008	021123	400 02 0 00 000000 	$PSIX2:	SETZ	2,
  1009	021124	245 01 0 00 000006 		ROTC	1,6		;C(AC2)= CHAR TO BE PRINTED
  1010	021125	306 02 0 00 000077 		CAIN	2,77
  1011	021126	254 00 0 00 021144 		JRST	$PSIX5		;"BACKARROW", DONE
  1012	021127	306 02 0 00 000076 		CAIN	2,76
  1013	021130	254 00 0 00 021137 		JRST	$PSIX4		;"UPARROW", CR/LF
  1014	021131	306 02 0 00 000075 		CAIN	2,75
  1015	021132	201 02 0 00 000151 		MOVEI	2,151		;"BRACKET", CHANGE TO TAB
  1016	021133	201 00 0 02 000040 		MOVEI	0,40(2)		;CHANGE TO ASCII
  1017	021134	260 17 0 00 021211 		GO	PRINT		;PRINT CHAR
  1018	021135	366 03 0 00 021123 	$PSIX3:	SOJN	3,$PSIX2	;PRINTED ALL CHARS FROM THIS WORD ?
  1019	021136	344 04 0 00 021121 		AOJA	4,$PSIX1	;YES, DO NEXT WORD
  1020
  1021	021137	201 00 0 00 000015 	$PSIX4:	MOVEI	15
  1022	021140	260 17 0 00 021211 		GO	PRINT		;PRINT CR
  1023	021141	201 00 0 00 000012 		MOVEI	12
  1024	021142	260 17 0 00 021211 		GO	PRINT		;PRINT LF
  1025	021143	254 00 0 00 021135 		JRST	$PSIX3
  1026
  1027	021144	262 17 0 00 000004 	$PSIX5:	GET	4
  1028	021145	262 17 0 00 000003 		GET	3
  1029	021146	262 17 0 00 000002 		GET	2
  1030	021147	263 17 0 00 000000 		RTN
  1031
  1032					;*PNTAL - PRINT ASCII MESSAGES
  1033
  1034	021150	354 00 0 00 021152 	TOUTA:	AOSA	.+2		;INCREMENT MSG ADDRESS
  1035	021151	542 00 0 00 021152 	TOUT:	HRRM	0,.+1		;C(0) = ADR OF MSG
  1036	021152	200 01 0 00 000000 		MOVE	1,0		;GET CHARACTERS
  1037	021153	660 01 0 00 000001 		TRO	1,1		;SET FLAG BIT
  1038	021154	246 00 0 00 000007 		LSHC	0,7		;CHAR TO 0
  1039	021155	405 00 0 00 000177 		ANDI	177		;MASK
  1040	021156	336 00 0 00 000000 		SKIPN	0		;IF NULL, EXIT
  1041	021157	263 17 0 00 000000 		RTN
  1042	021160	260 17 0 00 021211 		GO	PRINT		;PRINT C(0)
  1043	021161	312 01 0 00 025460 		CAME	1,[400000,,0]
  1044	021162	254 00 0 00 021154 		JRST	TOUT+3		;GET NEXT CHAR IN WORD
  1045	021163	254 00 0 00 021150 		JRST	TOUTA		;GET NEXT WORD
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 29
SMMON	MAC	11-Apr-79 13:23		MESSAGE PRINTER                                                                    SEQ 0057

  1046					;*PNTOCT - PRINT OCTAL NUMBERS
  1047
  1048	021164	201 02 0 00 000006 	PNTOCT:	MOVEI	2,6		;OCTAL PRINT
  1049	021165	504 01 0 00 000000 		HRL	1,0
  1050	021166	201 00 0 00 000006 		MOVEI	0,6
  1051	021167	246 00 0 00 000003 		LSHC	0,3
  1052	021170	260 17 0 00 021211 		GO	PRINT
  1053	021171	367 02 0 00 021166 		SOJG	2,PNTOCT+2
  1054	021172	263 17 0 00 000000 		RTN
  1055
  1056					;*PNTOCS - PRINT OCTAL ZERO SUPPRESSED NUMBERS
  1057
  1058	021173	231 00 0 00 000010 	PNTOCS:	IDIVI	0,^D8		;OCTAL PRINTER
  1059	021174	506 01 0 17 000000 		HRLM	1,(P)
  1060	021175	332 00 0 00 000000 		SKIPE	0
  1061	021176	260 17 0 00 021173 		GO	PNTOCS
  1062	021177	554 00 0 17 000000 		HLRZ	0,(P)
  1063	021200	271 00 0 00 000060 		ADDI	0,"0"
  1064	021201	254 00 0 00 021211 		JRST	PRINT
  1065
  1066					;*PNTDEC - PRINT DECIMAL NUMBERS
  1067
  1068	021202	231 00 0 00 000012 	PNTDEC:	IDIVI	0,^D10		;DECIMAL PRINTER
  1069	021203	506 01 0 17 000000 		HRLM	1,(P)
  1070	021204	332 00 0 00 000000 		SKIPE	0
  1071	021205	260 17 0 00 021202 		GO	PNTDEC
  1072	021206	554 00 0 17 000000 		HLRZ	0,(P)
  1073	021207	271 00 0 00 000060 		ADDI	0,"0"
  1074	021210	254 00 0 00 021211 		JRST	PRINT
  1075
  1076					;*PRINT - PRINT AN ASCII CHARACTER
  1077
  1078	021211	350 00 0 00 026131 	PRINT:	AOS	CHRCTR
  1079	021212	202 01 0 00 026133 		MOVEM	1,SAVAC1
  1080	021213	405 00 0 00 000177 		ANDI	177
  1081	021214	202 00 0 00 026132 		MOVEM	0,SAVAC0
  1082	021215	302 00 0 00 000011 		CAIE	11
  1083	021216	254 00 0 00 021226 		JRST	PRINT1		;NOT TAB
  1084	021217	370 00 0 00 026131 		SOS	CHRCTR
  1085	021220	201 00 0 00 000040 		MOVEI	40
  1086	021221	260 17 0 00 021226 		GO	PRINT1
  1087	021222	350 01 0 00 026131 		AOS	1,CHRCTR	;OUTPUT REQUIRED SPACE'S FOR TAB FUNCTION
  1088	021223	602 01 0 00 000007 		TRNE	1,7
  1089	021224	254 00 0 00 021220 		JRST	.-4
  1090	021225	254 00 0 00 021245 		JRST	PRINT2
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 30
SMMON	MAC	11-Apr-79 13:23		MESSAGE PRINTER                                                                    SEQ 0058

  1091	021226	306 00 0 00 000012 	PRINT1:	CAIN	0,12		;LF ?
  1092	021227	402 00 0 00 026131 		SETZM	CHRCTR		;YES, CLEAR CHAR COUNTER
  1093	021230	306 00 0 00 000014 		CAIN	0,14		;FORM FEED ?
  1094	021231	402 00 0 00 026131 		SETZM	CHRCTR		;YES, CLEAR CHAR COUNTER
  1095	021232	332 00 0 00 026111 		SKIPE	LPTFLG
  1096	021233	254 00 0 00 021272 		JRST	PNTLPT		;PRINT ON LINE PRINTER
  1097	021234	332 00 0 00 020006 		SKIPE	USER
  1098	021235	254 00 0 00 021250 		JRST	PRINT4
  1099	021236	336 00 0 00 025741 		SKIPN	CNTLOF		;CONTROL O'ED ?
  1100	021237	264 00 0 00 021727 		BTYTYO			;TYPE CHAR
  1101	021240	260 17 0 00 021327 		GO	TTYCHK		;CHECK FOR OPERATOR CONTROL
  1102	021241	306 00 0 00 000015 		CAIN	15
  1103	021242	254 00 0 00 021262 		JRST	FILLCR		;FILL CR
  1104	021243	306 00 0 00 000012 		CAIN	12
  1105	021244	254 00 0 00 021265 		JRST	FILLLF		;FILL LF
  1106	021245	200 01 0 00 026133 	PRINT2:	MOVE	1,SAVAC1
  1107	021246	200 00 0 00 026132 		MOVE	0,SAVAC0
  1108	021247	263 17 0 00 000000 		RTN			;EXIT
  1109
  1110	021250	332 00 0 00 020017 	PRINT4:	SKIPE	MONTYP
  1111	021251	254 00 0 00 021254 		JRST	.+3
  1112	021252	051 01 0 00 000000 		OUTCHR
  1113	021253	254 00 0 00 021245 		JRST	PRINT2
  1114	021254	200 01 0 00 000000 		MOVE	1,0
  1115	021255	104 00 0 00 000074 		PBOUT
  1116	021256	254 00 0 00 021245 		JRST	PRINT2
  1117
  1118					;*MISCELLANEOUS
  1119
  1120	021257				CRLF1:	PMSG	<^>^
  1121	021257	201 00 0 00 025411 		MOVEI	[SIXBIT\^_\]
  1122	021260	260 17 0 00 021115 		PNTMSG^
  1123	021261	263 17 0 00 000000 		RTN
  1124
  1125	021262	402 00 0 00 025741 	FILLCR:	SETZM	CNTLOF#		;CLEAR CONTROL O FLAG
  1126	021263	200 01 0 00 026135 		MOVE	1,FCRCNT	;GET CR FILL COUNT
  1127	021264	254 00 0 00 021270 		JRST	FILLX+2		;SEND EXTRA CR
  1128
  1129	021265	200 01 0 00 026136 	FILLLF:	MOVE	1,FLFCNT	;GET LF FILL COUNT
  1130	021266	361 01 0 00 021245 	FILLX:	SOJL	1,PRINT2
  1131	021267	201 00 0 00 000000 		MOVEI	0,0		;USE 000 AS FILLER
  1132	021270	264 00 0 00 021727 		BTYTYO
  1133	021271	254 00 0 00 021266 		JRST	FILLX
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 31
SMMON	MAC	11-Apr-79 13:23		MESSAGE PRINTER                                                                    SEQ 0059

  1134					;*PNTLPT - LINE PRINTER DRIVER
  1135
  1136	021272	201 01 0 00 321206 	PNTLPT:	MOVEI	1,^D<<1000*750>/7>
  1137	021273	405 00 0 00 000177 		ANDI	0,177
  1138	021274	242 00 0 00 000001 		LSH	0,1
  1139					;	GO	SMLPT
  1140	021275	260 17 0 00 021327 		GO	TTYCHK		;CHECK FOR ABORT
  1141					;	GO	SMLPTR		;WAIT APPROX 750 MS
  1142	021276	367 01 0 00 021273 		SOJG	1,.-3
  1143	021277	337 00 0 00 000001 		SKIPG	1		;DID LPT RESPOND ?
  1144	021300	260 17 0 00 021302 		GO	LPTOFL		;ASK OPERATOR TO REENABLE IT
  1145	021301	254 00 0 00 021245 		JRST	PRINT2
  1146
  1147					;*LPTOFL - LINE PRINTER OFF-LINE
  1148
  1149	021302	261 17 0 00 000000 	LPTOFL:	PUT	0
  1150	021303	261 17 0 00 000001 		PUT	1
  1151	021304	261 17 0 00 026132 		PUT	SAVAC0
  1152	021305	261 17 0 00 026133 		PUT	SAVAC1
  1153	021306	261 17 0 00 026131 		PUT	CHRCTR
  1154	021307	402 00 0 00 026111 		SETZM	LPTFLG		;SEND MESSAGE TO TTY
  1155	021310	200 01 0 00 025461 		MOVE	1,[POINT 7,LOFMSG]
  1156	021311	134 00 0 00 000001 		ILDB	0,1
  1157	021312	322 00 0 00 021315 		JUMPE	0,.+3
  1158	021313	260 17 0 00 021211 		GO	PRINT
  1159	021314	254 00 0 00 021311 		JRST	.-3
  1160	021315	260 17 0 00 021355 		TTICHR			;WAIT FOR OPERATOR
  1161	021316	302 00 0 00 000012 		CAIE	12
  1162	021317	254 00 0 00 021315 		JRST	.-2
  1163	021320	476 00 0 00 026111 		SETOM	LPTFLG		;REENABLE LINE PRINTER
  1164	021321	262 17 0 00 026131 		GET	CHRCTR
  1165	021322	262 17 0 00 026133 		GET	SAVAC1
  1166	021323	262 17 0 00 026132 		GET	SAVAC0
  1167	021324	262 17 0 00 000001 		GET	1
  1168	021325	262 17 0 00 000000 		GET	0
  1169	021326	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 32
SMMON	MAC	11-Apr-79 13:23		MESSAGE PRINTER                                                                    SEQ 0060

  1170					;*TTYCHK - TELETYPE CHECK ROUTINE
  1171
  1172	021327	332 00 0 00 026040 	TTYCHK:	SKIPE	TTYCFLG#	;INPUT CHECKING ALLOWED ?
  1173	021330	263 17 0 00 000000 		RTN			;NO
  1174
  1175	021331	261 17 0 00 000000 		PUT	0
  1176	021332	264 00 0 00 021647 		BTYTYI			;ANY TYPEIN ?
  1177	021333	262 17 0 00 000000 		GET	0
  1178	021334	263 17 0 00 000000 		RTN			;NO
  1179
  1180	021335	306 00 0 00 000003 		CAIN	0,003
  1181	021336	254 00 0 00 020024 		JRST	SELECT		;^C, START OVER
  1182	021337	306 00 0 00 000004 		CAIN	0,004
  1183	021340	254 00 0 00 021373 		JRST	TTYIND		;^D, START DDT
  1184	021341	306 00 0 00 000017 		CAIN	0,017
  1185	021342	476 00 0 00 025741 		SETOM	CNTLOF		;^O, INHIBIT OUTPUT
  1186	021343	262 17 0 00 000000 		GET	0
  1187	021344	263 17 0 00 000000 		RTN
  1188
  1189	021345				LOFMSG:	ASCIZ/
  1190	021345	015 012 114 120 124 	LPT OFF-LINE, TYPE CR WHEN READY - /
  1191	021346	040 117 106 106 055 
  1192	021347	114 111 116 105 054 
  1193	021350	040 124 131 120 105 
  1194	021351	040 103 122 040 127 
  1195	021352	110 105 116 040 122 
  1196	021353	105 101 104 131 040 
  1197	021354	055 040 000 000 000 
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 33
SMMON	MAC	11-Apr-79 13:23		TELETYPE  INPUT                                                                    SEQ 0061

  1198					SUBTTL	TELETYPE  INPUT
  1199
  1200					;*TTICHR - INPUT A TELETYPE CHARACTER
  1201
  1202	021355	402 00 0 00 025741 	TTYIN:	SETZM	CNTLOF
  1203	021356	476 00 0 00 026040 		SETOM	TTYCFLG		;PREVENT INPUT CHECKS ON ECHO
  1204	021357	332 00 0 00 020006 		SKIPE	USER
  1205	021360	254 00 0 00 021437 		JRST	TTYINU
  1206	021361	260 17 0 00 021604 		GO	SMTYI
  1207
  1208					;*TTYINX - CHECK FOR SPECIAL CHAR PROCESS
  1209
  1210	021362	405 00 0 00 000177 	TTYINX:	ANDI	177		;CLEAR PARITY BIT
  1211	021363	306 00 0 00 000023 		CAIN	023
  1212	021364	254 00 0 00 021355 		JRST	TTYIN		;XOFF
  1213	021365	306 00 0 00 000021 		CAIN	021
  1214	021366	254 00 0 00 021355 		JRST	TTYIN		;XON
  1215	021367	306 00 0 00 000003 		CAIN	003
  1216	021370	254 00 0 00 020024 		JRST	SELECT		;^C, START OVER
  1217	021371	302 00 0 00 000004 		CAIE	004
  1218	021372	254 00 0 00 021377 		JRST	.+5
  1219
  1220					;*TTYIND - TRANSFER TO DDT
  1221
  1222	021373	200 00 0 00 010001 	TTYIND:	MOVE	SMDDT+1		;GET DDT IDENTIFIER
  1223	021374	316 00 0 00 025462 		CAMN	[ASCII/DDT/]
  1224	021375	254 00 0 00 000441 		JRST	$DDT		;^D, START DDT
  1225	021376	254 00 0 00 020024 		JRST	SELECT		;NOT THERE, START OVER
  1226	021377	306 00 0 00 000177 		CAIN	177
  1227	021400	254 00 0 00 021424 		JRST	TTYEXT		;RUBOUT
  1228	021401	332 00 0 00 026123 		SKIPE	SCFLAG		;IN COMMENT ?
  1229	021402	254 00 0 00 021405 		JRST	TTYINA
  1230	021403	306 00 0 00 000040 		CAIN	40		;SPACE, CHANGE TO TAB
  1231	021404	201 00 0 00 000011 		MOVEI	11
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 34
SMMON	MAC	11-Apr-79 13:23		TELETYPE  INPUT                                                                    SEQ 0062

  1232
  1233					;*TTYINA - COMPLETE CHARACTER PROCESS
  1234
  1235	021405	306 00 0 00 000033 	TTYINA:	CAIN	33
  1236	021406	254 00 0 00 021556 		JRST	TTALTM		;ALTMODE
  1237	021407	306 00 0 00 000176 		CAIN	176
  1238	021410	254 00 0 00 021556 		JRST	TTALTM		;ALTMODE
  1239	021411	306 00 0 00 000175 		CAIN	175
  1240	021412	254 00 0 00 021556 		JRST	TTALTM		;ALTMODE
  1241	021413	336 00 0 00 020006 		SKIPN	USER
  1242	021414	260 17 0 00 021211 		GO	PRINT
  1243	021415	301 00 0 00 000140 		CAIL	140		;CONVERT TO UPPER CASE
  1244	021416	620 00 0 00 000040 		TRZ	40
  1245	021417	302 00 0 00 000015 		CAIE	15		;IF CR
  1246	021420	254 00 0 00 021424 		JRST	TTYEXT
  1247	021421	201 00 0 00 000012 		MOVEI	12		;PRINT AND EXIT WITH LF
  1248	021422	402 00 0 00 026131 		SETZM	CHRCTR
  1249	021423	254 00 0 00 021405 		JRST	TTYINA
  1250	021424	402 00 0 00 026040 	TTYEXT:	SETZM	TTYCFLG
  1251	021425	263 17 0 00 000000 		RTN
  1252
  1253					;*CHECK EXEC TTY FOR ^C ABORT
  1254
  1255	021426	332 00 0 00 020006 	CKTTY:	SKIPE	USER		;USER MODE ?
  1256	021427	263 17 0 00 000000 		RTN			;YES
  1257	021430	264 00 0 00 021647 		BTYTYI			;EXEC, ANY INPUT
  1258	021431	263 17 0 00 000000 		RTN			;NO
  1259	021432	310 00 0 00 000000 		CAM
  1260	021433	405 00 0 00 000177 		ANDI	177
  1261	021434	306 00 0 00 000003 		CAIN	003		;CONTROL C ?
  1262	021435	254 00 0 00 020024 		JRST	SELECT		;YES, ABORT
  1263	021436	263 17 0 00 000000 		RTN			;NO, CONTINUE
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 35
SMMON	MAC	11-Apr-79 13:23		TELETYPE  INPUT                                                                    SEQ 0063

  1264					;*TTYINU - USER MODE CHARACTER INPUT
  1265
  1266	021437	332 00 0 00 020017 	TTYINU:	SKIPE	MONTYP
  1267	021440	254 00 0 00 021446 		JRST	TTYIU1
  1268
  1269	021441	051 04 0 00 000000 		INCHWL
  1270	021442	302 00 0 00 000015 		CAIE	0,15		;IF CR, GET LF
  1271	021443	254 00 0 00 021362 		JRST	TTYINX
  1272	021444	051 00 0 00 000000 		INCHRW
  1273	021445	254 00 0 00 021362 		JRST	TTYINX
  1274
  1275	021446	336 00 0 00 025775 	TTYIU1:	SKIPN	INUPTR		;INPUT CLEARED ?
  1276	021447	254 00 0 00 021457 		JRST	TTYIU2		;YES
  1277	021450	134 00 0 00 025775 		ILDB	0,INUPTR	;GET CHAR FROM INPUT BUFFER
  1278	021451	322 00 0 00 021457 		JUMPE	0,TTYIU2	;NULL, GET NEW LINE
  1279	021452	302 00 0 00 000015 		CAIE	0,15
  1280	021453	254 00 0 00 021362 		JRST	TTYINX
  1281	021454	402 00 0 00 026131 		SETZM	CHRCTR
  1282	021455	134 00 0 00 025775 		ILDB	0,INUPTR	;IF CR, GET LF
  1283	021456	254 00 0 00 021362 		JRST	TTYINX
  1284	021457	261 17 0 00 000001 	TTYIU2:	PUT	1
  1285	021460	261 17 0 00 000002 		PUT	2
  1286	021461	261 17 0 00 000003 		PUT	3
  1287	021462	200 01 0 00 025463 		MOVE	1,[POINT 7,D$ISTR]
  1288	021463	202 01 0 00 025775 		MOVEM	1,INUPTR#	;SAVE INPUT POINTER
  1289	021464	200 02 0 00 025464 		MOVE	2,[RD%BRK!RD%TOP!^D78]
  1290	021465	400 03 0 00 000000 		SETZ	3,
  1291
  1292	021466	104 00 0 00 000523 		RDTTY			;TOPS-20, GET INPUT LINE
  1293	021467	254 00 0 00 024320 		 JRST	T20ERR
  1294	021470	262 17 0 00 000003 		GET	3
  1295	021471	262 17 0 00 000002 		GET	2
  1296	021472	262 17 0 00 000001 		GET	1
  1297	021473	254 00 0 00 021446 		JRST	TTYIU1
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 36
SMMON	MAC	11-Apr-79 13:23		TELETYPE  INPUT                                                                    SEQ 0064

  1298					;*USER MODE LH SWITCHES FOR CHAIN OPERATION
  1299
  1300	021474				LHSWS:	PMSG	<LH SWS - >^
  1301	021474	201 00 0 00 025465 		MOVEI	[SIXBIT\LH SWS - _\]
  1302	021475	260 17 0 00 021115 		PNTMSG^
  1303	021476	260 17 0 00 021502 		TTIOCT
  1304	021477	254 00 0 00 021474 		JRST	LHSWS
  1305	021500	516 00 0 00 020007 		HRLZM	0,CONSW
  1306	021501	263 17 0 00 000000 		RTN
  1307
  1308					;*TTIOCT - TELETYPE OCTAL NUMBER INPUT
  1309
  1310	021502	403 12 0 00 000013 	TTYOCT:	SETZB	DIGIT,DIGITA
  1311	021503	260 17 0 00 021355 	TTYOC1:	TTICHR			;INPUT A CHAR
  1312	021504	306 00 0 00 000012 		CAIN	12		;CR(LF), DONE
  1313	021505	254 00 0 00 021515 		JRST	TTYOC2
  1314
  1315	021506	301 00 0 00 000060 		CAIL	"0"		;A VALID DIGIT ?
  1316	021507	303 00 0 00 000067 		CAILE	"7"
  1317	021510	254 00 0 00 021517 		JRST	TTYOC3		;NO
  1318
  1319	021511	200 13 0 00 000000 		MOVE	DIGITA,0
  1320	021512	242 13 0 00 000041 		LSH	DIGITA,^D33
  1321	021513	246 12 0 00 000003 		LSHC	DIGIT,3		;INSERT NEW OCTAL
  1322	021514	254 00 0 00 021503 		JRST	TTYOC1
  1323
  1324	021515	200 00 0 00 000012 	TTYOC2:	MOVE	0,DIGIT		;PUT NUMBER IN AC0
  1325	021516	254 00 0 00 020415 		JRST	CPOPJ1
  1326
  1327	021517	336 00 0 00 020006 	TTYOC3:	SKIPN	USER
  1328	021520	263 17 0 00 000000 		RTN
  1329	021521	332 00 0 00 020017 		SKIPE	MONTYP
  1330	021522	254 00 0 00 021525 		JRST	.+3
  1331	021523	051 11 0 00 000000 		CLRBFI
  1332	021524	263 17 0 00 000000 		RTN
  1333	021525	402 00 0 00 025775 		SETZM	INUPTR
  1334	021526	201 01 0 00 000100 		MOVEI	1,.PRIIN
  1335	021527	104 00 0 00 000100 		CFIBF			;CLEAR INPUT
  1336	021530	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 37
SMMON	MAC	11-Apr-79 13:23		TELETYPE  INPUT                                                                    SEQ 0065

  1337					;*READ - COMMAND FILE READ PROCESS
  1338
  1339	021531	332 00 0 00 026110 	READ:	SKIPE	DINFLG		;DEVICE COMMAND LIST
  1340	021532	254 00 0 00 020417 		JRST	DEVRD		;YES
  1341	021533	254 00 0 00 021355 		JRST	TTYIN		;TTY REQUESTED
  1342	021534	405 00 0 00 000177 	READ1:	ANDI	177
  1343	021535	306 00 0 00 000177 		CAIN	177
  1344	021536	263 17 0 00 000000 		RTN			;RUBOUT
  1345	021537	332 00 0 00 026123 		SKIPE	SCFLAG		;IN COMMENT ?
  1346	021540	254 00 0 00 021543 		JRST	.+3		;YES
  1347	021541	306 00 0 00 000040 		CAIN	40		;SPACE, CHANGE TO TAB
  1348	021542	201 00 0 00 000011 		MOVEI	11
  1349	021543	332 00 0 00 026106 		SKIPE	TAPEPF		;PRINT TAPE ?
  1350	021544	260 17 0 00 021211 		GO	PRINT		;YES
  1351	021545	301 00 0 00 000140 		CAIL	140		;CONVERT TO UPPER CASE
  1352	021546	620 00 0 00 000040 		TRZ	40
  1353	021547	306 00 0 00 000012 		CAIN	12		;IF LF IGNORE
  1354	021550	254 00 0 00 021531 		JRST	READ
  1355	021551	306 00 0 00 000014 		CAIN	14		;IF FF IGNORE
  1356	021552	254 00 0 00 021531 		JRST	READ
  1357	021553	306 00 0 00 000015 		CAIN	15		;IF CR CHANGE TO LF
  1358	021554	201 00 0 00 000012 		MOVEI	12
  1359	021555	254 00 0 00 021424 		JRST	TTYEXT
  1360
  1361					;*TTALTM - ALTMODE PROCESS
  1362
  1363	021556	476 00 0 00 026116 	TTALTM:	SETOM	ALTMFLG		;SET ALTMODE FLAG
  1364	021557	201 00 0 00 000044 		MOVEI	"$"		;PRINT $ CR/LF
  1365	021560	336 00 0 00 020006 		SKIPN	USER		;DON'T PRINT $ IF USER
  1366	021561	260 17 0 00 021211 		GO	PRINT
  1367	021562	260 17 0 00 021257 		GO	CRLF1
  1368	021563	201 00 0 00 000012 		MOVEI	12		;RETURN WITH LF
  1369	021564	263 17 0 00 000000 		RTN
  1370
  1371	021565	201 00 0 00 000011 	PNTTAB:	MOVEI	"	"
  1372	021566	254 00 0 00 021211 		JRST	PRINT		;PRINT A TAB & RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 38
SMMON	MAC	11-Apr-79 13:23		SPECIAL ROUTINES                                                                   SEQ 0066

  1373					SUBTTL	SPECIAL ROUTINES
  1374
  1375					;*SWITCH - READ CONSOLE SWITCHES
  1376
  1377	021567				$SWITCH:
  1378	021567	200 00 0 00 020007 	$SWU:	MOVE	0,CONSW		;GET STORED SWITCHES
  1379	021570	263 17 0 00 000000 		RTN
  1380
  1381					;*SMINT - SM10 INITIALIZATION
  1382
  1383	021571	332 00 0 00 020006 	SMINT:	SKIPE	USER
  1384	021572	263 17 0 00 000000 		RTN
  1385
  1386	021573	200 00 0 00 025467 		MOVE	[540000,,540001]	;SET UP PAGE TABLES
  1387	021574	205 01 0 00 777620 		MOVSI	1,-160		;TO RESET CONDITION
  1388	021575	202 00 0 01 000600 		MOVEM	600(1)
  1389	021576	270 00 0 00 025444 		ADD	[2,,2]		;SO PAGING
  1390	021577	253 01 0 00 021575 		AOBJN	1,.-2		;CAN BE TURNED ON
  1391
  1392	021600	205 00 0 00 255000 		MOVSI	(JFCL)
  1393	021601	202 00 0 00 000421 		MOVEM	421		;NO-OP ARITHMETIC TRAP
  1394
  1395	021602	264 00 0 00 021611 		CTYINI			;INITIALIZE CTY
  1396
  1397	021603	263 17 0 00 000000 		RTN
  1398
  1399	021604	264 00 0 00 021647 	SMTYI:	BTYTYI			;GET INPUT CHAR
  1400	021605	254 00 0 00 021604 		JRST	.-1		;NO, WAIT FOR IT
  1401	021606	254 04 0 00 021606 		HALT	.
  1402	021607	322 00 0 00 021604 		JUMPE	 0,SMTYI
  1403	021610	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 39
SMMON	MAC	11-Apr-79 13:23		SPECIAL ROUTINES                                                                   SEQ 0067

  1404					;*CTY CONTROL ROUTINES
  1405
  1406	021611	000000	000000		$TYINI:	0
  1407	021612	402 00 0 00 000032 		SETZM	$80CIW		;CLEAR INPUT WORD
  1408	021613	402 00 0 00 000033 		SETZM	$80COW		;CLEAR OUTPUT WORD
  1409	021614	402 00 0 00 000034 		SETZM	$80KIW		;CLEAR INPUT WORD
  1410	021615	402 00 0 00 000035 		SETZM	$80KOW		;CLEAR OUTPUT WORD
  1411	021616	402 00 0 00 026007 		SETZM	MMFLAG#
  1412	021617	200 00 0 00 000031 		MOVE	0,$80STAT	;GET CONSOLE STATUS WORD
  1413	021620	603 00 0 00 000020 		TLNE	0,($80MM)	;MAINTENANCE MODE BIT SET ?
  1414	021621	476 00 0 00 026007 		SETOM	MMFLAG		;YES, SET TTY IN MAINT MODE
  1415	021622	254 00 1 00 021611 		JRST	@$TYINI
  1416
  1417	021623	000000	000000		$TYCLR:	0
  1418	021624	254 00 1 00 021623 		JRST	@$TYCLR		;NOTHING REQUIRED
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 40
SMMON	MAC	11-Apr-79 13:23		SPECIAL ROUTINES                                                                   SEQ 0068

  1419
  1420	021625	000000	000000		$CYTYI:	0
  1421	021626	200 00 0 00 000032 		MOVE	0,$80CIW	;GET INPUT WORD
  1422	021627	606 00 0 00 000400 		TRNN	0,$80CHR	;CHAR FLAG BIT SET ?
  1423	021630	254 00 1 00 021625 		JRST	@$CYTYI		;NO
  1424
  1425	021631	402 00 0 00 000032 		SETZM	$80CIW		;CLEAR INPUT WORD
  1426	021632	405 00 0 00 000177 		ANDI	0,177
  1427
  1428	021633	350 00 0 00 021625 		AOS	$CYTYI
  1429	021634	350 00 0 00 021625 		AOS	$CYTYI
  1430	021635	254 00 1 00 021625 		JRST	@$CYTYI		;DOUBLE SKIP RETURN, CHAR IN AC0
  1431
  1432	021636	000000	000000		$KYTYI:	0
  1433	021637	200 00 0 00 000034 		MOVE	0,$80KIW	;GET INPUT WORD
  1434	021640	606 00 0 00 000400 		TRNN	0,$80CHR	;CHAR FLAG BIT SET ?
  1435	021641	254 00 1 00 021636 		JRST	@$KYTYI		;NO
  1436
  1437	021642	402 00 0 00 000034 		SETZM	$80KIW		;CLEAR INPUT WORD
  1438	021643	405 00 0 00 000177 		ANDI	0,177
  1439
  1440	021644	350 00 0 00 021636 		AOS	$KYTYI
  1441	021645	350 00 0 00 021636 		AOS	$KYTYI
  1442	021646	254 00 1 00 021636 		JRST	@$KYTYI		;DOUBLE SKIP RETURN, CHAR IN AC0
  1443
  1444	021647	000000	000000		$BYTYI:	0
  1445	021650	264 00 0 00 021625 		CTYTYI			;ANY CTY INPUT ?
  1446	021651	254 00 0 00 021656 		JRST	.+5		;NO
  1447	021652	254 04 0 00 021652 		HALT	.
  1448	021653	350 00 0 00 021647 		AOS	$BYTYI
  1449	021654	350 00 0 00 021647 		AOS	$BYTYI
  1450	021655	254 00 1 00 021647 		JRST	@$BYTYI		;DOUBLE SKIP RETURN, CHAR IN AC0
  1451	021656	264 00 0 00 021636 		KTYTYI			;ANY KLINIK INPUT ?
  1452	021657	254 00 1 00 021647 		JRST	@$BYTYI		;NO
  1453	021660	254 04 0 00 021660 		HALT	.
  1454	021661	254 00 0 00 021653 		JRST	.-6
  1455
  1456	021662	000000	000000		$COMTI:	0
  1457	021663	332 00 0 00 026007 		SKIPE	MMFLAG		;IN MAINTENANCE MODE ?
  1458	021664	254 00 0 00 021673 		JRST	.+7		;YES
  1459
  1460	021665	264 00 0 00 021625 		CTYTYI			;ANY CTY INPUT ?
  1461	021666	254 00 1 00 021662 		JRST	@$COMTI		;NO
  1462	021667	254 04 0 00 021667 		HALT	.
  1463	021670	350 00 0 00 021662 		AOS	$COMTI
  1464	021671	350 00 0 00 021662 		AOS	$COMTI
  1465	021672	254 00 1 00 021662 		JRST	@$COMTI		;DOUBLE SKIP RETURN, CHAR IN AC0
  1466
  1467	021673	264 00 0 00 021636 		KTYTYI			;ANY KLINIK INPUT ?
  1468	021674	254 00 1 00 021662 		JRST	@$COMTI		;NO
  1469	021675	254 04 0 00 021675 		HALT	.
  1470	021676	350 00 0 00 021662 		AOS	$COMTI
  1471	021677	350 00 0 00 021662 		AOS	$COMTI
  1472	021700	254 00 1 00 021662 		JRST	@$COMTI		;DOUBLE SKIP RETURN, CHAR IN AC0
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 41
SMMON	MAC	11-Apr-79 13:23		SPECIAL ROUTINES                                                                   SEQ 0069

  1473
  1474	021701	000000	000000		$CYTYO:	0
  1475	021702	660 00 0 00 000400 		TRO	0,$80CHR	;SET FLAG BIT
  1476	021703	202 00 0 00 000033 		MOVEM	0,$80COW	;PUT IN COMM AREA
  1477	021704	7 000 24 0 00 000000 		CONI	APR,0		;GET PRESENT APR
  1478	021705	405 00 0 00 000007 		ANDI	7		;KEEP PI ASSIGNMENT
  1479	021706	660 00 0 00 012000 		TRO	$80INT		;SET INTERRUPT 8080
  1480	021707	7 000 20 1 00 000000 		CONO	APR,@0		;INTERRUPT 8080
  1481	021710	200 00 0 00 000033 		MOVE	0,$80COW	;GET OUTPUT WORD
  1482	021711	602 00 0 00 000400 		TRNE	0,$80CHR	;8080 SENT THIS CHAR ?
  1483	021712	254 00 0 00 021710 		JRST	.-2		;NO, WAIT
  1484	021713	254 00 1 00 021701 		JRST	@$CYTYO		;YES
  1485
  1486	021714	000000	000000		$KYTYO:	0
  1487	021715	660 00 0 00 000400 		TRO	0,$80CHR	;SET FLAG BIT
  1488	021716	202 00 0 00 000035 		MOVEM	0,$80KOW	;PUT IN COMM AREA
  1489	021717	7 000 24 0 00 000000 		CONI	APR,0		;GET PRESENT APR
  1490	021720	405 00 0 00 000007 		ANDI	7		;KEEP PI ASSIGNMENT
  1491	021721	660 00 0 00 012000 		TRO	$80INT		;SET INTERRUPT 8080
  1492	021722	7 000 20 1 00 000000 		CONO	APR,@0		;INTERRUPT 8080
  1493	021723	200 00 0 00 000035 		MOVE	0,$80KOW	;GET OUTPUT WORD
  1494	021724	602 00 0 00 000400 		TRNE	0,$80CHR	;8080 SENT THIS CHAR ?
  1495	021725	254 00 0 00 021723 		JRST	.-2		;NO, WAIT
  1496	021726	254 00 1 00 021714 		JRST	@$KYTYO		;YES
  1497
  1498	021727	000000	000000		$BYTYO:	0
  1499	021730	202 00 0 00 026043 		MOVEM	0,$BYTYC#	;SAVE OUTPUT CHAR
  1500	021731	264 00 0 00 021701 		CTYTYO			;OUTPUT CHAR TO CTY
  1501	021732	200 00 0 00 026043 		MOVE	0,$BYTYC	;GET OUTPUT CHAR
  1502	021733	332 00 0 00 026007 		SKIPE	MMFLAG		;IN MAINTENANCE MODE ?
  1503	021734	264 00 0 00 021714 		KTYTYO			;YES, OUTPUT CHAR TO KLINIK
  1504	021735	254 00 1 00 021727 		JRST	@$BYTYO
  1505
  1506	021736	000000	000000		$COMTO:	0
  1507	021737	332 00 0 00 026007 		SKIPE	MMFLAG		;IN MAINTENANCE MODE ?
  1508	021740	254 00 0 00 021743 		JRST	.+3		;YES
  1509	021741	264 00 0 00 021701 		CTYTYO			;OUTPUT CHAR TO CTY
  1510	021742	254 00 1 00 021736 		JRST	@$COMTO
  1511	021743	264 00 0 00 021714 		KTYTYO			;OUTPUT CHAR TO KLINIK
  1512	021744	254 00 1 00 021736 		JRST	@$COMTO
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 42
SMMON	MAC	11-Apr-79 13:23		PROGRAM FILE SELECTION                                                             SEQ 0070

  1513					SUBTTL	PROGRAM FILE SELECTION
  1514
  1515					;*FSELECT - "SUBRTN" FILE SELECTION
  1516
  1517	021745	476 00 0 00 026033 	FSELECT:SETOM	SPECIAL#	;SET SPECIAL MODE
  1518	021746	402 00 0 00 026012 		SETZM	NOCMNT
  1519	021747	202 00 0 00 000016 		MOVEM	0,IP		;SET POINTER TO FILE SPEC
  1520	021750	254 00 0 00 021760 		JRST	DIAGLD+2
  1521
  1522					;*DIAGLD - "DIAMON" FILE SELECTION
  1523
  1524	021751	476 00 0 00 026013 		SETOM	NOFNF#		;SET DON'T REPORT IF CAN'T FIND
  1525	021752	476 00 0 00 026012 		SETOM	NOCMNT		;INHIBIT COMMENT PRINTING
  1526	021753	254 00 0 00 021761 		JRST	.+6
  1527	021754	476 00 0 00 026012 		SETOM	NOCMNT#		;INHIBIT COMMENT PRINTING
  1528	021755	254 00 0 00 021757 		JRST	.+2
  1529	021756	402 00 0 00 026012 	DIAGLD:	SETZM	NOCMNT
  1530	021757	402 00 0 00 026033 		SETZM	SPECIAL		;SET NORMAL MODE
  1531	021760	402 00 0 00 026013 		SETZM	NOFNF
  1532	021761	402 00 0 00 025732 		SETZM	A10FLG#
  1533	021762	402 00 0 00 026001 		SETZM	LDEVICE#
  1534	021763	402 00 0 00 025740 		SETZM	CMDFLG#
  1535
  1536	021764	554 00 0 16 000001 		HLRZ	0,1(IP)
  1537	021765	306 00 0 00 412120 		CAIN	0,(SIXBIT/A10/)
  1538	021766	476 00 0 00 025732 		SETOM	A10FLG
  1539
  1540	021767	332 00 0 00 020006 		SKIPE	USER
  1541	021770	254 00 0 00 024110 		JRST	USERLD		;USER MODE
  1542
  1543	021771	201 00 0 00 540027 		MOVEI	540027		;SET XB BUFFER UNCACHED
  1544	021772	542 00 0 00 000613 		HRRM	613
  1545	021773	201 00 0 00 540017 		MOVEI	540017		;SET LOAD BUFFERS UNCACHED
  1546	021774	542 00 0 00 000607 		HRRM	607
  1547
  1548	021775	7 010 24 0 00 000000 		CONI	PAG,0		;READ PAGING SYSTEM
  1549	021776	7 010 20 1 00 000000 		CONO	PAG,@0		;RESET PAGING SYSTEM
  1550	021777	254 00 0 00 023771 		JRST	DSKLD		;NOW LOAD FROM DISK
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 43
SMMON	MAC	11-Apr-79 13:23		PROGRAM FILE SELECTION                                                             SEQ 0071

  1551					;*RFILE - FILE FOUND AND SETUP
  1552
  1553	022000	402 00 0 00 000005 	RFILE:	SETZM	Q		;CLEAR FILE READ WORD COUNTER
  1554	022001	201 07 0 00 000005 		MOVEI	M,5		;SET LDACHR BYTE COUNTER
  1555	022002	476 00 0 00 025763 		SETOM	FBSAV#		;SET 8 BIT READ FILE BYTE COUNTER
  1556	022003	202 13 0 00 026021 		MOVEM	13,SAV13#
  1557	022004	202 14 0 00 026022 		MOVEM	14,SAV14#
  1558	022005	336 00 0 00 026033 		SKIPN	SPECIAL		;FILE FOUND
  1559	022006	254 00 0 00 024007 		JRST	RFILE1		;NORMAL OPERATION
  1560
  1561					;*FSELF - "SUBRTN" FILE FOUND RETURN
  1562
  1563	022007	202 00 0 00 026215 	FSELF:	MOVEM	0,ACSAVE	;SAVE ACS
  1564	022010	200 00 0 00 025470 		MOVE	0,[1,,ACSAVE+1]
  1565	022011	251 00 0 00 026233 		BLT	ACSAVE+16
  1566	022012	200 00 0 00 026001 		MOVE	0,LDEVICE	;RETURN DEVICE TYPE
  1567	022013	350 00 0 17 000000 		AOS	(P)
  1568	022014	263 17 0 00 000000 		RTN			;SKIP RETURN TO "SUBRTN"
  1569
  1570					;*NFERR - FILE NOT FOUND
  1571
  1572	022015	332 00 0 00 026013 	NFERR:	SKIPE	NOFNF		;REPORT NOT FOUND ?
  1573	022016	263 17 0 00 000000 		RTN			;NO
  1574	022017	336 00 0 00 026033 		SKIPN	SPECIAL		;NOT FOUND
  1575	022020	254 00 0 00 025246 		JRST	NFERR1		;NORMAL OPERATION
  1576
  1577					;*FSELNF - "SUBRTN" FILE NOT FOUND
  1578
  1579	022021	200 00 0 00 026001 	FSELNF:	MOVE	0,LDEVICE	;"FSELECT" - NOT FOUND
  1580	022022	263 17 0 00 000000 		RTN			;NON-SKIP, ERROR RETURN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 44
SMMON	MAC	11-Apr-79 13:23		"SUBRTN" PROGRAM FILE READ                                                         SEQ 0072

  1581					SUBTTL	"SUBRTN" PROGRAM FILE READ
  1582
  1583					;*FREAD - DETERMINE READ TYPE
  1584
  1585	022023	202 00 0 00 025770 	FREAD:	MOVEM	0,FRDTYP#
  1586	022024	204 00 0 00 025470 		MOVS	[1,,ACSAVE+1]
  1587	022025	251 00 0 00 000016 		BLT	16		;RESTORE "DIAMON" ACS
  1588	022026	200 00 0 00 026215 		MOVE	ACSAVE
  1589	022027	335 00 0 00 025770 		SKIPGE	FRDTYP
  1590	022030	254 00 0 00 022045 		JRST	FRD36		;READ 36 BIT WORDS
  1591	022031	332 00 0 00 025770 		SKIPE	FRDTYP
  1592	022032	254 00 0 00 022072 		JRST	FRD8		;READ 8 BIT WORDS
  1593
  1594					;*FREAD3 - CHARACTER READ
  1595
  1596	022033	260 17 0 00 022051 	FREAD3:	GO	LDACHR		;LOAD AN ASCII CHARACTER
  1597	022034	254 00 0 00 022043 		JRST	FREAD2		;EOF
  1598	022035	202 00 0 00 026215 	FREAD1:	MOVEM	0,ACSAVE	;RESAVE "DIAMON" ACS
  1599	022036	200 00 0 00 025470 		MOVE	0,[1,,ACSAVE+1]
  1600	022037	251 00 0 00 026233 		BLT	ACSAVE+16
  1601
  1602	022040	200 00 0 00 000016 		MOVE	0,16		;PUT ASCII BYTE IN AC0
  1603	022041	350 00 0 17 000000 		AOS	(P)
  1604	022042	263 17 0 00 000000 		RTN			;SKIP RETURN
  1605
  1606					;*FREAD2 - END OF FILE
  1607
  1608	022043	402 00 0 00 000000 	FREAD2:	SETZM	0		;EOF CODE = 0
  1609	022044	263 17 0 00 000000 		RTN			;NON-SKIP RETURN
  1610
  1611					;*FRD36 - 36 BIT WORD READ
  1612
  1613	022045	260 17 0 00 024030 	FRD36:	GO	RWORD		;READ 36 BIT WORDS
  1614	022046	254 00 0 00 022043 		JRST	FREAD2		;EOF
  1615	022047	200 16 0 00 000004 		MOVE	16,W		;PUT 36 BIT WORD IN AC16
  1616	022050	254 00 0 00 022035 		JRST	FREAD1		;REST AS ABOVE
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 45
SMMON	MAC	11-Apr-79 13:23		"SUBRTN" PROGRAM FILE READ                                                         SEQ 0073

  1617					;*LDACHR - ASCII CHARACTER PROCESS
  1618
  1619	022051	302 07 0 00 000005 	LDACHR:	CAIE	M,5		;USED ALL OF THIS 36 BIT WORD ?
  1620	022052	254 00 0 00 022062 		JRST	LDACH1		;NOT YET
  1621	022053	250 13 0 00 026021 		EXCH	13,SAV13
  1622	022054	250 14 0 00 026022 		EXCH	14,SAV14
  1623	022055	260 17 0 00 024030 		GO	RWORD		;YES, READ NEXT 36 BIT WORD
  1624	022056	254 00 0 00 022067 		JRST	LDAEOF		;EOF
  1625	022057	402 00 0 00 000007 		SETZM	M
  1626	022060	250 13 0 00 026021 		EXCH	13,SAV13
  1627	022061	250 14 0 00 026022 		EXCH	14,SAV14
  1628
  1629					LDACH1:	LDB	16,[POINT 7,W,6
  1630							POINT 7,W,13
  1631							POINT 7,W,20
  1632							POINT 7,W,27
  1633	022062	135 16 0 07 025471 			POINT 7,W,34](M)	;GET ASCII BYTE
  1634	022063	350 00 0 00 000007 		AOS	M		;COUNT IT
  1635	022064	322 16 0 00 022051 	LDACH2:	JUMPE	16,LDACHR	;IF NULL, IGNORE
  1636	022065	350 00 0 17 000000 		AOS	(P)		;SKIP RETURN
  1637	022066	263 17 0 00 000000 		RTN
  1638
  1639	022067	250 13 0 00 026021 	LDAEOF:	EXCH	13,SAV13
  1640	022070	250 14 0 00 026022 		EXCH	14,SAV14
  1641	022071	263 17 0 00 000000 		RTN
  1642
  1643					;*FRD8 - 8 BIT WORD READ
  1644
  1645	022072	260 17 0 00 022075 	FRD8:	GO	G8BYT		;GET AN 8 BIT BYTE
  1646	022073	254 00 0 00 022043 		JRST	FREAD2		;EOF
  1647	022074	254 00 0 00 022035 		JRST	FREAD1		;8 BIT BYTE IN AC16
  1648
  1649	022075	350 07 0 00 025763 	G8BYT:	AOS	M,FBSAV		;ADVANCE FILE BYTE
  1650	022076	405 07 0 00 000003 		ANDI	M,3		;(MOD 4)
  1651	022077	326 07 0 00 022103 		JUMPN	M,G8BY2		;NEED A NEW WORD ?
  1652
  1653	022100	260 17 0 00 024030 		GO	RWORD		;YES
  1654	022101	263 17 0 00 000000 		RTN			;EOF
  1655
  1656	022102	202 04 0 00 025737 	G8BY1:	MOVEM	W,BYTSAV#	;SAVE WORD
  1657
  1658					G8BY2:	LDB	16,[POINT 8,BYTSAV,17
  1659							    POINT 8,BYTSAV,9
  1660							    POINT 8,BYTSAV,35
  1661	022103	135 16 0 07 025476 			    POINT 8,BYTSAV,27](M)
  1662	022104	254 00 0 00 020415 		JRST	CPOPJ1		;LOAD & SKIP RETURN WITH BYTE
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 46
SMMON	MAC	11-Apr-79 13:23		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0074

  1663					SUBTTL	LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE
  1664
  1665					;*LDPROC - FORMAT CONTROL PROCESS
  1666
  1667	022105				LDA10:
  1668	022105	402 00 0 00 026002 	LDPROC:	SETZM	LDOCTF#
  1669	022106	402 00 0 00 026004 		SETZM	LDZBLK#
  1670
  1671	022107	260 17 0 00 022051 		GO	LDACHR		;GET FILE TYPE CHAR
  1672	022110	260 17 0 00 025336 		GO	ERR2		;EOF
  1673	022111	306 16 0 00 000073 		CAIN	16,";"
  1674	022112	254 00 0 00 022262 		JRST	LDCMNT		;LINE STARTS WITH ;, COMMENT
  1675
  1676	022113	402 00 0 00 026003 		SETZM	LDTBLK#
  1677	022114	306 16 0 00 000101 		CAIN	16,"A"		;A, PDP-10 SUPER ".A10" FILE
  1678	022115	254 00 0 00 022123 		JRST	.+6
  1679	022116	306 16 0 00 000124 		CAIN	16,"T"		;T, PDP-10 ".A10" FILE
  1680						JRST	[SETOM	LDTBLK
  1681	022117	254 00 0 00 025502 			 JRST	.+4]
  1682	022120	302 16 0 00 000132 		CAIE	16,"Z"		;Z, ".A10" CORE ZERO
  1683	022121	260 17 0 00 025330 		GO	LERR3
  1684	022122	476 00 0 00 026004 		SETOM	LDZBLK
  1685
  1686	022123	260 17 0 00 022051 		GO	LDACHR		;GET FORMAT CHAR
  1687	022124	260 17 0 00 025336 		GO	ERR2		;EOF
  1688
  1689	022125	306 16 0 00 000040 		CAIN	16," "		;SPACE, ASCIIZED
  1690	022126	254 00 0 00 022132 		JRST	.+4
  1691	022127	302 16 0 00 000117 		CAIE	16,"O"		;O, OCTAL
  1692	022130	260 17 0 00 025332 		GO	LERR4
  1693	022131	476 00 0 00 026002 		SETOM	LDOCTF
  1694
  1695	022132	200 16 0 00 025504 		MOVE	16,[LDCNT,,LDCNT+1]
  1696	022133	402 00 0 00 026167 		SETZM	LDCNT
  1697	022134	251 16 0 00 026233 		BLT	16,LDATAE	;CLEAR LOAD STORAGE
  1698
  1699	022135	201 13 0 00 026167 		MOVEI	13,LDCNT	;SETUP CONVERTED STORAGE POINTER
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 47
SMMON	MAC	11-Apr-79 13:23		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0075

  1700					;*LDCNV - CONVERT ASCIIZED BACK INTO BITS
  1701
  1702	022136	402 00 0 00 000014 	LDCNV:	SETZM	14		;CLEAR CONVERTED WORD FORMER
  1703
  1704	022137	260 17 0 00 022051 	LDCNV1:	GO	LDACHR		;LOAD AN ASCII CHAR
  1705	022140	260 17 0 00 025336 		GO	ERR2		;EOF
  1706
  1707	022141	306 16 0 00 000015 		CAIN	16,15		;CR, IGNORE
  1708	022142	254 00 0 00 022137 		JRST	LDCNV1
  1709
  1710	022143	306 16 0 00 000012 		CAIN	16,12		;LF, END OF LINE
  1711	022144	254 00 0 00 022201 		JRST	LDEOL
  1712
  1713	022145	306 16 0 00 000054 		CAIN	16,54		;COMMA, FIELD SEPARATOR
  1714	022146	254 00 0 00 022177 		JRST	LDCMA
  1715
  1716	022147	332 00 0 00 026002 		SKIPE	LDOCTF
  1717	022150	254 00 0 00 022174 		JRST	LDCNV3		;LOADING OCTAL FORMAT
  1718
  1719	022151	301 16 0 00 000065 		CAIL	16,"5"		;5 TO : ?
  1720	022152	303 16 0 00 000072 		CAILE	16,":"
  1721	022153	254 00 0 00 022161 		JRST	.+6		;NO
  1722	022154	275 16 0 00 000065 		SUBI	16,"5"		;YES, INSERT SUPPRESSED ONES
  1723	022155	242 14 0 00 000006 		LSH	14,6
  1724	022156	660 14 0 00 000077 		TRO	14,77
  1725	022157	365 16 0 00 022155 		SOJGE	16,.-2
  1726	022160	254 00 0 00 022137 		JRST	LDCNV1
  1727
  1728	022161	301 16 0 00 000060 		CAIL	16,"0"		;0 TO 4 ?
  1729	022162	303 16 0 00 000064 		CAILE	16,"4"
  1730	022163	254 00 0 00 022170 		JRST	.+5		;NO
  1731	022164	405 16 0 00 000007 		ANDI	16,7		;YES, INSERT SUPPRESSED ZEROS
  1732	022165	242 14 0 00 000006 		LSH	14,6
  1733	022166	365 16 0 00 022165 		SOJGE	16,.-1
  1734	022167	254 00 0 00 022137 		JRST	LDCNV1
  1735
  1736	022170	242 14 0 00 000006 		LSH	14,6		;SHIFT WORD FORMER LEFT 6
  1737	022171	405 16 0 00 000077 		ANDI	16,77		;KEEP ASCIIZED OIT BITS
  1738
  1739	022172	434 14 0 00 000016 	LDCNV2:	OR	14,16		;INSERT NEW OIT
  1740	022173	254 00 0 00 022137 		JRST	LDCNV1
  1741
  1742	022174	242 14 0 00 000003 	LDCNV3:	LSH	14,3		;SHIFT WORD FORMER LEFT 3, OCTAL
  1743	022175	405 16 0 00 000007 		ANDI	16,7		;KEEP OCTAL OIT BITS
  1744	022176	254 00 0 00 022172 		JRST	LDCNV2
  1745
  1746	022177	202 14 0 13 000000 	LDCMA:	MOVEM	14,(13)		;STORE CONVERTED WORD
  1747	022200	344 13 0 00 022136 		AOJA	13,LDCNV	;COUNT AND GO FOR NEXT WORD
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 48
SMMON	MAC	11-Apr-79 13:23		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0076

  1748					;*LDEOL - END OF LINE, CHECKSUM LOAD LINE
  1749
  1750	022201	202 14 0 13 000000 	LDEOL:	MOVEM	14,(13)		;STORE CHECKSUM
  1751
  1752	022202	332 00 0 00 026002 		SKIPE	LDOCTF
  1753	022203	254 00 0 00 022213 		JRST	LDTEN		;OCTAL, NO CHECKSUM
  1754
  1755	022204	201 13 0 00 026167 		MOVEI	13,LDCNT	;CHECKSUM LOAD STORAGE
  1756	022205	402 00 0 00 000014 		SETZM	14
  1757	022206	270 14 0 13 000000 		ADD	14,(13)
  1758	022207	302 13 0 00 026233 		CAIE	13,LDATAE
  1759	022210	344 13 0 00 022206 		AOJA	13,.-2
  1760
  1761	022211	602 14 0 00 177777 		TRNE	14,177777	;16 BIT CHECKSUM = 0 ?
  1762	022212	260 17 0 00 025334 		GO	LERR5		;NO, CHECKSUM ERROR
  1763
  1764					;*LDTEN - CREATE LOAD ADDRESS AND WORD COUNT
  1765
  1766	022213	135 13 0 00 025505 	LDTEN:	LDB	13,[POINT 2,LDCNT,27]
  1767	022214	242 13 0 00 000020 		LSH	13,^D16
  1768	022215	434 13 0 00 026170 		OR	13,LDADR	;CREATE PDP-10 LOAD ADDRESS
  1769
  1770	022216	135 14 0 00 025506 		LDB	14,[POINT 8,LDCNT,35]	;WORD COUNT
  1771
  1772	022217	336 00 0 00 026004 		SKIPN	LDZBLK
  1773	022220	254 00 0 00 022230 		JRST	LDTEN1		;LOAD TEN DATA WORDS
  1774
  1775					;*LDTENZ - CLEAR TEN CORE, JOB START TO JOB FIRST FREE
  1776
  1777	022221	322 14 0 00 022105 	LDTENZ:	JUMPE	14,LDPROC	;WC=0, NO ZEROING
  1778	022222	202 13 0 00 025777 		MOVEM	13,JOBSAW	;SETUP JOB START ADDRESS
  1779	022223	270 13 0 14 026170 		ADD	13,LDATA-1(14)
  1780	022224	367 14 0 00 022223 		SOJG	14,.-1		;ADD UP ZERO COUNT
  1781	022225	202 13 0 00 025776 		MOVEM	13,JOBFFW	;SETUP JOB FIRST FREE ADDRESS
  1782
  1783	022226	260 17 0 00 022363 		GO	CLRCOR		;CLEAR PDP-10 CORE
  1784	022227	254 00 0 00 022105 		JRST	LDPROC
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 49
SMMON	MAC	11-Apr-79 13:23		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0077

  1785					;*LDTEN1 - TRANSFER TEN WORDS TO MEMORY
  1786
  1787	022230	336 00 0 00 026003 	LDTEN1:	SKIPN	LDTBLK
  1788	022231	200 13 0 00 026170 		MOVE	13,LDADR
  1789	022232	322 14 0 00 022260 		JUMPE	14,LDDONE	;WC=0, TRANSFER BLOCK
  1790
  1791	022233	201 15 0 00 026171 		MOVEI	15,LDATA	;SETUP PICKUP POINTER
  1792	022234	332 00 0 00 026121 		SKIPE	LDDMON
  1793	022235	254 00 0 00 025275 		JRST	LDTEN3		;LOADING DIAG MON
  1794
  1795	022236	200 16 0 15 000000 	LDTEN2:	MOVE	16,(15)		;GET 36 BIT WORD
  1796	022237	336 00 0 00 026003 		SKIPN	LDTBLK
  1797	022240	254 00 0 00 022246 		JRST	.+6
  1798
  1799	022241	200 16 0 15 000002 		MOVE	16,2(15)	;BITS 0 TO 7
  1800	022242	242 16 0 00 000020 		LSH	16,^D16
  1801	022243	434 16 0 15 000001 		OR	16,1(15)	;BITS 8 TO 23
  1802	022244	242 16 0 00 000020 		LSH	16,^D16
  1803	022245	434 16 0 15 000000 		OR	16,0(15)	;BITS 24 TO 35
  1804
  1805	022246	202 16 0 13 000000 		MOVEM	16,(13)		;STORE 36 BIT WORD IN MEMORY
  1806
  1807	022247	350 00 0 00 000013 		AOS	13		;INCREMENT PDP-10 ADDRESS
  1808	022250	271 15 0 00 000001 		ADDI	15,1		;BUMP PICKUP POINTER
  1809	022251	332 00 0 00 026003 		SKIPE	LDTBLK
  1810	022252	271 15 0 00 000002 		ADDI	15,2
  1811	022253	275 14 0 00 000001 		SUBI	14,1		;DECREMENT WORD COUNT
  1812	022254	332 00 0 00 026003 		SKIPE	LDTBLK
  1813	022255	275 14 0 00 000002 		SUBI	14,2
  1814	022256	327 14 0 00 022236 		JUMPG	14,LDTEN2	;DO TILL ALL WORDS USED
  1815	022257	254 00 0 00 022105 		JRST	LDPROC		;CONTINUE TILL TRANSFER BLOCK
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 50
SMMON	MAC	11-Apr-79 13:23		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0078

  1816
  1817					;*LDDONE - COMPLETED, GO TO START ROUTINE
  1818
  1819	022260	200 04 0 00 000013 	LDDONE:	MOVE	W,13		;SETUP START ADDRESS
  1820	022261	254 00 0 00 022421 		JRST	STARTQ		;GO TO START ROUTINE
  1821
  1822					;*LDCMNT - LOAD FILE COMMENT LINE
  1823
  1824	022262	261 17 0 00 000000 	LDCMNT:	PUT	0
  1825	022263	260 17 0 00 022266 		GO	CMNPNT		;PRINT REST OF COMMENT LINE
  1826	022264	262 17 0 00 000000 		GET	0
  1827	022265	254 00 0 00 022105 		JRST	LDPROC
  1828
  1829					;*CMNPNT - PRINT COMMENT LINE
  1830
  1831	022266	260 17 0 00 022051 	CMNPNT:	GO	LDACHR
  1832	022267	254 00 0 00 025336 		JRST	ERR2
  1833	022270	306 16 0 00 000012 		CAIN	16,12		;LINE FEED ?
  1834	022271	254 00 0 00 022275 		JRST	.+4		;YES
  1835	022272	336 00 0 00 026012 		SKIPN	NOCMNT
  1836	022273	260 17 0 00 020350 		GO	PNT16		;PRINT COMMENT LINE
  1837	022274	254 00 0 00 022266 		JRST	CMNPNT
  1838
  1839	022275	336 00 0 00 026012 		SKIPN	NOCMNT
  1840	022276	260 17 0 00 020350 		GO	PNT16
  1841	022277	263 17 0 00 000000 		RTN
  1842
  1843	022300	274 05 0 00 000003 	RMS2:	SUB	Q1,T3
  1844	022301	340 05 0 00 000000 		AOJ	Q1,
  1845	022302	200 04 0 05 000000 	RMS1:	MOVE	T4,(Q1)		;GET POINTER
  1846	022303	550 07 0 00 000004 		HRRZ	Q3,T4		; X
  1847	022304	564 03 0 00 000004 		HLRO	T3,T4		; -N
  1848	022305	274 07 0 00 000003 		SUB	Q3,T3		; X+N IN Q3
  1849	022306	315 07 0 00 000006 		CAMGE	Q3,Q2		;THIS POINTER TO REQ DATA ?
  1850	022307	254 00 0 00 022300 		JRST	RMS2		;NO, GET NEXT POINTER
  1851	022310	275 06 0 04 000000 		SUBI	Q2,(T4)		;YES, HOW FAR FROM POINTER ?
  1852	022311	270 05 0 00 000006 		ADD	Q1,Q2		;INCREMENT POINTER
  1853	022312	200 04 0 05 000000 		MOVE	T4,(Q1)		;GET REQ DATA
  1854	022313	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 51
SMMON	MAC	11-Apr-79 13:23		PROGRAM CORE AREA SETUP                                                            SEQ 0079

  1855					SUBTTL	PROGRAM CORE AREA SETUP
  1856
  1857					;*PRGCOR - SETUP CORE ZEROING FOR ".SAV" FILES
  1858
  1859	022314	332 00 0 00 025732 	PRGCOR:	SKIPE	A10FLG
  1860	022315	254 00 0 00 022105 		JRST	LDA10		;LOAD ".A10" FILE
  1861
  1862	022316	402 00 0 00 000005 		SETZM	Q
  1863	022317	260 17 0 00 024030 		GO	RWORD		;READ FIRST BLOCK/WORD
  1864	022320	260 17 0 00 025336 		GO	ERR2		;EOF, ILLEGAL
  1865
  1866	022321	202 03 0 00 026027 		MOVEM	T3,SAVT3#
  1867	022322	202 04 0 00 026030 		MOVEM	T4,SAVT4#
  1868	022323	202 05 0 00 026024 		MOVEM	Q1,SAVQ1#
  1869	022324	202 06 0 00 026025 		MOVEM	Q2,SAVQ2#
  1870	022325	202 07 0 00 026026 		MOVEM	Q3,SAVQ3#
  1871	022326	332 00 0 00 026037 		SKIPE	TOPS10
  1872	022327	370 00 0 00 026024 		SOS	SAVQ1
  1873
  1874	022330	331 00 0 00 000004 		SKIPL	T4
  1875	022331	260 17 0 00 025340 		GO	ERR6		;FIRST WORD NOT POINTER
  1876	022332	201 07 0 04 000176 		MOVEI	Q3,^D126(T4)
  1877	022333	201 06 0 00 000137 		MOVEI	Q2,137		;FIRST POINTER LEGAL ?
  1878	022334	315 07 0 00 000006 		CAMGE	Q3,Q2
  1879	022335	260 17 0 00 025340 		GO	ERR6		;NO
  1880
  1881	022336	550 05 0 00 026024 		HRRZ	Q1,SAVQ1
  1882	022337	201 06 0 00 000120 		MOVEI	Q2,JOBSA
  1883	022340	260 17 0 00 022302 		GO	RMS1		;GET 'JOBSA'
  1884	022341	552 04 0 00 025777 		HRRZM	T4,JOBSAW#
  1885	022342	336 05 0 00 025777 		SKIPN	Q1,JOBSAW	
  1886	022343	260 17 0 00 025342 		GO	ERR7		;NO STARTING ADDRESS
  1887	022344	306 05 0 00 000140 		CAIN	Q1,140
  1888	022345	260 17 0 00 025342 		GO	ERR7		;PROGRAMS CAN'T START AT 140
  1889
  1890	022346	550 05 0 00 026024 		HRRZ	Q1,SAVQ1
  1891	022347	201 06 0 00 000121 		MOVEI	Q2,JOBFF
  1892	022350	260 17 0 00 022302 		GO	RMS1		;GET 'JOBFF'
  1893	022351	202 04 0 00 025776 		MOVEM	T4,JOBFFW#
  1894
  1895	022352	260 17 0 00 022363 		GO	CLRCOR		;CLEAR PROGRAM'S CORE AREA
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 52
SMMON	MAC	11-Apr-79 13:23		PROGRAM CORE AREA SETUP                                                            SEQ 0080

  1896	022353	332 00 0 00 026037 		SKIPE	TOPS10
  1897	022354	350 00 0 00 026024 		AOS	SAVQ1
  1898	022355	200 03 0 00 026027 		MOVE	T3,SAVT3
  1899	022356	200 04 0 00 026030 		MOVE	T4,SAVT4
  1900	022357	200 05 0 00 026024 		MOVE	Q1,SAVQ1
  1901	022360	200 06 0 00 026025 		MOVE	Q2,SAVQ2
  1902	022361	200 07 0 00 026026 		MOVE	Q3,SAVQ3
  1903	022362	254 00 0 00 024017 		JRST	RFILL3		;NOW GO LOAD PROGRAM
  1904
  1905					;*CLRCOR - CLEAR CORE FOR DIAGNOSTIC SEGMENT
  1906					;*	   CLEARS CORE FROM 'JOBSA' TO 'JOBFF'
  1907
  1908	022363	332 00 0 00 026121 	CLRCOR:	SKIPE	LDDMON
  1909	022364	254 00 0 00 025263 		JRST	CLRCR2		;LOADING DIAG MON
  1910	022365	336 00 0 00 020006 		SKIPN	USER		;USER MODE ?
  1911	022366	254 00 0 00 022410 		JRST	CLRCR1		;NO
  1912	022367	200 00 0 00 000044 		MOVE	JOBREL		;YES, PRESENT JOBREL LT DIAMON'S ?
  1913	022370	317 00 0 00 026035 		CAMG	SVJBREL
  1914	022371	254 00 0 00 022400 		JRST	.+7		;YES
  1915	022372	200 00 0 00 026035 		MOVE	SVJBREL		;NO, REDUCE CORE TO DIAMON'S
  1916	022373	202 00 0 00 000044 		MOVEM	JOBREL
  1917	022374	332 00 0 00 020017 		skipe	montyp
  1918	022375	254 00 0 00 022400 		jrst	.+3
  1919	022376	047 00 0 00 000011 		core
  1920	022377	254 00 0 00 025350 		jrst	err10
  1921	022400	200 00 0 00 025776 		MOVE	JOBFFW		;THIS PRG NEED MORE THAN DIAMON'S ?
  1922	022401	317 00 0 00 026035 		CAMG	SVJBREL
  1923	022402	254 00 0 00 022410 		JRST	.+6		;NO
  1924	022403	202 00 0 00 000044 		MOVEM	JOBREL		;YES, EXPAND CORE FOR PROGRAM
  1925	022404	332 00 0 00 020017 		skipe	montyp
  1926	022405	254 00 0 00 022410 		jrst	.+3
  1927	022406	047 00 0 00 000011 		core
  1928	022407	254 00 0 00 025350 		jrst	err10
  1929	022410	202 05 0 00 026023 	CLRCR1:	MOVEM	Q,SAVQ#
  1930	022411	200 05 0 00 025777 		MOVE	Q,JOBSAW
  1931	022412	301 05 0 00 017000 		CAIL	Q,LDBF		;DO NOT, REPEAT NOT, CLEAR "DIAMON" !
  1932	022413	301 05 0 00 030000 		CAIL	Q,DIAGNOS
  1933	022414	402 00 0 05 000000 		SETZM	(Q)
  1934	022415	315 05 0 00 025776 		CAMGE	Q,JOBFFW
  1935	022416	344 05 0 00 022412 		AOJA	Q,.-4
  1936	022417	200 05 0 00 026023 		MOVE	Q,SAVQ
  1937	022420	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 53
SMMON	MAC	11-Apr-79 13:23		PROGRAM CORE AREA SETUP                                                            SEQ 0081

  1938					;*STARTQ - HERE ON TRANSFER WORD
  1939
  1940	022421	332 00 0 00 020017 	STARTQ:	SKIPE	MONTYP
  1941	022422	260 17 0 00 022453 		GO	CLOS20		;CLOSE INPUT, TOPS-20
  1942	022423	332 00 0 00 026121 		SKIPE	LDDMON
  1943	022424	254 00 0 00 025267 		JRST	STARTM		;LOADING DIAG MON
  1944	022425	542 04 0 00 022452 		HRRM	T4,SADR		;SAVE STARTING ADDRESS
  1945	022426	606 04 0 00 777777 		TRNN	T4,-1		;ANY ADDRESS ?
  1946	022427	260 17 0 00 025342 		GO	ERR7		;NO, MUST NOT HAVE RIGHT FILE
  1947	022430	476 00 0 00 030044 		SETOM	MONTEN		;SET LOADED BY TEN FLAG
  1948	022431	201 00 0 00 020000 		MOVEI	START		;SETUP RETURN TO DIAMON
  1949	022432	202 00 0 00 030012 		MOVEM	RETURN
  1950	022433	542 00 0 00 000120 		HRRM	120		;SETUP JOB DATA AREA ALSO
  1951	022434	336 00 0 00 026105 	STARTV:	SKIPN	PGMGO		;LOAD & GO ?
  1952	022435	254 00 0 00 020415 		JRST	CPOPJ1		;NO, BACK TO MONITOR
  1953	022436	332 00 0 00 026116 		SKIPE	ALTMFLG
  1954	022437	263 17 0 00 000000 		RTN			;ALTMODE, RETURN TO LOADER
  1955
  1956	022440	264 00 0 00 021623 	SADRQ:	CTYCLR
  1957	022441	200 01 1 00 026127 		MOVE	T1,@SAVEIP
  1958	022442	332 00 0 00 020006 		SKIPE	USER
  1959	022443	260 17 0 00 020230 		GO	SNAME		;USER, IDENTIFY PROGRAM RUNNING
  1960	022444	332 00 0 00 000044 		SKIPE	JOBREL
  1961	022445	254 00 0 00 022450 		JRST	.+3
  1962	022446	200 00 0 00 026035 		MOVE	SVJBREL		;SET JOBREL AS "DIAMON" RUN SIZE
  1963	022447	202 00 0 00 000044 		MOVEM	JOBREL
  1964	022450	260 17 0 00 020502 		GO	ZEROAC		;CLEAR AC'S
  1965	022451	402 00 0 00 000017 		SETZM	17
  1966	022452	254 00 0 00 000000 	SADR:	JRST	0		;YES, GO
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 54
SMMON	MAC	11-Apr-79 13:23		PROGRAM CORE AREA SETUP                                                            SEQ 0082

  1967
  1968					;*CLOS20 - CLOSE OUT INPUT FILE, TOPS-20
  1969
  1970	022453	474 01 0 00 000000 	CLOS20:	SETO	1,
  1971	022454	200 02 0 00 025507 		MOVE	2,[.FHSLF,,<LDBF_-^D9>]
  1972	022455	400 03 0 00 000000 		SETZ	3,
  1973	022456	104 00 0 00 000056 		PMAP			;ELIMINATE LAST PAGE
  1974	022457	320 16 0 00 022460 		 ERJMP	.+1
  1975	022460	554 01 0 00 025774 		HLRZ	1,INJFN
  1976	022461	104 00 0 00 000022 		CLOSF			;CLOSE OUT FILE
  1977	022462	320 16 0 00 022463 		 ERJMP	.+1
  1978	022463	402 00 0 00 025774 		SETZM	INJFN
  1979	022464	263 17 0 00 000000 		RTN
  1980
  1981					;*DSKDIR - DISK PACK DIRECTORY ROUTINE
  1982
  1983	022465	260 17 0 00 021257 	DSKDIR:	GO	CRLF1
  1984	022466	402 00 0 00 026036 		SETZM	TABCTR#		;CLEAR ENTRY'S PER LINE COUNTER
  1985	022467	476 00 0 00 026113 		SETOM	DDIRFLG		;SET DIRECTORY FLAG
  1986	022470	332 00 0 00 026037 		SKIPE	TOPS10
  1987	022471	254 00 0 00 024452 		JRST	DDIR10		;TOPS-10
  1988	022472	260 17 0 00 022743 		GO	DIRPNT		;DO DIRECTORY
  1989	022473	254 00 0 00 020024 		JRST	SELECT		;DONE
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 55
SMMON	MAC	11-Apr-79 13:23		TOPS-20 DEFINTIONS                                                                 SEQ 0083

  1990					SUBTTL	TOPS-20 DEFINTIONS
  1991
  1992		104000	000000		OPDEF	JSYS	[104000,,0]
  1993		104000	000147		OPDEF	RESET	[JSYS+147]	;RESET
  1994		104000	000100		OPDEF	CFIBF	[JSYS+100]	;CLEAR TERMINAL INPUT BUFFER
  1995		104000	000074		OPDEF	PBOUT	[JSYS+74]	;OUTPUT A BYTE
  1996		104000	000210		OPDEF	SETNM	[JSYS+210]	;SET PROGRAM NAME
  1997		104000	000523		OPDEF	RDTTY	[JSYS+523]	;READ TTY INPUT
  1998		104000	000011		OPDEF	ERSTR	[JSYS+11]	;PRINT ERROR STRING
  1999		104000	000020		OPDEF	GTJFN	[JSYS+20]	;ASSIGN A JFN TO A FILE
  2000		104000	000021		OPDEF	OPENF	[JSYS+21]	;OPEN A FILE
  2001		104000	000022		OPDEF	CLOSF	[JSYS+22]	;CLOSE A FILE
  2002		104000	000063		OPDEF	GTFDB	[JSYS+63]	;READ A FILE DESCRIPTOR BLOCK
  2003		104000	000056		OPDEF	PMAP	[JSYS+56]	;MAP FILE PAGES
  2004		320700	000000		OPDEF	ERJMP	[JUMP	16,0]	;JUMP ON ERROR
  2005		320740	000000		OPDEF	ERCAL	[JUMP	17,0]	;CALL ON ERROR
  2006
  2007		400000	000000		RD%BRK=	1B0			;REGULAR BREAK SET
  2008		200000	000000		RD%TOP=	1B1			;TOPS10 BREAK SET
  2009			000011		.FBBYV=	11
  2010			400000		.FHSLF=	400000			;SELF
  2011			000100		.PRIIN=	100			;PRIMARY INPUT
  2012			000101		.PRIOU=	101			;PRIMARY OUTPUT
  2013
  2014		100000	000000		GJ%OLD=	1B2			;OLD FILE ONLY
  2015
  2016		000001	000000		GJ%SHT=	1B17			;SHORT CALL FORMAT
  2017			200000		OF%RD=	1B19			;READ
  2018
  2019			000020		.R4TYP=	20			;RP04
  2020			000021		.R5TYP=	21			;RP05
  2021			000022		.R6TYP=	22			;RP06
  2022			000024		.R3TYP=	24			;RM03
  2023
  2024			000620		N.CLP4=	^D400			;RP04	CYLS PER UNIT
  2025			000620		N.CLP5=	^D400			;RP05
  2026			001440		N.CLP6=	^D800			;RP06
  2027			001464		N.CLP3=	^D820			;RM03
  2028
  2029			000574		N.SPC4=	^D20*^D19		;RP04 SECTORS PER CYLINDER
  2030			000574		N.SPC5=	^D20*^D19		;RP05
  2031			000574		N.SPC6=	^D20*^D19		;RP06
  2032			000224		N.SPC3=	<^D30*^D5>-2		;RM03 - TOPS-20
  2033			000226		T.SPC3=	<^D30*^D5>		;RM03 - TOPS-10
  2034
  2035			000024		N.SPT4=	^D20			;RP04 SECTORS PER TRACK
  2036			000024		N.SPT5=	^D20			;RP05
  2037			000024		N.SPT6=	^D20			;RP06
  2038			000036		N.SPT3=	^D30			;RM03
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 56
SMMON	MAC	11-Apr-79 13:23		FDB DEFINITIONS                                                                    SEQ 0084

  2039					SUBTTL	FDB DEFINITIONS
  2040
  2041		400000	000000		FB%TMP==:1B0			;FILE IS TEMPORARY
  2042		200000	000000		FB%PRM==:1B1			;FILE IS PERMANENT
  2043		100000	000000		FB%NEX==:1B2			;FILE DOES NOT HAVE AN EXTENSION YET
  2044		040000	000000		FB%DEL==:1B3			;FILE IS DELETED
  2045		020000	000000		FB%NXF==:1B4			;FILE IS NONEXISTENT
  2046		010000	000000		FB%LNG==:1B5			;FILE IS A LONG FILE
  2047		004000	000000		FB%SHT==:1B6			;FILE HAS COMPRESSED PAGE TABLE 
  2048		002000	000000		FB%DIR==:1B7			;FILE IS A DIRECTORY FILE
  2049		001000	000000		FB%NOD==:1B8			;FILE IS NOT TO BE DUMPED BY BACKUP SYSTEM
  2050		000400	000000		FB%BAT==:1B9			;FILE HAS AT LEAST ONE BAD PAGE
  2051									; IN IT
  2052		000017	000000		FB%FCF==:17B17			;FILE CLASS FIELD
  2053			000000		 .FBNRM==:0			;NON-RMS
  2054			000001		 .FBRMS==:1			;RMS FILES
  2055
  2056			000000		.FBHDR==:0			;HEADER WORD
  2057			000001		.FBCTL==:1			;FLAGS
  2058			000002		.FBEXL==:2			;LINK TO FDB OF NEXT EXTENSION
  2059			000003		.FBADR==:3			;DISK ADDRESS OF INDEX BLOCK
  2060			000004		.FBPRT==:4			;PROTECTION OF THE FILE
  2061			000005		.FBCRE==:5			;TIME AND DATE OF LAST WRITE
  2062			000006		.FBUSE==:6			;LAST WRITER ,, AUTHOR (OBS)
  2063			000006		.FBAUT==:6			;POINTER TO AUTHOR STRING
  2064			000007		.FBGEN==:7			;GENERATION ,, DIR #
  2065		777777	000000		 FB%GEN==:777777B17		;GENERATION NUMBER
  2066			000007		.FBDRN==:7			;GENERATION ,, DIR #
  2067			777777		 FB%DRN==:777777		;DIR NUMBER
  2068			000010		.FBACT==:10			;ACCOUNT
  2069			000011		.FBBYV==:11			;RETENTION+BYTE SIZE+MODE ,, # OF PAGES
  2070		770000	000000		 FB%RET==:77B5			;RETENTION COUNT
  2071		007700	000000		 FB%BSZ==:77B11			;BYTE SIZE
  2072		000017	000000		 FB%MOD==:17B17			;LAST OPENF MODE
  2073			777777		 FB%PGC==:777777		;PAGE COUNT
  2074			000012		.FBSIZ==:12			;EOF POINTER
  2075			000013		.FBCRV==:13			;TIME AND DATE OF CREATION OF FILE
  2076			000014		.FBWRT==:14			;TIME AND DATE OF LAST USER WRITE
  2077			000015		.FBREF==:15			;TIME AND DATE OF LAST NON-WRITE ACCESS
  2078			000016		.FBCNT==:16			;# OF WRITES ,, # OF REFERENCES
  2079			000017		.FBBK0==:17			;BACKUP WORDS (5)
  2080			000020		.FBBK1==:20
  2081			000021		.FBBK2==:21
  2082			000022		.FBBK3==:22
  2083			000023		.FBBK4==:23
  2084			000024		.FBUSW==:24			;USER SETTABLE WORD
  2085			000025		.FBGNL==:25			;LINK TO NEXT GENERATION FILE
  2086			000026		.FBNAM==:26			;POINTER TO NAME BLOCK
  2087			000027		.FBEXT==:27			;POINTER TO EXTENSION BLOCK
  2088			000030		.FBLWR==:30			;POINTER TO LAST WRITER STRING
  2089
  2090			000030		.FBLN0==:30			;LENGTH OF VERSION 0 FDB
  2091			000031		.FBLN1==:31			;LENGTH OF VERSION 1 FDB
  2092			000031		.FBLEN==:31			;LENGTH OF THE FDB
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 57
SMMON	MAC	11-Apr-79 13:23		FDB DEFINITIONS                                                                    SEQ 0085

  2093			000000		.SYMAD=0
  2094			000001		.SYMVL=1
  2095
  2096			017000		LDBF=	17000			;USER LOAD BUFFER
  2097			017203		LDBF1=	LDBF+203
  2098			017406		LDBF2=	LDBF1+203
  2099
  2100			027000		A%XB=	27000			;INDEX BLOCK PAGE
  2101			017000		A%DIR=	17000			;DIRECTORY DATA PAGE
  2102			017000		A%DPG=	17000			;DIRECTORY HEADER PAGE
  2103
  2104			017000		HBUF=	A%DPG			;HOME BLOCK BUFFER
  2105			017000		HOMNAM=	A%DPG+0			;SIXBIT /HOM/
  2106			017001		HOMID=	A%DPG+1			;PACK ID
  2107			017003		T20SNM=	A%DPG+3			;STRUCTURE NAME
  2108			017004		T20LUN=	A%DPG+4			;# UNI IN STR,,THIS UNI #
  2109			017010		HOMRXB=	A%DPG+10		;ROOT INDEX BLOCK
  2110			017173		HOMPID=	A%DPG+173		;3 WORDS GIVING TOPS-10 OR TOPS-20
  2111			017176		HOMCOD=	A%DPG+176		;FUNNY CODE
  2112
  2113			017002		DIRNUM=	A%DIR+2			;DIR NUMBER
  2114			017003		SYMBOT=	A%DIR+3			;BOTTOM OF ST AREA
  2115			017004		SYMTOP=	A%DIR+4			;TOP OF ST AREA
  2116
  2117			000010		DSKSIZ=	^D8
  2118
  2119			400000		ENTFLG=	400000			;ENTRY IN USE FLAG IN DSKTAB
  2120
  2121	022474	44 07 0 00 026267 	FILSTR:	POINT 7,D$FIL
  2122	022475	44 07 0 00 026257 	DIRSTR:	POINT 7,D$DIR
  2123	022476	44 07 0 00 026277 	EXTSTR:	POINT 7,D$EXT
  2124
  2125	022477	104 111 101 107 116 	D$DFLT:	ASCIZ	/DIAGNOSTICS/
  2126	022500	117 123 124 111 103 
  2127	022501	123 000 000 000 000 
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 58
SMMON	MAC	11-Apr-79 13:23		FDB DEFINITIONS                                                                    SEQ 0086

  2128					;*AC USAGE
  2129
  2130			000000		F=	0			;FLAGS
  2131
  2132			000001		T1=	1			;TEMP
  2133			000002		T2=	2
  2134			000003		T3=	3
  2135			000004		T4=	4
  2136
  2137			000005		Q1=	5			;GENERALLY HOLDS A SINGLE CHAR
  2138			000006		Q2=	6			;BYTE POINTER TO INPUT STRING
  2139			000007		Q3=	7			;BYTE POINTER TO OUTPUT STRING
  2140			000007		LBNAC=	7			;TOPS-10 LOGICAL BLOCK NUMBER AC
  2141
  2142			000010		P1=	10			;PRESERVED
  2143			000011		P2=	11
  2144			000012		P3=	12			;A NUMBER
  2145			000013		P4=	13			;DESTINATION POINTER (DISK ADR, BYTE POINTER)
  2146			000014		P5=	14			;DISK ADR OR PARSER STATE
  2147
  2148			000015		PNT=	15
  2149			000016		PNT1=	16
  2150
  2151					;FLAGS, LEFT HALF OF F
  2152
  2153			000004		L.CMA=	4			;COMMA TYPED
  2154			000002		L.LBK=	2			;LEFT BRACKET TYPED
  2155
  2156					;FLAGS, RIGHT HALF OF F
  2157
  2158			000400		R.DSKW=	400			;WILD DISK TYPE, TRY ALL
  2159			001000		R.SRIB=	1000			;NEED TO SKIP A BLOCK (RIB AT START)
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 59
SMMON	MAC	11-Apr-79 13:23		FDB DEFINITIONS                                                                    SEQ 0087

  2160					;SYSTEM PARAMETERS, MUST AGREE WITH MONITOR
  2161
  2162			000176		BLKCOD=	176			;WORD ADR OF VERIFY CODE
  2163			000177		BLKSLF=	177			;WORD ADDRESS OF SELF POINTER
  2164			000000		RIBFIR=	0			;WORD ADR OF RIB AOBJN POINTER
  2165			000002		RIBNAM=	2			;WORD ADR OF NAME OF FILE IN RIB
  2166			000003		RIBEXT=	3			;WORD ADR OF NAME OF FILE IN RIB
  2167			000005		RIBSIZ=	5			;LENGTH OF FILE IN WORDS
  2168
  2169			000004		HOMSNM=	4			;STRUCTURE NAME IN SIXBIT
  2170			000010		HOMLUN=	10			;LOGICAL UNIT NUMBER (OCT) IN STR
  2171			000014		HOMBSC=	14			;BLOCKS PER SUPERCLUSTER IN HOME BLOCK
  2172			000015		HOMSCU=	15			;SUPERCLUSTERS PER UNIT
  2173			000016		HOMCNP=	16			;POINTER TO CLUSTER COUNT IN A RET PTR
  2174			000017		HOMCKP=	17			;POINTER TO CHECKSUM IN A RET PTR
  2175			000020		HOMCLP=	20			;POINTER TO CLUSTER ADDRESS IN A RET PTR
  2176			000021		HOMBPC=	21			;BLOCKS PER CLUSTER
  2177			000023		HOMREF=	23			;NEED TO REFRESH IF NON-ZERO
  2178			000041		HOMCRS=	41			;LBN IN STR OF CRASH.SAV RIB
  2179			000046		HOMMFD=	46			;LBN IN STR OF MFD RIB
  2180
  2181			017000		HBUF=	17000			;HOME BUFFER
  2182			017200		RBUF=	17200			;DISK RIB BUFFER
  2183			017400		DBUF=	17400			;DATA BUFFER
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 60
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0088

  2184					SUBTTL	TOPS20 DISK DIRECTORY PROCESS
  2185
  2186					;*LOOK20, FIND REQUESTED FILE
  2187
  2188	022502	200 00 0 16 000000 	LOOK20:	MOVE	(IP)		;SETUP FILE NAME
  2189	022503	202 00 0 00 026235 		MOVEM	LDNAME
  2190	022504	510 00 0 16 000001 		HLLZ	1(IP)
  2191	022505	202 00 0 00 026236 		MOVEM	LDNAME+1
  2192
  2193	022506	402 00 0 00 026267 		SETZM	D$FIL		;CLEAR FILE NAME STORAGE
  2194	022507	200 00 0 00 025510 		MOVE	[D$FIL,,D$FIL+1]
  2195	022510	251 00 0 00 026310 		BLT	D$VER+1
  2196
  2197	022511	200 00 0 00 022474 		MOVE	0,FILSTR	;FILE STORE POINTER
  2198	022512	200 01 0 00 022476 		MOVE	1,EXTSTR	;EXT STORE POINTER
  2199	022513	201 02 0 00 000000 		MOVEI	2,0		;FILE TERM CHAR
  2200	022514	402 00 0 00 026042 		SETZM	VERNUM		;VERSION 0
  2201
  2202	022515	260 17 0 00 024271 		GO	SIXASC		;SETUP ASCIZ FILE & EXT
  2203
  2204	022516	260 17 0 00 022521 		GO	FNDIDX		;GET DIR, THEN FILE INDEX BLOCK
  2205	022517	263 17 0 00 000000 		 RTN			;NOT FOUND
  2206
  2207	022520	254 00 0 00 020415 		JRST	CPOPJ1		;FOUND
  2208
  2209					;*FNDIDX, MAP THE DIRECTORY INTO VIRTUAL ADR DIR
  2210
  2211	022521	260 17 0 00 023457 	FNDIDX:	GO	FNDDIR		;GO FIND & SETUP DIRECTORY
  2212	022522	263 17 0 00 000000 		 RTN			;NOT FOUND
  2213
  2214	022523	260 17 0 00 022623 		GO	MAPDIR		;MAP IN THE DIRECTORY
  2215
  2216	022524	200 01 0 00 022474 		MOVE	T1,FILSTR	;GET POINTER TO NAME STRING
  2217	022525	200 02 0 00 022476 		MOVE	T2,EXTSTR	; & POINTER TO EXT STRING
  2218	022526	200 03 0 00 026042 		MOVE	T3,VERNUM#	; & DESIRED VERSION #
  2219									;FALL INTO "GETIDX"
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 61
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0089

  2220					;GETIDX, GET THE INDEX BLOCK FOR THE FILE
  2221
  2222	022527	202 01 0 00 025766 	GETIDX:	MOVEM	T1,FNDSTR#	;SAVE NAME STRING
  2223	022530	202 02 0 00 025765 		MOVEM	T2,FNDSTE#	; & EXT STRING POINTERS
  2224	022531	202 03 0 00 025767 		MOVEM	T3,FNDSTV	; & VERSION NUMBER
  2225
  2226	022532	260 17 0 00 022654 		GO	FIND		;RETURN FDB OFFSET IN P1
  2227	022533	263 17 0 00 000000 		 RTN			;NOT FOUND
  2228
  2229	022534	200 06 0 00 025765 	GX.NE:	MOVE	Q2,FNDSTE	;COMPARE WITH NEXT EXT
  2230
  2231	022535	260 17 0 00 022630 		GO	GETPAG		;MAP IN PAGE CONTAINING FDB
  2232
  2233	022536	200 07 0 01 000027 		MOVE	Q3,.FBEXT(T1)	;GET ADR OF EXT STRING BLOCK
  2234	022537	505 07 0 00 440700 		HRLI	Q3,(POINT 7,0)	;SET IT UP AS A STRING POINTER
  2235	022540	271 07 0 00 000001 		ADDI	Q3,1		;POINT TO STRING
  2236
  2237	022541	336 00 0 06 000000 		SKIPN	(Q2)
  2238	022542	254 00 0 00 022601 		JRST	GX.NE2		;NULL EXT GIVEN
  2239
  2240	022543	260 17 0 00 022703 		GO	STRCMP		;COMPARE EXT STRINGS
  2241	022544	304 00 0 00 000000 		CAIA
  2242	022545	254 00 0 00 022552 		JRST	GX.NV		;FOUND EXT MATCH, LOOK AT VERSION
  2243
  2244	022546	260 17 0 00 022630 	GX.NE1:	GO	GETPAG		;MAP IN PAGE CONTAINING FDB
  2245
  2246	022547	135 10 0 00 025511 		LDB	P1,[POINT 33,.FBEXL(T1),35]	;STEP TO NEXT FDB IN THIS CHAIN
  2247	022550	326 10 0 00 022534 		JUMPN	P1,GX.NE	;BACK IF STILL MORE
  2248	022551	263 17 0 00 000000 		 RTN			;NO MORE, LOSE
  2249
  2250	022552	260 17 0 00 022630 	GX.NV:	GO	GETPAG		;MAP IN PAGE CONTAINING FDB
  2251
  2252	022553	554 01 0 01 000007 		HLRZ	T1,.FBGEN(T1)	;GET GENERATION NUMBER
  2253	022554	332 00 0 00 025767 		SKIPE	FNDSTV#		;IS MOST RECENT WANTED ?
  2254	022555	316 01 0 00 025767 		CAMN	T1,FNDSTV	;IS IT WHAT WE WANT ?
  2255	022556	254 00 0 00 022564 		JRST	GX.DON		;YES, EXIT
  2256
  2257	022557	260 17 0 00 022630 	GX.NV1:	GO	GETPAG		;MAP IN PAGE CONTAINING FDB
  2258
  2259	022560	135 10 0 00 025512 		LDB	P1,[POINT 33,.FBGNL(T1),35]	;STEP TO FDB OF NEXT GENERATION
  2260	022561	326 10 0 00 022563 		JUMPN	P1,.+2
  2261	022562	263 17 0 00 000000 		 RTN			;NO MATCH, ERROR RETURN
  2262	022563	254 00 0 00 022552 		JRST	GX.NV		;TRY AGAIN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 62
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0090

  2263	022564	260 17 0 00 022630 	GX.DON:	GO	GETPAG		;MAP IN PAGE CONTAINING FDB
  2264
  2265	022565	200 02 0 01 000001 		MOVE	T2,.FBCTL(T1)	;GET CONTROL BITS
  2266	022566	603 02 0 00 060000 		TLNE	T2,(FB%DEL!FB%NXF) ;DOES IT EXIST ?
  2267	022567	254 00 0 00 022557 		JRST	GX.NV1		;NO, GO GET ANOTHER THEN
  2268
  2269	022570	550 14 0 01 000011 		HRRZ	P5,.FBBYV(T1)	;GET FILE PAGE COUNT
  2270	022571	202 14 0 00 026015 		MOVEM	P5,PAGCNT
  2271	022572	402 00 0 00 025774 		SETZM	INJFN		;START WITH PAGE 0
  2272	022573	402 00 0 00 026245 		SETZM	LDBUF+1		;NO DATA YET
  2273
  2274	022574	200 14 0 01 000003 		MOVE	P5,.FBADR(T1)	;GET ADR OF INDEX BLOCK
  2275	022575	603 02 0 00 010000 		TLNE	T2,(FB%LNG)	;LONG FILE ?
  2276	022576	260 17 0 00 025326 		 GO	LNGERR		;YES, FILE TOO LONG TO PROCESS
  2277
  2278	022577	260 17 0 00 023473 	GX.DN1:	GO	READXB		;READ INDEX BLOCK
  2279
  2280	022600	254 00 0 00 020415 		JRST	CPOPJ1		;FOUND, SKIP RETURN
  2281
  2282	022601	202 07 0 00 025772 	GX.NE2:	MOVEM	Q3,GX.Q3#	;NULL EXT PROCESS
  2283	022602	200 06 0 00 025514 		MOVE	Q2,[POINT 7,[ASCIZ/CMD/]]
  2284	022603	260 17 0 00 022703 		GO	STRCMP
  2285	022604	254 00 0 00 022607 		JRST	.+3
  2286	022605	476 00 0 00 025740 		SETOM	CMDFLG
  2287	022606	254 00 0 00 022552 		JRST	GX.NV		;FOUND
  2288
  2289	022607	200 07 0 00 025772 		MOVE	Q3,GX.Q3
  2290	022610	200 06 0 00 025516 		MOVE	Q2,[POINT 7,[ASCIZ/A10/]]
  2291	022611	260 17 0 00 022703 		GO	STRCMP
  2292	022612	254 00 0 00 022615 		JRST	.+3
  2293	022613	476 00 0 00 025732 		SETOM	A10FLG
  2294	022614	254 00 0 00 022552 		JRST	GX.NV		;FOUND
  2295
  2296	022615	200 07 0 00 025772 		MOVE	Q3,GX.Q3
  2297	022616	200 06 0 00 025520 		MOVE	Q2,[POINT 7,[ASCIZ/SAV/]]
  2298	022617	260 17 0 00 022703 		GO	STRCMP
  2299	022620	304 00 0 00 000000 		CAIA
  2300	022621	254 00 0 00 022552 		JRST	GX.NV		;FOUND
  2301	022622	254 00 0 00 022546 		JRST	GX.NE1
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 63
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0091

  2302					;*MAPDIR, READ HEADER PAGE OF DIRECTORY
  2303
  2304	022623	201 13 0 00 017000 	MAPDIR:	MOVEI	P4,A%DIR	;GET ADR FOR DIRECTORY HEADER
  2305	022624	200 14 0 00 027000 		MOVE	P5,A%XB		;GET DISK ADR FOR FIRST PAGE OF DIR
  2306
  2307	022625	260 17 0 00 023072 		GO	DSKRD4		;READ HEADER PAGE OF DIRECTORY
  2308	022626	260 17 0 00 025314 		 GO	IOERR		;ERROR READING PAGE
  2309
  2310	022627	263 17 0 00 000000 		RTN			;DONE
  2311
  2312					;*GETPAG, MAP A PAGE OF THE DIRECTORY
  2313					;*	ENTRY	- P1/ ADDRESS TO MAP
  2314					;*	RETURN	- T1/ MAPPED ADDRESS
  2315
  2316	022630	550 01 0 00 000010 	GETPAG:	HRRZ	T1,P1		;GET ADR DESIRED FROM FILE
  2317	022631	242 01 0 00 777767 		LSH	T1,-^D9		;CONVERT ADDRESS TO PAGE NUMBER
  2318	022632	301 01 0 00 000772 		CAIL	T1,772		;MAXIMUM XB POINTERS = 512-6
  2319	022633	260 17 0 00 025326 		 GO	LNGERR		;BECAUSE OF LOAD LINKS
  2320	022634	200 14 0 01 027000 		MOVE	P5,A%XB(T1)	;GET DISK ADR OF FILE PAGE
  2321	022635	201 13 0 00 017000 		MOVEI	P4,A%DPG	;GET ADR OF DIRECTORY DATA PAGE
  2322	022636	316 14 0 00 025742 		CAMN	P5,CURPAG#	;DESIRED PAGE ALREADY IN CORE ?
  2323	022637	254 00 0 00 022650 		JRST	GETPG1		;YES, DO NOT NEED TO READ AGAIN
  2324
  2325	022640	202 00 0 00 026150 		MOVEM	0,ACSAV1	;SAVE AC'S
  2326	022641	200 00 0 00 025521 		MOVE	[1,,ACSAV1+1]
  2327	022642	251 00 0 00 026166 		BLT	ACSAV1+16
  2328
  2329	022643	260 17 0 00 023072 		GO	DSKRD4		;NO, READ THE PAGE
  2330	022644	260 17 0 00 025314 		 GO	IOERR		; - - - ERROR
  2331
  2332	022645	204 00 0 00 025521 		MOVS	[1,,ACSAV1+1]	;RESTORE AC'S
  2333	022646	251 00 0 00 000016 		BLT	16
  2334	022647	200 00 0 00 026150 		MOVE	0,ACSAV1
  2335
  2336	022650	135 01 0 00 025522 	GETPG1:	LDB	T1,[POINT 9,P1,35] ;GET LO-ORDER BITS OF ORIGINAL ADR
  2337	022651	435 01 0 00 017000 		ORI	T1,A%DPG	;ADD ADR OF DIR DATA PAGE
  2338	022652	202 14 0 00 025742 		MOVEM	P5,CURPAG	;UPDATE CURRENTLY IN-CORE PAGE
  2339	022653	263 17 0 00 000000 		RTN			;RETURN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 64
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0092

  2340					;*FIND, DO A PRIMARY NAME SEARCH IN A DIRECTORY
  2341
  2342	022654	260 17 0 00 022716 	FIND:	GO	STAOBJN		;BUILD S.T. AOBJN POINTER
  2343	022655	263 17 0 00 000000 		 RTN			;EMPTY
  2344
  2345	022656	200 06 0 00 025766 	FND.NF:	MOVE	Q2,FNDSTR	;FILE NAME
  2346
  2347	022657	260 17 0 00 022630 		GO	GETPAG		;MAP IN PAGE CONTAINING S.T. ENTRY
  2348
  2349	022660	135 07 0 00 025523 		LDB	Q3,[POINT 3,.SYMAD(T1),2]	;GET SYMBOL TYPE
  2350	022661	322 07 0 00 022663 		JUMPE	Q3,.+2
  2351	022662	263 17 0 00 000000 		 RTN			;IF NOT NAME TYPE, ERROR
  2352
  2353	022663	200 07 0 01 000001 		MOVE	Q3,.SYMVL(T1)	;GET 1ST 5 CHARS OF NAME
  2354	022664	312 07 1 00 025766 		CAME	Q3,@FNDSTR	;IS THIS A MATCH AGAINST STRING ?
  2355	022665	254 00 0 00 022677 		JRST	FND.NM		;NO, NO NEED TO COMPARE NAME STRING
  2356
  2357	022666	135 07 0 00 025524 		LDB	Q3,[POINT 33,.SYMAD(T1),35]	;GET FDB ADDRESS
  2358
  2359	022667	261 17 0 00 000010 		PUT	P1		;SAVE POINTER INTO SYMBOL TABLE
  2360
  2361	022670	200 10 0 00 000007 		MOVE	P1,Q3		;GET ADR OF FDB
  2362	022671	260 17 0 00 022630 		GO	GETPAG		;MAP IN PAGE CONTAINING FDB
  2363
  2364	022672	262 17 0 00 000010 		GET	P1		;RESTORE SYMBOL TABLE POINTER
  2365
  2366	022673	200 07 0 01 000026 		MOVE	Q3,.FBNAM(T1)	;GET ADR OF NAME STRING BLOCK
  2367	022674	505 07 0 00 440700 		HRLI	Q3,(POINT 7,0)	;SETUP STRING POINTER
  2368	022675	271 07 0 00 000001 		ADDI	Q3,1
  2369
  2370	022676	260 17 0 00 022703 		GO	STRCMP		;COMPARE NAME STRINGS
  2371
  2372					FND.NM:	JRST	[ADD	P1,[1,,1]
  2373							 AOBJN	P1,FND.NF ;NO MATCH, STEP OVER SYMBOL VALUE
  2374	022677	254 00 0 00 025525 			 RTN]		  ;NO MORE NAMES, ERROR
  2375
  2376	022700	260 17 0 00 022630 		GO	GETPAG		;MAP IN PAGE CONTAINING S.T. ENTRY
  2377
  2378	022701	550 10 0 01 000000 		HRRZ	P1,(T1)		;GET FIRST FILE FDB
  2379
  2380	022702	254 00 0 00 020415 		JRST	CPOPJ1		;SKIP RETURN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 65
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0093

  2381					;*STRCMP, STRING COMPARE ROUTINE
  2382
  2383	022703	261 17 0 00 000010 	STRCMP:	PUT	P1		;SAVE P1
  2384
  2385	022704	200 10 0 00 000007 		MOVE	P1,Q3		;COPY ADR OF STRING IN FILE
  2386
  2387	022705	260 17 0 00 022630 		GO	GETPAG		;MAP PAGE CONTAINING STRING BLOCK
  2388
  2389	022706	262 17 0 00 000010 		GET	P1		;RESTORE P1
  2390
  2391	022707	540 07 0 00 000001 		HRR	Q3,T1		;INSERT MAPPED ADR TO STRING
  2392
  2393	022710	134 01 0 00 000006 	STRCM1:	ILDB	T1,Q2		;GET 1ST BYTE
  2394	022711	134 02 0 00 000007 		ILDB	T2,Q3		;GET 2ND BYTE
  2395	022712	312 01 0 00 000002 		CAME	T1,T2		;EQUAL ?
  2396	022713	263 17 0 00 000000 		RTN			;NO, LOSE
  2397
  2398	022714	326 01 0 00 022710 		JUMPN	T1,STRCM1	;YES, END OF STRING ?
  2399
  2400	022715	254 00 0 00 020415 		JRST	CPOPJ1		;YES, SKIP RETURN
  2401
  2402					;*STAOBJN, BUILD A S.T. AOBJN POINTER
  2403
  2404	022716	200 01 0 00 017003 	STAOBJN:MOVE	T1,SYMBOT	;START OF ST AREA
  2405	022717	306 01 0 00 000776 		CAIN	T1,776
  2406	022720	263 17 0 00 000000 		 RTN			;EMPTY
  2407	022721	274 01 0 00 017004 		SUB	T1,SYMTOP	;GET -LENGTH
  2408	022722	200 10 0 00 017003 		MOVE	P1,SYMBOT	;BUILD AN AOBJN POINTER
  2409	022723	271 10 0 00 000002 		ADDI	P1,2
  2410	022724	505 10 0 01 000002 		HRLI	P1,2(T1)
  2411	022725	254 00 0 00 020415 		JRST	CPOPJ1
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 66
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0094

  2412					;*MFDPNT, PRINT MASTER FILE DIRECTORY
  2413
  2414	022726	476 00 0 00 026115 	MFDPNT:	SETOM	MFDFLG
  2415	022727	264 00 0 00 021623 		CTYCLR
  2416	022730	332 00 0 00 026037 		SKIPE	TOPS10
  2417	022731	254 00 0 00 022740 		JRST	MFDP10		;TOPS-10 PACK
  2418
  2419	022732	260 17 0 00 021257 		GO	CRLF1
  2420	022733	200 14 0 00 025745 		MOVE	P5,DIORG
  2421	022734	402 00 0 00 025742 		SETZM	CURPAG
  2422	022735	260 17 0 00 023473 		GO	READXB		;READ INDEX BLOCK
  2423	022736	260 17 0 00 022747 		GO	DIRPNT+4	;PRINT MASTER FILE DIRECTORY
  2424	022737	254 00 0 00 023361 		JRST	GETCOM-1
  2425
  2426	022740	200 14 0 00 025364 	MFDP10:	MOVE	P5,[1,,1]	;PPN [1,1] IS MFD FOR TOPS-10
  2427	022741	202 14 0 00 026016 		MOVEM	P5,PPN
  2428	022742	254 00 0 00 022466 		JRST	DSKDIR+1
  2429
  2430					;*DIRPNT, PRINT TOPS20 DIRECTORY
  2431
  2432	022743	402 00 0 00 026115 	DIRPNT:	SETZM	MFDFLG
  2433	022744	402 00 0 00 025764 		SETZM	FIRSTF#
  2434	022745	260 17 0 00 023457 		GO	FNDDIR		;FIND & SETUP DIRECTORY
  2435	022746	263 17 0 00 000000 		 RTN			;NOT FOUND
  2436
  2437	022747	260 17 0 00 022623 		GO	MAPDIR		;MAP IN DIRECTORY
  2438
  2439	022750	260 17 0 00 022716 		GO	STAOBJN		;BUILD AN S.T. AOBJN POINTER
  2440	022751	263 17 0 00 000000 		 RTN			;EMPTY
  2441
  2442
  2443	022752	202 10 0 00 025752 	DIRPN0:	MOVEM	P1,DIRP1#	;SAVE S.T. POINTER
  2444
  2445	022753	260 17 0 00 022630 		GO	GETPAG		;MAP IN PAGE CONTAINING S.T. ENTRY
  2446
  2447	022754	135 07 0 00 025523 		LDB	Q3,[POINT 3,.SYMAD(T1),2]
  2448	022755	322 07 0 00 022757 		JUMPE	Q3,.+2
  2449	022756	263 17 0 00 000000 		 RTN			;IF SYMBOL TYPE NOT NAME TYPE, DONE
  2450
  2451	022757	135 07 0 00 025524 		LDB	Q3,[POINT 33,.SYMAD(T1),35] ;GET FDB ADDRESS
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 67
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0095

  2452	022760	261 17 0 00 000010 	DIRPN1:	PUT	P1
  2453	022761	200 10 0 00 000007 		MOVE	P1,Q3
  2454	022762	260 17 0 00 022630 		GO	GETPAG		;MAP IN PAGE CONTAINING FDB
  2455	022763	262 17 0 00 000010 		GET	P1
  2456
  2457	022764	200 07 0 01 000026 		MOVE	Q3,.FBNAM(T1)	;GET NAME STRING POINTER
  2458	022765	202 07 0 00 025751 		MOVEM	Q3,DIRNAM#
  2459	022766	200 07 0 01 000027 		MOVE	Q3,.FBEXT(T1)	;GET EXT STRING POINTER
  2460	022767	202 07 0 00 025750 		MOVEM	Q3,DIREXT#
  2461	022770	200 07 0 01 000011 		MOVE	Q3,.FBBYV(T1)	;GET FILE BLOCK COUNT
  2462	022771	202 07 0 00 025746 		MOVEM	Q3,DIRBYV#
  2463	022772	200 07 0 01 000012 		MOVE	Q3,.FBSIZ(T1)	;GET FILE BYTE COUNT
  2464	022773	202 07 0 00 025753 		MOVEM	Q3,DIRSIZ#
  2465	022774	200 07 0 01 000002 		MOVE	Q3,.FBEXL(T1)	;GET NEXT EXT LINK
  2466	022775	202 07 0 00 025747 		MOVEM	Q3,DIREXL#
  2467
  2468	022776	200 07 0 00 025751 		MOVE	Q3,DIRNAM	;PRINT FILE NAME
  2469	022777	260 17 0 00 023060 		GO	DIRPNX
  2470
  2471	023000	261 17 0 00 000001 		PUT	T1
  2472	023001	201 00 0 00 000056 		MOVEI	"."
  2473	023002	260 17 0 00 021211 		GO	PRINT
  2474	023003	262 17 0 00 000001 		GET	T1
  2475
  2476	023004	200 07 0 00 025750 		MOVE	Q3,DIREXT	;PRINT FILE EXT
  2477	023005	260 17 0 00 023060 		GO	DIRPNX
  2478
  2479	023006	261 17 0 00 000001 		PUT	T1
  2480	023007	261 17 0 00 000002 		PUT	T2
  2481	023010	332 00 0 00 026115 		SKIPE	MFDFLG
  2482	023011	254 00 0 00 023045 		JRST	DIRPN5
  2483
  2484	023012	260 17 0 00 021565 		GO	PNTTAB
  2485
  2486	023013	200 01 0 00 026131 		MOVE	T1,CHRCTR
  2487	023014	305 01 0 00 000020 		CAIGE	T1,^D16
  2488	023015	260 17 0 00 021565 		GO	PNTTAB		;NECESSARY FOR SHORT NAMES
  2489
  2490	023016	336 00 0 00 025764 		SKIPN	FIRSTF
  2491	023017	254 00 0 00 023022 		JRST	.+3
  2492	023020	305 01 0 00 000050 		CAIGE	T1,^D40
  2493	023021	260 17 0 00 021565 		GO	PNTTAB		;FOR 2ND COLUMN SHORT NAME
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 68
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0096

  2494	023022	200 01 0 00 025753 		MOVE	T1,DIRSIZ	;GET BYTE COUNT
  2495	023023	135 07 0 00 025530 		LDB	Q3,[POINT 6,DIRBYV,11] ;GET BYTE SIZE
  2496	023024	306 07 0 00 000007 		CAIN	Q3,7		;7-BIT BYTES ?
  2497	023025	254 00 0 00 023032 		JRST	DIRPN2		;YES, ASCII DATA
  2498	023026	306 07 0 00 000044 		CAIN	Q3,^D36		;36-BIT BYTES ?
  2499	023027	254 00 0 00 023035 		JRST	DIRPN3		;YES FULL WORD DATA
  2500
  2501	023030	550 00 0 00 025746 		HRRZ	DIRBYV		;NEITHER
  2502	023031	242 00 0 00 000002 		LSH	2		;PAGE CNT * 4 = BLOCK CNT
  2503	023032	231 01 0 00 000005 	DIRPN2:	IDIVI	T1,5		;7-BIT, COMPUTE WORDS
  2504	023033	332 00 0 00 000002 		SKIPE	T2
  2505	023034	350 00 0 00 000001 		AOS	T1
  2506
  2507	023035	231 01 0 00 000200 	DIRPN3:	IDIVI	T1,^D128	;36-BIT, COMPUTE BLOCKS
  2508	023036	332 00 0 00 000002 		SKIPE	T2
  2509	023037	350 00 0 00 000001 		AOS	T1
  2510
  2511	023040	200 00 0 00 000001 	DIRPN4:	MOVE	0,T1
  2512	023041	260 17 0 00 021202 		GO	PNTDEC		;PRINT IT
  2513
  2514	023042	200 01 0 00 026131 		MOVE	T1,CHRCTR	;ROOM FOR MORE ON THIS LINE ?
  2515	023043	305 01 0 00 000026 		CAIGE	T1,^D22
  2516						JRST	[GO	PNTTAB
  2517							 SETOM	FIRSTF
  2518	023044	254 00 0 00 025531 			 JRST	DIRPN5+2]
  2519	023045	260 17 0 00 021257 	DIRPN5:	GO	CRLF1
  2520	023046	402 00 0 00 025764 		SETZM	FIRSTF
  2521	023047	262 17 0 00 000002 		GET	T2
  2522	023050	262 17 0 00 000001 		GET	T1
  2523
  2524	023051	135 07 0 00 025534 		LDB	Q3,[POINT 33,DIREXL,35]
  2525	023052	326 07 0 00 022760 		JUMPN	Q3,DIRPN1	;BACK IF MORE EXT IN FDB CHAIN
  2526
  2527	023053	200 10 0 00 025752 		MOVE	P1,DIRP1	;STEP TO NEXT S.T. ENTRY
  2528	023054	270 10 0 00 025364 		ADD	P1,[1,,1]
  2529	023055	253 10 0 00 022752 		AOBJN	P1,DIRPN0	;DO NEXT IF ANY LEFT
  2530
  2531	023056	260 17 0 00 021257 		GO	CRLF1
  2532	023057	263 17 0 00 000000 		RTN			;DONE
  2533
  2534	023060	261 17 0 00 000001 	DIRPNX:	PUT	T1
  2535	023061	271 07 0 00 000001 		ADDI	Q3,1
  2536	023062	261 17 0 00 000010 		PUT	P1
  2537	023063	200 10 0 00 000007 		MOVE	P1,Q3
  2538	023064	260 17 0 00 022630 		GO	GETPAG		;MAP IN PAGE CONTAINING PRINT INFO
  2539	023065	262 17 0 00 000010 		GET	P1
  2540	023066	550 00 0 00 000001 		HRRZ	0,T1		;GET PRINT ADDRESS
  2541	023067	260 17 0 00 021151 		PNTAL
  2542	023070	262 17 0 00 000001 		GET	T1
  2543	023071	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 69
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0097

  2544					;*DSKRD4, READ FOUR SECTORS (ONE PAGE) FROM DISK
  2545
  2546	023072	200 01 0 00 025760 	DSKRD4:	MOVE	T1,DSKTYP
  2547	023073	260 17 0 00 025007 		GO	DRVINI		;SET DISK PARAMETERS
  2548
  2549	023074	200 01 0 00 000014 		MOVE	T1,P5		;GET DISK ADDRESS
  2550	023075	621 01 0 00 777774 		TLZ	T1,777774	;KEEP JUST ADDRESS BITS
  2551	023076	202 01 0 00 025756 		MOVEM	T1,DSKLBN#
  2552	023077	202 13 0 00 025755 		MOVEM	P4,DSKADR#
  2553
  2554	023100	200 02 0 00 026014 		MOVE	T2,NUMCYL#	;COMPUTE UNIT #
  2555	023101	220 02 0 00 026010 		IMUL	T2,N.SCCL#	; & LBN ON UNIT
  2556	023102	230 01 0 00 000002 		IDIV	T1,T2
  2557
  2558	023103	202 02 0 00 026000 		MOVEM	T2,LBN#		;SAVE LBN ON UNIT
  2559
  2560	023104	550 12 0 01 026247 		HRRZ	P3,DSKTAB(T1)	;GET UNIT #
  2561	023105	202 12 0 00 026147 		MOVEM	P3,CUNIT
  2562
  2563	023106	554 12 0 01 026247 		HLRZ	P3,DSKTAB(T1)	;GET CHANNEL #
  2564	023107	620 12 0 00 400000 		TRZ	P3,ENTFLG
  2565	023110	202 12 0 00 026146 		MOVEM	P3,CTYPE
  2566
  2567	023111	202 13 0 00 025754 		MOVEM	P4,DSK%P4#	;SETUP BUFFER ADDRESS
  2568
  2569	023112	260 17 0 00 023257 		GO	RDPAGE		;READ FULL PAGE, 4 SECTORS
  2570	023113	254 00 0 00 023135 		JRST	DSKRD5		;GOOD
  2571									;FAILED, READ AS INDIVIDUAL SECTORS
  2572	023114	260 17 0 00 024727 		GO	DSKBLK		;READ FIRST SECTOR
  2573	023115	263 17 0 00 000000 		 RTN			;ERROR
  2574
  2575	023116	201 13 0 00 000200 		MOVEI	P4,200
  2576	023117	273 13 0 00 025754 		ADDB	P4,DSK%P4	;CHANGE BUFFER ADDRESS
  2577	023120	350 00 0 00 026000 		AOS	LBN
  2578	023121	260 17 0 00 024727 		GO	DSKBLK		;READ SECOND SECTOR
  2579	023122	263 17 0 00 000000 		 RTN			;ERROR
  2580
  2581	023123	201 13 0 00 000200 		MOVEI	P4,200
  2582	023124	273 13 0 00 025754 		ADDB	P4,DSK%P4	;CHANGE BUFFER ADDRESS
  2583	023125	350 00 0 00 026000 		AOS	LBN
  2584	023126	260 17 0 00 024727 		GO	DSKBLK		;READ THIRD SECTOR
  2585	023127	263 17 0 00 000000 		 RTN			;ERROR
  2586
  2587	023130	201 13 0 00 000200 		MOVEI	P4,200
  2588	023131	273 13 0 00 025754 		ADDB	P4,DSK%P4	;CHANGE BUFFER ADDRESS
  2589	023132	350 00 0 00 026000 		AOS	LBN
  2590	023133	260 17 0 00 024727 		GO	DSKBLK		;READ FOURTH SECTOR
  2591	023134	263 17 0 00 000000 		 RTN			;ERROR
  2592
  2593	023135	310 00 0 00 000000 	DSKRD5:	CAM			;"GO DSKPNT" ## PRINT DATA READ ##
  2594	023136	254 00 0 00 020415 		JRST	CPOPJ1		;SKIP RETURN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 70
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0098

  2595					;*DSKPNT, PRINT DISK PAGE JUST READ
  2596
  2597	023137	261 17 0 00 000013 	DSKPNT:	PUT	P4
  2598	023140	200 13 0 00 025755 		MOVE	P4,DSKADR	;SETUP BUFFER ADDRESS
  2599	023141	505 13 0 00 777000 		HRLI	P4,-1000	; & AOBJN POINTER
  2600	023142	402 00 0 00 025757 		SETZM	DSKPF#
  2601
  2602	023143	264 00 0 00 021623 		CTYCLR
  2603
  2604	023144	260 17 0 00 021257 		GO	CRLF1
  2605
  2606	023145	554 00 0 00 025756 		HLRZ	0,DSKLBN	;PRINT LOGICAL BLOCK NUMBER READ
  2607	023146	260 17 0 00 021164 		GO	PNTOCT
  2608	023147	550 00 0 00 025756 		HRRZ	0,DSKLBN
  2609	023150	260 17 0 00 021164 		GO	PNTOCT
  2610	023151	260 17 0 00 021257 		GO	CRLF1
  2611
  2612	023152	254 00 0 00 023172 		JRST	DSKPN2+1	;NOOP THIS TO PRINT DATA
  2613
  2614	023153	336 00 0 13 000000 	DSKPN1:	SKIPN	(P4)		;ANY DATA ?
  2615	023154	254 00 0 00 023175 		JRST	DSKPN3		;NO
  2616
  2617	023155	550 00 0 00 000013 		HRRZ	0,P4		;PRINT BUFFER ADDRESS
  2618	023156	260 17 0 00 021164 		GO	PNTOCT
  2619	023157	201 00 0 00 000057 		MOVEI	"/"
  2620	023160	260 17 0 00 021211 		GO	PRINT
  2621
  2622	023161	554 00 0 13 000000 		HLRZ	0,(P4)		;PRINT DATA
  2623	023162	260 17 0 00 021164 		GO	PNTOCT
  2624	023163	201 00 0 00 000040 		MOVEI	" "
  2625	023164	260 17 0 00 021211 		GO	PRINT
  2626	023165	550 00 0 13 000000 		HRRZ	0,(P4)
  2627	023166	260 17 0 00 021164 		GO	PNTOCT
  2628	023167	476 00 0 00 025757 		SETOM	DSKPF
  2629
  2630	023170	260 17 0 00 021257 		GO	CRLF1
  2631
  2632	023171	253 13 0 00 023153 	DSKPN2:	AOBJN	P4,DSKPN1	;DO FULL PAGE
  2633
  2634	023172	260 17 0 00 021257 		GO	CRLF1
  2635	023173	262 17 0 00 000013 		GET	P4
  2636	023174	263 17 0 00 000000 		RTN
  2637
  2638	023175	332 00 0 00 025757 	DSKPN3:	SKIPE	DSKPF
  2639	023176	260 17 0 00 021257 		GO	CRLF1
  2640	023177	402 00 0 00 025757 		SETZM	DSKPF
  2641	023200	254 00 0 00 023171 		JRST	DSKPN2
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 71
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0099

  2642					;*CHKHOM, CHECK HOME BLOCK
  2643					;*	CTYPE/ CHANNEL #
  2644					;*	CUNIT/ UNIT #
  2645					;*	RPTYPE/ DRIVE TYPE CODE
  2646
  2647	023201	200 01 0 00 017000 	CHKHOM:	MOVE	T1,HOMNAM	;CHECK BLOCK NAME
  2648	023202	312 01 0 00 025535 		CAME	T1,[SIXBIT /HOM/]
  2649	023203	263 17 0 00 000000 		RTN			;BAD
  2650
  2651	023204	200 01 0 00 017176 		MOVE	T1,HOMCOD	;CHECK BLOCK CODE
  2652	023205	302 01 0 00 707070 		CAIE	T1,CODHOM
  2653	023206	263 17 0 00 000000 		RTN			;BAD
  2654
  2655	023207	260 17 0 00 023325 		GO	PAKTYP		;DETERMINE PACK TYPE
  2656	023210	332 00 0 00 025744 		SKIPE	DEVIDF
  2657	023211	254 00 0 00 023266 		JRST	DEVIDP		;PRINT DEVICE IDENTIFICATION
  2658
  2659	023212	332 00 0 00 026037 		SKIPE	TOPS10
  2660	023213	254 00 0 00 023251 		JRST	CHOM10		;CHECK TOPS-10 HOME BLOCK
  2661
  2662	023214	200 01 0 00 017003 		MOVE	T1,T20SNM	;CHECK STRUCTURE NAME
  2663	023215	312 01 0 00 026034 		CAME	T1,STRNAM#
  2664	023216	263 17 0 00 000000 		RTN			;NO MATCH
  2665
  2666	023217	200 01 0 00 017004 		MOVE	T1,T20LUN	;GET LOGICAL UNIT
  2667	023220	332 00 0 01 026247 		SKIPE	DSKTAB(T1)	;IS THERE ALREADY AN ENTRY ?
  2668	023221	260 17 0 00 025322 		 GO	DPLUNI		;YES, ERROR - DUPLICATE UNITS
  2669
  2670	023222	200 10 0 00 026146 		MOVE	P1,CTYPE
  2671	023223	200 11 0 00 026147 		MOVE	P2,CUNIT
  2672	023224	552 11 0 01 026247 		HRRZM	P2,DSKTAB(T1)	;STORE UNIT NUMBER
  2673	023225	201 02 0 10 400000 		MOVEI	T2,ENTFLG(P1)	;GET CHN & ENTRY-IN-USE FLAG
  2674	023226	506 02 0 01 026247 		HRLM	T2,DSKTAB(T1)	;STORE CHANNEL NUMBER
  2675	023227	554 01 0 00 000001 		HLRZ	T1,T1		;GET UNI # IN STR
  2676	023230	370 00 0 00 000001 		SOS	T1
  2677	023231	336 00 0 00 026006 		SKIPN	MAXUNI#		;ALREADY SET ?
  2678	023232	202 01 0 00 026006 		MOVEM	T1,MAXUNI	;NO, SET
  2679
  2680	023233	312 01 0 00 026006 		CAME	T1,MAXUNI	;SAME AS OTHERS ?
  2681	023234	260 17 0 00 025324 		 GO	BADSTR		;NO, ERROR
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 72
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0100

  2682
  2683	023235	200 02 0 00 017010 		MOVE	T2,HOMRXB	;GET ROOT XB
  2684	023236	336 00 0 00 025745 		SKIPN	DIORG		;ALREADY SET ?
  2685	023237	202 02 0 00 025745 		MOVEM	T2,DIORG	;NO, SET
  2686
  2687	023240	312 02 0 00 025745 		CAME	T2,DIORG	;SAME AS OTHERS ?
  2688	023241	260 17 0 00 025324 		 GO	BADSTR		;NO, ERROR
  2689
  2690	023242	337 01 0 00 025760 		SKIPG	T1,DSKTYP	;IS TYPE KNOWN YET ?
  2691	023243	254 00 0 00 023246 		JRST	.+3		;NO
  2692	023244	312 01 0 00 026020 		CAME	T1,RPTYPE	;YES, ALL UNITS SAME TYPE ?
  2693	023245	260 17 0 00 025316 		 GO	BADUNI		;NO
  2694
  2695	023246	200 01 0 00 026020 		MOVE	T1,RPTYPE
  2696	023247	202 01 0 00 025760 		MOVEM	T1,DSKTYP
  2697	023250	263 17 0 00 000000 		RTN
  2698
  2699					;*CHOM10, CHECK TOPS-10 HOME BLOCK
  2700
  2701	023251	200 01 0 00 017004 	CHOM10:	MOVE	T1,HBUF+HOMSNM	;DESIRED UNIT ?
  2702	023252	200 02 0 00 017010 		MOVE	T2,HBUF+HOMLUN
  2703	023253	316 01 0 00 026142 		CAMN	T1,STRUCT	;CHECK AGAINST SUPPLIED ARGUMENTS
  2704	023254	312 02 0 00 026143 		CAME	T2,SLUNIT
  2705	023255	263 17 0 00 000000 		RTN
  2706	023256	254 00 0 00 020415 		JRST	CPOPJ1		;GOOD
  2707
  2708					;*RDPAGE, READ FULL TOPS-20 PAGE, 4 SECTORS
  2709
  2710	023257	260 17 0 00 024725 	RDPAGE:	GO	DSKBLK-2
  2711	023260	350 00 0 17 000000 		AOS	(P)		;FAILED, SKIP RETURN
  2712	023261	263 17 0 00 000000 		RTN			;PASSED
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 73
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0101

  2713					;*DEVID, IDENTIFY DISKS
  2714
  2715	023262	264 00 0 00 021623 	DEVID:	CTYCLR
  2716	023263	476 00 0 00 025744 		SETOM	DEVIDF
  2717
  2718	023264	260 17 0 00 024655 		GO	FNDUNI		;FIND & IDENTIFY DISKS
  2719
  2720	023265	254 00 0 00 023361 		JRST	GETCOM-1
  2721
  2722	023266	200 01 0 00 017003 	DEVIDP:	MOVE	A,T20SNM
  2723	023267	332 00 0 00 026037 		SKIPE	TOPS10
  2724	023270	200 01 0 00 017004 		MOVE	A,HBUF+HOMSNM
  2725	023271	260 17 0 00 020341 		GO	SIXBP		;PRINT STRUCTURE NAME
  2726
  2727	023272	260 17 0 00 021565 		GO	PNTTAB
  2728
  2729	023273	332 00 0 00 026037 		SKIPE	TOPS10
  2730	023274	254 00 0 00 023304 		JRST	.+^D8
  2731
  2732	023275	554 00 0 00 017004 		HLRZ	T20LUN		;PRINT LOGICAL UNIT
  2733	023276	260 17 0 00 021202 		GO	PNTDEC
  2734	023277	201 00 0 00 000054 		MOVEI	","
  2735	023300	260 17 0 00 021211 		GO	PRINT
  2736	023301	550 00 0 00 017004 		HRRZ	T20LUN
  2737	023302	260 17 0 00 021202 		GO	PNTDEC
  2738
  2739	023303	260 17 0 00 021565 		GO	PNTTAB
  2740
  2741	023304	200 02 0 00 026020 		MOVE	T2,RPTYPE	;PRINT DISK TYPE
  2742	023305	306 02 0 00 000020 		CAIN	T2,.R4TYP
  2743	023306	200 01 0 00 025536 		MOVE	T1,[SIXBIT/RP04/]
  2744	023307	306 02 0 00 000021 		CAIN	T2,.R5TYP
  2745	023310	200 01 0 00 025537 		MOVE	T1,[SIXBIT/RP05/]
  2746	023311	306 02 0 00 000022 		CAIN	T2,.R6TYP
  2747	023312	200 01 0 00 025540 		MOVE	T1,[SIXBIT/RP06/]
  2748	023313	306 02 0 00 000024 		CAIN	T2,.R3TYP
  2749	023314	200 01 0 00 025541 		MOVE	T1,[SIXBIT/RM03/]
  2750	023315	260 17 0 00 020341 		GO	SIXBP
  2751
  2752	023316	260 17 0 00 021565 		GO	PNTTAB
  2753
  2754	023317	200 01 0 00 025542 		MOVE	T1,[SIXBIT/TOPS10/]
  2755	023320	336 00 0 00 026037 		SKIPN	TOPS10
  2756	023321	200 01 0 00 025543 		MOVE	T1,[SIXBIT/TOPS20/]
  2757	023322	260 17 0 00 020341 		GO	SIXBP
  2758
  2759	023323	260 17 0 00 021257 		GO	CRLF1
  2760	023324	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 74
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0102

  2761					;*PAKTYP, DETERMINE PACK TYPE, TOPS-10 OR TOPS-20
  2762
  2763	023325	402 00 0 00 026037 	PAKTYP:	SETZM	TOPS10
  2764	023326	200 01 0 00 017173 		MOVE	T1,HOMPID	;GET FIRST WORD OF PACK TYPE
  2765	023327	312 01 0 00 023352 		CAME	T1,T10ID	;TOPS-10 PACK ?
  2766	023330	254 00 0 00 023341 		JRST	PAKTY1		;NO, TRY TOPS-20
  2767
  2768	023331	200 01 0 00 017174 		MOVE	T1,HOMPID+1	;VERIFY 2ND WORD
  2769	023332	312 01 0 00 023353 		CAME	T1,T10ID+1
  2770	023333	260 17 0 00 025356 		GO	ERR13		;BAD
  2771
  2772	023334	200 01 0 00 017175 		MOVE	T1,HOMPID+2
  2773	023335	312 01 0 00 023354 		CAME	T1,T10ID+2
  2774	023336	260 17 0 00 025356 		GO	ERR13		;BAD
  2775
  2776	023337	476 00 0 00 026037 		SETOM	TOPS10		;GOOD TOPS-10 PACK
  2777	023340	263 17 0 00 000000 		RTN
  2778	
  2779	023341	312 01 0 00 023355 	PAKTY1:	CAME	T1,T20ID	;TOPS-20 PACK ?
  2780	023342	260 17 0 00 025356 		GO	ERR13		;NOT TOPS-20 EITHER
  2781
  2782	023343	200 01 0 00 017174 		MOVE	T1,HOMPID+1	;VERIFY 2ND WORD
  2783	023344	312 01 0 00 023356 		CAME	T1,T20ID+1
  2784	023345	260 17 0 00 025356 		GO	ERR13		;BAD
  2785
  2786	023346	200 01 0 00 017175 		MOVE	T1,HOMPID+2
  2787	023347	312 01 0 00 023357 		CAME	T1,T20ID+2
  2788	023350	260 17 0 00 025356 		GO	ERR13		;BAD
  2789	023351	263 17 0 00 000000 		RTN
  2790
  2791	023352	0 117 124 0 123 120 	T10ID:	BYTE	(2)0 (8)"O" (8)"T" (2)0 (8)"S" (8)"P"
  2792	023353	0 061 055 0 040 060 		BYTE	(2)0 (8)"1" (8)"-" (2)0 (8)" " (8)"0"
  2793	023354	0 040 040 0 040 040 		BYTE	(2)0 (8)" " (8)" " (2)0 (8)" " (8)" "
  2794
  2795	023355	0 040 040 0 117 124 	T20ID:	BYTE	(2)0 (8)" " (8)" " (2)0 (8)"O" (8)"T"
  2796	023356	0 123 120 0 062 055 		BYTE	(2)0 (8)"S" (8)"P" (2)0 (8)"2" (8)"-"
  2797	023357	0 040 060 0 040 040 		BYTE	(2)0 (8)" " (8)"0" (2)0 (8)" " (8)" "
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 75
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0103

  2798					;*GETCOM, PROMPT FOR AND INPUT DESIRED DISK
  2799
  2800	023360	260 17 0 00 021257 		GO	CRLF1
  2801	023361	260 17 0 00 021257 		GO	CRLF1
  2802	023362	260 17 0 00 023503 	GETCOM:	GO	GETCXX		;INIT FLAGS
  2803
  2804	023363	201 00 0 00 025544 		MOVEI	[ASCIZ/DISK:<DIRECTORY> OR DISK:[P,PN] - /]
  2805	023364	260 17 0 00 021151 		PNTAL
  2806
  2807	023365	260 17 0 00 023523 	GETCO1:	GO	GETSTR		;GET COMMAND
  2808	023366	254 00 0 00 023361 		JRST	GETCOM-1
  2809
  2810	023367	400 11 0 00 000000 		SETZ	P2,		;WHERE TO FORM STRUCTURE NAME
  2811	023370	336 00 0 00 025743 		SKIPN	DEV#		;DEVICE TYPED ?
  2812	023371	254 00 0 00 023440 		JRST	DVX1		;NO, GO FIND DEFAULT
  2813
  2814	023372	200 01 0 00 025463 		MOVE	T1,[POINT 7,D$ISTR]
  2815	023373	200 02 0 00 025553 		MOVE	T2,[POINT 6,P2]	;PTR TO NAME
  2816	023374	201 03 0 00 000006 		MOVEI	T3,6		;MAX # OF CHARS
  2817
  2818	023375	134 04 0 00 000001 	DEVNAM:	ILDB	T4,T1		;GET CHAR
  2819	023376	306 04 0 00 000072 		CAIN	T4,":"		;END OF NAME ?
  2820	023377	254 00 0 00 023406 		JRST	DEVX		;YES
  2821
  2822	023400	275 04 0 00 000040 		SUBI	T4,40		;CONVERT TO SIXBIT
  2823	023401	136 04 0 00 000002 		IDPB	T4,T2		;STORE
  2824	023402	367 03 0 00 023375 		SOJG	T3,DEVNAM	;LOOP
  2825	023403	134 04 0 00 000001 		ILDB	T4,T1
  2826	023404	302 04 0 00 000072 		CAIE	T4,":"
  2827	023405	254 00 0 00 023361 		JRST	GETCOM-1	;TOO MANY DEVICE CHARS
  2828
  2829	023406	202 11 0 00 026034 	DEVX:	MOVEM	P2,STRNAM	;MAKE THIS THE STRUCTURE
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 76
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0104

  2830					;*FDSK, FIND SELECTED STRUCTURE AND ALL UNITS IN STRUCTURE
  2831
  2832	023407	260 17 0 00 024655 	FDSK:	GO	FNDUNI		;FIND UNIT & SETUP DISK TABLE
  2833
  2834	023410	332 00 0 00 026037 		SKIPE	TOPS10
  2835	023411	254 00 0 00 023416 		JRST	CHKSTR+3	;TOPS-10 PACK
  2836
  2837	023412	200 01 0 00 026006 		MOVE	T1,MAXUNI	;CHECK FOR FULL DECK
  2838	023413	336 00 0 01 026247 	CHKSTR:	SKIPN	DSKTAB(T1)	;ANY ID ?
  2839	023414	260 17 0 00 025320 		 GO	MISUNI		;NO, MISSING STRUCTURE/UNIT
  2840	023415	365 01 0 00 023413 		SOJGE	T1,CHKSTR	;YES, LOOP FOR OTHER UNITS
  2841
  2842	023416	336 01 0 00 025743 		SKIPN	T1,DEV		;WAS DEVICE SPECIFIED ?
  2843	023417	200 01 0 00 025463 		MOVE	T1,[POINT 7,D$ISTR] ;NO
  2844	023420	200 06 0 00 022475 		MOVE	Q2,DIRSTR	;SETUP DIRECTORY STORAGE POINTER
  2845
  2846	023421	134 05 0 00 000001 	DVX3:	ILDB	Q1,T1		;GET FIRST DIR CHAR 
  2847	023422	306 05 0 00 000077 		CAIN	Q1,"?"		;IS IT QMARK, "PRINT MFD" ?
  2848	023423	254 00 0 00 022726 		JRST	MFDPNT		;YES
  2849	023424	306 05 0 00 000000 		CAIN	Q1,0
  2850	023425	254 00 0 00 023445 		JRST	DVX2		;NO DIRECTORY GIVEN, USE "DIAGNOSTICS"
  2851	023426	332 00 0 00 026037 		SKIPE	TOPS10
  2852	023427	254 00 0 00 023556 		JRST	PPNIN		;TOPS-10 PACK
  2853	023430	254 00 0 00 023432 		JRST	.+2
  2854
  2855	023431	134 05 0 00 000001 	FDSK1:	ILDB	Q1,T1		;GET INPUT CHAR
  2856	023432	322 05 0 00 023451 		JUMPE	Q1,FDSK2	;EOL
  2857
  2858	023433	302 05 0 00 000074 		CAIE	Q1,"<"		;IGNORE ANGLE BRACKETS
  2859	023434	306 05 0 00 000076 		CAIN	Q1,">"
  2860	023435	254 00 0 00 023431 		JRST	FDSK1
  2861
  2862	023436	136 05 0 00 000006 		IDPB	Q1,Q2		;STORE DIRECTORY STRING
  2863	023437	254 00 0 00 023431 		JRST	FDSK1
  2864
  2865	023440	200 11 0 00 026311 	DVX1:	MOVE	P2,D$ISTR
  2866	023441	316 11 0 00 025554 		CAMN	P2,[ASCII/?/]	;WAS "?" ONLY TYPED ?
  2867	023442	254 00 0 00 023262 		JRST	DEVID		;YES, IDENTIFY DISKS
  2868	023443	205 11 0 00 606300 		MOVSI	P2,(SIXBIT/PS/)	;NO DEVICE TYPED, USE "PS" AS DEFAULT
  2869	023444	254 00 0 00 023406 		JRST	DEVX
  2870
  2871	023445	332 00 0 00 026037 	DVX2:	SKIPE	TOPS10
  2872	023446	254 00 0 00 023451 		JRST	FDSK2		;TOPS10 PACK
  2873	023447	200 01 0 00 025555 		MOVE	T1,[POINT 7,D$DFLT]
  2874	023450	254 00 0 00 023421 		JRST	DVX3
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 77
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0105

  2875	023451	260 17 0 00 023457 	FDSK2:	GO	FNDDIR		;FIND & SETUP DIRECTORY
  2876	023452	254 00 0 00 023454 		 JRST	.+2
  2877	023453	263 17 0 00 000000 		RTN			;OK
  2878
  2879	023454				DIRERR:	PMSG	<^?DIRECTORY NOT FOUND^>^
  2880	023454	201 00 0 00 025556 		MOVEI	[SIXBIT\^?DIRECTORY NOT FOUND^_\]
  2881	023455	260 17 0 00 021115 		PNTMSG^
  2882	023456	254 00 0 00 023641 		JRST	DEVSEL		;TRY AGAIN
  2883
  2884	023457	332 00 0 00 026037 	FNDDIR:	SKIPE	TOPS10
  2885	023460	254 00 0 00 024061 		JRST	FNDD10		;FIND TOPS-10 PACK DIRECTORY
  2886
  2887	023461	200 14 0 00 025745 		MOVE	P5,DIORG#	;GET ADDRESS
  2888	023462	402 00 0 00 025742 		SETZM	CURPAG
  2889
  2890	023463	260 17 0 00 023473 		GO	READXB		;READ ROOT-DIR XB
  2891
  2892	023464	260 17 0 00 022623 		GO	MAPDIR		;MAP IN ROOT-DIR HEADER PAGE
  2893
  2894	023465	200 01 0 00 022475 		MOVE	T1,DIRSTR	;GET POINTER TO DIR STRING
  2895	023466	200 02 0 00 025564 		MOVE	T2,[POINT 7,[ASCIZ/DIRECTORY/]]
  2896	023467	201 03 0 00 000000 		MOVEI	T3,0		;GET HIGHEST VERSION #
  2897
  2898	023470	260 17 0 00 022527 		GO	GETIDX		;GET INDEX BLOCK OF DIR FILE
  2899	023471	263 17 0 00 000000 		 RTN			;NOT FOUND
  2900	023472	254 00 0 00 020415 		JRST	CPOPJ1		;FOUND
  2901
  2902					;*READXB, READ THE INDEX BLOCK
  2903					;*	READ INTO 27000 TO 27771
  2904					;*	LAST 6 LOCATIONS USED FOR LOAD LINKS
  2905					;*	WHICH ALLOWS A FILE TO BE MAX OF 2024. BLOCKS
  2906
  2907	023473	200 13 0 00 025565 	READXB:	MOVE	P4,[FSELNK,,LDATA]
  2908	023474	251 13 0 00 026176 		BLT	P4,LDATA+5	;SAVE LOAD LINKS
  2909
  2910	023475	201 13 0 00 027000 		MOVEI	P4,A%XB		;READ INTO XB AREA
  2911
  2912	023476	260 17 0 00 023072 		GO	DSKRD4		;READ THE PAGE
  2913	023477	260 17 0 00 025314 		 GO	IOERR		;ERROR
  2914
  2915	023500	200 13 0 00 025566 		MOVE	P4,[LDATA,,FSELNK]
  2916	023501	251 13 0 00 027777 		BLT	P4,FSELNK+5	;RESTORE LOAD LINKS
  2917
  2918	023502	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 78
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0106

  2919
  2920	023503	201 00 0 00 000001 	GETCXX:	MOVEI	1		;SET DEVICE TYPE TO DISK
  2921	023504	202 00 0 00 026124 		MOVEM	DEVTYP
  2922	023505	402 00 0 00 025744 		SETZM	DEVIDF#
  2923	023506	402 00 0 00 026115 		SETZM	MFDFLG
  2924	023507	402 00 0 00 026114 		SETZM	DDIRF1
  2925
  2926	023510	402 00 0 00 026247 		SETZM	DSKTAB		;CLEAR DISK TABLE
  2927	023511	200 01 0 00 025567 		MOVE	T1,[DSKTAB,,DSKTAB+1]
  2928	023512	251 01 0 00 026256 		BLT	T1,DSKTAB+DSKSIZ-1
  2929
  2930	023513	402 00 0 00 025760 		SETZM	DSKTYP#		;INDICATE UNIT TYPE UNKNOWN
  2931	023514	402 00 0 00 026006 		SETZM	MAXUNI		;INIT MAXIMUM UNIT
  2932	023515	402 00 0 00 026037 		SETZM	TOPS10#
  2933	023516	402 00 0 00 026016 		SETZM	PPN#
  2934
  2935	023517	402 00 0 00 026257 		SETZM	D$DIR		;CLEAR DIRECTORY STORAGE
  2936	023520	200 06 0 00 025570 		MOVE	Q2,[D$DIR,,D$DIR+1]
  2937	023521	251 06 0 00 026266 		BLT	Q2,D$DIR+7
  2938	023522	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 79
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0107

  2939					;*GETSTR, STRING READ FROM CONSOLE
  2940
  2941	023523	200 07 0 00 025463 	GETSTR:	MOVE	Q3,[POINT 7,D$ISTR]
  2942	023524	402 00 0 00 026311 		SETZM	D$ISTR
  2943	023525	200 01 0 00 000007 		MOVE	T1,Q3
  2944	023526	402 00 0 00 025743 		SETZM	DEV
  2945
  2946	023527	260 17 0 00 021355 	GET.W:	TTICHR			;READ A CHAR
  2947	023530	202 00 0 00 000005 		MOVEM	0,Q1
  2948
  2949	023531	302 05 0 00 000025 		CAIE	Q1,"U"-100	;CONTROL-U ?
  2950	023532	306 05 0 00 000177 		CAIN	Q1,177		;RUBOUT ?
  2951						JRST	[MOVSI	T1,'XXX'
  2952							 GO	SIXBP	;YES, PRINT LINE DELETE
  2953	023533	254 00 0 00 025571 			 RTN]
  2954	023534	301 05 0 00 000140 		CAIL	Q1,140		;LOWER CASE ?
  2955	023535	275 05 0 00 000040 		SUBI	Q1,40		;YES, MAKE UPPER
  2956	023536	306 05 0 00 000015 		CAIN	Q1,15		;EOL ?
  2957	023537	254 00 0 00 023552 		JRST	GET.EL		;YES, FINISH OUT
  2958	023540	306 05 0 00 000012 		CAIN	Q1,12		;EOL ?
  2959	023541	254 00 0 00 023552 		JRST	GET.EL		;YES, FINISH OUT
  2960	023542	306 05 0 00 000033 		CAIN	Q1,33		;ALTMODE ?
  2961	023543	254 00 0 00 023552 		JRST	GET.EL		;YES, FINISH OUT
  2962
  2963	023544	136 05 0 00 000007 		IDPB	Q1,Q3		;STORE CHAR
  2964	023545	302 05 0 00 000072 		CAIE	Q1,":"		;DEVICE NAME TERM ?
  2965	023546	254 00 0 00 023527 		JRST	GET.W		;NO, LOOP
  2966
  2967	023547	202 07 0 00 025743 		MOVEM	Q3,DEV#		;YES, SET FLAG
  2968	023550	200 01 0 00 000007 		MOVE	T1,Q3		;NEW COMMAND POINTER
  2969	023551	254 00 0 00 023527 		JRST	GET.W		;LOOP FOR MORE
  2970
  2971	023552	260 17 0 00 021257 	GET.EL:	GO	CRLF1		;EHCO CR/LF
  2972
  2973	023553	400 02 0 00 000000 	GET.E1:	SETZ	T2,		;TERMINATING NULL
  2974	023554	136 02 0 00 000007 		IDPB	T2,Q3		;STORE
  2975	023555	254 00 0 00 020415 		JRST	CPOPJ1
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 80
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0108

  2976					;*PPNIN - TOPS-10 DISK AND PROJ PROGRAMMER SPECIFICATION
  2977
  2978	023556	402 00 0 00 000000 	PPNIN:	SETZM	F
  2979	023557	200 11 0 00 025361 		MOVE	P2,PPNPTR
  2980	023560	403 06 0 00 000004 		SETZB	Q2,W
  2981	023561	202 00 0 00 000003 		MOVEM	F,T3
  2982	023562	200 00 0 00 000005 		MOVE	F,Q1
  2983
  2984	023563	260 17 0 00 023571 		GO	PPNCHR+2
  2985
  2986	023564	254 00 0 00 023451 		JRST	FDSK2
  2987
  2988	023565	200 11 0 00 025361 	PPNLP:	MOVE	P2,PPNPTR
  2989	023566	403 06 0 00 000004 		SETZB	Q2,W
  2990
  2991	023567	202 00 0 00 000003 	PPNCHR:	MOVEM	F,T3
  2992	023570	134 00 0 00 000001 		ILDB	F,T1		;GET INPUT BYTE
  2993	023571	250 00 0 00 000003 		EXCH	F,T3
  2994
  2995	023572	307 03 0 00 000132 		CAIG	T3,"Z"
  2996	023573	305 03 0 00 000101 		CAIGE	T3,"A"
  2997	023574	334 00 0 00 000000 		SKIPA
  2998	023575	254 00 0 00 023603 		JRST	PPNLTR			;LETTER
  2999
  3000	023576	307 03 0 00 000071 		CAIG	T3,"9"
  3001	023577	305 03 0 00 000060 		CAIGE	T3,"0"
  3002	023600	254 00 0 00 023607 		JRST	PPN0			;NO, BREAK CHARACTER
  3003
  3004	023601	242 06 0 00 000003 		LSH	Q2,3			;BUILD OCTAL NUMBER
  3005	023602	271 06 0 03 777720 		ADDI	Q2,-60(T3)		;ADD IN THIS DIGIT
  3006
  3007	023603	640 03 0 00 000040 	PPNLTR:	TRC	T3,40			;MAKE IT SIXBIT
  3008	023604	603 11 0 00 770000 		TLNE	P2,770000		;ONLY SIX CHARACTERS
  3009	023605	136 03 0 00 000011 		IDPB	T3,P2			;STORE CHAR IN W
  3010	023606	254 00 0 00 023567 		JRST	PPNCHR			;LOOP FOR MORE
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 81
SMMON	MAC	11-Apr-79 13:23		TOPS20 DISK DIRECTORY PROCESS                                                      SEQ 0109

  3011
  3012	023607	302 03 0 00 000072 	PPN0:	CAIE	T3,":"			;UNIT DELIMITER ?
  3013	023610	254 00 0 00 023613 		JRST	PPN1			;NO
  3014
  3015	023611	202 04 0 00 026034 		MOVEM	W,STRNAM		;YES, SAVE NAME OF DEVICE
  3016	023612	254 00 0 00 023565 		JRST	PPNLP
  3017
  3018	023613	302 03 0 00 000135 	PPN1:	CAIE	T3,"]"			;END OF PPN ?
  3019	023614	254 00 0 00 023621 		JRST	PPN2			;NO
  3020
  3021	023615	542 06 0 00 026016 		HRRM	Q2,PPN			;YES, SAVE PROGRAMMER NUMBER
  3022	023616	627 00 0 00 000004 		TLZN	F,L.CMA			;CLEAR PPN COMMA FLAG
  3023	023617	263 17 0 00 000000 		RTN				;IT WASN'T ON, BAD !
  3024	023620	254 00 0 00 023565 		JRST	PPNLP
  3025
  3026	023621	607 00 0 00 000006 	PPN2:	TLNN	F,L.LBK!L.CMA		;ANY SYNTAX REQUESTS ?
  3027	023622	254 00 0 00 023627 		JRST	PPN5			;NO
  3028
  3029	023623	623 00 0 00 000002 		TLZE	F,L.LBK			;PPN REQUEST ?
  3030	023624	506 06 0 00 026016 		HRLM	Q2,PPN			;YES, STORE PROJ NO.
  3031	023625	623 00 0 00 000004 		TLZE	F,L.CMA			;PPN PART 2 ?
  3032	023626	542 06 0 00 026016 		HRRM	Q2,PPN			;YES, STORE PROG NO.
  3033
  3034	023627	306 03 0 00 000000 	PPN5:	CAIN	T3,0
  3035	023630	263 17 0 00 000000 		RTN				;NULL - COMPLETED
  3036
  3037	023631	302 03 0 00 000133 	PPN3:	CAIE	T3,"["
  3038	023632	254 00 0 00 023635 		JRST	PPN4
  3039
  3040	023633	661 00 0 00 000002 		TLO	F,L.LBK			;PPN REQUEST
  3041	023634	254 00 0 00 023565 		JRST	PPNLP
  3042
  3043	023635	302 03 0 00 000054 	PPN4:	CAIE	T3,","
  3044	023636	263 17 0 00 000000 		RTN				;ILLEGAL CHAR
  3045
  3046	023637	661 00 0 00 000004 		TLO	F,L.CMA			;COMMA, PART OF PPN
  3047	023640	254 00 0 00 023565 		JRST	PPNLP
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 82
SMMON	MAC	11-Apr-79 13:23		DEVICE SELECTION                                                                   SEQ 0110

  3048					SUBTTL	DEVICE SELECTION
  3049
  3050	023641	402 00 0 00 025736 	DEVSEL:	SETZM	AUTOFLG#
  3051	023642	201 16 0 00 026235 		MOVEI	IP,LDNAME
  3052	023643	332 00 0 00 020006 		SKIPE	USER
  3053	023644	254 00 0 00 023650 		JRST	DEVUSR
  3054	023645	402 00 0 00 026124 		SETZM	DEVTYP
  3055	023646	260 17 0 00 023677 		GO	UBASEL
  3056	023647	254 00 0 00 023362 		JRST	GETCOM		;GET SELECTION
  3057
  3058	023650	476 00 0 00 026124 	DEVUSR:	SETOM	DEVTYP
  3059	023651	263 17 0 00 000000 		RTN
  3060
  3061					;*LIST1 - LIST FILES
  3062
  3063	023652	476 00 0 00 026112 	LIST1:	SETOM	LSTFLG
  3064	023653	254 00 0 00 020155 		JRST	RUNPRG
  3065
  3066					;*LSTPNT - LIST FILES (ASCIZ)
  3067
  3068	023654	476 00 0 00 026033 	LSTPNT:	SETOM	SPECIAL
  3069	023655	261 17 0 00 000000 		PUSH	P,0
  3070	023656	260 17 0 00 021257 		GO	CRLF1
  3071	023657	260 17 0 00 021567 		SWITCH
  3072	023660	603 00 0 00 020000 		TLNE	LPTSW
  3073	023661	476 00 0 00 026111 		SETOM	LPTFLG
  3074	023662	264 00 0 00 021623 		CTYCLR
  3075	023663	262 17 0 00 000000 		POP	P,0
  3076	023664	260 17 0 00 022051 	LSTPN1:	GO	LDACHR		;READ A CHAR
  3077	023665	254 00 0 00 020000 		JRST	START		;EOF
  3078	023666	260 17 0 00 020350 		GO	PNT16		;PRINT IT
  3079	023667	254 00 0 00 023664 		JRST	LSTPN1
  3080
  3081					;*DIRECT - PRINT DIRECTORY
  3082
  3083	023670	332 00 0 00 020006 	DIRECT:	SKIPE	USER		;ILLEGAL IN USER MODE
  3084	023671	254 00 0 00 020024 		JRST	SELECT
  3085	023672	260 17 0 00 021567 		SWITCH
  3086	023673	603 00 0 00 020000 		TLNE	LPTSW
  3087	023674	476 00 0 00 026111 		SETOM	LPTFLG
  3088	023675	264 00 0 00 021623 		CTYCLR
  3089	023676	254 00 0 00 022465 		JRST	DSKDIR		;DISK DIRECTORY
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 83
SMMON	MAC	11-Apr-79 13:23		UNIBUS ADAPTER SELECTION                                                           SEQ 0111

  3090					SUBTTL	UNIBUS ADAPTER SELECTION
  3091
  3092	023677				UBASEL:	PMSG	<^UBA # - >^
  3093	023677	201 00 0 00 025574 		MOVEI	[SIXBIT\^UBA # - _\]
  3094	023700	260 17 0 00 021115 		PNTMSG^
  3095	023701	260 17 0 00 021502 		TTIOCT
  3096	023702	254 00 0 00 023677 		JRST	UBASEL
  3097	023703	306 00 0 00 000000 		CAIN	0,0
  3098	023704	254 00 0 00 023725 		JRST	UBAS0
  3099	023705	306 00 0 00 000001 		CAIN	0,1
  3100	023706	254 00 0 00 023727 		JRST	UBAS1
  3101	023707	306 00 0 00 000002 		CAIN	0,2
  3102	023710	254 00 0 00 023731 		JRST	UBAS2
  3103	023711	306 00 0 00 000003 		CAIN	0,3
  3104	023712	254 00 0 00 023733 		JRST	UBAS3
  3105
  3106	023713	200 01 0 00 023735 	UBASX:	MOVE	T1,RHPNTR
  3107	023714	202 00 0 01 000000 		MOVEM	(T1)
  3108	023715	271 00 0 00 000002 		ADDI	2
  3109	023716	253 01 0 00 023714 		AOBJN	T1,.-2
  3110	023717	201 00 0 00 763000 		MOVEI	UBAP0
  3111	023720	542 00 0 00 025220 		HRRM	UNBMP0
  3112	023721	201 00 0 00 140000 		MOVEI	UNVBIT!UNV36X
  3113	023722	542 00 0 00 025076 		HRRM	$RHUVB
  3114	023723	476 00 0 00 026017 		SETOM	RHIALL#
  3115	023724	263 17 0 00 000000 		RTN
  3116
  3117	023725	200 00 0 00 025576 	UBAS0:	MOVE	[1,,776700]
  3118	023726	254 00 0 00 023713 		JRST	UBASX
  3119	023727	200 00 0 00 025576 	UBAS1:	MOVE	[1,,776700]
  3120	023730	254 00 0 00 023713 		JRST	UBASX
  3121	023731	200 00 0 00 025577 	UBAS2:	MOVE	[2,,776700]
  3122	023732	254 00 0 00 023713 		JRST	UBASX
  3123	023733	200 00 0 00 025600 	UBAS3:	MOVE	[3,,776700]
  3124	023734	254 00 0 00 023713 		JRST	UBASX
  3125
  3126	023735	777753	025174		RHPNTR:	-^D21,,RPCS1
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 84
SMMON	MAC	11-Apr-79 13:23		UNIBUS ADAPTER SELECTION                                                           SEQ 0112

  3127
  3128					;*AUTOSL, AUTOMATICALLY SELECT LOAD DEVICE
  3129
  3130	023736	332 00 0 00 020006 	AUTOSL:	SKIPE	USER
  3131	023737	254 00 0 00 023641 		JRST	DEVSEL		;USER MODE
  3132	023740	201 16 0 00 026235 		MOVEI	IP,LDNAME
  3133	023741	402 00 0 00 026124 		SETZM	DEVTYP
  3134	023742	200 00 0 00 000036 		MOVE	MSRH
  3135	023743	336 00 0 00 000000 		SKIPN			;ANY RH-11 BASE GIVEN ?
  3136	023744	254 00 0 00 023641 		JRST	DEVSEL		;NO, DO MANUALLY
  3137
  3138	023745	476 00 0 00 025736 		SETOM	AUTOFLG
  3139
  3140	023746	260 17 0 00 023713 		GO	UBASX		;SETUP INDIRECT POINTER TABLE
  3141
  3142	023747	260 17 0 00 023503 		GO	GETCXX		;INIT FLAGS
  3143
  3144	023750	205 11 0 00 606300 		MOVSI	P2,(SIXBIT/PS/)
  3145	023751	202 11 0 00 026034 		MOVEM	P2,STRNAM	;SETUP DEFAULT STRUCTURE
  3146
  3147	023752	260 17 0 00 024655 		GO	FNDUNI		;FIND UNIT
  3148
  3149	023753	332 00 0 00 026037 		SKIPE	TOPS10
  3150	023754	254 00 0 00 023761 		JRST	.+5
  3151
  3152	023755	200 01 0 00 026006 		MOVE	T1,MAXUNI	;FULL DECK ?
  3153	023756	336 00 0 01 026247 		SKIPN	DSKTAB(T1)
  3154	023757	260 17 0 00 025320 		 GO	MISUNI		;NO, MISSING UNIT
  3155	023760	365 01 0 00 023756 		SOJGE	T1,.-2
  3156
  3157	023761	200 00 0 00 025601 		MOVE	[D$DFLT,,D$DIR]
  3158	023762	251 00 0 00 026262 		BLT	D$DIR+3		;SETUP DEFAULT TOPS-20 DIRECTORY
  3159
  3160	023763	260 17 0 00 023457 		GO	FNDDIR		;FIND DEFAULT, TOPS-10 OR TOPS-20
  3161	023764	254 00 0 00 023766 		JRST	.+2
  3162	023765	263 17 0 00 000000 		RTN			;FOUND
  3163
  3164						PMSG	<^?DEFAULT DIRECTORY NOT FOUND^>^
  3165	023766	201 00 0 00 025602 		MOVEI	[SIXBIT\^?DEFAULT DIRECTORY NOT FOUND^_\]
  3166	023767	260 17 0 00 021115 		PNTMSG^
  3167	023770	254 00 0 00 023641 		JRST	DEVSEL
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 85
SMMON	MAC	11-Apr-79 13:23		DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK                                       SEQ 0113

  3168					SUBTTL	DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK
  3169
  3170	023771	402 00 0 00 026017 	DSKLD:	SETZM	RHIALL
  3171	023772	201 00 0 00 000002 		MOVEI	2		;LDEV = 2
  3172	023773	202 00 0 00 026001 		MOVEM	LDEVICE
  3173	023774	402 00 0 00 000000 		SETZM	F		;DISK PACK
  3174	023775	332 00 0 00 026037 		SKIPE	TOPS10
  3175	023776	254 00 0 00 024002 		JRST	DSKL10		;TOPS-10 PACK
  3176
  3177	023777	260 17 0 00 022502 		GO	LOOK20		;TOPS-20 PACK, TRY TO FIND FILE
  3178	024000	254 00 0 00 022015 		JRST	NFERR		;NOT THERE, FAIL
  3179	024001	254 00 0 00 022000 		JRST	RFILE		;FOUND FILE
  3180
  3181	024002	260 17 0 00 024327 	DSKL10:	GO	LOOK10		;FIND DIRECTORY
  3182	024003	254 00 0 00 023454 		JRST	DIRERR		;NOT FOUND
  3183	024004	260 17 0 00 024406 		GO	LOOK11		;FIND FILE
  3184	024005	254 00 0 00 022015 		JRST	NFERR		;NOT THERE
  3185	024006	254 00 0 00 022000 		JRST	RFILE		;FOUND FILE
  3186
  3187					;*RFILE1 - HERE WHEN FILE FOUND
  3188
  3189	024007	332 00 0 00 026112 	RFILE1:	SKIPE	LSTFLG
  3190	024010	254 00 0 00 023654 		JRST	LSTPNT		;LISTING FILE
  3191
  3192	024011	336 00 0 00 025740 		SKIPN	CMDFLG
  3193	024012	332 00 0 00 026107 		SKIPE	DEVFLG		;READING CMD LIST FILE ?
  3194	024013	254 00 0 00 020406 		JRST	DEVCM2		;YES
  3195	024014	254 00 0 00 022314 		JRST	PRGCOR		;SETUP PROGRAM'S CORE AREA
  3196
  3197	024015	260 17 0 00 024030 	RFILL1:	GO	RWORD		;READ POINTER OR TRANSFER WORD
  3198	024016	260 17 0 00 025336 		GO	ERR2		;EOF, ERROR
  3199
  3200	024017	331 07 0 00 000004 	RFILL3:	SKIPL	Q3,T4		;WHICH IS IT?
  3201	024020	254 00 0 00 022421 		JRST	STARTQ		;TRANSFER WORD
  3202
  3203	024021	332 00 0 00 026121 		SKIPE	LDDMON
  3204	024022	254 00 0 00 025305 		JRST	RFILL4		;LOADING DIAG MON
  3205
  3206	024023	260 17 0 00 024030 	RFILL2: GO	RWORD		;READ DATA WORD
  3207	024024	260 17 0 00 025336 		GO	ERR2		;EOF, ERROR
  3208	024025	202 04 0 07 000001 		MOVEM	T4,1(Q3)	;STORE IT IN CORE
  3209	024026	253 07 0 00 024023 		AOBJN	Q3,RFILL2	;COUNT THE CORE POINTER
  3210	024027	254 00 0 00 024015 		JRST	RFILL1		;IT RAN OUT, GET ANOTHER
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 86
SMMON	MAC	11-Apr-79 13:23		DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK                                       SEQ 0114

  3211					;*RWORD - READ DATA WORD FROM FILE
  3212
  3213	024030	332 00 0 00 020006 	RWORD:	SKIPE	USER
  3214	024031	254 00 0 00 024172 		JRST	URWD		;USER MODE
  3215	024032	336 00 0 00 026037 		SKIPN	TOPS10
  3216	024033	254 00 0 00 024172 		JRST	URWD		;TOPS-20 EXEC PACK
  3217
  3218	024034	325 05 0 00 024040 		JUMPGE	Q,RWNXTB	;NEED ANOTHER BLOCK ?
  3219	024035	200 04 0 05 000000 		MOVE	W,(Q)		;NO, GET A WORD
  3220	024036	253 05 0 00 024037 		AOBJN	Q,.+1		;COUNT IT
  3221	024037	254 00 0 00 020415 		JRST	CPOPJ1		;SKIP RETURN
  3222
  3223	024040	202 07 0 00 026026 	RWNXTB:	MOVEM	Q3,SAVQ3
  3224	024041	260 17 0 00 024046 		GO	RDDSK		;READ NEXT BLOCK IF ANY
  3225	024042	263 17 0 00 000000 		RTN			;EOF
  3226	024043	200 07 0 00 026026 		MOVE	Q3,SAVQ3
  3227	024044	200 05 0 00 025360 		MOVE	Q,DBUFP		;PREPARE TO COUNT DATA WORDS
  3228	024045	254 00 0 00 024034 		JRST	RWORD+4		;READ FROM THIS BLOCK
  3229
  3230	024046	335 00 0 00 026005 	RDDSK:	SKIPGE	LENGTH#		;ANY DATA LEFT ?
  3231	024047	263 17 0 00 000000 		RTN			;NO
  3232	024050	211 01 0 00 000200 		MOVNI	A,200		;SEE IF ANY LEFT
  3233	024051	273 01 0 00 026005 		ADDB	A,LENGTH	;COUNT FILE SIZE DOWN
  3234	024052	260 17 0 00 024573 		GO	SELBLK		;SELECT NEXT DATA BLOCK OF FILE
  3235	024053	263 17 0 00 000000 		RTN			;NONE LEFT
  3236	024054	205 01 0 00 777600 		MOVSI	A,-200
  3237	024055	402 00 0 01 017400 		SETZM	DBUF(A)		;CLEAR DATA BUFFER
  3238	024056	253 01 0 00 024055 		AOBJN	A,.-1
  3239	024057	201 13 0 00 017400 		MOVEI	P4,DBUF		;SELECT DATA BUFFER
  3240	024060	254 00 0 00 024727 		JRST	DSKBLK		;READ THE BLOCK AND SKIP RETURN
  3241
  3242	024061	260 17 0 00 024327 	FNDD10:	GO	LOOK10		;FIND DIRECTORY
  3243	024062	263 17 0 00 000000 		RTN			;NOT THERE
  3244	024063	254 00 0 00 020415 		JRST	CPOPJ1		;FOUND
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 87
SMMON	MAC	11-Apr-79 13:23		DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK                                       SEQ 0115

  3245					;*USRINT - USER MODE INIT, SETUP MINIMUM OF 32K OF CORE
  3246
  3247	024064	402 00 0 00 020017 	USRINT:	SETZM	MONTYP
  3248	024065	200 00 0 00 025610 		MOVE	[112,,11]
  3249	024066	047 00 0 00 000041 		GETTAB
  3250	024067	254 00 0 00 024072 		JRST	.+3		;OOP'S, CAN'T TELL, USE TOPS-10
  3251	024070	306 00 0 00 040000 		CAIN	40000
  3252	024071	476 00 0 00 020017 		SETOM	MONTYP		;TOPS-20
  3253	024072	402 00 0 00 025775 		SETZM	INUPTR		;SET NO INPUT AVAILABLE
  3254	024073	201 00 0 00 077777 		MOVEI	<^D32*^D1024>-1
  3255	024074	317 00 0 00 026035 		CAMG	SVJBREL		;DO WE HAVE 32K MINIMUM ?
  3256	024075	263 17 0 00 000000 		RTN			;YES
  3257	024076	336 00 0 00 020017 		SKIPN	MONTYP
  3258	024077	254 00 0 00 024103 		JRST	.+4
  3259	024100	202 00 0 00 000044 		MOVEM	JOBREL		;NO, EXPAND CORE TO 32K
  3260	024101	202 00 0 00 026035 		MOVEM	SVJBREL		;SAVE MAX CORE NOW
  3261	024102	263 17 0 00 000000 		RTN
  3262	024103	047 00 0 00 000011 		CORE			;EXPAND CORE TO 32K
  3263	024104	260 17 0 00 025350 		GO	ERR10
  3264	024105	200 00 0 00 000044 		MOVE	JOBREL
  3265	024106	202 00 0 00 026035 		MOVEM	SVJBREL		;SAVE MAX CORE NOW
  3266	024107	263 17 0 00 000000 		RTN
  3267
  3268					;*USERLD, USER MODE LOADER
  3269
  3270	024110	201 00 0 00 000005 	USERLD:	MOVEI	5
  3271	024111	202 00 0 00 026001 		MOVEM	LDEVICE
  3272
  3273	024112	336 00 0 00 020017 		SKIPN	MONTYP
  3274	024113	260 17 0 00 024231 		GO	USLD10		;TOPS-10
  3275
  3276	024114	200 00 0 16 000000 		MOVE	(IP)
  3277	024115	202 00 0 00 026235 		MOVEM	LDNAME		;SETUP FILE NAME
  3278	024116	510 00 0 16 000001 		HLLZ	1(IP)
  3279	024117	322 00 0 00 024123 		JUMPE	USLD1		;IF NO EXT, TRY A10 AND SAV
  3280
  3281	024120	260 17 0 00 024135 		GO	USLKUP		;LOOKUP FILE
  3282	024121	254 00 0 00 022000 		JRST	RFILE		;FOUND
  3283	024122	254 00 0 00 022015 		JRST	NFERR		;NOT FOUND
  3284
  3285	024123	205 00 0 00 634166 	USLD1:	MOVSI	(SIXBIT/SAV/)
  3286	024124	260 17 0 00 024135 		GO	USLKUP		;LOOKUP "SAV"
  3287	024125	254 00 0 00 022000 		JRST	RFILE		;FOUND
  3288
  3289	024126	205 00 0 00 435544 		MOVSI	(SIXBIT/CMD/)
  3290	024127	260 17 0 00 024135 		GO	USLKUP		;LOOKUP "CMD"
  3291	024130	254 00 0 00 022000 		JRST	RFILE		;FOUND
  3292
  3293	024131	205 00 0 00 412120 		MOVSI	(SIXBIT/A10/)
  3294	024132	260 17 0 00 024135 		GO	USLKUP		;LOOKUP "A10"
  3295	024133	254 00 0 00 022000 		JRST	RFILE		;FOUND
  3296
  3297	024134	254 00 0 00 022015 		JRST	NFERR		;CAN'T FIND EITHER
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 88
SMMON	MAC	11-Apr-79 13:23		DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK                                       SEQ 0116

  3298	024135	336 00 0 00 020017 	USLKUP:	SKIPN	MONTYP
  3299	024136	254 00 0 00 024246 		JRST	USLK10		;TOPS-10
  3300
  3301	024137	202 00 0 00 026236 		MOVEM	LDNAME+1	;SETUP EXT
  3302
  3303	024140	200 00 0 00 025611 		MOVE	0,[POINT 7,FILASC]
  3304	024141	201 01 0 00 000000 		MOVEI	1,0
  3305	024142	201 02 0 00 000056 		MOVEI	2,"."		;FILE TERM
  3306	024143	260 17 0 00 024271 		GO	SIXASC		;SETUP ASCIZ FILE.EXT
  3307
  3308	024144	332 00 0 00 025774 		SKIPE	INJFN
  3309	024145	260 17 0 00 022453 		GO	CLOS20		;CLOSE LAST INPUT FILE
  3310
  3311	024146	515 01 0 00 100001 		HRLZI	1,(GJ%OLD!GJ%SHT)
  3312	024147	561 02 0 00 024315 		HRROI	2,FILASC	;ASCIZ FILE.EXT ADR
  3313
  3314	024150	104 00 0 00 000020 		GTJFN			;FIND FILE
  3315	024151	254 00 0 00 020415 		 JRST	CPOPJ1		;NOT FOUND
  3316
  3317	024152	516 01 0 00 025774 		HRLZM	1,INJFN#
  3318	024153	201 02 0 00 200000 		MOVEI	2,OF%RD
  3319
  3320	024154	104 00 0 00 000021 		OPENF			;OPEN FILE
  3321	024155	254 00 0 00 024320 		 JRST	T20ERR		;FAILED
  3322
  3323	024156	402 00 0 00 026245 		SETZM	LDBUF+1		;INIT WD COUNT, NO WORDS
  3324
  3325	024157	554 01 0 00 025774 		HLRZ	1,INJFN
  3326	024160	200 02 0 00 025612 		MOVE	2,[1,,.FBBYV]
  3327	024161	201 03 0 00 026015 		MOVEI	3,PAGCNT#
  3328
  3329	024162	104 00 0 00 000063 		GTFDB			;GET FILE PAGE COUNT
  3330
  3331	024163	553 00 0 00 026015 		HRRZS	PAGCNT		;KEEP ONLY PAGE COUNT
  3332
  3333	024164	554 00 0 00 026236 		HLRZ	LDNAME+1
  3334	024165	306 00 0 00 435544 		CAIN	(SIXBIT/CMD/)
  3335	024166	476 00 0 00 025740 		SETOM	CMDFLG		;LOADING "CMD"
  3336
  3337	024167	306 00 0 00 412120 		CAIN	(SIXBIT/A10/)
  3338	024170	476 00 0 00 025732 		SETOM	A10FLG		;LOADING "A10"
  3339	024171	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 89
SMMON	MAC	11-Apr-79 13:23		DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK                                       SEQ 0117

  3340					;*URWD, USER MODE READ WORD
  3341
  3342	024172	336 00 0 00 020006 	URWD:	SKIPN	USER
  3343	024173	254 00 0 00 024176 		JRST	.+3
  3344	024174	336 00 0 00 020017 		SKIPN	MONTYP
  3345	024175	254 00 0 00 024257 		JRST	URWD10		;TOPS-10
  3346
  3347	024176	373 00 0 00 026245 		SOSLE	LDBUF+1		;TOPS-20
  3348	024177	254 00 0 00 024216 		JRST	URWD1		;WORDS LEFT IN PAGE
  3349
  3350	024200	375 00 0 00 026015 		SOSGE	PAGCNT		;COUNT DOWN PAGE COUNT
  3351	024201	263 17 0 00 000000 		RTN			;NONE LEFT, EOF
  3352
  3353	024202	336 00 0 00 020006 		SKIPN	USER
  3354	024203	254 00 0 00 024221 		JRST	ERWD		;EXEC DISK READ
  3355
  3356	024204	200 01 0 00 025774 		MOVE	1,INJFN
  3357	024205	200 02 0 00 025507 		MOVE	2,[.FHSLF,,<LDBF_-^D9>]
  3358	024206	402 00 0 00 000003 		SETZM	3
  3359
  3360	024207	104 00 0 00 000056 		PMAP			;MAP IN FILE PAGE
  3361	024210	320 16 0 00 024320 		 ERJMP	T20ERR		;IF JUMP, ERROR
  3362
  3363	024211	201 00 0 00 001000 	ERWD1:	MOVEI	1000
  3364	024212	202 00 0 00 026245 		MOVEM	LDBUF+1		;SET WORD COUNT
  3365	024213	200 00 0 00 025613 		MOVE	[POINT 36,LDBF]
  3366	024214	202 00 0 00 026244 		MOVEM	LDBUF		;SET BYTE POINTER
  3367	024215	350 00 0 00 025774 		AOS	INJFN		;INCREMENT FILE PAGE NUMBER
  3368
  3369	024216	134 04 0 00 026244 	URWD1:	ILDB	W,LDBUF		;GET FILE WORD
  3370	024217	200 05 0 00 026244 		MOVE	Q,LDBUF
  3371	024220	254 00 0 00 020415 		JRST	CPOPJ1
  3372
  3373	024221	200 14 0 00 025774 	ERWD:	MOVE	P5,INJFN	;GET FILE PAGE INDEX INTO XB
  3374	024222	301 14 0 00 000772 		CAIL	P5,772		;MAXIMUM XB POINTER = 512-6
  3375	024223	260 17 0 00 025326 		 GO	LNGERR		;BECAUSE OF LOAD LINKS
  3376	024224	200 14 0 14 027000 		MOVE	P5,A%XB(P5)	;GET DISK ADDRESS FOR FILE PAGE
  3377	024225	201 13 0 00 017000 		MOVEI	P4,LDBF		;WHERE TO READ IT
  3378
  3379	024226	260 17 0 00 023072 		GO	DSKRD4		;READ FILE PAGE
  3380	024227	260 17 0 00 025314 		 GO	IOERR
  3381
  3382	024230	254 00 0 00 024211 		JRST	ERWD1
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 90
SMMON	MAC	11-Apr-79 13:23		DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK                                       SEQ 0118

  3383					;*USLD10 - TOPS-10 USER MODE LOAD ROUTINES
  3384
  3385	024231	402 00 0 00 026245 	USLD10:	SETZM	LDBUF+1
  3386	024232	402 00 0 00 026246 		SETZM	LDBUF+2
  3387	024233	050 16 0 00 026241 		OPEN	LDCHN,LDBLK		;SETUP INPUT FILE
  3388	024234	260 17 0 00 025344 		GO	ERR8
  3389	024235	200 00 0 00 025614 		MOVE	[400000,,LDBF+1]
  3390	024236	202 00 0 00 026244 		MOVEM	LDBUF			;SETUP BUFFER POINTER
  3391	024237	200 00 0 00 025615 		MOVE	[201,,LDBF1+1]
  3392	024240	202 00 0 00 017001 		MOVEM	LDBF+1			;CLEAR BUFFER USE BITS
  3393	024241	200 00 0 00 025616 		MOVE	[201,,LDBF2+1]
  3394	024242	202 00 0 00 017204 		MOVEM	LDBF1+1
  3395	024243	200 00 0 00 025617 		MOVE	[201,,LDBF+1]
  3396	024244	202 00 0 00 017407 		MOVEM	LDBF2+1
  3397	024245	263 17 0 00 000000 		RTN
  3398
  3399	024246	202 00 0 00 026236 	USLK10:	MOVEM	LDNAME+1
  3400	024247	076 16 0 00 026235 		LOOKUP	LDCHN,LDNAME
  3401	024250	254 00 0 00 020415 		JRST	CPOPJ1			;NOT FOUND
  3402	024251	554 00 0 00 026236 		HLRZ	LDNAME+1
  3403	024252	306 00 0 00 435544 		CAIN	(SIXBIT/CMD/)
  3404	024253	476 00 0 00 025740 		SETOM	CMDFLG			;LOADING "CMD" FILE
  3405	024254	306 00 0 00 412120 		CAIN	(SIXBIT/A10/)
  3406	024255	476 00 0 00 025732 		SETOM	A10FLG			;LOADING "A10" FILE
  3407	024256	263 17 0 00 000000 		RTN
  3408
  3409	024257	373 00 0 00 026246 	URWD10:	SOSLE	LDBUF+2
  3410	024260	254 00 0 00 024266 		JRST	URWD11
  3411	024261	056 16 0 00 000000 		IN	LDCHN,
  3412	024262	254 00 0 00 024266 		JRST	URWD11
  3413	024263	063 16 0 00 740000 		STATZ	LDCHN,740000
  3414	024264	260 17 0 00 025346 		GO	ERR9
  3415	024265	263 17 0 00 000000 		RTN
  3416
  3417	024266	134 04 0 00 026245 	URWD11:	ILDB	W,LDBUF+1
  3418	024267	200 05 0 00 026245 		MOVE	Q,LDBUF+1
  3419	024270	254 00 0 00 020415 		JRST	CPOPJ1
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 91
SMMON	MAC	11-Apr-79 13:23		DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK                                       SEQ 0119

  3420					;*SIXASC, SIXBIT TO ASCIZ STRING CONVERSION
  3421
  3422	024271	200 03 0 00 000000 	SIXASC:	MOVE	3,0		;SETUP STORAGE POINTER
  3423	024272	202 01 0 00 026031 		MOVEM	1,SIXAS1#	;SAVE EXT STORE POINTER
  3424	024273	202 02 0 00 026032 		MOVEM	2,SIXAS2#	;SAVE FILE TERM CHAR
  3425
  3426	024274	200 01 0 00 026235 		MOVE	1,LDNAME
  3427	024275	260 17 0 00 024307 		GO	SIXSTR
  3428
  3429	024276	200 00 0 00 026032 		MOVE	0,SIXAS2
  3430	024277	136 00 0 00 000003 		IDPB	0,3		;STORE FILE NAME TERM CHAR
  3431
  3432	024300	332 00 0 00 026031 		SKIPE	SIXAS1		;ANY EXT STORE POINTER ?
  3433	024301	200 03 0 00 026031 		MOVE	3,SIXAS1	;YES, USE IT THEN
  3434
  3435	024302	510 01 0 00 026236 		HLLZ	1,LDNAME+1
  3436	024303	332 00 0 00 000001 		SKIPE	1
  3437	024304	260 17 0 00 024307 		GO	SIXSTR
  3438
  3439	024305	136 01 0 00 000003 		IDPB	1,3		;STORE EXT TERM CHAR
  3440
  3441	024306	263 17 0 00 000000 		RTN
  3442
  3443	024307	403 00 0 00 000002 	SIXSTR:	SETZB	0,2
  3444	024310	246 00 0 00 000006 		LSHC	0,6
  3445	024311	271 00 0 00 000040 		ADDI	0,40
  3446	024312	136 00 0 00 000003 		IDPB	0,3
  3447	024313	326 01 0 00 024307 		JUMPN	1,.-4
  3448	024314	263 17 0 00 000000 		RTN
  3449
  3450	024315				FILASC:	BLOCK	3
  3451
  3452	024320	201 01 0 00 000101 	T20ERR:	MOVEI	1,.PRIOU
  3453	024321	525 02 0 00 400000 		HRLOI	2,.FHSLF
  3454	024322	402 00 0 00 000003 		SETZM	3
  3455
  3456	024323	104 00 0 00 000011 		ERSTR			;PRINT TOPS-20 ERROR
  3457	024324	255 00 0 00 000000 		 JFCL
  3458	024325	255 00 0 00 000000 		 JFCL
  3459	024326	254 00 0 00 020024 		JRST	SELECT
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 92
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0120

  3460					SUBTTL DSKLDR DISK PACK LOAD ONLY ROUTINE
  3461
  3462					;*DEVICE BIT DEFINITIONS FOR RH11
  3463
  3464			000007		RH.RC=	7			;RE-CALIBRATE
  3465			000011		RH.DC=	11			;DRIVE CLEAR
  3466			000021		RH.RIP=	21			;READ-IN PRESET
  3467			000023		RH.PA=	23			;PACK ACKNOWLEDGE
  3468			000071		RH.RD=	71			;READ COMMAND
  3469
  3470			010000		RPNED=	10000			;NON EX DISK
  3471			000200		RPRDY=	200			;READY
  3472			000040		RPCLR=	40			;CLEAR
  3473			010000		RPMOL=	10000			;MEDIUM ON-LINE
  3474			100000		RPSC=	100000			;SPECIAL CONDITIONS
  3475			040000		RPTRE=	40000			;TRE ERROR
  3476			100000		RPATA=	100000			;ATTENTION
  3477			040000		RPERR=	40000			;ERROR
  3478			004000		RPDVA=	4000			;DRIVE AVAILABLE
  3479			020000		RPMCPE=	20000			;MASSBUS CONTROL PARITY ERROR
  3480			000400		RPDPR=	400			;DRIVE PRESENT
  3481			000100		RPVV=	100			;VOLUME VALID
  3482
  3483					;*UNIBUS DEFINITIONS
  3484
  3485			000400		RPPGSZ=	^D128*2			;PAGE SIZE FOR 11 TRANSFER
  3486			763000		UBAP0=	763000			;ADDRESS OF UNIBUS MAP
  3487			040000		UNVBIT=	40000			;VALID UNIBUS BIT FOR UNIBUS
  3488			100000		UNV36X=	100000			;UNIBUS 36 BIT TRANSFER
  3489			020000		UNVDPB=	20000			;UNIBUS DISABLE PARITY BIT
  3490
  3491					;*SYSTEM PARAMETERS, MUST AGREE WITH MONITOR
  3492
  3493			000001		HOMBK1=	1			;ADDRESS OF HOME BLOCKS
  3494			000012		HOMBK2=	^D10
  3495			707070		CODHOM=	707070			;VERIFICATION CODE OF HOME BLOCK
  3496			777777		CODRIB=	777777			;VERIFICATION CODE OF RIB BLOCK
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 93
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0121

  3497					;*LOOK10 - TOPS-10 SUBROUTINE TO LOOK FOR DIRECTORY
  3498
  3499	024327	204 01 0 00 026034 	LOOK10:	MOVS	A,STRNAM		;GET DEVICE NAME
  3500	024330	306 01 0 00 606300 		CAIN	A,(SIXBIT/PS/)		;PS IS DEFAULT FOR TOPS20
  3501	024331	254 00 0 00 024334 		JRST	.+3			;DO TOPS10 WILD SEARCH
  3502	024332	332 00 0 00 000001 		SKIPE	A			;BLANK
  3503	024333	306 01 0 00 446353 		CAIN	A,(SIXBIT/DSK/)		;OR JUST DSK?
  3504	024334	664 00 0 00 000400 		TROA	F,R.DSKW		;YES, FLAG WILD DISK NAME
  3505	024335	254 00 0 00 024345 		JRST	LOOK1			;NO, USE SUPPLIED NAME
  3506	024336	200 01 0 00 025620 		MOVE	A,[SIXBIT/KLAD/]	;START AT KLAD
  3507	024337	202 01 0 00 026034 		MOVEM	A,STRNAM		;STORE NAME AWAY
  3508	024340	254 00 0 00 024345 		JRST	LOOK1
  3509
  3510	024341	201 01 0 00 010000 	LOOK2:	MOVEI	A,010000		;INCREMENT WILD DSK NAME
  3511	024342	273 01 0 00 026034 		ADDB	A,STRNAM
  3512	024343	602 01 0 00 200000 		TRNE	A,200000		;TRIED UP TO DSKO?
  3513	024344	254 00 0 00 024370 		JRST	NOTFN1			;YES, GIVE UP
  3514
  3515	024345	200 01 0 00 026034 	LOOK1:	MOVE	A,STRNAM		;DEVICE NAME TO LOOK FOR
  3516	024346	202 01 0 00 026142 		MOVEM	A,STRUCT		;TO ARG OF SEARCH ROUTINE
  3517	024347	402 00 0 00 026143 		SETZM	SLUNIT			;CLEAR LOGICAL UNIT NUMBER
  3518	024350	260 17 0 00 024655 		GO	FNDUNI			;TRY TO FIND SUCH A UNIT
  3519	024351	254 00 0 00 024362 		JRST	NOTFND			;NOT THERE
  3520
  3521	024352	336 12 0 00 026016 	LOOK3:	SKIPN	P3,PPN			;FIRST SEARCH FOR THE UFD
  3522	024353	200 12 0 00 025362 		MOVE	P3,DIAGPPN		;IF NONE, USE DIAG AREA
  3523	024354	205 14 0 00 654644 		MOVSI	P5,(SIXBIT/UFD/)	;EXT IS UFD FOR FILE DIRECTORY	
  3524	024355	202 14 0 00 025762 		MOVEM	P5,EXT#
  3525	024356	200 01 0 00 017046 		MOVE	A,HBUF+HOMMFD		;LBN IN STR OF MFD RIB
  3526	024357	260 17 0 00 024521 		GO	SRCHFD			;SEARCH FOR REQUESTED UFD
  3527	024360	254 00 0 00 024362 		JRST	NOTFND			;NOT THERE
  3528	024361	254 00 0 00 020415 		JRST	CPOPJ1			;DIRECTORY FOUND
  3529
  3530	024362	602 00 0 00 000400 	NOTFND:	TRNE	F,R.DSKW		;WILD DEVICE ARGUMENT
  3531	024363	254 00 0 00 024371 		JRST	LOOK7			;YES, INCREMENT IT
  3532	024364	332 00 0 00 026115 		SKIPE	MFDFLG
  3533	024365	254 00 0 00 023360 		JRST	GETCOM-2		;END OF MFD PRINT
  3534	024366	332 00 0 00 026114 		SKIPE	DDIRF1
  3535	024367	254 00 0 00 020024 		JRST	SELECT			;END OF DIR PRINT
  3536	024370	263 17 0 00 000000 	NOTFN1:	RTN				;NOT FOUND, ERROR RETURN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 94
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0122

  3537
  3538	024371	200 01 0 00 026034 	LOOK7:	MOVE	A,STRNAM		;DID'NT FIND KLAD
  3539	024372	312 01 0 00 025620 		CAME	A,[SIXBIT/KLAD/]
  3540	024373	254 00 0 00 024377 		JRST	.+4
  3541	024374	200 01 0 00 025621 		MOVE	A,[SIXBIT/RED/]		;TRY RED
  3542	024375	202 01 0 00 026034 		MOVEM	A,STRNAM
  3543	024376	254 00 0 00 024345 		JRST	LOOK1
  3544	024377	312 01 0 00 025621 		CAME	A,[SIXBIT/RED/]
  3545	024400	254 00 0 00 024341 		JRST	LOOK2
  3546	024401	332 00 0 00 025736 		SKIPE	AUTOFLG
  3547	024402	254 00 0 00 024370 		JRST	NOTFN1			;DO KLAD & RED ONLY AUTO
  3548	024403	200 01 0 00 025622 		MOVE	A,[SIXBIT/DSK@/]	;TRY DSKA THRU DSKO
  3549	024404	202 01 0 00 026034 		MOVEM	A,STRNAM
  3550	024405	254 00 0 00 024341 		JRST	LOOK2
  3551
  3552					;*LOOK11 - TOPS-10 SUBROUTINE TO LOOK FOR FILE
  3553
  3554	024406	332 00 0 00 026113 	LOOK11:	SKIPE	DDIRFLG
  3555	024407	254 00 0 00 024433 		JRST	LOOK5			;DOING DIRECTORY
  3556	024410	200 12 0 16 000000 		MOVE	P3,(IP)			;NAME OF FILE TO SEARCH FOR
  3557	024411	510 14 0 16 000001 		HLLZ	P5,1(IP)		;EXTENSION
  3558	024412	202 14 0 00 025762 		MOVEM	P5,EXT
  3559
  3560	024413	550 01 0 01 000001 	LOOK4:	HRRZ	A,1(A)			;SUPERCLUSTER ADDRESS OF THE UFD
  3561	024414	220 01 0 00 017014 		IMUL	A,HBUF+HOMBSC		;MAKE IT A BLOCK NUMBER
  3562	024415	260 17 0 00 024521 		GO	SRCHFD			;SEARCH FOR THE FILE IN UFD
  3563	024416	254 00 0 00 024362 		JRST	NOTFND			;NO SUCH FILE
  3564	024417	550 07 0 01 000001 		HRRZ	LBNAC,1(A)		;SUPERCLUSTER OF START OF FILE
  3565	024420	220 07 0 00 017014 		IMUL	LBNAC,HBUF+HOMBSC 	;CONVERT TO LOGICAL BLOCK NUMBER
  3566	024421	260 17 0 00 024635 		GO	SETRIB			;GET THE RIB, CHECK IT
  3567	024422	254 00 0 00 024362 		JRST	NOTFND			;NO LUCK, ASSUME FILE NOT THERE
  3568	024423	510 02 0 00 017203 		HLLZ	B,RBUF+RIBEXT		;GET THE EXTENSION FROM RIB
  3569	024424	312 12 0 00 017202 		CAME	P3,RBUF+RIBNAM	 	;DESIRED NAME?	
  3570	024425	254 00 0 00 024431 		JRST	.+4			;NO
  3571	024426	336 00 0 00 025762 		SKIPN	EXT
  3572	024427	254 00 0 00 024435 		JRST	LOOK6			;NO EXT GIVEN
  3573	024430	312 02 0 00 025762 		CAME	B,EXT			;DESIRED EXTENSION?
  3574	024431	260 17 0 00 025352 		GO	ERR11			;NO, QUIT.  RIB BAD
  3575	024432	254 00 0 00 020415 		JRST	CPOPJ1			;SUCCESSFUL RETURN
  3576
  3577	024433	476 00 0 00 026114 	LOOK5:	SETOM	DDIRF1			;SET PRINT DIRECTORY
  3578	024434	254 00 0 00 024413 		JRST	LOOK4
  3579
  3580	024435	260 17 0 00 024440 	LOOK6:	GO	EXTCK			;CHECK FOR "A10" OR "SAV"
  3581	024436	260 17 0 00 025352 		GO	ERR11			;NEITHER
  3582	024437	254 00 0 00 020415 		JRST	CPOPJ1			;OK
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 95
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0123

  3583
  3584	024440	316 02 0 00 025623 	EXTCK:	CAMN	T2,[SIXBIT/SAV/]
  3585	024441	254 00 0 00 020415 		JRST	CPOPJ1			;FILE EXT IS "SAV"
  3586
  3587	024442	312 02 0 00 025624 		CAME	T2,[SIXBIT/A10/]
  3588	024443	254 00 0 00 024446 		JRST	.+3
  3589	024444	476 00 0 00 025732 		SETOM	A10FLG			;FILE EXT IS "A10"
  3590	024445	254 00 0 00 020415 		JRST	CPOPJ1
  3591
  3592	024446	312 02 0 00 025625 		CAME	T2,[SIXBIT/CMD/]
  3593	024447	263 17 0 00 000000 		RTN				;NEITHER
  3594	024450	476 00 0 00 025740 		SETOM	CMDFLG			;FILE EXT IS "CMD"
  3595	024451	254 00 0 00 020415 		JRST	CPOPJ1
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 96
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0124

  3596					;*DDIR10 - TOPS-10 DISK PACK DIRECTORY ROUTINE
  3597
  3598	024452	402 00 0 00 000000 	DDIR10:	SETZM	F
  3599	024453	260 17 0 00 024327 		GO	LOOK10			;DO DIRECTORY
  3600	024454	254 00 0 00 023454 		JRST	DIRERR			;DIRECTORY NOT FOUND
  3601	024455	260 17 0 00 024406 		GO	LOOK11
  3602	024456	263 17 0 00 000000 		RTN				;DONE
  3603
  3604	024457	200 16 0 00 000001 	DDIRPNT:MOVE	IP,A			;SETUP POINTER
  3605	024460	261 17 0 00 000000 		PUSH	P,0
  3606	024461	336 00 0 16 000000 		SKIPN	(IP)
  3607	024462	254 00 0 00 024505 		JRST	DDIRP1			;BLANK NAME
  3608	024463	200 01 0 16 000000 		MOVE	A,(IP)			;PRINT NAME & EXT
  3609	024464	332 00 0 00 026115 		SKIPE	MFDFLG
  3610	024465	254 00 0 00 024510 		JRST	DDIRMFD			;PRINT MFD
  3611	024466	260 17 0 00 020341 		GO	SIXBP
  3612	024467	201 00 0 00 000056 		MOVEI	"."
  3613	024470	260 17 0 00 021211 		GO	PRINT
  3614	024471	510 01 0 16 000001 		HLLZ	A,1(IP)
  3615	024472	260 17 0 00 020341 		GO	SIXBP
  3616	024473	350 01 0 00 026036 	DDIRP3:	AOS	A,TABCTR		;DONE 4 ENTRIES ON THIS LINE ?
  3617	024474	602 01 0 00 000003 		TRNE	A,3
  3618	024475	254 00 0 00 024500 		JRST	.+3			;NO
  3619	024476	260 17 0 00 021257 		GO	CRLF1			;YES, DO CRLF
  3620	024477	254 00 0 00 024505 		JRST	DDIRP1
  3621	024500	260 17 0 00 021565 		GO	PNTTAB
  3622	024501	405 01 0 00 000003 		ANDI	A,3			;ENTRIES LINE UP ?
  3623	024502	221 01 0 00 000020 		IMULI	A,^D16			;COMPUTE AFTER TAB POSITION
  3624	024503	312 01 0 00 026131 		CAME	A,CHRCTR		;CARRIAGE IN CORRECT PLACE ?
  3625	024504	260 17 0 00 021565 		GO	PNTTAB			;NO, TAB AGAIN
  3626	024505	262 17 0 00 000000 	DDIRP1:	POP	P,0
  3627	024506	200 01 0 00 000016 		MOVE	A,IP
  3628	024507	254 00 0 00 024544 		JRST	SCHN2
  3629
  3630	024510	261 17 0 00 000001 	DDIRMFD:PUT	A
  3631	024511	554 00 0 00 000001 		HLRZ	A
  3632	024512	260 17 0 00 021173 		GO	PNTOCS			;PRINT P
  3633	024513	201 00 0 00 000054 		MOVEI	","
  3634	024514	260 17 0 00 021211 		GO	PRINT
  3635	024515	262 17 0 00 000001 		GET	A
  3636	024516	550 00 0 00 000001 		HRRZ	A
  3637	024517	260 17 0 00 021173 		GO	PNTOCS			;PRINT PN
  3638	024520	254 00 0 00 024473 		JRST	DDIRP3
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 97
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0125

  3639					;*SRCHFD - SUBROUTINE TO SEARCH A UFD OR MFD FOR FILE & EXT
  3640					;*	   RIB LBN IN STR OF THE FD IN A
  3641
  3642	024521	337 07 0 00 000001 	SRCHFD:	SKIPG	LBNAC,A			;STORE BLOCK TO READ RIB FROM
  3643	024522	260 17 0 00 025354 		GO	ERR12			;SHOULDN'T BE EOF
  3644	024523	260 17 0 00 024635 		GO	SETRIB			;SET UP THE RIB
  3645	024524	263 17 0 00 000000 		RTN				;CAN'T READ IT
  3646	024525	260 17 0 00 024046 	SCHL1:	GO	RDDSK			;READ THE FILE DIR DATA FROM THIS FD
  3647	024526	263 17 0 00 000000 		RTN				;ERROR RETURN
  3648	024527	200 01 0 00 025360 		MOVE	A,DBUFP
  3649	024530	332 00 0 00 026114 		SKIPE	DDIRF1
  3650	024531	254 00 0 00 024567 		JRST	DDIRP2
  3651	024532	332 00 0 00 026114 	SCHL2:	SKIPE	DDIRF1
  3652	024533	254 00 0 00 024457 		JRST	DDIRPNT			;PRINT DIRECTORY
  3653	024534	200 02 0 01 000000 		MOVE	B,(A)			;GET A FILE NAME
  3654	024535	312 02 0 00 000012 		CAME	B,P3			;IS NAME RIGHT?
  3655	024536	254 00 0 00 024544 		JRST	SCHN2			;NO, MOVE ON
  3656	024537	510 02 0 01 000001 		HLLZ	B,1(A)			;CHECK THE EXTENSION
  3657	024540	336 00 0 00 025762 		SKIPN	EXT
  3658	024541	254 00 0 00 024547 		JRST	SCHL2A			;NO EXT, CHECK FOR "A10" OR "SAV"
  3659	024542	316 02 0 00 025762 		CAMN	B,EXT			;IS IT RIGHT TOO?
  3660	024543	254 00 0 00 020415 		JRST	CPOPJ1			;YES.  GOOD RETURN, ANSWER IN (A)
  3661	024544	253 01 0 00 024545 	SCHN2:	AOBJN	A,.+1			;MOVE ON TO NEXT FILE IN FD
  3662	024545	253 01 0 00 024532 		AOBJN	A,SCHL2			;COUNT FILE + EXT, CHECK NEXT FILE IN FD
  3663	024546	254 00 0 00 024525 	SCHN1:	JRST	SCHL1			;READ ON
  3664
  3665	024547	260 17 0 00 024440 	SCHL2A:	GO	EXTCK			;CHECK EXT
  3666	024550	254 00 0 00 024544 		JRST	SCHN2			;NO MATCH
  3667	024551	254 00 0 00 020415 		JRST	CPOPJ1			;OK
  3668
  3669					;*LBNSEL - SUBROUTINE TO SELECT CORRECT UNIT FROM LBN
  3670
  3671	024552	200 01 0 00 000007 	LBNSEL:	MOVE	A,LBNAC			;GET DESIRED BLOCK NUMBER
  3672	024553	200 02 0 00 017014 		MOVE	B,HBUF+HOMBSC		;COMPUTE SIZE OF UNIT
  3673	024554	220 02 0 00 017015 		IMUL	B,HBUF+HOMSCU
  3674	024555	230 01 0 00 000002 		IDIV	A,B			;SCALE LBN INTO A UNIT AND LOCAL LBN
  3675	024556	200 07 0 00 000002 		MOVE	LBNAC,B			;LBN WITHIN THE UNIT?
  3676	024557	316 01 0 00 017010 		CAMN	A,HBUF+HOMLUN		;ALREADY AT THIS UNIT?
  3677	024560	254 00 0 00 020415 		JRST	CPOPJ1			;YES, NO NEED TO CHANGE UNITS
  3678	024561	202 01 0 00 026143 		MOVEM	A,SLUNIT		;NO, NEED TO FIND IT
  3679	024562	261 17 0 00 000007 		PUSH	P,LBNAC			;SAVE THE LBN WITHIN DESIRED UNIT
  3680	024563	260 17 0 00 024655 		GO	FNDUNI			;FIND THE UNIT
  3681	024564	370 00 0 17 777777 		SOS	-1(P)			;NOT THERE, SET FOR NON-SKIP RETURN
  3682	024565	262 17 0 00 000007 		POP	P,LBNAC			;RESTORE UNIT LBN
  3683	024566	254 00 0 00 020415 		JRST	CPOPJ1			;AND SKIP RETURN
  3684
  3685	024567	135 02 0 00 025626 	DDIRP2:	LDB	B,[POINT 6,DBUF,5]	;IF 1ST WORD IS POINTER
  3686	024570	306 02 0 00 000077 		CAIN	B,77			;MUST BE SPARE RIB - DONE
  3687	024571	263 17 0 00 000000 		RTN
  3688	024572	254 00 0 00 024532 		JRST	SCHL2
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 98
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0126

  3689					;*SELBLK - SUBROUTINE TO SELECT NEXT BLOCK OF DATA
  3690					;*	   THE DATA IS FOUND USING RIB'S STARTING AT 0(S), OR
  3691					;*	   IF STUFF LEFT OVER FROM CURRENT RIB, VIA CLUCNT,BLKCNT,CLBN
  3692
  3693	024573	350 07 0 00 026137 	SELBLK:	AOS	LBNAC,CLBN		;ASSUME WILL USE NEXT BLOCK
  3694	024574	371 00 0 00 026141 		SOSL	BLKCNT			;ANY BLOCKS LEFT IN CURRENT CLUSTER?
  3695	024575	254 00 0 00 024630 		JRST	SEL1			;YES, GO PICK ONE
  3696	024576	371 00 0 00 026140 		SOSL	CLUCNT			;ANY CLUSTERS LEFT IN CURRENT RET PTR?
  3697	024577	254 00 0 00 024625 		JRST	SEL2			;YES, PICK ONE
  3698	024600	335 00 0 00 000011 	SEL4L:	SKIPGE	P2			;FAIL IF OUT OF POINTERS
  3699	024601	336 01 0 11 017200 		SKIPN	A,RBUF(P2)		;NEED ANOTHER RET PTR.  EOF YET?
  3700	024602	263 17 0 00 000000 		RTN				;YES, FAIL RETURN
  3701	024603	253 11 0 00 024604 		AOBJN	P2,.+1			;COUNT POINTER FOR NEXT RIB
  3702	024604	200 03 0 00 017016 		MOVE	T3,HBUF+HOMCNP		;GET THE COUNT POINTER
  3703	024605	260 17 0 00 024675 		GO	RIBBYT			;GET COUNT OF CURRENT RET PTR
  3704	024606	326 02 0 00 024617 		JUMPN	B,SEL3			;IF NON-ZERO, GO GET CLUSTER
  3705	024607	200 03 0 00 017020 		MOVE	T3,HBUF+HOMCLP		;NEW UNIT, GET UNIT LOGICAL NUMBER
  3706	024610	260 17 0 00 024675 		GO	RIBBYT
  3707	024611	316 02 0 00 017010 		CAMN	B,HBUF+HOMLUN		;IS THIS UNIT RIGHT ALREADY?
  3708	024612	254 00 0 00 024616 		JRST	SEL4			;YES, DON'T SEARCH
  3709	024613	202 02 0 00 026143 		MOVEM	B,SLUNIT		;NO, SAVE LOG UNIT NUMBER FOR SEARCH
  3710	024614	260 17 0 00 024655 		GO	FNDUNI			;FIND THE UNIT
  3711	024615	263 17 0 00 000000 		RTN				;NOT FOUND, ERROR
  3712	024616	254 00 0 00 024600 	SEL4:	JRST	SEL4L			;READ NEXT RIB ON NEW UNIT
  3713
  3714	024617	275 02 0 00 000001 	SEL3:	SUBI	B,1			;COUNT CLUSTER ABOUT TO BE USED
  3715	024620	202 02 0 00 026140 		MOVEM	B,CLUCNT		;AND SAVE REMAINDER
  3716	024621	200 03 0 00 017020 		MOVE	T3,HBUF+HOMCLP		;GET THE CLUSTER ADDRESS
  3717	024622	260 17 0 00 024675 		GO	RIBBYT
  3718	024623	220 02 0 00 017021 		IMUL	B,HBUF+HOMBPC		;CONVERT TO AN LBN
  3719	024624	202 02 0 00 000007 		MOVEM	B,LBNAC			;PUT IN CORRECT AC
  3720	024625	200 01 0 00 017021 	SEL2:	MOVE	A,HBUF+HOMBPC		;BLOCKS IN A CLUSTER
  3721	024626	275 01 0 00 000001 		SUBI	A,1			;MINUS THE ONE ABOUT TO BE READ
  3722	024627	202 01 0 00 026141 		MOVEM	A,BLKCNT		;SAVE THIS COUNT
  3723	024630	202 07 0 00 026137 	SEL1:	MOVEM	LBNAC,CLBN		;SAVE CURRENT LBN
  3724	024631	202 07 0 00 026000 		MOVEM	LBNAC,LBN
  3725	024632	622 00 0 00 001000 		TRZE	F,R.SRIB		;SKIP RIB?
  3726	024633	254 00 0 00 024573 		JRST	SELBLK			;YES, GO THRU THIS ROUTINE AGAIN
  3727	024634	254 00 0 00 020415 		JRST	CPOPJ1			;SUCCESSFUL RETURN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 99
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0127

  3728					;*SETRIB - SUBROUTINE TO SETUP A RIB BLOCK AND CHECK IT
  3729
  3730	024635	260 17 0 00 024552 	SETRIB:	GO	LBNSEL			;MAKE SURE ON RIGHT UNIT
  3731	024636	263 17 0 00 000000 		RTN				;NOT THERE
  3732	024637	201 13 0 00 017200 		MOVEI	P4,RBUF			;ADDRESS OF THE RIB BUFFER
  3733	024640	202 07 0 00 026000 		MOVEM	LBNAC,LBN
  3734	024641	260 17 0 00 024727 		GO	DSKBLK			;READ THE FILE'S RIB
  3735	024642	263 17 0 00 000000 		RTN				;COULDN'T READ IT
  3736	024643	402 00 0 00 026140 		SETZM	CLUCNT			;NO CLUSTERS LEFT
  3737	024644	402 00 0 00 026141 		SETZM	BLKCNT			;NO BLOCKS LEFT IN CLUSTER
  3738	024645	200 01 0 00 017205 		MOVE	A,RBUF+RIBSIZ		;LENGTH OF FILE
  3739	024646	202 01 0 00 026005 		MOVEM	A,LENGTH		;SAVE FOR EOF TEST
  3740	024647	200 01 0 00 017376 		MOVE	A,RBUF+BLKCOD		;CHECK THE CODE WORD
  3741	024650	302 01 0 00 777777 		CAIE	A,CODRIB
  3742	024651	263 17 0 00 000000 		RTN				;RIB CODE BAD
  3743	024652	660 00 0 00 001000 		TRO	F,R.SRIB		;WANT TO SKIP RIB WHEN READING
  3744	024653	200 11 0 00 017200 		MOVE	P2,RBUF+RIBFIR		;POINTER TO REAL RIB DATA
  3745	024654	254 00 0 00 020415 		JRST	CPOPJ1			;SUCCESSFUL RETURN
  3746
  3747					;*FNDUNI, FIND A PARTICULAR LOGICAL UNIT IN THE SYSTEM
  3748
  3749	024655	402 00 0 00 026144 	FNDUNI:	SETZM	TTYPE		;CLEAR SEARCH TEMPS
  3750	024656	402 00 0 00 026145 	FNDUL1:	SETZM	TUNIT
  3751	024657	200 14 0 00 026144 	FNDUL2:	MOVE	P5,TTYPE	;GET CONTROLLER TYPE
  3752	024660	200 06 0 00 026145 		MOVE	Q2,TUNIT	;AND UNIT NUMBER
  3753
  3754	024661	260 17 0 00 024700 		GO	HOME		;TRY TO READ ITS HOME BLOCK
  3755	024662	254 00 0 00 024666 		JRST	FNDUNX		;NO GOOD, ON TO NEXT		
  3756
  3757	024663	260 17 0 00 023201 		GO	CHKHOM		;CHECK HOME BLOCK
  3758	024664	254 00 0 00 024666 		JRST	FNDUNX		;NO GOOD, ON TO NEXT
  3759	024665	254 00 0 00 020415 		JRST	CPOPJ1
  3760
  3761	024666	350 01 0 00 026145 	FNDUNX:	AOS	T1,TUNIT	;COUNT TO NEXT UNIT ON CONTROLLER
  3762	024667	307 01 0 00 000007 		CAIG	T1,UNIMAX	;TOO BIG?		
  3763	024670	254 00 0 00 024657 		JRST	FNDUL2		;NO, GO CHECK THIS ONE
  3764	024671	350 01 0 00 026144 		AOS	T1,TTYPE	;YES, COUNT TO NEXT TYPE OF CONTROLLER
  3765	024672	307 01 0 00 000000 		CAIG	T1,TYPMAX	;ALL OF THOSE GONE BY?		
  3766	024673	254 00 0 00 024656 		JRST	FNDUL1		;NO,TRY THIS ONE
  3767	024674	263 17 0 00 000000 		RTN			;ALL TRIED, RETURN
  3768
  3769	024675	541 03 0 00 000001 	RIBBYT:	HRRI	T3,A		;WHERE THE WORD IS
  3770	024676	135 02 0 00 000003 		LDB	B,T3		;GET THE DESIRED BYTE
  3771	024677	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 100
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0128

  3772					;*HOME, DETERMINE WHETHER A UNIT EXISTS, AND IF SO,
  3773					;*	 READ ITS HOME BLOCK INTO THE HOME BUFFER
  3774					;*	 CALL SEQUENCE:
  3775					;*		P5/	CONTROLLER TYPE INDEX
  3776					;*		Q2/	UNIT NUMBER, 0-7
  3777					;*	  GO HOME
  3778					;*	  NOT THERE RETURN
  3779					;*	  OK	RETURN
  3780
  3781	024700	202 06 0 00 026147 	HOME:	MOVEM	Q2,CUNIT	;SAVE CURRENT UNIT TYPE
  3782	024701	202 14 0 00 026146 		MOVEM	P5,CTYPE	;SAVE CONTROLLER TYPE
  3783	024702	260 17 0 00 024721 		GO	DSKINI		;INIT DISK
  3784	024703	263 17 0 00 000000 		RTN			;ERROR, NOT THERE
  3785
  3786	024704	201 10 0 00 000001 		MOVEI	P1,HOMBK1	;WANT TO READ FIRST HOME BLOCK
  3787	024705	202 10 0 00 026000 	HOM1:	MOVEM	P1,LBN
  3788	024706	201 13 0 00 017000 		MOVEI	P4,HBUF		;READ HOME BLOCK INTO ITS BUFFER
  3789	024707	260 17 0 00 024727 		GO	DSKBLK		;TRY TO READ THE HOME BLOCK
  3790	024710	254 00 0 00 024715 		JRST	HOM2		;CAN'T READ THAT ONE
  3791	024711	200 01 0 00 017176 		MOVE	T1,HOMCOD	;GET THE CODE WORD
  3792	024712	302 01 0 00 707070 		CAIE	T1,CODHOM	;IS IT RIGHT?
  3793	024713	254 00 0 00 024715 		JRST	HOM2		;NO GOOD
  3794	024714	254 00 0 00 020415 		JRST	CPOPJ1		;OK RETURN
  3795
  3796	024715	306 10 0 00 000012 	HOM2:	CAIN	P1,HOMBK2	;TRIED BOTH BLOCKS?
  3797	024716	263 17 0 00 000000 		RTN			;YES, GIVE FAIL RETURN
  3798	024717	201 10 0 00 000012 		MOVEI	P1,HOMBK2	;NO, TRY ANOTHER ONE
  3799	024720	254 00 0 00 024705 		JRST	HOM1		;READ SECOND HOME BLOCK
  3800
  3801	024721	200 06 0 00 026147 	DSKINI:	MOVE	Q2,CUNIT	;GET UNIT
  3802	024722	201 03 0 00 024732 		MOVEI	T3,UNIINI	;COMPUTE TABLE OFFSET
  3803	024723	270 03 0 00 026146 		ADD	T3,CTYPE
  3804	024724	254 00 1 03 000000 		JRST	@(T3)		;INIT DISK & SKIP RETURN IF OK
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 101
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0129

  3805					;*DSKBLK - ROUTINE TO READ A BLOCK FROM THE DEVICE AND UNIT IN
  3806					;*	   CTYPE & CUNIT INTO THE BUFFER AT (T1)+1, FROM LOGICAL BLOCK
  3807					;*	   NUMBER IN P1 SKIP RETURN IF SUCCESSFUL, NON-SKIP IF ANY
  3808					;*	   HARDWARE ERRORS
  3809
  3810	024725	476 00 0 00 025771 		SETOM	FULPAG#		;READ FULL PAGE, 4 SECTORS
  3811	024726	254 00 0 00 024730 		JRST	.+2
  3812	024727	402 00 0 00 025771 	DSKBLK:	SETZM	FULPAG		;READ ONE SECTOR
  3813	024730	265 03 0 00 024733 		JSP	T3,SETCHN	;SETUP CHN CONTROL WORD & CALL PROPER READ ROUTINE
  3814
  3815	024731	000000	025051			RHREAD			;1ST RH11/RP04/5/6/RM03
  3816
  3817					;*UNIINI - INITIALIZE CONTROLLER ROUTINES
  3818
  3819	024732	000000	024736		UNIINI:	RHINIT			;FIRST RH11/RP04/5/6/RM03
  3820
  3821			000000		TYPMAX=.-UNIINI-1		;MAXIMUM CONTROLLER ROUTINE
  3822			000007		UNIMAX=7			;MAX NUMBER OF UNITS ON A CONTROLLER
  3823
  3824					;*SETCHN - SUBROUTINE TO SETUP CHANNEL, THEN DISPATCH TO DEVICE
  3825					;*	   DEPENDENT ROUTINE
  3826
  3827	024733	200 14 0 00 026146 	SETCHN:	MOVE	P5,CTYPE	;WHAT CONTROLLER
  3828	024734	271 03 0 14 000000 		ADDI	T3,(P5)
  3829	024735	254 00 1 03 000000 		JRST	@(T3)		;CALL DISPATCH ENTRY
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 102
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0130

  3830					;*RHINIT - INITIALIZATION FOR RH11/RP04/5/6/RM03
  3831
  3832	024736	303 06 0 00 000007 	RHINIT:	CAILE	Q2,7		;SEE IF LAST DRIVE
  3833	024737	263 17 0 00 000000 		RTN			;YES, EXIT
  3834	024740	201 01 0 00 000040 		MOVEI	T1,RPCLR
  3835	024741	713 01 1 00 025200 		WRIO	T1,@RPCS2	;CLEAR DISK
  3836	024742	713 06 1 00 025200 		WRIO	Q2,@RPCS2	;SELECT DRIVE
  3837	024743	201 01 0 00 004000 		MOVEI	T1,RPDVA
  3838	024744	711 01 1 00 025174 		TION	T1,@RPCS1	;IS DRIVE AVAILABLE ?
  3839	024745	263 17 0 00 000000 		RTN			;NO
  3840	024746	712 01 1 00 025201 		RDIO	T1,@RPDS	;READ DRIVE STATUS
  3841	024747	602 01 0 00 140000 		TRNE	T1,RPATA!RPERR
  3842	024750	263 17 0 00 000000 		RTN			;ERROR IN THIS DRIVE
  3843	024751	640 01 0 00 000600 		TRC	T1,RPDPR!RPRDY
  3844	024752	642 01 0 00 000600 		TRCE	T1,RPDPR!RPRDY
  3845	024753	263 17 0 00 000000 		RTN			;ERROR/ NOT AVAILABLE
  3846
  3847	024754	712 01 1 00 025207 		RDIO	T1,@RPDT	;READ DRIVE TYPE
  3848	024755	405 01 0 00 000777 		ANDI	T1,777
  3849	024756	301 01 0 00 000020 		CAIL	T1,20		;RP04=20, RP05=21, RP06=22, RM03=24
  3850	024757	303 01 0 00 000024 		CAILE	T1,24
  3851	024760	263 17 0 00 000000 		RTN			;NO DEVICE OR NOT AN RP04/5/6/RM03
  3852	024761	202 01 0 00 026020 		MOVEM	T1,RPTYPE#
  3853	024762	260 17 0 00 025007 		GO	DRVINI		;INIT DRIVE PARAMETERS
  3854
  3855	024763	201 01 0 00 000023 		MOVEI	T1,RH.PA	;PACK ACK COMMAND
  3856	024764	713 01 1 00 025174 		WRIO	T1,@RPCS1	;DO IT
  3857	024765	712 01 1 00 025201 		RDIO	T1,@RPDS	;READ DEVICE STATUS REGISTER
  3858	024766	606 01 0 00 010000 		TRNN	T1,RPMOL	;POWERED UP WITH A PACK ON-LINE ?
  3859	024767	263 17 0 00 000000 		RTN			;NO
  3860
  3861	024770	201 01 0 00 000011 		MOVEI	T1,RH.DC
  3862	024771	713 01 1 00 025174 		WRIO	T1,@RPCS1	;DO A DRIVE CLEAR
  3863
  3864	024772	336 00 0 00 026017 		SKIPN	RHIALL		;RESET ALL ?
  3865	024773	254 00 0 00 020415 		JRST	CPOPJ1		;NO
  3866
  3867	024774	201 01 0 00 000007 		MOVEI	T1,RH.RC
  3868	024775	713 01 1 00 025174 		WRIO	T1,@RPCS1	;DO A RECAL
  3869	024776	260 17 0 00 025163 		GO	WAIT		;WAIT FOR READY
  3870	024777	337 00 0 00 000001 		SKIPG	T1
  3871	025000	263 17 0 00 000000 		RTN			;ERROR
  3872	025001	201 01 0 00 000021 		MOVEI	T1,RH.RIP
  3873	025002	713 01 1 00 025174 		WRIO	T1,@RPCS1	;DO A READ-IN PRESET
  3874	025003	260 17 0 00 025163 		GO	WAIT		;WAIT FOR READY
  3875	025004	337 00 0 00 000001 		SKIPG	T1
  3876	025005	263 17 0 00 000000 		RTN			;ERROR
  3877	025006	254 00 0 00 020415 		JRST	CPOPJ1		;SKIP RETURN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 103
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0131

  3878					;*DRVINI - INITIALIZE DRIVE PARAMETERS
  3879
  3880	025007	261 17 0 00 000003 	DRVINI:	PUT	T3
  3881	025010	261 17 0 00 000004 		PUT	T4
  3882	025011	306 01 0 00 000020 		CAIN	T1,.R4TYP	;RP04 ?
  3883	025012	260 17 0 00 025027 		GO	R4TYPE
  3884	025013	306 01 0 00 000021 		CAIN	T1,.R5TYP	;RP05 ?
  3885	025014	260 17 0 00 025033 		GO	R5TYPE
  3886	025015	306 01 0 00 000022 		CAIN	T1,.R6TYP	;RP06 ?
  3887	025016	260 17 0 00 025037 		GO	R6TYPE
  3888	025017	306 01 0 00 000024 		CAIN	T1,.R3TYP	;RM03 ?
  3889	025020	260 17 0 00 025043 		GO	R3TYPE
  3890	025021	202 02 0 00 026014 		MOVEM	T2,NUMCYL#	;SETUP # OF CYL ON DISK
  3891	025022	202 03 0 00 026010 		MOVEM	T3,N.SCCL#	;SETUP # OF SECTORS PER CYL
  3892	025023	202 04 0 00 026011 		MOVEM	T4,N.STRK#	;SETUP # OF SECTORS PER TRACK
  3893	025024	262 17 0 00 000004 		GET	T4
  3894	025025	262 17 0 00 000003 		GET	T3
  3895	025026	263 17 0 00 000000 		RTN
  3896
  3897	025027	201 02 0 00 000620 	R4TYPE:	MOVEI	T2,N.CLP4
  3898	025030	201 03 0 00 000574 		MOVEI	T3,N.SPC4
  3899	025031	201 04 0 00 000024 		MOVEI	T4,N.SPT4
  3900	025032	263 17 0 00 000000 		RTN
  3901
  3902	025033	201 02 0 00 000620 	R5TYPE:	MOVEI	T2,N.CLP5
  3903	025034	201 03 0 00 000574 		MOVEI	T3,N.SPC5
  3904	025035	201 04 0 00 000024 		MOVEI	T4,N.SPT5
  3905	025036	263 17 0 00 000000 		RTN
  3906
  3907	025037	201 02 0 00 001440 	R6TYPE:	MOVEI	T2,N.CLP6
  3908	025040	201 03 0 00 000574 		MOVEI	T3,N.SPC6
  3909	025041	201 04 0 00 000024 		MOVEI	T4,N.SPT6
  3910	025042	263 17 0 00 000000 		RTN
  3911
  3912	025043	201 02 0 00 001464 	R3TYPE:	MOVEI	T2,N.CLP3
  3913	025044	201 03 0 00 000224 		MOVEI	T3,N.SPC3
  3914	025045	332 00 0 00 026037 		SKIPE	TOPS10
  3915	025046	201 03 0 00 000226 		MOVEI	T3,T.SPC3		;TOPS-10
  3916	025047	201 04 0 00 000036 		MOVEI	T4,N.SPT3
  3917	025050	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 104
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0132

  3918					;*RHREAD - READ ROUTINE FOR RH11/RP04/5/6/RM03
  3919					;*	ENTRY:	P1/ LOGICAL BLOCK NUMBER
  3920					;*		Q2/   DRIVE NUMBER
  3921					;*		P4/  MEMORY ADDRESS
  3922					;*	EXIT:	+1 FOR ERROR
  3923					;*		+2 SUCESSFUL
  3924
  3925	025051	201 04 0 00 000071 	RHREAD:	MOVEI	T4,RH.RD	;RH11 READ
  3926	025052	261 17 0 00 000000 		PUT	0
  3927	025053	261 17 0 00 000001 		PUT	1
  3928	025054	261 17 0 00 000011 		PUT	P2
  3929	025055	201 11 0 00 000005 		MOVEI	P2,5		;RETRY 5 TIMES
  3930
  3931	025056	200 01 0 00 026000 	DRETRY:	MOVE	T1,LBN		;GET DISK ADDRESS
  3932	025057	230 01 0 00 026010 		IDIV	T1,N.SCCL	;GET CYL IN T1, SECTOR IN T2
  3933	025060	261 17 0 00 000002 		PUT	T2		;SAVE CYL
  3934	025061	201 00 0 00 000040 		MOVEI	RPCLR
  3935	025062	713 00 1 00 025200 		WRIO	@RPCS2		;CLEAR RH11
  3936	025063	200 06 0 00 026147 		MOVE	Q2,CUNIT
  3937	025064	713 06 1 00 025200 		WRIO	Q2,@RPCS2	;SET UNIT NUMBER
  3938	025065	713 01 1 00 025212 		WRIO	T1,@RPDC	;SET DESIRED CYLINDER
  3939	025066	262 17 0 00 000001 		GET	T1		;RESTORE SECTOR WITHIN CYL
  3940	025067	230 01 0 00 026011 		IDIV	T1,N.STRK	;GET TRACK IN T1, SECTOR IN T2
  3941	025070	242 01 0 00 000010 		LSH	T1,^D8		;POSITION IN THE TRACK #
  3942	025071	434 01 0 00 000002 		IOR	T1,T2		;ADD THE SECTOR
  3943	025072	713 01 1 00 025177 		WRIO	T1,@RPDA	;SET DESIRED ADDRESS REGISTER
  3944
  3945	025073	200 01 0 00 000013 		MOVE	T1,P4		;GET PHYSICAL ADDRESS IN T1
  3946	025074	261 17 0 00 000001 		PUT	T1
  3947	025075	242 01 0 00 777767 		LSH	T1,-^D9		;SET CORE ADDRESS
  3948	025076	435 01 0 00 140000 	$RHUVB:	IORI	T1,UNVBIT!UNV36X
  3949	025077	713 01 1 00 025220 		WRIO	T1,@UNBMP0	;SET UNIBUS MAP
  3950	025100	262 17 0 00 000001 		GET	T1
  3951	025101	405 01 0 00 000777 		ANDI	T1,777
  3952	025102	242 01 0 00 000002 		LSH	T1,2		;CHANGE TO -11 ADDRESS
  3953	025103	713 01 1 00 025176 		WRIO	T1,@RPBA	;SET UNIBUS ADDRESS
  3954	025104	211 01 0 00 000400 		MOVNI	T1,RPPGSZ
  3955	025105	332 00 0 00 025771 		SKIPE	FULPAG
  3956	025106	211 01 0 00 002000 		MOVNI	T1,RPPGSZ*4	;READ FULL PAGE, 4 SECTORS
  3957	025107	713 01 1 00 025175 		WRIO	T1,@RPWC	;SET SIZE OF TRANSFER
  3958
  3959	025110	260 17 0 00 025162 	TRYIT:	GO	DOIO		;DO I/O
  3960	025111	7 010 24 0 00 000002 		CONI	PAG,T2
  3961	025112	7 010 20 0 02 000000 		CONO	PAG,(T2)	;FLUSH CACHE IF ON
  3962	025113	327 01 0 00 025116 		JUMPG	T1,RWSXIT	;IF NO ERRORS, SUCCESS EXIT
  3963	025114	367 11 0 00 025123 		SOJG	P2,TRYECC	;ERROR, TRY ECC CORRECTION
  3964	025115	254 00 0 00 025117 		JRST	RWFXIT		;FAILED
  3965
  3966	025116	350 00 0 17 777775 	RWSXIT:	AOS	-3(P)		;SKIP RETURN
  3967	025117	262 17 0 00 000011 	RWFXIT:	GET	P2
  3968	025120	262 17 0 00 000001 		GET	1
  3969	025121	262 17 0 00 000000 		GET	0
  3970	025122	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 105
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0133

  3971					;* SUBROUTINE TO ATTEMPT TO DO ECC CORRECTION 
  3972
  3973	025123	332 00 0 00 025771 	TRYECC:	SKIPE	FULPAG		;FULL PAGE READ ?
  3974	025124	254 00 0 00 025056 		JRST	DRETRY		;YES, NO ECC THEN
  3975	025125	712 01 1 00 025202 		RDIO	T1,@RPER1	;READ ERROR REG 1
  3976	025126	405 01 0 00 177777 		ANDI	T1,177777
  3977	025127	302 01 0 00 100000 		CAIE	T1,100000	;DCK ONLY ?
  3978	025130	254 00 0 00 025056 		JRST	DRETRY		;NO, NOT CORRECTABLE.
  3979
  3980	025131	712 01 1 00 025216 		RDIO	T1,@RPEC1	;READ ECC POSITION REGISTER
  3981	025132	405 01 0 00 177777 		ANDI	T1,177777	;SAVE 16 BIT DATA FIELD
  3982	025133	336 02 0 00 000001 		SKIPN	T2,T1		;CHECK POS AND GET IT TO T2
  3983	025134	254 00 0 00 025056 		JRST	DRETRY		;IF 0, ECC BROKEN. DON'T CORRECT
  3984
  3985	025135	303 01 0 00 011025 		CAILE	T1,^D4608+^D32-^D11 ;SEE IF POSITION IS WITHIN RANGE
  3986	025136	254 00 0 00 025056 		JRST	DRETRY		;ECC BROKEN. DON'T CORRECT
  3987	025137	275 01 0 00 000001 		SUBI	T1,1		;NORMALIZE THE POSITION COUNT
  3988	025140	202 01 0 00 025761 		MOVEM	T1,ECCPOS#	;FOR FUTURE USE
  3989	025141	712 01 1 00 025217 		RDIO	T1,@RPEC2	;WE NEED ECC PATTERN REG
  3990	025142	135 00 0 00 025627 		LDB	0,[POINT 11,T1,35] ;GET THE 11 BIT BURST PATTERN
  3991	025143	275 02 0 00 010764 		SUBI	T2,^D4607-^D11	;SEE IF POSITION EXCEEDS DATA FIELD
  3992	025144	323 02 0 00 025150 		JUMPLE	T2,NORM		;IF + . WE OVERLAP AND MUST ADJ. PATTERN
  3993
  3994					; MODIFY ECC PATTERN IF CORRECTION SPILLS OVER THE DATA FIELD
  3995
  3996	025145	242 00 0 02 000031 		LSH	0,^D25(T2)	;THROW AWAY APPROPRIATE BITS
  3997	025146	213 02 0 00 000002 		MOVNS	T2,T2		;WANT TO SHIFT LEFT NEXT
  3998	025147	242 00 0 02 777747 		LSH	0,-^D25(T2)	;NOW HAVE CORRECT PATTERN LENGTH
  3999
  4000					; THE ACTUAL CODE TO CORRECT THE DATA ERROR
  4001
  4002	025150	400 01 0 00 000000 	NORM:	SETZ	T1,		;AND CLEAR ADJACENT AC
  4003	025151	200 02 0 00 025761 		MOVE	T2,ECCPOS	;GET THE POSITION BACK AGAIN
  4004	025152	231 02 0 00 000044 		IDIVI	T2,^D36		;GET BUFFER OFFSET PLUS REMAINDER
  4005	025153	270 02 0 00 000013 		ADD	T2,P4		;POINTS TO 1ST WORD NEEDING CORRECTION
  4006	025154	245 00 0 03 000000 		ROTC	0,(T3)		;SLIDE THE PATTERN INTO PLACE
  4007	025155	207 00 0 00 000000 		MOVSS	0,0		;HALVES MUST BE SWAPPED
  4008	025156	207 01 0 00 000001 		MOVSS	1,1		; BECAUSE OF RP0X DATA PATH MAPPING
  4009	025157	432 00 0 02 000000 		XORM	0,(T2)		;CORRECT THE FIRST WORD
  4010	025160	432 01 0 02 000001 		XORM	1,1(T2)		;CORRECT THE SECOND WORD
  4011	025161	254 00 0 00 025116 		JRST	RWSXIT		;PASSED RETURN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 106
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0134

  4012					;*DOIO, PERFORM DISK OPERATION
  4013
  4014	025162	713 04 1 00 025174 	DOIO:	WRIO	T4,@RPCS1	;DO COMMAND
  4015
  4016					;*WAIT, WAIT FOR COMPLETION OR ERROR
  4017
  4018	025163	205 01 0 00 000002 	WAIT:	MOVSI	T1,2		;SET DELAY COUNT
  4019	025164	201 02 0 00 140200 		MOVEI	T2,RPATA!RPERR!RPRDY
  4020	025165	711 02 1 00 025201 		TION	T2,@RPDS	;WAIT FOR COMPLETION OR ERROR
  4021	025166	367 01 0 00 025164 		SOJG	T1,WAIT+1
  4022	025167	323 01 0 00 025172 		JUMPLE	T1,WAITF	;TIMEOUT RETURN
  4023
  4024	025170	712 02 1 00 025174 		RDIO	T2,@RPCS1	;READ STATUS
  4025	025171	602 02 0 00 060000 		TRNE	T2,RPERR!RPMCPE
  4026	025172	474 01 0 00 000000 	WAITF:	SETO	T1,		;YES, SET T1 MINUS AS FLAG
  4027	025173	263 17 0 00 000000 		RTN
  4028
  4029					;*RH11CH, CHANNEL TABLE FOR RH11'S
  4030
  4031	025174				RH11CH:
  4032	025174	000000	000000		RPCS1:	0			;STATUS 1
  4033	025175	000000	000000		RPWC:	0			;WORD COUNT
  4034	025176	000000	000000		RPBA:	0			;BUS ADDRESS
  4035	025177	000000	000000		RPDA:	0			;DISK ADDRESS (SECTOR & TRACK)
  4036	025200	000000	000000		RPCS2:	0			;STATUS 2
  4037	025201	000000	000000		RPDS:	0			;DRIVE STATUS
  4038	025202	000000	000000		RPER1:	0			;ERROR REGISTER 1
  4039	025203	000000	000000		RPAS:	0			;ATTENTION SUMMARY
  4040	025204	000000	000000		RPLA:	0			;LOOK AHEAD
  4041	025205	000000	000000		RPDB:	0			;DATA BUFFER
  4042	025206	000000	000000		RPMR:	0			;MAINTENANCE
  4043	025207	000000	000000		RPDT:	0			;DRIVE TYPE
  4044	025210	000000	000000		RPSN:	0			;SERIAL NUMBER
  4045	025211	000000	000000		RPOF:	0			;OFFSET
  4046	025212	000000	000000		RPDC:	0			;DESIRED CYLINDER
  4047	025213	000000	000000		RPCC:	0			;CHAR
  4048	025214	000000	000000		RPER2:	0			;ERROR 2
  4049	025215	000000	000000		RPER3:	0			;ERROR 3
  4050	025216	000000	000000		RPEC1:	0			;ECC
  4051	025217	000000	000000		RPEC2:	0			;ECC
  4052	025220	000000	000000		UNBMP0:	0			;UNIBUS MAP
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 107
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0135

  4053					;*ERROR - ERROR REPORTING
  4054
  4055	025221	402 00 0 00 020014 		SETZM	ONCE		;ABORT ERROR
  4056	025222	476 00 0 00 026017 	ERROR:	SETOM	RHIALL
  4057	025223	261 17 0 00 000001 		PUSH	P,1
  4058	025224	260 17 0 00 021257 		GO	CRLF1
  4059	025225	201 00 0 00 000077 		MOVEI	"?"
  4060	025226	260 17 0 00 021211 		GO	PRINT
  4061	025227	262 17 0 00 000000 		POP	P,0
  4062	025230	260 17 0 00 021115 		PNTMSG
  4063						PMSG	< ERROR AT >^
  4064	025231	201 00 0 00 025630 		MOVEI	[SIXBIT\ ERROR AT _\]
  4065	025232	260 17 0 00 021115 		PNTMSG^
  4066	025233	200 00 0 17 000000 		MOVE	0,(P)
  4067	025234	370 00 0 00 000000 		SOS
  4068	025235	260 17 0 00 021164 		GO	PNTOCT		;PRINT PC OF ERROR
  4069
  4070	025236	201 00 0 00 000040 		MOVEI	" "
  4071	025237	260 17 0 00 021211 		GO	PRINT
  4072	025240	260 17 0 00 020331 		GO	NAMPNT		;PRINT FILE NAME
  4073
  4074	025241	336 00 0 00 020014 		SKIPN	ONCE		;INITIAL LOAD ERROR ?
  4075	025242	254 00 0 00 020116 		JRST	SELX1		;YES
  4076
  4077	025243	332 00 0 00 026105 		SKIPE	PGMGO
  4078	025244	254 00 0 00 020024 		JRST	SELECT
  4079	025245	254 00 0 00 020645 		JRST	RUN
  4080
  4081					;*NFERR1 - PROGRAM NOT FOUND ERROR
  4082
  4083	025246				NFERR1:	PMSG	<^?PROGRAM NOT FOUND - >^
  4084	025246	201 00 0 00 025632 		MOVEI	[SIXBIT\^?PROGRAM NOT FOUND - _\]
  4085	025247	260 17 0 00 021115 		PNTMSG^
  4086	025250	260 17 0 00 020331 		GO	NAMPNT
  4087	025251	263 17 0 00 000000 		RTN
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 108
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0136

  4088					;*SMMON, SMMAG, SMAPT - LOAD DIAGNOSTIC MONITOR'S
  4089
  4090					SMMON:	MOVEI	IP,[SIXBIT/SMMON/
  4091	025252	201 16 0 00 025636 			    0]
  4092	025253	254 00 0 00 025257 		JRST	SMAPT+1
  4093
  4094					SMMAG:	MOVEI	IP,[SIXBIT/SMMAG/
  4095	025254	201 16 0 00 025640 			    0]
  4096	025255	254 00 0 00 025257 		JRST	SMAPT+1
  4097
  4098					SMAPT:	MOVEI	IP,[SIXBIT/SMAPT/
  4099	025256	201 16 0 00 025642 			    0]
  4100
  4101	025257	476 00 0 00 026121 		SETOM	LDDMON
  4102	025260	260 17 0 00 021754 		GO	DIAGLD-2
  4103	025261	254 00 0 00 020116 		JRST	SELX1
  4104	025262	254 04 0 00 025262 		HALT	.
  4105
  4106	025263	402 00 0 00 030000 	CLRCR2:	SETZM	30000
  4107	025264	200 00 0 00 025644 		MOVE	[30000,,30001]
  4108	025265	251 00 0 00 037777 		BLT	37777
  4109	025266	263 17 0 00 000000 		RTN
  4110
  4111	025267	402 00 0 00 000036 	STARTM:	SETZM	MSRH		;NO AUTO SELECT
  4112	025270	550 04 0 00 000004 		HRRZ	T4,T4
  4113	025271	200 00 0 00 025645 		MOVE	[30000,,20000]	;TRANSFER DIAG MON
  4114	025272	200 01 0 00 025646 		MOVE	1,[BLT	27767]	;TO CORRECT PLACE
  4115	025273	200 02 0 00 025647 		MOVE	2,[JRST	@T4]	;START IT
  4116	025274	254 00 0 00 000001 		JRST	1
  4117
  4118	025275	305 13 0 00 001000 	LDTEN3:	CAIGE	13,1000		;LOAD 0 TO 777 DIRECT
  4119	025276	254 00 0 00 022236 		JRST	LDTEN2
  4120	025277	305 13 0 00 020000 		CAIGE	13,20000
  4121	025300	254 00 0 00 025303 		JRST	LDTEN4		;BAD DIAG MON ADDRESS
  4122	025301	271 13 0 00 010000 		ADDI	13,10000	;OFFSET LOAD
  4123	025302	254 00 0 00 022236 		JRST	LDTEN2
  4124
  4125	025303	201 01 0 00 025650 	LDTEN4:	MOVEI	T1,[SIXBIT/BAD DIAG MON ADDRESS_/]
  4126	025304	254 00 0 00 025221 		JRST	ERROR-1
  4127
  4128	025305	550 16 0 00 000007 	RFILL4:	HRRZ	16,Q3
  4129	025306	305 16 0 00 000777 		CAIGE	16,777		;LOAD 0 TO 777 DIRECT
  4130	025307	254 00 0 00 024023 		JRST	RFILL2
  4131	025310	305 16 0 00 017777 		CAIGE	16,17777
  4132	025311	254 00 0 00 025303 		JRST	LDTEN4		;BAD DIAG MON ADDRESS
  4133	025312	271 07 0 00 010000 		ADDI	Q3,10000	;OFFSET LOAD
  4134	025313	254 00 0 00 024023 		JRST	RFILL2
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 109
SMMON	MAC	11-Apr-79 13:23		DSKLDR DISK PACK LOAD ONLY ROUTINE                                                 SEQ 0137

  4135					;*ERROR REPORT MESSAGES
  4136
  4137	025314	201 01 0 00 025654 	IOERR:	MOVEI	T1,[SIXBIT/IO ERROR_/]
  4138	025315	254 00 0 00 025221 		JRST	ERROR-1
  4139
  4140	025316	201 01 0 00 025656 	BADUNI:	MOVEI	T1,[SIXBIT/MISMATCHED UNITS_/]
  4141	025317	254 00 0 00 025221 		JRST	ERROR-1
  4142
  4143	025320	201 01 0 00 025661 	MISUNI:	MOVEI	T1,[SIXBIT/MISSING UNIT_/]
  4144	025321	254 00 0 00 025221 		JRST	ERROR-1
  4145
  4146	025322	201 01 0 00 025664 	DPLUNI:	MOVEI	T1,[SIXBIT/DUPL STR UNIT_/]
  4147	025323	254 00 0 00 025221 		JRST	ERROR-1
  4148
  4149	025324	201 01 0 00 025667 	BADSTR:	MOVEI	T1,[SIXBIT/HOM BLKS BAD_/]
  4150	025325	254 00 0 00 025221 		JRST	ERROR-1
  4151
  4152	025326	201 01 0 00 025672 	LNGERR:	MOVEI	T1,[SIXBIT/FILE TOO LONG_/]
  4153	025327	254 00 0 00 025221 		JRST	ERROR-1
  4154
  4155	025330	201 01 0 00 025675 	LERR3:	MOVEI	T1,[SIXBIT/FLTYPE_/]
  4156	025331	254 00 0 00 025222 		JRST	ERROR
  4157	025332	201 01 0 00 025677 	LERR4:	MOVEI	T1,[SIXBIT/FORMAT_/]
  4158	025333	254 00 0 00 025222 		JRST	ERROR
  4159	025334	201 01 0 00 025701 	LERR5:	MOVEI	T1,[SIXBIT/CKSUM_/]
  4160	025335	254 00 0 00 025222 		JRST	ERROR
  4161	025336	201 01 0 00 025702 	ERR2:	MOVEI	T1,[SIXBIT/ILLEOF_/]
  4162	025337	254 00 0 00 025222 		JRST	ERROR
  4163	025340	201 01 0 00 025704 	ERR6:	MOVEI	T1,[SIXBIT/1STPTR_/]
  4164	025341	254 00 0 00 025222 		JRST	ERROR
  4165	025342	201 01 0 00 025706 	ERR7:	MOVEI	T1,[SIXBIT/STADR_/]
  4166	025343	254 00 0 00 025222 		JRST	ERROR
  4167	025344	201 01 0 00 025707 	ERR8:	MOVEI	T1,[SIXBIT/OPEN_/]
  4168	025345	254 00 0 00 025222 		JRST	ERROR
  4169	025346	201 01 0 00 025710 	ERR9:	MOVEI	T1,[SIXBIT/RDERR_/]
  4170	025347	254 00 0 00 025222 		JRST	ERROR
  4171	025350	201 01 0 00 025711 	ERR10:	MOVEI	T1,[SIXBIT/CORE_/]
  4172	025351	254 00 0 00 025222 		JRST	ERROR
  4173	025352	201 01 0 00 025712 	ERR11:	MOVEI	T1,[SIXBIT/BADRIB_/]
  4174	025353	254 00 0 00 025222 		JRST	ERROR
  4175	025354	201 01 0 00 025714 	ERR12:	MOVEI	T1,[SIXBIT/RIBEOF_/]
  4176	025355	254 00 0 00 025222 		JRST	ERROR
  4177	025356	201 01 0 00 025716 	ERR13:	MOVEI	T1,[SIXBIT/PAKTYP_/]
  4178	025357	254 00 0 00 025222 		JRST	ERROR
  4179
  4180	025360	777600	017400		DBUFP:	-200,,DBUF		;POINTER TO DATA BLOCK
  4181	025361	44 06 0 00 000004 	PPNPTR:	POINT 6,W		;POINTER FOR PPN INPUT
  4182	025362	000006	002020		DIAGPPN: 6,,2020		;DEFAULT FOR DIAG AREA ??
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 110
SMMON	MAC	11-Apr-79 13:23		STORAGE ASSIGNMENTS                                                                SEQ 0138

  4183					SUBTTL	STORAGE ASSIGNMENTS
  4184	025363					LIT
  4185	025363	777740	026045
  4186	025364	000001	000001
  4187	025365	026105	026106
  4188	025366	63 65 42 62 64 56 
  4189	025367	63 65 42 65 63 62 
  4190	025370	000000	000000
  4191	025371	63 65 42 63 55 00 
  4192	025372	000000	000000
  4193	025373	63 55 44 44 64 00 
  4194	025374	000000	000000
  4195	025375	00 43 55 44 00 15 
  4196	025376	00 77 00 00 00 00 
  4197	025377	76 46 51 54 45 16 
  4198	025400	45 70 64 00 15 00 
  4199	025401	77 00 00 00 00 00 
  4200	025402	56 57 00 50 45 54 
  4201	025403	60 77 00 00 00 00 
  4202	025404	76 56 41 55 45 75 
  4203	025405	60 41 63 63 45 63 
  4204	025406	75 62 50 00 63 67 
  4205	025407	63 75 51 64 45 62 
  4206	025410	41 64 51 57 56 63 
  4207	025411	76 77 00 00 00 00 
  4208	025412	44 07 0 00 031000 
  4209	025413	70 70 70 76 77 00 
  4210	025414	76 37 43 55 44 54 
  4211	025415	63 64 00 64 57 57 
  4212	025416	00 54 57 56 47 77 
  4213	025417	76 05 65 63 45 62 
  4214	025420	00 57 56 54 71 77 
  4215	025421	76 05 45 70 45 43 
  4216	025422	00 57 56 54 71 77 
  4217	025423	76 05 65 56 43 50 
  4218	025424	41 51 56 41 42 54 
  4219	025425	45 15 77 00 00 00 
  4220	025426	254 00 1 00 027774 
  4221	025427	165742	335216
  4222	025430	00 60 41 63 63 00 
  4223	025431	77 00 00 00 00 00 
  4224	025432	76 43 55 44 07 63 
  4225	025433	00 62 45 61 65 51 
  4226	025434	62 45 44 77 00 00 
  4227	025435	76 71 00 57 62 00 
  4228	025436	41 00 46 57 62 00 
  4229	025437	63 60 45 43 51 41 
  4230	025440	54 00 65 63 45 62 
  4231	025441	00 55 57 44 45 00 
  4232	025442	15 00 77 00 00 00 
  4233	025443	557776	557777
  4234	025444	000002	000002
  4235	025445	017160	017400
  4236	025446	264 00 0 00 021032 
  4237	025447	140000	400017
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 110-1
SMMON	MAC	11-Apr-79 13:23		STORAGE ASSIGNMENTS                                                                SEQ 0139

  4238	025450	140000	400000
  4239	025451	76 37 55 65 65 57 
  4240	025452	00 45 62 62 57 62 
  4241	025453	76 77 00 00 00 00 
  4242	025454	76 37 65 63 45 62 
  4243	025455	00 64 62 41 60 00 
  4244	025456	45 62 62 57 62 76 
  4245	025457	77 00 00 00 00 00 
  4246	025460	400000	000000
  4247	025461	44 07 0 00 021345 
  4248	025462	104 104 124 000 000 
  4249	025463	44 07 0 00 026311 
  4250	025464	600000	000116
  4251	025465	54 50 00 63 67 63 
  4252	025466	00 15 00 77 00 00 
  4253	025467	540000	540001
  4254	025470	000001	026216
  4255	025471	35 07 0 00 000004 
  4256	025472	26 07 0 00 000004 
  4257	025473	17 07 0 00 000004 
  4258	025474	10 07 0 00 000004 
  4259	025475	01 07 0 00 000004 
  4260	025476	22 10 0 00 025737 
  4261	025477	32 10 0 00 025737 
  4262	025500	00 10 0 00 025737 
  4263	025501	10 10 0 00 025737 
  4264	025502	476 00 0 00 026003 
  4265	025503	254 00 0 00 022123 
  4266	025504	026167	026170
  4267	025505	10 02 0 00 026167 
  4268	025506	00 10 0 00 026167 
  4269	025507	400000	000017
  4270	025510	026267	026270
  4271	025511	00 41 0 01 000002 
  4272	025512	00 41 0 01 000025 
  4273	025513	103 115 104 000 000 
  4274	025514	44 07 0 00 025513 
  4275	025515	101 061 060 000 000 
  4276	025516	44 07 0 00 025515 
  4277	025517	123 101 126 000 000 
  4278	025520	44 07 0 00 025517 
  4279	025521	000001	026151
  4280	025522	00 11 0 00 000010 
  4281	025523	41 03 0 01 000000 
  4282	025524	00 41 0 01 000000 
  4283	025525	270 10 0 00 025364 
  4284	025526	253 10 0 00 022656 
  4285	025527	263 17 0 00 000000 
  4286	025530	30 06 0 00 025746 
  4287	025531	260 17 0 00 021565 
  4288	025532	476 00 0 00 025764 
  4289	025533	254 00 0 00 023047 
  4290	025534	00 41 0 00 025747 
  4291	025535	50 57 55 00 00 00 
  4292	025536	62 60 20 24 00 00 
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 110-2
SMMON	MAC	11-Apr-79 13:23		STORAGE ASSIGNMENTS                                                                SEQ 0140

  4293	025537	62 60 20 25 00 00 
  4294	025540	62 60 20 26 00 00 
  4295	025541	62 55 20 23 00 00 
  4296	025542	64 57 60 63 21 20 
  4297	025543	64 57 60 63 22 20 
  4298	025544	104 111 123 113 072 
  4299	025545	074 104 111 122 105 
  4300	025546	103 124 117 122 131 
  4301	025547	076 040 117 122 040 
  4302	025550	104 111 123 113 072 
  4303	025551	133 120 054 120 116 
  4304	025552	135 040 055 040 000 
  4305	025553	44 06 0 00 000011 
  4306	025554	077 000 000 000 000 
  4307	025555	44 07 0 00 022477 
  4308	025556	76 37 44 51 62 45 
  4309	025557	43 64 57 62 71 00 
  4310	025560	56 57 64 00 46 57 
  4311	025561	65 56 44 76 77 00 
  4312	025562	104 111 122 105 103 
  4313	025563	124 117 122 131 000 
  4314	025564	44 07 0 00 025562 
  4315	025565	027772	026171
  4316	025566	026171	027772
  4317	025567	026247	026250
  4318	025570	026257	026260
  4319	025571	205 01 0 00 707070 
  4320	025572	260 17 0 00 020341 
  4321	025573	263 17 0 00 000000 
  4322	025574	76 65 42 41 00 03 
  4323	025575	00 15 00 77 00 00 
  4324	025576	000001	776700
  4325	025577	000002	776700
  4326	025600	000003	776700
  4327	025601	022477	026257
  4328	025602	76 37 44 45 46 41 
  4329	025603	65 54 64 00 44 51 
  4330	025604	62 45 43 64 57 62 
  4331	025605	71 00 56 57 64 00 
  4332	025606	46 57 65 56 44 76 
  4333	025607	77 00 00 00 00 00 
  4334	025610	000112	000011
  4335	025611	44 07 0 00 024315 
  4336	025612	000001	000011
  4337	025613	44 44 0 00 017000 
  4338	025614	400000	017001
  4339	025615	000201	017204
  4340	025616	000201	017407
  4341	025617	000201	017001
  4342	025620	53 54 41 44 00 00 
  4343	025621	62 45 44 00 00 00 
  4344	025622	44 63 53 40 00 00 
  4345	025623	63 41 66 00 00 00 
  4346	025624	41 21 20 00 00 00 
  4347	025625	43 55 44 00 00 00 
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 110-3
SMMON	MAC	11-Apr-79 13:23		STORAGE ASSIGNMENTS                                                                SEQ 0141

  4348	025626	36 06 0 00 017400 
  4349	025627	00 13 0 00 000001 
  4350	025630	00 45 62 62 57 62 
  4351	025631	00 41 64 00 77 00 
  4352	025632	76 37 60 62 57 47 
  4353	025633	62 41 55 00 56 57 
  4354	025634	64 00 46 57 65 56 
  4355	025635	44 00 15 00 77 00 
  4356	025636	63 55 55 57 56 00 
  4357	025637	000000	000000
  4358	025640	63 55 55 41 47 00 
  4359	025641	000000	000000
  4360	025642	63 55 41 60 64 00 
  4361	025643	000000	000000
  4362	025644	030000	030001
  4363	025645	030000	020000
  4364	025646	251 00 0 00 027767 
  4365	025647	254 00 1 00 000004 
  4366	025650	42 41 44 00 44 51 
  4367	025651	41 47 00 55 57 56 
  4368	025652	00 41 44 44 62 45 
  4369	025653	63 63 77 00 00 00 
  4370	025654	51 57 00 45 62 62 
  4371	025655	57 62 77 00 00 00 
  4372	025656	55 51 63 55 41 64 
  4373	025657	43 50 45 44 00 65 
  4374	025660	56 51 64 63 77 00 
  4375	025661	55 51 63 63 51 56 
  4376	025662	47 00 65 56 51 64 
  4377	025663	77 00 00 00 00 00 
  4378	025664	44 65 60 54 00 63 
  4379	025665	64 62 00 65 56 51 
  4380	025666	64 77 00 00 00 00 
  4381	025667	50 57 55 00 42 54 
  4382	025670	53 63 00 42 41 44 
  4383	025671	77 00 00 00 00 00 
  4384	025672	46 51 54 45 00 64 
  4385	025673	57 57 00 54 57 56 
  4386	025674	47 77 00 00 00 00 
  4387	025675	46 54 64 71 60 45 
  4388	025676	77 00 00 00 00 00 
  4389	025677	46 57 62 55 41 64 
  4390	025700	77 00 00 00 00 00 
  4391	025701	43 53 63 65 55 77 
  4392	025702	51 54 54 45 57 46 
  4393	025703	77 00 00 00 00 00 
  4394	025704	21 63 64 60 64 62 
  4395	025705	77 00 00 00 00 00 
  4396	025706	63 64 41 44 62 77 
  4397	025707	57 60 45 56 77 00 
  4398	025710	62 44 45 62 62 77 
  4399	025711	43 57 62 45 77 00 
  4400	025712	42 41 44 62 51 42 
  4401	025713	77 00 00 00 00 00 
  4402	025714	62 51 42 45 57 46 
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 110-4
SMMON	MAC	11-Apr-79 13:23		STORAGE ASSIGNMENTS                                                                SEQ 0142

  4403	025715	77 00 00 00 00 00 
  4404	025716	60 41 53 64 71 60 
  4405	025717	77 00 00 00 00 00 
  4406	025732					VAR
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 111
SMMON	MAC	11-Apr-79 13:23		STORAGE ASSIGNMENTS                                                                SEQ 0143

  4407	026044	63 55 55 57 56 00 	PGNAME:	SIXBIT /SMMON/		;PROGRAM NAME
  4408	026045				PLIST:	BLOCK	40		;PUSH LIST
  4409
  4410	026105	000000	000000		PGMGO:	0			;LOAD & GO FLAG
  4411	026106	000000	000000		TAPEPF:	0			;PRINT TAPE FLAG
  4412	026107	000000	000000		DEVFLG:	0			;CMD LIST FROM DEVICE FLAG
  4413	026110	000000	000000		DINFLG:	0			;DEVICE IN FLAG
  4414	026111	000000	000000		LPTFLG:	0			;LINE PRINTER FLAG
  4415	026112	000000	000000		LSTFLG:	0			;LISTING FLAG
  4416	026113	000000	000000		DDIRFLG:0			;DISK DIRECTORY FLAG
  4417	026114	000000	000000		DDIRF1:	0
  4418	026115	000000	000000		MFDFLG:	0
  4419	026116	000000	000000		ALTMFLG:0			;ALTMODE FLAG
  4420	026117	000000	000000		CLKFLG:	0
  4421	026120	000000	000000		USRFLG:	0
  4422	026121	000000	000000		LDDMON:	0			;LOAD DIAG MON
  4423	026122	000000	000000		CNSFLG:	0
  4424	026123	000000	000000		SCFLAG:	0			;PROCESSING COMMENT FLAG
  4425	026124	000000	000000		DEVTYP:	0			;DEVICE TYPE INDICATOR
  4426	026125	000000	000000		DF22F:	0			;22BIT DF10 FLAG
  4427	026126	000000	000000		SAVEP:	0			;PUSHDOWN POINTER SAVE
  4428	026127	000000	000000		SAVEIP:	0			;COMMAND LIST POINTER SAVE
  4429	026130	000000	000000		RUNCTL:	0			;RUN CONTROL
  4430	026131	000000	000000		CHRCTR:	0			;PRINT CHAR COUNTER
  4431	026132	000000	000000		SAVAC0:	0			;AC SAVE
  4432	026133	000000	000000		SAVAC1:	0			; "
  4433	026134	000000	000000		SAVAC2:	0			; "
  4434	026135	000000	000000		FCRCNT:	0			;CR FILLER COUNT
  4435	026136	000000	000000		FLFCNT:	0			;LF FILLER COUNT
  4436
  4437	026137	000000	000000		CLBN:	0			;CURRENT LBN
  4438	026140	000000	000000		CLUCNT:	0			;CURRENT CLUSTER COUNT
  4439	026141	000000	000000		BLKCNT:	0			;BLOCK COUNT
  4440	026142	000000	000000		STRUCT:	0			;STRUCTURE
  4441	026143	000000	000000		SLUNIT:	0			;LOGICAL UNIT
  4442	026144	000000	000000		TTYPE:	0			;TEMP TYPE
  4443	026145	000000	000000		TUNIT:	0			;TEMP UNIT
  4444	026146	000000	000000		CTYPE:	0			;CURRENT TYPE
  4445	026147	000000	000000		CUNIT:	0			;CURRENT UNIT
  4446	026150				ACSAV1:	BLOCK	17
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 112
SMMON	MAC	11-Apr-79 13:23		STORAGE ASSIGNMENTS                                                                SEQ 0144

  4447	026167				SELSTR:				;COMMAND SELECTION STORE
  4448	026167	000000	000000		LDCNT:	0			;A10 LOAD COUNT
  4449	026170	000000	000000		LDADR:	0			;A10 LOAD ADDRESS
  4450	026171				LDATA:	BLOCK ^D34-16		;A10 DATA STORAGE
  4451	026215				ACSAVE:	BLOCK	16
  4452	026233	000000	000000		LDATAE:	0			;A10 END OF DATA STORAGE
  4453	026234	000000	000000			0
  4454
  4455	026235	000000	000000		LDNAME:	0
  4456	026236	000000	000000			0
  4457	026237	000000	000000			0
  4458	026240	000000	000000			0
  4459
  4460	026241	000000	000013		LDBLK:	13
  4461	026242	44 63 53 00 00 00 		SIXBIT/DSK/
  4462	026243	000000	026244			LDBUF
  4463
  4464	026244				LDBUF:	BLOCK	3
  4465
  4466	026247				DSKTAB:	BLOCK	DSKSIZ		;LOGICAL/PHYSICAL MAPPING
  4467
  4468	026257				D$DIR:	BLOCK	8		;DIR NAME STRING STORAGE
  4469	026267				D$FIL:	BLOCK	8		;FILE NAME      "
  4470	026277				D$EXT:	BLOCK	8		;EXT		"
  4471	026307				D$VER:	BLOCK	2		;VERSION	"
  4472	026311				D$ISTR:	BLOCK	^D20		;INPUT		"
  4473
  4474	026335	000000	000000		INLIST:	0
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 113
SMMON	MAC	11-Apr-79 13:23		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0145

  4475					SUBTTL	SPECIAL STARTUP MESSAGES AND INITIALIZATION
  4476
  4477					;*HEADER
  4478
  4479						DEFINE	PTITLE	(MCNVER,DECVER) <
  4480						ASCIZ	%
  4481					* SMMON [DSQDC] - DECSYSTEM 2020 DIAGNOSTIC MONITOR - VER MCNVER'.'DECVER *
  4482					%   >
  4483
  4484	026336				HEADER:	PTITLE	\MCNVER,\DECVER^
  4485						ASCIZ	%
  4486	026336	015 012 052 040 123 	* SMMON [DSQDC] - DECSYSTEM 2020 DIAGNOSTIC MONITOR - VER 0.3 *
  4487	026337	115 115 117 116 040 
  4488	026340	133 104 123 121 104 
  4489	026341	103 135 040 055 040 
  4490	026342	104 105 103 123 131 
  4491	026343	123 124 105 115 040 
  4492	026344	062 060 062 060 040 
  4493	026345	104 111 101 107 116 
  4494	026346	117 123 124 111 103 
  4495	026347	040 115 117 116 111 
  4496	026350	124 117 122 040 055 
  4497	026351	040 126 105 122 040 
  4498	026352	060 056 063 040 052 
  4499	026353	015 012 000 000 000 	%   ^
  4500
  4501					;*HELP
  4502
  4503	026354				HELP:	ASCIZ	%
  4504	026354	015 012 116 117 122 	NORMAL START = 20000
  4505	026355	115 101 114 040 123 
  4506	026356	124 101 122 124 040 
  4507	026357	075 040 062 060 060 
  4508	026360	060 060 015 012 122 	RESTART/ABORT = 20001
  4509	026361	105 123 124 101 122 
  4510	026362	124 057 101 102 117 
  4511	026363	122 124 040 075 040 
  4512	026364	062 060 060 060 061 
  4513	026365	015 012 120 122 111 	PRINT TEST TITLE = 20002
  4514	026366	116 124 040 124 105 
  4515	026367	123 124 040 124 111 
  4516	026370	124 114 105 040 075 
  4517	026371	040 062 060 060 060 
  4518	026372	062 015 012 122 105 	RESTART CURR TEST = 20003
  4519	026373	123 124 101 122 124 
  4520	026374	040 103 125 122 122 
  4521	026375	040 124 105 123 124 
  4522	026376	040 075 040 062 060 
  4523	026377	060 060 063 015 012 
  4524	026400	015 012 103 117 115 	COMMANDS;
  4525	026401	115 101 116 104 123 
  4526	026402	073 015 012 123 124 	STD=START DIAGNOSTIC
  4527	026403	104 075 123 124 101 
  4528	026404	122 124 040 104 111 
  4529	026405	101 107 116 117 123 
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 113-1
SMMON	MAC	11-Apr-79 13:23		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0146

  4530	026406	124 111 103 015 012 	STM=REINITIALIZE START
  4531	026407	123 124 115 075 122 
  4532	026410	105 111 116 111 124 
  4533	026411	111 101 114 111 132 
  4534	026412	105 040 123 124 101 
  4535	026413	122 124 015 012 123 	STL=START LOADER
  4536	026414	124 114 075 123 124 
  4537	026415	101 122 124 040 114 
  4538	026416	117 101 104 105 122 
  4539	026417	015 012 123 124 101 	START=START DIAGNOSTIC
  4540	026420	122 124 075 123 124 
  4541	026421	101 122 124 040 104 
  4542	026422	111 101 107 116 117 
  4543	026423	123 124 111 103 015 
  4544	026424	012 123 106 123 124 	SFSTRT=SPECIAL FEATURE START
  4545	026425	122 124 075 123 120 
  4546	026426	105 103 111 101 114 
  4547	026427	040 106 105 101 124 
  4548	026430	125 122 105 040 123 
  4549	026431	124 101 122 124 015 
  4550	026432	012 120 106 123 124 	PFSTRT=POWER FAIL START
  4551	026433	122 124 075 120 117 
  4552	026434	127 105 122 040 106 
  4553	026435	101 111 114 040 123 
  4554	026436	124 101 122 124 015 
  4555	026437	012 122 105 105 075 	REE=REENTER
  4556	026440	122 105 105 116 124 
  4557	026441	105 122 015 012 104 	DDT=DDT
  4558	026442	104 124 075 104 104 
  4559	026443	124 015 012 123 124 	START1=SPECIAL START 1
  4560	026444	101 122 124 061 075 
  4561	026445	123 120 105 103 111 
  4562	026446	101 114 040 123 124 
  4563	026447	101 122 124 040 061 
  4564	026450	015 012 123 124 101 	START2=SPECIAL START 2
  4565	026451	122 124 062 075 123 
  4566	026452	120 105 103 111 101 
  4567	026453	114 040 123 124 101 
  4568	026454	122 124 040 062 015 
  4569	026455	012 123 124 101 122 	START3=SPECIAL START 3
  4570	026456	124 063 075 123 120 
  4571	026457	105 103 111 101 114 
  4572	026460	040 123 124 101 122 
  4573	026461	124 040 063 015 012 	START4=SPECIAL START 4
  4574	026462	123 124 101 122 124 
  4575	026463	064 075 123 120 105 
  4576	026464	103 111 101 114 040 
  4577	026465	123 124 101 122 124 
  4578	026466	040 064 015 012 123 	START5=SPECIAL START 5
  4579	026467	124 101 122 124 065 
  4580	026470	075 123 120 105 103 
  4581	026471	111 101 114 040 123 
  4582	026472	124 101 122 124 040 
  4583	026473	065 015 012 123 115 	SMMON=LOAD SMMON
  4584	026474	115 117 116 075 114 
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 113-2
SMMON	MAC	11-Apr-79 13:23		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0147

  4585	026475	117 101 104 040 123 
  4586	026476	115 115 117 116 015 
  4587	026477	012 123 115 115 101 	SMMAG=LOAD SMMAG
  4588	026500	107 075 114 117 101 
  4589	026501	104 040 123 115 115 
  4590	026502	101 107 015 012 123 	SMAPT=LOAD SMAPT
  4591	026503	115 101 120 124 075 
  4592	026504	114 117 101 104 040 
  4593	026505	123 115 101 120 124 
  4594
  4595	026506	015 012 015 012 122 	R=RESELECT, X=XPN, I=INTERNAL, T=TTY, D=DEVICE,
  4596	026507	075 122 105 123 105 
  4597	026510	114 105 103 124 054 
  4598	026511	040 130 075 130 120 
  4599	026512	116 054 040 111 075 
  4600	026513	111 116 124 105 122 
  4601	026514	116 101 114 054 040 
  4602	026515	124 075 124 124 131 
  4603	026516	054 040 104 075 104 
  4604	026517	105 126 111 103 105 
  4605	026520	054 015 012 123 075 	S=SINGLE, F=DIR, L=LIST, G=GO
  4606	026521	123 111 116 107 114 
  4607	026522	105 054 040 106 075 
  4608	026523	104 111 122 054 040 
  4609	026524	114 075 114 111 123 
  4610	026525	124 054 040 107 075 
  4611	026526	107 117 015 012 015 
  4612	026527	012 104 105 126 111 	DEVICES;
  4613	026530	103 105 123 073 015 
  4614	026531	012 125 102 101 040 	UBA #
  4615	026532	043 015 012 040 040 	  0 = UBA 1, RH ADR 776700
  4616	026533	060 040 075 040 125 
  4617	026534	102 101 040 061 054 
  4618	026535	040 122 110 040 101 
  4619	026536	104 122 040 067 067 
  4620	026537	066 067 060 060 015 
  4621	026540	012 040 040 061 040 	  1 = UBA 1, RH ADR 776700
  4622	026541	075 040 125 102 101 
  4623	026542	040 061 054 040 122 
  4624	026543	110 040 101 104 122 
  4625	026544	040 067 067 066 067 
  4626	026545	060 060 015 012 040 	  2 = UBA 2, RH ADR 776700
  4627	026546	040 062 040 075 040 
  4628	026547	125 102 101 040 062 
  4629	026550	054 040 122 110 040 
  4630	026551	101 104 122 040 067 
  4631	026552	067 066 067 060 060 
  4632	026553	015 012 040 040 063 	  3 = UBA 3, RH ADR 776700
  4633	026554	040 075 040 125 102 
  4634	026555	101 040 063 054 040 
  4635	026556	122 110 040 101 104 
  4636	026557	122 040 067 067 066 
  4637	026560	067 060 060 015 012 	  # = UBA ADDRESS
  4638	026561	040 040 043 040 075 
  4639	026562	040 125 102 101 040 
SMMON DECSYSTEM 2020 (KS-10) DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:26 11-Apr-79 Page 113-3
SMMON	MAC	11-Apr-79 13:23		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0148

  4640	026563	101 104 104 122 105 
  4641	026564	123 123 015 012 077 	?= IDENTIFY DISKS, DSK:?= MASTER DIRECTORY
  4642	026565	075 040 111 104 105 
  4643	026566	116 124 111 106 131 
  4644	026567	040 104 111 123 113 
  4645	026570	123 054 040 104 123 
  4646	026571	113 072 077 075 040 
  4647	026572	115 101 123 124 105 
  4648	026573	122 040 104 111 122 
  4649	026574	105 103 124 117 122 
  4650	026575	131 015 012 000 000 	%
  4651
  4652		254000	020004			END	JRST	ONETIM

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 026576
CPU TIME USED 00:15.704

22P CORE USED

A	    47#	   332	   489	   493	   505	   799	  2722	  2724	  3232	  3233	  3236	  3237	  3238	  3499
	  3500	  3502	  3503	  3506	  3507	  3510	  3511	  3512	  3515	  3516	  3525	  3538	  3539	  3541     SEQ 0149
	  3542	  3544	  3548	  3549	  3560	  3561	  3564	  3604	  3608	  3614	  3616	  3617	  3622	  3623
	  3624	  3627	  3630	  3631	  3635	  3636	  3642	  3648	  3653	  3656	  3661	  3662	  3671	  3674
	  3676	  3678	  3699	  3720	  3721	  3722	  3738	  3739	  3740	  3741	  3769
A%DIR	  2101#	  2113	  2114	  2115	  2304
A%DPG	  2102#	  2104	  2105	  2106	  2107	  2108	  2109	  2110	  2111	  2321	  2337
A%XB	  2100#	  2305	  2320	  2910	  3376
A10FLG	  1532#	  1532	  1538	  1859	  2293	  3338	  3406	  3589
ACS0	   941#	   941
ACS1	   942#	   942	   949	   953	   959
ACSAV1	  2325	  2326	  2327	  2332	  2334	  4446#
ACSAVE	  1563	  1564	  1565	  1586	  1588	  1598	  1599	  1600	  4451#
ALTMFL	   394	   396	  1363	  1953	  4419#
APR	   267	   786	  1477	  1480	  1489	  1492
ASKSW	   334#	   334	   547	   707	   709
AUTOFL	  3050#	  3050	  3138	  3546
AUTOSL	   287	  3130#
B	    48#	   500	  3568	  3573	  3653	  3654	  3656	  3659	  3672	  3673	  3674	  3675	  3685	  3686
	  3704	  3707	  3709	  3714	  3715	  3718	  3719	  3770
BADSTR	  2681	  2688	  4149#
BADUNI	  2693	  4140#
BLKCNT	  3694	  3722	  3737	  4439#
BLKCOD	  2162#	  3740
BLKSLF	  2163#
BYTSAV	  1656#	  1656	  1658	  1659	  1660	  1661
CHAIN	   170#	   731
CHKHOM	  2647#	  3757
CHKSTR	  2835	  2838#	  2840
CHNCMD	    79#
CHOM10	  2660	  2701#
CHRCTR	  1078	  1084	  1087	  1092	  1094	  1153	  1164	  1248	  1281	  2486	  2514	  3624	  4430#
CKTTY	   733	   736	  1255#
CLBN	  3693	  3723	  4437#
CLKFLG	  4420#
CLOS20	  1941	  1970#	  3309
CLRCOR	  1783	  1895	  1908#
CLRCR1	  1911	  1929#
CLRCR2	  1909	  4106#
CLUCNT	  3696	  3715	  3736	  4438#
CMDADR	   352	   361	   452#
CMDEX	   349	   352#
CMDEX1	   358	   361#
CMDFLG	   739	  1534#	  1534	  2286	  3192	  3335	  3404	  3594
CMDHLP	   452	   518#
CMDLP	   346#	   350
CMDLP1	   347	   355#	   359
CMDLST	   346	   348	   355	   357	   424#
CMNCMD	   540#	   555
CMNPNT	  1825	  1831#	  1837
CNSFLG	   298	  4423#
CNTLOF	  1099	  1125#	  1125	  1185	  1202
CODHOM	  2652	  3495#	  3792
CODRIB	  3496#	  3741
CONSW	   242#	   256	   336	  1305	  1378                                                                             SEQ 0150
CPOPJ	   506#
CPOPJ1	   414	   564#	   570	   585	  1325	  1662	  1952	  2207	  2280	  2380	  2400	  2411	  2594	  2706
	  2900	  2975	  3221	  3244	  3315	  3371	  3401	  3419	  3528	  3575	  3582	  3585	  3590	  3595
	  3660	  3667	  3677	  3683	  3727	  3745	  3759	  3794	  3865	  3877
CRLF1	   331	   482	   495	   706	   798	   806	  1120#	  1367	  1983	  2419	  2519	  2531	  2604	  2610
	  2630	  2634	  2639	  2759	  2800	  2801	  2971	  3070	  3619	  4058
CRRTN	   587	   660#
CRRTN1	   674#
CTYPE	  2565	  2670	  3782	  3803	  3827	  4444#
CUNIT	  2561	  2671	  3781	  3801	  3936	  4445#
CURPAG	  2322#	  2322	  2338	  2421	  2888
CXPND	   532	   819#
CXPND1	   822#
D$DFLT	  2125#	  2873	  3157
D$DIR	  2122	  2935	  2936	  2937	  3157	  3158	  4468#
D$EXT	  2123	  4470#
D$FIL	  2121	  2193	  2194	  4469#
D$ISTR	  1287	  2814	  2843	  2865	  2941	  2942	  4472#
D$VER	  2195	  4471#
DBUF	  2183#	  3237	  3239	  3685	  4180
DBUFP	  3227	  3648	  4180#
DDIR10	  1987	  3598#
DDIRF1	  2924	  3534	  3577	  3649	  3651	  4417#
DDIRFL	  1985	  3554	  4416#
DDIRMF	  3610	  3630#
DDIRP1	  3607	  3620	  3626#
DDIRP2	  3650	  3685#
DDIRP3	  3616#	  3638
DDIRPN	  3604#	  3652
DDT	   123#
DDTLNK	    75#
DECVER	     4#	    10	    35	  4484
DEV	  2811#	  2811	  2842	  2944	  2967#	  2967
DEVCM1	   393	   551#	   740
DEVCM2	   557#	  3194
DEVCMD	   455	   547#
DEVFLG	   382	   548	   551	  3193	  4412#
DEVID	  2715#	  2867
DEVIDF	  2656	  2716	  2922#	  2922
DEVIDP	  2657	  2722#
DEVNAM	  2818#	  2824
DEVRD	   567#	  1340
DEVSEL	   416	  2882	  3050#	  3131	  3136	  3167
DEVTYP	  2921	  3054	  3058	  3133	  4425#
DEVUSR	  3053	  3058#
DEVX	  2820	  2829#	  2869
DF22F	  4426#
DIAGLD	   309	   314	   318	   390	   734	  1520	  1529#	  4102
DIAGMN	   104#	   861
DIAGNO	   103#	   470	  1932
DIAGPP	  3522	  4182#
DIGIT	    58#	   578	   621	   627	   628	   667	   669	   670	  1310	  1321	  1324
DIGIT1	    60#	   626	   627	   671	   672                                                                             SEQ 0151
DIGIT2	    61#	   626	   671
DIGITA	    59#	   619	   620	  1310	  1319	  1320
DINFLG	   552	  1339	  4413#
DIORG	  2420	  2684	  2685	  2687	  2887#	  2887
DIRBYV	  2462#	  2462	  2495	  2501
DIRECT	   457	  3083#
DIRERR	  2879#	  3182	  3600
DIREXL	  2466#	  2466	  2524
DIREXT	  2460#	  2460	  2476
DIRNAM	  2458#	  2458	  2468
DIRNUM	  2113#
DIRP1	  2443#	  2443	  2527
DIRPN0	  2443#	  2529
DIRPN1	  2452#	  2525
DIRPN2	  2497	  2503#
DIRPN3	  2499	  2507#
DIRPN4	  2511#
DIRPN5	  2482	  2518	  2519#
DIRPNT	  1988	  2423	  2432#
DIRPNX	  2469	  2477	  2534#
DIRSIZ	  2464#	  2464	  2494
DIRSTR	  2122#	  2844	  2894
DOIO	  3959	  4014#
DPLUNI	  2668	  4146#
DPNTR	    53#	   554	   567
DRETRY	  3931#	  3974	  3978	  3983	  3986
DRVINI	  2547	  3853	  3880#
DSK%P4	  2567#	  2567	  2576	  2582	  2588
DSKADR	  2552#	  2552	  2598
DSKBLK	  2572	  2578	  2584	  2590	  2710	  3240	  3734	  3789	  3812#
DSKDIR	  1983#	  2428	  3089
DSKINI	  3783	  3801#
DSKL10	  3175	  3181#
DSKLBN	  2551#	  2551	  2606	  2608
DSKLD	  1550	  3170#
DSKPF	  2600#	  2600	  2628	  2638	  2640
DSKPN1	  2614#	  2632
DSKPN2	  2612	  2632#	  2641
DSKPN3	  2615	  2638#
DSKPNT	  2597#
DSKRD4	  2307	  2329	  2546#	  2912	  3379
DSKRD5	  2570	  2593#
DSKSIZ	  2117#	  2928	  4466
DSKTAB	  2560	  2563	  2667	  2672	  2674	  2838	  2926	  2927	  2928	  3153	  4466#
DSKTYP	  2546	  2690	  2696	  2930#	  2930
DVX1	  2812	  2865#
DVX2	  2850	  2871#
DVX3	  2846#	  2874
EBIT0	   196#
EBIT1	   197#
EBIT10	   206#
EBIT11	   207#
EBIT12	   208#                                                                                                            SEQ 0152
EBIT13	   209#
EBIT14	   210#
EBIT2	   198#
EBIT3	   199#
EBIT4	   200#
EBIT5	   201#
EBIT6	   202#
EBIT7	   203#
EBIT8	   204#
EBIT9	   205#
ECCPOS	  3988#	  3988	  4003
ENTFLG	  2119#	  2564	  2673
ERR10	  1920	  1928	  3263	  4171#
ERR11	  3574	  3581	  4173#
ERR12	  3643	  4175#
ERR13	  2770	  2774	  2780	  2784	  2788	  4177#
ERR2	  1672	  1687	  1705	  1832	  1864	  3198	  3207	  4161#
ERR6	  1875	  1879	  4163#
ERR7	  1886	  1888	  1946	  4165#
ERR8	  3388	  4167#
ERR9	  3414	  4169#
ERROR	  4056#	  4126	  4138	  4141	  4144	  4147	  4150	  4153	  4156	  4158	  4160	  4162	  4164	  4166
	  4168	  4170	  4172	  4174	  4176	  4178
ERSTOP	   168#	   335
ERWD	  3354	  3373#
ERWD1	  3363#	  3382
EX	   533	   705#
EX1	   716#	   795
EX2	   730#
EX3	   739#
EX4	   378	   719	   797	   811#
EX5	   710#	   807
EXBAD	   688	   694#	   754
EXC	   946	   949#
EXC1	   953#	   978
EXC2	   957	   961#
EXC3	   958	   962#
EXC4	   954	   964#
EXC5	   955#	   968
EXEXEC	   758#
EXNEW	   759	   762	   765#
EXNOE	   685#	   760
EXNOU	   690#	   763
EXT	  3524#	  3524	  3558	  3571	  3573	  3657	  3659
EXTCK	  3580	  3584#	  3665
EXTSTR	  2123#	  2198	  2217
EXUSR	   756	   761#
F	   501	   502	   503	  2130#	  2978	  2981	  2982	  2991	  2992	  2993	  3022	  3026	  3029	  3031
	  3040	  3046	  3173	  3504	  3530	  3598	  3725	  3743
FB%BAT	  2050#
FB%BSZ	  2071#
FB%DEL	  2044#	  2266
FB%DIR	  2048#                                                                                                            SEQ 0153
FB%DRN	  2067#
FB%FCF	  2052#
FB%GEN	  2065#
FB%LNG	  2046#	  2275
FB%MOD	  2072#
FB%NEX	  2043#
FB%NOD	  2049#
FB%NXF	  2045#	  2266
FB%PGC	  2073#
FB%PRM	  2042#
FB%RET	  2070#
FB%SHT	  2047#
FB%TMP	  2041#
FBSAV	  1555#	  1555	  1649
FCRCNT	  1126	  4434#
FDSK	  2832#
FDSK1	  2855#	  2860	  2863
FDSK2	  2856	  2872	  2875#	  2986
FILASC	  3303	  3312	  3450#
FILLCR	  1103	  1125#
FILLLF	  1105	  1129#
FILLX	  1127	  1130#	  1133
FILSTR	  2121#	  2197	  2216
FIND	  2226	  2342#
FIRSTF	  2433#	  2433	  2490	  2517	  2520
FLFCNT	  1129	  4435#
FLNAM1	   603#
FLNAM2	   599	   619#
FLNAME	   340	   370	   541	   574#	   615	   634	   652	   662
FLNMLP	   583#	   589	   598	   611	   622	   629	   639
FND.NF	  2345#	  2373
FND.NM	  2355	  2372#
FNDD10	  2885	  3242#
FNDDIR	  2211	  2434	  2875	  2884#	  3160
FNDIDX	  2204	  2211#
FNDSTE	  2223#	  2223	  2229
FNDSTR	  2222#	  2222	  2345	  2354
FNDSTV	  2224	  2253#	  2253	  2254
FNDUL1	  3750#	  3766
FNDUL2	  3751#	  3763
FNDUNI	  2718	  2832	  3147	  3518	  3680	  3710	  3749#
FNDUNX	  3755	  3758	  3761#
FRD36	  1590	  1613#
FRD8	  1592	  1645#
FRDLNK	    73#	   295
FRDTYP	  1585#	  1585	  1589	  1591
FREAD	   294	  1585#
FREAD1	  1598#	  1616	  1647
FREAD2	  1597	  1608#	  1614	  1646
FREAD3	  1596#
FSELEC	   292	  1517#
FSELF	  1563#
FSELNF	  1579#                                                                                                            SEQ 0154
FSELNK	    72#	   293	  2907	  2915	  2916
FULL	   680#
FULPAG	  3810#	  3810	  3812	  3955	  3973
G8BY1	  1656#
G8BY2	  1651	  1658#
G8BYT	  1645	  1649#
GET.E1	  2973#
GET.EL	  2957	  2959	  2961	  2971#
GET.W	  2946#	  2965	  2969
GETCO1	  2807#
GETCOM	  2424	  2720	  2802#	  2808	  2827	  3056	  3533
GETCXX	  2802	  2920#	  3142
GETIDX	  2222#	  2898
GETPAG	  2231	  2244	  2250	  2257	  2263	  2316#	  2347	  2362	  2376	  2387	  2445	  2454	  2538
GETPG1	  2323	  2336#
GETSTR	  2807	  2941#
GJ%OLD	  2014#	  3311
GJ%SHT	  2016#	  3311
GX.DN1	  2278#
GX.DON	  2255	  2263#
GX.NE	  2229#	  2247
GX.NE1	  2244#	  2301
GX.NE2	  2238	  2282#
GX.NV	  2242	  2250#	  2262	  2287	  2294	  2300
GX.NV1	  2257#	  2267
GX.Q3	  2282#	  2282	  2289	  2296
HBUF	  2104#	  2181#	  2701	  2702	  2724	  3525	  3561	  3565	  3672	  3673	  3676	  3702	  3705	  3707
	  3716	  3718	  3720	  3788
HEADER	   285	  4484#
HELP	   520	   675	  4503#
HLPCLR	   518#	   518	   676
HOM1	  3787#	  3799
HOM2	  3790	  3793	  3796#
HOMBK1	  3493#	  3786
HOMBK2	  3494#	  3796	  3798
HOMBPC	  2176#	  3718	  3720
HOMBSC	  2171#	  3561	  3565	  3672
HOMCKP	  2174#
HOMCLP	  2175#	  3705	  3716
HOMCNP	  2173#	  3702
HOMCOD	  2111#	  2651	  3791
HOMCRS	  2178#
HOME	  3754	  3781#
HOMID	  2106#
HOMLUN	  2170#	  2702	  3676	  3707
HOMMFD	  2179#	  3525
HOMNAM	  2105#	  2647
HOMPID	  2110#	  2764	  2768	  2772	  2782	  2786
HOMREF	  2177#
HOMRXB	  2109#	  2683
HOMSCU	  2172#	  3673
HOMSNM	  2169#	  2701	  2724
INJFN	  1975	  1978	  2271	  3308	  3317#	  3317	  3325	  3356	  3367	  3373                                     SEQ 0155
INLEND	    42#	   677
INLIST	   369	   373	   400	   402	   403	   540	   711	  4474#
INUPTR	  1275	  1277	  1282	  1288#	  1288	  1333	  3253
IOCLR	   153#	   267	   786
IOERR	  2308	  2330	  2913	  3380	  4137#
IP	    62#	   307	   312	   316	   330	   342	   344	   369	   373	   374	   377	   380	   385	   387
	   483	   489	   493	   540	   665	   666	   670	   672	   673	   674	   675	   677	   695	   711
	   716	   718	   720	   724	   741	   742	   751	   788	   793	   794	  1519	  1536	  2188	  2190
	  3051	  3132	  3276	  3278	  3556	  3557	  3604	  3606	  3608	  3614	  3627	  4090	  4094	  4098
ITERAT	   240#	   749	   846	   854	   868	   874	   985
ITRCNT	   108#	   855	   875
JOBFF	    70#	  1891
JOBFFW	  1781	  1893#	  1893	  1921	  1934
JOBREL	    71#	   253	  1912	  1916	  1924	  1960	  1963	  3259	  3264
JOBSA	    69#	  1882
JOBSAW	  1778	  1884#	  1884	  1885	  1930
JRSTX	   948	   969#
JRSTX1	   970	   975#
KAIFLG	   244#	   271
L.CMA	  2153#	  3022	  3026	  3031	  3046
L.LBK	  2154#	  3026	  3029	  3040
LBN	  2558#	  2558	  2577	  2583	  2589	  3724	  3733	  3787	  3931
LBNAC	  2140#	  3564	  3565	  3642	  3671	  3675	  3679	  3682	  3693	  3719	  3723	  3724	  3733
LBNSEL	  3671#	  3730
LDA10	  1667#	  1860
LDACH1	  1620	  1629#
LDACH2	  1635#
LDACHR	   558	  1596	  1619#	  1635	  1671	  1686	  1704	  1831	  3076
LDADR	  1768	  1788	  4449#
LDAEOF	  1624	  1639#
LDATA	  1779	  1791	  2907	  2908	  2915	  4450#
LDATAE	  1697	  1758	  4452#
LDBF	  1931	  1971	  2096#	  2097	  3357	  3365	  3377	  3389	  3392	  3395
LDBF1	  2097#	  2098	  3391	  3394
LDBF2	  2098#	  3393	  3396
LDBLK	  3387	  4460#
LDBUF	  2272	  3323	  3347	  3364	  3366	  3369	  3370	  3385	  3386	  3390	  3409	  3417	  3418	  4462
	  4464#
LDCHN	    65#	  3387	  3400	  3411	  3413
LDCMA	  1714	  1746#
LDCMNT	  1674	  1824#
LDCNT	  1695	  1696	  1699	  1755	  1766	  1770	  4448#
LDCNV	  1702#	  1747
LDCNV1	  1704#	  1708	  1726	  1734	  1740
LDCNV2	  1739#	  1744
LDCNV3	  1717	  1742#
LDDMON	  1792	  1908	  1942	  3203	  4101	  4422#
LDDONE	  1789	  1819#
LDEOL	  1711	  1750#
LDEVIC	  1533#	  1533	  1566	  1579	  3172	  3271
LDLNK	    74#
LDNAME	  2189	  2191	  3051	  3132	  3277	  3301	  3333	  3399	  3400	  3402	  3426	  3435	  4455#
LDOCTF	  1668#	  1668	  1693	  1716	  1752                                                                             SEQ 0156
LDPROC	  1668#	  1777	  1784	  1815	  1827
LDTBLK	  1676#	  1676	  1680	  1787	  1796	  1809	  1812
LDTEN	  1753	  1766#
LDTEN1	  1773	  1787#
LDTEN2	  1795#	  1814	  4119	  4123
LDTEN3	  1793	  4118#
LDTEN4	  4121	  4125#	  4132
LDTENZ	  1777#
LDZBLK	  1669#	  1669	  1684	  1772
LENGTH	  3230#	  3230	  3233	  3739
LERR3	  1683	  4155#
LERR4	  1692	  4157#
LERR5	  1762	  4159#
LET	    54#	   409	   413	   576	   599	   628
LHSWS	   708	  1300#	  1304
LIST1	   458	  3063#
LLDUSB	   163#	   919	   923	   967
LNGERR	  2276	  2319	  3375	  4152#
LOFMSG	  1155	  1189#
LOOK1	  3505	  3508	  3515#	  3543
LOOK10	  3181	  3242	  3499#	  3599
LOOK11	  3183	  3554#	  3601
LOOK2	  3510#	  3545	  3550
LOOK20	  2188#	  3177
LOOK3	  3521#
LOOK4	  3560#	  3578
LOOK5	  3555	  3577#
LOOK6	  3572	  3580#
LOOK7	  3531	  3538#
LPTFLG	   531	  1095	  1154	  1163	  3073	  3087	  4414#
LPTOFL	  1144	  1149#
LPTSW	   167#	  3072	  3086
LSTFLG	  3063	  3189	  4415#
LSTPN1	  3076#	  3079
LSTPNT	  3068#	  3190
M	    51#	  1554	  1619	  1625	  1633	  1634	  1649	  1650	  1651	  1661
MAPDIR	  2214	  2304#	  2437	  2892
MARGIN	   113#
MAXUNI	  2677#	  2677	  2678	  2680	  2837	  2931	  3152
MCNVER	     3#	    10	    35	  4484
MFDFLG	  2414	  2432	  2481	  2923	  3532	  3609	  4418#
MFDP10	  2417	  2426#
MFDPNT	  2414#	  2848
MINUS	   595	   633#
MISUNI	  2839	  3154	  4143#
MMFLAG	  1411#	  1411	  1414	  1457	  1502	  1507
MODLNK	    76#
MONCTL	   109#	   766	   988
MONFLG	   111#	   876
MONTEN	   112#	  1947
MONTYP	   250#	   323	   419	   421	  1110	  1266	  1329	  1917	  1925	  1940	  3247	  3252	  3257	  3273
	  3298	  3344
MSDRIV	   133#                                                                                                            SEQ 0157
MSRH	   132#	  3134	  4111
MSSLAV	   134#
MUUO	   160#	   943	   947	   950
MUUOER	   892	   932#	   973
MUUOH	   897	   941#
MUUOPC	   161#	   952	   955	   976
N.CLP3	  2027#	  3912
N.CLP4	  2024#	  3897
N.CLP5	  2025#	  3902
N.CLP6	  2026#	  3907
N.SCCL	  2555#	  2555	  3891#	  3891	  3932
N.SPC3	  2032#	  3913
N.SPC4	  2029#	  3898
N.SPC5	  2030#	  3903
N.SPC6	  2031#	  3908
N.SPT3	  2038#	  3916
N.SPT4	  2035#	  3899
N.SPT5	  2036#	  3904
N.SPT6	  2037#	  3909
N.STRK	  3892#	  3892	  3940
NAM	    55#	   578	   609	   614	   661	   664	   666
NAM1	    56#	   577	   614	   662	   663	   664	   665
NAM2	    57#	   579	   608	   610
NAMPNT	   484	   489#	   699	   732	  4072	  4086
NFERR	  1572#	  3178	  3184	  3283	  3297
NFERR1	  1575	  4083#
NOCMNT	  1518	  1525	  1527#	  1527	  1529	  1835	  1839
NOFNF	  1524#	  1524	  1531	  1572
NORM	  3992	  4002#
NOTFN1	  3513	  3536#	  3547
NOTFND	  3519	  3527	  3530#	  3563	  3567
NUMCYL	  2554#	  2554	  3890#	  3890
OF%RD	  2017#	  3318
ONCE	   247#	   255	   283	   328	  4055	  4074
ONETIM	   239#	  4652
ONETM1	   239	   253#
P	    63#	    81	    82	    83	    84	   269	   329	   481	   564	   787	  1059	  1062	  1069	  1072
	  1567	  1603	  1636	  2711	  3069	  3075	  3605	  3626	  3679	  3681	  3682	  3966	  4057	  4061
	  4066
P1	  2142#	  2246	  2247	  2259	  2260	  2316	  2336	  2359	  2361	  2364	  2372	  2373	  2378	  2383
	  2385	  2389	  2408	  2409	  2410	  2443	  2452	  2453	  2455	  2527	  2528	  2529	  2536	  2537
	  2539	  2670	  2673	  3786	  3787	  3796	  3798
P2	  2143#	  2671	  2672	  2810	  2815	  2829	  2865	  2866	  2868	  2979	  2988	  3008	  3009	  3144
	  3145	  3698	  3699	  3701	  3744	  3928	  3929	  3963	  3967
P3	  2144#	  2560	  2561	  2563	  2564	  2565	  3521	  3522	  3556	  3569	  3654
P4	  2145#	  2304	  2321	  2552	  2567	  2575	  2576	  2581	  2582	  2587	  2588	  2597	  2598	  2599
	  2614	  2617	  2622	  2626	  2632	  2635	  2907	  2908	  2910	  2915	  2916	  3239	  3377	  3732
	  3788	  3945	  4005
P5	  2146#	  2269	  2270	  2274	  2305	  2320	  2322	  2338	  2420	  2426	  2427	  2549	  2887	  3373
	  3374	  3376	  3523	  3524	  3557	  3558	  3751	  3782	  3827	  3828
PAG	   159#	   268	   918	   919	   922	   923	   964	   966	   967	  1548	  1549	  3960	  3961
PAGCNT	  2270	  3327#	  3327	  3331	  3350
PAGSM	   902	   916#                                                                                                    SEQ 0158
PAKTY1	  2766	  2779#
PAKTYP	  2655	  2763#
PASS	   246#	   705	   712	   722	   750	   804	   871
PERIOD	   604	   614#
PFSTRT	   121#	   472
PGMGO	   296	   297	   388	   553	  1951	  4077	  4410#
PGNAME	   280	   332	   799	  4407#
PI	   266	   785
PICLR	   154#	   266	   785
PLIST	   269	   329	   481	   787	  4408#
PNT	  2148#
PNT1	  2149#
PNT16	   510#	  1836	  1840	  3078
PNTDEC	   805	  1068#	  1071	  2512	  2733	  2737
PNTLPT	  1096	  1136#
PNTOCS	  1058#	  1061	  3632	  3637
PNTOCT	  1048#	  1053	  2607	  2609	  2618	  2623	  2627	  4068
PNTTAB	  1371#	  2484	  2488	  2493	  2516	  2727	  2739	  2752	  3621	  3625
PPN	  2427	  2933#	  2933	  3021	  3030	  3032	  3521
PPN0	  3002	  3012#
PPN1	  3013	  3018#
PPN2	  3019	  3026#
PPN3	  3037#
PPN4	  3038	  3043#
PPN5	  3027	  3034#
PPNCHR	  2984	  2991#	  3010
PPNIN	  2852	  2978#
PPNLP	  2988#	  3016	  3024	  3041	  3047
PPNLTR	  2998	  3007#
PPNPTR	  2979	  2988	  4181#
PRGCOR	  1859#	  3195
PRINT	   492	   504	   512	  1017	  1022	  1024	  1042	  1052	  1064	  1074	  1078#	  1158	  1242	  1350
	  1366	  1372	  2473	  2620	  2625	  2735	  3613	  3634	  4060	  4071
PRINT1	  1083	  1086	  1091#
PRINT2	  1090	  1106#	  1113	  1116	  1130	  1145
PRINT4	  1098	  1110#
Q	    50#	  1553	  1862	  1929	  1930	  1931	  1932	  1933	  1934	  1935	  1936	  3218	  3219	  3220
	  3227	  3370	  3418
Q1	  1843	  1844	  1845	  1852	  1853	  1868	  1881	  1885	  1887	  1890	  1900	  2137#	  2846	  2847
	  2849	  2855	  2856	  2858	  2859	  2862	  2947	  2949	  2950	  2954	  2955	  2956	  2958	  2960
	  2963	  2964	  2982
Q2	  1849	  1851	  1852	  1869	  1877	  1878	  1882	  1891	  1901	  2138#	  2229	  2237	  2283	  2290
	  2297	  2345	  2393	  2844	  2862	  2936	  2937	  2980	  2989	  3004	  3005	  3021	  3030	  3032
	  3752	  3781	  3801	  3832	  3836	  3936	  3937
Q3	  1846	  1848	  1849	  1870	  1876	  1878	  1902	  2139#	  2233	  2234	  2235	  2282	  2289	  2296
	  2349	  2350	  2353	  2354	  2357	  2361	  2366	  2367	  2368	  2385	  2391	  2394	  2447	  2448
	  2451	  2453	  2457	  2458	  2459	  2460	  2461	  2462	  2463	  2464	  2465	  2466	  2468	  2476
	  2495	  2496	  2498	  2524	  2525	  2535	  2537	  2941	  2943	  2963	  2967	  2968	  2974	  3200
	  3208	  3209	  3223	  3226	  4128	  4133
R.DSKW	  2158#	  3504	  3530
R.SRIB	  2159#	  3725	  3743
R3TYPE	  3889	  3912#
R4TYPE	  3883	  3897#                                                                                                    SEQ 0159
R5TYPE	  3885	  3902#
R6TYPE	  3887	  3907#
RANBAS	   248#	   767	   770
RANDBS	   110#	   771
RBOUT	   593	   606	   607	   649#
RBUF	  2182#	  3568	  3569	  3699	  3732	  3738	  3740	  3744
RD%BRK	  1289	  2007#
RD%TOP	  1289	  2008#
RDDSK	  3224	  3230#	  3646
RDPAGE	  2569	  2710#
READ	   583	  1339#	  1354	  1356
READ1	   571	  1342#
READXB	  2278	  2422	  2890	  2907#
REENTR	   122#	   473
RELIAB	   169#	   745
RERUN	   238#
RERUN1	   238	   774#
RESTRT	   236#	   914	   927
RET	   700	   723	   735	   793#
RETURN	   105#	   857	   907	  1949
RFILE	  1553#	  3179	  3185	  3282	  3287	  3291	  3295
RFILE1	  1559	  3189#
RFILL1	  3197#	  3210
RFILL2	  3206#	  3209	  4130	  4134
RFILL3	  1903	  3200#
RFILL4	  3204	  4128#
RH.DC	  3465#	  3861
RH.PA	  3467#	  3855
RH.RC	  3464#	  3867
RH.RD	  3468#	  3925
RH.RIP	  3466#	  3872
RH11CH	  4031#
RHIALL	  3114#	  3114	  3170	  3864	  4056
RHINIT	  3819	  3832#
RHPNTR	  3106	  3126#
RHREAD	  3815	  3925#
RIBBYT	  3703	  3706	  3717	  3769#
RIBEXT	  2166#	  3568
RIBFIR	  2164#	  3744
RIBNAM	  2165#	  3569
RIBSIZ	  2167#	  3738
RMS1	  1845#	  1883	  1892
RMS2	  1843#	  1850
RPAS	  4039#
RPATA	  3476#	  3841	  4019
RPBA	  3953	  4034#
RPCC	  4047#
RPCLR	  3472#	  3834	  3934
RPCS1	  3126	  3838	  3856	  3862	  3868	  3873	  4014	  4024	  4032#
RPCS2	  3835	  3836	  3935	  3937	  4036#
RPDA	  3943	  4035#
RPDB	  4041#
RPDC	  3938	  4046#                                                                                                    SEQ 0160
RPDPR	  3480#	  3843	  3844
RPDS	  3840	  3857	  4020	  4037#
RPDT	  3847	  4043#
RPDVA	  3478#	  3837
RPEC1	  3980	  4050#
RPEC2	  3989	  4051#
RPER1	  3975	  4038#
RPER2	  4048#
RPER3	  4049#
RPERR	  3477#	  3841	  4019	  4025
RPLA	  4040#
RPMCPE	  3479#	  4025
RPMOL	  3473#	  3858
RPMR	  4042#
RPNED	  3470#
RPOF	  4045#
RPPGSZ	  3485#	  3954	  3956
RPRDY	  3471#	  3843	  3844	  4019
RPSC	  3474#
RPSN	  4044#
RPTRE	  3475#
RPTYPE	  2692	  2695	  2741	  3852#	  3852
RPVV	  3481#
RPWC	  3957	  4033#
RUN	   236	   778#	  4079
RUNCTL	   710	   765	   796	  4429#
RUNPR1	   373#	   404
RUNPR2	   356	   399#
RUNPRG	   366#	   397	   456	   549	  3064
RWFXIT	  3964	  3967#
RWNXTB	  3218	  3223#
RWORD	  1613	  1623	  1653	  1863	  3197	  3206	  3213#	  3228
RWSXIT	  3962	  3966#	  4011
SADR	   362	  1944	  1966#
SADRQ	   363	   376	   459	  1956#
SAV13	  1556#	  1556	  1621	  1626	  1639
SAV14	  1557#	  1557	  1622	  1627	  1640
SAVAC0	  1081	  1107	  1151	  1166	  4431#
SAVAC1	  1079	  1106	  1152	  1165	  4432#
SAVAC2	  4433#
SAVEIP	   387	   483	   716	   741	   788	  1957	  4428#
SAVEP	  4427#
SAVQ	  1929#	  1929	  1936
SAVQ1	  1868#	  1868	  1872	  1881	  1890	  1897	  1900
SAVQ2	  1869#	  1869	  1901
SAVQ3	  1870#	  1870	  1902	  3223	  3226
SAVT3	  1866#	  1866	  1898
SAVT4	  1867#	  1867	  1899
SAXPN	   460	   983#
SCFLAG	   574	   588	   638	   660	  1228	  1345	  4424#
SCHL1	  3646#	  3663
SCHL2	  3651#	  3662	  3688
SCHL2A	  3658	  3665#                                                                                                    SEQ 0161
SCHN1	  3663#
SCHN2	  3628	  3655	  3661#	  3666
SCSET	   591	   638#
SEL1	  3695	  3723#
SEL2	  3697	  3720#
SEL3	  3704	  3714#
SEL4	  3708	  3712#
SEL4L	  3698#	  3712
SELBLK	  3234	  3693#	  3726
SELECT	   235	   260#	   395	   412	   814	   984	  1181	  1216	  1225	  1262	  1989	  3084	  3459	  3535
	  4078
SELSTR	   330	   342	   399	   401	  4447#
SELX	   284	   290#	   417
SELX1	   301	   310	   315	   319	   328#	  4075	  4103
SELXR	   416#	   461
SETCHN	  3813	  3827#
SETRIB	  3566	  3644	  3730#
SFSTRT	   120#	   471
SIXAS1	  3423#	  3423	  3432	  3433
SIXAS2	  3424#	  3424	  3429
SIXASC	  2202	  3306	  3422#
SIXBP	   333	   490	   494	   500#	   505	   800	  2725	  2750	  2757	  2952	  3611	  3615
SIXSTR	  3427	  3437	  3443#
SLUNIT	  2704	  3517	  3678	  3709	  4441#
SMAPT	   464	  4092	  4096	  4098#
SMDDT	   114#	  1222
SMFLG	   243#	   270	   276
SMINT	   277	   789	  1383#
SMMAG	   463	  4094#
SMMON	   462	  4090#
SMTYI	  1206	  1399#	  1402
SNAME	   282	   419#	  1959
SPECIA	  1517#	  1517	  1530	  1558	  1574	  3068
SRCHFD	  3526	  3562	  3642#
STAOBJ	  2342	  2404#	  2439
START	   225	   235#	   485	   522	   526	   683	   784	   938	  1948	  3077
START1	   124#	   474
START2	   125#	   475
START3	   126#	   476
START4	   127#	   477
START5	   128#	   478
STARTM	  1943	  4111#
STARTQ	  1820	  1940#	  3201
STARTV	  1951#
STORED	   453	   531#	   543
STRCM1	  2393#	  2398
STRCMP	  2240	  2284	  2291	  2298	  2370	  2383#
STRD3	   828#	   837	   990
STRD3A	   836	   839#
STRD4	   832	   841#
STRNAM	  2663#	  2663	  2829	  3015	  3145	  3499	  3507	  3511	  3515	  3538	  3542	  3549
STRUCT	  2703	  3516	  4440#
SUBLNK	    77#                                                                                                            SEQ 0162
SUBRTN	   102#	   300
SUSERF	   245#	   575	   633	   668	   717	   726	   865	   925	   993
SVJBRE	   254#	   254	  1913	  1915	  1922	  1962	  3255	  3260	  3265
SYMBOT	  2114#	  2404	  2408
SYMTOP	  2115#	  2407
T.SPC3	  2033#	  3915
T1	   422	  1957	  2132#	  2216	  2222	  2233	  2246	  2252	  2254	  2259	  2265	  2269	  2274	  2316
	  2317	  2318	  2320	  2336	  2337	  2349	  2353	  2357	  2366	  2378	  2391	  2393	  2395	  2398
	  2404	  2405	  2407	  2410	  2447	  2451	  2457	  2459	  2461	  2463	  2465	  2471	  2474	  2479
	  2486	  2487	  2492	  2494	  2503	  2505	  2507	  2509	  2511	  2514	  2515	  2522	  2534	  2540
	  2542	  2546	  2549	  2550	  2551	  2556	  2560	  2563	  2647	  2648	  2651	  2652	  2662	  2663
	  2666	  2667	  2672	  2674	  2675	  2676	  2678	  2680	  2690	  2692	  2695	  2696	  2701	  2703
	  2743	  2745	  2747	  2749	  2754	  2756	  2764	  2765	  2768	  2769	  2772	  2773	  2779	  2782
	  2783	  2786	  2787	  2814	  2818	  2825	  2837	  2838	  2840	  2842	  2843	  2846	  2855	  2873
	  2894	  2927	  2928	  2943	  2951	  2968	  2992	  3106	  3107	  3109	  3152	  3153	  3155	  3761
	  3762	  3764	  3765	  3791	  3792	  3834	  3835	  3837	  3838	  3840	  3841	  3843	  3844	  3847
	  3848	  3849	  3850	  3852	  3855	  3856	  3857	  3858	  3861	  3862	  3867	  3868	  3870	  3872
	  3873	  3875	  3882	  3884	  3886	  3888	  3931	  3932	  3938	  3939	  3940	  3941	  3942	  3943
	  3945	  3946	  3947	  3948	  3949	  3950	  3951	  3952	  3953	  3954	  3956	  3957	  3962	  3975
	  3976	  3977	  3980	  3981	  3982	  3985	  3987	  3988	  3989	  3990	  4002	  4018	  4021	  4022
	  4026	  4125	  4137	  4140	  4143	  4146	  4149	  4152	  4155	  4157	  4159	  4161	  4163	  4165
	  4167	  4169	  4171	  4173	  4175	  4177
T10ID	  2765	  2769	  2773	  2791#
T2	  2133#	  2217	  2223	  2265	  2266	  2275	  2394	  2395	  2480	  2504	  2508	  2521	  2554	  2555
	  2556	  2558	  2673	  2674	  2683	  2685	  2687	  2702	  2704	  2741	  2742	  2744	  2746	  2748
	  2815	  2823	  2895	  2973	  2974	  3584	  3587	  3592	  3890	  3897	  3902	  3907	  3912	  3933
	  3942	  3960	  3961	  3982	  3991	  3992	  3996	  3997	  3998	  4003	  4004	  4005	  4009	  4010
	  4019	  4020	  4024	  4025
T20ERR	  1293	  3321	  3361	  3452#
T20ID	  2779	  2783	  2787	  2795#
T20LUN	  2108#	  2666	  2732	  2736
T20SNM	  2107#	  2662	  2722
T3	  1843	  1847	  1848	  1866	  1898	  2134#	  2218	  2224	  2816	  2824	  2896	  2981	  2991	  2993
	  2995	  2996	  3000	  3001	  3005	  3007	  3009	  3012	  3018	  3034	  3037	  3043	  3702	  3705
	  3716	  3769	  3770	  3802	  3803	  3804	  3813	  3828	  3829	  3880	  3891	  3894	  3898	  3903
	  3908	  3913	  3915	  4006
T4	  1845	  1846	  1847	  1851	  1853	  1867	  1874	  1876	  1884	  1893	  1899	  1944	  1945	  2135#
	  2818	  2819	  2822	  2823	  2825	  2826	  3200	  3208	  3881	  3892	  3893	  3899	  3904	  3909
	  3916	  3925	  4014	  4112	  4115
TABCTR	  1984#	  1984	  3616
TAPEPF	  1349	  4411#
TITLE	   237#
TOPS10	  1871	  1896	  1986	  2416	  2659	  2723	  2729	  2755	  2763	  2776	  2834	  2851	  2871	  2884
	  2932#	  2932	  3149	  3174	  3215	  3914
TOUT	    86	  1035#	  1044
TOUTA	  1034#	  1045
TRPENB	   157#	   918	   922	   965
TRYECC	  3963	  3973#
TRYIT	  3959#
TT2CHR	   406#	   831
TTAB	   597	   626#
TTALTM	  1236	  1238	  1240	  1363#
TTYCFL	  1172#	  1172	  1203	  1250                                                                                     SEQ 0163
TTYCHK	  1101	  1140	  1172#
TTYCMD	   454	   537#
TTYEXT	  1227	  1246	  1250#	  1359
TTYIN	    87	  1202#	  1212	  1214	  1341
TTYINA	  1229	  1235#	  1249
TTYIND	  1183	  1222#
TTYINU	  1205	  1266#
TTYINX	  1210#	  1271	  1273	  1280	  1283
TTYIU1	  1267	  1275#	  1297
TTYIU2	  1276	  1278	  1284#
TTYOC1	  1311#	  1322
TTYOC2	  1313	  1324#
TTYOC3	  1317	  1327#
TTYOCT	    88	  1310#
TTYPE	  3749	  3751	  3764	  4442#
TTYSPD	   249#
TUNIT	  3750	  3752	  3761	  4443#
TYPMAX	  3765	  3821#
UBAP0	  3110	  3486#
UBAS0	  3098	  3117#
UBAS1	  3100	  3119#
UBAS2	  3102	  3121#
UBAS3	  3104	  3123#
UBASEL	  3055	  3092#	  3096
UBASX	  3106#	  3118	  3120	  3122	  3124	  3140
UNBMP0	  3111	  3949	  4052#
UNIINI	  3802	  3819#	  3821
UNIMAX	  3762	  3822#
UNV36X	  3112	  3488#	  3948
UNVBIT	  3112	  3487#	  3948
UNVDPB	  3489#
UPMP	   162#	   882	   884	   885	   887	   888	   889	   891	   893	   894	   895	   896	   898	   899
	   900	   901	   917	   919	   943	   947	   950	   952	   955	   967	   976
URWD	  3214	  3216	  3342#
URWD1	  3348	  3369#
URWD10	  3345	  3409#
URWD11	  3410	  3412	  3417#
USER	   241#	   260	   263	   264	   278	   281	   305	   322	   755	   778	   819	   849	   913	   983
	  1097	  1204	  1241	  1255	  1327	  1365	  1383	  1540	  1910	  1958	  3052	  3083	  3130	  3213
	  3342	  3353
USERF	   155#	   158#	   262	   904	   956
USERLD	  1541	  3270#
USLD1	  3279	  3285#
USLD10	  3274	  3385#
USLK10	  3299	  3399#
USLKUP	  3281	  3286	  3290	  3294	  3298#
USRERR	   886	   916	   935#
USRFLG	   834	   839	   851	   869	   992	  4421#
USRINT	   279	  3247#
USRITR	   847#	   847	   926
USRRUN	   852	   865#
USSR1	   906	   912#
USSR2	   856	   913#	   974                                                                                             SEQ 0164
USSR3	   915	   922#
USSR4	   925#
VERNUM	  2200	  2218#	  2218
W	    49#	  1615	  1629	  1630	  1631	  1632	  1633	  1656	  1819	  2980	  2989	  3015	  3219	  3369
	  3417	  4181
WAIT	  3869	  3874	  4018#	  4021
WAITF	  4022	  4026#
WHAT	   237	   481#
XPAND	   172#	   823
XPNRN1	   849#	   928
XPNRN2	   850	   854#	   866	   873
XPNRN3	   859#	   908
XPNRUN	   774	   846#	   995
ZEROAC	   643#	   859	  1964
$80CHR	   148#	  1422	  1434	  1475	  1482	  1487	  1494
$80CIW	   144#	  1407	  1421	  1425
$80COW	   145#	  1408	  1476	  1481
$80INT	   149#	  1479	  1491
$80KIW	   146#	  1409	  1433	  1437
$80KOW	   147#	  1410	  1488	  1493
$80MM	   143#	  1413
$80STA	   142#	  1412
$BYTYC	  1499#	  1499	  1501
$BYTYI	    97	  1444#	  1448	  1449	  1450	  1452
$BYTYO	    98	  1498#	  1504
$COMTI	  1456#	  1461	  1463	  1464	  1465	  1468	  1470	  1471	  1472
$COMTO	  1506#	  1510	  1512
$CYTYI	    93	  1420#	  1423	  1428	  1429	  1430
$CYTYO	    94	  1474#	  1484
$DDT	   138#	   320	   469	  1224
$EMODE	   106#	   758
$KYTYI	    95	  1432#	  1435	  1440	  1441	  1442
$KYTYO	    96	  1486#	  1496
$PSIX	    85	  1000#
$PSIX1	  1005#	  1019
$PSIX2	  1008#	  1018
$PSIX3	  1018#	  1025
$PSIX4	  1013	  1021#
$PSIX5	  1011	  1027#
$RHUVB	  3113	  3948#
$STD	   137#	   466
$STL	   139#	   467
$STM	   140#	   468
$SWITC	    89	  1377#
$SWU	  1378#
$TYCLR	    92	  1417#	  1418
$TYINI	    91	  1406#	  1415
$UMODE	   107#	   761
.FBACT	  2068#
.FBADR	  2059#	  2274
.FBAUT	  2063#
.FBBK0	  2079#
.FBBK1	  2080#                                                                                                            SEQ 0165
.FBBK2	  2081#
.FBBK3	  2082#
.FBBK4	  2083#
.FBBYV	  2009#	  2069#	  2269	  2461	  3326
.FBCNT	  2078#
.FBCRE	  2061#
.FBCRV	  2075#
.FBCTL	  2057#	  2265
.FBDRN	  2066#
.FBEXL	  2058#	  2246	  2465
.FBEXT	  2087#	  2233	  2459
.FBGEN	  2064#	  2252
.FBGNL	  2085#	  2259
.FBHDR	  2056#
.FBLEN	  2092#
.FBLN0	  2090#
.FBLN1	  2091#
.FBLWR	  2088#
.FBNAM	  2086#	  2366	  2457
.FBNRM	  2053#
.FBPRT	  2060#
.FBREF	  2077#
.FBRMS	  2054#
.FBSIZ	  2074#	  2463
.FBUSE	  2062#
.FBUSW	  2084#
.FBWRT	  2076#
.FHSLF	  1971	  2010#	  3357	  3453
.LOC	   116#	   231
.PRIIN	  1334	  2011#
.PRIOU	  2012#	  3452
.R3TYP	  2022#	  2748	  3888
.R4TYP	  2019#	  2742	  3882
.R5TYP	  2020#	  2744	  3884
.R6TYP	  2021#	  2746	  3886
.SYMAD	  2093#	  2349	  2357	  2447	  2451
.SYMVL	  2094#	  2353

BCIO	   186#
BCIOB	   192#                                                                                                            SEQ 0166
BSIO	   185#
BSIOB	   191#
BTYTYI	    97#	   780	  1176	  1257	  1399
BTYTYO	    98#	  1100	  1132
CFIBF	  1335	  1994#
CLOSF	  1976	  2001#
CLRBFI	  1331
CORE	  1919	  1927	  3262
CTYCLR	    92#	  1956	  2415	  2602	  2715	  3074	  3088
CTYINI	    91#	  1395
CTYTYI	    93#	  1445	  1460
CTYTYO	    94#	  1500	  1509
ERCAL	  2005#
ERJMP	  1974	  1977	  2004#	  3361
ERSTR	  1998#	  3456
GET	    84#	   513	  1027	  1028	  1029	  1164	  1165	  1166	  1167	  1168	  1177	  1186	  1294	  1295
	  1296	  1826	  2364	  2389	  2455	  2474	  2521	  2522	  2539	  2542	  2635	  3635	  3893	  3894
	  3939	  3950	  3967	  3968	  3969
GETTAB	  3249
GO	    81#	    85	    86	    87	    88	    89	   277	   279	   282	   287	   309	   314	   318	   331
	   333	   340	   370	   390	   416	   482	   484	   490	   492	   494	   495	   504	   512	   532
	   541	   558	   583	   699	   706	   708	   732	   733	   734	   736	   789	   798	   800	   805
	   806	   831	   859	   902	   990	  1017	  1022	  1024	  1042	  1052	  1061	  1071	  1086	  1101
	  1140	  1144	  1158	  1206	  1242	  1350	  1366	  1367	  1596	  1613	  1623	  1645	  1653	  1671
	  1672	  1683	  1686	  1687	  1692	  1704	  1705	  1762	  1783	  1825	  1831	  1836	  1840	  1863
	  1864	  1875	  1879	  1883	  1886	  1888	  1892	  1895	  1941	  1946	  1959	  1964	  1983	  1988
	  2202	  2204	  2211	  2214	  2226	  2231	  2240	  2244	  2250	  2257	  2263	  2276	  2278	  2284
	  2291	  2298	  2307	  2308	  2319	  2329	  2330	  2342	  2347	  2362	  2370	  2376	  2387	  2419
	  2422	  2423	  2434	  2437	  2439	  2445	  2454	  2469	  2473	  2477	  2484	  2488	  2493	  2512
	  2516	  2519	  2531	  2538	  2547	  2569	  2572	  2578	  2584	  2590	  2604	  2607	  2609	  2610
	  2618	  2620	  2623	  2625	  2627	  2630	  2634	  2639	  2655	  2668	  2681	  2688	  2693	  2710
	  2718	  2725	  2727	  2733	  2735	  2737	  2739	  2750	  2752	  2757	  2759	  2770	  2774	  2780
	  2784	  2788	  2800	  2801	  2802	  2807	  2832	  2839	  2875	  2890	  2892	  2898	  2912	  2913
	  2952	  2971	  2984	  3055	  3070	  3076	  3078	  3140	  3142	  3147	  3154	  3160	  3177	  3181
	  3183	  3197	  3198	  3206	  3207	  3224	  3234	  3242	  3263	  3274	  3281	  3286	  3290	  3294
	  3306	  3309	  3375	  3379	  3380	  3388	  3414	  3427	  3437	  3518	  3526	  3562	  3566	  3574
	  3580	  3581	  3599	  3601	  3611	  3613	  3615	  3619	  3621	  3625	  3632	  3634	  3637	  3643
	  3644	  3646	  3665	  3680	  3703	  3706	  3710	  3717	  3730	  3734	  3754	  3757	  3783	  3789
	  3853	  3869	  3874	  3883	  3885	  3887	  3889	  3959	  4058	  4060	  4068	  4071	  4072	  4086
	  4102
GTFDB	  2002#	  3329
GTJFN	  1999#	  3314
INCHRW	  1272
INCHWL	  1269
JSYS	  1992#	  1993	  1994	  1995	  1996	  1997	  1998	  1999	  2000	  2001	  2002	  2003
KTYTYI	    95#	  1451	  1467
KTYTYO	    96#	  1503	  1511
MSG	   174#	   932	   936
NAME	     7#	    10
OPENF	  2000#	  3320
OUTCHR	  1112
PBOUT	  1115	  1995#
PMAP	  1973	  2003#	  3360                                                                                             SEQ 0167
PMSG	   176#	   337	   366	   523	   537	   649	   680	   685	   690	   696	   801	   811	   828	  1120
	  1300	  2879	  3092	  3164	  4063	  4083
PNTAL	    86#	   286	   521	  2541	  2805
PNTMSG	    85#	   339	   368	   525	   539	   651	   682	   687	   692	   698	   803	   813	   830	   937
	  1122	  1302	  2881	  3094	  3166	  4062	  4065	  4085
PTITLE	  4479#	  4484
PUT	    83#	   510	  1000	  1001	  1002	  1149	  1150	  1151	  1152	  1153	  1175	  1284	  1285	  1286
	  1824	  2359	  2383	  2452	  2471	  2479	  2480	  2534	  2536	  2597	  3630	  3880	  3881	  3926
	  3927	  3928	  3933	  3946
RDIO	   183#	  3840	  3847	  3857	  3975	  3980	  3989	  4024
RDIOB	   189#
RDTTY	  1292	  1997#
RESET	  1993#
RTN	    82#	   408	   423	   496	   506	   514	   565	   647	   678	   820	   824	   841	   920	  1030
	  1041	  1054	  1108	  1123	  1169	  1173	  1178	  1187	  1251	  1256	  1258	  1263	  1306	  1328
	  1332	  1336	  1344	  1369	  1379	  1384	  1397	  1403	  1568	  1573	  1580	  1604	  1609	  1637
	  1641	  1654	  1841	  1854	  1937	  1954	  1979	  2205	  2212	  2227	  2248	  2261	  2310	  2339
	  2343	  2351	  2374	  2396	  2406	  2435	  2440	  2449	  2532	  2543	  2573	  2579	  2585	  2591
	  2636	  2649	  2653	  2664	  2697	  2705	  2712	  2760	  2777	  2789	  2877	  2899	  2918	  2938
	  2953	  3023	  3035	  3044	  3059	  3115	  3162	  3225	  3231	  3235	  3243	  3256	  3261	  3266
	  3339	  3351	  3397	  3407	  3415	  3441	  3448	  3536	  3593	  3602	  3645	  3647	  3687	  3700
	  3711	  3731	  3735	  3742	  3767	  3771	  3784	  3797	  3833	  3839	  3842	  3845	  3851	  3859
	  3871	  3876	  3895	  3900	  3905	  3910	  3917	  3970	  4027	  4087	  4109
SETDDT	   325
SETNAM	   422
SETNM	   420	  1996#
SWITCH	    89#	   730	   744	   822	   986	  3071	  3085
TIOE	   181#
TIOEB	   187#
TION	   182#	  3838	  4020
TIONB	   188#
TTICHR	    87#	   406	   410	  1160	  1311	  2946
TTIOCT	    88#	  1303	  3095
WRIO	   184#	  3835	  3836	  3856	  3862	  3868	  3873	  3935	  3937	  3938	  3943	  3949	  3953	  3957
	  4014
WRIOB	   190#

ADD	   768	   881	  1389	  1757	  1779	  1852	  2372	  2528	  3803	  4005
ADDB	  2576	  2582	  2588	  3233	  3511                                                                             SEQ 0168
ADDI	   503	   673	   748	   793	  1063	  1073	  1808	  1810	  2235	  2368	  2409	  2535	  3005	  3108
	  3445	  3828	  4122	  4133
ANDI	  1039	  1080	  1137	  1210	  1260	  1342	  1426	  1438	  1478	  1490	  1650	  1731	  1737	  1743
	  3622	  3848	  3951	  3976	  3981
AOBJN	   645	   883	  1390	  2373	  2529	  2632	  3109	  3209	  3220	  3238	  3661	  3662	  3701
AOJ	  1844
AOJA	   347	   350	   359	  1019	  1747	  1759	  1935
AOS	   564	   712	   952	  1078	  1087	  1428	  1429	  1440	  1441	  1448	  1449	  1463	  1464	  1470
	  1471	  1567	  1603	  1634	  1636	  1649	  1807	  1897	  2505	  2509	  2577	  2583	  2589	  2711
	  3367	  3616	  3693	  3761	  3764	  3966
AOSA	  1034
ASCII	  1223	  2866
ASCIZ	  1189	  2125	  2283	  2290	  2297	  2804	  2895	  4485	  4503
BLOCK	  3450	  4408	  4446	  4450	  4451	  4464	  4466	  4468	  4469	  4470	  4471	  4472
BLT	   273	   298	   885	  1565	  1587	  1600	  1697	  2195	  2327	  2333	  2908	  2916	  2928	  2937
	  3158	  4108	  4114
BYTE	  2791	  2792	  2793	  2795	  2796	  2797
CAIA	  2241	  2299
CAIE	   411	  1082	  1161	  1217	  1245	  1270	  1279	  1619	  1682	  1691	  1758	  2652	  2826	  2858
	  2949	  2964	  3012	  3018	  3037	  3043	  3741	  3792	  3977
CAIG	  2995	  3000	  3762	  3765
CAIGE	   677	  2487	  2492	  2515	  2996	  3001	  4118	  4120	  4129	  4131
CAIL	   675	  1243	  1315	  1351	  1719	  1728	  1931	  1932	  2318	  2954	  3374	  3849
CAILE	  1316	  1720	  1729	  3832	  3850	  3985
CAIN	   375	   407	   569	   584	   586	   590	   592	   594	   596	   603	   783	   833	   835	   872
	   945	  1010	  1012	  1014	  1091	  1093	  1102	  1104	  1180	  1182	  1184	  1211	  1213	  1215
	  1226	  1230	  1235	  1237	  1239	  1261	  1312	  1343	  1347	  1353	  1355	  1357	  1537	  1673
	  1677	  1679	  1689	  1707	  1710	  1713	  1833	  1887	  2405	  2496	  2498	  2742	  2744	  2746
	  2748	  2819	  2847	  2849	  2859	  2950	  2956	  2958	  2960	  3034	  3097	  3099	  3101	  3103
	  3251	  3334	  3337	  3403	  3405	  3500	  3503	  3686	  3796	  3882	  3884	  3886	  3888
CAM	  1259	  2593
CAME	   753	  1043	  2354	  2395	  2648	  2663	  2680	  2687	  2692	  2704	  2765	  2769	  2773	  2779
	  2783	  2787	  3539	  3544	  3569	  3573	  3587	  3592	  3624	  3654
CAMG	  1913	  1922	  3255
CAMGE	   722	  1849	  1878	  1934
CAMN	   274	   300	   348	   357	  1223	  2254	  2322	  2703	  2866	  3584	  3659	  3676	  3707
CONI	   964	  1477	  1489	  1548	  3960
CONO	   266	   267	   268	   785	   786	   918	   922	   966	  1480	  1492	  1549	  3961
DATAO	   919	   923	   967
DEFINE	     7	   174	   176	  4479
END	  4652
EQVB	   770
EXCH	   664	  1621	  1622	  1626	  1627	  1639	  1640	  2993
HALT	   215	   216	   221	   222	   229	   275	   782	   938	   976	  1401	  1447	  1453	  1462	  1469
	  4104
HLLM	   385	   957
HLLZ	   380	   493	  2190	  3278	  3435	  3557	  3568	  3614	  3656
HLLZM	   666
HLRO	  1847
HLRZ	   374	   720	   943	  1062	  1072	  1536	  1975	  2252	  2563	  2606	  2622	  2675	  2732	  3325
	  3333	  3402	  3631
HRL	   671	   751	  1049
HRLI	   987	  2234	  2367	  2410	  2599                                                                             SEQ 0169
HRLM	   695	  1059	  1069	  2674	  3030
HRLOI	  3453
HRLZI	  3311
HRLZM	  1305	  3317
HRR	  2391
HRRI	  3769
HRRM	   362	   670	   958	  1035	  1544	  1546	  1944	  1950	  3021	  3032	  3111	  3113
HRROI	  3312
HRRZ	   742	  1003	  1846	  1881	  1890	  2269	  2316	  2378	  2501	  2540	  2560	  2608	  2617	  2626
	  2736	  3560	  3564	  3636	  4112	  4128
HRRZM	  1884	  2672
HRRZS	  3331
IDIV	  2556	  3674	  3932	  3940
IDIVI	  1058	  1068	  2503	  2507	  4004
IDPB	   560	   563	  2823	  2862	  2963	  2974	  3009	  3430	  3439	  3446
ILDB	   567	  1156	  1277	  1282	  2393	  2394	  2818	  2825	  2846	  2855	  2992	  3369	  3417
IMUL	  2555	  3561	  3565	  3673	  3718
IMULI	  3623
IN	  3411
IOR	   609	  3942
IORI	  3948
JFCL	   214	   341	   371	   890	  1392	  3457	  3458
JRST	   225	   235	   236	   237	   238	   239	   265	   284	   301	   306	   310	   311	   315	   319
	   349	   353	   356	   358	   363	   376	   378	   383	   391	   393	   395	   397	   404	   412
	   414	   417	   485	   519	   522	   526	   533	   542	   543	   549	   555	   559	   561	   570
	   571	   585	   587	   589	   591	   593	   595	   597	   604	   611	   615	   622	   629	   634
	   639	   652	   683	   688	   700	   719	   723	   735	   740	   753	   754	   756	   759	   760
	   762	   763	   774	   779	   781	   784	   795	   797	   807	   814	   832	   836	   850	   852
	   861	   866	   870	   873	   905	   908	   914	   915	   927	   928	   933	   946	   954	   962
	   968	   970	   973	   974	   977	   978	   984	   995	  1011	  1013	  1025	  1044	  1045	  1064
	  1074	  1083	  1089	  1090	  1096	  1098	  1103	  1105	  1111	  1113	  1116	  1127	  1133	  1145
	  1159	  1162	  1181	  1183	  1205	  1212	  1214	  1216	  1218	  1224	  1225	  1227	  1229	  1236
	  1238	  1240	  1246	  1249	  1262	  1267	  1271	  1273	  1276	  1280	  1283	  1293	  1297	  1304
	  1313	  1317	  1322	  1325	  1330	  1340	  1341	  1346	  1354	  1356	  1359	  1372	  1400	  1415
	  1418	  1423	  1430	  1435	  1442	  1446	  1450	  1452	  1454	  1458	  1461	  1465	  1468	  1472
	  1483	  1484	  1495	  1496	  1504	  1508	  1510	  1512	  1520	  1526	  1528	  1541	  1550	  1559
	  1575	  1590	  1592	  1597	  1614	  1616	  1620	  1624	  1646	  1647	  1662	  1674	  1678	  1680
	  1681	  1690	  1708	  1711	  1714	  1717	  1721	  1726	  1730	  1734	  1740	  1744	  1753	  1773
	  1784	  1793	  1797	  1815	  1820	  1827	  1832	  1834	  1837	  1850	  1860	  1903	  1909	  1911
	  1914	  1918	  1920	  1923	  1926	  1928	  1943	  1952	  1961	  1966	  1987	  1989	  2207	  2238
	  2242	  2255	  2262	  2267	  2280	  2285	  2287	  2292	  2294	  2300	  2301	  2323	  2355	  2372
	  2380	  2400	  2411	  2417	  2424	  2428	  2482	  2491	  2497	  2499	  2516	  2518	  2570	  2594
	  2612	  2615	  2641	  2657	  2660	  2691	  2706	  2720	  2730	  2766	  2808	  2812	  2820	  2827
	  2835	  2848	  2850	  2852	  2853	  2860	  2863	  2867	  2869	  2872	  2874	  2876	  2882	  2885
	  2900	  2951	  2957	  2959	  2961	  2965	  2969	  2975	  2986	  2998	  3002	  3010	  3013	  3016
	  3019	  3024	  3027	  3038	  3041	  3047	  3053	  3056	  3064	  3077	  3079	  3084	  3089	  3096
	  3098	  3100	  3102	  3104	  3118	  3120	  3122	  3124	  3131	  3136	  3150	  3161	  3167	  3175
	  3178	  3179	  3182	  3184	  3185	  3190	  3194	  3195	  3201	  3204	  3210	  3214	  3216	  3221
	  3228	  3240	  3244	  3250	  3258	  3282	  3283	  3287	  3291	  3295	  3297	  3299	  3315	  3321
	  3343	  3345	  3348	  3354	  3371	  3382	  3401	  3410	  3412	  3419	  3459	  3501	  3505	  3508
	  3513	  3519	  3527	  3528	  3531	  3533	  3535	  3540	  3543	  3545	  3547	  3550	  3555	  3563
	  3567	  3570	  3572	  3575	  3578	  3582	  3585	  3588	  3590	  3595	  3600	  3607	  3610	  3618
	  3620	  3628	  3638	  3650	  3652	  3655	  3658	  3660	  3663	  3666	  3667	  3677	  3683	  3688     SEQ 0170
	  3695	  3697	  3708	  3712	  3726	  3727	  3745	  3755	  3758	  3759	  3763	  3766	  3790	  3793
	  3794	  3799	  3804	  3811	  3829	  3865	  3877	  3964	  3974	  3978	  3983	  3986	  4011	  4075
	  4078	  4079	  4092	  4096	  4103	  4115	  4116	  4119	  4121	  4123	  4126	  4130	  4132	  4134
	  4138	  4141	  4144	  4147	  4150	  4153	  4156	  4158	  4160	  4162	  4164	  4166	  4168	  4170
	  4172	  4174	  4176	  4178	  4652
JRSTF	   903	   960
JSP	   261	  3813
JSR	    91	    92	    93	    94	    95	    96	    97	    98	   886
JUMP	  2004	  2005
JUMPE	   568	   598	   607	   662	   721	  1157	  1278	  1402	  1635	  1777	  1789	  2350	  2448	  2856
	  3279
JUMPG	  1814	  3962
JUMPGE	   599	   837	   948	  3218
JUMPL	   606
JUMPLE	  3992	  4022
JUMPN	   381	   505	  1651	  2247	  2260	  2398	  2525	  3447	  3704
LALL	     8
LDB	  1629	  1658	  1766	  1770	  2246	  2259	  2336	  2349	  2357	  2447	  2451	  2495	  2524	  3685
	  3770	  3990
LIST	     7
LIT	  4184
LOC	    34	   213	   218	   224	   227	   231
LOOKUP	  3400
LSH	   608	   620	   746	   944	  1138	  1320	  1723	  1732	  1736	  1742	  1767	  1800	  1802	  2317
	  2502	  3004	  3941	  3947	  3952	  3996	  3998
LSHC	   502	   621	  1038	  1051	  1321	  3444
MOVE	   253	   269	   272	   280	   297	   299	   329	   332	   344	   352	   361	   399	   401	   413
	   481	   483	   489	   511	   554	   557	   619	   724	   741	   752	   767	   787	   788	   799
	   804	   846	   854	   871	   874	   878	   884	   886	   947	   949	   955	   959	  1006	  1036
	  1106	  1107	  1114	  1126	  1129	  1155	  1222	  1287	  1289	  1319	  1324	  1378	  1386	  1412
	  1421	  1433	  1481	  1493	  1501	  1564	  1566	  1579	  1588	  1599	  1602	  1615	  1695	  1788
	  1795	  1799	  1819	  1845	  1853	  1898	  1899	  1900	  1901	  1902	  1912	  1915	  1921	  1930
	  1936	  1957	  1962	  1971	  2188	  2194	  2197	  2198	  2216	  2217	  2218	  2229	  2233	  2265
	  2274	  2283	  2289	  2290	  2296	  2297	  2305	  2320	  2326	  2334	  2345	  2353	  2361	  2366
	  2385	  2404	  2408	  2420	  2426	  2453	  2457	  2459	  2461	  2463	  2465	  2468	  2476	  2486
	  2494	  2511	  2514	  2527	  2537	  2546	  2549	  2554	  2598	  2647	  2651	  2662	  2666	  2670
	  2671	  2683	  2695	  2701	  2702	  2722	  2724	  2741	  2743	  2745	  2747	  2749	  2754	  2756
	  2764	  2768	  2772	  2782	  2786	  2814	  2815	  2837	  2843	  2844	  2865	  2873	  2887	  2894
	  2895	  2907	  2915	  2927	  2936	  2941	  2943	  2968	  2979	  2982	  2988	  3106	  3117	  3119
	  3121	  3123	  3134	  3152	  3157	  3219	  3226	  3227	  3248	  3264	  3276	  3303	  3326	  3356
	  3357	  3365	  3370	  3373	  3376	  3389	  3391	  3393	  3395	  3418	  3422	  3426	  3429	  3433
	  3506	  3515	  3522	  3525	  3538	  3541	  3548	  3556	  3604	  3608	  3627	  3648	  3653	  3671
	  3672	  3675	  3702	  3705	  3716	  3720	  3738	  3740	  3744	  3751	  3752	  3791	  3801	  3827
	  3931	  3936	  3945	  4003	  4066	  4107	  4113	  4114	  4115
MOVEI	   285	   290	   292	   294	   307	   312	   316	   320	   330	   338	   342	   367	   369	   373
	   491	   500	   520	   524	   538	   540	   562	   579	   650	   681	   686	   691	   694	   697
	   711	   802	   812	   829	   856	   867	   892	   897	   906	   916	   932	   936	  1005	  1015
	  1016	  1021	  1023	  1048	  1050	  1085	  1121	  1131	  1136	  1231	  1247	  1301	  1334	  1348
	  1358	  1364	  1368	  1371	  1543	  1545	  1554	  1699	  1755	  1791	  1876	  1877	  1882	  1891
	  1948	  2199	  2304	  2321	  2472	  2575	  2581	  2587	  2619	  2624	  2673	  2734	  2804	  2816
	  2880	  2896	  2910	  2920	  3051	  3093	  3110	  3112	  3132	  3165	  3171	  3239	  3254	  3270
	  3304	  3305	  3318	  3327	  3363	  3377	  3452	  3510	  3612	  3633	  3732	  3786	  3788	  3798
	  3802	  3834	  3837	  3855	  3861	  3867	  3872	  3897	  3898	  3899	  3902	  3903	  3904	  3907     SEQ 0171
	  3908	  3909	  3912	  3913	  3915	  3916	  3925	  3929	  3934	  4019	  4059	  4064	  4070	  4084
	  4090	  4094	  4098	  4125	  4137	  4140	  4143	  4146	  4149	  4152	  4155	  4157	  4159	  4161
	  4163	  4165	  4167	  4169	  4171	  4173	  4175	  4177
MOVEM	   254	   291	   293	   295	   321	   336	   387	   400	   402	   409	   614	   626	   627	   665
	   672	   716	   749	   771	   839	   847	   855	   857	   868	   875	   882	   887	   888	   889
	   891	   893	   894	   895	   896	   898	   899	   900	   901	   907	   917	   941	   942	   953
	   988	  1079	  1081	  1288	  1388	  1393	  1476	  1488	  1499	  1519	  1556	  1557	  1563	  1585
	  1598	  1656	  1746	  1750	  1778	  1781	  1805	  1866	  1867	  1868	  1869	  1870	  1893	  1916
	  1924	  1929	  1949	  1963	  2189	  2191	  2222	  2223	  2224	  2270	  2282	  2325	  2338	  2427
	  2443	  2458	  2460	  2462	  2464	  2466	  2551	  2552	  2558	  2561	  2565	  2567	  2678	  2685
	  2696	  2829	  2921	  2947	  2967	  2981	  2991	  3015	  3107	  3145	  3172	  3208	  3223	  3259
	  3260	  3265	  3271	  3277	  3301	  3364	  3366	  3390	  3392	  3394	  3396	  3399	  3423	  3424
	  3507	  3516	  3524	  3542	  3549	  3558	  3678	  3709	  3715	  3719	  3722	  3723	  3724	  3733
	  3739	  3781	  3782	  3787	  3852	  3890	  3891	  3892	  3988
MOVN	   750
MOVNI	  3232	  3954	  3956
MOVNS	  3997
MOVS	  1586	  2332	  3499
MOVSI	   335	   384	   643	   877	   890	  1387	  1392	  2868	  2951	  3144	  3236	  3285	  3289	  3293
	  3523	  4018
MOVSM	   766
MOVSS	  4007	  4008
NOSYM	    37
OPDEF	    81	    82	    83	    84	    85	    86	    87	    88	    89	    91	    92	    93	    94	    95
	    96	    97	    98	   181	   182	   183	   184	   185	   186	   187	   188	   189	   190	   191
	   192	  1992	  1993	  1994	  1995	  1996	  1997	  1998	  1999	  2000	  2001	  2002	  2003	  2004
	  2005
OPEN	  3387
OR	  1739	  1768	  1801	  1803
ORI	  2337
POINT	   554	   557	  1155	  1287	  1629	  1630	  1631	  1632	  1633	  1658	  1659	  1660	  1661	  1766
	  1770	  2121	  2122	  2123	  2234	  2246	  2259	  2283	  2290	  2297	  2336	  2349	  2357	  2367
	  2447	  2451	  2495	  2524	  2814	  2815	  2843	  2873	  2895	  2941	  3303	  3365	  3685	  3990
	  4181
POP	    84	  3075	  3626	  3682	  4061
POPJ	    82
PUSH	    83	  3069	  3605	  3679	  4057
PUSHJ	    81
ROT	   769
ROTC	  1009	  4006
SETO	  1970	  4026
SETOB	   834
SETOM	   263	   276	   328	   334	   388	   548	   552	   633	   638	   676	   709	   726	   765	   985
	   993	  1163	  1185	  1203	  1363	  1414	  1517	  1524	  1525	  1527	  1538	  1555	  1680	  1684
	  1693	  1947	  1985	  2286	  2293	  2414	  2517	  2628	  2716	  2776	  3058	  3063	  3068	  3073
	  3087	  3114	  3138	  3252	  3335	  3338	  3404	  3406	  3577	  3589	  3594	  3810	  4056	  4101
SETZ	   577	  1008	  1290	  1972	  2810	  2973	  4002
SETZB	   578	   628	  1310	  2980	  2989	  3443
SETZM	   255	   256	   260	   270	   271	   296	   343	   396	   403	   501	   531	   547	   551	   553
	   574	   575	   644	   646	   660	   674	   705	   710	   717	   860	   876	  1092	  1094	  1125
	  1154	  1202	  1248	  1250	  1281	  1333	  1407	  1408	  1409	  1410	  1411	  1425	  1437	  1518
	  1529	  1530	  1531	  1532	  1533	  1534	  1553	  1608	  1625	  1668	  1669	  1676	  1696	  1702
	  1756	  1862	  1933	  1965	  1978	  1984	  2193	  2200	  2271	  2272	  2421	  2432	  2433	  2520     SEQ 0172
	  2600	  2640	  2763	  2888	  2922	  2923	  2924	  2926	  2930	  2931	  2932	  2933	  2935	  2942
	  2944	  2978	  3050	  3054	  3133	  3170	  3173	  3237	  3247	  3253	  3323	  3358	  3385	  3386
	  3454	  3517	  3598	  3736	  3737	  3749	  3750	  3812	  4055	  4106	  4111
SIXBIT	   299	   307	   312	   316	   338	   367	   375	   384	   424	   425	   426	   427	   428	   429
	   430	   431	   432	   433	   434	   435	   436	   438	   439	   440	   441	   442	   443	   444
	   445	   446	   447	   448	   449	   450	   524	   538	   650	   681	   686	   691	   697	   802
	   812	   829	   932	   936	  1121	  1301	  1537	  2648	  2743	  2745	  2747	  2749	  2754	  2756
	  2868	  2880	  3093	  3144	  3165	  3285	  3289	  3293	  3334	  3337	  3403	  3405	  3500	  3503
	  3506	  3523	  3539	  3541	  3544	  3548	  3584	  3587	  3592	  4064	  4084	  4090	  4094	  4098
	  4125	  4137	  4140	  4143	  4146	  4149	  4152	  4155	  4157	  4159	  4161	  4163	  4165	  4167
	  4169	  4171	  4173	  4175	  4177	  4407	  4461
SKIPA	   324	   951	  2997
SKIPE	   264	   278	   281	   283	   322	   323	   419	   518	   588	   668	   739	   755	   758	   761
	   778	   794	   819	   849	   851	   913	   925	   983	   992	  1060	  1070	  1095	  1097	  1110
	  1172	  1204	  1228	  1255	  1266	  1329	  1339	  1345	  1349	  1383	  1457	  1502	  1507	  1540
	  1572	  1591	  1716	  1752	  1792	  1809	  1812	  1859	  1871	  1896	  1908	  1917	  1925	  1940
	  1942	  1953	  1958	  1960	  1986	  2253	  2416	  2481	  2504	  2508	  2638	  2656	  2659	  2667
	  2723	  2729	  2834	  2851	  2871	  2884	  3052	  3083	  3130	  3149	  3174	  3189	  3193	  3203
	  3213	  3308	  3432	  3436	  3502	  3532	  3534	  3546	  3554	  3609	  3649	  3651	  3914	  3955
	  3973	  4077
SKIPG	   869	  1143	  2690	  3642	  3870	  3875
SKIPGE	  1589	  3230	  3698
SKIPL	  1874	  3200
SKIPN	   305	   346	   355	   377	   382	   394	   421	   661	   663	   707	   718	   747	   796	   865
	  1040	  1099	  1241	  1275	  1327	  1365	  1558	  1574	  1772	  1787	  1796	  1835	  1839	  1885
	  1910	  1951	  2237	  2490	  2614	  2677	  2684	  2755	  2811	  2838	  2842	  3135	  3153	  3192
	  3215	  3257	  3273	  3298	  3342	  3344	  3353	  3521	  3571	  3606	  3657	  3699	  3864	  3982
	  4074
SOJG	  1053	  1142	  1780	  2824	  3963	  4021
SOJGE	  1725	  1733	  2840	  3155
SOJL	  1130
SOJN	  1018
SOS	  1084	  1872	  2676	  3681	  4067
SOSGE	  3350
SOSL	  3694	  3696
SOSLE	  3347	  3409
SOSN	   926
STATZ	  3413
SUB	  1843	  1848	  2407
SUBI	   605	   610	  1722	  1811	  1813	  1851	  2822	  2955	  3714	  3721	  3987	  3991
SUBTTL	    43	   211	   364	   527	   572	   701	   815	   842	   939	   996	  1198	  1373	  1513	  1581
	  1663	  1855	  1990	  2039	  2184	  3048	  3090	  3168	  3460	  4183	  4475
TITLE	    12
TLC	   971
TLCE	   972
TLNE	   262	   969	   975	  1413	  2266	  2275	  3008	  3072	  3086
TLNN	   731	   745	  3026
TLO	   576	   956	  3040	  3046
TLZ	  2550
TLZE	  3029	  3031
TLZN	  3022
TRC	  3007	  3843
TRCE	  3844                                                                                                             SEQ 0173
TRNE	   725	  1088	  1482	  1494	  1761	  3512	  3530	  3617	  3841	  4025
TRNN	   823	  1422	  1434	  1945	  3858
TRO	   669	   965	  1037	  1475	  1479	  1487	  1491	  1724	  3743
TROA	  3504
TRZ	   667	   743	  1244	  1352	  2564
TRZE	  3725
VAR	  4406
XCT	   950
XLIST	     6
XORM	  4009	  4010