Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/diamon.seq
There are no other files named diamon.seq in the archive.
;DDQDC
SEQ 0001
IDENTIFICATION
--------------
PRODUCT CODE: AH-7144O-DD
DIAGNOSTIC CODE: DDQDC - DIAMON
PRODUCT NAME: DDQDCO0 DECSYSTEM DIAGNOSTIC MONITOR
VERSION: 0.17
DATE RELEASED: APRIL 1980
AUTHOR: JOHN R. KIRCHOFF
MAINTAINED BY: LARGE SYSTEMS DIAGNOSTICS
COPYRIGHT (C) 1975, 1980
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-DDQDC.TXT (DIAMON)
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 LOAD DEVICES
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-DDQDC.TXT (DIAMON)
PAGE 3 SEQ 0003
1.0 ABSTRACT
THE DECSYSTEM DIAGNOSTIC MONITOR IS AN EXEC OR USER MODE
PROGRAM WHICH WILL CALL FROM THE SELECTED LOAD DEVICE IN EXEC
MODE AND THE DISK SYSTEM IN USER MODE AND EXECUTE THE
PDP-10 DIAGNOSTIC PROGRAMS EITHER SINGLY OR AUTOMATICALLY.
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
SEQUENC ING 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 PDP-10 MEMORY.
THE KL10 AND/OR KI10 DIAGNOSTIC MONITOR SPECIAL ROUTINES
OPERATE AS PART OF THE DIAGNOSTIC MONITOR TO PROVIDE
ADDITIONAL KL10 AND/OR KI10 FEATURES.
THESE FEATURES ARE:
KL10 & KI10 - SPECIAL USER MODE
KI10 - MARGIN OPERATION.
PROGRAM CONTAINS ROUTINES FOR:
MARGINNING
USER PAGE MAP SETUP
USER MODE CONTROL
TRAPPED I/O PROCESSING
ADDITIONAL CONTROL SEQUENCING.
MAINDEC-10-DDQDC.TXT (DIAMON)
PAGE 4 SEQ 0004
2.0 REQUIREMENTS
2.1 EQUIPMENT
A DECSYSTEM PDP-10 KL10, KI10 OR KA10 PROCESSOR
MINIMUM OF 32K OF MEMORY.
CONSOLE PROCESSOR (KL10)
CONSOLE TELETYPE
LOAD DEVICE; DISK PACK, DECTAPE, OR CONSOLE LOAD DEVICE (KL10)
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
DISK PACK - LOAD WITH 'BOOTS'
DECTAPE - LOAD WITH 'DTBOOT'
KL10 - LOAD VIA CONSOLE PROCESSOR
USER - "RUN DIAMON"
MAINDEC-10-DDQDC.TXT (DIAMON)
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:
* DIAMON - DECSYSTEM DIAGNOSTIC MONITOR *
B. NEXT YOU ARE REQUESTED TO SELECT THE LOAD DEVICE TO BE USED.
IN USER MODE, THE DISK IS AUTOMATICALLY SELECTED AND
IS THE ONLY ALLOWED LOAD DEVICE.
DEV:T,K,D,V,P -
C. AFTER SELECTION OF THE LOAD DEVICE "DIAMON" WILL
AUTOMATICALLY LOAD "SUBRTN" AND "KLDDT".
MAINDEC-10-DDQDC.TXT (DIAMON)
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
DEVICES;
T=PAPER TAPE, K=KLDCP, D=DTA, V=11DTA, P=DISK PACK
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
R=RESELECT, X=XPN, I=INTERNAL, T=TTY, D=DEVICE
S=SINGLE, F=DIR, L=LIST, G=GO
E. FOLLOWING THIS YOU MAY SELECT AND
RUN YOUR PROGRAMS.
DIAMON CMD -
ALL COMMANDS END WITH A (CR).
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.
MAINDEC-10-DDQDC.TXT (DIAMON)
PAGE 7 SEQ 0007
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".
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 "DIAMON", 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:
DIAMON PASS 000001
DIAMON PASS 000002
ETC.
MAINDEC-10-DDQDC.TXT (DIAMON)
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" UNLESS THE CONSOLE LOAD
DEVICE IS SELECTED AND THEN THE DEFAULT IS ".A10".
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 LOAD DEVICES
A. PAPER TAPE
B. KLDCP - KL10 ONLY, USE KLDCP SELECTED DEVICE
C. D - PDP-10 FORMAT DECTAPE
D. V - PDP-11 FORMAT DECTAPE
E. P - DISK PACK, RP02/3/4/5/6 ON RP10, RH10 OR RH20.
MAINDEC-10-DDQDC.TXT (DIAMON)
PAGE 9 SEQ 0009
WHEN THE DISK PACK IS SELECTED AS THE LOAD DEVICE THE MONITOR
OPERATES FROM THE "DISK:[P,PN] THAT IS SPECIFIED.
THE DEFAULT [P,PN] (PROJECT,PROGRAMMER NUMBER) IS 6,10.
DISK PACK SEARCH WILL BE DONE FROM 'KLAD' & 'DSKA' TO
'DSKO' IF NO DISK IS SPECIFIED.
TO USE THE DEFAULTS TYPE A (CR).
DEFAULTS:
DISK: 'KLAD' & 'DSKA' TO 'DSKO'
[P,PN] 6,10
WHEN THE DECTAPE IS SELECTED AS THE LOAD DEVICE THE MONITOR
WILL REQUEST THE UNIT NUMBER TO BE USED. THE OPERATOR SHOULD
RESPOND WITH A DIGIT 0-7 INDICATING WHICH DECTAPE UNIT
CONTAINS THE PROGRAMS TO BE EXECUTED. WHEN THE UNIT DIGIT
HAS BEEN TYPED, THE MONITOR WILL READ THE DIRECTORY FOR THAT
UNIT.
TO OPERATE IN DECTAPE SEARCH MODE, RESPOND TO THE UNIT SELECTION
QUESTION WITH AN "S". THIS ALLOWS THE MONITOR TO SEARCH THRU
ALL MOUNTED AND SELECTED DECTAPES TO FIND THE PROGRAM.
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-DDQDC.TXT (DIAMON)
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 FOR CLOCK MARGINS -
Y = CLOCK MARGINS
CR = NO
B. TYPE Y OR A FOR SPECIAL USER MODE -
Y = SPECIAL USER MODE
A = SPECIAL USER MODE AFTER FIRST PASS
CR = NO
C. TYPE Y OR A FOR CONCEALED MODE -
Y = CONCEALED MODE
A = ALTERNATE PUBLIC AND CONCEALED MODES
CR = PUBLIC MODE
QUESTION ASKED ONLY IF SPECIAL USER MODE SELECTED.
D. TYPE L,S,I,R FOR VOLTAGE MARGINS -
L = RUN 5 VOLTS AT +-.25V LIMITS
S = SWEPT 5 VOLT MARGINS
I = SPECIFY MARGIN INCREMENT
R = SPECIFY PROCESSOR RACK FOR MARGINS (SWEPT)
CR = NO
IF I IS TYPED THEN:
SPECIFY MARGIN INCREMENT (1 TO 17) -
ONE INCREMENT ='S 21MV
IF R IS TYPED THEN:
SPECIFY RACK (0 TO 37) -
TYPE RACK NUMBER TO BE MARGINED.
E. SET 'MARGIN SELECT' OFF
SET 'MARGIN ENABLE' SWITCH
TYPE ANY CHAR WHEN READY!
SET APPROPRIATE SWITCHES AND TYPE CHAR WHEN READY.
MAINDEC-10-DDQDC.TXT (DIAMON)
PAGE 11 SEQ 0011
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.
B. MARGINS
PROVIDES THE CONTROL NECESSARY TO OPERATE THE KI10 PROGRAMABLE
MARGIN SYSTEM. THE FOLLOWING WAYS OF RUNNING THE MARGIN SYSTEM
ARE PROVIDED:
1. SWEPT MARGINS
THE 5 VOLT POWER SUPPLIES ARE VARIED BY ONE INCREMENT STEPS
(21MV) UP TO AND DOWN TO THE +-.25V LIMITS.
2. LIMITS
MARGINS ARE DONE AT THE +-.25V SETTINGS ONLY.
3. INCREMENT
USER MAY SPECIFY THE MARGIN STEP PER PROGRAM PASS,
I.E. 4 ='S 84 MV STEPS.
4. RACK
RUNS SWEPT MARGINS ON PROCESSOR RACK SPECIFIED.
5. CLOCK MARGINS
SPEEDS UP THE BASIC CLOCK CYCLE BY 10%.
MAINDEC-10-DDQDC.TXT (DIAMON)
PAGE 12 SEQ 0012
5.0 COMMAND LIST FORMAT
A. EACH COMMAND LIST INPUT FILE BEGINS WITH A CARRIAGE RETURN
(CR) AND 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. IF THE PROGRAM NAME
CONTAINS AN EXTENSION IT MUST BE SEPARATED BY A PERIOD
FROM THE PROGRAM NAME. FURTHER THE 'EXT' MUST BE
SPECIFIED.
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.
SAMPLE COMMAND LIST:
NAME PASSES RH SWS ITERATIONS
DEKAA 10 0 1000
DEKAB 1 123456 200
DEKAC 0 000001 1
^Z
MAINDEC-10-DDQDC.TXT (DIAMON)
PAGE 13 SEQ 0013
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 MARGINS ARE SELECTED AND THE 'MARGIN ENABLE' SWITCH IS
NOT SET ON STARTUP THE MARGIN SETUP MESSAGE WILL BE REPEATED.
E. IF DURING A MARGIN RUN THE 'MARGIN SELECT' SWITCH IS RESET,
THE FOLLOWING MESSAGE WILL BE PRINTED WHEN CALLING THE
NEXT PROGRAM AND THE PROGRAM WILL BE RUN NORMALLY.
'MARGIN ENABLE' NOT SET ?
F. 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
G. 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-DDQDC.TXT (DIAMON)
PAGE 14 SEQ 0014
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.
A. NEW FORMAT DIAGNOSTICS
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
DECSYSTEM10 DIAGNOSTIC MONITOR
MAINDEC-10-DDQDC SEQ 0015
VERSION 0.15
APRIL 1980
VERSION 0.15 CORRECTS A PROBLEM WITH MARGINING ON A KI10 AND A PROBLEM
WITH SEARCHING ON DECTAPES.
---------------
VERSION 0.14
FEBRUARY 1978
VERSION 0.14 ADDS ECC CORRECTION TO THE RP04/RP05/RP06 DISK READ
ROUTINES.
---------------
VERSION 0.13
JULY 1977
VERSION 0.13 ADDED USER MODE SELECTION OF "D20MON" INSTEAD OF "DIAMON"
IF RUNNING UNDER "TOPS-20".
------------------- SEQ 0016
VERSION 0.12
FEBRUARY 1977
VERSION 0.12 CORRECTS A PROBLEM WITH NOT CLEAR THE BUFFER USE BITS
WHEN LOADING IN USER MODE.
CORRECTS A PROBLEM WITH "FSELECT" OPERATIONS ON A KL10 WHEN RUNNING
CACHED AND WITH "FSELECT" AND RH CLEAR OPERATIONS RESETTING ALL DRIVES
CONNECTED TO A CONTROLLER AND PROBLEMS WITH THE USE OF 417 TO GET TO
THE RH20 CHANNEL AREA.
ALSO ADDS "KLAD" AS FIRST DEFAULT DISK TO SEARCH FOR WHEN SPECIFIC DISK
IS NOT SPECIFIED.
CHANGES USER MODE TTY INPUT TO LINE MODE AND CORRECTS PROBLEMS WITH
COMMAND LIST OPERATION WHEN DIAGNOSTICS USE THE "FSELECT" OPTION.
--------------------
VERSION 0.11
JUNE 1,1976
VERSION 0.11 ADDS SUPPORT OF PROGRAM LOADING FROM RP05 AND RP06
DISK PACKS.
-----------------
VERSION 0.10
FEBRUARY 26, 1976
VERSION 0.10 CHANGES COMMAND LIST INPUT FORMAT SO THAT
THE EXTENSION IS NO LONGER REQUIRED. ALSO, SOME CODE WAS
MOVED FROM THE DIAMON.MAC FILE TO THE DEVLDR.MAC FILE TO ENABLE
THE MAGMON PROGRAM TO USE DIAMON.MAC AS A COMMON SOURCE.
CHANGES TO KL10 DTE20 SERVICE FOR MULTIPLE DTE20'S.
CORRECTS PROBLEM IN CMD LIST OPERATIONS FOR ".A10" FILES
REV 0.10 MAKES AN EVOLUTIONARY CHANGE FROM PREVIOUS VERSIONS BECAUSE
OF THE MULTIPLE DTE20 SUPPORT ON KL10'S AND TO TIE TOGETHER THE VERSIONS
OF ALL THE SUPPORT PROGRAMS "KLDCP,SUBRTN,KLDDT,DIAMON,MAGMON".
REV 0.10 ALSO DISASSOCIATES THE DEC VERSION NUMBER FROM THE
KL10 HARDWARE REVISION LEVEL.
REV 0.10 WILL OPERATE ON KL10'S AT REV 7, 7A, 8 AND HOPEFULLY ON ALL
FUTURE REVISIONS.
-------------- SEQ 0017
VERSION 2.4
JANUARY 6,1976
VERSION 2.4 PROVIDES LOAD DEVICE TYPE BACK TO "SUBRTN" FOR FSELECT
OPERATIONS. ALSO CHANGES USER LOAD CHANNEL TO 16.
--------------
VERSION 1.4
DECEMBER 17,1975
VERSION 1.4 CORRECTS PROBLEM WITH DEVICE COMMAND LIST PROCESS.
------------
VERSION 0.4
NOVEMBER 17,1975
VERSION 0.4 ADDS 8 BIT READ CAPABILITY FOR PROGRAMS USING "SUBRTN"
AND USER MODE LH SWITCH CONTROL FOR CHAIN MODE.
----------------------------
VERSION 0.3
OCTOBER 31,1975
PREVIOUS VERSIONS NOT ACCOUNTED FOR.
VERSION 0.3 CORRECTS PROBLEMS IN PREVIOUS VERSIONS AND ADDS
DEVICE HANDLING FOR PAPER TAPE, PDP-11 FORMAT DECTAPE, IMPROVED
TELETYPE OPERATIONS WITH THE INCLUSION OF CONTROL C, CONTROL D
AND CONTROL O CAPABILITY.
LINE PRINTER IMPROVED ALSO WITH OPERATOR ACTION REQUESTED IF
THE LINE PRINTER GOES OFF LINE.
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 1
SEQ 0018
DOCUMENT
**************
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^
**************
COPYRIGHT 1980
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASS. 01754
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 2
SEQ 0019
TABLE OF CONTENTS
*******************
45 PARAMETERS
191 CONTROL SECTION
354 RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM
496 COMMAND LIST PROCESSING
541 FLNAME - FILE NAME AND CONTROL INFO INPUT
670 EXECUTE THE INPUT COMMAND LIST
776 EXPANDED COMMAND FORMAT SETUP
917 SPECIAL RUN SEQUENCING
1045 VOLTAGE MARGINNING ROUTINE
1092 SPECIAL USER MODE I/O HANDLER
1177 MESSAGE PRINTER
1378 TELETYPE INPUT
1517 SPECIAL ROUTINES
1569 DEVICE BUFFER PARAMETERS
1584 DEVICE SELECTION
1734 PROGRAM FILE SELECTION
1813 "SUBRTN" PROGRAM FILE READ
1938 LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE
2135 PROGRAM CORE AREA SETUP
2229 KL10 KLDCP MODE LOADER
2275 USER MODE LOADER
2341 PAPER TAPE LOADER
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 3
SEQ 0020
TABLE OF CONTENTS
*******************
2391 DECTAPE LOAD ONLY ROUTINE
2849 DSKLDR DISK PACK LOAD ONLY ROUTINE
3693 STORAGE ASSIGNMENTS
3985 SPECIAL STARTUP MESSAGES AND INITIALIZATION
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 4
SEQ 0021
1 MAINDEC-10-DIAMON (DDQDC)
15 THIS PROGRAM PROVIDES THE PROGRAM LOADING CAPABILITY FOR PDP-10
DIAGNOSTICS. PROVIDES FOR LOADING AND RUNNING SINGLE DIAGNOSTICS OR
CHAIN EXECUTION OF A SERIES OF DIAGNOSTICS.
19 THIS PROGRAM WILL EXECUTE PDP-10 DIAGNOSTICS AND RELIABILITY
PROGRAMS THAT ARE CAPABLE OF BEING RUN UNATTENDED.
RUNS ON KL10, KI10 & KA10 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 KL10 & KI10
AND MARGIN OPERATION FOR KI10.
29 COPYRIGHT 1975, 1976, 1977, 1978, 1980
DIGITAL EQUIPMENT CORPORATION
MARLBORO, MASS. 01752
33 JOHN R. KIRCHOFF
*****************************************************************
45 PARAMETERS
*****************************************************************
47 ACCUMULATORS
63 COMMAND DEFINITIONS
86 DIAGNOSTIC SPECIAL ADDRESSES
104 SPECIAL DIAGNOSTIC START ADDRESSES
116 SPECIAL TOPS20 DEFINITIONS
124 DTE20 EPT PARAMETERS
147 PROCESSOR CONTROL BITS
159 KL10 PROCESSOR BIT ASSIGNMENTS
164 KI10 PROCESSOR BIT ASSIGNMENTS
178 SWITCH ASSIGNMENTS, RH SW'S NOT USED BY CALLED PROG
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 5
SEQ 0022
*****************************************************************
191 CONTROL SECTION
*****************************************************************
195 START - STARTING ADDRESS AND CONTROL FLAGS
213 ONETM1 - STARTUP & PROCESSOR TYPE DETERMINATION
238 SELECT - START/RESTART INITIALIZATION
274 SELX - DIAMON LINKAGE SETUP
288 AUTOMATICALLY LOAD REQUIRED "SUBRTN" AND "KLDDT"
USER - LOAD "SUBUSR" AND "KLDDT"
EXEC - KL10 - LOAD "SUBKL" AND "KLDDT"
EXEC - KA/KI - LOAD "SUBRTN" AND "KLDDT"
319 PROCESS OPERATOR COMMAND
*****************************************************************
354 RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM
*****************************************************************
448 WHAT - IDENTIFY LAST PROGRAM
456 NAMPNT - PRINT FILE NAME AND EXTENSION
467 SIXBP - SIX BIT PRINTER
477 PNT16 - PRINT ASCII CHAR IN AC16
485 CMDHLP, PRINT HELP TEXT
*****************************************************************
496 COMMAND LIST PROCESSING
*****************************************************************
498 STORED - USE INTERNAL COMMAND LIST
504 TTYCMD - TELETYPE INPUT COMMAND LIST
514 DEVCMD - DEVICE COMMAND LIST
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 6
SEQ 0023
*****************************************************************
541 FLNAME - FILE NAME AND CONTROL INFO INPUT
*****************************************************************
550 FLNMLP - INPUT AND PROCESS CHARACTERS
570 FLNAM1 - FILE NAME PROCESS
581 PERIOD - STORE FILE NAME, GO PROCESS EXTENSION
586 FLNAM2 - PROCESS DIGITS
593 TTAB - FIELD SEPARATOR, STORE PREVIOUS FIELD
600 MINUS - SET SPECIAL USER MODE
605 SCSET - SEMICOLON, REST IS COMMENT
610 ZEROAC - ZERO AC'S BEFORE STARTING PROGRAM
622 COMMAND LIST FORMAT
NAME
EXT,,ITERATIONS (BIT 18 SET IF SPEC USER)
PASSES,,SWITCHES
627 CRRTN - CR, STORE COMMAND LIST INFORMATION
*****************************************************************
670 EXECUTE THE INPUT COMMAND LIST
*****************************************************************
672 EX - INITIALIZATION
682 EX1 - START PASS
696 EX2 - PRINT NAME AND LOAD PROGRAM
704 EX3 - SETUP PROGRAM OPERATION PARAMETERS
737 RERUN1 - DISPATCH TO EXPANDED SETUP
741 RUN - PROGRAM RUN, CLEAR PROCESSOR FOR NEXT
752 RET - ANY MORE PROGRAMS ON COMMAND LIST
770 EX4 - ALL FINISHED
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 7
SEQ 0024
*****************************************************************
776 EXPANDED COMMAND FORMAT SETUP
*****************************************************************
778 CXPND - EXPANDED ALLOWED
791 STRD2 - CLOCK MARGINS
804 STRD3 - SPECIAL USER MODE
816 STRD4 - CONCEALED, PUBLIC OR ALTERNATE
839 STRD5 - VOLTAGE MARGINS
908 MUUOER & USRERR - USER ERROR REPORTING
*****************************************************************
917 SPECIAL RUN SEQUENCING
*****************************************************************
919 XPNRUN - DETERMINE AND SETUP FOR SPECIAL OPERATIONS
950 USRRUN - SPECIAL USER MODE RUN SEQUENCING
977 SETUP PAGE MAP AND TRAPS
1010 USSR1 - PROGRAM COMPLETION CONTROL
*****************************************************************
1045 VOLTAGE MARGINNING ROUTINE
*****************************************************************
*****************************************************************
1092 SPECIAL USER MODE I/O HANDLER
*****************************************************************
1157 SAXPN - STANDALONE EXPANDED RUNNING
SPECIAL USER AND/OR MARGINS
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 8
SEQ 0025
*****************************************************************
1177 MESSAGE PRINTER
*****************************************************************
1179 PNTMSG - PRINT SIXBIT MESSAGES
1213 PNTAL - PRINT ASCII MESSAGES
1227 PNTOCT - PRINT OCTAL NUMBERS
1237 PNTDEC - PRINT DECIMAL NUMBERS
1247 PRINT - PRINT AN ASCII CHARACTER
1296 MISCELLANEOUS
1314 PNTLPT - LINE PRINTER DRIVER
1328 LPTOFL - LINE PRINTER OFF-LINE
1351 TTYCHK - TELETYPE CHECK ROUTINE
*****************************************************************
1378 TELETYPE INPUT
*****************************************************************
1380 TTICHR - INPUT A TELETYPE CHARACTER
1392 TTYINX - CHECK FOR SPECIAL CHAR PROCESS
1400 TTYIND - TRANSFER TO DDT
1412 TTYINA - COMPLETE CHARACTER PROCESS
1433 TTYKL - KL10 CHARACTER INPUT
1441 TTYINU - USER MODE CHARACTER INPUT
1449 USER MODE LH SWITCHES FOR CHAIN OPERATION
1459 TTIOCT - TELETYPE OCTAL NUMBER INPUT
1481 READ - COMMAND FILE READ PROCESS
1505 TTALTM - ALTMODE PROCESS
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 9
SEQ 0026
*****************************************************************
1517 SPECIAL ROUTINES
*****************************************************************
1519 SWITCH - READ CONSOLE SWITCHES
1533 DTEINT - KL10 DTE20 INITIALIZATION
1549 $DTEXX - KL10 DTE20 COMMUNICATIONS
1560 DTECLR - KL10 DTE20 TELETYPE CLEAR
*****************************************************************
1569 DEVICE BUFFER PARAMETERS
*****************************************************************
*****************************************************************
1584 DEVICE SELECTION
*****************************************************************
1623 DTUNIT - SELECT DTA UNIT, READ IN DIRECTORY
1651 PTAPE - PAPER TAPE SELECTION
1656 PPNIN - DISK AND PROJ PROGRAMMER SPECIFICATION
1712 LIST1 - LIST FILES
1719 DIRECT - PRINT DIRECTORY
*****************************************************************
1734 PROGRAM FILE SELECTION
*****************************************************************
1736 FSELECT - "SUBRTN" FILE SELECTION
1743 DIAGLD - "DIAMON" FILE SELECTION
1783 RFILE - FILE FOUND AND SETUP
1793 FSELF - "SUBRTN" FILE FOUND RETURN
1802 NFERR - FILE NOT FOUND
1809 FSELNF - "SUBRTN" FILE NOT FOUND
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 10
SEQ 0027
*****************************************************************
1813 "SUBRTN" PROGRAM FILE READ
*****************************************************************
1815 FREAD - DETERMINE READ TYPE
1826 FREAD3 - CHARACTER READ
1843 FREAD2 - END OF FILE
1850 FRD36 - 36 BIT WORD READ
1859 LDACHR - ASCII CHARACTER PROCESS
1896 FRD8 - 8 BIT WORD READ
*****************************************************************
1938 LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE
*****************************************************************
1940 PDPROC - FORMAT CONTROL PROCESS
1975 LDCNV - CONVERT ASCIIZED BACK INTO BITS
2023 LDEOL - END OF LINE, CHECKSUM LOAD LINE
2039 LDTEN - CREATE LOAD ADDRESS AND WORD COUNT
2050 LDTENZ - CLEAR TEN CORE, JOB START TO JOB FIRST FREE
2060 LDTEN1 - TRANSFER TEN WORDS TO MEMORY
2089 LDDONE - COMPLETED, GO TO START ROUTINE
2093 LDCMNT - LOAD FILE COMMENT LINE
2122 CMNPNT - PRINT COMMENT LINE
*****************************************************************
2135 PROGRAM CORE AREA SETUP
*****************************************************************
2143 PRGCOR - SETUP CORE ZEROING FOR ".SAV" FILES
2204 CLRCOR - CLEAR CORE FOR DIAGNOSTIC SEGMENT
CLEARS CORE FROM 'JOBSA' TO 'JOBFF'
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 11
SEQ 0028
*****************************************************************
2229 KL10 KLDCP MODE LOADER
*****************************************************************
2231 KLDCPL - LOOKUP FILE USING THE CONSOLE LOAD DEVICES
2257 KLDCPW - KLDCP READ WORD
2266 KLDCP8 - KLDCP READ 8 BIT BYTE
*****************************************************************
2275 USER MODE LOADER
*****************************************************************
2277 USERLD - LOOKUP FILE ON THE USERS DISK
2317 URWD - USER MODE READ WORD
2331 USRINT - USER MODE INIT, SETUP MINIMUM OF 32K OF CORE
*****************************************************************
2341 PAPER TAPE LOADER
*****************************************************************
*****************************************************************
2391 DECTAPE LOAD ONLY ROUTINE
*****************************************************************
2393 DECTAPE CONTROL BITS
2411 ACCUMULATOR ASSIGNMENTS
2427 DTALD - INITIAL ENTRY TO LOAD TAPE
2475 NF - NOT FOUND DIRECTORY SEARCH SEQUENCE
2492 PROCBK - READ A BLOCK OF TAPE
2512 SEARCH - FIND THE BLOCK
2536 EXTCK - FILE EXTENSION CHECK
2545 ERR - DECTAPE ERROR ROUTINES
2567 LDDIR - READ TAPE DIRECTORY
2578 FDIR - PRINT DIRECTORY OF DECTAPE
2615 DTBLKC - COMPUTE NUMBER OF BLOCKS USED PER FILE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 12
SEQ 0029
2631 LSTPNT - LIST FILES (ASCIZ)
2649 VDTALD - LOAD FROM PDP-11 FORMAT DECTAPE
2671 VDIR - PRINT PDP-11 FORMAT DECTAPE DIRECTORY
2744 GTVDWD - GET WORD FROM PDP-11 DIRECTORY
CALL WITH INDECIES IN VT & VC SUCH THAT ADDING THEM GIVES
NUMBER OF PDP-11 WORDS INTO DESIRED DIRECTORY
2757 D11CHR - DECTAPE PDP-11 FORMAT CHARACTER READ
2773 D11WD - DECTAPE PDP-11 FORMAT WORD READ
2812 R5VSIX - RAD50 CONVERTER
*****************************************************************
2849 DSKLDR DISK PACK LOAD ONLY ROUTINE
*****************************************************************
2851 I/O DEVICE PARAMETERS
2879 FLAGS, LEFT HALF OF F
2884 FLAGS, RIGHT HALF OF F
2890 SYSTEM PARAMETERS, MUST AGREE WITH MONITOR
2915 ACCUMULATORS
2930 DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK
2939 RFILE1 - HERE WHEN FILE FOUND
2958 RWORD - READ DATA WORD FROM FILE
2975 RDDATA - READ NEXT BLOCK OF DATA INTO DBUF
3000 STARTQ - HERE ON TRANSFER WORD
3029 LOOK - SUBROUTINE TO LOOK FOR FILE
3094 SETRIB - SUBROUTINE TO SETUP A RIB BLOCK AND CHECK IT
3110 DSKDIR - DISK PACK DIRECTORY ROUTINE
3142 SRCHFD - SUBROUTINE TO SEARCH A UFD OR MFD FOR FILE & EXT
RIB LBN IN STR OF THE FD IN A
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 13
SEQ 0030
3171 LBNSEL - SUBROUTINE TO SELECT CORRECT UNIT FROM LBN
3191 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
3229 FNDUNI - SUBROUTINE TO FIND A PARTICULAR LOGICAL UNIT IN THE SYSTEM
ARGUMENTS ARE: STRUCTURE NAME (SIXBIT) IN STRUCT
: UNIT NUMBER WITHIN STRUCTURE IN SLUNIT
SKIP RETURN IF FOUND
3258 HOME - SUBROUTINE TO DETERMINE WHETHER A UNIT EXISTS, AND IF SO,
READ ITS HOME BLOCK INTO THE HOME BUFFER
CALL SEQUENCE:
K/ CONTROLLER TYPE INDEX
N/ UNIT NUMBER, 0-7
GO HOME
NOT THERE RETURN
OK RETURN
3267 AT THIS POINT, ANY NEEDED UNIT PARAMETERS ARE SAVED
SUCH AS: R.TYPE & THE HOME BLOCK IN HBUF
3303 DPCINI - INITIALIZATION FOR PACKS
3337 DSKBLK - ROUTINE TO READ A BLOCK FROM THE DEVICE AND UNIT IN
CTYPE & CUNIT INTO THE BUFFER AT (A)+1, FROM LOGICAL BLOCK
NUMBER IN LBN SKIP RETURN IF SUCCESSFUL, NON-SKIP IF ANY
HARDWARE ERRORS
3361 UNIINI - INITIALIZE CONTROLLER ROUTINES
3382 SETCHN - SUBROUTINE TO SETUP CHANNEL, THEN DISPATCH TO DEVICE
DEPENDENT ROUTINE
CALL: MOVEI A, ABS ADR OF FIRST DATA WORD-1
HRRI C, ABS ADR OF FIRST WORD IN DISPATCH TABLE
GO SETCHN
ERROR RETURN
OK RETURN
3429 DHYINI - INITIALIZATION FOR RH10/RP04/5/6
3456 DHXINI - RH20/RP04/RP05/RP06 INITIALIZATION
3468 IODTI - RH10/RH20 DATAO/DATAI ROUTINES
3476 DHXRED - READ ROUTINE FOR RH10/RP04/5/6 & RH20/RP04/5/6
ENTRY: A/ LOGICAL BLOCK NUMBER
N/ DRIVE NUMBER
EXIT: +1 FOR ERROR
+2 SUCESSFUL
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^ DECDOC VER 00.24 23-APR-80 13:50:54 PAGE 14
SEQ 0031
3514 SUBROUTINE TO ATTEMPT TO DO ECC CORRECTION
3516 GOT HERE BECAUSE WE GOT A COMPOSITE ERROR IN THE DRIVE, IF
DCK=1 AND ECH=0 WE CAN CORRECT USING ECC. THIS ROUTINE LOOKS
IN "BUFS" FOR BUFFER STARTING ADDRESS. "BUFS" IS SET UP IN THE
"SETCHN" ROUTINE.
CALL SEQ:
GO TRYECC ;CALL THE ROUTINE
RTN+1 ;CAN'T CORRECT
RTN+2 ;DATA HAS BEEN CORRECTED IN MEMORY
3564 DPCRED - READ ROUTINE FOR THE DISK PACKS
3591 DPCWAT - SUBROUTINE TO WAIT FOR I/O AND CHECK ERRORS
3619 ERROR - ERROR REPORTING
3648 NFERR1 - PROGRAM NOT FOUND ERROR
3655 ERROR REPORT MESSAGES
*****************************************************************
3693 STORAGE ASSIGNMENTS
*****************************************************************
*****************************************************************
3985 SPECIAL STARTUP MESSAGES AND INITIALIZATION
*****************************************************************
3987 HEADER
4010 HELP
4123 TYBAUD - COMPUTE CR & LF FILLERS REQUIRED FOR DIFFERENT BAUD RATES
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 1
DIAMON MAC 23-Apr-80 13:27 DEVICE BUFFER PARAMETERS SEQ 0032
1 ;*MAINDEC-10-DIAMON (DDQDC)
2
3 000015 DECVER=015
4 000000 MCNVER=000
5
6 XLIST
7 LIST
8 LALL
9
10 NAME \MCNVER,\DECVER^
11
12 TITLE DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 ^
13
14
15 ;*THIS PROGRAM PROVIDES THE PROGRAM LOADING CAPABILITY FOR PDP-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 PDP-10 DIAGNOSTICS AND RELIABILITY
20 ;*PROGRAMS THAT ARE CAPABLE OF BEING RUN UNATTENDED.
21 ;*RUNS ON KL10, KI10 & KA10 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 KL10 & KI10
27 ;*AND MARGIN OPERATION FOR KI10.
28
29 ;*COPYRIGHT 1975, 1976, 1977, 1978, 1980
30 ;*DIGITAL EQUIPMENT CORPORATION
31 ;*MARLBORO, MASS. 01752
32
33 ;*JOHN R. KIRCHOFF
34
35 000137 LOC 137
36 000137 000000 000015 MCNVER,,DECVER
37
38 NOSYM
39
40
41 ;ASSEMBLE AS FOLLOWS:
42 ; DIAMON.MAC,DEVLDR.MAC
43
44 026770 INLEND=26770 ;COMMAND LIST END ADDRESS
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 2
DIAMON MAC 23-Apr-80 13:27 PARAMETERS SEQ 0033
45 SUBTTL PARAMETERS
46
47 ;*ACCUMULATORS
48
49 000005 DPNTR= 5 ;DISK CMD LIST INPUT POINTER
50 000006 LET= 6 ;LETTERS TYPIN FLAG
51 000007 NAM= 7 ;NAME GENERATION AC'S
52 000010 NAM1= 10
53 000011 NAM2= 11
54 000012 DIGIT= 12 ;DIGIT GENERATION AC'S
55 000013 DIGITA= 13
56 000014 DIGIT1= 14
57 000015 DIGIT2= 15
58 000016 IP= 16 ;COMMAND INDEX POINTER
59 000017 P= 17 ;PUSHDOWN POINTER
60
61 000016 LDCHN= 16 ;USER LOAD CHANNEL
62
63 ;*COMMAND DEFINITIONS
64
65 000120 JOBSA= 120 ;JOB STARTING ADDRESS
66 000121 JOBFF= 121 ;JOB FIRST FREE ADDRESS
67 000044 JOBREL= 44 ;JOB HIGHEST RELATIVE ADDRESS
68 027772 FSELNK= 27772 ;FILE SELECT LINK
69 027773 FRDLNK= 27773 ;FILE READ LINK
70 027774 LDLNK= 27774 ;LOAD LINK
71 027775 DDTLNK= 27775 ;DDT LINK
72 027776 MODLNK= 27776 ;MODE CHECK LINK
73 027777 SUBLNK= 27777 ;SUBROUTINE LINK
74
75 000476 CHNCMD= 476 ;CHANNEL COMMAND LIST
76
77 260740 000000 OPDEF GO [PUSHJ P,0]
78 263740 000000 OPDEF RTN [POPJ P,]
79 261740 000000 OPDEF PUT [PUSH P,0]
80 262740 000000 OPDEF GET [POP P,0]
81 260740 021426 OPDEF PNTMSG [GO $PSIX]
82 260740 021462 OPDEF PNTAL [GO TOUT]
83 260740 021673 OPDEF TTICHR [GO TTYIN]
84 260740 021765 OPDEF TTIOCT [GO TTYOCT]
85 260740 022043 OPDEF SWITCH [GO $SWITCH]
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 3
DIAMON MAC 23-Apr-80 13:27 PARAMETERS SEQ 0034
86 ;*DIAGNOSTIC SPECIAL ADDRESSES
87
88 001005 SUBRTN= 1005 ;"SUBRTN" IDENTIFICATION WORD
89 030000 DIAGNOS=30000 ;DIAGNOSTIC START ADDRESS
90 030002 DIAGMN= 30002 ;PROG START ADDRESS
91 030012 RETURN= 30012 ;RETURN ADR STORAGE
92 030031 $EMODE= 30031 ;EXEC ALLOWED
93 030032 $UMODE= 30032 ;USER ALLOWED
94 030024 ITRCNT= 30024 ;PROG ITERATIONS
95 030043 MONCTL= 30043 ;DIAG MON CONTROL FLAG
96 030022 RANDBS= 30022 ;PROG RANDOM BASE
97 030042 MONFLG= 30042 ;SPECIAL USER CONTROL FLAG
98 030044 MONTEN= 30044 ;LOADED BY DIAMON FLAG
99 030055 MARGIN= 30055 ;KI10 MARGIN WORD
100 010000 KLDDT= 10000 ;KLDDT PROGRAM START ADDRESS
101
102 020000 .LOC= 20000 ;STARTING ADDRESS
103
104 ;*SPECIAL DIAGNOSTIC START ADDRESSES
105
106 030004 SFSTRT= 30004 ;SPECIAL FEATURE START
107 030005 PFSTRT= 30005 ;POWER FAIL RESTART
108 030006 REENTR= 30006 ;PROGRAM REENTER START
109 030007 DDT= 30007 ;DDT START
110 030013 START1= 30013 ;START 1
111 030014 START2= 30014 ;START 2
112 030015 START3= 30015 ;START 3
113 030016 START4= 30016 ;START 4
114 030017 START5= 30017 ;START 5
115
116 ;*SPECIAL TOPS20 DEFINITIONS
117
118 100000 000000 GJ%OLD= 1B2
119 000001 000000 GJ%SHT= 1B17
120 400000 .FHSLF= 400000
121 104000 000147 OPDEF RESET [104000,,147]
122 104000 000020 OPDEF GTJFN [104000,,20]
123 104000 000200 OPDEF GETT20 [104000,,200]
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 4
DIAMON MAC 23-Apr-80 13:27 PARAMETERS SEQ 0035
124 ;*DTE20 EPT PARAMETERS
125
126 000440 $STD= 440 ;PDP-10 DIAGNOSTIC START ADDRESS
127 000441 $DDT= 441 ;PDP-10 DDT START ADDRESS
128 000442 $STL= 442 ;PDP-10 LOADER START ADDRESS
129 000443 $STM= 443 ;PDP-10 MONITOR START ADDRESS
130
131 000444 $DTFLG= 444 ;OPERATION COMPLETE FLAG
132 000445 $DTCLK= 445 ;CLOCK INTERRUPT FLAG
133 000446 $DTCI= 446 ;CLOCK INTERRUPT INSTRUCTION
134 000447 $DTT11= 447 ;10 TO 11 ARGUMENT
135 000450 $DTF11= 450 ;10 FROM 11 ARGUMENT
136 000451 $DTCMD= 451 ;TO 11 COMMAND WORD
137 000452 $DTSEQ= 452 ;OPERATION SEQUENCE NUMBER
138 000453 $DTOPR= 453 ;OPERATIONAL DTE #
139 000454 $DTCHR= 454 ;LAST TYPED CHARACTER
140 000455 $DTMTD= 455 ;MONITOR TTY OUTPUT COMPLETE FLAG
141 000456 $DTMTI= 456 ;MONITOR TTY INPUT FLAG
142 000457 $DTSWR= 457 ;10 SWITCH REGISTER
143
144 000442 LOC 442
145 000442 254 00 0 00 020000 JRST START
146
147 ;*PROCESSOR CONTROL BITS
148
149 200000 IOCLR= 200000 ;APR, I/O CLEAR
150 010000 PICLR= 10000 ;PI, PI CLEAR
151 010000 USERF= 10000 ;USER MODE FLAG
152
153 020000 TRPENB= 020000 ;ENABLE TRAPS
154 010000 USERF= 10000 ;USER MODE FLAG
155 000010 PAG= 010 ;PAGING I/O DEVICE CODE
156 000424 MUUO= 424 ;MUUO STORAGE
157 000425 MUUOPC= 425 ;C(PC) OF MUUO STORAGE
158 017000 UPMP= 17000 ;USER PAGE MAP PAGE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 5
DIAMON MAC 23-Apr-80 13:27 PARAMETERS SEQ 0036
159 ;*KL10 PROCESSOR BIT ASSIGNMENTS
160
161 000200 DTE= 200 ;DTE20 DEVICE CODE
162 140000 LLDUSB= 140000 ;LOAD KL10 USER BASE REGISTER
163
164 ;*KI10 PROCESSOR BIT ASSIGNMENTS
165
166 400000 LDEXCB= 400000 ;LOAD EXEC BASE REGISTER
167 400000 LDUSRB= 400000 ;LOAD USER BASE REGISTER
168 040000 SMLUSR= 040000 ;SMALL USER
169 020000 USRCMP= 020000 ;USER COMPARE
170 002000 IMGNOF= 2000 ;VOLTAGE MARGINS OFF
171 001000 IMGNON= 1000 ;VOLTAGE MARGINS ON
172 010000 ISPDOF= 10000 ;SPEED MARGINS OFF
173 002000 IMGINM= 2000 ;MARGIN SWITCH
174 004000 ISPDON= 4000 ;SPEED MARGINS ON
175 000031 VOLT5= 31 ;MARGIN 5 VOLT SETTING
176 000014 VOLTLM= ^D12 ;MARGIN +- LIMITS
177
178 ;*SWITCH ASSIGNMENTS, RH SW'S NOT USED BY CALLED PROG
179
180 020000 LPTSW= 20000 ;SW 4, PRINT ON LPT
181 000400 RELIAB= 400 ;SW 9, RELIABILITY MODE
182 000004 CHAIN= 4 ;SW 15, INHIBIT PROGRAM TITLE PRINT
183
184 400000 XPAND= 400000 ;SW 18, EXPANDED CONTROL SEQUENCING
185
186 DEFINE MSG (ARG),<[SIXBIT\ARG'_\]>
187
188 DEFINE PMSG (ARG),<
189 MOVEI [SIXBIT\ARG'_\]
190 PNTMSG>
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 6
DIAMON MAC 23-Apr-80 13:27 CONTROL SECTION SEQ 0037
191 SUBTTL CONTROL SECTION
192
193 020000 LOC .LOC
194
195 ;*START - STARTING ADDRESS AND CONTROL FLAGS
196
197 020000 254 00 0 00 020045 START: JRST SELECT
198 020001 254 00 0 00 020646 RESTRT: JRST RUN
199 020002 254 00 0 00 020332 TITLE: JRST WHAT
200 020003 254 00 0 00 020645 RERUN: JRST RERUN1
201 020004 254 00 0 00 020017 ONETIM: JRST ONETM1
202 020005 000000 000000 ITERAT: 0
203 020006 000000 000000 USER: 0
204 020007 000000 000000 CONSW: 0 ;USER MODE SWITCHES
205 020010 000000 000000 KLFLG: 0
206 020011 000000 000000 KAIFLG: 0
207 020012 000000 000000 SUSERF: 0
208 020013 000000 000000 PASS: 0
209 020014 000000 000000 ONCE: 0
210 020015 000000 000000 RANBAS: 0
211 020016 000000 000000 TTYSPD: 0 ;TTY BAUD RATE
212
213 ;*ONETM1 - STARTUP & PROCESSOR TYPE DETERMINATION
214
215 020017 200 00 0 00 000044 ONETM1: MOVE JOBREL ;SAVE "DIAMON" MAX SIZE
216 020020 202 00 0 00 025552 MOVEM SVJBREL#
217 020021 265 00 0 00 020022 JSP 0,.+1 ;USER MODE ?
218 020022 607 00 0 00 010000 TLNN 0,USERF
219 020023 254 00 0 00 020045 JRST SELECT ;NO, EXEC
220 020024 200 00 0 00 025134 MOVE [112,,11]
221 020025 047 00 0 00 000041 GETTAB ;GET MONITOR TYPE ID
222 020026 254 00 0 00 020045 JRST SELECT ;OOP'S, CAN'T TELL - USE DIAMON
223 020027 302 00 0 00 040000 CAIE 40000 ;TOPS20 ?
224 020030 254 00 0 00 020045 JRST SELECT ;TOPS10
225
226 020031 515 01 0 00 100001 HRLZI 1,(GJ%OLD!GJ%SHT)
227 020032 561 02 0 00 025135 HRROI 2,[ASCIZ/D20MON.EXE/]
228 020033 104 00 0 00 000020 GTJFN ;FIND FILE
229 020034 254 00 0 00 020045 JRST SELECT ;CAN'T FIND D20MON - USE DIAMON
230 020035 553 00 0 00 000001 HRRZS 1
231 020036 661 01 0 00 400000 TLO 1,.FHSLF
232 020037 400 02 0 00 000000 SETZ 2,
233 020040 200 03 0 00 025140 MOVE 3,[GETT20] ;PUT THIS IN AC'S SO CAN OVERWRITE CORE
234 020041 200 04 0 00 025141 MOVE 4,[RESET]
235 020042 200 05 0 00 025142 MOVE 5,[HRRZ 120]
236 020043 200 06 0 00 025143 MOVE 6,[JRST @0]
237 020044 254 00 0 00 000003 JRST 3 ;GO LOAD "D20MON"
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 7
DIAMON MAC 23-Apr-80 13:27 CONTROL SECTION SEQ 0038
238 ;*SELECT - START/RESTART INITIALIZATION
239
240 020045 402 00 0 00 020006 SELECT: SETZM USER
241 020046 265 00 0 00 020047 JSP 0,.+1
242 020047 603 00 0 00 010000 TLNE 0,USERF
243 020050 476 00 0 00 020006 SETOM USER ;USER MODE
244 020051 332 00 0 00 020006 SKIPE USER
245 020052 254 00 0 00 020055 JRST .+3
246 020053 7 004 20 0 00 010000 CONO PI,PICLR
247 020054 7 000 20 0 00 200000 CONO APR,IOCLR
248 020055 200 17 0 00 025144 MOVE P,[-40,,PLIST]
249 020056 402 00 0 00 020010 SETZM KLFLG
250 020057 402 00 0 00 020011 SETZM KAIFLG
251 020060 200 01 0 00 025145 MOVE 1,[1,,1]
252 020061 251 01 0 00 000001 BLT 1,1
253 020062 312 01 0 00 025145 CAME 1,[1,,1] ;BLT CHANGES AC ON KL10
254 020063 476 00 0 00 020010 SETOM KLFLG
255 020064 211 01 0 00 000001 MOVNI 1,1
256 020065 253 01 0 00 020066 AOBJN 1,.+1
257 020066 336 00 0 00 000001 SKIPN 1 ;KA10 IF (AC) = 1,,0
258 020067 476 00 0 00 020011 SETOM KAIFLG ;KI10 IF (AC) = 0,,0
259 020070 332 00 0 00 020010 SKIPE KLFLG
260 020071 260 17 0 00 022055 GO DTEINT ;KL10, INIT DTE20
261 020072 332 00 0 00 020006 SKIPE USER
262 020073 260 17 0 00 023174 GO USRINT ;USER INITIALIZATION
263 020074 200 00 0 00 025562 MOVE PGNAME
264 020075 332 00 0 00 020006 SKIPE USER
265 020076 047 00 0 00 000043 SETNAM ;USER, SET NAME BACK
266 020077 332 00 0 00 020014 SKIPE ONCE
267 020100 254 00 0 00 020106 JRST SELX ;NOT FIRST TIME
268 020101 336 00 0 00 020010 SKIPN KLFLG
269 020102 260 17 0 00 026147 GO TYBAUD ;KA/KI, COMPUTE BAUD RATE
270 020103 201 00 0 00 025755 MOVEI HEADER
271 020104 260 17 0 00 021462 PNTAL ;PRINT HEADER
272 020105 260 17 0 00 022111 GO DEVSEL ;SELECT LOAD DEVICE
273
274 ;*SELX - DIAMON LINKAGE SETUP
275
276 020106 201 00 0 00 030001 SELX: MOVEI 30001 ;SETUP $START AS
277 020107 202 00 0 00 027774 MOVEM 27774 ;LOAD LINK
278 020110 201 00 0 00 022312 MOVEI FSELECT ;SETUP FILE SELECT LINK
279 020111 202 00 0 00 027772 MOVEM FSELNK
280 020112 201 00 0 00 022400 MOVEI FREAD ;SETUP FILE READ LINK
281 020113 202 00 0 00 027773 MOVEM FRDLNK
282 020114 402 00 0 00 025623 SETZM PGMGO
283 020115 200 00 0 00 025146 MOVE [PGMGO,,PGMGO+1]
284 020116 251 00 0 00 025643 BLT RACKF
285 020117 200 00 0 00 025147 MOVE [SIXBIT/SUBRTN/]
286 020120 316 00 0 00 001005 CAMN SUBRTN ;IS "SUBRTN" LOADED ?
287 020121 254 00 0 00 020150 JRST SELX1 ;YES
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 8
DIAMON MAC 23-Apr-80 13:27 CONTROL SECTION SEQ 0039
288 ;*AUTOMATICALLY LOAD REQUIRED "SUBRTN" AND "KLDDT"
289 ;* USER - LOAD "SUBUSR" AND "KLDDT"
290 ;* EXEC - KL10 - LOAD "SUBKL" AND "KLDDT"
291 ;* EXEC - KA/KI - LOAD "SUBRTN" AND "KLDDT"
292
293 020122 336 00 0 00 020006 SKIPN USER
294 020123 254 00 0 00 020130 JRST SELX4 ;EXEC
295 MOVEI IP,[SIXBIT/SUBUSR/
296 020124 201 16 0 00 025150 0]
297 020125 260 17 0 00 022316 GO DIAGLD-5 ;DON'T REPORT CAN'T FIND
298 020126 254 00 0 00 020136 JRST SELX3 ;TRY "SUBRTN" THEN
299 020127 254 00 0 00 020141 JRST SELX2
300 020130 336 00 0 00 020010 SELX4: SKIPN KLFLG
301 020131 254 00 0 00 020136 JRST SELX3 ;NOT KL-10
302 MOVEI IP,[SIXBIT/SUBKL/
303 020132 201 16 0 00 025152 0]
304 020133 260 17 0 00 022316 GO DIAGLD-5 ;DON'T REPORT CAN'T FIND
305 020134 254 00 0 00 020136 JRST .+2 ;TRY "SUBRTN" THEN
306 020135 254 00 0 00 020141 JRST SELX2
307 SELX3: MOVEI IP,[SIXBIT/SUBRTN/
308 020136 201 16 0 00 025154 0]
309 020137 260 17 0 00 022321 GO DIAGLD-2 ;NO, LOAD IT THEN
310 020140 254 00 0 00 020150 JRST SELX1 ;CAN'T FIND, ALREADY REPORTED
311 SELX2: MOVEI IP,[SIXBIT/KLDDT/
312 020141 201 16 0 00 025156 0]
313 020142 260 17 0 00 022321 GO DIAGLD-2 ;LOAD DDT ALSO
314 020143 254 00 0 00 020150 JRST SELX1
315 020144 201 00 0 00 000441 MOVEI $DDT
316 020145 202 00 0 00 000074 MOVEM 74 ;SET DDT START ADDRESS
317 020146 332 00 0 00 020006 SKIPE USER
318 020147 047 00 0 00 000002 SETDDT ;SET USER DDT START ADDRESS
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 9
DIAMON MAC 23-Apr-80 13:27 CONTROL SECTION SEQ 0040
319 ;*PROCESS OPERATOR COMMAND
320
321 020150 476 00 0 00 020014 SELX1: SETOM ONCE
322 020151 200 17 0 00 025144 MOVE P,[-40,,PLIST]
323 020152 201 16 0 00 025674 MOVEI IP,SELSTR
324 020153 260 17 0 00 021567 GO CRLF1 ;TYPE A CARRIAGE AND LINE FEED
325 020154 200 01 0 00 025562 MOVE A,PGNAME ;GET PROGRAM NAME
326 020155 260 17 0 00 020347 GO SIXBP ;PRINT IT
327 PMSG < CMD - >^
328 020156 201 00 0 00 025160 MOVEI [SIXBIT\ CMD - _\]
329 020157 260 17 0 00 021426 PNTMSG^
330 020160 260 17 0 00 020432 GO FLNAME ;GET COMMAND OR FILE NAME
331 020161 255 00 0 00 000000 JFCL
332 020162 201 16 0 00 025674 MOVEI IP,SELSTR
333 020163 402 00 0 00 000001 SETZM 1
334 020164 200 00 0 16 000000 MOVE (IP)
335
336 020165 336 00 0 01 020251 CMDLP: SKIPN CMDLST(1) ;CHECK FOR SPECIAL COMMANDS
337 020166 344 01 0 00 020174 AOJA 1,CMDLP1 ;NOT IN FIRST PART OF LIST
338 020167 316 00 0 01 020251 CAMN CMDLST(1)
339 020170 254 00 0 00 020172 JRST CMDEX ;FOUND
340 020171 344 01 0 00 020165 AOJA 1,CMDLP
341
342 020172 200 00 0 01 020302 CMDEX: MOVE 0,CMDADR(1) ;GET START ADDRESS
343 020173 254 00 1 00 000000 JRST @0 ;GO TO COMMAND ROUTINE
344
345 020174 336 00 0 01 020251 CMDLP1: SKIPN CMDLST(1) ;SPECIAL START COMMANDS
346 020175 254 00 0 00 020230 JRST RUNPR2 ;NOT FOUND, MUST BE PROGRAM NAME
347 020176 316 00 0 01 020251 CAMN CMDLST(1)
348 020177 254 00 0 00 020201 JRST CMDEX1 ;FOUND
349 020200 344 01 0 00 020174 AOJA 1,CMDLP1
350
351 020201 200 00 0 01 020302 CMDEX1: MOVE 0,CMDADR(1) ;GET SPECIAL START ADDRESS
352 020202 542 00 0 00 024106 HRRM SADR ;SET FOR START
353 020203 254 00 0 00 024074 JRST SADRQ ;GO START
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 10
DIAMON MAC 23-Apr-80 13:27 RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM SEQ 0041
354 SUBTTL RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM
355
356 020204 RUNPRG: PMSG <^FILE.EXT - >^
357 020204 201 00 0 00 025162 MOVEI [SIXBIT\^FILE.EXT - _\]
358 020205 260 17 0 00 021426 PNTMSG^
359 020206 201 16 0 00 025754 MOVEI IP,INLIST
360 020207 260 17 0 00 020432 GO FLNAME ;GET FILE NAME
361 020210 255 00 0 00 000000 JFCL
362 020211 201 16 0 00 025754 RUNPR1: MOVEI IP,INLIST
363 020212 554 00 0 16 000000 HLRZ (IP)
364 020213 306 00 0 00 470000 CAIN (SIXBIT/G/)
365 020214 254 00 0 00 024074 JRST SADRQ
366 020215 336 00 0 16 000000 SKIPN (IP)
367 020216 254 00 0 00 020674 JRST EX4 ;NO PROGRAM TO RUN
368 020217 202 16 0 00 025650 MOVEM IP,SAVEIP
369 020220 476 00 0 00 025623 SETOM PGMGO ;SET LOAD & GO FLAG
370 020221 260 17 0 00 022323 GO DIAGLD ;GO GET PROGRAM
371 020222 254 00 0 00 020224 JRST .+2
372 020223 254 00 0 00 020406 JRST DEVCM1 ;MUST BE DEVICE COMMAND LIST
373 020224 336 00 0 00 025633 SKIPN ALTMFLG ;ALTMODE SELECTION ?
374 020225 254 00 0 00 020045 JRST SELECT ;NO, ERROR
375 020226 402 00 0 00 025633 SETZM ALTMFLG
376 020227 254 00 0 00 020204 JRST RUNPRG ;YES, ASK FOR NEXT PROGRAM
377
378 020230 200 00 0 00 025674 RUNPR2: MOVE SELSTR
379 020231 202 00 0 00 025754 MOVEM INLIST
380 020232 200 00 0 00 025675 MOVE SELSTR+1
381 020233 202 00 0 00 025755 MOVEM INLIST+1
382 020234 402 00 0 00 025757 SETZM INLIST+3
383 020235 254 00 0 00 020211 JRST RUNPR1
384
385 020236 260 17 0 00 021673 TT2CHR: TTICHR ;INPUT 1ST CHAR
386 020237 306 00 0 00 000012 CAIN 12
387 020240 263 17 0 00 000000 RTN ;ONLY A CR
388 020241 202 00 0 00 000006 MOVEM 0,LET
389 020242 260 17 0 00 021673 TTICHR ;INPUT 2ND CHAR, SHOULD BE CR
390 020243 302 00 0 00 000012 CAIE 12
391 020244 254 00 0 00 020045 JRST SELECT ;WASN'T
392 020245 200 00 0 00 000006 MOVE 0,LET ;GET 1ST CHAR BACK
393 020246 254 00 0 00 020423 JRST CPOPJ1 ;SKIP RETURN
394
395 020247 260 17 0 00 022111 SELXR: GO DEVSEL ;SELECT DEVICE
396 020250 254 00 0 00 020106 JRST SELX
397
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 11
DIAMON MAC 23-Apr-80 13:27 RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM SEQ 0042
398 020251 50 00 00 00 00 00 CMDLST: SIXBIT/H/
399 020252 51 00 00 00 00 00 SIXBIT/I/
400 020253 64 00 00 00 00 00 SIXBIT/T/
401 020254 44 00 00 00 00 00 SIXBIT/D/
402 020255 63 00 00 00 00 00 SIXBIT/S/
403 020256 46 00 00 00 00 00 SIXBIT/F/
404 020257 54 00 00 00 00 00 SIXBIT/L/
405 020260 47 00 00 00 00 00 SIXBIT/G/
406 020261 70 00 00 00 00 00 SIXBIT/X/
407 020262 62 00 00 00 00 00 SIXBIT/R/
408 020263 000000 000000 0
409 020264 63 64 44 00 00 00 SIXBIT/STD/
410 020265 63 64 54 00 00 00 SIXBIT/STL/
411 020266 63 64 55 00 00 00 SIXBIT/STM/
412 020267 44 44 64 00 00 00 SIXBIT/DDT/
413 020270 63 64 41 62 64 00 SIXBIT/START/
414 020271 63 46 63 64 62 64 SIXBIT/SFSTRT/
415 020272 60 46 63 64 62 64 SIXBIT/PFSTRT/
416 020273 62 45 45 00 00 00 SIXBIT/REE/
417 020274 63 64 41 62 64 21 SIXBIT/START1/
418 020275 63 64 41 62 64 22 SIXBIT/START2/
419 020276 63 64 41 62 64 23 SIXBIT/START3/
420 020277 63 64 41 62 64 24 SIXBIT/START4/
421 020300 63 64 41 62 64 25 SIXBIT/START5/
422 020301 000000 000000 0
423
424 020302 000000 020363 CMDADR: CMDHLP
425 020303 000000 020373 STORED
426 020304 000000 020376 TTYCMD
427 020305 000000 020404 DEVCMD
428 020306 000000 020204 RUNPRG
429 020307 000000 022275 DIRECT
430 020310 000000 022271 LIST1
431 020311 000000 024074 SADRQ
432 020312 000000 021410 SAXPN
433 020313 000000 020247 SELXR
434 020314 000000 000000 0
435 020315 000000 000440 $STD
436 020316 000000 000442 $STL
437 020317 000000 000443 $STM
438 020320 000000 000441 $DDT
439 020321 000000 030000 DIAGNOS
440 020322 000000 030004 SFSTRT
441 020323 000000 030005 PFSTRT
442 020324 000000 030006 REENTR
443 020325 000000 030013 START1
444 020326 000000 030014 START2
445 020327 000000 030015 START3
446 020330 000000 030016 START4
447 020331 000000 030017 START5
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 12
DIAMON MAC 23-Apr-80 13:27 RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM SEQ 0043
448 ;*WHAT - IDENTIFY LAST PROGRAM
449
450 020332 200 17 0 00 025144 WHAT: MOVE P,[-40,,PLIST]
451 020333 260 17 0 00 021567 GO CRLF1
452 020334 200 16 0 00 025650 MOVE IP,SAVEIP
453 020335 260 17 0 00 020337 GO NAMPNT ;PRINT TITLE OF LAST PROGRAM
454 020336 254 00 0 00 020000 JRST START
455
456 ;*NAMPNT - PRINT FILE NAME AND EXTENSION
457
458 020337 200 01 0 16 000000 NAMPNT: MOVE A,(IP)
459 020340 260 17 0 00 020347 GO SIXBP
460 020341 201 00 0 00 000056 MOVEI "."
461 020342 260 17 0 00 021513 GO PRINT
462 020343 510 01 0 16 000001 HLLZ A,1(IP)
463 020344 260 17 0 00 020347 GO SIXBP
464 020345 260 17 0 00 021567 GO CRLF1
465 020346 263 17 0 00 000000 RTN
466
467 ;*SIXBP - SIX BIT PRINTER
468
469 020347 201 02 0 00 000000 SIXBP: MOVEI B,0 ;SO DON'T SHIFT IN JUNK
470 020350 402 00 0 00 000000 SETZM F
471 020351 246 00 0 00 000006 LSHC F,6 ;GET A SIXBIT CHAR
472 020352 271 00 0 00 000040 ADDI F,40 ;MAKE IT ASCII
473 020353 260 17 0 00 021513 GO PRINT ;TYPE IT
474 020354 326 01 0 00 020347 JUMPN A,SIXBP ;IF ANY MORE, TYPE THEM
475 020355 263 17 0 00 000000 CPOPJ: RTN
476
477 ;*PNT16 - PRINT ASCII CHAR IN AC16
478
479 020356 261 17 0 00 000000 PNT16: PUT 0
480 020357 200 00 0 00 000016 MOVE 0,16
481 020360 260 17 0 00 021513 GO PRINT
482 020361 262 17 0 00 000000 GET 0
483 020362 263 17 0 00 000000 RTN
484
485 ;*CMDHLP, PRINT HELP TEXT
486
487 020363 332 00 0 00 025520 CMDHLP: SKIPE HLPCLR# ;HAS HELP BEEN OVERWRITTEN ?
488 020364 254 00 0 00 020370 JRST .+4 ;YES
489 020365 201 00 0 00 025772 MOVEI HELP ;PRINT HELP
490 020366 260 17 0 00 021462 PNTAL
491 020367 254 00 0 00 020000 JRST START
492 PMSG <NO HELP>^
493 020370 201 00 0 00 025165 MOVEI [SIXBIT\NO HELP_\]
494 020371 260 17 0 00 021426 PNTMSG^
495 020372 254 00 0 00 020000 JRST START
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 13
DIAMON MAC 23-Apr-80 13:27 COMMAND LIST PROCESSING SEQ 0044
496 SUBTTL COMMAND LIST PROCESSING
497
498 ;*STORED - USE INTERNAL COMMAND LIST
499
500 020373 402 00 0 00 025627 STORED: SETZM LPTFLG
501 020374 260 17 0 00 020677 GO CXPND ;SETUP EXPANDED OPERATIONS
502 020375 254 00 0 00 020561 JRST EX
503
504 ;*TTYCMD - TELETYPE INPUT COMMAND LIST
505
506 020376 TTYCMD: PMSG <^NAME]PASSES]RH SWS]ITERATIONS^>^
507 020376 201 00 0 00 025167 MOVEI [SIXBIT\^NAME]PASSES]RH SWS]ITERATIONS^_\]
508 020377 260 17 0 00 021426 PNTMSG^
509 020400 201 16 0 00 025754 CMNCMD: MOVEI IP,INLIST
510 020401 260 17 0 00 020432 GO FLNAME
511 020402 254 00 0 00 020401 JRST .-1 ;INPUT TILL ^Z
512 020403 254 00 0 00 020373 JRST STORED
513
514 ;*DEVCMD - DEVICE COMMAND LIST
515
516 020404 476 00 0 00 025625 DEVCMD: SETOM DEVFLG ;SET DEVICE CMD LIST FLAG
517 020405 254 00 0 00 020204 JRST RUNPRG ;GET COMMAND FILE
518
519 020406 402 00 0 00 025625 DEVCM1: SETZM DEVFLG ;CLEAR DEVICE CMD LIST FLAG
520 020407 476 00 0 00 025626 SETOM DINFLG ;SET "READ" FOR DEVICE IN
521 020410 402 00 0 00 025623 SETZM PGMGO ;CLEAR FOR COMMAND OPERATION
522 020411 200 05 0 00 025175 MOVE DPNTR,[POINT 7,31000]
523 020412 254 00 0 00 020400 JRST CMNCMD ;GO RUN COMMAND LIST
524
525 020413 200 13 0 00 025175 DEVCM2: MOVE 13,[POINT 7,31000]
526 020414 260 17 0 00 022437 GO LDACHR ;READ A CHAR
527 020415 254 00 0 00 020420 JRST .+3 ;EOF
528 020416 136 16 0 00 000013 IDPB 16,13
529 020417 254 00 0 00 020414 JRST .-3
530 020420 201 16 0 00 000177 MOVEI 16,177 ;FLAG END OF INPUT
531 020421 136 16 0 00 000013 IDPB 16,13
532 020422 260 17 0 00 023540 GO STOP ;STOP DEVICE
533 020423 350 00 0 17 000000 CPOPJ1: AOS (P) ;DONE, RETURN TO "DEVCM1"
534 020424 263 17 0 00 000000 RTN
535
536 020425 134 00 0 00 000005 DEVRD: ILDB 0,DPNTR ;GET CHARS FROM 31000 UP
537 020426 322 00 0 00 020425 JUMPE 0,.-1 ;IGNORE NULLS
538 020427 306 00 0 00 000177 CAIN 0,177
539 020430 254 00 0 00 020423 JRST CPOPJ1 ;177 BYTE SIGNIFIES END
540 020431 254 00 0 00 022010 JRST READ1 ;FOR "READ"
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 14
DIAMON MAC 23-Apr-80 13:27 FLNAME - FILE NAME AND CONTROL INFO INPUT SEQ 0045
541 SUBTTL FLNAME - FILE NAME AND CONTROL INFO INPUT
542
543 020432 402 00 0 00 025644 FLNAME: SETZM SCFLAG
544 020433 402 00 0 00 020012 SETZM SUSERF
545 020434 661 06 0 00 400000 TLO LET,400000 ;SET LETTERS FLAG
546 020435 400 10 0 00 000000 SETZ NAM1, ;CLEAR CONTROLS
547 020436 403 07 0 00 000012 SETZB NAM,DIGIT
548 020437 201 11 0 00 000036 MOVEI NAM2,^D30 ;SETUP CHAR POSITIONING
549
550 ;*FLNMLP - INPUT AND PROCESS CHARACTERS
551
552 020440 260 17 0 00 022005 FLNMLP: GO READ
553 020441 306 00 0 00 000032 CAIN 32
554 020442 254 00 0 00 020423 JRST CPOPJ1 ;^Z, LOGICAL END OF INPUT
555 020443 306 00 0 00 000012 CAIN 12
556 020444 254 00 0 00 020520 JRST CRRTN ;CR, (ACTUALLY LF) COMPLETES LINE
557 020445 332 00 0 00 025644 SKIPE SCFLAG
558 020446 254 00 0 00 020440 JRST FLNMLP ;<;> TYPED, IGNORE REST OF LINE
559 020447 306 00 0 00 000073 CAIN 73
560 020450 254 00 0 00 020506 JRST SCSET ;<;>
561 020451 306 00 0 00 000177 CAIN 177
562 020452 254 00 0 00 020515 JRST RBOUT ;RUBOUT
563 020453 306 00 0 00 000055 CAIN 55 ;MINUS IS SPECIAL USER MODE FLAG
564 020454 254 00 0 00 020504 JRST MINUS
565 020455 306 00 0 00 000011 CAIN 11
566 020456 254 00 0 00 020500 JRST TTAB ;TAB IS FIELD SEPARATOR
567 020457 322 00 0 00 020440 JUMPE FLNMLP ;REJECT 0'S
568 020460 325 06 0 00 020474 JUMPGE LET,FLNAM2 ;JUMP IF ASSEMBLE DIGITS
569
570 ;*FLNAM1 - FILE NAME PROCESS
571
572 020461 306 00 0 00 000056 FLNAM1: CAIN 56
573 020462 254 00 0 00 020472 JRST PERIOD ;DOT, NAME.EXT SEPARATOR
574 020463 275 00 0 00 000040 SUBI 40 ;CONVERT TO 6BIT
575 020464 321 00 0 00 020515 JUMPL RBOUT ;CNTL CHAR, TREAT AS RUBOUT
576 020465 322 00 0 00 020515 JUMPE RBOUT ;0 IS ERROR
577 020466 242 00 0 11 000000 LSH 0,(NAM2) ;POSITION CHAR
578 020467 434 07 0 00 000000 IOR NAM,0 ;MERGE INTO NAME
579 020470 275 11 0 00 000006 SUBI NAM2,6 ;CHANGE POSITIONING FOR NEXT
580 020471 254 00 0 00 020440 JRST FLNMLP ;GET NEXT CHAR
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 15
DIAMON MAC 23-Apr-80 13:27 FLNAME - FILE NAME AND CONTROL INFO INPUT SEQ 0046
581 ;*PERIOD - STORE FILE NAME, GO PROCESS EXTENSION
582
583 020472 202 07 0 00 000010 PERIOD: MOVEM NAM,NAM1 ;SAVE FILE NAME
584 020473 254 00 0 00 020436 JRST FLNAME+4 ;PROCESS EXTENTION
585
586 ;*FLNAM2 - PROCESS DIGITS
587
588 020474 200 13 0 00 000000 FLNAM2: MOVE DIGITA,0
589 020475 242 13 0 00 000041 LSH DIGITA,^D33
590 020476 246 12 0 00 000003 LSHC DIGIT,3 ;ASSEMBLE DIGITS
591 020477 254 00 0 00 020440 JRST FLNMLP
592
593 ;*TTAB - FIELD SEPARATOR, STORE PREVIOUS FIELD
594
595 020500 202 14 0 00 000015 TTAB: MOVEM DIGIT1,DIGIT2
596 020501 202 12 0 00 000014 MOVEM DIGIT,DIGIT1
597 020502 403 06 0 00 000012 SETZB LET,DIGIT
598 020503 254 00 0 00 020437 JRST FLNMLP-1
599
600 ;*MINUS - SET SPECIAL USER MODE
601
602 020504 476 00 0 00 020012 MINUS: SETOM SUSERF ;MINUS, SET SPECIAL USER FLAG
603 020505 254 00 0 00 020435 JRST FLNAME+3
604
605 ;*SCSET - SEMICOLON, REST IS COMMENT
606
607 020506 476 00 0 00 025644 SCSET: SETOM SCFLAG
608 020507 254 00 0 00 020440 JRST FLNMLP
609
610 ;*ZEROAC - ZERO AC'S BEFORE STARTING PROGRAM
611
612 020510 205 16 0 00 777762 ZEROAC: MOVSI 16,-16
613 020511 402 00 0 16 000000 SETZM 0(16)
614 020512 253 16 0 00 020511 AOBJN 16,.-1
615 020513 402 00 0 00 000016 SETZM 16
616 020514 263 17 0 00 000000 RTN
617
618 020515 RBOUT: PMSG <XXX^>^
619 020515 201 00 0 00 025176 MOVEI [SIXBIT\XXX^_\]
620 020516 260 17 0 00 021426 PNTMSG^
621 020517 254 00 0 00 020432 JRST FLNAME
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 16
DIAMON MAC 23-Apr-80 13:27 FLNAME - FILE NAME AND CONTROL INFO INPUT SEQ 0047
622 ;*COMMAND LIST FORMAT
623 ;* NAME
624 ;* EXT,,ITERATIONS (BIT 18 SET IF SPEC USER)
625 ;* PASSES,,SWITCHES
626
627 ;*CRRTN - CR, STORE COMMAND LIST INFORMATION
628
629 020520 402 00 0 00 025644 CRRTN: SETZM SCFLAG
630 020521 336 00 0 00 000007 SKIPN NAM
631 020522 322 10 0 00 020432 JUMPE NAM1,FLNAME ;REPEAT IF JUST CR
632 020523 336 00 0 00 000010 SKIPN NAM1 ;NAME ONLY ?
633 020524 250 07 0 00 000010 EXCH NAM,NAM1 ;YES
634 020525 202 10 0 16 000000 MOVEM NAM1,(IP) ;STORE THE FILE NAME
635 020526 512 07 0 16 000001 HLLZM NAM,1(IP) ;AND EXTENSION
636 020527 620 12 0 00 400000 TRZ DIGIT,400000
637 020530 332 00 0 00 020012 SKIPE SUSERF
638 020531 660 12 0 00 400000 TRO DIGIT,400000 ;SET SPEC USER BIT
639 020532 542 12 0 16 000001 HRRM DIGIT,1(IP) ;ITERATIONS (IF SPEC USER BIT 18 SET)
640 020533 504 14 0 00 000015 HRL DIGIT1,DIGIT2 ;PASSES,,SWITCHES
641 020534 202 14 0 16 000002 MOVEM DIGIT1,2(IP)
642 020535 271 16 0 00 000003 ADDI IP,3 ;INCREMENT POINTER
643 020536 402 00 0 16 000000 CRRTN1: SETZM (IP) ;CLEAR LAST WORD
644 020537 301 16 0 00 025772 CAIL IP,HELP ;OVERWITTEN HELP MESSAGE ?
645 020540 476 00 0 00 025520 SETOM HLPCLR ;YES, NO MORE HELP AVAILABLE
646 020541 305 16 0 00 026770 CAIGE IP,INLEND
647 020542 263 17 0 00 000000 RTN
648
649 020543 FULL: PMSG <^CMDLST TOO LONG>^
650 020543 201 00 0 00 025177 MOVEI [SIXBIT\^CMDLST TOO LONG_\]
651 020544 260 17 0 00 021426 PNTMSG^
652 020545 254 00 0 00 020000 JRST START
653
654 020546 EXNOE: PMSG <^USER ONLY>^
655 020546 201 00 0 00 025202 MOVEI [SIXBIT\^USER ONLY_\]
656 020547 260 17 0 00 021426 PNTMSG^
657 020550 254 00 0 00 020553 JRST EXBAD
658
659 020551 EXNOU: PMSG <^EXEC ONLY>^
660 020551 201 00 0 00 025204 MOVEI [SIXBIT\^EXEC ONLY_\]
661 020552 260 17 0 00 021426 PNTMSG^
662
663 020553 201 00 0 00 000001 EXBAD: MOVEI 0,1 ;SET CMD LIST PASS COUNT TO INHIBIT
664 020554 506 00 0 16 000002 HRLM 0,2(IP) ;FURTHER REQUEST OF THIS PROGRAM
665 PMSG <^UNCHAINABLE->^
666 020555 201 00 0 00 025206 MOVEI [SIXBIT\^UNCHAINABLE-_\]
667 020556 260 17 0 00 021426 PNTMSG^
668 020557 260 17 0 00 020337 GO NAMPNT ;INCORRECT FORMAT
669 020560 254 00 0 00 020656 JRST RET
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 17
DIAMON MAC 23-Apr-80 13:27 EXECUTE THE INPUT COMMAND LIST SEQ 0048
670 SUBTTL EXECUTE THE INPUT COMMAND LIST
671
672 ;*EX - INITIALIZATION
673
674 020561 402 00 0 00 020013 EX: SETZM PASS
675 020562 260 17 0 00 021567 GO CRLF1
676 020563 332 00 0 00 020006 SKIPE USER
677 020564 260 17 0 00 021757 GO LHSWS ;GET LH CONTROL SWITCHES
678 020565 402 00 0 00 025651 EX5: SETZM RUNCTL
679 020566 201 16 0 00 025754 MOVEI IP,INLIST ;INIT LIST POINTER
680 020567 350 00 0 00 020013 AOS PASS
681
682 ;*EX1 - START PASS
683
684 020570 202 16 0 00 025650 EX1: MOVEM IP,SAVEIP
685 020571 402 00 0 00 020012 SETZM SUSERF
686 020572 336 00 0 16 000000 SKIPN (IP)
687 020573 254 00 0 00 020674 JRST EX4 ;NO PROGRAMS TO RUN
688 020574 554 01 0 16 000002 HLRZ 1,2(IP) ;GET PASSES TO RUN
689 020575 322 01 0 00 020600 JUMPE 1,.+3 ;0, RUN ALWAYS
690 020576 315 01 0 00 020013 CAMGE 1,PASS ;RUN FOR REQUESTED PASSES
691 020577 254 00 0 00 020656 JRST RET
692 020600 200 00 0 16 000001 MOVE 1(IP) ;PROG RUN IN SPECIAL
693 020601 602 00 0 00 400000 TRNE 400000
694 020602 476 00 0 00 020012 SETOM SUSERF ;USER MODE ?
695
696 ;*EX2 - PRINT NAME AND LOAD PROGRAM
697
698 020603 260 17 0 00 022043 EX2: SWITCH ;READ SWITCHES
699 020604 607 00 0 00 000004 TLNN 0,CHAIN ;INHIBIT TITLE PRINT ?
700 020605 260 17 0 00 020337 GO NAMPNT
701 020606 260 17 0 00 022321 GO DIAGLD-2 ;GET THE PROGRAM
702 020607 254 00 0 00 020656 JRST RET ;PROGRAM NOT FOUND
703
704 ;*EX3 - SETUP PROGRAM OPERATION PARAMETERS
705
706 020610 200 16 0 00 025650 EX3: MOVE IP,SAVEIP
707 020611 550 01 0 16 000001 HRRZ 1,1(IP) ;GET THE ITERATION COUNT
708 020612 620 01 0 00 400000 TRZ 1,400000 ;CLEAR SPEC USER, IF SET
709 020613 260 17 0 00 022043 SWITCH ;READ SWITCHES
710 020614 607 00 0 00 000400 TLNN 0,RELIAB ;RELIABILITY MODE ?
711 020615 242 01 0 00 777772 LSH 1,-6 ;NO, 100(8):1 REDUCTION
712 020616 336 00 0 00 000001 SKIPN 1
713 020617 271 01 0 00 000001 ADDI 1,1 ;ALWAYS ALLOW 1 ITERATION
714 020620 202 01 0 00 020005 MOVEM 1,ITERAT
715 020621 210 00 0 00 020013 MOVN PASS
716 020622 504 00 0 16 000002 HRL 2(IP) ;SETUP MONITR CONTROL
717 020623 200 01 0 00 030002 MOVE 1,30002
718 020624 312 01 0 00 025211 CAME 1,[JRST @27774]
719 020625 254 00 0 00 020553 JRST EXBAD ;INCORRECT FORMAT
720 020626 332 00 0 00 020006 SKIPE USER ;IN USER MODE ?
721 020627 254 00 0 00 020633 JRST EXUSR ;YES
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 18
DIAMON MAC 23-Apr-80 13:27 EXECUTE THE INPUT COMMAND LIST SEQ 0049
722 020630 332 00 0 00 030031 EXEXEC: SKIPE $EMODE ;EXEC, THIS PROG RUN IN EXEC ?
723 020631 254 00 0 00 020636 JRST EXNEW ;YES
724 020632 254 00 0 00 020546 JRST EXNOE ;NO
725 020633 332 00 0 00 030032 EXUSR: SKIPE $UMODE ;USER, THIS PROGRAM RUN IN USER ?
726 020634 254 00 0 00 020636 JRST EXNEW ;YES
727 020635 254 00 0 00 020551 JRST EXNOU ;NO
728
729 020636 476 00 0 00 025651 EXNEW: SETOM RUNCTL
730 020637 206 00 0 00 030043 MOVSM MONCTL ;LH = -PASS COUNT, RH = RH SWITCHES
731 020640 200 00 0 00 020015 MOVE 0,RANBAS ;GENERATE PROG RANDOM BASE NUMBER
732 020641 270 00 0 00 025212 ADD 0,[165742335216]
733 020642 241 00 0 00 777777 ROT 0,-1
734 020643 447 00 0 00 020015 EQVB 0,RANBAS
735 020644 202 00 0 00 030022 MOVEM 0,RANDBS ;PUT IN PROG DATA AREA
736
737 ;*RERUN1 - DISPATCH TO EXPANDED SETUP
738
739 020645 254 00 0 00 021057 RERUN1: JRST XPNRUN
740
741 ;*RUN - PROGRAM RUN, CLEAR PROCESSOR FOR NEXT
742
743 020646 332 00 0 00 020006 RUN: SKIPE USER
744 020647 254 00 0 00 020652 JRST .+3
745 020650 7 004 20 0 00 010000 CONO PI,PICLR
746 020651 7 000 20 0 00 200000 CONO APR,IOCLR
747 020652 200 17 0 00 025144 MOVE P,[-40,,PLIST]
748 020653 200 16 0 00 025650 MOVE IP,SAVEIP
749 020654 332 00 0 00 020010 SKIPE KLFLG ;CHECK IF KL10
750 020655 260 17 0 00 022055 GO DTEINT ;CLEAR DTE
751
752 ;*RET - ANY MORE PROGRAMS ON COMMAND LIST
753
754 020656 271 16 0 00 000003 RET: ADDI IP,3 ;INCREMENT POINTER TO NEXT COMMAND
755 020657 332 00 0 16 000000 SKIPE (IP)
756 020660 254 00 0 00 020570 JRST EX1 ;RUN NEXT PROGRAM
757 020661 336 00 0 00 025651 SKIPN RUNCTL ;ANY PROGRAMS RUN THIS PASS ?
758 020662 254 00 0 00 020674 JRST EX4 ;NO
759 020663 260 17 0 00 021567 GO CRLF1 ;PRINT A CARRIAGE RETURN AND LINE FEED
760 020664 200 01 0 00 025562 MOVE A,PGNAME ;GET PROGRAM NAME
761 020665 260 17 0 00 020347 GO SIXBP ;PRINT IT
762 PMSG < PASS >^
763 020666 201 00 0 00 025213 MOVEI [SIXBIT\ PASS _\]
764 020667 260 17 0 00 021426 PNTMSG^
765 020670 200 00 0 00 020013 MOVE PASS ;PRINT PASS COUNTER
766 020671 260 17 0 00 021504 GO PNTDEC
767 020672 260 17 0 00 021567 GO CRLF1
768 020673 254 00 0 00 020565 JRST EX5
769
770 ;*EX4 - ALL FINISHED
771
772 020674 EX4: PMSG <^CMD'S REQUIRED>^
773 020674 201 00 0 00 025215 MOVEI [SIXBIT\^CMD'S REQUIRED_\]
774 020675 260 17 0 00 021426 PNTMSG^
775 020676 254 00 0 00 020045 JRST SELECT
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 19
DIAMON MAC 23-Apr-80 13:27 EXPANDED COMMAND FORMAT SETUP SEQ 0050
776 SUBTTL EXPANDED COMMAND FORMAT SETUP
777
778 ;*CXPND - EXPANDED ALLOWED
779
780 020677 332 00 0 00 020006 CXPND: SKIPE USER
781 020700 263 17 0 00 000000 RTN ;NO EXPANDED FEATURES IN USER MODE
782 020701 336 00 0 00 020010 SKIPN KLFLG
783 020702 332 00 0 00 020011 SKIPE KAIFLG
784 020703 254 00 0 00 020705 JRST CXPND1 ;EXEC KL10 OR KI10
785 020704 263 17 0 00 000000 RTN ;NO FEATURES FOR KA10
786
787 020705 260 17 0 00 022043 CXPND1: SWITCH
788 020706 606 00 0 00 400000 TRNN XPAND ;ALLOW EXPANDED FEATURES ?
789 020707 263 17 0 00 000000 RTN ;NO
790
791 ;*STRD2 - CLOCK MARGINS
792
793 020710 332 00 0 00 020010 STRD2: SKIPE KLFLG
794 020711 254 00 0 00 020721 JRST STRD3
795 PMSG <^Y FOR CLOCK MARGINS - >^
796 020712 201 00 0 00 025220 MOVEI [SIXBIT\^Y FOR CLOCK MARGINS - _\]
797 020713 260 17 0 00 021426 PNTMSG^
798 020714 260 17 0 00 020236 GO TT2CHR
799 020715 254 00 0 00 020721 JRST STRD3 ;CR, NO CLOCK MARGINS
800 020716 306 00 0 00 000131 CAIN "Y"
801 020717 477 00 0 00 025634 SETOB 0,CLKFLG ;IF Y SET FLAG
802 020720 325 00 0 00 020712 JUMPGE 0,STRD2+2 ;OTHER IS GOOF
803
804 ;*STRD3 - SPECIAL USER MODE
805
806 020721 STRD3: PMSG <^Y OR A FOR SPECIAL USER MODE - >^
807 020721 201 00 0 00 025224 MOVEI [SIXBIT\^Y OR A FOR SPECIAL USER MODE - _\]
808 020722 260 17 0 00 021426 PNTMSG^
809 020723 260 17 0 00 020236 GO TT2CHR
810 020724 254 00 0 00 020732 JRST STRD4 ;CR, NO SPECIAL USER
811 020725 306 00 0 00 000131 CAIN "Y"
812 020726 477 00 0 00 025635 SETOB 0,USRFLG ;IF Y SET FLAG
813 020727 306 00 0 00 000101 CAIN "A" ;A, USER AFTER 1ST PASS
814 020730 254 00 0 00 020750 JRST STRD3A
815 020731 325 00 0 00 020721 JUMPGE 0,STRD3 ;OTHER IS GOOF
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 20
DIAMON MAC 23-Apr-80 13:27 EXPANDED COMMAND FORMAT SETUP SEQ 0051
816 ;*STRD4 - CONCEALED, PUBLIC OR ALTERNATE
817
818 020732 336 00 0 00 025635 STRD4: SKIPN USRFLG
819 020733 254 00 0 00 020754 JRST STRD5
820 PMSG <^C=CONCEALED,P=PUBLIC,A=ALTERNATE->^
821 020734 201 00 0 00 025232 MOVEI [SIXBIT\^C=CONCEALED,P=PUBLIC,A=ALTERNATE-_\]
822 020735 260 17 0 00 021426 PNTMSG^
823 020736 260 17 0 00 020236 GO TT2CHR
824 020737 254 00 0 00 020734 JRST STRD4+2 ;CR ONLY, ERROR
825 020740 306 00 0 00 000103 CAIN "C"
826 020741 477 00 0 00 025636 SETOB 0,CNSFLG ;IF C SET FLAG
827 020742 306 00 0 00 000101 CAIN "A" ;A, ALTERNATE PUBLIC
828 020743 254 00 0 00 020752 JRST STRD4A ;& CONCEAL
829 020744 306 00 0 00 000120 CAIN "P"
830 020745 476 00 0 00 000000 SETOM 0 ;P, RUN PUBLIC
831 020746 325 00 0 00 020734 JUMPGE 0,STRD4+2 ;OTHER IS GOOF
832 020747 254 00 0 00 020754 JRST STRD5
833
834 020750 202 00 0 00 025635 STRD3A: MOVEM 0,USRFLG ;USRFLG + ='S
835 020751 254 00 0 00 020732 JRST STRD4 ;SPECIAL USER AFTER 1ST PASS
836
837 020752 202 00 0 00 025636 STRD4A: MOVEM 0,CNSFLG ;CNSFLG + ='S
838 020753 254 00 0 00 020754 JRST STRD5 ;ALTERNATE PUBLIC & CONCEAL
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 21
DIAMON MAC 23-Apr-80 13:27 EXPANDED COMMAND FORMAT SETUP SEQ 0052
839 ;*STRD5 - VOLTAGE MARGINS
840
841 020754 332 00 0 00 020010 STRD5: SKIPE KLFLG
842 020755 254 00 0 00 021025 JRST STRD7
843 020756 403 01 0 00 000002 SETZB 1,2
844 PMSG <^L,S,I,R FOR VOLTAGE MARGINS->^
845 020757 201 00 0 00 025240 MOVEI [SIXBIT\^L,S,I,R FOR VOLTAGE MARGINS-_\]
846 020760 260 17 0 00 021426 PNTMSG^
847 020761 260 17 0 00 020236 GO TT2CHR ;TELETYPE INPUT
848 020762 254 00 0 00 020773 JRST STRD5C ;CR, NO MARGINS
849 020763 306 00 0 00 000114 CAIN "L"
850 020764 660 01 0 00 000001 TRO 1,1 ;L-LIMITS
851 020765 306 00 0 00 000123 CAIN "S"
852 020766 660 01 0 00 000002 TRO 1,2 ;S-SWEPT
853 020767 306 00 0 00 000111 CAIN "I"
854 020770 660 01 0 00 000004 TRO 1,4 ;I-SPECIFY INCREMENT
855 020771 306 00 0 00 000122 CAIN "R"
856 020772 660 01 0 00 000010 TRO 1,10 ;R-SPECIFY RACK
857 020773 202 01 0 00 025530 STRD5C: MOVEM 1,MGNFLG#
858 020774 201 02 0 00 000014 MOVEI 2,VOLTLM ;L- 31+-12, 4.75 TO 5.25V
859 020775 606 01 0 00 000001 TRNN 1,1
860 020776 201 02 0 00 000001 MOVEI 2,1 ;V- MARGIN INCREMENT = 1
861 020777 202 02 0 00 025531 STRD5A: MOVEM 2,MGNINC#
862 021000 626 01 0 00 000004 TRZN 1,4 ;SPECIFY INCREMENT ?
863 021001 254 00 0 00 021013 JRST STRD6 ;NO
864 PMSG <^MARGIN INCREMENT(1 TO 17)->^
865 021002 201 00 0 00 025245 MOVEI [SIXBIT\^MARGIN INCREMENT(1 TO 17)-_\]
866 021003 260 17 0 00 021426 PNTMSG^
867 021004 260 17 0 00 021765 TTIOCT
868 021005 254 00 0 00 021002 JRST STRD5A+3
869 021006 322 12 0 00 021002 JUMPE DIGIT,STRD5A+3 ;INPUT COMPLETE
870 021007 301 00 0 00 000020 CAIL 0,20 ;LIMIT TO 1-20
871 021010 254 00 0 00 021002 JRST STRD5A+3
872 021011 200 02 0 00 000000 MOVE 2,0
873 021012 254 00 0 00 020777 JRST STRD5A ;SAVE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 22
DIAMON MAC 23-Apr-80 13:27 EXPANDED COMMAND FORMAT SETUP SEQ 0053
874 021013 606 01 0 00 000010 STRD6: TRNN 1,10 ;SPECIFY RACK ?
875 021014 254 00 0 00 021025 JRST STRD7 ;NO
876 PMSG <^RACK(0 TO 37)->^
877 021015 201 00 0 00 025252 MOVEI [SIXBIT\^RACK(0 TO 37)-_\]
878 021016 260 17 0 00 021426 PNTMSG^
879 021017 260 17 0 00 021765 TTIOCT
880 021020 254 00 0 00 021015 JRST STRD6+2
881 021021 301 00 0 00 000040 CAIL 0,40 ;LIMIT TO 0-37
882 021022 254 00 0 00 021015 JRST STRD6+2
883 021023 202 00 0 00 025642 MOVEM 0,MGNADR
884 021024 476 00 0 00 025643 SETOM RACKF ;SET RACK SELECTED FLAG
885 021025 336 00 0 00 025530 STRD7: SKIPN MGNFLG ;MARGINS ?
886 021026 254 00 0 00 021035 JRST STRD8 ;NO
887 021027 201 00 0 00 021036 MOVEI MGNMSG
888 021030 260 17 0 00 021426 PNTMSG
889 021031 260 17 0 00 021673 TTICHR
890 021032 7 000 24 0 00 000000 CONI APR,0 ;READ STATUS
891 021033 607 00 0 00 002000 TLNN 0,IMGINM
892 021034 254 00 0 00 021025 JRST STRD7 ;MARGIN ENABLE NOT SET !
893
894 021035 263 17 0 00 000000 STRD8: RTN
895
896 021036 76 63 45 64 00 55 MGNMSG: SIXBIT\^SET MARGIN SELECT OFF^SET MARGIN ENABLE^TYPE CR WHEN READY^_\
897 021037 41 62 47 51 56 00
898 021040 63 45 54 45 43 64
899 021041 00 57 46 46 76 63
900 021042 45 64 00 55 41 62
901 021043 47 51 56 00 45 56
902 021044 41 42 54 45 76 64
903 021045 71 60 45 00 43 62
904 021046 00 67 50 45 56 00
905 021047 62 45 41 44 71 76
906 021050 77 00 00 00 00 00
907
908 ;*MUUOER & USRERR - USER ERROR REPORTING
909
910 021051 201 00 0 00 025255 MUUOER: MOVEI MSG <^MUUO ERROR^>^[SIXBIT\^MUUO ERROR^_\]^
911 021052 254 00 0 00 021055 JRST .+3
912
913 021053 000000 000000 USRERR: 0
914 021054 201 00 0 00 025260 MOVEI MSG <^USER TRAP ERROR^>^[SIXBIT\^USER TRAP ERROR^_\]^
915 021055 260 17 0 00 021426 PNTMSG
916 021056 254 04 0 00 020000 HALT START
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 23
DIAMON MAC 23-Apr-80 13:27 SPECIAL RUN SEQUENCING SEQ 0054
917 SUBTTL SPECIAL RUN SEQUENCING
918
919 ;*XPNRUN - DETERMINE AND SETUP FOR SPECIAL OPERATIONS
920
921 021057 402 00 0 00 025641 XPNRUN: SETZM MGNWRD
922 021060 402 00 0 00 025640 SETZM MGNCNT
923 021061 336 00 0 00 025643 SKIPN RACKF
924 021062 402 00 0 00 025642 SETZM MGNADR
925 021063 402 00 0 00 025533 SETZM MRGNF#
926 021064 200 00 0 00 020005 MOVE ITERAT
927 021065 202 00 0 00 025532 MOVEM MGNITR#
928 021066 202 00 0 00 025555 MOVEM USRITR#
929 021067 332 00 0 00 025530 SKIPE MGNFLG ;VOLTAGE MARGIN ?
930 021070 254 00 0 00 021231 JRST MRGNCK ;YES
931 021071 332 00 0 00 020006 XPNRN1: SKIPE USER
932 021072 254 00 0 00 021105 JRST XPNRN2 ;USER MODE
933 021073 200 00 0 00 025641 MOVE 0,MGNWRD
934 021074 332 00 0 00 025634 SKIPE CLKFLG ;CLOCK MARGINS ?
935 021075 660 00 0 00 004000 TRO 0,ISPDON ;YES, SET CLOCK MARGIN BIT
936 021076 202 00 0 00 030055 MOVEM 0,MARGIN
937 021077 336 00 0 00 020010 SKIPN KLFLG
938 021100 7 000 14 0 00 030055 DATAO APR,MARGIN ;OUTPUT TO MARGIN SYSTEM
939 021101 332 00 0 00 025533 SKIPE MRGNF ;MARGINS ?
940 021102 7 004 14 0 00 025532 DATAO PI,MGNITR ;YES, DISPLAY MARGIN ITERATIONS
941 021103 332 00 0 00 025635 SKIPE USRFLG
942 021104 254 00 0 00 021114 JRST USRRUN ;SPECIAL USER MODE OPERATION
943 021105 200 00 0 00 020005 XPNRN2: MOVE 0,ITERAT
944 021106 202 00 0 00 030024 MOVEM 0,ITRCNT
945 021107 201 00 0 00 021204 MOVEI USSR2
946 021110 202 00 0 00 030012 MOVEM RETURN
947 021111 260 17 0 00 020510 XPNRN3: GO ZEROAC
948 021112 402 00 0 00 000017 SETZM 17
949 021113 254 00 0 00 030002 JRST DIAGMN ;GO TO PROGRAM
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 24
DIAMON MAC 23-Apr-80 13:27 SPECIAL RUN SEQUENCING SEQ 0055
950 ;*USRRUN - SPECIAL USER MODE RUN SEQUENCING
951
952 021114 336 00 0 00 020012 USRRUN: SKIPN SUSERF ;ALLOW SPECIAL USER ?
953 021115 254 00 0 00 021105 JRST XPNRN2 ;NO, RUN IN EXEC
954 021116 332 00 0 00 020010 SKIPE KLFLG
955 021117 254 00 0 00 021122 JRST .+3 ;KL10
956 021120 336 00 0 00 025533 SKIPN MRGNF ;MARGINNING ?
957 021121 7 004 14 0 00 025555 DATAO PI,USRITR ;NO, DISPLAY USER ITERATIONS
958 021122 201 00 0 00 000001 MOVEI 1
959 021123 202 00 0 00 020005 MOVEM ITERAT ;RETURN TO DIAMON AFTER EACH PASS
960 021124 337 00 0 00 025635 SKIPG USRFLG ;USRFLG - ='S RUN ALL
961 021125 254 00 0 00 021131 JRST .+4 ;PASSES
962 021126 200 02 0 00 020013 MOVE 2,PASS ;USRFLG + AND PASS 1 ='S
963 021127 306 02 0 00 000001 CAIN 2,1 ;RUN IN EXEC MODE
964 021130 254 00 0 00 021105 JRST XPNRN2
965 021131 200 00 0 00 020005 MOVE ITERAT
966 021132 202 00 0 00 030024 MOVEM ITRCNT
967 021133 402 00 0 00 030042 SETZM MONFLG ;CLEAR MONFLG
968 021134 205 01 0 00 777400 MOVSI 1,-400 ;SETUP USER PAGE MAP
969 021135 200 00 0 00 025263 MOVE 0,[757776,,757777]
970 021136 332 00 0 00 025636 SKIPE CNSFLG ;IF CONCEAL, DON'T SET PUBLIC
971 021137 200 00 0 00 025264 MOVE 0,[557776,,557777]
972 021140 337 00 0 00 025636 SKIPG CNSFLG ;CNSFLG + ='S
973 021141 254 00 0 00 021145 JRST .+4 ;ALTERNATE PUBLIC & CONCEALED
974 021142 200 02 0 00 020013 MOVE 2,PASS
975 021143 602 02 0 00 000001 TRNE 2,1 ;ODD/EVEN PASS ?
976 021144 200 00 0 00 025263 MOVE 0,[757776,,757777]
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 25
DIAMON MAC 23-Apr-80 13:27 SPECIAL RUN SEQUENCING SEQ 0056
977 ;*SETUP PAGE MAP AND TRAPS
978
979 021145 270 00 0 00 025265 ADD 0,[2,,2]
980 021146 202 00 0 01 017000 MOVEM 0,UPMP(1)
981 021147 253 01 0 00 021145 AOBJN 1,.-2
982 021150 200 00 0 00 025266 MOVE 0,[UPMP+160,,UPMP+400] ;SET EPPM SAME AS USER 340-377
983 021151 251 00 0 00 017417 BLT 0,UPMP+417
984 021152 200 00 0 00 025267 MOVE 0,[JSR USRERR]
985 021153 202 00 0 00 017420 MOVEM 0,UPMP+420
986 021154 202 00 0 00 017422 MOVEM 0,UPMP+422
987 021155 202 00 0 00 017423 MOVEM 0,UPMP+423
988 021156 205 00 0 00 255000 MOVSI 0,(JFCL)
989 021157 202 00 0 00 017421 MOVEM 0,UPMP+421
990 021160 201 00 0 00 021051 MOVEI 0,MUUOER
991 021161 202 00 0 00 017430 MOVEM 0,UPMP+430
992 021162 202 00 0 00 017431 MOVEM 0,UPMP+431
993 021163 202 00 0 00 017432 MOVEM 0,UPMP+432
994 021164 202 00 0 00 017433 MOVEM 0,UPMP+433
995 021165 201 00 0 00 021316 MOVEI 0,MUUOH ;SETUP FOR HANDLER
996 021166 202 00 0 00 017434 MOVEM 0,UPMP+434
997 021167 202 00 0 00 017435 MOVEM 0,UPMP+435
998 021170 202 00 0 00 017436 MOVEM 0,UPMP+436
999 021171 202 00 0 00 017437 MOVEM 0,UPMP+437
1000 021172 332 00 0 00 020010 SKIPE KLFLG
1001 021173 260 17 0 00 021216 GO PAGKL ;KL10
1002 021174 7 010 14 0 00 025270 DATAO PAG,[LDUSRB!USRCMP!<UPMP_-^D9>,,LDEXCB!TRPENB]
1003 021175 254 02 1 00 021176 JRSTF @.+1
1004 021176 010000 021177 USERF,,.+1 ;ENTER USER MODE
1005 021177 254 01 0 00 021200 JRST 1,.+1 ;ENTRY
1006 021200 201 00 0 00 021203 MOVEI USSR1
1007 021201 202 00 0 00 030012 MOVEM RETURN
1008 021202 254 00 0 00 021111 JRST XPNRN3 ;GO TO PROGRAM
1009
1010 ;*USSR1 - PROGRAM COMPLETION CONTROL
1011
1012 021203 077000 000000 USSR1: 77B8 ;MUUO 77, RETURN TO EXEC MODE
1013 021204 200 17 0 00 025144 USSR2: MOVE P,[-40,,PLIST] ;RESTORE STACK
1014 021205 332 00 0 00 020006 SKIPE USER
1015 021206 254 00 0 00 020001 JRST RESTRT ;USER MODE, COMPLETED
1016 021207 332 00 0 00 020010 SKIPE KLFLG
1017 021210 254 00 0 00 021223 JRST USSR3
1018 021211 7 000 14 0 00 025271 DATAO APR,[IMGNOF,,ISPDOF] ;CLEAR CLOCK & VOLTAGE MARGINS
1019 021212 7 010 14 0 00 025272 DATAO PAG,[LDUSRB,,LDEXCB] ;CLEAR BASE REGISTER
1020 021213 336 00 0 00 025533 SKIPN MRGNF ;MARGINNING ?
1021 021214 254 00 0 00 021225 JRST USSR4 ;NO, CHECK SPECIAL USER
1022 021215 254 00 0 00 021241 JRST MRGIN ;YES, SETUP MARGINS
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 26
DIAMON MAC 23-Apr-80 13:27 SPECIAL RUN SEQUENCING SEQ 0057
1023 021216 201 00 0 00 021054 PAGKL: MOVEI 0,USRERR+1
1024 021217 202 00 0 00 017427 MOVEM 0,UPMP+427
1025 021220 7 010 20 0 00 020000 CONO PAG,TRPENB
1026 021221 7 010 14 0 00 025273 DATAO PAG,[LLDUSB,,400000!<UPMP_-^D9>]
1027 021222 254 00 0 00 020423 JRST CPOPJ1
1028
1029 021223 7 010 20 0 00 020000 USSR3: CONO PAG,TRPENB
1030 021224 7 010 14 0 00 025274 DATAO PAG,[LLDUSB,,400000]
1031
1032 021225 332 00 0 00 020012 USSR4: SKIPE SUSERF ;RUNNING SPECIAL USER ?
1033 021226 376 00 0 00 025555 SOSN USRITR ;YES, FINISHED USER ITERATIONS ?
1034 021227 254 00 0 00 020001 JRST RESTRT ;FINISHED ALL ITERATIONS
1035 021230 254 00 0 00 021071 JRST XPNRN1 ;NOT FINISHED, CONTINUE
1036
1037 021231 7 000 24 0 00 000000 MRGNCK: CONI APR,0
1038 021232 603 00 0 00 002000 TLNE 0,IMGINM ;MARGIN ENABLE SET ?
1039 021233 254 00 0 00 021241 JRST MRGIN ;YES, GO MARGIN
1040 021234 201 00 0 00 025275 MOVEI MSG <^'MARGIN ENABLE' NOT SET ?^>^[SIXBIT\^'MARGIN ENABLE' NOT SET ?^_\]^
1041 021235 336 00 0 00 025637 SKIPN MGNONC ;MESSAGE BEEN PRINTED ?
1042 021236 260 17 0 00 021426 PNTMSG
1043 021237 476 00 0 00 025637 SETOM MGNONC
1044 021240 254 00 0 00 021071 JRST XPNRN1
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 27
DIAMON MAC 23-Apr-80 13:27 VOLTAGE MARGINNING ROUTINE SEQ 0058
1045 SUBTTL VOLTAGE MARGINNING ROUTINE
1046
1047 021241 476 00 0 00 025533 MRGIN: SETOM MRGNF
1048 021242 200 01 0 00 025641 MOVE 1,MGNWRD ;GET PREVIOUS VALUE
1049 021243 405 01 0 00 000077 ANDI 1,77
1050 021244 200 02 0 00 025531 MOVE 2,MGNINC
1051 021245 200 00 0 00 025640 MOVE MGNCNT
1052 021246 405 00 0 00 000003 ANDI 3
1053 021247 326 00 0 00 021265 JUMPN 0,VCNT1-2
1054 021250 201 00 0 00 000031 VCNT0: MOVEI 0,VOLT5 ;MGNCNT=0, INITIALIZE
1055 021251 504 00 0 00 025642 HRL 0,MGNADR ;APR DATAO WORD
1056 021252 661 00 0 00 001000 TLO 0,IMGNON
1057 021253 202 00 0 00 025641 MOVEM 0,MGNWRD
1058 021254 200 00 0 00 025642 MOVE 0,MGNADR
1059 021255 336 00 0 00 025643 SKIPN RACKF ;RACK SPECIFIED ?
1060 021256 350 00 0 00 000000 AOS 0 ;NO, INC MARGIN ADDRESS
1061 021257 405 00 0 00 000037 ANDI 0,37
1062 021260 202 00 0 00 025642 MOVEM 0,MGNADR
1063 021261 350 00 0 00 025640 AOS MGNCNT
1064 021262 201 00 0 00 000001 MOVEI 0,1
1065 021263 202 00 0 00 020005 MOVEM ITERAT ;PROG, 1 PASS PER VALUE
1066 021264 254 00 0 00 021071 JRST XPNRN1 ;GO RUN
1067 021265 302 00 0 00 000001 CAIE 0,1
1068 021266 254 00 0 00 021276 JRST VCNT2-2
1069 021267 307 01 0 00 000015 VCNT1: CAIG 1,VOLT5-VOLTLM ;MGNCNT=1, MARGIN POSITIVE
1070 021270 254 00 0 00 021274 JRST .+4 ;COMPLETED SWING !
1071 021271 210 02 0 00 000002 MGNGO2: MOVN 2,2 ;NEGATE INCREMENT FOR
1072 021272 272 02 0 00 025641 ADDM 2,MGNWRD ;CORRECT VALUE CHANGE
1073 021273 254 00 0 00 021071 JRST XPNRN1
1074 021274 350 00 0 00 025640 MGNGO: AOS MGNCNT ;CHANGE COUNTER
1075 021275 254 00 0 00 021241 JRST MRGIN
1076 021276 302 00 0 00 000002 CAIE 0,2
1077 021277 254 00 0 00 021304 JRST VCNT3
1078 021300 301 01 0 00 000045 VCNT2: CAIL 1,VOLT5+VOLTLM ;MGNCNT=2, MARGIN NEGATIVE
1079 021301 254 00 0 00 021274 JRST MGNGO ;COMPLETED SWING !
1080 021302 272 02 0 00 025641 ADDM 2,MGNWRD ;NO, CHANGE MARGIN VALUE
1081 021303 254 00 0 00 021071 JRST XPNRN1 ;GO RUN
1082 021304 302 01 0 00 000031 VCNT3: CAIE 1,VOLT5 ;MGNCNT=3, BACK TO 5V
1083 021305 254 00 0 00 021271 JRST MGNGO2
1084 021306 350 00 0 00 025640 MGNGO1: AOS MGNCNT
1085 021307 332 00 0 00 025643 SKIPE RACKF ;ONLY ONE RACK ?
1086 021310 254 00 0 00 021313 JRST .+3 ;YES
1087 021311 332 00 0 00 025642 SKIPE MGNADR ;CYCLED ALL RACKS ?
1088 021312 254 00 0 00 021241 JRST MRGIN ;NO
1089 021313 376 00 0 00 025532 SOSN MGNITR ;YES, COMPLETED ITERATIONS ?
1090 021314 254 00 0 00 020001 JRST RESTRT ;YES, THIS PROGRAM COMPLETED
1091 021315 254 00 0 00 021241 JRST MRGIN ;NO, MAKE ANOTHER MARGIN PASS
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 28
DIAMON MAC 23-Apr-80 13:27 SPECIAL USER MODE I/O HANDLER SEQ 0059
1092 SUBTTL SPECIAL USER MODE I/O HANDLER
1093
1094 021316 202 00 0 00 025503 MUUOH: MOVEM 0,ACS0# ;SAVE AC0 AND AC1
1095 021317 202 01 0 00 025504 MOVEM 1,ACS1#
1096 021320 554 01 0 00 017424 HLRZ 1,UPMP+MUUO ;GET MUUO INSTRUCTION FIELD
1097 021321 242 01 0 00 777767 LSH 1,-^D9
1098 021322 306 01 0 00 000257 CAIN 1,257
1099 021323 254 00 0 00 021334 JRST EXC ;IF MAP, DO AS MUUO FOR KL10
1100 021324 200 01 0 00 017424 MOVE 1,UPMP+MUUO ;GET MUUO
1101 021325 325 01 0 00 021376 JUMPGE 1,JRSTX ;A JRST, JEN OR MUUO
1102 021326 607 01 0 00 077000 TLNN 1,077000
1103 021327 254 00 0 00 021361 JRST CPI ;AN I/O TO CP OR PI
1104 021330 607 01 0 00 000200 CP2: TLNN 1,200
1105 021331 254 00 0 00 021366 JRST DB ;DATAI, DATAO, OR BLOCK
1106 021332 603 01 0 00 000040 TLNE 1,40 ;A CONO, CONI, CONSZ, CONSO
1107 021333 254 00 0 00 021370 JRST RL ;CONI
1108 021334 200 01 0 00 025504 EXC: MOVE 1,ACS1 ;RESTORE AC1
1109 021335 256 00 0 00 017424 XCT UPMP+MUUO ;EXECUTE
1110 021336 334 00 0 00 000000 SKIPA
1111 021337 350 00 0 00 017425 AOS UPMP+MUUOPC ;INC RETURN IF CONSO, CONSZ SKIP
1112 021340 202 01 0 00 025504 EXC1: MOVEM 1,ACS1 ;RESAVE AC1
1113 021341 332 00 0 00 020010 SKIPE KLFLG
1114 021342 254 00 0 00 021354 JRST EXC4
1115 021343 7 010 14 0 00 025270 DATAO PAG,[LDUSRB!USRCMP!<UPMP_-^D9>,,LDEXCB!TRPENB]
1116 021344 200 01 0 00 017425 EXC5: MOVE 1,UPMP+MUUOPC ;SETUP RETURN
1117 021345 661 01 0 00 010000 TLO 1,USERF
1118 021346 502 01 0 00 021352 HLLM 1,EXC2 ;SETUP FLAGS
1119 021347 542 01 0 00 021353 HRRM 1,EXC3 ;SETUP RETURN PC
1120 021350 200 01 0 00 025504 MOVE 1,ACS1 ;RESTORE AC1
1121 021351 254 02 1 00 021352 JRSTF @.+1 ;RESTORE FLAGS, GO TO USER
1122 021352 000000 021353 EXC2: 0,,.+1
1123 021353 254 01 0 00 000000 EXC3: JRST 1,0 ;ENTRY
1124
1125 021354 7 010 24 0 00 000001 EXC4: CONI PAG,1
1126 021355 660 01 0 00 020000 TRO 1,TRPENB
1127 021356 7 010 20 0 01 000000 CONO PAG,(1)
1128 021357 7 010 14 0 00 025273 DATAO PAG,[LLDUSB,,400000!<UPMP_-^D9>]
1129 021360 254 00 0 00 021344 JRST EXC5
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 29
DIAMON MAC 23-Apr-80 13:27 SPECIAL USER MODE I/O HANDLER SEQ 0060
1130 021361 607 01 0 00 000200 CPI: TLNN 1,200 ;AN I/O TO CP OR PI SYSTEM
1131 021362 607 01 0 00 000100 TLNN 1,100
1132 021363 607 01 0 00 000140 TLNN 1,140
1133 021364 254 00 0 00 021334 JRST EXC ;CONO, DATAO, BLOCK
1134 021365 254 00 0 00 021330 JRST CP2
1135
1136 021366 667 01 0 00 000040 DB: TLON 1,40 ;IS IT A BLK I/O ?
1137 021367 254 00 0 00 021371 JRST DB1 ;YES
1138 021370 254 00 0 00 021334 RL: JRST EXC ;NO NEED TO RELOCATE
1139
1140 021371 502 01 0 00 017424 DB1: HLLM 1,UPMP+MUUO
1141 021372 7 774 10 0 01 000000 BLKO 774,(1) ;UPDATE THE POINTER
1142 021373 334 00 0 00 000000 SKIPA ;NO SKIP
1143 021374 350 00 0 00 017425 AOS UPMP+MUUOPC ;INC RETURN FOR SKIP
1144 021375 254 00 0 00 021370 JRST RL
1145
1146 021376 603 01 0 00 700000 JRSTX: TLNE 1,700000
1147 021377 254 00 0 00 021404 JRST JRSTX1
1148 021400 641 01 0 00 077000 TLC 1,077000
1149 021401 643 01 0 00 077000 TLCE 1,077000
1150 021402 254 00 0 00 021051 JRST MUUOER ;INCORRECT MUUO
1151 021403 254 00 0 00 021204 JRST USSR2 ;MUUO 77, RETURN TO DIAG MON
1152 021404 603 01 0 00 000200 JRSTX1: TLNE 1,200
1153 021405 254 04 1 00 017425 HALT @UPMP+MUUOPC ;HALT, POINTING TO ACTUAL HALT
1154 021406 254 10 0 00 021407 JRST 10,.+1 ;JEN, DISMISS INTERRUPT
1155 021407 254 00 0 00 021340 JRST EXC1
1156
1157 ;*SAXPN - STANDALONE EXPANDED RUNNING
1158 ;* SPECIAL USER AND/OR MARGINS
1159
1160 021410 332 00 0 00 020006 SAXPN: SKIPE USER
1161 021411 254 00 0 00 020045 JRST SELECT ;ILLEGAL IN USER MODE
1162 021412 336 00 0 00 020010 SKIPN KLFLG
1163 021413 332 00 0 00 020011 SKIPE KAIFLG
1164 021414 254 00 0 00 021416 JRST .+2
1165 021415 254 00 0 00 020045 JRST SELECT ;ILLEGAL ON KA10
1166 021416 476 00 0 00 020005 SETOM ITERAT ;RUN PROGRAM FOREVER
1167 021417 260 17 0 00 022043 SWITCH
1168 021420 505 00 0 00 777777 HRLI -1
1169 021421 202 00 0 00 030043 MOVEM MONCTL ;LH = -PASS CNT, RH = RH SWS
1170
1171 021422 260 17 0 00 020710 GO STRD2 ;SETUP EXPANDED FEATURES
1172
1173 021423 332 00 0 00 025635 SKIPE USRFLG ;IF SPECIAL USER WAS SELECTED
1174 021424 476 00 0 00 020012 SETOM SUSERF ;SET FLAG TO RUN THAT WAY
1175
1176 021425 254 00 0 00 021057 JRST XPNRUN ;GO RUN PROGRAM
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 30
DIAMON MAC 23-Apr-80 13:27 MESSAGE PRINTER SEQ 0061
1177 SUBTTL MESSAGE PRINTER
1178
1179 ;*PNTMSG - PRINT SIXBIT MESSAGES
1180
1181 021426 261 17 0 00 000002 $PSIX: PUT 2
1182 021427 261 17 0 00 000003 PUT 3
1183 021430 261 17 0 00 000004 PUT 4
1184 021431 550 04 0 00 000000 HRRZ 4,0 ;MESSAGE ADDRESS
1185
1186 021432 201 03 0 00 000006 $PSIX1: MOVEI 3,6 ;6 CHARS PER 6BIT WORD
1187 021433 200 01 0 04 000000 MOVE 1,(4) ;GET FIRST/NEXT WORD OF MESSAGE
1188
1189 021434 400 02 0 00 000000 $PSIX2: SETZ 2,
1190 021435 245 01 0 00 000006 ROTC 1,6 ;C(AC2)= CHAR TO BE PRINTED
1191 021436 306 02 0 00 000077 CAIN 2,77
1192 021437 254 00 0 00 021455 JRST $PSIX5 ;"BACKARROW", DONE
1193 021440 306 02 0 00 000076 CAIN 2,76
1194 021441 254 00 0 00 021450 JRST $PSIX4 ;"UPARROW", CR/LF
1195 021442 306 02 0 00 000075 CAIN 2,75
1196 021443 201 02 0 00 000151 MOVEI 2,151 ;"BRACKET", CHANGE TO TAB
1197 021444 201 00 0 02 000040 MOVEI 0,40(2) ;CHANGE TO ASCII
1198 021445 260 17 0 00 021513 GO PRINT ;PRINT CHAR
1199 021446 366 03 0 00 021434 $PSIX3: SOJN 3,$PSIX2 ;PRINTED ALL CHARS FROM THIS WORD ?
1200 021447 344 04 0 00 021432 AOJA 4,$PSIX1 ;YES, DO NEXT WORD
1201
1202 021450 201 00 0 00 000015 $PSIX4: MOVEI 15
1203 021451 260 17 0 00 021513 GO PRINT ;PRINT CR
1204 021452 201 00 0 00 000012 MOVEI 12
1205 021453 260 17 0 00 021513 GO PRINT ;PRINT LF
1206 021454 254 00 0 00 021446 JRST $PSIX3
1207
1208 021455 262 17 0 00 000004 $PSIX5: GET 4
1209 021456 262 17 0 00 000003 GET 3
1210 021457 262 17 0 00 000002 GET 2
1211 021460 263 17 0 00 000000 RTN
1212
1213 ;*PNTAL - PRINT ASCII MESSAGES
1214
1215 021461 354 00 0 00 021463 TOUTA: AOSA .+2 ;INCREMENT MSG ADDRESS
1216 021462 542 00 0 00 021463 TOUT: HRRM 0,.+1 ;C(0) = ADR OF MSG
1217 021463 200 01 0 00 000000 MOVE 1,0 ;GET CHARACTERS
1218 021464 660 01 0 00 000001 TRO 1,1 ;SET FLAG BIT
1219 021465 246 00 0 00 000007 LSHC 0,7 ;CHAR TO 0
1220 021466 405 00 0 00 000177 ANDI 177 ;MASK
1221 021467 336 00 0 00 000000 SKIPN 0 ;IF NULL, EXIT
1222 021470 263 17 0 00 000000 RTN
1223 021471 260 17 0 00 021513 GO PRINT ;PRINT C(0)
1224 021472 312 01 0 00 025302 CAME 1,[400000,,0]
1225 021473 254 00 0 00 021465 JRST TOUT+3 ;GET NEXT CHAR IN WORD
1226 021474 254 00 0 00 021461 JRST TOUTA ;GET NEXT WORD
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 31
DIAMON MAC 23-Apr-80 13:27 MESSAGE PRINTER SEQ 0062
1227 ;*PNTOCT - PRINT OCTAL NUMBERS
1228
1229 021475 201 02 0 00 000006 PNTOCT: MOVEI 2,6 ;OCTAL PRINT
1230 021476 504 01 0 00 000000 HRL 1,0
1231 021477 201 00 0 00 000006 MOVEI 0,6
1232 021500 246 00 0 00 000003 LSHC 0,3
1233 021501 260 17 0 00 021513 GO PRINT
1234 021502 367 02 0 00 021477 SOJG 2,PNTOCT+2
1235 021503 263 17 0 00 000000 RTN
1236
1237 ;*PNTDEC - PRINT DECIMAL NUMBERS
1238
1239 021504 231 00 0 00 000012 PNTDEC: IDIVI 0,^D10 ;DECIMAL PRINTER
1240 021505 506 01 0 17 000000 HRLM 1,(P)
1241 021506 332 00 0 00 000000 SKIPE 0
1242 021507 260 17 0 00 021504 GO PNTDEC
1243 021510 554 00 0 17 000000 HLRZ 0,(P)
1244 021511 271 00 0 00 000060 ADDI 0,"0"
1245 021512 254 00 0 00 021513 JRST PRINT
1246
1247 ;*PRINT - PRINT AN ASCII CHARACTER
1248
1249 021513 350 00 0 00 025652 PRINT: AOS CHRCTR
1250 021514 202 01 0 00 025654 MOVEM 1,SAVAC1
1251 021515 405 00 0 00 000177 ANDI 177
1252 021516 202 00 0 00 025653 MOVEM 0,SAVAC0
1253 021517 552 00 0 00 000001 HRRZM 0,1
1254 021520 640 00 0 00 000200 TRC 0,200 ;COMPUTE CHAR PARITY
1255 021521 405 01 0 01 777777 ANDI 1,-1(1)
1256 021522 326 01 0 00 021520 JUMPN 1,.-2
1257 021523 302 00 0 00 000011 CAIE 11
1258 021524 254 00 0 00 021534 JRST PRINT1 ;NOT TAB
1259 021525 370 00 0 00 025652 SOS CHRCTR
1260 021526 201 00 0 00 000240 MOVEI 240
1261 021527 260 17 0 00 021534 GO PRINT1
1262 021530 350 01 0 00 025652 AOS 1,CHRCTR ;OUTPUT REQUIRED SPACE'S FOR TAB FUNCTION
1263 021531 602 01 0 00 000007 TRNE 1,7
1264 021532 254 00 0 00 021526 JRST .-4
1265 021533 254 00 0 00 021557 JRST PRINT2
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 32
DIAMON MAC 23-Apr-80 13:27 MESSAGE PRINTER SEQ 0063
1266 021534 306 00 0 00 000012 PRINT1: CAIN 0,12 ;LF ?
1267 021535 402 00 0 00 025652 SETZM CHRCTR ;YES, CLEAR CHAR COUNTER
1268 021536 306 00 0 00 000014 CAIN 0,14 ;FORM FEED ?
1269 021537 402 00 0 00 025652 SETZM CHRCTR ;YES, CLEAR CHAR COUNTER
1270 021540 332 00 0 00 025627 SKIPE LPTFLG
1271 021541 254 00 0 00 021604 JRST PNTLPT ;PRINT ON LINE PRINTER
1272 021542 332 00 0 00 020006 SKIPE USER
1273 021543 254 00 0 00 021565 JRST PRINT4
1274 021544 332 00 0 00 020010 SKIPE KLFLG
1275 021545 254 00 0 00 021562 JRST PRINT3
1276 021546 336 00 0 00 025507 SKIPN CNTLOF ;CONTROL O'ED ?
1277 021547 7 120 14 0 00 000000 DATAO TTY,0 ;TYPE CHAR
1278 021550 260 17 0 00 021644 GO TTYCHK ;CHECK FOR OPERATOR CONTROL
1279 021551 7 120 34 0 00 000010 CONSO TTY,10
1280 021552 254 00 0 00 021550 JRST .-2
1281 021553 306 00 0 00 000215 CAIN 215
1282 021554 254 00 0 00 021572 JRST FILLCR ;FILL CR
1283 021555 306 00 0 00 000012 CAIN 12
1284 021556 254 00 0 00 021575 JRST FILLLF ;FILL LF
1285 021557 200 01 0 00 025654 PRINT2: MOVE 1,SAVAC1
1286 021560 200 00 0 00 025653 MOVE 0,SAVAC0
1287 021561 263 17 0 00 000000 RTN ;EXIT
1288
1289 021562 405 00 0 00 000177 PRINT3: ANDI 0,177 ;KL10 PRINT
1290 021563 260 17 0 00 022072 GO $DTEXX
1291 021564 254 00 0 00 021557 JRST PRINT2
1292
1293 021565 051 01 0 00 000000 PRINT4: OUTCHR
1294 021566 254 00 0 00 021557 JRST PRINT2
1295
1296 ;*MISCELLANEOUS
1297
1298 021567 CRLF1: PMSG <^>^
1299 021567 201 00 0 00 025174 MOVEI [SIXBIT\^_\]
1300 021570 260 17 0 00 021426 PNTMSG^
1301 021571 263 17 0 00 000000 RTN
1302
1303 021572 402 00 0 00 025507 FILLCR: SETZM CNTLOF# ;CLEAR CONTROL O FLAG
1304 021573 200 01 0 00 025656 MOVE 1,FCRCNT ;GET CR FILL COUNT
1305 021574 254 00 0 00 021600 JRST FILLX+2 ;SEND EXTRA CR
1306
1307 021575 200 01 0 00 025657 FILLLF: MOVE 1,FLFCNT ;GET LF FILL COUNT
1308 021576 361 01 0 00 021557 FILLX: SOJL 1,PRINT2
1309 021577 201 00 0 00 000000 MOVEI 0,0 ;USE 000 AS FILLER
1310 021600 7 120 14 0 00 000000 DATAO TTY,0
1311 021601 7 120 34 0 00 000010 CONSO TTY,10
1312 021602 254 00 0 00 021601 JRST .-1
1313 021603 254 00 0 00 021576 JRST FILLX
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 33
DIAMON MAC 23-Apr-80 13:27 MESSAGE PRINTER SEQ 0064
1314 ;*PNTLPT - LINE PRINTER DRIVER
1315
1316 021604 201 01 0 00 321206 PNTLPT: MOVEI 1,^D<<1000*750>/7>
1317 021605 405 00 0 00 000177 ANDI 0,177
1318 021606 242 00 0 00 000001 LSH 0,1
1319 021607 7 124 14 0 00 000000 DATAO LPT,0
1320 021610 336 00 0 00 020010 SKIPN KLFLG
1321 021611 260 17 0 00 021644 GO TTYCHK ;CHECK FOR ABORT
1322 021612 7 124 34 0 00 000100 CONSO LPT,100 ;WAIT APPROX 750 MS
1323 021613 367 01 0 00 021610 SOJG 1,.-3
1324 021614 337 00 0 00 000001 SKIPG 1 ;DID LPT RESPOND ?
1325 021615 260 17 0 00 021617 GO LPTOFL ;ASK OPERATOR TO REENABLE IT
1326 021616 254 00 0 00 021557 JRST PRINT2
1327
1328 ;*LPTOFL - LINE PRINTER OFF-LINE
1329
1330 021617 261 17 0 00 000000 LPTOFL: PUT 0
1331 021620 261 17 0 00 000001 PUT 1
1332 021621 261 17 0 00 025653 PUT SAVAC0
1333 021622 261 17 0 00 025654 PUT SAVAC1
1334 021623 261 17 0 00 025652 PUT CHRCTR
1335 021624 402 00 0 00 025627 SETZM LPTFLG ;SEND MESSAGE TO TTY
1336 021625 200 01 0 00 025303 MOVE 1,[POINT 7,LOFMSG]
1337 021626 134 00 0 00 000001 ILDB 0,1
1338 021627 322 00 0 00 021632 JUMPE 0,.+3
1339 021630 260 17 0 00 021513 GO PRINT
1340 021631 254 00 0 00 021626 JRST .-3
1341 021632 260 17 0 00 021673 TTICHR ;WAIT FOR OPERATOR
1342 021633 302 00 0 00 000012 CAIE 12
1343 021634 254 00 0 00 021632 JRST .-2
1344 021635 476 00 0 00 025627 SETOM LPTFLG ;REENABLE LINE PRINTER
1345 021636 262 17 0 00 025652 GET CHRCTR
1346 021637 262 17 0 00 025654 GET SAVAC1
1347 021640 262 17 0 00 025653 GET SAVAC0
1348 021641 262 17 0 00 000001 GET 1
1349 021642 262 17 0 00 000000 GET 0
1350 021643 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 34
DIAMON MAC 23-Apr-80 13:27 MESSAGE PRINTER SEQ 0065
1351 ;*TTYCHK - TELETYPE CHECK ROUTINE
1352
1353 021644 332 00 0 00 025554 TTYCHK: SKIPE TTYCFLG# ;INPUT CHECKING ALLOWED ?
1354 021645 263 17 0 00 000000 RTN ;NO
1355 021646 7 120 34 0 00 000040 CONSO TTY,40 ;ANY TYPEIN ?
1356 021647 263 17 0 00 000000 RTN ;NO
1357 021650 261 17 0 00 000000 PUT 0
1358 021651 7 120 04 0 00 000000 DATAI TTY,0 ;GET CHAR
1359 021652 405 00 0 00 000177 ANDI 0,177
1360 021653 306 00 0 00 000003 CAIN 0,003
1361 021654 254 00 0 00 020045 JRST SELECT ;^C, START OVER
1362 021655 306 00 0 00 000004 CAIN 0,004
1363 021656 254 00 0 00 021711 JRST TTYIND ;^D, START DDT
1364 021657 306 00 0 00 000017 CAIN 0,017
1365 021660 476 00 0 00 025507 SETOM CNTLOF ;^O, INHIBIT OUTPUT
1366 021661 262 17 0 00 000000 GET 0
1367 021662 263 17 0 00 000000 RTN
1368
1369 021663 LOFMSG: ASCIZ/
1370 021663 015 012 114 120 124 LPT OFF-LINE, TYPE CR WHEN READY - /
1371 021664 040 117 106 106 055
1372 021665 114 111 116 105 054
1373 021666 040 124 131 120 105
1374 021667 040 103 122 040 127
1375 021670 110 105 116 040 122
1376 021671 105 101 104 131 040
1377 021672 055 040 000 000 000
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 35
DIAMON MAC 23-Apr-80 13:27 TELETYPE INPUT SEQ 0066
1378 SUBTTL TELETYPE INPUT
1379
1380 ;*TTICHR - INPUT A TELETYPE CHARACTER
1381
1382 021673 402 00 0 00 025507 TTYIN: SETZM CNTLOF
1383 021674 476 00 0 00 025554 SETOM TTYCFLG ;PREVENT INPUT CHECKS ON ECHO
1384 021675 332 00 0 00 020006 SKIPE USER
1385 021676 254 00 0 00 021751 JRST TTYINU
1386 021677 332 00 0 00 020010 SKIPE KLFLG
1387 021700 254 00 0 00 021744 JRST TTYKL
1388 021701 7 120 34 0 00 000040 CONSO TTY,40 ;WAIT FOR TYPEIN
1389 021702 254 00 0 00 021701 JRST .-1
1390 021703 7 120 04 0 00 000000 DATAI TTY,0 ;READ CHAR
1391
1392 ;*TTYINX - CHECK FOR SPECIAL CHAR PROCESS
1393
1394 021704 405 00 0 00 000177 TTYINX: ANDI 177 ;CLEAR PARITY BIT
1395 021705 306 00 0 00 000003 CAIN 003
1396 021706 254 00 0 00 020045 JRST SELECT ;^C, START OVER
1397 021707 302 00 0 00 000004 CAIE 004
1398 021710 254 00 0 00 021715 JRST .+5
1399
1400 ;*TTYIND - TRANSFER TO DDT
1401
1402 021711 200 00 0 00 010001 TTYIND: MOVE KLDDT+1 ;GET DDT IDENTIFIER
1403 021712 316 00 0 00 025304 CAMN [ASCII/DDT/]
1404 021713 254 00 0 00 000441 JRST $DDT ;^D, START DDT
1405 021714 254 00 0 00 020045 JRST SELECT ;NOT THERE, START OVER
1406 021715 306 00 0 00 000177 CAIN 177
1407 021716 254 00 0 00 021742 JRST TTYEXT ;RUBOUT
1408 021717 332 00 0 00 025644 SKIPE SCFLAG ;IN COMMENT ?
1409 021720 254 00 0 00 021723 JRST TTYINA
1410 021721 306 00 0 00 000040 CAIN 40 ;SPACE, CHANGE TO TAB
1411 021722 201 00 0 00 000011 MOVEI 11
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 36
DIAMON MAC 23-Apr-80 13:27 TELETYPE INPUT SEQ 0067
1412 ;*TTYINA - COMPLETE CHARACTER PROCESS
1413
1414 021723 306 00 0 00 000033 TTYINA: CAIN 33
1415 021724 254 00 0 00 022032 JRST TTALTM ;ALTMODE
1416 021725 306 00 0 00 000176 CAIN 176
1417 021726 254 00 0 00 022032 JRST TTALTM ;ALTMODE
1418 021727 306 00 0 00 000175 CAIN 175
1419 021730 254 00 0 00 022032 JRST TTALTM ;ALTMODE
1420 021731 336 00 0 00 020006 SKIPN USER
1421 021732 260 17 0 00 021513 GO PRINT
1422 021733 301 00 0 00 000140 CAIL 140 ;CONVERT TO UPPER CASE
1423 021734 620 00 0 00 000040 TRZ 40
1424 021735 302 00 0 00 000015 CAIE 15 ;IF CR
1425 021736 254 00 0 00 021742 JRST TTYEXT
1426 021737 201 00 0 00 000012 MOVEI 12 ;PRINT AND EXIT WITH LF
1427 021740 402 00 0 00 025652 SETZM CHRCTR
1428 021741 254 00 0 00 021723 JRST TTYINA
1429
1430 021742 402 00 0 00 025554 TTYEXT: SETZM TTYCFLG
1431 021743 263 17 0 00 000000 RTN
1432
1433 ;*TTYKL - KL10 CHARACTER INPUT
1434
1435 021744 201 00 0 00 003400 TTYKL: MOVEI 3400 ;USE DDT MODE
1436 021745 260 17 0 00 022072 GO $DTEXX
1437 021746 405 00 0 00 000177 ANDI 0,177
1438 021747 322 00 0 00 021744 JUMPE 0,TTYKL ;WAIT FOR RESPONSE
1439 021750 254 00 0 00 021704 JRST TTYINX
1440
1441 ;*TTYINU - USER MODE CHARACTER INPUT
1442
1443 021751 051 04 0 00 000000 TTYINU: INCHWL
1444 021752 302 00 0 00 000015 CAIE 0,15
1445 021753 254 00 0 00 021704 JRST TTYINX
1446 021754 402 00 0 00 025652 SETZM CHRCTR
1447 021755 051 00 0 00 000000 INCHRW ;IF CR, GET LF
1448 021756 254 00 0 00 021704 JRST TTYINX
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 37
DIAMON MAC 23-Apr-80 13:27 TELETYPE INPUT SEQ 0068
1449 ;*USER MODE LH SWITCHES FOR CHAIN OPERATION
1450
1451 021757 LHSWS: PMSG <LH SWS - >^
1452 021757 201 00 0 00 025305 MOVEI [SIXBIT\LH SWS - _\]
1453 021760 260 17 0 00 021426 PNTMSG^
1454 021761 260 17 0 00 021765 TTIOCT
1455 021762 254 00 0 00 021757 JRST LHSWS
1456 021763 516 00 0 00 020007 HRLZM 0,CONSW
1457 021764 263 17 0 00 000000 RTN
1458
1459 ;*TTIOCT - TELETYPE OCTAL NUMBER INPUT
1460
1461 021765 403 12 0 00 000013 TTYOCT: SETZB DIGIT,DIGITA
1462 021766 260 17 0 00 021673 TTYOC1: TTICHR ;INPUT A CHAR
1463 021767 306 00 0 00 000012 CAIN 12 ;CR(LF), DONE
1464 021770 254 00 0 00 022000 JRST TTYOC2
1465
1466 021771 301 00 0 00 000060 CAIL "0" ;A VALID DIGIT ?
1467 021772 303 00 0 00 000067 CAILE "7"
1468 021773 254 00 0 00 022002 JRST TTYOC3 ;NO
1469
1470 021774 200 13 0 00 000000 MOVE DIGITA,0
1471 021775 242 13 0 00 000041 LSH DIGITA,^D33
1472 021776 246 12 0 00 000003 LSHC DIGIT,3 ;INSERT NEW OCTAL
1473 021777 254 00 0 00 021766 JRST TTYOC1
1474
1475 022000 200 00 0 00 000012 TTYOC2: MOVE 0,DIGIT ;PUT NUMBER IN AC0
1476 022001 254 00 0 00 020423 JRST CPOPJ1
1477
1478 022002 332 00 0 00 020006 TTYOC3: SKIPE USER
1479 022003 051 11 0 00 000000 CLRBFI ;CLEAR USER INPUT
1480 022004 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 38
DIAMON MAC 23-Apr-80 13:27 TELETYPE INPUT SEQ 0069
1481 ;*READ - COMMAND FILE READ PROCESS
1482
1483 022005 332 00 0 00 025626 READ: SKIPE DINFLG ;DEVICE COMMAND LIST
1484 022006 254 00 0 00 020425 JRST DEVRD ;YES
1485 022007 254 00 0 00 021673 JRST TTYIN ;TTY REQUESTED
1486 022010 405 00 0 00 000177 READ1: ANDI 177
1487 022011 306 00 0 00 000177 CAIN 177
1488 022012 263 17 0 00 000000 RTN ;RUBOUT
1489 022013 332 00 0 00 025644 SKIPE SCFLAG ;IN COMMENT ?
1490 022014 254 00 0 00 022017 JRST .+3 ;YES
1491 022015 306 00 0 00 000040 CAIN 40 ;SPACE, CHANGE TO TAB
1492 022016 201 00 0 00 000011 MOVEI 11
1493 022017 332 00 0 00 025624 SKIPE TAPEPF ;PRINT TAPE ?
1494 022020 260 17 0 00 021513 GO PRINT ;YES
1495 022021 301 00 0 00 000140 CAIL 140 ;CONVERT TO UPPER CASE
1496 022022 620 00 0 00 000040 TRZ 40
1497 022023 306 00 0 00 000012 CAIN 12 ;IF LF IGNORE
1498 022024 254 00 0 00 022005 JRST READ
1499 022025 306 00 0 00 000014 CAIN 14 ;IF FF IGNORE
1500 022026 254 00 0 00 022005 JRST READ
1501 022027 306 00 0 00 000015 CAIN 15 ;IF CR CHANGE TO LF
1502 022030 201 00 0 00 000012 MOVEI 12
1503 022031 254 00 0 00 021742 JRST TTYEXT
1504
1505 ;*TTALTM - ALTMODE PROCESS
1506
1507 022032 476 00 0 00 025633 TTALTM: SETOM ALTMFLG ;SET ALTMODE FLAG
1508 022033 201 00 0 00 000044 MOVEI "$" ;PRINT $ CR/LF
1509 022034 336 00 0 00 020006 SKIPN USER ;DON'T PRINT $ IF USER
1510 022035 260 17 0 00 021513 GO PRINT
1511 022036 260 17 0 00 021567 GO CRLF1
1512 022037 201 00 0 00 000012 MOVEI 12 ;RETURN WITH LF
1513 022040 263 17 0 00 000000 RTN
1514
1515 022041 201 00 0 00 000011 PNTTAB: MOVEI " "
1516 022042 254 00 0 00 021513 JRST PRINT ;PRINT A TAB & RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 39
DIAMON MAC 23-Apr-80 13:27 SPECIAL ROUTINES SEQ 0070
1517 SUBTTL SPECIAL ROUTINES
1518
1519 ;*SWITCH - READ CONSOLE SWITCHES
1520
1521 022043 332 00 0 00 020006 $SWITCH:SKIPE USER
1522 022044 254 00 0 00 022053 JRST $SWU
1523 022045 332 00 0 00 020010 SKIPE KLFLG
1524 022046 254 00 0 00 022051 JRST .+3
1525 022047 7 000 04 0 00 000000 DATAI APR,0 ;KA/KI, READ CONSOLE SWITCHES
1526 022050 263 17 0 00 000000 RTN
1527 022051 201 00 0 00 001400 MOVEI 1400 ;KL10, GET SWITCHES FROM PDP-11
1528 022052 254 00 0 00 022072 JRST $DTEXX
1529
1530 022053 200 00 0 00 020007 $SWU: MOVE 0,CONSW ;GET STORED SWITCHES
1531 022054 263 17 0 00 000000 RTN
1532
1533 ;*DTEINT - KL10 DTE20 INITIALIZATION
1534
1535 022055 332 00 0 00 020006 DTEINT: SKIPE USER
1536 022056 263 17 0 00 000000 RTN
1537 022057 402 00 0 00 000444 SETZM $DTFLG
1538 022060 402 00 0 00 000445 SETZM $DTCLK
1539 022061 402 00 0 00 000446 SETZM $DTCI
1540 022062 200 00 0 00 000453 MOVE $DTOPR ;GET OPERATIONAL DTE #
1541 022063 436 00 0 00 022074 ORM $$DTE0 ;INSERT IN DTE I/O INST
1542 022064 200 00 0 00 025307 MOVE [540000,,540001] ;SET UP PAGE TABLES
1543 022065 205 01 0 00 777620 MOVSI 1,-160 ;TO RESET CONDITION
1544 022066 202 00 0 01 000600 MOVEM 600(1)
1545 022067 270 00 0 00 025265 ADD [2,,2] ;SO PAGING
1546 022070 253 01 0 00 022066 AOBJN 1,.-2 ;CAN BE TURNED ON
1547 022071 263 17 0 00 000000 RTN
1548
1549 ;*$DTEXX - KL10 DTE20 COMMUNICATIONS
1550
1551 022072 202 00 0 00 000451 $DTEXX: MOVEM 0,$DTCMD ;SETUP COMMAND WORD
1552 022073 350 00 0 00 000452 AOS $DTSEQ
1553 022074 7 200 20 0 00 020000 $$DTE0: CONO DTE,20000 ;DONG PDP-11
1554 022075 336 00 0 00 000444 SKIPN $DTFLG
1555 022076 254 00 0 00 022075 JRST .-1 ;WAIT FOR REPLY
1556 022077 402 00 0 00 000444 SETZM $DTFLG
1557 022100 200 00 0 00 000450 MOVE 0,$DTF11 ;GET RESPONSE
1558 022101 263 17 0 00 000000 RTN
1559
1560 ;*DTECLR - KL10 DTE20 TELETYPE CLEAR
1561
1562 022102 332 00 0 00 020006 DTECLR: SKIPE USER
1563 022103 263 17 0 00 000000 RTN
1564 022104 336 00 0 00 020010 SKIPN KLFLG
1565 022105 263 17 0 00 000000 RTN
1566 022106 201 00 0 00 003000 MOVEI 3000 ;CLEAR DDT INPUT MODE
1567 022107 260 17 0 00 022072 GO $DTEXX
1568 022110 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 1
DEVLDR MAC 23-Apr-80 13:29 DEVICE BUFFER PARAMETERS SEQ 0071
1569 SUBTTL DEVICE BUFFER PARAMETERS
1570
1571 027000 LDBF= 27000 ;USER LOAD BUFFER
1572
1573 027002 TAB= LDBF+2 ;DECTAPE DIRECTORY BUFFER
1574
1575 027002 RBUF= TAB ;DISK RIB BUFFER
1576
1577 027203 LDBF1= RBUF+201 ;USER LOAD BUFFER # 2
1578
1579 027205 DBUF= LDBF1+2 ;DATA BUFFER
1580
1581 027406 LDBF2= DBUF+201 ;USER LOAD BUFFER # 3
1582
1583 027410 HBUF= LDBF2+2 ;HOME BUFFER
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 2
DEVLDR MAC 23-Apr-80 13:29 DEVICE SELECTION SEQ 0072
1584 SUBTTL DEVICE SELECTION
1585
1586 022111 402 00 0 00 025673 DEVSEL: SETZM PPN
1587 022112 402 00 0 00 025672 SETZM DEVICE
1588 022113 402 00 0 00 025556 SETZM VDTAFLG#
1589 022114 402 00 0 00 025523 SETZM KLDCPF#
1590 022115 402 00 0 00 025671 SETZM SRCHF
1591 022116 402 00 0 00 025536 SETZM PTFLG#
1592 022117 332 00 0 00 020006 SKIPE USER
1593 022120 254 00 0 00 022146 JRST DEVUSR
1594 022121 402 00 0 00 025645 SETZM DEVTYP
1595 PMSG <^DEV:T,K,D,V,P - >^
1596 022122 201 00 0 00 025310 MOVEI [SIXBIT\^DEV:T,K,D,V,P - _\]
1597 022123 260 17 0 00 021426 PNTMSG^
1598 022124 260 17 0 00 020236 GO TT2CHR
1599 022125 254 00 0 00 022111 JRST DEVSEL ;ONLY A CR
1600 022126 306 00 0 00 000113 CAIN "K"
1601 022127 254 00 0 00 022141 JRST KLDCPS ;KLDCP - THRU THE PDP-11
1602 022130 306 00 0 00 000104 CAIN "D"
1603 022131 254 00 0 00 022152 JRST DTUNIT ;DECTAPE
1604 022132 306 00 0 00 000126 CAIN "V"
1605 022133 254 00 0 00 022150 JRST VDTA ;PDP-11 FORMAT DECTAPE
1606 022134 306 00 0 00 000120 CAIN "P"
1607 022135 254 00 0 00 022205 JRST PPNIN ;DISK PACK
1608 022136 306 00 0 00 000124 CAIN "T"
1609 022137 254 00 0 00 022201 JRST PTAPE ;PAPER TAPE
1610 022140 254 00 0 00 022111 JRST DEVSEL ;ERROR
1611
1612 022141 336 00 0 00 020010 KLDCPS: SKIPN KLFLG
1613 022142 254 00 0 00 022111 JRST DEVSEL ;NOT A KL10
1614 022143 476 00 0 00 025523 SETOM KLDCPF
1615 022144 476 00 0 00 025645 SETOM DEVTYP
1616 022145 263 17 0 00 000000 RTN
1617
1618 022146 476 00 0 00 025645 DEVUSR: SETOM DEVTYP
1619 022147 263 17 0 00 000000 RTN
1620
1621 022150 476 00 0 00 025556 VDTA: SETOM VDTAFLG
1622 022151 254 00 0 00 022152 JRST DTUNIT
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 3
DEVLDR MAC 23-Apr-80 13:29 DEVICE SELECTION SEQ 0073
1623 ;*DTUNIT - SELECT DTA UNIT, READ IN DIRECTORY
1624
1625 022152 DTUNIT: PMSG <UNIT # - >^
1626 022152 201 00 0 00 025313 MOVEI [SIXBIT\UNIT # - _\]
1627 022153 260 17 0 00 021426 PNTMSG^
1628 022154 260 17 0 00 020236 GO TT2CHR
1629 022155 263 17 0 00 000000 RTN ;IF CR, USE SAME DECTAPE
1630 022156 306 00 0 00 000123 CAIN "S" ;IF S, SEARCH ALL DECTAPES
1631 022157 254 00 0 00 022174 JRST DTSRCH
1632 022160 301 00 0 00 000060 DTUNI1: CAIL 60 ;MUST BE 0-7
1633 022161 303 00 0 00 000067 CAILE 67
1634 022162 254 00 0 00 022152 JRST DTUNIT ;ERROR
1635 022163 405 00 0 00 000007 ANDI 0,7 ;CONVERT TO OCTAL
1636 022164 242 00 0 00 000011 LSH ^D9 ;LEFT JUSTIFY FOR CONO
1637 022165 202 00 0 00 025666 MOVEM TAPENO ;SAVE AS TAPE NUMBER
1638 022166 332 00 0 00 025556 SKIPE VDTAFLG
1639 022167 263 17 0 00 000000 RTN
1640 022170 476 00 0 00 025623 SETOM PGMGO
1641 022171 260 17 0 00 023443 GO LDDIR ;SELECT TAPE, READ DIRECTORY
1642 022172 402 00 0 00 025623 SETZM PGMGO
1643 022173 263 17 0 00 000000 RTN
1644
1645 022174 476 00 0 00 025671 DTSRCH: SETOM SRCHF ;SET DECTAPE SEARCH FLAG
1646 022175 200 00 0 00 025315 MOVE [TAB,,TAB+1]
1647 022176 402 00 0 00 027002 SETZM TAB
1648 022177 251 00 0 00 027201 BLT TAB+177 ;CLEAR PRESENT IN-CORE DIRECTORY
1649 022200 263 17 0 00 000000 RTN
1650
1651 ;*PTAPE - PAPER TAPE SELECTION
1652
1653 022201 476 00 0 00 025645 PTAPE: SETOM DEVTYP
1654 022202 476 00 0 00 025536 SETOM PTFLG ;SET FOR PAPER-TAPE READER
1655 022203 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 4
DEVLDR MAC 23-Apr-80 13:29 DEVICE SELECTION SEQ 0074
1656 ;*PPNIN - DISK AND PROJ PROGRAMMER SPECIFICATION
1657
1658 022204 260 17 0 00 021567 PPNIN1: GO CRLF1
1659 022205 201 00 0 00 000001 PPNIN: MOVEI 1
1660 022206 202 00 0 00 025645 MOVEM DEVTYP ;SET DEVICE TYPE TO DISK PACK
1661 022207 201 00 0 00 025316 MOVEI [ASCIZ/DISK:[P,PN] - /]
1662 022210 260 17 0 00 021462 PNTAL
1663 022211 553 00 0 00 025035 HRRZS DATAOW
1664 022212 402 00 0 00 000000 SETZM F
1665 022213 200 11 0 00 025036 PPNLP: MOVE S,PPNPTR
1666 022214 403 06 0 00 000004 SETZB N,W
1667 022215 202 00 0 00 000003 PPNCHR: MOVEM F,C
1668 022216 260 17 0 00 021673 TTICHR
1669 022217 250 00 0 00 000003 EXCH F,C
1670 022220 306 03 0 00 000177 CAIN C,177
1671 022221 254 00 0 00 022204 JRST PPNIN1 ;RUBOUT
1672 022222 307 03 0 00 000132 CAIG C,"Z"
1673 022223 305 03 0 00 000101 CAIGE C,"A"
1674 022224 334 00 0 00 000000 SKIPA
1675 022225 254 00 0 00 022233 JRST PPNLTR ;LETTER
1676 022226 307 03 0 00 000071 CAIG C,"9"
1677 022227 305 03 0 00 000060 CAIGE C,"0"
1678 022230 254 00 0 00 022237 JRST PPN0 ;NO, BREAK CHARACTER
1679 022231 242 06 0 00 000003 LSH N,3 ;BUILD OCTAL NUMBER
1680 022232 271 06 0 03 777720 ADDI N,-60(C) ;ADD IN THIS DIGIT
1681 022233 640 03 0 00 000040 PPNLTR: TRC C,40 ;MAKE IT SIXBIT
1682 022234 603 11 0 00 770000 TLNE S,770000 ;ONLY SIX CHARACTERS
1683 022235 136 03 0 00 000011 IDPB C,S ;STORE CHAR IN W
1684 022236 254 00 0 00 022215 JRST PPNCHR ;LOOP FOR MORE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 5
DEVLDR MAC 23-Apr-80 13:29 DEVICE SELECTION SEQ 0075
1685 022237 302 03 0 00 000072 PPN0: CAIE C,":" ;UNIT DELIMITER ?
1686 022240 254 00 0 00 022243 JRST PPN1 ;NO
1687 022241 202 04 0 00 025672 MOVEM W,DEVICE ;YES, SAVE NAME OF DEVICE
1688 022242 254 00 0 00 022213 JRST PPNLP
1689 022243 302 03 0 00 000135 PPN1: CAIE C,"]" ;END OF PPN ?
1690 022244 254 00 0 00 022251 JRST PPN2 ;NO
1691 022245 542 06 0 00 025673 HRRM N,PPN ;YES, SAVE PROGRAMMER NUMBER
1692 022246 627 00 0 00 000004 TLZN F,L.CMA ;CLEAR PPN COMMA FLAG
1693 022247 254 00 0 00 022204 JRST PPNIN1 ;IT WASN'T ON, BAD !
1694 022250 254 00 0 00 022213 JRST PPNLP
1695 022251 607 00 0 00 000006 PPN2: TLNN F,L.LBK!L.CMA ;ANY SYNTAX REQUESTS ?
1696 022252 254 00 0 00 022257 JRST PPN5 ;NO
1697 022253 623 00 0 00 000002 TLZE F,L.LBK ;PPN REQUEST ?
1698 022254 506 06 0 00 025673 HRLM N,PPN ;YES, STORE PROJ NO.
1699 022255 623 00 0 00 000004 TLZE F,L.CMA ;PPN PART 2 ?
1700 022256 542 06 0 00 025673 HRRM N,PPN ;YES, STORE PROG NO.
1701 022257 306 03 0 00 000012 PPN5: CAIN C,12
1702 022260 263 17 0 00 000000 RTN ;CR(LF) - COMPLETED
1703 022261 302 03 0 00 000133 PPN3: CAIE C,"["
1704 022262 254 00 0 00 022265 JRST PPN4
1705 022263 661 00 0 00 000002 TLO F,L.LBK ;PPN REQUEST
1706 022264 254 00 0 00 022213 JRST PPNLP
1707 022265 302 03 0 00 000054 PPN4: CAIE C,","
1708 022266 254 00 0 00 022204 JRST PPNIN1 ;ILLEGAL CHAR
1709 022267 661 00 0 00 000004 TLO F,L.CMA ;COMMA, PART OF PPN
1710 022270 254 00 0 00 022213 JRST PPNLP
1711
1712 ;*LIST1 - LIST FILES
1713
1714 022271 332 00 0 00 025523 LIST1: SKIPE KLDCPF
1715 022272 254 00 0 00 020045 JRST SELECT ;ILLEGAL IN KLDCP MODE
1716 022273 476 00 0 00 025630 SETOM LSTFLG
1717 022274 254 00 0 00 020204 JRST RUNPRG
1718
1719 ;*DIRECT - PRINT DIRECTORY
1720
1721 022275 332 00 0 00 020006 DIRECT: SKIPE USER ;ILLEGAL IN USER MODE
1722 022276 254 00 0 00 020045 JRST SELECT
1723 022277 332 00 0 00 025523 SKIPE KLDCPF ;ILLEGAL IN KLDCP MODE
1724 022300 254 00 0 00 020045 JRST SELECT
1725 022301 332 00 0 00 025536 SKIPE PTFLG
1726 022302 254 00 0 00 020045 JRST SELECT ;ILLEGAL FROM PAPER-TAPE
1727 022303 260 17 0 00 022043 SWITCH
1728 022304 603 00 0 00 020000 TLNE LPTSW
1729 022305 476 00 0 00 025627 SETOM LPTFLG
1730 022306 260 17 0 00 022102 GO DTECLR
1731 022307 332 00 0 00 025645 SKIPE DEVTYP
1732 022310 254 00 0 00 024214 JRST DSKDIR ;DISK DIRECTORY
1733 022311 254 00 0 00 023453 JRST FDIR ;DECTAPE DIRECTORY
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 6
DEVLDR MAC 23-Apr-80 13:29 PROGRAM FILE SELECTION SEQ 0076
1734 SUBTTL PROGRAM FILE SELECTION
1735
1736 ;*FSELECT - "SUBRTN" FILE SELECTION
1737
1738 022312 476 00 0 00 025551 FSELECT:SETOM SPECIAL# ;SET SPECIAL MODE
1739 022313 402 00 0 00 025534 SETZM NOCMNT
1740 022314 202 00 0 00 000016 MOVEM 0,IP ;SET POINTER TO FILE SPEC
1741 022315 254 00 0 00 022325 JRST DIAGLD+2
1742
1743 ;*DIAGLD - "DIAMON" FILE SELECTION
1744
1745 022316 476 00 0 00 025535 SETOM NOFNF# ;SET DON'T REPORT IF CAN'T FIND
1746 022317 476 00 0 00 025534 SETOM NOCMNT
1747 022320 254 00 0 00 022326 JRST .+6
1748 022321 476 00 0 00 025534 SETOM NOCMNT# ;INHIBIT COMMENT PRINTING
1749 022322 254 00 0 00 022324 JRST .+2
1750 022323 402 00 0 00 025534 DIAGLD: SETZM NOCMNT
1751 022324 402 00 0 00 025551 SETZM SPECIAL ;SET NORMAL MODE
1752 022325 402 00 0 00 025535 SETZM NOFNF
1753 022326 402 00 0 00 025502 SETZM A10FLG#
1754 022327 402 00 0 00 025524 SETZM LDEVICE#
1755
1756 022330 554 00 0 16 000001 HLRZ 0,1(IP)
1757 022331 306 00 0 00 412120 CAIN 0,(SIXBIT/A10/)
1758 022332 476 00 0 00 025502 SETOM A10FLG
1759
1760 022333 332 00 0 00 020006 SKIPE USER
1761 022334 254 00 0 00 023117 JRST USERLD ;USER MODE
1762
1763 022335 332 00 0 00 025523 SKIPE KLDCPF
1764 022336 254 00 0 00 023055 JRST KLDCPL ;LOAD FROM KLDCP
1765
1766 022337 332 00 0 00 025536 SKIPE PTFLG
1767 022340 254 00 0 00 023204 JRST PTLD ;LOAD FROM PAPER-TAPE
1768
1769 022341 332 00 0 00 025556 SKIPE VDTAFLG
1770 022342 254 00 0 00 023543 JRST VDTALD ;LOAD FROM PDP-11 FORMAT DECTAPE
1771
1772 022343 336 00 0 00 025645 SKIPN DEVTYP
1773 022344 254 00 0 00 023253 JRST DTALD ;DECTAPE
1774 022345 336 00 0 00 020010 SKIPN KLFLG ;KL10 ?
1775 022346 254 00 0 00 023767 JRST DSKLD ;NO, DISK PACK
1776 022347 201 00 0 00 540027 MOVEI 540027 ;SET DIAMON BUFFERS UNCACHED
1777 022350 542 00 0 00 000613 HRRM 613
1778
1779 022351 7 010 24 0 00 000000 CONI PAG,0 ;READ PAGING SYSTEM
1780 022352 660 00 0 00 020000 TRO TRPENB ;SET TRAP ENABLE
1781 022353 7 010 20 1 00 000000 CONO PAG,@0 ;RESET PAGING SYSTEM
1782 022354 254 00 0 00 023767 JRST DSKLD ;NOW LOAD FROM DISK
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 7
DEVLDR MAC 23-Apr-80 13:29 PROGRAM FILE SELECTION SEQ 0077
1783 ;*RFILE - FILE FOUND AND SETUP
1784
1785 022355 402 00 0 00 000005 RFILE: SETZM Q ;CLEAR FILE READ WORD COUNTER
1786 022356 201 07 0 00 000005 MOVEI M,5 ;SET LDACHR BYTE COUNTER
1787 022357 476 00 0 00 025516 SETOM FBSAV# ;SET 8 BIT READ FILE BYTE COUNTER
1788 022360 202 13 0 00 025541 MOVEM 13,SAV13#
1789 022361 202 14 0 00 025542 MOVEM 14,SAV14#
1790 022362 336 00 0 00 025551 SKIPN SPECIAL ;FILE FOUND
1791 022363 254 00 0 00 023775 JRST RFILE1 ;NORMAL OPERATION
1792
1793 ;*FSELF - "SUBRTN" FILE FOUND RETURN
1794
1795 022364 202 00 0 00 025722 FSELF: MOVEM 0,ACSAVE ;SAVE ACS
1796 022365 200 00 0 00 025321 MOVE 0,[1,,ACSAVE+1]
1797 022366 251 00 0 00 025740 BLT ACSAVE+16
1798 022367 200 00 0 00 025524 MOVE 0,LDEVICE ;RETURN DEVICE TYPE
1799 022370 350 00 0 17 000000 AOS (P)
1800 022371 263 17 0 00 000000 RTN ;SKIP RETURN TO "SUBRTN"
1801
1802 ;*NFERR - FILE NOT FOUND
1803
1804 022372 332 00 0 00 025535 NFERR: SKIPE NOFNF ;REPORT NOT FOUND ?
1805 022373 263 17 0 00 000000 RTN ;NO
1806 022374 336 00 0 00 025551 SKIPN SPECIAL ;NOT FOUND
1807 022375 254 00 0 00 025065 JRST NFERR1 ;NORMAL OPERATION
1808
1809 ;*FSELNF - "SUBRTN" FILE NOT FOUND
1810
1811 022376 200 00 0 00 025524 FSELNF: MOVE 0,LDEVICE ;"FSELECT" - NOT FOUND
1812 022377 263 17 0 00 000000 RTN ;NON-SKIP, ERROR RETURN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 8
DEVLDR MAC 23-Apr-80 13:29 "SUBRTN" PROGRAM FILE READ SEQ 0078
1813 SUBTTL "SUBRTN" PROGRAM FILE READ
1814
1815 ;*FREAD - DETERMINE READ TYPE
1816
1817 022400 202 00 0 00 025517 FREAD: MOVEM 0,FRDTYP#
1818 022401 204 00 0 00 025321 MOVS [1,,ACSAVE+1]
1819 022402 251 00 0 00 000016 BLT 16 ;RESTORE "DIAMON" ACS
1820 022403 200 00 0 00 025722 MOVE ACSAVE
1821 022404 335 00 0 00 025517 SKIPGE FRDTYP
1822 022405 254 00 0 00 022430 JRST FRD36 ;READ 36 BIT WORDS
1823 022406 332 00 0 00 025517 SKIPE FRDTYP
1824 022407 254 00 0 00 022473 JRST FRD8 ;READ 8 BIT WORDS
1825
1826 ;*FREAD3 - CHARACTER READ
1827
1828 022410 260 17 0 00 022437 FREAD3: GO LDACHR ;LOAD AN ASCII CHARACTER
1829 022411 254 00 0 00 022424 JRST FREAD2 ;EOF
1830 022412 336 00 0 00 025536 SKIPN PTFLG ;PAPER TAPE ?
1831 022413 254 00 0 00 022416 JRST FREAD1 ;NO, PASS ALL CHARS
1832 022414 306 16 0 00 000073 CAIN 16,";"
1833 022415 254 00 0 00 022704 JRST LDCMNT ;COMMENT, FILE CONTROL LINE
1834
1835 022416 202 00 0 00 025722 FREAD1: MOVEM 0,ACSAVE ;RESAVE "DIAMON" ACS
1836 022417 200 00 0 00 025321 MOVE 0,[1,,ACSAVE+1]
1837 022420 251 00 0 00 025740 BLT ACSAVE+16
1838
1839 022421 200 00 0 00 000016 MOVE 0,16 ;PUT ASCII BYTE IN AC0
1840 022422 350 00 0 17 000000 AOS (P)
1841 022423 263 17 0 00 000000 RTN ;SKIP RETURN
1842
1843 ;*FREAD2 - END OF FILE
1844
1845 022424 336 00 0 00 025645 FREAD2: SKIPN DEVTYP ;EOF
1846 022425 7 320 20 0 00 400000 CONO DTC,DTSTOP ;IF DECTAPE, STOP IT
1847 022426 402 00 0 00 000000 SETZM 0 ;EOF CODE = 0
1848 022427 263 17 0 00 000000 RTN ;NON-SKIP RETURN
1849
1850 ;*FRD36 - 36 BIT WORD READ
1851
1852 022430 332 00 0 00 025556 FRD36: SKIPE VDTAFLG
1853 022431 254 00 0 00 022424 JRST FREAD2 ;PDP-11 DTA ILLEGAL
1854 022432 336 00 0 00 025536 SKIPN PTFLG ;PTR ILLEGAL
1855 022433 260 17 0 00 024016 GO RWORD ;READ 36 BIT WORDS
1856 022434 254 00 0 00 022424 JRST FREAD2 ;EOF
1857 022435 200 16 0 00 000004 MOVE 16,W ;PUT 36 BIT WORD IN AC16
1858 022436 254 00 0 00 022416 JRST FREAD1 ;REST AS ABOVE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 9
DEVLDR MAC 23-Apr-80 13:29 "SUBRTN" PROGRAM FILE READ SEQ 0079
1859 ;*LDACHR - ASCII CHARACTER PROCESS
1860
1861 022437 332 00 0 00 025536 LDACHR: SKIPE PTFLG
1862 022440 254 00 0 00 023244 JRST LDACPT ;LOAD A CHAR FROM PAPER-TAPE
1863 022441 332 00 0 00 025556 SKIPE VDTAFLG
1864 022442 254 00 0 00 022461 JRST LDACD11 ;PDP-11 DECTAPE
1865 022443 302 07 0 00 000005 CAIE M,5 ;USED ALL OF THIS 36 BIT WORD ?
1866 022444 254 00 0 00 022454 JRST LDACH1 ;NOT YET
1867 022445 402 00 0 00 000007 SETZM M ;YES, READ NEXT 36 BIT WORD
1868 022446 250 13 0 00 025541 EXCH 13,SAV13
1869 022447 250 14 0 00 025542 EXCH 14,SAV14
1870 022450 260 17 0 00 024016 GO RWORD
1871 022451 254 00 0 00 022470 JRST LDAEOF ;EOF
1872 022452 250 13 0 00 025541 EXCH 13,SAV13
1873 022453 250 14 0 00 025542 EXCH 14,SAV14
1874
1875 LDACH1: LDB 16,[POINT 7,W,6
1876 POINT 7,W,13
1877 POINT 7,W,20
1878 POINT 7,W,27
1879 022454 135 16 0 07 025322 POINT 7,W,34](M) ;GET ASCII BYTE
1880 022455 350 00 0 00 000007 AOS M ;COUNT IT
1881 022456 322 16 0 00 022437 LDACH2: JUMPE 16,LDACHR ;IF NULL, IGNORE
1882 022457 350 00 0 17 000000 AOS (P) ;SKIP RETURN
1883 022460 263 17 0 00 000000 RTN
1884
1885 022461 250 13 0 00 025541 LDACD11:EXCH 13,SAV13
1886 022462 250 14 0 00 025542 EXCH 14,SAV14
1887 022463 260 17 0 00 023660 GO D11CHR ;GET PDP-11 8 BIT BYTE
1888 022464 254 00 0 00 022470 JRST LDAEOF ;EOF
1889 022465 250 13 0 00 025541 EXCH 13,SAV13
1890 022466 250 14 0 00 025542 EXCH 14,SAV14
1891 022467 254 00 0 00 022456 JRST LDACH2
1892
1893 022470 250 13 0 00 025541 LDAEOF: EXCH 13,SAV13
1894 022471 250 14 0 00 025542 EXCH 14,SAV14
1895 022472 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 10
DEVLDR MAC 23-Apr-80 13:29 "SUBRTN" PROGRAM FILE READ SEQ 0080
1896 ;*FRD8 - 8 BIT WORD READ
1897
1898 022473 260 17 0 00 022513 FRD8: GO G8BYT ;GET AN 8 BIT BYTE
1899 022474 254 00 0 00 022424 JRST FREAD2 ;EOF
1900 022475 254 00 0 00 022416 JRST FREAD1 ;8 BIT BYTE IN AC16
1901
1902 022476 7 104 34 0 00 000400 LD8PT: CONSO PTR,400 ;READER OUT OF TAPE ?
1903 022477 263 17 0 00 000000 RTN ;YES, EOF
1904 022500 7 104 30 0 00 000020 CONSZ PTR,20
1905 022501 254 00 0 00 022500 JRST .-1
1906 022502 7 104 04 0 00 000016 DATAI PTR,16 ;INPUT CHAR FROM READER
1907 022503 254 00 0 00 020423 JRST CPOPJ1
1908
1909 022504 250 13 0 00 025541 LD8D11: EXCH 13,SAV13
1910 022505 250 14 0 00 025542 EXCH 14,SAV14
1911 022506 260 17 0 00 023660 GO D11CHR ;GET PDP-11 8 BIT BYTE FROM DTA
1912 022507 254 00 0 00 022470 JRST LDAEOF ;EOF
1913 022510 250 13 0 00 025541 EXCH 13,SAV13
1914 022511 250 14 0 00 025542 EXCH 14,SAV14
1915 022512 254 00 0 00 020423 JRST CPOPJ1
1916
1917 022513 332 00 0 00 025523 G8BYT: SKIPE KLDCPF
1918 022514 254 00 0 00 023110 JRST KLDCP8 ;KLDCP 8 BIT READ
1919 022515 332 00 0 00 025536 SKIPE PTFLG
1920 022516 254 00 0 00 022476 JRST LD8PT ;PAPER TAPE 8 BIT READ
1921 022517 332 00 0 00 025556 SKIPE VDTAFLG
1922 022520 254 00 0 00 022504 JRST LD8D11 ;11 FORMAT DECTAPE 8 BIT READ
1923
1924 022521 350 07 0 00 025516 AOS M,FBSAV ;ADVANCE FILE BYTE
1925 022522 405 07 0 00 000003 ANDI M,3 ;(MOD 4)
1926 022523 326 07 0 00 022527 JUMPN M,G8BY2 ;NEED A NEW WORD ?
1927
1928 022524 260 17 0 00 024016 GO RWORD ;YES
1929 022525 263 17 0 00 000000 RTN ;EOF
1930
1931 022526 202 04 0 00 025506 G8BY1: MOVEM W,BYTSAV# ;SAVE WORD
1932
1933 G8BY2: LDB 16,[POINT 8,BYTSAV,17
1934 POINT 8,BYTSAV,9
1935 POINT 8,BYTSAV,35
1936 022527 135 16 0 07 025327 POINT 8,BYTSAV,27](M)
1937 022530 254 00 0 00 020423 JRST CPOPJ1 ;LOAD & SKIP RETURN WITH BYTE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 11
DEVLDR MAC 23-Apr-80 13:29 LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE SEQ 0081
1938 SUBTTL LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE
1939
1940 ;*PDPROC - FORMAT CONTROL PROCESS
1941
1942 022531 LDA10:
1943 022531 402 00 0 00 025525 LDPROC: SETZM LDOCTF#
1944 022532 402 00 0 00 025527 SETZM LDZBLK#
1945
1946 022533 260 17 0 00 022437 GO LDACHR ;GET FILE TYPE CHAR
1947 022534 260 17 0 00 025071 GO LERR2 ;EOF
1948 022535 306 16 0 00 000073 CAIN 16,";"
1949 022536 254 00 0 00 022704 JRST LDCMNT ;LINE STARTS WITH ;, COMMENT
1950
1951 022537 402 00 0 00 025526 SETZM LDTBLK#
1952 022540 306 16 0 00 000101 CAIN 16,"A" ;A, PDP-10 SUPER A10 FILE
1953 022541 254 00 0 00 022547 JRST .+6
1954 022542 306 16 0 00 000124 CAIN 16,"T" ;T, PDP-10 ".A10" FILE
1955 JRST [SETOM LDTBLK
1956 022543 254 00 0 00 025333 JRST .+4]
1957 022544 302 16 0 00 000132 CAIE 16,"Z" ;Z, ".A10" CORE ZERO
1958 022545 260 17 0 00 025074 GO LERR3
1959 022546 476 00 0 00 025527 SETOM LDZBLK
1960
1961 022547 260 17 0 00 022437 GO LDACHR ;GET FORMAT CHAR
1962 022550 260 17 0 00 025071 GO LERR2 ;EOF
1963
1964 022551 306 16 0 00 000040 CAIN 16," " ;SPACE, ASCIIZED
1965 022552 254 00 0 00 022556 JRST .+4
1966 022553 302 16 0 00 000117 CAIE 16,"O" ;O, OCTAL
1967 022554 260 17 0 00 025076 GO LERR4
1968 022555 476 00 0 00 025525 SETOM LDOCTF
1969
1970 022556 200 16 0 00 025335 MOVE 16,[LDCNT,,LDCNT+1]
1971 022557 402 00 0 00 025674 SETZM LDCNT
1972 022560 251 16 0 00 025740 BLT 16,LDATAE ;CLEAR LOAD STORAGE
1973
1974 022561 201 13 0 00 025674 MOVEI 13,LDCNT ;SETUP CONVERTED STORAGE POINTER
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 12
DEVLDR MAC 23-Apr-80 13:29 LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE SEQ 0082
1975 ;*LDCNV - CONVERT ASCIIZED BACK INTO BITS
1976
1977 022562 402 00 0 00 000014 LDCNV: SETZM 14 ;CLEAR CONVERTED WORD FORMER
1978
1979 022563 260 17 0 00 022437 LDCNV1: GO LDACHR ;LOAD AN ASCII CHAR
1980 022564 260 17 0 00 025071 GO LERR2 ;EOF
1981
1982 022565 306 16 0 00 000015 CAIN 16,15 ;CR, IGNORE
1983 022566 254 00 0 00 022563 JRST LDCNV1
1984
1985 022567 306 16 0 00 000012 CAIN 16,12 ;LF, END OF LINE
1986 022570 254 00 0 00 022625 JRST LDEOL
1987
1988 022571 306 16 0 00 000054 CAIN 16,54 ;COMMA, FIELD SEPARATOR
1989 022572 254 00 0 00 022623 JRST LDCMA
1990
1991 022573 332 00 0 00 025525 SKIPE LDOCTF
1992 022574 254 00 0 00 022620 JRST LDCNV3 ;LOADING OCTAL FORMAT
1993
1994 022575 301 16 0 00 000065 CAIL 16,"5" ;5 TO : ?
1995 022576 303 16 0 00 000072 CAILE 16,":"
1996 022577 254 00 0 00 022605 JRST .+6 ;NO
1997 022600 275 16 0 00 000065 SUBI 16,"5" ;YES, INSERT SUPPRESSED ONES
1998 022601 242 14 0 00 000006 LSH 14,6
1999 022602 660 14 0 00 000077 TRO 14,77
2000 022603 365 16 0 00 022601 SOJGE 16,.-2
2001 022604 254 00 0 00 022563 JRST LDCNV1
2002
2003 022605 301 16 0 00 000060 CAIL 16,"0" ;0 TO 4 ?
2004 022606 303 16 0 00 000064 CAILE 16,"4"
2005 022607 254 00 0 00 022614 JRST .+5 ;NO
2006 022610 405 16 0 00 000007 ANDI 16,7 ;YES, INSERT SUPPRESSED ZEROS
2007 022611 242 14 0 00 000006 LSH 14,6
2008 022612 365 16 0 00 022611 SOJGE 16,.-1
2009 022613 254 00 0 00 022563 JRST LDCNV1
2010
2011 022614 242 14 0 00 000006 LSH 14,6 ;SHIFT WORD FORMER LEFT 6
2012 022615 405 16 0 00 000077 ANDI 16,77 ;KEEP ASCIIZED OIT BITS
2013
2014 022616 434 14 0 00 000016 LDCNV2: OR 14,16 ;INSERT NEW OIT
2015 022617 254 00 0 00 022563 JRST LDCNV1
2016
2017 022620 242 14 0 00 000003 LDCNV3: LSH 14,3 ;SHIFT WORD FORMER LEFT 3, OCTAL
2018 022621 405 16 0 00 000007 ANDI 16,7 ;KEEP OCTAL OIT BITS
2019 022622 254 00 0 00 022616 JRST LDCNV2
2020
2021 022623 202 14 0 13 000000 LDCMA: MOVEM 14,(13) ;STORE CONVERTED WORD
2022 022624 344 13 0 00 022562 AOJA 13,LDCNV ;COUNT AND GO FOR NEXT WORD
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 13
DEVLDR MAC 23-Apr-80 13:29 LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE SEQ 0083
2023 ;*LDEOL - END OF LINE, CHECKSUM LOAD LINE
2024
2025 022625 202 14 0 13 000000 LDEOL: MOVEM 14,(13) ;STORE CHECKSUM
2026
2027 022626 332 00 0 00 025525 SKIPE LDOCTF
2028 022627 254 00 0 00 022637 JRST LDTEN ;OCTAL, NO CHECKSUM
2029
2030 022630 201 13 0 00 025674 MOVEI 13,LDCNT ;CHECKSUM LOAD STORAGE
2031 022631 402 00 0 00 000014 SETZM 14
2032 022632 270 14 0 13 000000 ADD 14,(13)
2033 022633 302 13 0 00 025740 CAIE 13,LDATAE
2034 022634 344 13 0 00 022632 AOJA 13,.-2
2035
2036 022635 602 14 0 00 177777 TRNE 14,177777 ;16 BIT CHECKSUM = 0 ?
2037 022636 260 17 0 00 025100 GO LERR5 ;NO, CHECKSUM ERROR
2038
2039 ;*LDTEN - CREATE LOAD ADDRESS AND WORD COUNT
2040
2041 022637 135 13 0 00 025336 LDTEN: LDB 13,[POINT 2,LDCNT,27]
2042 022640 242 13 0 00 000020 LSH 13,^D16
2043 022641 434 13 0 00 025675 OR 13,LDADR ;CREATE PDP-10 LOAD ADDRESS
2044
2045 022642 135 14 0 00 025337 LDB 14,[POINT 8,LDCNT,35] ;WORD COUNT
2046
2047 022643 336 00 0 00 025527 SKIPN LDZBLK
2048 022644 254 00 0 00 022654 JRST LDTEN1 ;LOAD TEN DATA WORDS
2049
2050 ;*LDTENZ - CLEAR TEN CORE, JOB START TO JOB FIRST FREE
2051
2052 022645 322 14 0 00 022531 LDTENZ: JUMPE 14,LDPROC ;WC=0, NO ZEROING
2053 022646 202 13 0 00 025522 MOVEM 13,JOBSAW ;SETUP JOB START ADDRESS
2054 022647 270 13 0 14 025675 ADD 13,LDATA-1(14)
2055 022650 367 14 0 00 022647 SOJG 14,.-1 ;ADD UP ZERO COUNT
2056 022651 202 13 0 00 025521 MOVEM 13,JOBFFW ;SETUP JOB FIRST FREE ADDRESS
2057
2058 022652 260 17 0 00 023027 GO CLRCOR ;CLEAR PDP-10 CORE
2059 022653 254 00 0 00 022531 JRST LDPROC
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 14
DEVLDR MAC 23-Apr-80 13:29 LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE SEQ 0084
2060 ;*LDTEN1 - TRANSFER TEN WORDS TO MEMORY
2061
2062 022654 336 00 0 00 025526 LDTEN1: SKIPN LDTBLK
2063 022655 200 13 0 00 025675 MOVE 13,LDADR
2064 022656 322 14 0 00 022702 JUMPE 14,LDDONE ;WC=0, TRANSFER BLOCK
2065
2066 022657 201 15 0 00 025676 MOVEI 15,LDATA ;SETUP PICKUP POINTER
2067
2068 022660 200 16 0 15 000000 LDTEN2: MOVE 16,(15) ;GET 36 BIT WORD
2069 022661 336 00 0 00 025526 SKIPN LDTBLK
2070 022662 254 00 0 00 022670 JRST .+6
2071 022663 200 16 0 15 000002 MOVE 16,2(15) ;BITS 0 TO 7
2072 022664 242 16 0 00 000020 LSH 16,^D16
2073 022665 434 16 0 15 000001 OR 16,1(15) ;BITS 8 TO 23
2074 022666 242 16 0 00 000020 LSH 16,^D16
2075 022667 434 16 0 15 000000 OR 16,0(15) ;BITS 24 TO 35
2076
2077 022670 202 16 0 13 000000 MOVEM 16,(13) ;STORE 36 BIT WORD IN MEMORY
2078
2079 022671 350 00 0 00 000013 AOS 13 ;INCREMENT PDP-10 ADDRESS
2080 022672 271 15 0 00 000001 ADDI 15,1 ;BUMP PICKUP POINTER
2081 022673 332 00 0 00 025526 SKIPE LDTBLK
2082 022674 271 15 0 00 000002 ADDI 15,2
2083 022675 275 14 0 00 000001 SUBI 14,1 ;DECREMENT WORD COUNT
2084 022676 332 00 0 00 025526 SKIPE LDTBLK
2085 022677 275 14 0 00 000002 SUBI 14,2
2086 022700 327 14 0 00 022660 JUMPG 14,LDTEN2 ;DO TILL ALL WORDS USED
2087 022701 254 00 0 00 022531 JRST LDPROC ;CONTINUE TILL TRANSFER BLOCK
2088
2089 ;*LDDONE - COMPLETED, GO TO START ROUTINE
2090
2091 022702 200 04 0 00 000013 LDDONE: MOVE W,13 ;SETUP START ADDRESS
2092 022703 254 00 0 00 024055 JRST STARTQ ;GO TO START ROUTINE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 15
DEVLDR MAC 23-Apr-80 13:29 LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE SEQ 0085
2093 ;*LDCMNT - LOAD FILE COMMENT LINE
2094
2095 022704 402 00 0 00 000015 LDCMNT: SETZM PNT ;GET 1ST 3 COMMENT CHARS
2096 022705 260 17 0 00 022437 GO LDACHR
2097 022706 260 17 0 00 025071 GO LERR2 ;ILLEGAL EOF
2098 022707 137 16 0 00 025340 DPB 16,[POINT 7,PNT,6]
2099 022710 260 17 0 00 022437 GO LDACHR
2100 022711 260 17 0 00 025071 GO LERR2
2101 022712 137 16 0 00 025341 DPB 16,[POINT 7,PNT,13]
2102 022713 260 17 0 00 022437 GO LDACHR
2103 022714 260 17 0 00 025071 GO LERR2
2104 022715 137 16 0 00 025342 DPB 16,[POINT 7,PNT,20]
2105
2106 022716 316 15 0 00 025343 CAMN PNT,[ASCII/EOT/]
2107 022717 254 00 0 00 023226 JRST PTCNTL ;PAPER TAPE END OF TAPE
2108
2109 022720 261 17 0 00 000000 PUT 0
2110 022721 402 00 0 00 000016 SETZM PNT1 ;NO, PRINT 1ST 3 COMMENT CHARS
2111 022722 201 00 0 00 000015 MOVEI 0,PNT
2112 022723 336 00 0 00 025534 SKIPN NOCMNT
2113 022724 260 17 0 00 021462 PNTAL
2114
2115 022725 260 17 0 00 022732 GO CMNPNT ;PRINT REST OF COMMENT LINE
2116
2117 022726 262 17 0 00 000000 GET 0
2118 022727 332 00 0 00 025551 SKIPE SPECIAL
2119 022730 254 00 0 00 022410 JRST FREAD3
2120 022731 254 00 0 00 022531 JRST LDPROC
2121
2122 ;*CMNPNT - PRINT COMMENT LINE
2123
2124 022732 260 17 0 00 022437 CMNPNT: GO LDACHR
2125 022733 254 00 0 00 025071 JRST LERR2
2126 022734 306 16 0 00 000012 CAIN 16,12 ;LINE FEED ?
2127 022735 254 00 0 00 022741 JRST .+4 ;YES
2128 022736 336 00 0 00 025534 SKIPN NOCMNT
2129 022737 260 17 0 00 020356 GO PNT16 ;PRINT COMMENT LINE
2130 022740 254 00 0 00 022732 JRST CMNPNT
2131
2132 022741 336 00 0 00 025534 SKIPN NOCMNT
2133 022742 260 17 0 00 020356 GO PNT16
2134 022743 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 16
DEVLDR MAC 23-Apr-80 13:29 PROGRAM CORE AREA SETUP SEQ 0086
2135 SUBTTL PROGRAM CORE AREA SETUP
2136
2137 000004 T0=4 ;W
2138 000005 T1=5 ;Q
2139 000007 T2=7 ;M
2140 000006 T3=6 ;N
2141 000003 T4=3 ;C
2142
2143 ;*PRGCOR - SETUP CORE ZEROING FOR ".SAV" FILES
2144
2145 022744 332 00 0 00 025502 PRGCOR: SKIPE A10FLG
2146 022745 254 00 0 00 022531 JRST LDA10 ;LOAD ".A10" FILE
2147
2148 022746 402 00 0 00 000005 SETZM Q
2149 022747 260 17 0 00 024016 GO RWORD ;READ FIRST BLOCK/WORD
2150 022750 260 17 0 00 025102 GO ERR2 ;EOF, ILLEGAL
2151
2152 022751 202 04 0 00 025544 MOVEM T0,SAVT0#
2153 022752 202 05 0 00 025545 MOVEM T1,SAVT1#
2154 022753 202 07 0 00 025546 MOVEM T2,SAVT2#
2155 022754 202 06 0 00 025547 MOVEM T3,SAVT3#
2156 022755 202 03 0 00 025550 MOVEM T4,SAVT4#
2157 022756 336 00 0 00 020006 SKIPN USER
2158 022757 370 00 0 00 025545 SOS SAVT1 ;EXEC, BACKUP POINTER
2159
2160 022760 331 00 0 00 000004 SKIPL T0
2161 022761 260 17 0 00 025112 GO ERR6 ;FIRST WORD NOT POINTER
2162 022762 201 07 0 04 000176 MOVEI T2,^D126(T0)
2163 022763 201 06 0 00 000137 MOVEI T3,137 ;FIRST POINTER LEGAL ?
2164 022764 315 07 0 00 000006 CAMGE T2,T3
2165 022765 260 17 0 00 025112 GO ERR6 ;NO
2166
2167 022766 550 05 0 00 025545 HRRZ T1,SAVT1
2168 022767 201 06 0 00 000120 MOVEI T3,JOBSA
2169 022770 260 17 0 00 023015 GO RMS1 ;GET 'JOBSA'
2170 022771 552 04 0 00 025522 HRRZM T0,JOBSAW#
2171 022772 336 05 0 00 025522 SKIPN T1,JOBSAW
2172 022773 260 17 0 00 025114 GO ERR7 ;NO STARTING ADDRESS
2173 022774 306 05 0 00 000140 CAIN T1,140
2174 022775 260 17 0 00 025114 GO ERR7 ;PROGRAMS CAN'T START AT 140
2175
2176 022776 550 05 0 00 025545 HRRZ T1,SAVT1
2177 022777 201 06 0 00 000121 MOVEI T3,JOBFF
2178 023000 260 17 0 00 023015 GO RMS1 ;GET 'JOBFF'
2179 023001 202 04 0 00 025521 MOVEM T0,JOBFFW#
2180
2181 023002 260 17 0 00 023027 GO CLRCOR ;CLEAR PROGRAM'S CORE AREA
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 17
DEVLDR MAC 23-Apr-80 13:29 PROGRAM CORE AREA SETUP SEQ 0087
2182 023003 336 00 0 00 020006 SKIPN USER
2183 023004 350 00 0 00 025545 AOS SAVT1 ;EXEC, RE-ADVANCE POINTER
2184 023005 200 04 0 00 025544 MOVE T0,SAVT0
2185 023006 200 05 0 00 025545 MOVE T1,SAVT1
2186 023007 200 07 0 00 025546 MOVE T2,SAVT2
2187 023010 200 06 0 00 025547 MOVE T3,SAVT3
2188 023011 200 03 0 00 025550 MOVE T4,SAVT4
2189 023012 254 00 0 00 024004 JRST RFILL3 ;NOW GO LOAD PROGRAM
2190
2191 023013 274 05 0 00 000003 RMS2: SUB T1,T4
2192 023014 340 05 0 00 000000 AOJ T1,
2193 023015 200 04 0 05 000000 RMS1: MOVE T0,(T1) ;GET POINTER
2194 023016 550 07 0 00 000004 HRRZ T2,T0 ; X
2195 023017 564 03 0 00 000004 HLRO T4,T0 ; -N
2196 023020 274 07 0 00 000003 SUB T2,T4 ; X+N IN T2
2197 023021 315 07 0 00 000006 CAMGE T2,T3 ;THIS POINTER TO REQ DATA ?
2198 023022 254 00 0 00 023013 JRST RMS2 ;NO, GET NEXT POINTER
2199 023023 275 06 0 04 000000 SUBI T3,(T0) ;YES, HOW FAR FROM POINTER ?
2200 023024 270 05 0 00 000006 ADD T1,T3 ;INCREMENT POINTER
2201 023025 200 04 0 05 000000 MOVE T0,(T1) ;GET REQ DATA
2202 023026 263 17 0 00 000000 RTN
2203
2204 ;*CLRCOR - CLEAR CORE FOR DIAGNOSTIC SEGMENT
2205 ;* CLEARS CORE FROM 'JOBSA' TO 'JOBFF'
2206
2207 023027 336 00 0 00 020006 CLRCOR: SKIPN USER ;USER MODE ?
2208 023030 254 00 0 00 023044 JRST CLRCR1 ;NO
2209 023031 200 00 0 00 000044 MOVE JOBREL ;YES, PRESENT JOBREL LT DIAMON'S ?
2210 023032 317 00 0 00 025552 CAMG SVJBREL
2211 023033 254 00 0 00 023037 JRST .+4 ;YES
2212 023034 200 00 0 00 025552 MOVE SVJBREL ;NO, REDUCE CORE TO DIAMON'S
2213 023035 047 00 0 00 000011 CORE
2214 023036 254 00 0 00 025122 JRST ERR10
2215 023037 200 00 0 00 025521 MOVE JOBFFW ;THIS PRG NEED MORE THAN DIAMON'S ?
2216 023040 317 00 0 00 025552 CAMG SVJBREL
2217 023041 254 00 0 00 023044 JRST .+3 ;NO
2218 023042 047 00 0 00 000011 CORE ;YES, EXPAND CORE FOR PROGRAM
2219 023043 254 00 0 00 025122 JRST ERR10
2220 023044 202 05 0 00 025543 CLRCR1: MOVEM Q,SAVQ#
2221 023045 200 05 0 00 025522 MOVE Q,JOBSAW
2222 023046 301 05 0 00 020000 CAIL Q,START ;DO NOT, REPEAT NOT, CLEAR "DIAMON" !
2223 023047 301 05 0 00 030000 CAIL Q,DIAGNOS
2224 023050 402 00 0 05 000000 SETZM (Q)
2225 023051 315 05 0 00 025521 CAMGE Q,JOBFFW
2226 023052 344 05 0 00 023046 AOJA Q,.-4
2227 023053 200 05 0 00 025543 MOVE Q,SAVQ
2228 023054 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 18
DEVLDR MAC 23-Apr-80 13:29 KL10 KLDCP MODE LOADER SEQ 0088
2229 SUBTTL KL10 KLDCP MODE LOADER
2230
2231 ;*KLDCPL - LOOKUP FILE USING THE CONSOLE LOAD DEVICES
2232
2233 023055 476 00 0 00 025502 KLDCPL: SETOM A10FLG ;MUST BE .A10 FORMAT
2234 023056 201 00 0 00 000026 MOVEI 0,26 ;FLUSH KLDCP OUTPUT BUFFER
2235 023057 260 17 0 00 022072 GO $DTEXX
2236 023060 200 01 0 16 000000 MOVE A,(IP)
2237 023061 260 17 0 00 020347 GO SIXBP ;SEND KLDCP NAME
2238 023062 201 00 0 00 000056 MOVEI "."
2239 023063 260 17 0 00 021513 GO PRINT
2240 023064 510 01 0 16 000001 HLLZ A,1(IP)
2241 023065 332 00 0 00 000001 SKIPE A ;IF NO EXT, USE .A10
2242 023066 316 01 0 00 025344 CAMN A,[SIXBIT/SAV/] ;IF EXT .SAV, CHANGE TO .A10
2243 023067 200 01 0 00 025345 MOVE A,[SIXBIT/A10/]
2244 023070 260 17 0 00 020347 GO SIXBP ;SEND KLDCP EXT
2245
2246 023071 201 00 0 00 000406 MOVEI 0,406 ;FILE LOOKUP COMMAND
2247 023072 260 17 0 00 022072 GO $DTEXX ;SEND TO KLDCP
2248 023073 405 00 0 00 177777 ANDI 0,177777
2249 023074 200 01 0 00 000000 MOVE A,0
2250 023075 405 00 0 00 000177 ANDI 0,177 ;SAVE ONLY DEVICE CODE
2251 023076 202 00 0 00 025524 MOVEM 0,LDEVICE
2252 023077 602 01 0 00 177400 TRNE A,177400
2253 023100 254 00 0 00 022372 JRST NFERR ;NON-ZERO, NOT FOUND
2254
2255 023101 254 00 0 00 022355 JRST RFILE ;FOUND & SETUP
2256
2257 ;*KLDCPW - KLDCP READ WORD
2258
2259 023102 201 00 0 00 000407 KLDCPW: MOVEI 0,407 ;FILE READ COMMAND
2260 023103 260 17 0 00 022072 GO $DTEXX ;SEND TO KLDCP
2261 023104 200 04 0 00 000000 MOVE W,0
2262 023105 312 04 0 00 025346 CAME W,[-1] ;-1 = END OF FILE
2263 023106 350 00 0 17 000000 AOS (P) ;OTHERWISE, SKIP RETURN
2264 023107 263 17 0 00 000000 RTN ;WITH 5 CHARS IN W
2265
2266 ;*KLDCP8 - KLDCP READ 8 BIT BYTE
2267
2268 023110 201 00 0 00 000414 KLDCP8: MOVEI 0,414 ;FILE READ 8 BIT COMMAND
2269 023111 260 17 0 00 022072 GO $DTEXX ;SEND TO KLDCP
2270 023112 200 16 0 00 000000 MOVE 16,0
2271 023113 312 16 0 00 025346 CAME 16,[-1] ;-1 = END OF FILE
2272 023114 350 00 0 17 000000 AOS (P) ;OTHERWISE, SKIP RETURN
2273 023115 405 16 0 00 000377 ANDI 16,377 ;WITH 8 BIT BYTE IN AC16
2274 023116 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 19
DEVLDR MAC 23-Apr-80 13:29 USER MODE LOADER SEQ 0089
2275 SUBTTL USER MODE LOADER
2276
2277 ;*USERLD - LOOKUP FILE ON THE USERS DISK
2278
2279 023117 201 00 0 00 000005 USERLD: MOVEI 5
2280 023120 202 00 0 00 025524 MOVEM LDEVICE
2281 023121 402 00 0 00 025752 SETZM LDBUF+1
2282 023122 402 00 0 00 025753 SETZM LDBUF+2
2283 023123 050 16 0 00 025746 OPEN LDCHN,LDBLK ;SETUP INPUT FILE
2284 023124 260 17 0 00 025116 GO ERR8
2285 023125 200 00 0 00 025347 MOVE [400000,,LDBF+1]
2286 023126 202 00 0 00 025751 MOVEM LDBUF ;SETUP BUFFER POINTER
2287 023127 200 00 0 00 025350 MOVE [201,,LDBF1+1]
2288 023130 202 00 0 00 027001 MOVEM LDBF+1 ;CLEAR BUFFER USE BITS
2289 023131 200 00 0 00 025351 MOVE [201,,LDBF2+1]
2290 023132 202 00 0 00 027204 MOVEM LDBF1+1
2291 023133 200 00 0 00 025352 MOVE [201,,LDBF+1]
2292 023134 202 00 0 00 027407 MOVEM LDBF2+1
2293 023135 200 00 0 16 000000 MOVE (IP)
2294 023136 202 00 0 00 025742 MOVEM LDNAME ;SETUP FILE NAME
2295 023137 510 00 0 16 000001 HLLZ 1(IP)
2296 023140 322 00 0 00 023144 JUMPE USLD1 ;IF NO EXT, TRY A10 & SAV
2297
2298 023141 260 17 0 00 023153 GO USLKUP ;LOOKUP FILE
2299 023142 254 00 0 00 022355 JRST RFILE ;FOUND
2300 023143 254 00 0 00 022372 JRST NFERR ;NOT FOUND
2301
2302 023144 205 00 0 00 634166 USLD1: MOVSI (SIXBIT/SAV/)
2303 023145 260 17 0 00 023153 GO USLKUP ;LOOKUP "SAV"
2304 023146 254 00 0 00 022355 JRST RFILE ;FOUND
2305 023147 205 00 0 00 412120 MOVSI (SIXBIT/A10/)
2306 023150 260 17 0 00 023153 GO USLKUP ;LOOKUP "A10"
2307 023151 254 00 0 00 022355 JRST RFILE ;FOUND
2308 023152 254 00 0 00 022372 JRST NFERR ;COUNDN'T FIND EITHER
2309
2310 023153 202 00 0 00 025743 USLKUP: MOVEM LDNAME+1
2311 023154 076 16 0 00 025742 LOOKUP LDCHN,LDNAME
2312 023155 254 00 0 00 020423 JRST CPOPJ1 ;NOT FOUND
2313 023156 554 00 0 00 025743 HLRZ LDNAME+1
2314 023157 306 00 0 00 412120 CAIN (SIXBIT/A10/)
2315 023160 476 00 0 00 025502 SETOM A10FLG ;LOADING "A10" FILE
2316 023161 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 20
DEVLDR MAC 23-Apr-80 13:29 USER MODE LOADER SEQ 0090
2317 ;*URWD - USER MODE READ WORD
2318
2319 023162 373 00 0 00 025753 URWD: SOSLE LDBUF+2
2320 023163 254 00 0 00 023171 JRST URWD1
2321 023164 056 16 0 00 000000 IN LDCHN,
2322 023165 254 00 0 00 023171 JRST URWD1
2323 023166 063 16 0 00 740000 STATZ LDCHN,740000
2324 023167 260 17 0 00 025120 GO ERR9
2325 023170 263 17 0 00 000000 RTN
2326
2327 023171 134 04 0 00 025752 URWD1: ILDB W,LDBUF+1
2328 023172 200 05 0 00 025752 MOVE Q,LDBUF+1
2329 023173 254 00 0 00 020423 JRST CPOPJ1
2330
2331 ;*USRINT - USER MODE INIT, SETUP MINIMUM OF 32K OF CORE
2332
2333 023174 201 00 0 00 077777 USRINT: MOVEI <^D32*^D1024>-1
2334 023175 317 00 0 00 025552 CAMG SVJBREL ;DO WE HAVE 32K MINIMUM ?
2335 023176 263 17 0 00 000000 RTN ;YES
2336 023177 047 00 0 00 000011 CORE ;NO, EXPAND CORE TO 32K
2337 023200 260 17 0 00 025122 GO ERR10
2338 023201 200 00 0 00 000044 MOVE JOBREL
2339 023202 202 00 0 00 025552 MOVEM SVJBREL ;SAVE MAX CORE NOW
2340 023203 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 21
DEVLDR MAC 23-Apr-80 13:29 PAPER TAPE LOADER SEQ 0091
2341 SUBTTL PAPER TAPE LOADER
2342
2343 023204 201 00 0 00 000004 PTLD: MOVEI 4
2344 023205 202 00 0 00 025524 MOVEM LDEVICE
2345 023206 402 00 0 00 025534 SETZM NOCMNT
2346 023207 476 00 0 00 025502 SETOM A10FLG ;ASCII READ ONLY
2347 023210 205 00 0 00 412120 MOVSI (SIXBIT/A10/)
2348 023211 336 00 0 16 000001 SKIPN 1(IP) ;ANY EXTENSION ?
2349 023212 202 00 0 16 000001 MOVEM 0,1(IP) ;NO, USE ".A10"
2350 023213 260 17 0 00 021567 GO CRLF1
2351 023214 260 17 0 00 020337 GO NAMPNT ;PRINT FILE REQUESTED
2352 PMSG <PLACE TAPE IN READER, TYPE CR WHEN READY^>^
2353 023215 201 00 0 00 025353 MOVEI [SIXBIT\PLACE TAPE IN READER, TYPE CR WHEN READY^_\]
2354 023216 260 17 0 00 021426 PNTMSG^
2355 023217 260 17 0 00 021673 TTICHR
2356 023220 302 00 0 00 000012 CAIE 12 ;YOU GET LF
2357 023221 254 00 0 00 023217 JRST .-2
2358
2359 023222 7 104 04 0 00 000000 DATAI PTR,0
2360 023223 7 104 34 0 00 000400 CONSO PTR,400 ;TEST TAPE BIT
2361 023224 254 00 0 00 023204 JRST PTLD ;TAPE IN READER FLAG NOT SET
2362
2363 023225 254 00 0 00 022355 JRST RFILE ;OK, GO
2364
2365 023226 PTCNTL: PMSG <END OF TAPE>^
2366 023226 201 00 0 00 025362 MOVEI [SIXBIT\END OF TAPE_\]
2367 023227 260 17 0 00 021426 PNTMSG^
2368 023230 260 17 0 00 022732 GO CMNPNT ;PRINT REST OF COMMENT LINE
2369
2370 023231 PTCNT1: PMSG <^PLACE NEXT PART IN READER, TYPE CR WHEN READY^>^
2371 023231 201 00 0 00 025364 MOVEI [SIXBIT\^PLACE NEXT PART IN READER, TYPE CR WHEN READY^_\]
2372 023232 260 17 0 00 021426 PNTMSG^
2373 023233 260 17 0 00 021673 TTICHR
2374 023234 302 00 0 00 000012 CAIE 12
2375 023235 254 00 0 00 023233 JRST .-2
2376
2377 023236 7 104 04 0 00 000000 DATAI PTR,0
2378 023237 7 104 34 0 00 000400 CONSO PTR,400 ;TEST TAPE BIT
2379 023240 254 00 0 00 023231 JRST PTCNT1 ;TAPE IN READER FLAG NOT SET
2380 023241 332 00 0 00 025551 SKIPE SPECIAL
2381 023242 254 00 0 00 022410 JRST FREAD3
2382 023243 254 00 0 00 022531 JRST LDPROC
2383
2384 023244 7 104 34 0 00 000400 LDACPT: CONSO PTR,400 ;READER OUT OF TAPE ?
2385 023245 263 17 0 00 000000 RTN ;YES, EOF
2386 023246 7 104 30 0 00 000020 CONSZ PTR,20
2387 023247 254 00 0 00 023246 JRST .-1
2388 023250 7 104 04 0 00 000016 DATAI PTR,16 ;INPUT CHAR FROM READER
2389 023251 405 16 0 00 000177 ANDI 16,177 ;MAKE 7 BITS
2390 023252 254 00 0 00 022456 JRST LDACH2
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 22
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0092
2391 SUBTTL DECTAPE LOAD ONLY ROUTINE
2392
2393 ;*DECTAPE CONTROL BITS
2394
2395 400000 DTSTOP=400000 ;DTC, STOP
2396 200000 DTFWD=200000 ;DTC, GO FORWARD
2397 100000 DTRVS=100000 ;DTC, GO REVERSE
2398 020000 DTSEL=020000 ;DTC, SELECT
2399 010000 DTDSEL=010000 ;DTC, DESELECT
2400 000001 DTDREQ=000001 ;DTS, DATA REQUEST
2401 000001 DTFSTP=000001 ;DTS, FUNCTION STOP
2402 100000 DTJBDN=100000 ;DTS, JOB DONE
2403 000100 DTRALL=000100 ;DTC, READ ALL
2404 000200 DTRBN=000200 ;DTC, READ BLOCK NUMBERS
2405 000300 DTREAD=300 ;DTC, READ
2406 020000 DTEND=20000 ;DTS, END ZONE
2407 400000 DTREV=400000 ;F, TAPE MOVING IN REVERSE
2408 653300 DTERR=653300 ;DTS, ERROR; PARITY,DATA MISS,ILL OP,BLK MISS
2409 ; WM SW,MK TRK ER,SEL ERR
2410
2411 ;*ACCUMULATOR ASSIGNMENTS
2412
2413 000000 F=0 ;TEMP
2414 000001 A=1 ;TEMP
2415 000002 B=2 ;TEMP
2416 000003 C=3 ;HOLDS BITS FOR DECTAPE CONO DURING I/O
2417 000004 W=4 ;WORD RETURNED BY RWORD
2418 000005 Q=5 ;COUNTER, DATA WORD BUFFER
2419 000006 N=6 ;COUNTER, SEARCH & DTABLK
2420 000007 M=7 ;MEMORY AOBJN POINTER, DATA TO CORE
2421 000010 FILN=10 ;NUMBER OF FILE IN DIRECTORY, 1 TO 26 OCTAL
2422 000011 TABADR=11 ;DIRECTORY SLOT ADDRESSER
2423 000012 PNTR=12 ;POSITIONER FOR BYTE TABLE IN DIRECTORY
2424 000013 BLKNO=13 ;BLOCK NUMBER SEARCHED FOR ON TAPE
2425 000015 PNT=15 ;LISTING AC'S
2426 000016 PNT1=16
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 23
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0093
2427 ;*DTALD - INITIAL ENTRY TO LOAD TAPE
2428
2429 023253 201 00 0 00 000001 DTALD: MOVEI 1
2430 023254 202 00 0 00 025524 MOVEM LDEVICE
2431 023255 476 00 0 00 025667 SETOM DIRSRC ;SETUP FOR TAPE SEARCH
2432 023256 402 00 0 00 025670 SETZM DOSRCH
2433 023257 403 11 0 00 000012 SETZB TABADR,PNTR ;SETUP DIR SLOT POINTERS
2434 023260 7 320 20 0 00 400000 CONO DTC,DTSTOP ;STOP TAPE DRIVE
2435 023261 200 01 0 16 000000 MOVE A,(IP) ;GET REQUESTED FILE NAME
2436 023262 510 03 0 16 000001 HLLZ C,1(IP)
2437 023263 205 10 0 00 777752 MOVSI FILN,-26 ;FILE NAME SPECIFIED
2438 023264 510 02 0 10 027153 LUP: HLLZ B,TAB+151(FILN) ;LOOK IT UP
2439 023265 312 01 0 10 027125 CAME A,TAB+123(FILN)
2440 023266 254 00 0 00 023271 JRST .+3
2441 023267 322 03 0 00 023274 JUMPE C,LUP3
2442 023270 312 03 0 00 000002 CAME C,B
2443 023271 253 10 0 00 023264 LUP1: AOBJN FILN,LUP ;NOT FOUND, KEEP LOOKING
2444 023272 321 10 0 00 023277 LUP2: JUMPL FILN,FNFND ;IF FOUND JUMP
2445 023273 254 00 0 00 023325 JRST NF ;NOT FOUND
2446
2447 023274 260 17 0 00 023413 LUP3: GO EXTCK ;CHECK EXT FOR EITHER "A10" OR "SAV"
2448 023275 254 00 0 00 023271 JRST LUP1 ;NOT FOUND
2449 023276 254 00 0 00 023272 JRST LUP2 ;FOUND
2450
2451 023277 201 10 0 10 000001 FNFND: MOVEI FILN,1(FILN) ;FILN IS FILE #+1, CLR LH
2452
2453 023300 403 05 0 00 000013 SETZB Q,BLKNO
2454 023301 350 00 0 00 000013 MNLUP: AOS BLKNO
2455 023302 334 00 0 00 000000 SKIPA ;SEARCH DIRECTORY BLK # SLOTS
2456 023303 561 12 0 00 777734 HRROI PNTR,-^D36
2457 023304 271 12 0 00 000005 ADDI PNTR,5 ;ILDB SUBSTITUTION
2458 023305 331 00 0 00 000012 SKIPL PNTR ;FOR ILDB B,PNTR
2459 023306 344 11 0 00 023303 AOJA TABADR,.-3 ;PNTR ORIG = [POINT 5,TAB]
2460 023307 200 02 0 11 027001 MOVE B,TAB-1(TABADR)
2461 023310 242 02 0 12 000000 LSH B,(PNTR)
2462 023311 405 02 0 00 000037 ANDI B,37
2463 023312 306 02 0 00 000037 CAIN B,37
2464 023313 254 00 0 00 023441 JRST BLKERR ;BLOCK NUMBER ERROR
2465 023314 302 10 0 02 000000 CAIE FILN,(B) ;THIS BLK ASSIGNED TO CURRENT
2466 023315 254 00 0 00 023301 JRST MNLUP ;FILE OR IN USE BY ANOTHER
2467
2468 023316 260 17 0 00 024050 RFILL: GO RDDTA1 ;READ THE DATA BLOCK TO FIND FBN
2469 023317 254 00 0 00 023421 JRST ERR ;SHOULD NEVER GET HERE
2470 023320 200 01 0 00 027205 MOVE A,DBUF ;GET FIRST BLOCK OF FILE
2471 023321 242 01 0 00 777770 LSH A,-^D8 ;LDB SUBSTITUTION FOR:
2472 023322 405 01 0 00 001777 ANDI A,1777 ;LDB A,[POINT 10,DBUF,27]
2473 023323 506 01 0 00 027205 HRLM A,DBUF ;PUT IN LINK SLOT TO BE READ NEXT
2474 023324 254 00 0 00 022355 JRST RFILE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 24
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0094
2475 ;*NF - NOT FOUND DIRECTORY SEARCH SEQUENCE
2476
2477 023325 336 00 0 00 025671 NF: SKIPN SRCHF ;SEARCHING ?
2478 023326 254 00 0 00 022372 JRST NFERR ;NO, NOT FOUND ERROR
2479 023327 202 17 0 00 025647 MOVEM P,SAVEP ;SAVE PUSHDOWN POINTER
2480 023330 200 17 0 00 025647 NF1: MOVE P,SAVEP ;RESTORE PUSHDOWN POINTER
2481 023331 350 01 0 00 025667 AOS A,DIRSRC ;INCREMENT SEARCH TAPE NUMBER
2482 023332 301 01 0 00 000010 CAIL A,10 ;DECTAPES ARE 0-7
2483 023333 254 00 0 00 022372 JRST NFERR ;SEARCHED THEM ALL
2484 023334 476 00 0 00 025670 SETOM DOSRCH ;SET DOING SEARCH
2485 023335 242 01 0 00 000011 LSH A,^D9
2486 023336 202 01 0 00 025666 MOVEM A,TAPENO ;MAKE A TAPE NUMBER
2487 023337 332 00 0 00 025556 SKIPE VDTAFLG
2488 023340 254 00 0 00 023561 JRST VDIR+1 ;PDP-11 FORMAT TAPE
2489 023341 260 17 0 00 023443 GO LDDIR ;SELECT TAPE, READ DIRECTORY
2490 023342 254 00 0 00 023257 JRST DTALD+4 ;LOOK UP IN THIS DIRECTORY
2491
2492 ;*PROCBK - READ A BLOCK OF TAPE
2493
2494 023343 260 17 0 00 023365 PROCBK: GO SEARCH ;FIRST FIND THE BLOCK
2495 023344 201 06 0 00 000200 MOVEI N,200 ;NUMBER OF WORDS IN BLOCK
2496 023345 603 00 0 00 400000 TLNE F,DTREV ;WHICH DIRECTION ?
2497 023346 271 01 0 00 000177 ADDI A,177 ;BACKWARDS, GO FROM TOP
2498 023347 7 320 20 0 00 000300 CONO DTC,DTREAD ;READ
2499 023350 7 324 30 0 00 673300 PROCLP: CONSZ DTS,DTERR!DTEND
2500 023351 254 00 0 00 023421 JRST ERR ;TROUBLE, QUIT
2501 023352 7 324 34 0 00 000001 CONSO DTS,DTDREQ ;DATA AVAILABLE ?
2502 023353 254 00 0 00 023350 JRST PROCLP ;NO, WAIT SOME MORE
2503 023354 7 320 04 0 01 000000 DATAI DTC,(A) ;READ DATA TO BUFFER
2504 023355 271 01 0 00 000001 ADDI A,1 ;COUNT BUFFER POINTER
2505 023356 603 00 0 00 400000 TLNE F,DTREV ;GOING BACKWARDS ?
2506 023357 275 01 0 00 000002 SUBI A,2 ;YES, COUNT POINTER BACKWARDS
2507 023360 367 06 0 00 023350 SOJG N,PROCLP ;TRANSFERRED WHOLE BLOCK ?
2508 023361 7 324 20 0 00 000001 CONO DTS,1 ;CHECKSUM AND QUIT
2509 023362 7 324 34 0 00 100000 CONSO DTS,DTJBDN ;DONE ?
2510 023363 254 00 0 00 023362 JRST .-1 ;NOT YET, WAIT
2511 023364 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 25
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0095
2512 ;*SEARCH - FIND THE BLOCK
2513
2514 023365 200 03 0 00 025666 SEARCH: MOVE C,TAPENO ;GET DRIVE NUMBER
2515 023366 7 320 30 0 00 300000 CONSZ DTC,DTFWD!DTRVS ;TAPE GOING ?
2516 023367 254 00 0 00 023372 JRST SRCHC ;YES
2517 023370 660 03 0 00 200000 TRO C,DTFWD ;NO, MAKE IT GO FORWARD
2518 023371 621 00 0 00 400000 TLZ F,DTREV ;SET FLAG FOR THAT
2519 023372 7 320 20 0 03 020200 SRCHC: CONO DTC,DTRBN!DTSEL(C) ;SEARCH
2520 023373 7 324 30 0 00 020000 SRCHW: CONSZ DTS,DTEND ;AT END ZONE ?
2521 023374 254 00 0 00 023410 JRST SRCHTA ;YES, TURN AROUND
2522 023375 7 324 30 0 00 653300 CONSZ DTS,DTERR ;ANY ERRORS ?
2523 023376 254 00 0 00 023421 JRST ERR ;YES, QUIT
2524 023377 7 324 34 0 00 000001 CONSO DTS,DTDREQ ;BLOCK NUMBER FOUND ?
2525 023400 254 00 0 00 023373 JRST SRCHW ;NO, WAIT FOR IT
2526 023401 7 320 04 0 00 000006 DATAI DTC,N ;WHAT BLOCK ARE WE AT ?
2527 023402 405 06 0 00 007777 ANDI N,7777 ;MASK JUNK
2528 023403 275 06 0 13 000000 SUBI N,(BLKNO) ;GET DISTANCE TO GO
2529 023404 322 06 0 00 020355 JUMPE N,CPOPJ ;FOUND, RTN WITH TAPE ROLLING INTO BLK
2530 023405 603 00 0 00 400000 TLNE F,DTREV ;NOT THERE, WHICH DIRECTION ?
2531 023406 213 00 0 00 000006 MOVNS N ;BACKWARDS, NEGATE
2532 023407 321 06 0 00 023365 JUMPL N,SEARCH ;IF SHOULD CONTINUE, ITS MINUS
2533 023410 7 320 20 0 00 300000 SRCHTA: CONO DTC,DTFWD!DTRVS ;MUST TURN AROUND (END ZONE OR PASSED)
2534 023411 641 00 0 00 400000 TLC F,DTREV ;COMPLEMENT DIRECTION FLAG
2535 023412 254 00 0 00 023365 JRST SEARCH ;SEARCH SOME MORE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 26
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0096
2536 ;*EXTCK - FILE EXTENSION CHECK
2537
2538 023413 316 02 0 00 025344 EXTCK: CAMN B,[SIXBIT/SAV/]
2539 023414 254 00 0 00 020423 JRST CPOPJ1 ;FILE EXT IS "SAV"
2540 023415 312 02 0 00 025345 CAME B,[SIXBIT/A10/]
2541 023416 263 17 0 00 000000 RTN ;NEITHER
2542 023417 476 00 0 00 025502 SETOM A10FLG ;SET FOR "A10" LOAD
2543 023420 254 00 0 00 020423 JRST CPOPJ1
2544
2545 ;*ERR - DECTAPE ERROR ROUTINES
2546
2547 023421 332 00 0 00 025670 ERR: SKIPE DOSRCH ;DOING A SEARCH ?
2548 023422 254 00 0 00 023330 JRST NF1 ;YES, MOVE ON TO NEXT DRIVE
2549 023423 7 324 24 0 00 000003 CONI DTS,C ;GET DECTAPE STATUS
2550 023424 7 320 20 0 00 400000 CONO DTC,DTSTOP ;STOP DECTAPE
2551 PMSG <^DECTAPE ERROR, DTS = >^
2552 023425 201 00 0 00 025374 MOVEI [SIXBIT\^DECTAPE ERROR, DTS = _\]
2553 023426 260 17 0 00 021426 PNTMSG^
2554 023427 200 00 0 00 000003 MOVE 0,C
2555 023430 260 17 0 00 021475 GO PNTOCT
2556 023431 201 00 0 00 000040 ERR1: MOVEI " "
2557 023432 260 17 0 00 021513 GO PRINT
2558 023433 260 17 0 00 020337 GO NAMPNT
2559 023434 336 00 0 00 020014 SKIPN ONCE ;INITIAL LOAD ERROR ?
2560 023435 254 00 0 00 020150 JRST SELX1 ;YES
2561 023436 332 00 0 00 025623 SKIPE PGMGO
2562 023437 254 00 0 00 020045 JRST SELECT
2563 023440 254 00 0 00 020646 JRST RUN
2564
2565 023441 7 320 20 0 00 400000 BLKERR: CONO DTC,DTSTOP
2566 023442 260 17 0 00 025130 GO ERR13
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 27
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0097
2567 ;*LDDIR - READ TAPE DIRECTORY
2568
2569 023443 201 13 0 00 000144 LDDIR: MOVEI BLKNO,^D100 ;BLOCK ON TAPE TO READ
2570 023444 402 00 0 00 000000 SETZM F
2571 023445 7 320 20 0 00 030000 CONO DTC,DTSEL!DTDSEL ;CLEAR DECTAPE
2572 023446 201 01 0 00 027002 MOVEI A,TAB ;SETUP WHERE TO PUT IT
2573 023447 260 17 0 00 024051 GO DTABLK ;READ IT
2574 023450 254 00 0 00 023421 JRST ERR ;SHOULD NEVER GET HERE
2575 023451 7 320 20 0 00 400000 CONO DTC,DTSTOP ;STOP TAPE
2576 023452 263 17 0 00 000000 RTN
2577
2578 ;*FDIR - PRINT DIRECTORY OF DECTAPE
2579
2580 023453 260 17 0 00 021567 FDIR: GO CRLF1
2581 023454 332 00 0 00 025556 SKIPE VDTAFLG
2582 023455 254 00 0 00 023560 JRST VDIR ;PDP-11 FORMAT DECTAPE DIRECTORY
2583
2584 PMSG <TAPE ID: >^
2585 023456 201 00 0 00 025400 MOVEI [SIXBIT\TAPE ID: _\]
2586 023457 260 17 0 00 021426 PNTMSG^
2587 023460 200 01 0 00 027201 MOVE A,TAB+177 ;GET TAPE ID
2588 023461 260 17 0 00 020347 GO SIXBP
2589 023462 260 17 0 00 021567 GO CRLF1
2590 023463 205 06 0 00 777752 MOVSI N,-26 ;26 FILES OCTAL
2591 023464 336 01 0 06 027125 FILDL: SKIPN A,TAB+123(N) ;GET NAME
2592 023465 254 00 0 00 023503 JRST FILDN ;BLANK, LOOK FOR NEXT
2593 023466 260 17 0 00 020347 GO SIXBP ;PRINT FILE NAME
2594 023467 510 01 0 06 027153 HLLZ A,TAB+151(N) ;GET EXTENSION
2595 023470 322 01 0 00 023505 JUMPE A,NOEXT ;BLANK
2596 023471 201 00 0 00 000056 MOVEI F,"."
2597 023472 260 17 0 00 021513 GO PRINT ;TYPE DOT
2598 023473 260 17 0 00 020347 GO SIXBP ;PRINT EXTENSION
2599 023474 260 17 0 00 022041 FILD1: GO PNTTAB
2600 023475 200 01 0 00 025652 MOVE A,CHRCTR
2601 023476 305 01 0 00 000020 CAIGE A,20 ;TABBED FAR ENOUGH ?
2602 023477 260 17 0 00 022041 GO PNTTAB ;NO, DO ANOTHER TAB
2603 023500 260 17 0 00 023510 GO DTBLKC ;COMPUTE NUMBER OF BLOCKS PER FILE
2604 023501 260 17 0 00 021504 GO PNTDEC
2605 023502 260 17 0 00 021567 GO CRLF1 ;CR-LF
2606 023503 253 06 0 00 023464 FILDN: AOBJN N,FILDL ;LOOP FOR ALL NAMES
2607 023504 254 00 0 00 020000 JRST START
2608
2609 023505 NOEXT: PMSG < >^
2610 023505 201 00 0 00 025402 MOVEI [SIXBIT\ _\]
2611 023506 260 17 0 00 021426 PNTMSG^
2612 023507 254 00 0 00 023474 JRST FILD1
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 28
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0098
2613 XLIST
2614 LIST
2615 ;*DTBLKC - COMPUTE NUMBER OF BLOCKS USED PER FILE
2616
2617 023510 403 00 0 00 000011 DTBLKC: SETZB 0,TABADR
2618 023511 561 12 0 00 777734 HRROI PNTR,-^D36 ;ILDB SUBSTITUTION
2619 023512 271 12 0 00 000005 ADDI PNTR,5 ;FOR ILDB B,PNTR
2620 023513 331 00 0 00 000012 SKIPL PNTR ;PNTR ORIG = [POINT 5,TAB]
2621 023514 344 11 0 00 023511 AOJA TABADR,.-3
2622 023515 200 02 0 11 027002 MOVE B,TAB(TABADR) ;GET BLOCK SLOT DATA
2623 023516 242 02 0 12 000000 LSH B,(PNTR)
2624 023517 405 02 0 00 000037 ANDI B,37
2625 023520 306 02 0 00 000037 CAIN B,37 ;SEARCHED ALL SLOTS
2626 023521 263 17 0 00 000000 RTN ;YES
2627 023522 306 02 0 06 000001 CAIN B,1(N) ;BLOCK BELONG TO THIS FILE ?
2628 023523 350 00 0 00 000000 AOS 0 ;YES
2629 023524 254 00 0 00 023512 JRST DTBLKC+2
2630
2631 ;*LSTPNT - LIST FILES (ASCIZ)
2632
2633 023525 476 00 0 00 025551 LSTPNT: SETOM SPECIAL
2634 023526 261 17 0 00 000000 PUSH P,0
2635 023527 260 17 0 00 022043 SWITCH
2636 023530 603 00 0 00 020000 TLNE LPTSW
2637 023531 476 00 0 00 025627 SETOM LPTFLG
2638 023532 260 17 0 00 022102 GO DTECLR
2639 023533 262 17 0 00 000000 POP P,0
2640 023534 260 17 0 00 022437 LSTPN1: GO LDACHR ;READ A CHAR
2641 023535 254 00 0 00 020000 JRST START ;EOF
2642 023536 260 17 0 00 020356 GO PNT16 ;PRINT IT
2643 023537 254 00 0 00 023534 JRST LSTPN1
2644
2645
2646 023540 336 00 0 00 025645 STOP: SKIPN DEVTYP ;SKP IF NOT DECTAPE
2647 023541 7 320 20 0 00 400000 CONO DTC,DTSTOP ;STOP THE DECTAPE
2648 023542 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 29
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0099
2649 ;*VDTALD - LOAD FROM PDP-11 FORMAT DECTAPE
2650
2651 000010 VC= 10
2652 000011 VT= 11
2653 000012 VT1= 12
2654 000013 VT2= 13
2655 000015 VDIRF= 15
2656
2657 023543 201 00 0 00 000003 VDTALD: MOVEI 3
2658 023544 202 00 0 00 025524 MOVEM LDEVICE
2659 023545 476 00 0 00 025667 SETOM DIRSRC ;SET FOR TAPE SEARCH
2660 023546 7 320 20 0 00 400000 CONO DTC,DTSTOP
2661 023547 403 15 0 00 025670 SETZB VDIRF,DOSRCH
2662 023550 476 00 0 00 025502 SETOM A10FLG ;CAN ONLY PROCESS ASCII
2663 023551 200 01 0 16 000000 MOVE A,(IP) ;SETUP REQUESTED FILE NAME.EXT
2664 023552 202 01 0 00 025560 MOVEM A,VNAM#
2665 023553 510 01 0 16 000001 HLLZ A,1(IP)
2666 023554 336 00 0 00 000001 SKIPN A
2667 023555 205 01 0 00 412120 MOVSI A,(SIXBIT/A10/)
2668 023556 202 01 0 00 025557 MOVEM A,VEXT#
2669 023557 254 00 0 00 023561 JRST VDIR+1
2670
2671 ;*VDIR - PRINT PDP-11 FORMAT DECTAPE DIRECTORY
2672
2673 023560 476 00 0 00 000015 VDIR: SETOM VDIRF ;SET DOING DIRECTORY FLAG
2674 023561 201 13 0 00 000102 MOVEI BLKNO,102 ;FIRST 11 DIR BLOCK
2675 023562 260 17 0 00 023444 GO LDDIR+1 ;READ IT
2676 023563 402 00 0 00 025670 SETZM DOSRCH
2677
2678 023564 201 10 0 00 000000 VDIRL2: MOVEI VC,0 ;START OF DIRECTORY BLOCK
2679 023565 201 11 0 00 000000 VDIRL1: MOVEI VT,0 ;GET 1ST HALF OF NAME
2680 023566 260 17 0 00 023650 GO GTVDWD
2681 023567 322 11 0 00 023621 JUMPE VT,VDIRL4 ;BLANK ?, IF SO, SKIP FILE
2682 023570 260 17 0 00 023730 GO R5VSIX ;CONVERT RAD50 TO SIXBIT
2683 023571 204 01 0 00 000011 MOVS A,VT
2684
2685 023572 201 11 0 00 000001 MOVEI VT,1 ;GET 2ND HALF OF NAME
2686 023573 260 17 0 00 023650 GO GTVDWD
2687 023574 260 17 0 00 023730 GO R5VSIX
2688 023575 540 01 0 00 000011 HRR A,VT
2689
2690 023576 322 15 0 00 023635 JUMPE VDIRF,VDTAL1 ;FILE LOAD ?
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 30
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0100
2691 023577 260 17 0 00 020347 GO SIXBP ;NO, PRINT NAME
2692
2693 023600 201 00 0 00 000056 MOVEI F,"."
2694 023601 260 17 0 00 021513 GO PRINT
2695
2696 023602 201 11 0 00 000002 VDIRL3: MOVEI VT,2 ;GET EXTENSION
2697 023603 260 17 0 00 023650 GO GTVDWD
2698 023604 260 17 0 00 023730 GO R5VSIX
2699 023605 204 01 0 00 000011 MOVS A,VT
2700
2701 023606 322 15 0 00 023640 JUMPE VDIRF,VDTAL2 ;FILE LOAD ?
2702
2703 023607 260 17 0 00 020347 GO SIXBP ;NO, PRINT EXTENSION
2704
2705 023610 260 17 0 00 022041 GO PNTTAB
2706 023611 200 01 0 00 025652 MOVE A,CHRCTR
2707 023612 305 01 0 00 000020 CAIGE A,20
2708 023613 260 17 0 00 022041 GO PNTTAB
2709
2710 023614 201 11 0 00 000006 MOVEI VT,6 ;GET SIZE OF FILE
2711 023615 260 17 0 00 023650 GO GTVDWD
2712 023616 200 00 0 00 000011 MOVE 0,VT
2713 023617 260 17 0 00 021504 GO PNTDEC ;PRINT FILE BLOCKS
2714 023620 260 17 0 00 021567 GO CRLF1
2715
2716 023621 201 11 0 00 000011 VDIRL4: MOVEI VT,^D9 ;SEE IF NEXT FILE EXISTS
2717 023622 271 10 0 11 000000 ADDI VC,(VT)
2718 023623 200 12 0 00 000010 MOVE VT1,VC
2719 023624 271 12 0 11 000000 ADDI VT1,(VT)
2720 023625 305 12 0 00 000377 CAIGE VT1,377 ;OFF END OF BLOCK ?
2721 023626 254 00 0 00 023565 JRST VDIRL1 ;NO, DO NEXT ENTRY
2722
2723 023627 554 11 0 00 027002 HLRZ VT,TAB ;YES, SEE IF LINK
2724 023630 322 11 0 00 023633 JUMPE VT,.+3 ;NO
2725 023631 202 11 0 00 000013 MOVEM VT,BLKNO ;SAVE AS NEXT DIRECTORY BLOCK NUMBER
2726 023632 254 00 0 00 023562 JRST VDIR+2
2727
2728 023633 322 15 0 00 023325 JUMPE VDIRF,NF ;FILE LOAD ?
2729 023634 254 00 0 00 020000 JRST START ;NO
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 31
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0101
2730 023635 312 01 0 00 025560 VDTAL1: CAME A,VNAM ;CORRECT NAME ?
2731 023636 254 00 0 00 023621 JRST VDIRL4 ;NO
2732 023637 254 00 0 00 023602 JRST VDIRL3 ;YES
2733
2734 023640 312 01 0 00 025557 VDTAL2: CAME A,VEXT ;CORRECT EXTENSION ?
2735 023641 254 00 0 00 023621 JRST VDIRL4 ;NO
2736
2737 023642 201 11 0 00 000005 MOVEI VT,5 ;YES, GET FILE FIRST BLOCK ADDRESS
2738 023643 260 17 0 00 023650 GO GTVDWD
2739 023644 506 11 0 00 027205 HRLM VT,DBUF ;SETUP FOR FILE READ
2740 023645 402 00 0 00 025511 SETZM D11C1#
2741 023646 402 00 0 00 025514 SETZM D11W#
2742 023647 254 00 0 00 022355 JRST RFILE ;NOW GO FILE LOAD
2743
2744 ;*GTVDWD - GET WORD FROM PDP-11 DIRECTORY
2745 ;* CALL WITH INDECIES IN VT & VC SUCH THAT ADDING THEM GIVES
2746 ;* NUMBER OF PDP-11 WORDS INTO DESIRED DIRECTORY
2747
2748 023650 201 12 0 11 000001 GTVDWD: MOVEI VT1,1(VT)
2749 023651 271 12 0 10 000000 ADDI VT1,(VC)
2750 023652 241 12 0 00 777777 ROT VT1,-1
2751 023653 200 11 0 12 027002 MOVE VT,TAB(VT1)
2752 023654 331 00 0 00 000012 SKIPL VT1
2753 023655 204 11 0 12 027002 MOVS VT,TAB(VT1)
2754 023656 405 11 0 00 177777 ANDI VT,177777
2755 023657 263 17 0 00 000000 RTN
2756
2757 ;*D11CHR - DECTAPE PDP-11 FORMAT CHARACTER READ
2758
2759 023660 332 00 0 00 025511 D11CHR: SKIPE D11C1 ;HAVE A BYTE LEFT ?
2760 023661 254 00 0 00 023670 JRST D11CH1 ;YES
2761
2762 023662 260 17 0 00 023673 GO D11WD ;NO, READ A HALF WORD
2763 023663 263 17 0 00 000000 RTN ;EOF
2764
2765 023664 202 04 0 00 025512 MOVEM W,D11CHW# ;STORE REMAINING HALF WORD
2766 023665 135 16 0 00 025403 LDB 16,[POINT 8,W,35] ;GET 1ST (RIGHT) BYTE
2767 023666 476 00 0 00 025511 SETOM D11C1 ;FLAG ONE LEFT
2768 023667 254 00 0 00 020423 JRST CPOPJ1
2769
2770 023670 135 16 0 00 025404 D11CH1: LDB 16,[POINT 8,D11CHW,27] ;GET 2ND (LEFT) BYTE
2771 023671 402 00 0 00 025511 SETZM D11C1 ;NEED NEW WORD NEXT TIME
2772 023672 254 00 0 00 020423 JRST CPOPJ1
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 32
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0102
2773 ;*D11WD - DECTAPE PDP-11 FORMAT WORD READ
2774
2775 023673 373 00 0 00 025514 D11WD: SOSLE D11W ;ANY DATA LEFT IN BLOCK ?
2776 023674 254 00 0 00 023717 JRST D11WD1 ;YES
2777
2778 023675 554 13 0 00 027205 D11WD2: HLRZ BLKNO,DBUF ;SETUP LINK TO NEXT BLOCK
2779 023676 602 13 0 00 100000 TRNE BLKNO,100000 ;NEGATIVE ?
2780 023677 660 13 0 00 600000 TRO BLKNO,600000 ;YES, EXTEND SIGN
2781 023700 573 00 0 00 000013 HRRES BLKNO
2782
2783 023701 202 13 0 00 025510 MOVEM BLKNO,D11BLK# ;SAVE
2784 023702 322 13 0 00 020355 JUMPE BLKNO,CPOPJ ;QUIT ON EOF
2785 023703 214 13 0 00 025510 MOVM BLKNO,D11BLK
2786 023704 303 13 0 00 001077 CAILE BLKNO,1077 ;LEGAL BLOCK NUMBER ?
2787 023705 254 00 0 00 023441 JRST BLKERR ;NO
2788
2789 023706 201 01 0 00 027205 MOVEI A,DBUF ;READ DTA BLOCK INTO DBUF
2790 023707 260 17 0 00 024051 GO DTABLK
2791 023710 254 04 0 00 023710 HALT .
2792
2793 023711 335 00 0 00 025510 SKIPGE D11BLK ;WHICH DIRECTION ?
2794 023712 260 17 0 00 023721 GO D11SWP ;BACKWARDS, SWAP DATA AROUND
2795
2796 023713 201 11 0 00 000377 MOVEI VT,377
2797 023714 202 11 0 00 025514 MOVEM VT,D11W ;SETUP # OF 16 BIT WORDS
2798
2799 023715 200 11 0 00 025405 MOVE VT,[POINT 18,DBUF,17]
2800 023716 202 11 0 00 025513 MOVEM VT,D11PNT# ;SETUP BYTE POINTER
2801
2802 023717 134 04 0 00 025513 D11WD1: ILDB W,D11PNT ;READ A 16 BIT WORD
2803 023720 254 00 0 00 020423 JRST CPOPJ1
2804
2805 023721 205 06 0 00 777700 D11SWP: MOVSI N,-100 ;TURN DATA BUFFER OVER
2806 023722 204 11 0 06 027205 MOVS VT,DBUF(N) ;ALSO SWAPPING WORD HALVES
2807 023723 211 12 0 06 000000 MOVNI VT1,(N)
2808 023724 250 11 0 12 027404 EXCH VT,DBUF+177(VT1)
2809 023725 206 11 0 06 027205 MOVSM VT,DBUF(N)
2810 023726 253 06 0 00 023722 AOBJN N,.-4
2811 023727 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 33
DEVLDR MAC 23-Apr-80 13:29 DECTAPE LOAD ONLY ROUTINE SEQ 0103
2812 ;*R5VSIX - RAD50 CONVERTER
2813
2814 023730 402 00 0 00 000004 R5VSIX: SETZM W
2815 023731 200 13 0 00 025406 MOVE VT2,[POINT 6,W,17]
2816 023732 405 11 0 00 177777 ANDI VT,177777
2817 023733 231 11 0 00 003100 IDIVI VT,3100
2818 023734 261 17 0 00 000012 PUSH P,VT1
2819 023735 260 17 0 00 023746 GO R5VOU1
2820 023736 262 17 0 00 000011 POP P,VT
2821 023737 231 11 0 00 000050 IDIVI VT,50
2822 023740 261 17 0 00 000012 PUSH P,VT1
2823 023741 260 17 0 00 023746 GO R5VOU1
2824 023742 262 17 0 00 000011 POP P,VT
2825 023743 260 17 0 00 023746 GO R5VOU1
2826 023744 200 11 0 00 000004 MOVE VT,W
2827 023745 263 17 0 00 000000 RTN
2828
2829
2830 023746 231 11 0 00 000006 R5VOU1: IDIVI VT,6
2831 023747 135 02 0 12 023752 LDB B,R5VOU2(VT1)
2832 023750 136 02 0 00 000013 IDPB B,VT2
2833 023751 263 17 0 00 000000 RTN
2834
2835 023752 36 06 0 11 023760 R5VOU2: POINT 6,R5VTAB(VT),5
2836 023753 30 06 0 11 023760 POINT 6,R5VTAB(VT),11
2837 023754 22 06 0 11 023760 POINT 6,R5VTAB(VT),17
2838 023755 14 06 0 11 023760 POINT 6,R5VTAB(VT),23
2839 023756 06 06 0 11 023760 POINT 6,R5VTAB(VT),29
2840 023757 00 06 0 11 023760 POINT 6,R5VTAB(VT),35
2841
2842 023760 00 41 42 43 44 45 R5VTAB: SIXBIT \ ABCDEFGHIJKLMNOPQRSTUVWXYZ$.%0123456789?\
2843 023761 46 47 50 51 52 53
2844 023762 54 55 56 57 60 61
2845 023763 62 63 64 65 66 67
2846 023764 70 71 72 04 16 05
2847 023765 20 21 22 23 24 25
2848 023766 26 27 30 31 37 00
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 34
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0104
2849 SUBTTL DSKLDR DISK PACK LOAD ONLY ROUTINE
2850
2851 ;*I/O DEVICE PARAMETERS
2852
2853 000020 DF22B= 20 ;RP10 DF22 BIT MODE BIT
2854 000250 DPC= 250 ;DEVICE CODE FOR RP10
2855 000254 DPC2= 254 ;SECOND RP10
2856 000004 O.SEEK= 4 ;DISK OP FOR RP10 SEEK
2857 000000 O.READ= 0 ;DISK OP FOR RP10 READ
2858 000270 DHX= 270 ;DEVICE CODE FOR RH10/RP04/5/6
2859 000274 DHX2= 274 ;SECOND
2860 000360 DHX3= 360 ;THIRD
2861 000364 DHX4= 364 ;FOURTH
2862 000370 DHX5= 370 ;FIFTH
2863 000374 DHX6= 374 ;SIXTH
2864
2865 000540 DHZ= 540 ;FIRST RH20/RP04/5/6
2866 000544 DHZ2= 544 ;SECOND
2867 000550 DHZ3= 550 ;THIRD
2868 000554 DHZ4= 554 ;FOURTH
2869 000560 DHZ5= 560 ;FIFTH
2870 000564 DHZ6= 564 ;SIXTH
2871 000570 DHZ7= 570 ;SEVENTH
2872 000574 DHZ8= 574 ;EIGHTH
2873
2874 000071 DH.RD= 71 ;DISK OP FOR RH10 READ
2875 000061 DH.WRT= 61 ;DISK OP FOR RH10 WRITE
2876 004000 DF22RH= 4000 ;RH10 DF22 BIT MODE BIT
2877 000022 LOWCMD= 22 ;DF-10 LOCATION
2878
2879 ;*FLAGS, LEFT HALF OF F
2880
2881 000002 L.LBK=2 ;LEFT BRACKET
2882 000004 L.CMA=4 ;COMMA
2883
2884 ;*FLAGS, RIGHT HALF OF F
2885
2886 000177 R.KDEV=177 ;BITS 29-35, DEVICE CODE
2887 000200 R.TYPE=200 ;TYPE OF UNIT
2888 000400 R.DSKW=400 ;WILD DISK NAME, TRY ALL
2889 001000 R.SRIB=1000 ;NEED TO SKIP A BLOCK (RIB AT START)
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 35
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0105
2890 ;*SYSTEM PARAMETERS, MUST AGREE WITH MONITOR
2891
2892 000001 HOMBK1= 1 ;ADDRESS OF HOME BLOCKS
2893 000012 HOMBK2= ^D10
2894 707070 CODHOM= 707070 ;VERIFICATION CODE OF HOME BLOCK
2895 777777 CODRIB= 777777 ;VERIFICATION CODE OF RIB BLOCK
2896 000176 BLKCOD= 176 ;WORD ADDRESS OF VERIF CODE
2897 000177 BLKSLF= 177 ;WORD ADDRESS OF SELF POINTER
2898 000000 RIBFIR= 0 ;WORD ADDRESS OF RIB AOBJN POINTER
2899 000002 RIBNAM= 2 ;WORD ADDRESS OF NAME OF FILE IN RIB
2900 000003 RIBEXT= 3 ;WORD ADDRESS OF EXT
2901 000005 RIBSIZ= 5 ;LENGTH OF FILE IN WORDS
2902
2903 000004 HOMSNM= 4 ;STRUCTURE NAME IN SIXBIT
2904 000010 HOMLUN= 10 ;LOGICAL UNIT NUMBER (OCT) IN STR
2905 000014 HOMBSC= 14 ;BLOCKS PER SUPERCLUSTER IN HOME BLOCK
2906 000015 HOMSCU= 15 ;SUPERCLUSTERS PER UNIT
2907 000016 HOMCNP= 16 ;POINTER TO CLUSTER COUNT IN A RET PTR
2908 000017 HOMCKP= 17 ;POINTER TO CHECKSUM IN A RET PTR
2909 000020 HOMCLP= 20 ;POINTER TO CLUSTER ADDRESS IN A RET PTR
2910 000021 HOMBPC= 21 ;BLOCKS PER CLUSTER
2911 000023 HOMREF= 23 ;NEED TO REFRESH IF NON-ZERO
2912 000041 HOMCRS= 41 ;LBN IN STR OF CRASH.SAV RIB
2913 000046 HOMMFD= 46 ;LBN IN STR OF MFD RIB
2914
2915 ;*ACCUMULATORS
2916
2917 000000 F=0 ;FLAGS
2918 000001 A=1 ;GENERAL AC'S
2919 000002 B=2
2920 000003 C=3
2921 000004 W=4 ;WORD RETURNED BY RWORD OR SIXBRD
2922 000012 NAME=12 ;NAME OF FILE OR UFD BEING SEARCHED FOR
2923 000013 EXT=13 ;EXTENSION
2924 000005 Q=5 ;COUNTER TO STEP THRU BUFFER OF 200 DATA WORDS
2925 000011 S=11 ;COUNTER TO STEP THRU BUFFER OF 200 RIB WORDS
2926 000006 N=6 ;NUMBER ASSEMBLER IN TYPE IN
2927 000007 M=7 ;MEMORY AOBJN PTR, DATA TO CORE
2928 000014 K=14 ;INDEX OF CONTROLLER TYPE
2929 000010 LBN=10 ;LOGICAL BLOCK NUMBER TO READ
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 36
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0106
2930 ;*DSKLD - INITIAL ENTRY TO LOAD FROM DISK PACK
2931
2932 023767 201 00 0 00 000002 DSKLD: MOVEI 2 ;LDEV = 2
2933 023770 202 00 0 00 025524 MOVEM LDEVICE
2934 023771 402 00 0 00 000000 SETZM F ;DISK PACK
2935 023772 260 17 0 00 024107 GO LOOK ;TRY TO FIND FILE
2936 023773 254 00 0 00 022372 JRST NFERR ;NOT THERE, FAIL
2937 023774 254 00 0 00 022355 JRST RFILE ;FOUND FILE
2938
2939 ;*RFILE1 - HERE WHEN FILE FOUND
2940
2941 023775 332 00 0 00 025630 RFILE1: SKIPE LSTFLG
2942 023776 254 00 0 00 023525 JRST LSTPNT ;LISTING FILE
2943
2944 023777 332 00 0 00 025625 SKIPE DEVFLG ;READING CMD LIST FILE ?
2945 024000 254 00 0 00 020413 JRST DEVCM2 ;YES
2946 024001 254 00 0 00 022744 JRST PRGCOR ;SETUP PROGRAM'S CORE AREA
2947
2948 024002 260 17 0 00 024016 RFILL1: GO RWORD ;READ POINTER OR TRANSFER WORD
2949 024003 260 17 0 00 025102 GO ERR2 ;EOF, ERROR
2950 024004 331 07 0 00 000004 RFILL3: SKIPL M,W ;WHICH IS IT?
2951 024005 254 00 0 00 024055 JRST STARTQ ;TRANSFER WORD
2952 024006 260 17 0 00 024016 RFILL2: GO RWORD ;READ DATA WORD
2953 024007 260 17 0 00 025102 GO ERR2 ;EOF, ERROR
2954 024010 202 04 0 07 000001 MOVEM W,1(M) ;STORE IT IN CORE
2955 024011 253 07 0 00 024006 AOBJN M,RFILL2 ;COUNT THE CORE POINTER
2956 024012 254 00 0 00 024002 JRST RFILL1 ;IT RAN OUT, GET ANOTHER
2957
2958 ;*RWORD - READ DATA WORD FROM FILE
2959
2960 024013 200 05 0 00 025033 RWORD1: MOVE Q,DBUFP ;PREPARE TO COUNT DATA WORDS
2961 024014 336 00 0 00 025645 SKIPN DEVTYP
2962 024015 253 05 0 00 024016 AOBJN Q,.+1 ;DECTAPE
2963 024016 332 00 0 00 020006 RWORD: SKIPE USER
2964 024017 254 00 0 00 023162 JRST URWD
2965 024020 332 00 0 00 025523 SKIPE KLDCPF
2966 024021 254 00 0 00 023102 JRST KLDCPW ;GET KLDCP WORD
2967 024022 325 05 0 00 024026 JUMPGE Q,RWNXTB ;NEED ANOTHER BLOCK?
2968 024023 200 04 0 05 000000 MOVE W,(Q) ;NO, GET A WORD
2969 024024 253 05 0 00 024025 AOBJN Q,.+1 ;COUNT IT
2970 024025 254 00 0 00 020423 JRST CPOPJ1 ;RETURN
2971
2972 024026 260 17 0 00 024031 RWNXTB: GO RDDATA ;READ NEXT BLOCK IF ANY
2973 024027 263 17 0 00 000000 RTN ;EOF
2974 024030 254 00 0 00 024013 JRST RWORD1 ;READ FROM THIS BLOCK
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 37
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0107
2975 ;*RDDATA - READ NEXT BLOCK OF DATA INTO DBUF
2976
2977 024031 336 00 0 00 025645 RDDATA: SKIPN DEVTYP
2978 024032 254 00 0 00 024046 JRST RDDTA ;DECTAPE
2979
2980 024033 335 00 0 00 025660 RDDSK: SKIPGE LENGTH ;ANY DATA LEFT
2981 024034 263 17 0 00 000000 RTN ;NO
2982 024035 211 01 0 00 000200 MOVNI A,200 ;SEE IF ANY LEFT
2983 024036 273 01 0 00 025660 ADDB A,LENGTH ;COUNT FILE SIZE DOWN
2984 024037 260 17 0 00 024322 GO SELBLK ;SELECT NEXT DATA BLOCK OF FILE
2985 024040 263 17 0 00 000000 RTN ;NONE LEFT
2986 024041 205 01 0 00 777600 MOVSI A,-200
2987 024042 402 00 0 01 027205 SETZM DBUF(A) ;CLEAR DATA BUFFER
2988 024043 253 01 0 00 024042 AOBJN A,.-1
2989 024044 201 01 0 00 027204 MOVEI A,DBUF-1 ;SELECT DATA BUFFER
2990 024045 254 00 0 00 024507 JRST DSKBLK ;READ THE BLOCK AND RETURN
2991
2992 024046 554 13 0 00 027205 RDDTA: HLRZ BLKNO,DBUF ;LINK
2993 024047 322 13 0 00 020355 JUMPE BLKNO,CPOPJ ;JUMP IF END OF FILE
2994 024050 201 01 0 00 027205 RDDTA1: MOVEI A,DBUF ;SELECT DATA BUFFER
2995 024051 260 17 0 00 023343 DTABLK: GO PROCBK ;PROCESS A BLOCK
2996 024052 332 00 0 00 025551 SKIPE SPECIAL
2997 024053 7 320 20 0 00 400000 CONO DTC,DTSTOP
2998 024054 254 00 0 00 020423 JRST CPOPJ1
2999
3000 ;*STARTQ - HERE ON TRANSFER WORD
3001
3002 024055 332 00 0 00 020006 STARTQ: SKIPE USER
3003 024056 071 16 0 00 000000 RELEASE LDCHN,
3004 024057 336 00 0 00 025645 SKIPN DEVTYP
3005 024060 7 320 20 0 00 400000 CONO DTC,DTSTOP ;STOP DECTAPE
3006 024061 542 04 0 00 024106 HRRM W,SADR ;SAVE STARTING ADDRESS
3007 024062 606 04 0 00 777777 TRNN W,-1 ;ANY ADDRESS ?
3008 024063 260 17 0 00 025114 GO ERR7 ;NO, MUST NOT HAVE RIGHT FILE
3009 024064 476 00 0 00 030044 SETOM MONTEN ;SET LOADED BY TEN FLAG
3010 024065 201 00 0 00 020000 MOVEI START ;SETUP RETURN TO DIAMON
3011 024066 202 00 0 00 030012 MOVEM RETURN
3012 024067 542 00 0 00 000120 HRRM 120 ;SETUP JOB DATA AREA ALSO
3013 024070 336 00 0 00 025623 SKIPN PGMGO ;LOAD & GO ?
3014 024071 254 00 0 00 020423 JRST CPOPJ1 ;NO, BACK TO MONITOR
3015 024072 332 00 0 00 025633 SKIPE ALTMFLG
3016 024073 263 17 0 00 000000 RTN ;ALTMODE, RETURN TO LOADER
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 38
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0108
3017 024074 260 17 0 00 022102 SADRQ: GO DTECLR ;EXEC & KL10, CLEAR DTE
3018 024075 200 01 1 00 025650 MOVE A,@SAVEIP
3019 024076 332 00 0 00 020006 SKIPE USER
3020 024077 047 01 0 00 000043 SETNAM A, ;USER, IDENTIFY PROGRAM RUNNING
3021 024100 332 00 0 00 000044 SKIPE JOBREL
3022 024101 254 00 0 00 024104 JRST .+3
3023 024102 200 00 0 00 025552 MOVE SVJBREL ;SET JOBREL AS "DIAMON" RUN SIZE
3024 024103 202 00 0 00 000044 MOVEM JOBREL
3025 024104 260 17 0 00 020510 GO ZEROAC ;CLEAR AC'S
3026 024105 402 00 0 00 000017 SETZM 17
3027 024106 254 00 0 00 000000 SADR: JRST 0 ;YES, GO
3028
3029 ;*LOOK - SUBROUTINE TO LOOK FOR FILE
3030
3031 024107 204 01 0 00 025672 LOOK: MOVS A,DEVICE ;GET DEVICE NAME
3032 024110 332 00 0 00 000001 SKIPE A ;BLANK
3033 024111 306 01 0 00 446353 CAIN A,(SIXBIT/DSK/) ;OR JUST DSK?
3034 024112 664 00 0 00 000400 TROA F,R.DSKW ;YES, FLAG WILD DISK NAME
3035 024113 254 00 0 00 024123 JRST LOOK1 ;NO, USE SUPPLIED NAME
3036 024114 200 01 0 00 025407 MOVE A,[SIXBIT/KLAD/] ;START AT KLAD
3037 024115 202 01 0 00 025672 MOVEM A,DEVICE ;STORE NAME AWAY
3038 024116 254 00 0 00 024123 JRST LOOK1
3039
3040 024117 201 01 0 00 010000 LOOK2: MOVEI A,010000 ;INCREMENT WILD DSK NAME
3041 024120 273 01 0 00 025672 ADDB A,DEVICE
3042 024121 602 01 0 00 200000 TRNE A,200000 ;TRIED UP TO DSKO?
3043 024122 254 00 0 00 024170 JRST NOTFN1 ;YES, GIVE UP
3044
3045 024123 200 01 0 00 025672 LOOK1: MOVE A,DEVICE ;DEVICE NAME TO LOOK FOR
3046 024124 202 01 0 00 025661 MOVEM A,STRUCT ;TO ARG OF SEARCH ROUTINE
3047 024125 402 00 0 00 025662 SETZM SLUNIT ;CLEAR LOGICAL UNIT NUMBER
3048 024126 260 17 0 00 024363 GO FNDUNI ;TRY TO FIND SUCH A UNIT
3049 024127 254 00 0 00 024166 JRST NOTFND ;NOT THERE
3050
3051 024130 336 12 0 00 025673 LOOK3: SKIPN NAME,PPN ;FIRST SEARCH FOR THE UFD
3052 024131 200 12 0 00 025037 MOVE NAME,DIAGPPN ;IF NONE, USE DIAG AREA
3053 024132 205 13 0 00 654644 MOVSI EXT,(SIXBIT/UFD/) ;EXT IS UFD FOR FILE DIRECTORY
3054 024133 200 01 0 00 027456 MOVE A,HBUF+HOMMFD ;LBN IN STR OF MFD RIB
3055 024134 260 17 0 00 024251 GO SRCHFD ;SEARCH FOR REQUESTED UFD
3056 024135 254 00 0 00 024166 JRST NOTFND ;NOT THERE
3057 024136 332 00 0 00 025631 SKIPE DDIRFLG
3058 024137 254 00 0 00 024161 JRST LOOK5 ;DOING DIRECTORY
3059 024140 200 12 0 16 000000 MOVE NAME,(IP) ;NAME OF FILE TO SEARCH FOR
3060 024141 510 13 0 16 000001 HLLZ EXT,1(IP) ;EXTENSION
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 39
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0109
3061 024142 550 01 0 01 000001 LOOK4: HRRZ A,1(A) ;SUPERCLUSTER ADDRESS OF THE UFD
3062 024143 220 01 0 00 027424 IMUL A,HBUF+HOMBSC ;MAKE IT A BLOCK NUMBER
3063 024144 260 17 0 00 024251 GO SRCHFD ;SEARCH FOR THE FILE IN UFD
3064 024145 254 00 0 00 024166 JRST NOTFND ;NO SUCH FILE
3065 024146 550 10 0 01 000001 HRRZ LBN,1(A) ;SUPERCLUSTER OF START OF FILE
3066 024147 220 10 0 00 027424 IMUL LBN,HBUF+HOMBSC ;CONVERT TO LOGICAL BLOCK NUMBER
3067 024150 260 17 0 00 024177 GO SETRIB ;GET THE RIB, CHECK IT
3068 024151 254 00 0 00 024166 JRST NOTFND ;NO LUCK, ASSUME FILE NOT THERE
3069 024152 510 02 0 00 027005 HLLZ B,RBUF+RIBEXT ;GET THE EXTENSION FROM RIB
3070 024153 312 12 0 00 027004 CAME NAME,RBUF+RIBNAM ;DESIRED NAME?
3071 024154 254 00 0 00 024157 JRST .+3 ;NO
3072 024155 322 13 0 00 024163 JUMPE EXT,LOOK6 ;NO EXT GIVEN
3073 024156 312 02 0 00 000013 CAME B,EXT ;DESIRED EXTENSION?
3074 024157 260 17 0 00 025124 GO ERR11 ;NO, QUIT. RIB BAD
3075 024160 254 00 0 00 020423 JRST CPOPJ1 ;SUCCESSFUL RETURN
3076
3077 024161 476 00 0 00 025632 LOOK5: SETOM DDIRF1 ;SET PRINT DIRECTORY
3078 024162 254 00 0 00 024142 JRST LOOK4
3079
3080 024163 260 17 0 00 023413 LOOK6: GO EXTCK ;CHECK FOR "A10" OR "SAV"
3081 024164 260 17 0 00 025124 GO ERR11 ;NEITHER
3082 024165 254 00 0 00 020423 JRST CPOPJ1 ;OK
3083
3084 024166 602 00 0 00 000400 NOTFND: TRNE F,R.DSKW ;WILD DEVICE ARGUMENT
3085 024167 254 00 0 00 024171 JRST LOOK7 ;YES, INCREMENT IT
3086 024170 263 17 0 00 000000 NOTFN1: RTN ;NOT FOUND, ERROR RETURN
3087
3088 024171 200 01 0 00 025672 LOOK7: MOVE A,DEVICE ;DID'NT FIND KLAD
3089 024172 312 01 0 00 025407 CAME A,[SIXBIT/KLAD/]
3090 024173 254 00 0 00 024117 JRST LOOK2
3091 024174 200 01 0 00 025410 MOVE A,[SIXBIT/DSK@/] ;TRY DSKA THRU DSKO
3092 024175 202 01 0 00 025672 MOVEM A,DEVICE
3093 024176 254 00 0 00 024117 JRST LOOK2
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 40
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0110
3094 ;*SETRIB - SUBROUTINE TO SETUP A RIB BLOCK AND CHECK IT
3095
3096 024177 260 17 0 00 024301 SETRIB: GO LBNSEL ;MAKE SURE ON RIGHT UNIT
3097 024200 263 17 0 00 000000 RTN ;NOT THERE
3098 024201 201 01 0 00 027001 MOVEI A,RBUF-1 ;ADDRESS OF THE RIB BUFFER
3099 024202 260 17 0 00 024507 GO DSKBLK ;READ THE FILE'S RIB
3100 024203 263 17 0 00 000000 RTN ;COULDN'T READ IT
3101 024204 402 00 0 00 025665 SETZM CLUCNT ;NO CLUSTERS LEFT
3102 024205 402 00 0 00 025663 SETZM BLKCNT ;NO BLOCKS LEFT IN CLUSTER
3103 024206 200 01 0 00 027007 MOVE A,RBUF+RIBSIZ ;LENGTH OF FILE
3104 024207 202 01 0 00 025660 MOVEM A,LENGTH ;SAVE FOR EOF TEST
3105 024210 200 01 0 00 027200 MOVE A,RBUF+BLKCOD ;CHECK THE CODE WORD
3106 024211 660 00 0 00 001000 TRO F,R.SRIB ;WANT TO SKIP RIB WHEN READING
3107 024212 200 11 0 00 027002 MOVE S,RBUF+RIBFIR ;POINTER TO REAL RIB DATA
3108 024213 254 00 0 00 020423 JRST CPOPJ1 ;SUCCESSFUL RETURN
3109
3110 ;*DSKDIR - DISK PACK DIRECTORY ROUTINE
3111
3112 024214 260 17 0 00 021567 DSKDIR: GO CRLF1
3113 024215 402 00 0 00 025553 SETZM TABCTR# ;CLEAR ENTRY'S PER LINE COUNTER
3114 024216 476 00 0 00 025631 SETOM DDIRFLG ;SET DIRECTORY FLAG
3115 024217 402 00 0 00 000000 SETZM F
3116 024220 260 17 0 00 024107 GO LOOK ;DO DIRECTORY
3117 024221 254 00 0 00 020045 JRST SELECT ;DONE
3118
3119 024222 200 16 0 00 000001 DDIRPNT:MOVE IP,A ;SETUP POINTER
3120 024223 261 17 0 00 000000 PUSH P,0
3121 024224 336 00 0 16 000000 SKIPN (IP)
3122 024225 254 00 0 00 024246 JRST DDIRP1 ;BLANK NAME
3123 024226 200 01 0 16 000000 MOVE A,(IP) ;PRINT NAME & EXT
3124 024227 260 17 0 00 020347 GO SIXBP
3125 024230 201 00 0 00 000056 MOVEI "."
3126 024231 260 17 0 00 021513 GO PRINT
3127 024232 510 01 0 16 000001 HLLZ A,1(IP)
3128 024233 260 17 0 00 020347 GO SIXBP
3129 024234 350 01 0 00 025553 AOS A,TABCTR ;DONE 8 ENTRIES ON THIS LINE ?
3130 024235 602 01 0 00 000003 TRNE A,3
3131 024236 254 00 0 00 024241 JRST .+3 ;NO
3132 024237 260 17 0 00 021567 GO CRLF1 ;YES, DO CRLF
3133 024240 254 00 0 00 024246 JRST DDIRP1
3134 024241 260 17 0 00 022041 GO PNTTAB
3135 024242 405 01 0 00 000003 ANDI A,3 ;ENTRIES LINE UP ?
3136 024243 221 01 0 00 000020 IMULI A,^D16 ;COMPUTE AFTER TAB POSITION
3137 024244 312 01 0 00 025652 CAME A,CHRCTR ;CARRIAGE IN CORRECT PLACE ?
3138 024245 260 17 0 00 022041 GO PNTTAB ;NO, TAB AGAIN
3139 024246 262 17 0 00 000000 DDIRP1: POP P,0
3140 024247 200 01 0 00 000016 MOVE A,IP
3141 024250 254 00 0 00 024273 JRST SCHN2
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 41
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0111
3142 ;*SRCHFD - SUBROUTINE TO SEARCH A UFD OR MFD FOR FILE & EXT
3143 ;* RIB LBN IN STR OF THE FD IN A
3144
3145 024251 337 10 0 00 000001 SRCHFD: SKIPG LBN,A ;STORE BLOCK TO READ RIB FROM
3146 024252 260 17 0 00 025126 GO ERR12 ;SHOULDN'T BE EOF
3147 024253 260 17 0 00 024177 GO SETRIB ;SET UP THE RIB
3148 024254 263 17 0 00 000000 RTN ;CAN'T READ IT
3149 024255 260 17 0 00 024031 SCHL1: GO RDDATA ;READ THE FILE DIR DATA FROM THIS FD
3150 024256 263 17 0 00 000000 RTN ;ERROR RETURN
3151 024257 200 01 0 00 025033 MOVE A,DBUFP
3152 024260 332 00 0 00 025632 SKIPE DDIRF1
3153 024261 254 00 0 00 024316 JRST DDIRP2
3154 024262 332 00 0 00 025632 SCHL2: SKIPE DDIRF1
3155 024263 254 00 0 00 024222 JRST DDIRPNT ;PRINT DIRECTORY
3156 024264 200 02 0 01 000000 MOVE B,(A) ;GET A FILE NAME
3157 024265 312 02 0 00 000012 CAME B,NAME ;IS NAME RIGHT?
3158 024266 254 00 0 00 024273 JRST SCHN2 ;NO, MOVE ON
3159 024267 510 02 0 01 000001 HLLZ B,1(A) ;CHECK THE EXTENSION
3160 024270 322 13 0 00 024276 JUMPE EXT,SCHL2A ;NO EXT, CHECK FOR "A10" OR "SAV"
3161 024271 316 02 0 00 000013 CAMN B,EXT ;IS IT RIGHT TOO?
3162 024272 254 00 0 00 020423 JRST CPOPJ1 ;YES. GOOD RETURN, ANSWER IN (A)
3163 024273 253 01 0 00 024274 SCHN2: AOBJN A,.+1 ;MOVE ON TO NEXT FILE IN FD
3164 024274 253 01 0 00 024262 AOBJN A,SCHL2 ;COUNT FILE + EXT, CHECK NEXT FILE IN FD
3165 024275 254 00 0 00 024255 SCHN1: JRST SCHL1 ;READ ON
3166
3167 024276 260 17 0 00 023413 SCHL2A: GO EXTCK ;CHECK EXT
3168 024277 254 00 0 00 024273 JRST SCHN2 ;NO MATCH
3169 024300 254 00 0 00 020423 JRST CPOPJ1 ;OK
3170
3171 ;*LBNSEL - SUBROUTINE TO SELECT CORRECT UNIT FROM LBN
3172
3173 024301 200 01 0 00 000010 LBNSEL: MOVE A,LBN ;GET DESIRED BLOCK NUMBER
3174 024302 200 02 0 00 027424 MOVE B,HBUF+HOMBSC ;COMPUTE SIZE OF UNIT
3175 024303 220 02 0 00 027425 IMUL B,HBUF+HOMSCU
3176 024304 230 01 0 00 000002 IDIV A,B ;SCALE LBN INTO A UNIT AND LOCAL LBN
3177 024305 200 10 0 00 000002 MOVE LBN,B ;LBN WITHIN THE UNIT?
3178 024306 316 01 0 00 027420 CAMN A,HBUF+HOMLUN ;ALREADY AT THIS UNIT?
3179 024307 254 00 0 00 020423 JRST CPOPJ1 ;YES, NO NEED TO CHANGE UNITS
3180 024310 202 01 0 00 025662 MOVEM A,SLUNIT ;NO, NEED TO FIND IT
3181 024311 261 17 0 00 000010 PUSH P,LBN ;SAVE THE LBN WITHIN DESIRED UNIT
3182 024312 260 17 0 00 024363 GO FNDUNI ;FIND THE UNIT
3183 024313 370 00 0 17 777777 SOS -1(P) ;NOT THERE, SET FOR NON-SKIP RETURN
3184 024314 262 17 0 00 000010 POP P,LBN ;RESTORE UNIT LBN
3185 024315 254 00 0 00 020423 JRST CPOPJ1 ;AND SKIP RETURN
3186
3187 024316 135 02 0 00 025411 DDIRP2: LDB B,[POINT 6,DBUF,5] ;IF 1ST WORD IS POINTER
3188 024317 306 02 0 00 000077 CAIN B,77 ;MUST BE SPARE RIB - DONE
3189 024320 263 17 0 00 000000 RTN
3190 024321 254 00 0 00 024262 JRST SCHL2
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 42
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0112
3191 ;*SELBLK - SUBROUTINE TO SELECT NEXT BLOCK OF DATA
3192 ;* THE DATA IS FOUND USING RIB'S STARTING AT 0(S), OR
3193 ;* IF STUFF LEFT OVER FROM CURRENT RIB, VIA CLUCNT,BLKCNT,CLBN
3194
3195 024322 350 10 0 00 025664 SELBLK: AOS LBN,CLBN ;ASSUME WILL USE NEXT BLOCK
3196 024323 371 00 0 00 025663 SOSL BLKCNT ;ANY BLOCKS LEFT IN CURRENT CLUSTER?
3197 024324 254 00 0 00 024357 JRST SEL1 ;YES, GO PICK ONE
3198 024325 371 00 0 00 025665 SOSL CLUCNT ;ANY CLUSTERS LEFT IN CURRENT RET PTR?
3199 024326 254 00 0 00 024354 JRST SEL2 ;YES, PICK ONE
3200 024327 335 00 0 00 000011 SEL4L: SKIPGE S ;FAIL IF OUT OF POINTERS
3201 024330 336 01 0 11 027002 SKIPN A,RBUF(S) ;NEED ANOTHER RET PTR. EOF YET?
3202 024331 263 17 0 00 000000 RTN ;YES, FAIL RETURN
3203 024332 253 11 0 00 024333 AOBJN S,.+1 ;COUNT POINTER FOR NEXT RIB
3204 024333 200 03 0 00 027426 MOVE C,HBUF+HOMCNP ;GET THE COUNT POINTER
3205 024334 260 17 0 00 024406 GO RIBBYT ;GET COUNT OF CURRENT RET PTR
3206 024335 326 02 0 00 024346 JUMPN B,SEL3 ;IF NON-ZERO, GO GET CLUSTER
3207 024336 200 03 0 00 027430 MOVE C,HBUF+HOMCLP ;NEW UNIT, GET UNIT LOGICAL NUMBER
3208 024337 260 17 0 00 024406 GO RIBBYT
3209 024340 316 02 0 00 027420 CAMN B,HBUF+HOMLUN ;IS THIS UNIT RIGHT ALREADY?
3210 024341 254 00 0 00 024345 JRST SEL4 ;YES, DON'T SEARCH
3211 024342 202 02 0 00 025662 MOVEM B,SLUNIT ;NO, SAVE LOG UNIT NUMBER FOR SEARCH
3212 024343 260 17 0 00 024363 GO FNDUNI ;FIND THE UNIT
3213 024344 263 17 0 00 000000 RTN ;NOT FOUND, ERROR
3214 024345 254 00 0 00 024327 SEL4: JRST SEL4L ;READ NEXT RIB ON NEW UNIT
3215
3216 024346 275 02 0 00 000001 SEL3: SUBI B,1 ;COUNT CLUSTER ABOUT TO BE USED
3217 024347 202 02 0 00 025665 MOVEM B,CLUCNT ;AND SAVE REMAINDER
3218 024350 200 03 0 00 027430 MOVE C,HBUF+HOMCLP ;GET THE CLUSTER ADDRESS
3219 024351 260 17 0 00 024406 GO RIBBYT
3220 024352 220 02 0 00 027431 IMUL B,HBUF+HOMBPC ;CONVERT TO AN LBN
3221 024353 202 02 0 00 000010 MOVEM B,LBN ;PUT IN CORRECT AC
3222 024354 200 01 0 00 027431 SEL2: MOVE A,HBUF+HOMBPC ;BLOCKS IN A CLUSTER
3223 024355 275 01 0 00 000001 SUBI A,1 ;MINUS THE ONE ABOUT TO BE READ
3224 024356 202 01 0 00 025663 MOVEM A,BLKCNT ;SAVE THIS COUNT
3225 024357 202 10 0 00 025664 SEL1: MOVEM LBN,CLBN ;SAVE CURRENT LBN
3226 024360 622 00 0 00 001000 TRZE F,R.SRIB ;SKIP RIB?
3227 024361 254 00 0 00 024322 JRST SELBLK ;YES, GO THRU THIS ROUTINE AGAIN
3228 024362 254 00 0 00 020423 JRST CPOPJ1 ;SUCCESSFUL RETURN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 43
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0113
3229 ;*FNDUNI - SUBROUTINE TO FIND A PARTICULAR LOGICAL UNIT IN THE SYSTEM
3230 ;* ARGUMENTS ARE: STRUCTURE NAME (SIXBIT) IN STRUCT
3231 ;* : UNIT NUMBER WITHIN STRUCTURE IN SLUNIT
3232 ;* SKIP RETURN IF FOUND
3233
3234 024363 402 00 0 00 025666 FNDUNI: SETZM TTYPE ;CLEAR SEARCH TEMPS
3235 024364 402 00 0 00 025667 FNDUL1: SETZM TUNIT
3236 024365 200 14 0 00 025666 FNDUL2: MOVE K,TTYPE ;GET CONTROLLER TYPE
3237 024366 200 06 0 00 025667 MOVE N,TUNIT ;AND UNIT NUMBER
3238 024367 260 17 0 00 024411 GO HOME ;TRY TO READ ITS HOME BLOCK
3239 024370 254 00 0 00 024377 JRST FNDUNX ;NO GOOD, ON TO NEXT
3240 024371 200 01 0 00 027414 MOVE A,HBUF+HOMSNM ;FOUND THIS UNIT, IS IT DESIRED ONE?
3241 024372 200 02 0 00 027420 MOVE B,HBUF+HOMLUN
3242 024373 316 01 0 00 025661 CAMN A,STRUCT ;CHECK AGAINST SUPPLIED ARGS
3243 024374 312 02 0 00 025662 CAME B,SLUNIT
3244 024375 254 00 0 00 024377 JRST FNDUNX ;NO GOOD, ON TO NEXT
3245 024376 254 00 0 00 020423 JRST CPOPJ1 ;CORRECT, SKIP RETURN
3246
3247 024377 350 01 0 00 025667 FNDUNX: AOS A,TUNIT ;COUNT TO NEXT UNIT ON CONTROLLER
3248 024400 307 01 0 00 000007 CAIG A,UNIMAX ;TOO BIG?
3249 024401 254 00 0 00 024365 JRST FNDUL2 ;NO, GO CHECK THIS ONE
3250 024402 350 01 0 00 025666 AOS A,TTYPE ;YES, COUNT TO NEXT TYPE OF CONTROLLER
3251 024403 307 01 0 00 000017 CAIG A,TYPMAX ;ALL OF THOSE GONE BY?
3252 024404 254 00 0 00 024364 JRST FNDUL1 ;NO,TRY THIS ONE
3253 024405 263 17 0 00 000000 RTN ;ALL TRIED, GIVE FAIL RETURN
3254
3255 024406 541 03 0 00 000001 RIBBYT: HRRI C,A ;WHERE THE WORD IS
3256 024407 135 02 0 00 000003 LDB B,C ;GOT THE DESIRED BYTE
3257 024410 263 17 0 00 000000 RTN ;AND RETURN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 44
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0114
3258 ;*HOME - SUBROUTINE TO DETERMINE WHETHER A UNIT EXISTS, AND IF SO,
3259 ;* READ ITS HOME BLOCK INTO THE HOME BUFFER
3260 ;* CALL SEQUENCE:
3261 ;* K/ CONTROLLER TYPE INDEX
3262 ;* N/ UNIT NUMBER, 0-7
3263 ;* GO HOME
3264 ;* NOT THERE RETURN
3265 ;* OK RETURN
3266
3267 ;*AT THIS POINT, ANY NEEDED UNIT PARAMETERS ARE SAVED
3268 ;*SUCH AS: R.TYPE & THE HOME BLOCK IN HBUF
3269
3270 024411 620 00 0 00 000200 HOME: TRZ F,R.TYPE ;ASSUME UNIT TYPE RP02
3271 024412 202 06 0 00 025671 MOVEM N,CUNIT ;SAVE CURRENT UNIT TYPE
3272 024413 202 14 0 00 025670 MOVEM K,CTYPE ;SAVE CONTROLLER TYPE
3273 024414 201 03 0 00 024530 MOVEI C,UNIINI ;ABS ADR OF INI TABLE BASE (ARG FOR SETCHN)
3274 024415 661 03 0 00 000014 TLO C,K ;SET INDEX FIELD FOR RELOCATION BY K(CONT TYPE)
3275 024416 135 01 0 00 025412 LDB A,[POINT 7,@C,9] ;CONTROLLER DEVICE CODE FROM INI TABLE
3276 024417 402 00 0 00 025540 SETZM RH20F#
3277 024420 301 01 0 00 000540 CAIL A,DHZ ;IS THIS RH20 DEVICE CODE ?
3278 024421 303 01 0 00 000574 CAILE A,DHZ8
3279 024422 254 00 0 00 024426 JRST .+4 ;NO
3280 024423 476 00 0 00 025540 SETOM RH20F ;YES, SET FLAG
3281 024424 336 00 0 00 020010 SKIPN KLFLG ;ARE WE ON A KL10 ?
3282 024425 263 17 0 00 000000 RTN ;NO
3283 024426 620 00 0 00 000177 TRZ F,R.KDEV ;CLEAR CONTROLLER FIELD
3284 024427 660 00 0 01 000000 TRO F,(A) ;SET CONTROLLER FIELD
3285 024430 201 10 0 00 000001 MOVEI LBN,HOMBK1 ;WANT TO READ FIRST HOME BLOCK
3286 024431 201 01 0 00 027204 MOVEI A,DBUF-1 ;BUFFER FOR TEST I/O
3287 024432 260 17 0 00 024550 GO SETCHN ;SETUP CHAN CMD LIST & INITIALIZE CONTROLLER
3288 024433 263 17 0 00 000000 RTN ;ERROR, NOT THERE
3289
3290 024434 201 01 0 00 027407 HOM1: MOVEI A,HBUF-1 ;READ HOME BLOCK INTO ITS BUFFER
3291 024435 260 17 0 00 024507 GO DSKBLK ;TRY TO READ THE HOME BLOCK
3292 024436 254 00 0 00 024444 JRST HOM2 ;CAN'T READ THAT ONE
3293 024437 200 01 0 00 027606 MOVE A,HBUF+BLKCOD ;GET THE CODE WORD
3294 024440 306 01 0 00 707070 CAIN A,CODHOM ;IS IT RIGHT?
3295 024441 332 00 0 00 027433 SKIPE HBUF+HOMREF ;AND NOT NEEDING REFRESHING?
3296 024442 254 00 0 00 024444 JRST HOM2 ;NO GOOD
3297 024443 254 00 0 00 020423 JRST CPOPJ1 ;OK RETURN
3298
3299 024444 306 10 0 00 000012 HOM2: CAIN LBN,HOMBK2 ;TRIED BOTH BLOCKS?
3300 024445 263 17 0 00 000000 RTN ;YES, GIVE FAIL RETURN
3301 024446 201 10 0 00 000012 MOVEI LBN,HOMBK2 ;NO, TRY ANOTHER ONE
3302 024447 254 00 0 00 024434 JRST HOM1 ;READ SECOND HOME BLOCK
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 45
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0115
3303 ;*DPCINI - INITIALIZATION FOR PACKS
3304
3305 024450 303 06 0 00 000007 DPCINI: CAILE N,7 ;LEGAL DRIVE NUMBER?
3306 024451 263 17 0 00 000000 RTN ;NO, NON-EXISTENT RETURN
3307 024452 402 00 0 00 025646 SETZM DF22F ;CLEAR DF10 22 BIT MODE FLAG
3308 024453 137 06 0 00 025026 DPB N,PDRIVE ;SAVE FOR I/O
3309 024454 201 01 0 00 000037 MOVEI A,37 ;A BAD SURFACE FOR ALL PACKS
3310 024455 137 01 0 00 025030 DPB A,PSURF ;STORE FOR DATAO
3311 024456 137 01 0 00 025031 DPB A,PSEC ;STORE FOR DATAO
3312 024457 200 03 0 00 025413 MOVE C,[DATAO DATAOW] ;SETUP A DATAO TO PACKS
3313 024460 260 17 0 00 025022 GO IOXCT ;DATAO ON RIGHT DEVICE
3314 024461 260 17 0 00 024477 GO IOWAIT ;TIMEOUT OR DONE FLAG
3315 024462 323 02 0 00 020355 JUMPLE B,CPOPJ ;TIMED OUT?
3316 024463 201 01 0 00 002000 MOVEI A,2000 ;DRIVE NOT THERE?
3317 024464 260 17 0 00 025020 GO IOCNSZ
3318 024465 263 17 0 00 000000 RTN ;NOT THERE, ERROR RETURN
3319 024466 200 03 0 00 025414 MOVE C,[DATAI A]
3320 024467 260 17 0 00 025022 GO IOXCT
3321 024470 602 01 0 00 002000 TRNE A,2000
3322 024471 660 00 0 00 000200 TRO F,R.TYPE ;FLAG AS RP03
3323 024472 200 03 0 00 025415 MOVE C,[CONI A]
3324 024473 260 17 0 00 025022 GO IOXCT
3325 024474 603 01 0 00 000020 TLNE A,DF22B ;IF 22BIT DF10 ?
3326 024475 476 00 0 00 025646 SETOM DF22F ;SET FLAG
3327 024476 254 00 0 00 020423 JRST CPOPJ1 ;SUCCESSFUL RETURN
3328
3329 024477 477 01 0 00 000002 IOWAIT: SETOB A,B ;LOOK FOR ALL FLAG BITS
3330 024500 260 17 0 00 025021 GO IOCNSO ;ANYTHING THERE?
3331 024501 263 17 0 00 000000 RTN ;NO SUCH DEVICE AT ALL
3332 024502 201 02 0 00 141520 MOVEI B,^D50000 ;TIMEOUT
3333 024503 201 01 0 00 000010 MOVEI A,10 ;DONE FLAG, ALL CONTROLLERS
3334 024504 260 17 0 00 025021 GO IOCNSO ;LOOK FOR DONE
3335 024505 367 02 0 00 024503 SOJG B,.-2 ;NOT YET, COUNT DOWN AND LOOP
3336 024506 263 17 0 00 000000 RTN ;DONE OR TIMED OUT
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 46
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0116
3337 ;*DSKBLK - ROUTINE TO READ A BLOCK FROM THE DEVICE AND UNIT IN
3338 ;* CTYPE & CUNIT INTO THE BUFFER AT (A)+1, FROM LOGICAL BLOCK
3339 ;* NUMBER IN LBN SKIP RETURN IF SUCCESSFUL, NON-SKIP IF ANY
3340 ;* HARDWARE ERRORS
3341
3342 024507 265 03 0 00 024550 DSKBLK: JSP C,SETCHN ;SETUP CHN CONTROL WORD & CALL PROPER READ ROUTINE
3343
3344 024510 000000 024664 DHXRED ;RH10/RP04/5/6
3345 024511 000000 024664 DHXRED ;SECOND RH10/RP04/5/6
3346 024512 000000 024664 DHXRED ;3RD
3347 024513 000000 024664 DHXRED ;4TH
3348 024514 000000 024664 DHXRED ;5TH
3349 024515 000000 024664 DHXRED ;6TH
3350 024516 000000 024664 DHXRED ;1ST RH20/RP04/5/6
3351 024517 000000 024664 DHXRED ;2ND RH20/RP04/5/6
3352 024520 000000 024664 DHXRED ;3RD RH20/RP04/5/6
3353 024521 000000 024664 DHXRED ;4TH RH20/RP04/5/6
3354 024522 000000 024664 DHXRED ;5TH RH20/RP04/5/6
3355 024523 000000 024664 DHXRED ;6TH RH20/RP04/5/6
3356 024524 000000 024664 DHXRED ;7TH RH20/RP04/5/6
3357 024525 000000 024664 DHXRED ;8TH RH20/RP04/5/6
3358 024526 000000 024765 DPCRED ;RP10
3359 024527 000000 024765 DPCRED ;SECOND RP10
3360
3361 ;*UNIINI - INITIALIZE CONTROLLER ROUTINES
3362 ; (CONSO IRRELEVANT-USED TO GET DEVICE CODE)
3363
3364 024530 7 270 34 0 00 024647 UNIINI: CONSO DHX,DHXINI ;FIRST RH10/RP04/5/6
3365 024531 7 274 34 0 00 024647 CONSO DHX2,DHXINI ;SECOND
3366 024532 7 360 34 0 00 024647 CONSO DHX3,DHXINI ;3RD
3367 024533 7 364 34 0 00 024647 CONSO DHX4,DHXINI ;4TH
3368 024534 7 370 34 0 00 024647 CONSO DHX5,DHXINI ;5TH
3369 024535 7 374 34 0 00 024647 CONSO DHX6,DHXINI ;6TH
3370 024536 7 540 34 0 00 024646 CONSO DHZ,DHZINI ;FIRST RH20/RP04/5/6
3371 024537 7 544 34 0 00 024646 CONSO DHZ2,DHZINI ;2ND
3372 024540 7 550 34 0 00 024646 CONSO DHZ3,DHZINI ;3RD
3373 024541 7 554 34 0 00 024646 CONSO DHZ4,DHZINI ;4TH
3374 024542 7 560 34 0 00 024646 CONSO DHZ5,DHZINI ;5TH
3375 024543 7 564 34 0 00 024646 CONSO DHZ6,DHZINI ;6TH
3376 024544 7 570 34 0 00 024646 CONSO DHZ7,DHZINI ;7TH
3377 024545 7 574 34 0 00 024646 CONSO DHZ8,DHZINI ;8TH
3378 024546 7 250 34 0 00 024450 CONSO DPC,DPCINI ;FIRST DPC
3379 024547 7 254 34 0 00 024450 CONSO DPC2,DPCINI ;SECOND DPC
3380 000017 TYPMAX=.-UNIINI-1 ;MAXIMUM CONTROLLER ROUTINE
3381 000007 UNIMAX=7 ;MAX NUMBER OF UNITS ON A CONTROLLER
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 47
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0117
3382 ;*SETCHN - SUBROUTINE TO SETUP CHANNEL, THEN DISPATCH TO DEVICE
3383 ;* DEPENDENT ROUTINE
3384 ;* CALL: MOVEI A, ABS ADR OF FIRST DATA WORD-1
3385 ;* HRRI C, ABS ADR OF FIRST WORD IN DISPATCH TABLE
3386 ;* GO SETCHN
3387 ;* ERROR RETURN
3388 ;* OK RETURN
3389
3390 024550 202 01 0 00 025505 SETCHN: MOVEM A,BUFS# ;BUFFER START ADR FOR ECC
3391 024551 350 00 0 00 025505 AOS BUFS
3392 024552 332 00 0 00 025540 SKIPE RH20F ;RH20 ?
3393 024553 254 00 0 00 024571 JRST SETCH1 ;YES
3394 024554 505 01 0 00 777600 HRLI A,-200 ;MAKE IOWD FOR THE CHANNEL
3395 024555 332 00 0 00 025646 SKIPE DF22F ;DF10 IN 22BIT MODE ?
3396 024556 505 01 0 00 774000 HRLI A,<-200_4> ;YES
3397 024557 202 01 0 00 000476 MOVEM A,CHNCMD ;STORE IT
3398 024560 402 00 0 00 000477 SETZM CHNCMD+1 ;END OF CHANNEL CMD LIST
3399 024561 201 01 0 00 000476 MOVEI A,CHNCMD ;SETUP LOW CORE FOR CHANNEL
3400 024562 202 01 0 00 000022 MOVEM A,LOWCMD
3401 024563 402 00 0 00 000023 SETZM LOWCMD+1 ;ALSO CLEAR FINAL CONTROL WORD ADDR
3402 024564 337 01 0 00 000010 SETCMN: SKIPG A,LBN ;GET AND CHECK BLOCK NUMBER
3403 024565 260 17 0 00 025130 GO ERR13 ;SHOULD BE GT 0
3404 024566 200 14 0 00 025670 MOVE K,CTYPE ;WHAT CONTROLLER
3405 024567 271 03 0 14 000000 ADDI C,(K) ;FROM ABS. ADR. OF PROPER DISPATCH TABLE ENTRY
3406 024570 254 00 1 03 000000 JRST @(C) ;CALL DISPATCH ENTRY
3407
3408 024571 350 00 0 00 000001 SETCH1: AOS A
3409 024572 670 01 0 00 025416 TDO A,[1B0!1B1!200B13] ;COMPLETE THE CCW
3410 024573 202 01 0 00 000476 MOVEM A,CHNCMD ;SAVE IT
3411 024574 200 14 0 00 025670 MOVE K,CTYPE ;CALCULATE EPT LOC FOR ICWA
3412 024575 135 14 0 00 025417 LDB K,[POINT 3,UNIINI(K),9] ;GET CHAN NUMBER
3413 024576 242 14 0 00 000002 LSH K,2 ;MULTIPLY BY 4
3414 024577 261 17 0 00 000000 PUT 0
3415 024600 200 00 0 00 000417 MOVE 417 ;SAVE C(417)
3416 024601 202 00 0 00 025561 MOVEM $SV417#
3417 024602 201 00 0 00 540000 MOVEI 540000 ;RELOCATE THRU ADR 377000 TO
3418 024603 542 00 0 00 000417 HRRM 417 ;GET TO RH20 CHANNEL AREA
3419 024604 7 010 24 0 00 000000 CONI PAG,0
3420 024605 660 00 0 00 020000 TRO 0,TRPENB
3421 024606 7 010 20 1 00 000000 CONO PAG,@0
3422 024607 202 01 0 14 377000 MOVEM A,377000(K) ;PUT ICWA IN PHYSICAL MEMORY
3423 024610 200 00 0 00 025561 MOVE $SV417
3424 024611 202 00 0 00 000417 MOVEM 417 ;RESTORE C(417)
3425 024612 7 010 24 0 00 000000 CONI PAG,0
3426 024613 7 010 20 1 00 000000 CONO PAG,@0
3427 024614 262 17 0 00 000000 GET 0
3428 024615 254 00 0 00 024564 JRST SETCMN ;TO COMMON CODE
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 48
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0118
3429 ;*DHYINI - INITIALIZATION FOR RH10/RP04/5/6
3430
3431 024616 303 06 0 00 000007 DHYINI: CAILE N,7 ;SEE IF LAST DRIVE
3432 024617 263 17 0 00 000000 RTN ;YES, EXIT
3433 024620 402 00 0 00 025646 SETZM DF22F ;CLEAR DF10 22 BIT MODE FLAG
3434 024621 205 01 0 06 060000 MOVSI A,60000(N) ;SETUP DRIVE TYPE
3435 024622 260 17 0 00 024657 GO IODTI ;READ DRIVE TYPE REGISTER
3436 024623 135 02 0 00 025420 LDB B,[POINT 9,A,35]
3437 024624 200 03 0 00 025421 MOVE C,[TLNE A,2000]
3438 024625 332 00 0 00 025540 SKIPE RH20F
3439 024626 200 03 0 00 025422 MOVE C,[TLNN A,(1B10)]
3440 024627 256 00 0 00 000003 XCT C
3441 024630 254 00 0 00 024651 JRST RHINIT ;DRIVE DOESN'T EXIST
3442 024631 301 02 0 00 000020 CAIL B,20 ;RP04=20, RP05=21, RP06=22, RM01=24
3443 024632 303 02 0 00 000024 CAILE B,24
3444 024633 263 17 0 00 000000 RTN ;NO DEVICE OR NOT AN RP04/5/6
3445 024634 205 01 0 06 004000 MOVSI A,4000(N) ;SELECT CONTROL REGISTER
3446 024635 541 01 0 00 000023 HRRI A,23 ;PACK ACK COMMAND
3447 024636 260 17 0 00 024662 GO IODTO
3448 024637 332 00 0 00 025540 SKIPE RH20F
3449 024640 254 00 0 00 020423 JRST CPOPJ1 ;DONE IF RH20
3450 024641 200 03 0 00 025415 MOVE C,[CONI A]
3451 024642 260 17 0 00 025022 GO IOXCT
3452 024643 603 01 0 00 004000 TLNE A,DF22RH ;RH10/DF10 IN 22BIT MODE ?
3453 024644 476 00 0 00 025646 SETOM DF22F ;YES
3454 024645 254 00 0 00 020423 JRST CPOPJ1
3455
3456 ;*DHXINI - RH20/RP04/RP05/RP06 INITIALIZATION
3457
3458 024646 476 00 0 00 025540 DHZINI: SETOM RH20F
3459 024647 260 17 0 00 024651 DHXINI: GO RHINIT
3460 024650 254 00 0 00 024616 JRST DHYINI
3461
3462 024651 201 01 0 00 734330 RHINIT: MOVEI A,734330 ;INITIALIZE RH10
3463 024652 332 00 0 00 025540 SKIPE RH20F
3464 024653 201 01 0 00 005730 MOVEI A,5730 ;INITIALIZE RH20
3465 024654 200 03 0 00 025423 MOVE C,[CONO @A] ;CLEAR
3466 024655 260 17 0 00 025022 GO IOXCT
3467 024656 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 49
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0119
3468 ;*IODTI - RH10/RH20 DATAO/DATAI ROUTINES
3469
3470 024657 200 03 0 00 025424 IODTI: MOVE C,[DATAO A]
3471 024660 260 17 0 00 025022 GO IOXCT
3472 024661 625 03 0 00 000100 TLZA C,100 ;TURN IT INTO A DATAI
3473 024662 200 03 0 00 025424 IODTO: MOVE C,[DATAO A]
3474 024663 254 00 0 00 025022 JRST IOXCT
3475
3476 ;*DHXRED - READ ROUTINE FOR RH10/RP04/5/6 & RH20/RP04/5/6
3477 ;* ENTRY: A/ LOGICAL BLOCK NUMBER
3478 ;* N/ DRIVE NUMBER
3479 ;* EXIT: +1 FOR ERROR
3480 ;* +2 SUCESSFUL
3481
3482 024664 261 17 0 00 000003 DHXRED: PUSH P,C
3483 024665 200 03 0 00 025425 MOVE C,[CONO 10] ;CLEAR DONE
3484 024666 332 00 0 00 025540 SKIPE RH20F
3485 024667 660 03 0 00 000400 TRO C,400
3486 024670 260 17 0 00 025022 GO IOXCT
3487 024671 262 17 0 00 000003 POP P,C
3488 024672 661 06 0 00 000071 TLO N,DH.RD ;N/ FUNCTION,,DRIVE
3489 024673 231 01 0 00 000574 IDIVI A,^D380 ;380 SECTORS/CYLINDER
3490 024674 505 01 0 06 124000 HRLI A,124000(N) ;SELECT DESIRED CYLINDER
3491 024675 260 17 0 00 024662 GO IODTO
3492 024676 231 02 0 00 000024 IDIVI B,^D20 ;20 SECTORS/SURF
3493 024677 137 02 0 00 025426 DPB B,[POINT 5,C,27]
3494 024700 205 01 0 06 054000 MOVSI A,54000(N)
3495 024701 540 01 0 00 000003 HRR A,C
3496 024702 260 17 0 00 024662 GO IODTO ;DESIRED SECTOR, SURFACE
3497 024703 204 01 0 00 000006 MOVS A,N
3498 024704 332 00 0 00 025540 SKIPE RH20F ;RH20 ?
3499 024705 674 01 0 00 025427 TDOA A,[716200,,377700] ;YES
3500 024706 670 01 0 00 025430 TDO A,[404000,,200000!LOWCMD_6]
3501 024707 260 17 0 00 024662 GO IODTO ;START THE IO, LOAD RH CNTRL REG
3502 024710 260 17 0 00 024477 GO IOWAIT
3503 024711 323 02 0 00 020355 JUMPLE B,CPOPJ
3504 024712 205 01 0 06 010000 MOVSI A,10000(N)
3505 024713 260 17 0 00 024657 GO IODTI ;READ STATUS REGISTER
3506 024714 606 01 0 00 040000 TRNN A,40000 ;COMPOSITE ERROR ?
3507 024715 254 00 0 00 024720 JRST NODRER ;NO DRIVE ERROR
3508 024716 260 17 0 00 024724 GO TRYECC ;YES. GO SEE IF CORRECTABLE
3509 024717 263 17 0 00 000000 RTN ;+1 NOT CORRECTABLE
3510 024720 201 01 0 00 536320 NODRER: MOVEI A,536320 ;+2 DATA HAS BEEN CORRECTED
3511 024721 332 00 0 00 025540 SKIPE RH20F ;RH20 ?
3512 024722 201 01 0 00 575000 MOVEI A,575000 ;YES. GET DIFFERENT STATUS WORD
3513 024723 254 00 0 00 025020 JRST IOCNSZ ;CHECK FOR ERRORS OTHER THAN EXCEPTION
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 50
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0120
3514 ;* SUBROUTINE TO ATTEMPT TO DO ECC CORRECTION
3515
3516 ;* GOT HERE BECAUSE WE GOT A COMPOSITE ERROR IN THE DRIVE, IF
3517 ;* DCK=1 AND ECH=0 WE CAN CORRECT USING ECC. THIS ROUTINE LOOKS
3518 ;* IN "BUFS" FOR BUFFER STARTING ADDRESS. "BUFS" IS SET UP IN THE
3519 ;* "SETCHN" ROUTINE.
3520 ;* CALL SEQ:
3521 ;* GO TRYECC ;CALL THE ROUTINE
3522 ;* RTN+1 ;CAN'T CORRECT
3523 ;* RTN+2 ;DATA HAS BEEN CORRECTED IN MEMORY
3524
3525 024724 205 01 0 06 020000 TRYECC: MOVSI A,020000(N) ;WANT TO READ DRIVE ER1
3526 024725 260 17 0 00 024657 GO IODTI ;READ IT
3527 024726 640 01 0 00 100000 TRC A,100000 ;TEST FOR DCK=1 & HCI=0
3528 024727 602 01 0 00 100100 TRNE A,100100 ; THIS DOES IT
3529 024730 263 17 0 00 000000 RTN ;NOT CORRECTABLE. EXIT
3530 024731 205 01 0 06 160000 MOVSI A,160000(N) ;NEED ECC POSITION REGISTER
3531 024732 260 17 0 00 024657 GO IODTI ;READ IT.
3532 024733 405 01 0 00 177777 ANDI A,177777 ;SAVE 16 BIT DATA FIELD
3533 024734 336 02 0 00 000001 SKIPN B,A ;CHECK POS AND GET IT TO B
3534 024735 263 17 0 00 000000 RTN ;YES. ECC BROKEN. DON'T CORRECT
3535 024736 303 01 0 00 011025 CAILE A,^D4608+^D32-^D11 ;SEE IF POSITION IS WITHIN RANGE
3536 024737 263 17 0 00 000000 RTN ;ECC BROKEN. DON'T CORRECT
3537 024740 350 00 0 17 000000 AOS (P) ;WE CAN CORRECT. ADJUST STACK FOR +2 RTN
3538 024741 275 01 0 00 000001 SUBI A,1 ;NORMALIZE THE POSITION COUNT
3539 024742 202 01 0 00 025515 MOVEM A,ECCPOS# ;FOR FUTURE USE
3540 024743 205 01 0 06 170000 MOVSI A,170000(N) ;WE NEED ECC PATTERN REG
3541 024744 260 17 0 00 024657 GO IODTI ;READ IT
3542 024745 135 00 0 00 025431 LDB 0,[POINT 11,A,35] ;GET THE 11 BIT BURST PATTERN
3543 024746 275 02 0 00 010764 SUBI B,^D4607-^D11 ;SEE IF POSITION EXCEEDS DATA FIELD
3544 024747 323 02 0 00 024753 JUMPLE B,NORM ;IF + . WE OVERLAP AND MUST ADJ. PATTERN
3545
3546 ; MODIFY ECC PATTERN IF CORRECTION SPILLS OVER THE DATA FIELD
3547
3548 024750 242 00 0 02 000031 LSH 0,^D25(B) ;THROW AWAY APPROPRIATE BITS
3549 024751 213 02 0 00 000002 MOVNS B,B ;WANT TO SHIFT LEFT NEXT
3550 024752 242 00 0 02 777747 LSH 0,-^D25(B) ;NOW HAVE CORRECT PATTERN LENGTH
3551
3552 ; THE ACTUAL CODE TO CORRECT THE DATA ERROR
3553
3554 024753 400 01 0 00 000000 NORM: SETZ A, ;AND CLEAR ADJACENT AC
3555 024754 200 02 0 00 025515 MOVE B,ECCPOS ;GET THE POSITION BACK AGAIN
3556 024755 231 02 0 00 000044 IDIVI B,^D36 ;GET BUFFER OFFSET PLUS REMAINDER
3557 024756 270 02 0 00 025505 ADD B,BUFS ;POINTS TO 1ST WORD NEEDING CORRECTION
3558 024757 245 00 0 03 000000 ROTC 0,(C) ;SLIDE THE PATTERN INTO PLACE
3559 024760 207 00 0 00 000000 MOVSS 0,0 ;HALVES MUST BE SWAPPED
3560 024761 207 01 0 00 000001 MOVSS 1,1 ; BECAUSE OF RP0X DATA PATH MAPPING
3561 024762 432 00 0 02 000000 XORM 0,(B) ;CORRECT THE FIRST WORD
3562 024763 432 01 0 02 000001 XORM 1,1(B) ;CORRECT THE SECOND WORD
3563 024764 263 17 0 00 000000 RTN ;THEN EXIT TO RTN-1
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 51
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0121
3564 ;*DPCRED - READ ROUTINE FOR THE DISK PACKS
3565
3566 024765 260 17 0 00 024771 DPCRED: GO DPCCNV ;CONVERT AND SEEK FOR BLOCK
3567 024766 263 17 0 00 000000 RTN ;BAD BLOCK NUMBER
3568 024767 201 01 0 00 000000 MOVEI A,O.READ ;SET OPERATION TO READ BLOCK
3569 024770 254 00 0 00 025010 JRST DPCOPR ;READ THE BLOCK (CHANNEL ALL SET)
3570
3571 024771 231 01 0 00 000012 DPCCNV: IDIVI A,12 ;GET SECTOR NUMBER
3572 024772 137 02 0 00 025031 DPB B,PSEC ;SAVE IT
3573 024773 231 01 0 00 000024 IDIVI A,24 ;GET SURF AND CYL
3574 024774 137 02 0 00 025030 DPB B,PSURF ;STORE SURFACE
3575 024775 137 01 0 00 025027 DPB A,PCYL ;STORE CYLINDER
3576 024776 551 02 0 00 200000 HRRZI B,200000
3577 024777 622 01 0 00 000400 TRZE A,400
3578 025000 436 02 0 00 025035 IORM B,DATAOW ;EXTEND CYL ADR IF RP03
3579 025001 200 06 0 00 025671 MOVE N,CUNIT ;CURRENT UNIT
3580 025002 137 06 0 00 025026 DPB N,PDRIVE ;STORE THAT TOO
3581 025003 606 00 0 00 000200 TRNN F,R.TYPE
3582 025004 307 01 0 00 000312 CAIG A,^D202
3583 025005 303 01 0 00 000625 CAILE A,^D405 ;MAKE SURE CYLINDER IS ON DISK?
3584 025006 260 17 0 00 025132 GO ERR14 ;TOO BIG A LBN
3585 025007 201 01 0 00 000004 MOVEI A,O.SEEK ;MAKE DISK SEEK TO THE CYLINDER
3586 025010 137 01 0 00 025032 DPCOPR: DPB A,OPPNT ;STORE THE OPERATION
3587 025011 200 03 0 00 025432 MOVE C,[DATAO CLRATN] ;SETUP DATAO?
3588 025012 260 17 0 00 025022 GO IOXCT ;DO DATAO WITH RIGHT DEVICE
3589 025013 541 03 0 00 025035 HRRI C,DATAOW ;NEW ADDRESS
3590 025014 256 00 0 00 000003 XCT C ;SEND THIS WORD TOO
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 52
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0122
3591 ;*DPCWAT - SUBROUTINE TO WAIT FOR I/O AND CHECK ERRORS
3592
3593 025015 260 17 0 00 024477 DPCWAT: GO IOWAIT ;WAIT FOR DONE FLAG OR TIMEOUT
3594 025016 323 02 0 00 020355 JUMPLE B,CPOPJ ;IF TIMED OUT, GIVE UP
3595 025017 201 01 0 00 177720 MOVEI A,177720 ;ANY ERRORS
3596
3597 025020 334 03 0 00 025433 IOCNSZ: SKIPA C,[CONSZ (A)] ;SETUP I/O INST
3598 025021 205 03 0 00 700341 IOCNSO: MOVSI C,(CONSO (A)) ;SETUP I/O INST
3599 025022 137 00 0 00 025434 IOXCT: DPB F,[POINT 7,C,9] ;PUT IN I/O DEVICE FIELD
3600 025023 256 00 0 00 000003 XCT C ;DO THE I/O
3601 025024 263 17 0 00 000000 RTN ;NO SKIP RETURN
3602 025025 254 00 0 00 020423 JRST CPOPJ1 ;SKIP RETURN
3603
3604
3605 025026 36 03 0 00 025035 PDRIVE: POINT 3,DATAOW,5 ;DRIVE NUMBER FOR DATAO
3606 025027 26 10 0 00 025035 PCYL: POINT 8,DATAOW,13 ;CYLINDER NUMBER
3607 025030 21 05 0 00 025035 PSURF: POINT 5,DATAOW,18 ;SURFACE NUMBER
3608 025031 14 05 0 00 025035 PSEC: POINT 5,DATAOW,23 ;SECTOR NUMBER
3609 025032 41 03 0 00 025035 OPPNT: POINT 3,DATAOW,2 ;OPERATION
3610 025033 777600 027205 DBUFP: -200,,DBUF ;POINTER TO DATA BLOCK
3611
3612 025034 500000 000776 CLRATN: 500000,,776 ;CLEAR ATTENTION FLAGS
3613
3614 025035 000000 000022 DATAOW: LOWCMD ;LOW CORE ADDRESS FOR DF10
3615
3616 025036 44 06 0 00 000004 PPNPTR: POINT 6,W ;POINTER FOR PPN INPUT
3617
3618 025037 000006 000010 DIAGPPN: 6,,10 ;DEFAULT FOR DIAG AREA ??
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 53
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0123
3619 ;*ERROR - ERROR REPORTING
3620
3621 025040 402 00 0 00 025537 ERROR: SETZM RCOVRY#
3622 025041 261 17 0 00 000001 PUSH P,1
3623 025042 260 17 0 00 021567 GO CRLF1
3624 025043 262 17 0 00 000001 POP P,1
3625 025044 260 17 0 00 020347 GO SIXBP
3626 PMSG < ERROR AT >^
3627 025045 201 00 0 00 025435 MOVEI [SIXBIT\ ERROR AT _\]
3628 025046 260 17 0 00 021426 PNTMSG^
3629 025047 200 00 0 17 000000 MOVE 0,(P)
3630 025050 370 00 0 00 000000 SOS
3631 025051 260 17 0 00 021475 GO PNTOCT ;PRINT PC OF ERROR
3632 025052 336 00 0 00 025537 SKIPN RCOVRY ;ATTEMPT RECOVERY ?
3633 025053 254 00 0 00 023431 JRST ERR1 ;NO, CONSULT LISTING FOR ERRORS
3634
3635 025054 336 00 0 00 025536 SKIPN PTFLG ;PAPER TAPE ?
3636 025055 254 00 0 00 023431 JRST ERR1 ;NO
3637
3638 025056 262 17 0 00 000000 POP P,0 ;RESTORE STACK
3639 PMSG <^BACKUP TAPE TO ATTEMPT RECOVERY, TYPE CR WHEN READY^>^
3640 025057 201 00 0 00 025437 MOVEI [SIXBIT\^BACKUP TAPE TO ATTEMPT RECOVERY, TYPE CR WHEN READY^_\]
3641 025060 260 17 0 00 021426 PNTMSG^
3642 025061 260 17 0 00 021673 TTICHR
3643 025062 302 00 0 00 000012 CAIE 12
3644 025063 254 00 0 00 025061 JRST .-2
3645
3646 025064 254 00 0 00 022531 JRST LDPROC
3647
3648 ;*NFERR1 - PROGRAM NOT FOUND ERROR
3649
3650 025065 NFERR1: PMSG <^PROGRAM NOT FOUND - >^
3651 025065 201 00 0 00 025450 MOVEI [SIXBIT\^PROGRAM NOT FOUND - _\]
3652 025066 260 17 0 00 021426 PNTMSG^
3653 025067 260 17 0 00 020337 GO NAMPNT
3654 025070 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 54
DEVLDR MAC 23-Apr-80 13:29 DSKLDR DISK PACK LOAD ONLY ROUTINE SEQ 0124
3655 ;*ERROR REPORT MESSAGES
3656
3657 025071 200 01 0 00 025454 LERR2: MOVE A,[SIXBIT/ILLEOF/]
3658 025072 476 00 0 00 025537 SETOM RCOVRY
3659 025073 254 00 0 00 025041 JRST ERROR+1
3660 025074 200 01 0 00 025455 LERR3: MOVE A,[SIXBIT/FLTYPE/]
3661 025075 254 00 0 00 025072 JRST LERR2+1
3662 025076 200 01 0 00 025456 LERR4: MOVE A,[SIXBIT/FORMAT/]
3663 025077 254 00 0 00 025072 JRST LERR2+1
3664 025100 200 01 0 00 025457 LERR5: MOVE A,[SIXBIT/CKSUM/]
3665 025101 254 00 0 00 025072 JRST LERR2+1
3666
3667 025102 200 01 0 00 025454 ERR2: MOVE A,[SIXBIT/ILLEOF/]
3668 025103 254 00 0 00 025040 JRST ERROR
3669 025104 200 01 0 00 025455 ERR3: MOVE A,[SIXBIT/FLTYPE/]
3670 025105 254 00 0 00 025040 JRST ERROR
3671 025106 200 01 0 00 025456 ERR4: MOVE A,[SIXBIT/FORMAT/]
3672 025107 254 00 0 00 025040 JRST ERROR
3673 025110 200 01 0 00 025457 ERR5: MOVE A,[SIXBIT/CKSUM/]
3674 025111 254 00 0 00 025040 JRST ERROR
3675 025112 200 01 0 00 025460 ERR6: MOVE A,[SIXBIT/1STPTR/]
3676 025113 254 00 0 00 025040 JRST ERROR
3677 025114 200 01 0 00 025461 ERR7: MOVE A,[SIXBIT/STADR/]
3678 025115 254 00 0 00 025040 JRST ERROR
3679 025116 200 01 0 00 025462 ERR8: MOVE A,[SIXBIT/OPEN/]
3680 025117 254 00 0 00 025040 JRST ERROR
3681 025120 200 01 0 00 025463 ERR9: MOVE A,[SIXBIT/RDERR/]
3682 025121 254 00 0 00 025040 JRST ERROR
3683 025122 200 01 0 00 025464 ERR10: MOVE A,[SIXBIT/CORE/]
3684 025123 254 00 0 00 025040 JRST ERROR
3685 025124 200 01 0 00 025465 ERR11: MOVE A,[SIXBIT/BADRIB/]
3686 025125 254 00 0 00 025040 JRST ERROR
3687 025126 200 01 0 00 025466 ERR12: MOVE A,[SIXBIT/RIBEOF/]
3688 025127 254 00 0 00 025040 JRST ERROR
3689 025130 200 01 0 00 025467 ERR13: MOVE A,[SIXBIT/BLKNBR/]
3690 025131 254 00 0 00 025040 JRST ERROR
3691 025132 200 01 0 00 025470 ERR14: MOVE A,[SIXBIT/CYLNBR/]
3692 025133 254 00 0 00 025040 JRST ERROR
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 55
DEVLDR MAC 23-Apr-80 13:29 STORAGE ASSIGNMENTS SEQ 0125
3693 SUBTTL STORAGE ASSIGNMENTS
3694 025134 LIT
3695 025134 000112 000011
3696 025135 104 062 060 115 117
3697 025136 116 056 105 130 105
3698 025137 000 000 000 000 000
3699 025140 104 00 0 00 000200
3700 025141 104 00 0 00 000147
3701 025142 550 00 0 00 000120
3702 025143 254 00 1 00 000000
3703 025144 777740 025563
3704 025145 000001 000001
3705 025146 025623 025624
3706 025147 63 65 42 62 64 56
3707 025150 63 65 42 65 63 62
3708 025151 000000 000000
3709 025152 63 65 42 53 54 00
3710 025153 000000 000000
3711 025154 63 65 42 62 64 56
3712 025155 000000 000000
3713 025156 53 54 44 44 64 00
3714 025157 000000 000000
3715 025160 00 43 55 44 00 15
3716 025161 00 77 00 00 00 00
3717 025162 76 46 51 54 45 16
3718 025163 45 70 64 00 15 00
3719 025164 77 00 00 00 00 00
3720 025165 56 57 00 50 45 54
3721 025166 60 77 00 00 00 00
3722 025167 76 56 41 55 45 75
3723 025170 60 41 63 63 45 63
3724 025171 75 62 50 00 63 67
3725 025172 63 75 51 64 45 62
3726 025173 41 64 51 57 56 63
3727 025174 76 77 00 00 00 00
3728 025175 44 07 0 00 031000
3729 025176 70 70 70 76 77 00
3730 025177 76 43 55 44 54 63
3731 025200 64 00 64 57 57 00
3732 025201 54 57 56 47 77 00
3733 025202 76 65 63 45 62 00
3734 025203 57 56 54 71 77 00
3735 025204 76 45 70 45 43 00
3736 025205 57 56 54 71 77 00
3737 025206 76 65 56 43 50 41
3738 025207 51 56 41 42 54 45
3739 025210 15 77 00 00 00 00
3740 025211 254 00 1 00 027774
3741 025212 165742 335216
3742 025213 00 60 41 63 63 00
3743 025214 77 00 00 00 00 00
3744 025215 76 43 55 44 07 63
3745 025216 00 62 45 61 65 51
3746 025217 62 45 44 77 00 00
3747 025220 76 71 00 46 57 62
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 55-1
DEVLDR MAC 23-Apr-80 13:29 STORAGE ASSIGNMENTS SEQ 0126
3748 025221 00 43 54 57 43 53
3749 025222 00 55 41 62 47 51
3750 025223 56 63 00 15 00 77
3751 025224 76 71 00 57 62 00
3752 025225 41 00 46 57 62 00
3753 025226 63 60 45 43 51 41
3754 025227 54 00 65 63 45 62
3755 025230 00 55 57 44 45 00
3756 025231 15 00 77 00 00 00
3757 025232 76 43 35 43 57 56
3758 025233 43 45 41 54 45 44
3759 025234 14 60 35 60 65 42
3760 025235 54 51 43 14 41 35
3761 025236 41 54 64 45 62 56
3762 025237 41 64 45 15 77 00
3763 025240 76 54 14 63 14 51
3764 025241 14 62 00 46 57 62
3765 025242 00 66 57 54 64 41
3766 025243 47 45 00 55 41 62
3767 025244 47 51 56 63 15 77
3768 025245 76 55 41 62 47 51
3769 025246 56 00 51 56 43 62
3770 025247 45 55 45 56 64 10
3771 025250 21 00 64 57 00 21
3772 025251 27 11 15 77 00 00
3773 025252 76 62 41 43 53 10
3774 025253 20 00 64 57 00 23
3775 025254 27 11 15 77 00 00
3776 025255 76 55 65 65 57 00
3777 025256 45 62 62 57 62 76
3778 025257 77 00 00 00 00 00
3779 025260 76 65 63 45 62 00
3780 025261 64 62 41 60 00 45
3781 025262 62 62 57 62 76 77
3782 025263 757776 757777
3783 025264 557776 557777
3784 025265 000002 000002
3785 025266 017160 017400
3786 025267 264 00 0 00 021053
3787 025270 420017 420000
3788 025271 002000 010000
3789 025272 400000 400000
3790 025273 140000 400017
3791 025274 140000 400000
3792 025275 76 07 55 41 62 47
3793 025276 51 56 00 45 56 41
3794 025277 42 54 45 07 00 56
3795 025300 57 64 00 63 45 64
3796 025301 00 37 76 77 00 00
3797 025302 400000 000000
3798 025303 44 07 0 00 021663
3799 025304 104 104 124 000 000
3800 025305 54 50 00 63 67 63
3801 025306 00 15 00 77 00 00
3802 025307 540000 540001
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 55-2
DEVLDR MAC 23-Apr-80 13:29 STORAGE ASSIGNMENTS SEQ 0127
3803 025310 76 44 45 66 32 64
3804 025311 14 53 14 44 14 66
3805 025312 14 60 00 15 00 77
3806 025313 65 56 51 64 00 03
3807 025314 00 15 00 77 00 00
3808 025315 027002 027003
3809 025316 104 111 123 113 072
3810 025317 133 120 054 120 116
3811 025320 135 040 055 040 000
3812 025321 000001 025723
3813 025322 35 07 0 00 000004
3814 025323 26 07 0 00 000004
3815 025324 17 07 0 00 000004
3816 025325 10 07 0 00 000004
3817 025326 01 07 0 00 000004
3818 025327 22 10 0 00 025506
3819 025330 32 10 0 00 025506
3820 025331 00 10 0 00 025506
3821 025332 10 10 0 00 025506
3822 025333 476 00 0 00 025526
3823 025334 254 00 0 00 022547
3824 025335 025674 025675
3825 025336 10 02 0 00 025674
3826 025337 00 10 0 00 025674
3827 025340 35 07 0 00 000015
3828 025341 26 07 0 00 000015
3829 025342 17 07 0 00 000015
3830 025343 105 117 124 000 000
3831 025344 63 41 66 00 00 00
3832 025345 41 21 20 00 00 00
3833 025346 777777 777777
3834 025347 400000 027001
3835 025350 000201 027204
3836 025351 000201 027407
3837 025352 000201 027001
3838 025353 60 54 41 43 45 00
3839 025354 64 41 60 45 00 51
3840 025355 56 00 62 45 41 44
3841 025356 45 62 14 00 64 71
3842 025357 60 45 00 43 62 00
3843 025360 67 50 45 56 00 62
3844 025361 45 41 44 71 76 77
3845 025362 45 56 44 00 57 46
3846 025363 00 64 41 60 45 77
3847 025364 76 60 54 41 43 45
3848 025365 00 56 45 70 64 00
3849 025366 60 41 62 64 00 51
3850 025367 56 00 62 45 41 44
3851 025370 45 62 14 00 64 71
3852 025371 60 45 00 43 62 00
3853 025372 67 50 45 56 00 62
3854 025373 45 41 44 71 76 77
3855 025374 76 44 45 43 64 41
3856 025375 60 45 00 45 62 62
3857 025376 57 62 14 00 44 64
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 55-3
DEVLDR MAC 23-Apr-80 13:29 STORAGE ASSIGNMENTS SEQ 0128
3858 025377 63 00 35 00 77 00
3859 025400 64 41 60 45 00 51
3860 025401 44 32 00 77 00 00
3861 025402 00 00 00 00 77 00
3862 025403 00 10 0 00 000004
3863 025404 10 10 0 00 025512
3864 025405 22 22 0 00 027205
3865 025406 22 06 0 00 000004
3866 025407 53 54 41 44 00 00
3867 025410 44 63 53 40 00 00
3868 025411 36 06 0 00 027205
3869 025412 32 07 1 00 000003
3870 025413 7 000 3 0 00 025035
3871 025414 7 000 1 0 00 000001
3872 025415 7 000 5 0 00 000001
3873 025416 604000 000000
3874 025417 32 03 0 14 024530
3875 025420 00 11 0 00 000001
3876 025421 603 01 0 00 002000
3877 025422 607 01 0 00 000200
3878 025423 7 000 4 1 00 000001
3879 025424 7 000 3 0 00 000001
3880 025425 7 000 4 0 00 000010
3881 025426 10 05 0 00 000003
3882 025427 716200 377700
3883 025430 404000 202200
3884 025431 00 13 0 00 000001
3885 025432 7 000 3 0 00 025034
3886 025433 7 000 6 0 01 000000
3887 025434 32 07 0 00 000003
3888 025435 00 45 62 62 57 62
3889 025436 00 41 64 00 77 00
3890 025437 76 42 41 43 53 65
3891 025440 60 00 64 41 60 45
3892 025441 00 64 57 00 41 64
3893 025442 64 45 55 60 64 00
3894 025443 62 45 43 57 66 45
3895 025444 62 71 14 00 64 71
3896 025445 60 45 00 43 62 00
3897 025446 67 50 45 56 00 62
3898 025447 45 41 44 71 76 77
3899 025450 76 60 62 57 47 62
3900 025451 41 55 00 56 57 64
3901 025452 00 46 57 65 56 44
3902 025453 00 15 00 77 00 00
3903 025454 51 54 54 45 57 46
3904 025455 46 54 64 71 60 45
3905 025456 46 57 62 55 41 64
3906 025457 43 53 63 65 55 00
3907 025460 21 63 64 60 64 62
3908 025461 63 64 41 44 62 00
3909 025462 57 60 45 56 00 00
3910 025463 62 44 45 62 62 00
3911 025464 43 57 62 45 00 00
3912 025465 42 41 44 62 51 42
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 55-4
DEVLDR MAC 23-Apr-80 13:29 STORAGE ASSIGNMENTS SEQ 0129
3913 025466 62 51 42 45 57 46
3914 025467 42 54 53 56 42 62
3915 025470 43 71 54 56 42 62
3916 025502 VAR
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 56
DEVLDR MAC 23-Apr-80 13:29 STORAGE ASSIGNMENTS SEQ 0130
3917 025562 44 51 41 55 57 56 PGNAME: SIXBIT /DIAMON/ ;PROGRAM NAME
3918 025563 PLIST: BLOCK 40 ;PUSH LIST
3919
3920 025623 000000 000000 PGMGO: 0 ;LOAD & GO FLAG
3921 025624 000000 000000 TAPEPF: 0 ;PRINT TAPE FLAG
3922 025625 000000 000000 DEVFLG: 0 ;CMD LIST FROM DEVICE FLAG
3923 025626 000000 000000 DINFLG: 0 ;DEVICE IN FLAG
3924 025627 000000 000000 LPTFLG: 0 ;LINE PRINTER FLAG
3925 025630 000000 000000 LSTFLG: 0 ;LISTING FLAG
3926 025631 000000 000000 DDIRFLG:0 ;DISK DIRECTORY FLAG
3927 025632 000000 000000 DDIRF1: 0
3928 025633 000000 000000 ALTMFLG:0 ;ALTMODE FLAG
3929 025634 000000 000000 CLKFLG: 0
3930 025635 000000 000000 USRFLG: 0
3931 025636 000000 000000 CNSFLG: 0
3932 025637 000000 000000 MGNONC: 0
3933 025640 000000 000000 MGNCNT: 0
3934 025641 000000 000000 MGNWRD: 0
3935 025642 000000 000000 MGNADR: 0
3936 025643 000000 000000 RACKF: 0
3937 025644 000000 000000 SCFLAG: 0 ;PROCESSING COMMENT FLAG
3938 025645 000000 000000 DEVTYP: 0 ;DEVICE TYPE INDICATOR
3939 025646 000000 000000 DF22F: 0 ;22BIT DF10 FLAG
3940 025647 000000 000000 SAVEP: 0 ;PUSHDOWN POINTER SAVE
3941 025650 000000 000000 SAVEIP: 0 ;COMMAND LIST POINTER SAVE
3942 025651 000000 000000 RUNCTL: 0 ;RUN CONTROL
3943 025652 000000 000000 CHRCTR: 0 ;PRINT CHAR COUNTER
3944 025653 000000 000000 SAVAC0: 0 ;AC SAVE
3945 025654 000000 000000 SAVAC1: 0 ; "
3946 025655 000000 000000 SAVAC2: 0 ; "
3947 025656 000000 000000 FCRCNT: 0 ;CR FILLER COUNT
3948 025657 000000 000000 FLFCNT: 0 ;LF FILLER COUNT
3949 025660 000000 000000 LENGTH: 0 ;LENGTH OF DATA
3950 025661 000000 000000 STRUCT: 0 ;STRUCTURE
3951 025662 000000 000000 SLUNIT: 0 ;LOGICAL UNIT
3952 025663 000000 000000 BLKCNT: 0 ;BLOCK COUNT
3953
3954 025664 000000 000000 CLBN: 0 ;CURRENT LBN
3955 025665 000000 000000 CLUCNT: 0 ;CURRENT CLUSTER COUNT
3956 025666 TAPENO: ;CURRENT TAPE NUMBER
3957 025666 000000 000000 TTYPE: 0 ;TEMP TYPE
3958 025667 DIRSRC: ;SEARCH TAPE NUMBER
3959 025667 000000 000000 TUNIT: 0 ;TEMP UNIT
3960 025670 DOSRCH: ;PRESENTLY DOING SEARCH FLAG
3961 025670 000000 000000 CTYPE: 0 ;CURRENT TYPE
3962 025671 SRCHF: ;DECTAPE SEARCH FLAG
3963 025671 000000 000000 CUNIT: 0 ;CURRENT UNIT
3964 025672 000000 000000 DEVICE: 0 ;DISK NAME
3965 025673 000000 000000 PPN: 0 ;PROJ-PROG NO.
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 57
DEVLDR MAC 23-Apr-80 13:29 STORAGE ASSIGNMENTS SEQ 0131
3966 025674 SELSTR: ;COMMAND SELECTION STORE
3967 025674 000000 000000 LDCNT: 0 ;A10 LOAD COUNT
3968 025675 000000 000000 LDADR: 0 ;A10 LOAD ADDRESS
3969 025676 LDATA: BLOCK ^D34-16 ;A10 DATA STORAGE
3970 025722 ACSAVE: BLOCK 16
3971 025740 000000 000000 LDATAE: 0 ;A10 END OF DATA STORAGE
3972 025741 000000 000000 0
3973
3974 025742 56 41 55 45 00 00 LDNAME: SIXBIT/NAME/
3975 025743 45 70 64 00 00 00 SIXBIT/EXT/
3976 025744 000000 000000 0
3977 025745 000000 000000 0
3978
3979 025746 000000 000013 LDBLK: 13
3980 025747 44 63 53 00 00 00 SIXBIT/DSK/
3981 025750 000000 025751 LDBUF
3982 025751 LDBUF: BLOCK 3
3983
3984 025754 000000 000000 INLIST: 0
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 58
DEVLDR MAC 23-Apr-80 13:29 SPECIAL STARTUP MESSAGES AND INITIALIZATION SEQ 0132
3985 SUBTTL SPECIAL STARTUP MESSAGES AND INITIALIZATION
3986
3987 ;*HEADER
3988
3989 DEFINE PTITLE (MCNVER,DECVER) <
3990 ASCIZ %
3991 * DIAMON [DDQDC] - DECSYSTEM DIAGNOSTIC MONITOR - VER MCNVER'.'DECVER *
3992 %>
3993
3994 025755 HEADER: PTITLE \MCNVER,\DECVER^
3995 ASCIZ %
3996 025755 015 012 052 040 104 * DIAMON [DDQDC] - DECSYSTEM DIAGNOSTIC MONITOR - VER 0.15 *
3997 025756 111 101 115 117 116
3998 025757 040 133 104 104 121
3999 025760 104 103 135 040 055
4000 025761 040 104 105 103 123
4001 025762 131 123 124 105 115
4002 025763 040 104 111 101 107
4003 025764 116 117 123 124 111
4004 025765 103 040 115 117 116
4005 025766 111 124 117 122 040
4006 025767 055 040 126 105 122
4007 025770 040 060 056 061 065
4008 025771 040 052 015 012 000 %^
4009
4010 ;*HELP
4011
4012 025772 HELP: ASCIZ %
4013 025772 015 012 116 117 122 NORMAL START = 20000
4014 025773 115 101 114 040 123
4015 025774 124 101 122 124 040
4016 025775 075 040 062 060 060
4017 025776 060 060 015 012 122 RESTART/ABORT = 20001
4018 025777 105 123 124 101 122
4019 026000 124 057 101 102 117
4020 026001 122 124 040 075 040
4021 026002 062 060 060 060 061
4022 026003 015 012 120 122 111 PRINT TEST TITLE = 20002
4023 026004 116 124 040 124 105
4024 026005 123 124 040 124 111
4025 026006 124 114 105 040 075
4026 026007 040 062 060 060 060
4027 026010 062 015 012 122 105 RESTART CURR TEST = 20003
4028 026011 123 124 101 122 124
4029 026012 040 103 125 122 122
4030 026013 040 124 105 123 124
4031 026014 040 075 040 062 060
4032 026015 060 060 063 015 012
4033 026016 015 012 104 105 126 DEVICES;
4034 026017 111 103 105 123 073
4035 026020 015 012 124 075 120 T=PAPER TAPE, K=KLDCP, D=DTA, V=11DTA, P=DISK PACK
4036 026021 101 120 105 122 040
4037 026022 124 101 120 105 054
4038 026023 040 113 075 113 114
4039 026024 104 103 120 054 040
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 58-1
DEVLDR MAC 23-Apr-80 13:29 SPECIAL STARTUP MESSAGES AND INITIALIZATION SEQ 0133
4040 026025 104 075 104 124 101
4041 026026 054 040 126 075 061
4042 026027 061 104 124 101 054
4043 026030 040 120 075 104 111
4044 026031 123 113 040 120 101
4045 026032 103 113 015 012 015
4046 026033 012 103 117 115 115 COMMANDS;
4047 026034 101 116 104 123 073
4048 026035 015 012 123 124 104 STD=START DIAGNOSTIC
4049 026036 075 123 124 101 122
4050 026037 124 040 104 111 101
4051 026040 107 116 117 123 124
4052 026041 111 103 015 012 123 STM=REINITIALIZE START
4053 026042 124 115 075 122 105
4054 026043 111 116 111 124 111
4055 026044 101 114 111 132 105
4056 026045 040 123 124 101 122
4057 026046 124 015 012 123 124 STL=START LOADER
4058 026047 114 075 123 124 101
4059 026050 122 124 040 114 117
4060 026051 101 104 105 122 015
4061 026052 012 123 124 101 122 START=START DIAGNOSTIC
4062 026053 124 075 123 124 101
4063 026054 122 124 040 104 111
4064 026055 101 107 116 117 123
4065 026056 124 111 103 015 012 SFSTRT=SPECIAL FEATURE START
4066 026057 123 106 123 124 122
4067 026060 124 075 123 120 105
4068 026061 103 111 101 114 040
4069 026062 106 105 101 124 125
4070 026063 122 105 040 123 124
4071 026064 101 122 124 015 012 PFSTRT=POWER FAIL START
4072 026065 120 106 123 124 122
4073 026066 124 075 120 117 127
4074 026067 105 122 040 106 101
4075 026070 111 114 040 123 124
4076 026071 101 122 124 015 012 REE=REENTER
4077 026072 122 105 105 075 122
4078 026073 105 105 116 124 105
4079 026074 122 015 012 104 104 DDT=DDT
4080 026075 124 075 104 104 124
4081 026076 015 012 123 124 101 START1=SPECIAL START 1
4082 026077 122 124 061 075 123
4083 026100 120 105 103 111 101
4084 026101 114 040 123 124 101
4085 026102 122 124 040 061 015
4086 026103 012 123 124 101 122 START2=SPECIAL START 2
4087 026104 124 062 075 123 120
4088 026105 105 103 111 101 114
4089 026106 040 123 124 101 122
4090 026107 124 040 062 015 012 START3=SPECIAL START 3
4091 026110 123 124 101 122 124
4092 026111 063 075 123 120 105
4093 026112 103 111 101 114 040
4094 026113 123 124 101 122 124
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 58-2
DEVLDR MAC 23-Apr-80 13:29 SPECIAL STARTUP MESSAGES AND INITIALIZATION SEQ 0134
4095 026114 040 063 015 012 123 START4=SPECIAL START 4
4096 026115 124 101 122 124 064
4097 026116 075 123 120 105 103
4098 026117 111 101 114 040 123
4099 026120 124 101 122 124 040
4100 026121 064 015 012 123 124 START5=SPECIAL START 5
4101 026122 101 122 124 065 075
4102 026123 123 120 105 103 111
4103 026124 101 114 040 123 124
4104 026125 101 122 124 040 065
4105
4106 026126 015 012 015 012 122 R=RESELECT, X=XPN, I=INTERNAL, T=TTY, D=DEVICE,
4107 026127 075 122 105 123 105
4108 026130 114 105 103 124 054
4109 026131 040 130 075 130 120
4110 026132 116 054 040 111 075
4111 026133 111 116 124 105 122
4112 026134 116 101 114 054 040
4113 026135 124 075 124 124 131
4114 026136 054 040 104 075 104
4115 026137 105 126 111 103 105
4116 026140 054 015 012 123 075 S=SINGLE, F=DIR, L=LIST, G=GO
4117 026141 123 111 116 107 114
4118 026142 105 054 040 106 075
4119 026143 104 111 122 054 040
4120 026144 114 075 114 111 123
4121 026145 124 054 040 107 075
4122 026146 107 117 015 012 000 %
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 59
DEVLDR MAC 23-Apr-80 13:29 SPECIAL STARTUP MESSAGES AND INITIALIZATION SEQ 0135
4123 ;*TYBAUD - COMPUTE CR & LF FILLERS REQUIRED FOR DIFFERENT BAUD RATES
4124
4125 026147 332 00 0 00 020006 TYBAUD: SKIPE USER
4126 026150 263 17 0 00 000000 RTN
4127 026151 201 01 0 00 000060 MOVEI 1,60
4128 026152 7 000 20 0 00 001000 CONO APR,1000 ;CLEAR AND WAIT FOR CLOCK
4129 026153 7 000 34 0 00 001000 CONSO APR,1000
4130 026154 254 00 0 00 026153 JRST .-1
4131 026155 7 000 20 0 00 001000 CONO APR,1000
4132 026156 403 00 0 00 000002 SETZB 0,2
4133
4134 026157 7 120 14 0 00 000002 TYBD1: DATAO TTY,2 ;COUNT # OF CHARS SENT IN 1 SEC
4135 026160 350 00 0 00 000000 AOS
4136 026161 7 120 34 0 00 000010 TYBD2: CONSO TTY,10
4137 026162 254 00 0 00 026164 JRST TYBD3
4138 026163 254 00 0 00 026157 JRST TYBD1 ;TTY DONE, SEND ANOTHER CHAR
4139 026164 7 000 34 0 00 001000 TYBD3: CONSO APR,1000 ;HAS CLOCK TICKED ?
4140 026165 254 00 0 00 026161 JRST TYBD2 ;NO
4141 026166 7 000 20 0 00 001000 CONO APR,1000 ;YES, COUNT DOWN JIFFIES
4142 026167 365 01 0 00 026161 SOJGE 1,TYBD2
4143
4144 026170 7 120 34 0 00 000010 TYBD4: CONSO TTY,10 ;WAIT TILL TTY GETS DONE
4145 026171 254 00 0 00 026170 JRST .-1
4146 026172 201 01 0 00 000005 MOVEI 1,5 ;5 = 2400 BAUD
4147 026173 307 00 0 00 000172 CAIG 0,^D122
4148 026174 370 00 0 00 000001 SOS 1 ;4 = 1200 BAUD
4149 026175 307 00 0 00 000076 CAIG 0,^D62
4150 026176 370 00 0 00 000001 SOS 1 ;3 = 600 BAUD
4151 026177 307 00 0 00 000040 CAIG 0,^D32
4152 026200 370 00 0 00 000001 SOS 1 ;2 = 300 BAUD
4153 026201 307 00 0 00 000020 CAIG 0,^D16
4154 026202 370 00 0 00 000001 SOS 1 ;1 = 150 BAUD
4155 026203 307 00 0 00 000014 CAIG 0,^D12
4156 026204 370 00 0 00 000001 SOS 1 ;0 = 110 BAUD
4157 026205 202 01 0 00 020016 MOVEM 1,TTYSPD ;SAVE
4158
4159 026206 402 00 0 00 000002 TYBD5: SETZM 2
4160 026207 306 01 0 00 000005 CAIN 1,5
4161 026210 201 02 0 00 000004 MOVEI 2,4 ;4 FILLERS @ 2400
4162 026211 306 01 0 00 000004 CAIN 1,4
4163 026212 201 02 0 00 000002 MOVEI 2,2 ;2 FILLERS @ 1200
4164 026213 306 01 0 00 000003 CAIN 1,3
4165 026214 201 02 0 00 000001 MOVEI 2,1 ;1 FILLER @ 600
4166 026215 202 02 0 00 025656 MOVEM 2,FCRCNT ;FOR CR
4167 026216 202 02 0 00 025657 MOVEM 2,FLFCNT ;FOR LF
4168 026217 302 01 0 00 000002 CAIE 1,2 ;IF 300 BAUD
4169 026220 263 17 0 00 000000 RTN
4170 026221 201 02 0 00 000011 MOVEI 2,^D9 ;USE 9 FILLERS FOR CR
4171 026222 202 02 0 00 025656 MOVEM 2,FCRCNT ;IN CASE LA30
4172 026223 263 17 0 00 000000 RTN
DIAMON [DDQDC] DECSYSTEM DIAGNOSTIC MONITOR, VERSION 0.15 MACRO %53(1026) 13:50 23-Apr-80 Page 60
DEVLDR MAC 23-Apr-80 13:29 SPECIAL STARTUP MESSAGES AND INITIALIZATION SEQ 0136
4173
4174 254000 020004 END JRST ONETIM
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 026224
CPU TIME USED 00:10.973
22P CORE USED
A 325 458 462 474 760 2236 2240 2241 2242 2243 2249 2252 2414# 2435
2439 2470 2471 2472 2473 2481 2482 2485 2486 2497 2503 2504 2506 2572 SEQ 0137
2587 2591 2594 2595 2600 2601 2663 2664 2665 2666 2667 2668 2683 2688
2699 2706 2707 2730 2734 2789 2918# 2982 2983 2986 2987 2988 2989 2994
3018 3020 3031 3032 3033 3036 3037 3040 3041 3042 3045 3046 3054 3061
3062 3065 3088 3089 3091 3092 3098 3103 3104 3105 3119 3123 3127 3129
3130 3135 3136 3137 3140 3145 3151 3156 3159 3163 3164 3173 3176 3178
3180 3201 3222 3223 3224 3240 3242 3247 3248 3250 3251 3255 3275 3277
3278 3284 3286 3290 3293 3294 3309 3310 3311 3316 3319 3321 3323 3325
3329 3333 3390 3394 3396 3397 3399 3400 3402 3408 3409 3410 3422 3434
3436 3437 3439 3445 3446 3450 3452 3462 3464 3465 3470 3473 3489 3490
3494 3495 3497 3499 3500 3504 3506 3510 3512 3525 3527 3528 3530 3532
3533 3535 3538 3539 3540 3542 3554 3568 3571 3573 3575 3577 3582 3583
3585 3586 3595 3597 3598 3657 3660 3662 3664 3667 3669 3671 3673 3675
3677 3679 3681 3683 3685 3687 3689 3691
A10FLG 1753# 1753 1758 2145 2233 2315 2346 2542 2662
ACS0 1094# 1094
ACS1 1095# 1095 1108 1112 1120
ACSAVE 1795 1796 1797 1818 1820 1835 1836 1837 3970#
ALTMFL 373 375 1507 3015 3928#
APR 247 746 890 938 1018 1037 1525 4128 4129 4131 4139 4141
B 469 2415# 2438 2442 2460 2461 2462 2463 2465 2538 2540 2622 2623 2624
2625 2627 2831 2832 2919# 3069 3073 3156 3157 3159 3161 3174 3175 3176
3177 3187 3188 3206 3209 3211 3216 3217 3220 3221 3241 3243 3256 3315
3329 3332 3335 3436 3442 3443 3492 3493 3503 3533 3543 3544 3548 3549
3550 3555 3556 3557 3561 3562 3572 3574 3576 3578 3594
BLKCNT 3102 3196 3224 3952#
BLKCOD 2896# 3105 3293
BLKERR 2464 2565# 2787
BLKNO 2424# 2453 2454 2528 2569 2674 2725 2778 2779 2780 2781 2783 2784 2785
2786 2992 2993
BLKSLF 2897#
BUFS 3390# 3390 3391 3557
BYTSAV 1931# 1931 1933 1934 1935 1936
C 1667 1669 1670 1672 1673 1676 1677 1680 1681 1683 1685 1689 1701 1703
1707 2416# 2436 2441 2442 2514 2517 2519 2549 2554 2920# 3204 3207 3218
3255 3256 3273 3274 3275 3312 3319 3323 3342 3405 3406 3437 3439 3440
3450 3465 3470 3472 3473 3482 3483 3485 3487 3493 3495 3558 3587 3589
3590 3597 3598 3599 3600
CHAIN 182# 699
CHNCMD 75# 3397 3398 3399 3410
CHRCTR 1249 1259 1262 1267 1269 1334 1345 1427 1446 2600 2706 3137 3943#
CLBN 3195 3225 3954#
CLKFLG 801 934 3929#
CLRATN 3587 3612#
CLRCOR 2058 2181 2207#
CLRCR1 2208 2220#
CLUCNT 3101 3198 3217 3955#
CMDADR 342 351 424#
CMDEX 339 342#
CMDEX1 348 351#
CMDHLP 424 487#
CMDLP 336# 340
CMDLP1 337 345# 349
CMDLST 336 338 345 347 398# SEQ 0138
CMNCMD 509# 523
CMNPNT 2115 2124# 2130 2368
CNSFLG 826 837 970 972 3931#
CNTLOF 1276 1303# 1303 1365 1382
CODHOM 2894# 3294
CODRIB 2895#
CONSW 204# 1456 1530
CP2 1104# 1134
CPI 1103 1130#
CPOPJ 475# 2529 2784 2993 3315 3503 3594
CPOPJ1 393 533# 539 554 1027 1476 1907 1915 1937 2312 2329 2539 2543 2768
2772 2803 2970 2998 3014 3075 3082 3108 3162 3169 3179 3185 3228 3245
3297 3327 3449 3454 3602
CRLF1 324 451 464 675 759 767 1298# 1511 1658 2350 2580 2589 2605 2714
3112 3132 3623
CRRTN 556 629#
CRRTN1 643#
CTYPE 3272 3404 3411 3961#
CUNIT 3271 3579 3963#
CXPND 501 780#
CXPND1 784 787#
D11BLK 2783# 2783 2785 2793
D11C1 2740# 2740 2759 2767 2771
D11CH1 2760 2770#
D11CHR 1887 1911 2759#
D11CHW 2765# 2765 2770
D11PNT 2800# 2800 2802
D11SWP 2794 2805#
D11W 2741# 2741 2775 2797
D11WD 2762 2775#
D11WD1 2776 2802#
D11WD2 2778#
DATAOW 1663 3312 3578 3589 3605 3606 3607 3608 3609 3614#
DB 1105 1136#
DB1 1137 1140#
DBUF 1579# 1581 2470 2473 2739 2778 2789 2799 2806 2808 2809 2987 2989 2992
2994 3187 3286 3610
DBUFP 2960 3151 3610#
DDIRF1 3077 3152 3154 3927#
DDIRFL 3057 3114 3926#
DDIRP1 3122 3133 3139#
DDIRP2 3153 3187#
DDIRPN 3119# 3155
DDT 109#
DDTLNK 71#
DECVER 3# 10 36 3994
DEVCM1 372 519#
DEVCM2 525# 2945
DEVCMD 427 516#
DEVFLG 516 519 2944 3922#
DEVICE 1587 1687 3031 3037 3041 3045 3088 3092 3964#
DEVRD 536# 1484
DEVSEL 272 395 1586# 1599 1610 1613 SEQ 0139
DEVTYP 1594 1615 1618 1653 1660 1731 1772 1845 2646 2961 2977 3004 3938#
DEVUSR 1593 1618#
DF22B 2853# 3325
DF22F 3307 3326 3395 3433 3453 3939#
DF22RH 2876# 3452
DH.RD 2874# 3488
DH.WRT 2875#
DHX 2858# 3364
DHX2 2859# 3365
DHX3 2860# 3366
DHX4 2861# 3367
DHX5 2862# 3368
DHX6 2863# 3369
DHXINI 3364 3365 3366 3367 3368 3369 3459#
DHXRED 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357
3482#
DHYINI 3431# 3460
DHZ 2865# 3277 3370
DHZ2 2866# 3371
DHZ3 2867# 3372
DHZ4 2868# 3373
DHZ5 2869# 3374
DHZ6 2870# 3375
DHZ7 2871# 3376
DHZ8 2872# 3278 3377
DHZINI 3370 3371 3372 3373 3374 3375 3376 3377 3458#
DIAGLD 297 304 309 313 370 701 1741 1750#
DIAGMN 90# 949
DIAGNO 89# 439 2223
DIAGPP 3052 3618#
DIGIT 54# 547 590 596 597 636 638 639 869 1461 1472 1475
DIGIT1 56# 595 596 640 641
DIGIT2 57# 595 640
DIGITA 55# 588 589 1461 1470 1471
DINFLG 520 1483 3923#
DIRECT 429 1721#
DIRSRC 2431 2481 2659 3958#
DOSRCH 2432 2484 2547 2661 2676 3960#
DPC 2854# 3378
DPC2 2855# 3379
DPCCNV 3566 3571#
DPCINI 3305# 3378 3379
DPCOPR 3569 3586#
DPCRED 3358 3359 3566#
DPCWAT 3593#
DPNTR 49# 522 536
DSKBLK 2990 3099 3291 3342#
DSKDIR 1732 3112#
DSKLD 1775 1782 2932#
DTABLK 2573 2790 2995#
DTALD 1773 2429# 2490
DTBLKC 2603 2617# 2629
DTC 1846 2434 2498 2503 2515 2519 2526 2533 2550 2565 2571 2575 2647 2660 SEQ 0140
2997 3005
DTDREQ 2400# 2501 2524
DTDSEL 2399# 2571
DTE 161# 1553
DTECLR 1562# 1730 2638 3017
DTEINT 260 750 1535#
DTEND 2406# 2499 2520
DTERR 2408# 2499 2522
DTFSTP 2401#
DTFWD 2396# 2515 2517 2533
DTJBDN 2402# 2509
DTRALL 2403#
DTRBN 2404# 2519
DTREAD 2405# 2498
DTREV 2407# 2496 2505 2518 2530 2534
DTRVS 2397# 2515 2533
DTS 2499 2501 2508 2509 2520 2522 2524 2549
DTSEL 2398# 2519 2571
DTSRCH 1631 1645#
DTSTOP 1846 2395# 2434 2550 2565 2575 2647 2660 2997 3005
DTUNI1 1632#
DTUNIT 1603 1622 1625# 1634
ECCPOS 3539# 3539 3555
ERR 2469 2500 2523 2547# 2574
ERR1 2556# 3633 3636
ERR10 2214 2219 2337 3683#
ERR11 3074 3081 3685#
ERR12 3146 3687#
ERR13 2566 3403 3689#
ERR14 3584 3691#
ERR2 2150 2949 2953 3667#
ERR3 3669#
ERR4 3671#
ERR5 3673#
ERR6 2161 2165 3675#
ERR7 2172 2174 3008 3677#
ERR8 2284 3679#
ERR9 2324 3681#
ERROR 3621# 3659 3668 3670 3672 3674 3676 3678 3680 3682 3684 3686 3688 3690
3692
EX 502 674#
EX1 684# 756
EX2 698#
EX3 706#
EX4 367 687 758 772#
EX5 678# 768
EXBAD 657 663# 719
EXC 1099 1108# 1133 1138
EXC1 1112# 1155
EXC2 1118 1122#
EXC3 1119 1123#
EXC4 1114 1125#
EXC5 1116# 1129 SEQ 0141
EXEXEC 722#
EXNEW 723 726 729#
EXNOE 654# 724
EXNOU 659# 727
EXT 2923# 3053 3060 3072 3073 3160 3161
EXTCK 2447 2538# 3080 3167
EXUSR 721 725#
F 470 471 472 1664 1667 1669 1692 1695 1697 1699 1705 1709 2413# 2496
2505 2518 2530 2534 2570 2596 2693 2917# 2934 3034 3084 3106 3115 3226
3270 3283 3284 3322 3581 3599
FBSAV 1787# 1787 1924
FCRCNT 1304 3947# 4166 4171
FDIR 1733 2580#
FILD1 2599# 2612
FILDL 2591# 2606
FILDN 2592 2606#
FILLCR 1282 1303#
FILLLF 1284 1307#
FILLX 1305 1308# 1313
FILN 2421# 2437 2438 2439 2443 2444 2451 2465
FLFCNT 1307 3948# 4167
FLNAM1 572#
FLNAM2 568 588#
FLNAME 330 360 510 543# 584 603 621 631
FLNMLP 552# 558 567 580 591 598 608
FNDUL1 3235# 3252
FNDUL2 3236# 3249
FNDUNI 3048 3182 3212 3234#
FNDUNX 3239 3244 3247#
FNFND 2444 2451#
FRD36 1822 1852#
FRD8 1824 1898#
FRDLNK 69# 281
FRDTYP 1817# 1817 1821 1823
FREAD 280 1817#
FREAD1 1831 1835# 1858 1900
FREAD2 1829 1845# 1853 1856 1899
FREAD3 1828# 2119 2381
FSELEC 278 1738#
FSELF 1795#
FSELNF 1811#
FSELNK 68# 279
FULL 649#
G8BY1 1931#
G8BY2 1926 1933#
G8BYT 1898 1917#
GJ%OLD 118# 226
GJ%SHT 119# 226
GTVDWD 2680 2686 2697 2711 2738 2748#
HBUF 1583# 3054 3062 3066 3174 3175 3178 3204 3207 3209 3218 3220 3222 3240
3241 3290 3293 3295
HEADER 270 3994#
HELP 489 644 4012# SEQ 0142
HLPCLR 487# 487 645
HOM1 3290# 3302
HOM2 3292 3296 3299#
HOMBK1 2892# 3285
HOMBK2 2893# 3299 3301
HOMBPC 2910# 3220 3222
HOMBSC 2905# 3062 3066 3174
HOMCKP 2908#
HOMCLP 2909# 3207 3218
HOMCNP 2907# 3204
HOMCRS 2912#
HOME 3238 3270#
HOMLUN 2904# 3178 3209 3241
HOMMFD 2913# 3054
HOMREF 2911# 3295
HOMSCU 2906# 3175
HOMSNM 2903# 3240
IMGINM 173# 891 1038
IMGNOF 170# 1018
IMGNON 171# 1056
INLEND 44# 646
INLIST 359 362 379 381 382 509 679 3984#
IOCLR 149# 247 746
IOCNSO 3330 3334 3598#
IOCNSZ 3317 3513 3597#
IODTI 3435 3470# 3505 3526 3531 3541
IODTO 3447 3473# 3491 3496 3501
IOWAIT 3314 3329# 3502 3593
IOXCT 3313 3320 3324 3451 3466 3471 3474 3486 3588 3599#
IP 58# 295 302 307 311 323 332 334 359 362 363 366 368 452
458 462 509 634 635 639 641 642 643 644 646 664 679 684
686 688 692 706 707 716 748 754 755 1740 1756 2236 2240 2293
2295 2348 2349 2435 2436 2663 2665 3059 3060 3119 3121 3123 3127 3140
ISPDOF 172# 1018
ISPDON 174# 935
ITERAT 202# 714 926 943 959 965 1065 1166
ITRCNT 94# 944 966
JOBFF 66# 2177
JOBFFW 2056 2179# 2179 2215 2225
JOBREL 67# 215 2209 2338 3021 3024
JOBSA 65# 2168
JOBSAW 2053 2170# 2170 2171 2221
JRSTX 1101 1146#
JRSTX1 1147 1152#
K 2928# 3236 3272 3274 3404 3405 3411 3412 3413 3422
KAIFLG 206# 250 258 783 1163
KLDCP8 1918 2268#
KLDCPF 1589# 1589 1614 1714 1723 1763 1917 2965
KLDCPL 1764 2233#
KLDCPS 1601 1612#
KLDCPW 2259# 2966
KLDDT 100# 1402
KLFLG 205# 249 254 259 268 300 749 782 793 841 937 954 1000 1016 SEQ 0143
1113 1162 1274 1320 1386 1523 1564 1612 1774 3281
L.CMA 1692 1695 1699 1709 2882#
L.LBK 1695 1697 1705 2881#
LBN 2929# 3065 3066 3145 3173 3177 3181 3184 3195 3221 3225 3285 3299 3301
3402
LBNSEL 3096 3173#
LD8D11 1909# 1922
LD8PT 1902# 1920
LDA10 1942# 2146
LDACD1 1864 1885#
LDACH1 1866 1875#
LDACH2 1881# 1891 2390
LDACHR 526 1828 1861# 1881 1946 1961 1979 2096 2099 2102 2124 2640
LDACPT 1862 2384#
LDADR 2043 2063 3968#
LDAEOF 1871 1888 1893# 1912
LDATA 2054 2066 3969#
LDATAE 1972 2033 3971#
LDBF 1571# 1573 2285 2288 2291
LDBF1 1577# 1579 2287 2290
LDBF2 1581# 1583 2289 2292
LDBLK 2283 3979#
LDBUF 2281 2282 2286 2319 2327 2328 3981 3982#
LDCHN 61# 2283 2311 2321 2323 3003
LDCMA 1989 2021#
LDCMNT 1833 1949 2095#
LDCNT 1970 1971 1974 2030 2041 2045 3967#
LDCNV 1977# 2022
LDCNV1 1979# 1983 2001 2009 2015
LDCNV2 2014# 2019
LDCNV3 1992 2017#
LDDIR 1641 2489 2569# 2675
LDDONE 2064 2091#
LDEOL 1986 2025#
LDEVIC 1754# 1754 1798 1811 2251 2280 2344 2430 2658 2933
LDEXCB 166# 1002 1019 1115
LDLNK 70#
LDNAME 2294 2310 2311 2313 3974#
LDOCTF 1943# 1943 1968 1991 2027
LDPROC 1943# 2052 2059 2087 2120 2382 3646
LDTBLK 1951# 1951 1955 2062 2069 2081 2084
LDTEN 2028 2041#
LDTEN1 2048 2062#
LDTEN2 2068# 2086
LDTENZ 2052#
LDUSRB 167# 1002 1019 1115
LDZBLK 1944# 1944 1959 2047
LENGTH 2980 2983 3104 3949#
LERR2 1947 1962 1980 2097 2100 2103 2125 3657# 3661 3663 3665
LERR3 1958 3660#
LERR4 1967 3662#
LERR5 2037 3664#
LET 50# 388 392 545 568 597 SEQ 0144
LHSWS 677 1451# 1455
LIST1 430 1714#
LLDUSB 162# 1026 1030 1128
LOFMSG 1336 1369#
LOOK 2935 3031# 3116
LOOK1 3035 3038 3045#
LOOK2 3040# 3090 3093
LOOK3 3051#
LOOK4 3061# 3078
LOOK5 3058 3077#
LOOK6 3072 3080#
LOOK7 3085 3088#
LOWCMD 2877# 3400 3401 3500 3614
LPT 1319 1322
LPTFLG 500 1270 1335 1344 1729 2637 3924#
LPTOFL 1325 1330#
LPTSW 180# 1728 2636
LSTFLG 1716 2941 3925#
LSTPN1 2640# 2643
LSTPNT 2633# 2942
LUP 2438# 2443
LUP1 2443# 2448
LUP2 2444# 2449
LUP3 2441 2447#
M 1786 1865 1867 1879 1880 1924 1925 1926 1936 2420# 2927# 2950 2954 2955
MARGIN 99# 936 938
MCNVER 4# 10 36 3994
MGNADR 883 924 1055 1058 1062 1087 3935#
MGNCNT 922 1051 1063 1074 1084 3933#
MGNFLG 857# 857 885 929
MGNGO 1074# 1079
MGNGO1 1084#
MGNGO2 1071# 1083
MGNINC 861# 861 1050
MGNITR 927# 927 940 1089
MGNMSG 887 896#
MGNONC 1041 1043 3932#
MGNWRD 921 933 1048 1057 1072 1080 3934#
MINUS 564 602#
MNLUP 2454# 2466
MODLNK 72#
MONCTL 95# 730 1169
MONFLG 97# 967
MONTEN 98# 3009
MRGIN 1022 1039 1047# 1075 1088 1091
MRGNCK 930 1037#
MRGNF 925# 925 939 956 1020 1047
MUUO 156# 1096 1100 1109 1140
MUUOER 910# 990 1150
MUUOH 995 1094#
MUUOPC 157# 1111 1116 1143 1153
N 1666 1679 1680 1691 1698 1700 2419# 2495 2507 2526 2527 2528 2529 2531
2532 2590 2591 2594 2606 2627 2805 2806 2807 2809 2810 2926# 3237 3271 SEQ 0145
3305 3308 3431 3434 3445 3488 3490 3494 3497 3504 3525 3530 3540 3579
3580
NAM 51# 547 578 583 630 633 635
NAM1 52# 546 583 631 632 633 634
NAM2 53# 548 577 579
NAME 7# 2922# 3051 3052 3059 3070 3157
NAMPNT 453 458# 668 700 2351 2558 3653
NF 2445 2477# 2728
NF1 2480# 2548
NFERR 1804# 2253 2300 2308 2478 2483 2936
NFERR1 1807 3650#
NOCMNT 1739 1746 1748# 1748 1750 2112 2128 2132 2345
NODRER 3507 3510#
NOEXT 2595 2609#
NOFNF 1745# 1745 1752 1804
NORM 3544 3554#
NOTFN1 3043 3086#
NOTFND 3049 3056 3064 3068 3084#
O.READ 2857# 3568
O.SEEK 2856# 3585
ONCE 209# 266 321 2559
ONETIM 201# 4174
ONETM1 201 215#
OPPNT 3586 3609#
P 59# 77 78 79 80 248 322 450 533 747 1013 1240 1243 1799
1840 1882 2263 2272 2479 2480 2634 2639 2818 2820 2822 2824 3120 3139
3181 3183 3184 3482 3487 3537 3622 3624 3629 3638
PAG 155# 1002 1019 1025 1026 1029 1030 1115 1125 1127 1128 1779 1781 3419
3421 3425 3426
PAGKL 1001 1023#
PASS 208# 674 680 690 715 765 962 974
PCYL 3575 3606#
PDRIVE 3308 3580 3605#
PERIOD 573 583#
PFSTRT 107# 441
PGMGO 282 283 369 521 1640 1642 2561 3013 3920#
PGNAME 263 325 760 3917#
PI 246 745 940 957
PICLR 150# 246 745
PLIST 248 322 450 747 1013 3918#
PNT 2095 2098 2101 2104 2106 2111 2425#
PNT1 2110 2426#
PNT16 479# 2129 2133 2642
PNTDEC 766 1239# 1242 2604 2713
PNTLPT 1271 1316#
PNTOCT 1229# 1234 2555 3631
PNTR 2423# 2433 2456 2457 2458 2461 2618 2619 2620 2623
PNTTAB 1515# 2599 2602 2705 2708 3134 3138
PPN 1586 1691 1698 1700 3051 3965#
PPN0 1678 1685#
PPN1 1686 1689#
PPN2 1690 1695#
PPN3 1703# SEQ 0146
PPN4 1704 1707#
PPN5 1696 1701#
PPNCHR 1667# 1684
PPNIN 1607 1659#
PPNIN1 1658# 1671 1693 1708
PPNLP 1665# 1688 1694 1706 1710
PPNLTR 1675 1681#
PPNPTR 1665 3616#
PRGCOR 2145# 2946
PRINT 461 473 481 1198 1203 1205 1223 1233 1245 1249# 1339 1421 1494 1510
1516 2239 2557 2597 2694 3126
PRINT1 1258 1261 1266#
PRINT2 1265 1285# 1291 1294 1308 1326
PRINT3 1275 1289#
PRINT4 1273 1293#
PROCBK 2494# 2995
PROCLP 2499# 2502 2507
PSEC 3311 3572 3608#
PSURF 3310 3574 3607#
PTAPE 1609 1653#
PTCNT1 2370# 2379
PTCNTL 2107 2365#
PTFLG 1591# 1591 1654 1725 1766 1830 1854 1861 1919 3635
PTLD 1767 2343# 2361
PTR 1902 1904 1906 2359 2360 2377 2378 2384 2386 2388
Q 1785 2148 2220 2221 2222 2223 2224 2225 2226 2227 2328 2418# 2453 2924#
2960 2962 2967 2968 2969
R.DSKW 2888# 3034 3084
R.KDEV 2886# 3283
R.SRIB 2889# 3106 3226
R.TYPE 2887# 3270 3322 3581
R5VOU1 2819 2823 2825 2830#
R5VOU2 2831 2835#
R5VSIX 2682 2687 2698 2814#
R5VTAB 2835 2836 2837 2838 2839 2840 2842#
RACKF 284 884 923 1059 1085 3936#
RANBAS 210# 731 734
RANDBS 96# 735
RBOUT 562 575 576 618#
RBUF 1575# 1577 3069 3070 3098 3103 3105 3107 3201
RCOVRY 3621# 3621 3632 3658
RDDATA 2972 2977# 3149
RDDSK 2980#
RDDTA 2978 2992#
RDDTA1 2468 2994#
READ 552 1483# 1498 1500
READ1 540 1486#
REENTR 108# 442
RELIAB 181# 710
RERUN 200#
RERUN1 200 739#
RESTRT 198# 1015 1034 1090
RET 669 691 702 754# SEQ 0147
RETURN 91# 946 1007 3011
RFILE 1785# 2255 2299 2304 2307 2363 2474 2742 2937
RFILE1 1791 2941#
RFILL 2468#
RFILL1 2948# 2956
RFILL2 2952# 2955
RFILL3 2189 2950#
RH20F 3276# 3276 3280 3392 3438 3448 3458 3463 3484 3498 3511
RHINIT 3441 3459 3462#
RIBBYT 3205 3208 3219 3255#
RIBEXT 2900# 3069
RIBFIR 2898# 3107
RIBNAM 2899# 3070
RIBSIZ 2901# 3103
RL 1107 1138# 1144
RMS1 2169 2178 2193#
RMS2 2191# 2198
RUN 198 743# 2563
RUNCTL 678 729 757 3942#
RUNPR1 362# 383
RUNPR2 346 378#
RUNPRG 356# 376 428 517 1717
RWNXTB 2967 2972#
RWORD 1855 1870 1928 2149 2948 2952 2963#
RWORD1 2960# 2974
S 1665 1682 1683 2925# 3107 3200 3201 3203
SADR 352 3006 3027#
SADRQ 353 365 431 3017#
SAV13 1788# 1788 1868 1872 1885 1889 1893 1909 1913
SAV14 1789# 1789 1869 1873 1886 1890 1894 1910 1914
SAVAC0 1252 1286 1332 1347 3944#
SAVAC1 1250 1285 1333 1346 3945#
SAVAC2 3946#
SAVEIP 368 452 684 706 748 3018 3941#
SAVEP 2479 2480 3940#
SAVQ 2220# 2220 2227
SAVT0 2152# 2152 2184
SAVT1 2153# 2153 2158 2167 2176 2183 2185
SAVT2 2154# 2154 2186
SAVT3 2155# 2155 2187
SAVT4 2156# 2156 2188
SAXPN 432 1160#
SCFLAG 543 557 607 629 1408 1489 3937#
SCHL1 3149# 3165
SCHL2 3154# 3164 3190
SCHL2A 3160 3167#
SCHN1 3165#
SCHN2 3141 3158 3163# 3168
SCSET 560 607#
SEARCH 2494 2514# 2532 2535
SEL1 3197 3225#
SEL2 3199 3222#
SEL3 3206 3216# SEQ 0148
SEL4 3210 3214#
SEL4L 3200# 3214
SELBLK 2984 3195# 3227
SELECT 197 219 222 224 229 240# 374 391 775 1161 1165 1361 1396 1405
1715 1722 1724 1726 2562 3117
SELSTR 323 332 378 380 3966#
SELX 267 276# 396
SELX1 287 310 314 321# 2560
SELX2 299 306 311#
SELX3 298 301 307#
SELX4 294 300#
SELXR 395# 433
SETCH1 3393 3408#
SETCHN 3287 3342 3390#
SETCMN 3402# 3428
SETRIB 3067 3096# 3147
SFSTRT 106# 440
SIXBP 326 459 463 469# 474 761 2237 2244 2588 2593 2598 2691 2703 3124
3128 3625
SLUNIT 3047 3180 3211 3243 3951#
SMLUSR 168#
SPECIA 1738# 1738 1751 1790 1806 2118 2380 2633 2996
SRCHC 2516 2519#
SRCHF 1590 1645 2477 3962#
SRCHFD 3055 3063 3145#
SRCHTA 2521 2533#
SRCHW 2520# 2525
START 145 197# 454 491 495 652 916 2222 2607 2641 2729 3010
START1 110# 443
START2 111# 444
START3 112# 445
START4 113# 446
START5 114# 447
STARTQ 2092 2951 3002#
STOP 532 2646#
STORED 425 500# 512
STRD2 793# 802 1171
STRD3 794 799 806# 815
STRD3A 814 834#
STRD4 810 818# 824 831 835
STRD4A 828 837#
STRD5 819 832 838 841#
STRD5A 861# 868 869 871 873
STRD5C 848 857#
STRD6 863 874# 880 882
STRD7 842 875 885# 892
STRD8 886 894#
STRUCT 3046 3242 3950#
SUBLNK 73#
SUBRTN 88# 286
SUSERF 207# 544 602 637 685 694 952 1032 1174
SVJBRE 216# 216 2210 2212 2216 2334 2339 3023
T0 2137# 2152 2160 2162 2170 2179 2184 2193 2194 2195 2199 2201 SEQ 0149
T1 2138# 2153 2167 2171 2173 2176 2185 2191 2192 2193 2200 2201
T2 2139# 2154 2162 2164 2186 2194 2196 2197
T3 2140# 2155 2163 2164 2168 2177 2187 2197 2199 2200
T4 2141# 2156 2188 2191 2195 2196
TAB 1573# 1575 1646 1647 1648 2438 2439 2460 2572 2587 2591 2594 2622 2723
2751 2753
TABADR 2422# 2433 2459 2460 2617 2621 2622
TABCTR 3113# 3113 3129
TAPENO 1637 2486 2514 3956#
TAPEPF 1493 3921#
TITLE 199#
TOUT 82 1216# 1225
TOUTA 1215# 1226
TRPENB 153# 1002 1025 1029 1115 1126 1780 3420
TRYECC 3508 3525#
TT2CHR 385# 798 809 823 847 1598 1628
TTAB 566 595#
TTALTM 1415 1417 1419 1507#
TTY 1277 1279 1310 1311 1355 1358 1388 1390 4134 4136 4144
TTYCFL 1353# 1353 1383 1430
TTYCHK 1278 1321 1353#
TTYCMD 426 506#
TTYEXT 1407 1425 1430# 1503
TTYIN 83 1382# 1485
TTYINA 1409 1414# 1428
TTYIND 1363 1402#
TTYINU 1385 1443#
TTYINX 1394# 1439 1445 1448
TTYKL 1387 1435# 1438
TTYOC1 1462# 1473
TTYOC2 1464 1475#
TTYOC3 1468 1478#
TTYOCT 84 1461#
TTYPE 3234 3236 3250 3957#
TTYSPD 211# 4157
TUNIT 3235 3237 3247 3959#
TYBAUD 269 4125#
TYBD1 4134# 4138
TYBD2 4136# 4140 4142
TYBD3 4137 4139#
TYBD4 4144#
TYBD5 4159#
TYPMAX 3251 3380#
UNIINI 3273 3364# 3380 3412
UNIMAX 3248 3381#
UPMP 158# 980 982 983 985 986 987 989 991 992 993 994 996 997
998 999 1002 1024 1026 1096 1100 1109 1111 1115 1116 1128 1140 1143
1153
URWD 2319# 2964
URWD1 2320 2322 2327#
USER 203# 240 243 244 261 264 293 317 676 720 743 780 931 1014
1160 1272 1384 1420 1478 1509 1521 1535 1562 1592 1721 1760 2157 2182
2207 2963 3002 3019 4125 SEQ 0150
USERF 151# 154# 218 242 1004 1117
USERLD 1761 2279#
USLD1 2296 2302#
USLKUP 2298 2303 2306 2310#
USRCMP 169# 1002 1115
USRERR 913# 984 1023
USRFLG 812 818 834 941 960 1173 3930#
USRINT 262 2333#
USRITR 928# 928 957 1033
USRRUN 942 952#
USSR1 1006 1012#
USSR2 945 1013# 1151
USSR3 1017 1029#
USSR4 1021 1032#
VC 2651# 2678 2717 2718 2749
VCNT0 1054#
VCNT1 1053 1069#
VCNT2 1068 1078#
VCNT3 1077 1082#
VDIR 2488 2582 2669 2673# 2726
VDIRF 2655# 2661 2673 2690 2701 2728
VDIRL1 2679# 2721
VDIRL2 2678#
VDIRL3 2696# 2732
VDIRL4 2681 2716# 2731 2735
VDTA 1605 1621#
VDTAFL 1588# 1588 1621 1638 1769 1852 1863 1921 2487 2581
VDTAL1 2690 2730#
VDTAL2 2701 2734#
VDTALD 1770 2657#
VEXT 2668# 2668 2734
VNAM 2664# 2664 2730
VOLT5 175# 1054 1069 1078 1082
VOLTLM 176# 858 1069 1078
VT 2652# 2679 2681 2683 2685 2688 2696 2699 2710 2712 2716 2717 2719 2723
2724 2725 2737 2739 2748 2751 2753 2754 2796 2797 2799 2800 2806 2808
2809 2816 2817 2820 2821 2824 2826 2830 2835 2836 2837 2838 2839 2840
VT1 2653# 2718 2719 2720 2748 2749 2750 2751 2752 2753 2807 2808 2818 2822
2831
VT2 2654# 2815 2832
W 1666 1687 1857 1875 1876 1877 1878 1879 1931 2091 2261 2262 2327 2417#
2765 2766 2802 2814 2815 2826 2921# 2950 2954 2968 3006 3007 3616
WHAT 199 450#
XPAND 184# 788
XPNRN1 931# 1035 1044 1066 1073 1081
XPNRN2 932 943# 953 964
XPNRN3 947# 1008
XPNRUN 739 921# 1176
ZEROAC 612# 947 3025
$$DTE0 1541 1553#
$DDT 127# 315 438 1404
$DTCHR 139#
$DTCI 133# 1539 SEQ 0151
$DTCLK 132# 1538
$DTCMD 136# 1551
$DTEXX 1290 1436 1528 1551# 1567 2235 2247 2260 2269
$DTF11 135# 1557
$DTFLG 131# 1537 1554 1556
$DTMTD 140#
$DTMTI 141#
$DTOPR 138# 1540
$DTSEQ 137# 1552
$DTSWR 142#
$DTT11 134#
$EMODE 92# 722
$PSIX 81 1181#
$PSIX1 1186# 1200
$PSIX2 1189# 1199
$PSIX3 1199# 1206
$PSIX4 1194 1202#
$PSIX5 1192 1208#
$STD 126# 435
$STL 128# 436
$STM 129# 437
$SV417 3416# 3416 3423
$SWITC 85 1521#
$SWU 1522 1530#
$UMODE 93# 725
.FHSLF 120# 231
.LOC 102# 193
CLRBFI 1479
CORE 2213 2218 2336 SEQ 0152
GET 80# 482 1208 1209 1210 1345 1346 1347 1348 1349 1366 2117 3427
GETT20 123# 233
GETTAB 221
GO 77# 81 82 83 84 85 260 262 269 272 297 304 309 313
324 326 330 360 370 395 451 453 459 461 463 464 473 481
501 510 526 532 552 668 675 677 700 701 750 759 761 766
767 798 809 823 847 947 1001 1171 1198 1203 1205 1223 1233 1242
1261 1278 1290 1321 1325 1339 1421 1436 1494 1510 1511 1567 1598 1628
1641 1658 1730 1828 1855 1870 1887 1898 1911 1928 1946 1947 1958 1961
1962 1967 1979 1980 2037 2058 2096 2097 2099 2100 2102 2103 2115 2124
2129 2133 2149 2150 2161 2165 2169 2172 2174 2178 2181 2235 2237 2239
2244 2247 2260 2269 2284 2298 2303 2306 2324 2337 2350 2351 2368 2447
2468 2489 2494 2555 2557 2558 2566 2573 2580 2588 2589 2593 2597 2598
2599 2602 2603 2604 2605 2638 2640 2642 2675 2680 2682 2686 2687 2691
2694 2697 2698 2703 2705 2708 2711 2713 2714 2738 2762 2790 2794 2819
2823 2825 2935 2948 2949 2952 2953 2972 2984 2995 3008 3017 3025 3048
3055 3063 3067 3074 3080 3081 3096 3099 3112 3116 3124 3126 3128 3132
3134 3138 3146 3147 3149 3167 3182 3205 3208 3212 3219 3238 3287 3291
3313 3314 3317 3320 3324 3330 3334 3403 3435 3447 3451 3459 3466 3471
3486 3491 3496 3501 3502 3505 3508 3526 3531 3541 3566 3584 3588 3593
3623 3625 3631 3653
GTJFN 122# 228
INCHRW 1447
INCHWL 1443
MSG 186# 910 914 1040
NAME 7 10
OUTCHR 1293
PMSG 188# 327 356 492 506 618 649 654 659 665 762 772 795 806
820 844 864 876 1298 1451 1595 1625 2352 2365 2370 2551 2584 2609
3626 3639 3650
PNTAL 82# 271 490 1662 2113
PNTMSG 81# 329 358 494 508 620 651 656 661 667 764 774 797 808
822 846 866 878 888 915 1042 1300 1453 1597 1627 2354 2367 2372
2553 2586 2611 3628 3641 3652
PTITLE 3989# 3994
PUT 79# 479 1181 1182 1183 1330 1331 1332 1333 1334 1357 2109 3414
RESET 121# 234
RTN 78# 387 465 475 483 534 616 647 781 785 789 894 1211 1222
1235 1287 1301 1350 1354 1356 1367 1431 1457 1480 1488 1513 1526 1531
1536 1547 1558 1563 1565 1568 1616 1619 1629 1639 1643 1649 1655 1702
1800 1805 1812 1841 1848 1883 1895 1903 1929 2134 2202 2228 2264 2274
2316 2325 2335 2340 2385 2511 2541 2576 2626 2648 2755 2763 2811 2827
2833 2973 2981 2985 3016 3086 3097 3100 3148 3150 3189 3202 3213 3253
3257 3282 3288 3300 3306 3318 3331 3336 3432 3444 3467 3509 3529 3534
3536 3563 3567 3601 3654 4126 4169 4172
SETDDT 318
SETNAM 265 3020
SWITCH 85# 698 709 787 1167 1727 2635
TTICHR 83# 385 389 889 1341 1462 1668 2355 2373 3642
TTIOCT 84# 867 879 1454