Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/subsm.seq
There are no other files named subsm.seq in the archive.
;DSQDA
SEQ 0001
IDENTIFICATION
--------------
PRODUCT CODE: AH-F481C-DD
DIAGNOSTIC CODE: DSQDA
PRODUCT NAME: DSQDAC0 2020 DIAG SUB PROG
VERSION: 0.3
DATE RELEASED: JUNE 1979
MAINTAINED BY: DIAGNOSTIC ENGINEERING
AUTHOR: JOHN R. KIRCHOFF
COPYRIGHT (C) 1978, 1979
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION
OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY OTHER
COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE
TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE
SOFTWARE SHALL AT ALL TIMES REMAIN IN DIGITAL EQUIPMENT
CORPORATION.
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.
DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE
USE OR RELIABILITY OF ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 1 SEQ 0002
TABLE OF CONTENTS
-----------------
1.0 ABSTRACT
2.0 REQUIREMENTS
2.1 EQUIPMENT
2.2 STORAGE
3.0 PROGRAM PROCEDURES
3.1 PROGRAM ASSEMBLY PROCEDURE
3.2 SUBROUTINE OPERATING PROCEDURE
4.0 DATA SWITCH FUNCTIONS
5.0 SUBROUTINE DESCRIPTIONS
5.1 PROGRAM SUBROUTINE INITIALIZATION
5.2 CONTROL SWITCH INITIALIZATION
5.3 MEMORY MAPPING SUBROUTINE
5.4 INTERRUPT SUBROUTINE
5.5 UUO SUBROUTINE
5.6 CONSOLE DATA SWITCH INPUT
5.7 TELETYPE INPUT
5.8 PRINT
5.9 SIXBIT TYPE-IN / PRINT
5.10 DEVICE CODE CHANGE SUBROUTINE
5.11 FILE SELECTION AND READ SUBROUTINES
MAINDEC-10-DSQDA.TXT (SUBSM) SEQ 0003
PAGE 2
TABLE OF CONTENTS (CON'T)
-------------------------
6.0 SUBROUTINE CALLS, REGISTERS, ETC.
6.1 SUBROUTINE CALLS
6.2 SUBROUTINE CONTROL WORDS, REGISTERS
6.3 SUBROUTINE MISC.
6.4 SUBROUTINE FATAL HALTS
7.0 DIAGNOSTIC ERROR HANDLER
7.1 GENERAL ERROR CALL FORMAT
7.2 ERROR CALL FORMAT
7.3 CALLING TH E ERROR MACRO
7.4 ERROR HANDLER SWITCH CONTROL
7.5 ERROR HANDLER BLOCK FLOW
7.6 ERROR HANDLER DIAGNOSTICS
8.0 SUBROUTINE PACKAGE INSTRUCTIONS
8.1 SUBROUTINE SYMBOLIC TAGS
8.2 SUBROUTINE PACKAGE DISTRIBUTION
9.0 MISCELLANEOUS
10.0 LISTINGS
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 3 SEQ 0004
1.0 ABSTRACT
--------
THE DECSYSTEM 2020 SUBROUTINES (PARAM.KSM,FIXED.KSM,STOR.KSM
& SUBSM.SAV/SUBUSR.SAV) PROVIDE THE BASIC SUBROUTINES AND
SOURCE FILES NEEDED TO FACILITATE DEVELOPMENT OF DIAGNOSTIC
AND UTILITY PROGRAMS FOR THE DECSYSTEM 2020 COMPUTER.
ALSO PROVIDED IS A DIAGNOSTIC ERROR HANDLER CAPABLE OF REPORTING
A STANDARD BUT FLEXIBLE FORMAT OF TEST DATA AND DIAGNOSTIC
INFORMATION. THE ERROR HANDLER ALSO INTERPETS AND CONTROLS
TEST SWITCHES SUCH AS TYPEOUT SUPPRESSION, CONTINUE
CONTINUE/HALT OR LOOP ON ERROR, AND BELL ON ERROR.
THIS SUBROUTINE PACKAGE CONSISTS OF FIVE FILES WHICH ARE:
PARAM - THIS FILE CONTAINS ALL PERTINENT SUBROUTINE PARAMETERS:
A - OPERATOR DEFINITIONS
B - MAIN CONTROL REGISTERS/WORDS
C - SUBROUTINE ASSIGNMENTS
FIXED - THIS FILE CONTAINS STANDARDIZED PROGRAM STARTING ADDRESSES
AND CONTROL PARAMETER LOCATIONS.
STOR - THIS FILE CONTAINS THE REQUIRED STORAGE SETUP INSTRUCTIONS
AND THE END COMMAND.
THE PARAM.KSM, FIXED.KSM & STOR.KSM ARE SOURCE MACRO FILES
WHICH ARE ASSEMBLED WITH THE APPROPRIATE DIAGNOSTIC MACRO
SOURCE FILES TO CREATE A DIAGNOSTIC SEGMENT LOAD MODULE.
THESE FILES PROVIDE THE COMMON DEFINITIONS AND ADDRESS
ASSIGNMENTS REQUIRED FOR RUN TIME DIAGNOSTIC AND
SUBROUTINE COMMUNICATIONS.
SUBUSR - USER MODE SUBROUTINE PACKAGE (DESCRIBED IN "SUBUSR" DOCUMENTATION)
SUBSM - EXEC MODE SUBROUTINE PACKAGE (DESCRIBED HERE)
THESE FILES ARE A SEPARATE LOAD MODULE AND
CONTAINS THE FOLLOWING SUBROUTINES:
A - PROGRAM SUBROUTINE INITIALIZATION
B - CONTROL SWITCH INITIALIZATION
C - INTERRUPT HANDLER
D - UUO HANDLER
E - CONSOLE DATA SWITCH INPUT
F - TELETYPE INPUT
G - PRINT
H - SIXBIT TYPE-IN / PRINT
I - DF10 CONTROL WORD PRINT
J - MEMORY MAPPING
K - DEVICE CODE CHANGE SUBROUTINE
L - DIAGNOSTIC ERROR HANDLER
MAINDEC-10-DSQDA.TXT (SUBSM) SEQ 0005
PAGE 4
2.0 REQUIREMENTS
------------
2.1 EQUIPMENT
---------
THE DECSYSTEM 2020 SUBROUTINES ARE CONFIGURED TO BE ABLE TO
OPERATE EITHER IN EXEC MODE (SUBSM) OR USER MODE (SUBUSR).
A NORMAL SYSTEM CONFIGURATION DEPENDING ON THE MAIN PROGRAM IS
REQUIRED.
2.2 STORAGE
-------
FIXED - THIS FILE CONTAINS THE FOLLOWING:
A - PROGRAM STARTING ADDRESSES, 30000 TO 30017
B - PROGRAM FIXED PARAMETER AREA, 30020 TO 30036
C - PROGRAM VARIABLE PARAMETER AREA, 30037 TO 30056
D - SPECIAL PROGRAM DISPATCH ADDRESSES, 30057 TO 30105
E - PROCESSOR CONTROL STORAGE, 30106 TO 30123
F - UUO DISPATCH TABLE, 30124 TO 30141
G - MEMORY MANAGEMENT STORAGE, 30124 TO 30216
H - PRINT CONTROL STORAGE, 30217 TO 30241
I - PRINT CHARACTERS, 30242 TO 30264
J - USER MODE OUTPUT FILE INFO, 30265 TO 30273
K - PUSHDOWN LIST, 30303 TO 30504
L - MISCELLANEOUS PARAMETERS, 30505 TO 30525
M - EXPANSION AREA, 30526 TO 30577
PARAM - THIS FILE CONSISTS OF DEFINITIONS AND REQUIRES NO CORE
LOCATIONS.
STOR - REQUIRED LOCATIONS VARIES DEPENDING UPON NUMBER OF VARIABLES
AND LITERALS USED IN THE MAIN PROGRAM.
A DEBUG AREA IS PROVIDED (IF DEBUG IS DEFINED) OF DEBUG(8) LOCATIONS.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 5 SEQ 0006
2.3 MEMORY UTILITIZATION MAP
------------------------
0 -----------------------------------------
I
I EXEC PAGE TABLE
I
1000 -----------------------------------------
I
I CONSOLE UCODE AND PRE-BOOT LOAD AREA
I
2000 -----------------------------------------
I
I SUBSM
I
10000 -----------------------------------------
I
I SMDDT
I
20000 -----------------------------------------
I
I SMMON
I
30000 ----------------------------------------
I
I FIXED
I
30600 ----------------------------------------
I
I DIAGNOSTIC SEGMENT
I
/
\
I
MEMLOW ----------------------------------------
I
I MEMORY AVAILABLE FOR TESTING
I
/
\
I
MAX MEM ----------------------------------------
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 6 SEQ 0007
3.0 PROGRAM PROCEDURES
------------------
3.1 PROGRAM ASSEMBLY PROCEDURE
--------------------------
THE PARAM, FIXED & STOR FILE ARE ASSEMBLED WITH THE MAIN PROGRAM
TO PRODUCE A COMPLETE PROGRAM. THE FILES ARE ASSEMBLED IN THE FOL-
LOWING ORDER:
A. PROGRAM TITLE FILE; CONTAINS PROGRAM IDENTIFICATION DATA
AND OPERATION PARAMETERS
B. SUBROUTINE PARAMETER FILE, PARAM; CONTAINS SUBROUTINE
PARAMETERS, OPERATOR DEFINITIONS, AND SUBROUTINE ASSIGN-
MENTS
C. PROGRAM STARTING FILE, FIXED; CONTAINS PROGRAM STARTING
ADDRESSES AND PROGRAM CONTROL PARAMETER LOCATIONS.
D. MAIN PROGRAM FILE; CONTAINS THE CODING FOR THE MAIN PROGRAM
F. STORAGE FILE, STOR; CONTAINS THE RESERVED STORAGE SETUP
1. LIT, PROGRAM CONSTANTS
2. SPECIFIED PROGRAM VARIABLES
3. VAR, PROGRAM VARIABLE WORDS
4. PROGRAM END STATEMENT (IF PGMEND DEFINED)
THE DIAGNOSTIC SEGMENT IS ASSEMBLED FOR EXEC AND/OR USER MODE
BY DEFINING THE FOLLOWING PARAMETERS:
A. EXCASB = 1 ;ASSEMBLE FOR EXEC MODE
B. USRASB = 1 ;ASSEMBLE FOR USER MODE
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 7 SEQ 0008
3.1 CON'T
-----
THE MEMORY MAPPING SUBROUTINES ARE CONDITIONALLY
ALLOWED DEPENDING UPON THE REQUIREMENTS OF THE MAIN PROGRAM.
THIS IS CONTROLLED BY DEFINING THE FOLLOWING SYMBOL IN THE
DIAGNOSTIC SEGMENT TITLE FILE:
1. MEMMAP=1 ;ALLOW MEMORY MAPPING SUBROUTINE
THE PROGRAM END STATEMENT IS ASSEMBLED INTO THE "STOR" FILE
IF THE FOLOWING SYMBOL IS DEFINED. IF IT IS NOT DEFINED
THERE THEN MUST BE A DIAGNOSTIC SEGMENT STORAGE FILE, ALLOWING
ADDITIONAL BUFFER AREAS, CONTAINING THE END STATEMENT.
1. PGMEND=1 ;ASSEMBLE PROGRAM END STATEMENT
THE FOLLOWING START ADDRESSES MUST BE USED IN THE
DIAGNOSTIC SEGMENT FOR INITIAL STARTING AND END OF
PASS RESTART ADDRESSES.
1. START ;INITIAL DIAGNOSTIC START
2. STARTA ;END OF PASS RESTART
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 8 SEQ 0009
3.1 CON'T
-----
THE FOLLOWING SYMBOLS ARE USED TO CONTROL THE ASSEMBLY
OF THE PROPER "FIXED" FILE:
SADR1 ;SPECIAL FEATURE START ADDRESS
SADR2 ;POWER FAIL RESTART ADDRESS (RESRT1)
SADR3 ;REENTER START ADDRESS
SADR5 ;CONTROL C TRANSFER ADDRESS
SADR6 ;ALTMODE TRANSFER ADDRESS
SADR7 ; START1 - STARTING INSTRUCTION
SADR8 ; START2 - "
SADR9 ; START3 - "
SADR10 ; START4 - "
SADR11 ; START5 - "
PAREA1 ;RANDOM BASE NUMBER
PAREA2 ;SYS EXER SWITCHES
PAREA3 ;SIXBIT PROGRAM NAME
PAREA4 ;SIXBIT PROGRAM NAME EXTENSION
PAREA5 ;OPTIONAL PARAMETER
PAREA6 ;OPTIONAL PARAMETER
ITERAT ;EXEC & USER MODE PROGRAM ITERATIONS
THE ABOVE SYMBOLS MUST BE DEFINED, AS 0 IF NOT USED OR AS
THE PROGRAM REQUIRED DATA.
TO PROVIDE A DEBUG PATCH AREA, DEFINE THE FOLLOWING
WORD IN THE PROGRAM TITLE FILE:
1. DEBUG= # ;# ='S SIZE OF PATCH AREA
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 9 SEQ 0010
3.3 PROGRAM STANDARIZED STARTING ADDRESSES
----------------------------------------
PROGRAM STARTING ADDRESSES
30000 BEGIN: JRST @MODLNK ;STAND-ALONE START
30001 $START: JRST START ;MODE CHECK STARTING ADDRESS
30002 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
30003 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
30004 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
30005 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
30006 REENTR: JRST SADR3 ;REENTER START
30007 DDTSRT: JRST @DDTLNK ;DDT START
30010 BEGIN1: JRST STARTA ;START NEXT PROGRAM PASS
30011 SBINIT: JRST @SUBLNK ;PGMINT LINKAGE
30012 RETURN: 0 ;RETURN ADDRESS STORAGE
30013 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
30014 START2: SADR8 ; "
30015 START3: SADR9 ; "
30016 START4: SADR10 ; "
30017 START5: SADR11 ; "
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 10 SEQ 0011
3.3 SUBROUTINE OPERATING PROCEDURE
------------------------------
THE ONLY SPECIAL OPERATING PROCEDURES REQUIRED ARE FOR THE SWITCH
INITIALIZATION AND PRINT SUBROUTINES:
A. SWITCH INITIALIZATION - THE OPERATIONAL SWITCHES FOR THE
PROGRAM ARE INITIALIZED AS FOLLOWS:
THE OPERATOR SPECIFIES THE SWITCH SETTINGS BY
RESPONSE ON THE TTY TO QUESTIONS AS FOLLOWS:
TELETYPE SWITCH CONTROL ? 0,S OR Y <CR> -
IF THE OPERATOR TYPES "Y", THE FOLLOWING QUESTIONS
ARE ASKED AND THE OPERATOR RESPONDS BY TYPING
THE ANSWER AS SIX OCTAL DIGITS REPRESENTING
THE DESIRED SWITCH SETTINGS.
LH SWITCHES -
RH SWITCHES -
IF THE OPERATOR TYPES "0", ZERO'S ARE USED FOR
THE SWITCH SETTINGS.
IF THE OPERATOR TYPES "S", PREVIOUSLY SET SWITCHES
ARE USED. THIS IS ONLY VALID UPON RESTARTING
OF AN INTERRUPTED PROGRAM.
B. PRINT INITIALIZATION - THE PRINT SUBROUTINE PROVIDES OUTPUT
TO THE TTY ONLY.
MAINDEC-10-DSQDA.TXT (SUBSM)
4.0 DATA SWITCH FUNCTIONS (STANDARD SET) PAGE 11 SEQ 0012
---------------------
SWITCH NO. SYMBOL STATE FUNCTION DESCRIPTION
---------- ------ ----- --------------------
0 (400000) ABORT 0 NORMAL OPERATION
1 ABORT AT END OF PASS
1 (200000) RSTART 0 NO FUNCTION
1 LIST TOTALS AND RESTART
2 (100000) TOTALS 0 NO FUNCTION
1 LIST TOTALS AND CONTINUE
3 (040000) NOPNT 0 NORMAL TYPEOUT
1 INHIBIT ALL PRINTING EXCEPT FORCED
4 (020000) N/A (PNTLPT) 0 NORMAL OUTPUT TO TTY
1 N/A ON KS10 IN EXEC MODE
5 (010000) DING 0 NO FUNCTION
1 RING TTY BELL ON ERROR (FORCED OUTPUT).
6 (004000) LOOPER 0 PROCEED TO NEXT TEST
1 ENTER SCOPE LOOP ON TEST ERROR
7 (002000) ERSTOP 0 NO FUNCTION
1 HALT ON TEST ERROR (EXIT, USER MODE).
8 (001000) PALERS 0 PRINT ONLY FIRST ERROR IN LOOP
1 PRINT ALL ERRORS
9 (000400) RELIAB 0 QUICK VERIFY MODE
1 RELIABILITY MODE
10 (000200) TXTINH 0 PRINT FULL ERROR MESSAGES.
1 INHIBIT COMMENT PORTION OF ERROR MESSAGES.
11 (000100) INHPAG 0 ALLOW FULL 256K/1024K ADDRESSING
1 INHIBIT PAGING; I.E. TREAT MEMORY AS DIRECT PHYSICAL
12 (000040) MODDVC 0 NO DEVICE CODE CHANGE
1 MODIFY DEVICE CODES
13 (000020) INHCSH 0 ALLOW CACHE USE
1 INHIBIT CACHE
14 (000010) OPRSEL 0 RUN DEFAULT OPERATIONS
1 OPERATOR TEST SELECTIONS
15 (000004) CHAIN 0 THIS SWITCH USED BY "SMMON", ETC.
TO CONTROL CHAIN OPERATIONS
16 (000002) RESERVED
17 (000001) RESERVED
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 12 SEQ 0013
5.0 SUBROUTINE DESCRIPTIONS
-----------------------
SEE SECTION 6.1 OR LISTING OF FILE 'PARAM' FOR CALLING PROCEDURES
FOR THE FOLLOWING SUBROUTINES.
5.1 PROGRAM SUBROUTINE INITIALIZATION
---------------------------------
THIS SUBROUTINE INITIALIZES THE FOLLOWING:
A - PUSH LIST
B - JOB DATA AREA
C - INTERRUPTS AND TRAPS
D - PRINT
E - TELETYPE INPUT
F - SWITCHES
G - MEMORY SIZE POINTERS (IN 'MEMSIZ' TABLE)
IN ADDITION THIS ROUTINE PRINTS THE PROGRAM NAME. 'PGMNAM' IS
THE TAG FOR THE ASCIZ MESSAGE. 'PGMNAM' MUST BE INCLUDED IN
THE MAIN PROGRAM FILE.
5.2 CONTROL SWITCH INITIALIZATION
-----------------------------
THIS SUBROUTINE INITIALIZES THE SWITCH SUBROUTINE.
5.3 MEMORY MAPPING SUBROUTINES
--------------------------
A. MAPMEM (PART OF PGMINT)
PERFORMS MEMORY MAPPING AND PRINTS A MEMORY MAP.
MEMORY MAPPING OF EITHER 1024K PAGED MEMORY OR 256K DIRECT
ADDRESSED MEMORY IS CONTROLLED BY THE MAPNEW FLAG.
MAPNEW = 0, DIRECT MEMORY ADDRESSING, 256K MAXIMUM
-1, 1024K PAGED MEMORY OPERATIONS
1024K PAGED MEMORY OPERATIONS WILL ONLY TAKE PLACE IF:
1. MAPNEW FLAG = -1 BEFORE "PGMINT"
DIRECT MEMORY OPERATIONS WILL TAKE PLACE IF ANY OF:
1. USER MODE OR SPECIAL USER MODE
2. PAGING INHIBITED
3. MAPNEW WASN'T -1 BEFORE "PGMINT"
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 13 SEQ 0014
5.3 MEMORY MAPPING SUBROUTINES (CON'T)
--------------------------
B. MEMSEG
DOES MEMORY SEGMENT SETUP FOR A REQUESTED SEGMENT OF MEMORY
** MAPNEW = -1
SETS UP TO 128K SEGMENT IN PAGE MAP
ARGUMENTS: 0-10 - MAP CORRESPONDING 128K SEGMENT
11-37 - NO MEMORY
GT 37 - MAP USING PHYSICAL ADDRESS
RETURNED IN AC0
0 - NO MEMORY AVAILABLE
HIGHEST VIRTUAL ADDRESS
BIT 0 SET IF NON-CONSECUTIVE CORE (IN A 128K SEGMENT) WAS
COMBINED. NON-CONSECUTIVE CORE WILL NOT BE COMBINED WHEN
DOING A PHYSICAL ADDRESS MEMSEG.
PAGE MAP SETUP SO VIRTUAL ADDRESS 400000 AND UP POINTS
TO MEMORY REQUESTED.
RETURNS +2
** MAPNEW = 0
ARGUMENTS: 0-10 - SETUP CORRESPONDING CHUNK FROM MEMSIZ TABLE
11-37 - RETURNS 0, MAXIMUM OF 8 CHUNKS IN 256K
USER MODE, 1-37 ALWAYS RETURNS 0
GT 37 - RETURNS MEMORY AT PHYSICAL ADDRESS
RETURNED IN AC0:
0 - NO MEMORY AVAILABLE
START ADDRESS,, END ADDRESS
RETURNS +1
C. MAPADR
PERFORMS VIRTUAL TO PHYSICAL ADDRESS TRANSLATION
ARGUMENT IN AC0: VIRTUAL ADDRESS
RETURNED IN AC0: PHYSICAL ADDRESS
SKIP RETURN IS NORMAL, NON-SKIP IS PAGE INACCESSIBLE
NOTE: IN USER MODE THE VIRTUAL ADDRESS IS RETURNED
SINCE A MAP INSTRUCTION IS ILLEGAL IN USER MODE AND
THE MONITOR DOES NOT PROVIDE A SUBSTITUTE.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 14 SEQ 0015
5.3 MEMORY MAPPING SUBROUTINES (CON'T)
--------------------------
D. MEMZRO
ZERO'S MEMORY FROM MEMLOW UP TO MAXIMUM
MAPNEW = 0, DIRECT MEMORY ZERO
-1, 1024K PAGED MEMORY ZERO
E. MAPSET
SETS UP PAGE MAP FOR VIRTUAL TO PHYSICAL
ADDRESS TRANSLATION.
ARGUMENTS IN AC0:
NEG - CLEAR PAGE MAP
0-37 - MAP CORRESPONDING 128K SEGMENT
F. MAPCNK
DOES ACTUAL MEMORY MAPPING.
ARGUMENTS:
AC0: START ADDRESS,,END ADDRESS
AC1: TEMPORARY CHUNK ADDRESS STORAGE POINTER
DOES FOUR WAY INTERLEAVE MAPPING BUT IF ANY OF THE
4-WAY ADDRESSES ARE NON-X THAT CHUNK IS MARKED NON-X.
MAPS BY 16K CHUNKS.
G. MAPPNT
DOES MEMORY MAP PRINTOUT USING PARAMETERS CONTAINED IN "MEMSIZ"
TABLE. NORMALLY DONE AS PART OF "MAPMEM" WHICH IS DONE BY
"PGMINT".
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 15 SEQ 0016
5.4 INTERRUPT SUBROUTINE
--------------------
THIS SUBROUTINE HANDLES PROCESSOR INTERRUPTS ON CHANNEL 1
IN EXEC MODE AND APR TRAPPING IN USER MODE. THE FOLLOWING
INTERRUPTS / TRAPS ARE PROCESSED:
A - PUSHDOWN OVERFLOW
B - MEMORY PROTECTION VIOLATION
C - NON-EXISTANT MEMORY
D - PARITY ERROR
E - TO PROCESS OTHER INTERRUPTS, CHANGE CONO'S / APRENB
ACCORDINGLY AND SETUP JRST'S IN THE INTERRUPT
DETERMINATION SEQUENCE TO GO TO THE PROPER HANDLING
ROUTINE, SUPPLIED BY USER.
THE FOLLOWING ADDITIONAL CONDITIONS ARE PROCESSED IN EXEC MODE:
POWER FAILURE ; WHEN A POWER FAILURE IS DETECTED THE
AC'S ARE SAVED AND THE PROGRAM HALTS. RESTART AT
'PFSTRT' TO RESTORE AC'S AND CONTINUE PROGRAM.
5.5 UUO SUBROUTINE
--------------
THIS SUBROUTINE HANDLES UUO'S IN THE RANGE 001-037 BY CHECKING
FOR VALIDITY AND DISPATCHING VIA JRST TO THE APPROPRIATE USER SUPPLIED
UUO HANDLING ROUTINE. IN ORDER TO USE UUO'S THE USER MUST SUPPLY
THE ROUTINE AND INSERT A POINTER TO THE ROUTINE IN THE
APPROPRIATE POSITION OF THE UUO DISPATCH TABLE. A UUO
ROUTINE IS EXITED BY USING A (JRST UUOEXT) OR (JRST UUOSKP) TO RETURN TO THE
UUO HANDLER. ILLEGAL UUO'S ARE HANDLED BY PRINTING OUT THE
PERTINENT INFORMATION AND HALTING.
UUOEXT PROVIDES FOR NORMAL RETURN FROM UUO (RETURNS UUO +1)
UUOSKP PROVIDES FOR A SKIP RETURN FROM UUO (RETURNS UUO +2)
THE UUO HANDLER IS ENTERED AND EXITED WITHOUT AFFECTING THE CONTENTS
OF THE AC'S UNLESS THE AC'S ARE CHANGED BY THE USER UUO ROUTINE.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 16 SEQ 0017
5.6 CONSOLE DATA SWITCH INPUT
-------------------------
THIS SUBROUTINE INPUTS THE CONSOLE DATA SWITCHES.
IF THE PROGRAM IS UNDER CONTROL OF THE DIAGNOSTIC MONITOR
(MONCTL = -PASS COUNT,X) THE RIGHT HALF OF MONCTL IS USED AS
THE RIGHT HALF OF THE CONSOLE SWITCHES. THE LEFT
HALF CONSOLE SWITCHES ARE USED DIRECTLY.
IF THE PROGRAM IS RUNNING UNDER THE SYSTEM EXERCISER,
THE CONTENTS OF (SWTEXR) IS USED AS THE CONSOLE
SWITCH SETTINGS.
5.7 TELETYPE INPUT
--------------
THIS SUBROUTINE INPUTS FROM THE TELETYPE. ACCEPTS ANY CHARACTER,
Y OR N, UP TO 12 OCTAL DIGITS, UP TO 11 DECIMAL DIGITS (CONVERTED
INTO AN OCTAL WORD), OR UP TO 9 CONVERTABLE DIGITS (DECIMAL
IF A PERIOD <.> FOLLOWS, OCTAL OTHERWISE).
ON NUMBER INPUTS, IF THE FIRST INPUT IS A MINUS THE
NUMBER IS RETURNED NEGATED. ALSO IF ONLY THE TERMINATION CHARACTER
(CR OR COMMA) IS TYPED, THEN 0 IS RETURNED IN AC0 WITH THE
"TTNBRF" FLAG STILL ZERO.
ASKS THE QUESTION 'Y OR N <CR> -' IF A YES/NO RESPONSE IS REQUESTED.
CARRIAGE RETURN OR COMMA (,) TERMINATES OCTAL, DECIMAL, OR CONVERT TYPE-IN.
IN EXEC MODE THE SUBROUTINE WILL WAIT FOR THE AMOUNT OF TIME
INITIALIZED IN (OPTIME) AND IF NO REPONSE WITHIN THAT TIME WILL
TAKE THE NO/ERROR RESPONSE RETURN.
IF A CONTROL C <^C> IS TYPED DURING TYPEIN (EXEC) A "JRST @CNTLC" IS
PERFORMED TO RESTART OR TERMINATE PROGRAM. 'CNTLC' IS PART OF THE
PROGRAM CONTROL PARAMETER AREA AND MAY BE SET TO THE USERS OPTION.
INTERRUPTED ADDRESS IS STORED IN "JOBOPC" LOCATION 130.
IF A CONTROL D <^D> IS TYPED DURING TYPEIN A JRST TO "DDT" IS
PERFORMED, IF "DDT" IS NOT LOADED A "HALT BEGIN" IS DONE.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 17 SEQ 0018
5.8 PRINT
-----
THIS SUBROUTINE PRINTS ASCII MESSAGES, DECIMAL NUMBERS, OR A
DESIGNATED AMOUNT OF OCTAL DIGITS. DECIMAL NUMBERS CAN EITHER BE
PRINTED WITH THE LEADING ZEROS SUPPRESSED OR WITH SPACES SUB-
STITUTED FOR THE LEADING ZEROS. A FULL OCTAL WORD CAN EITHER BE
PRINTED AS TWELVE CONSECUTIVE DIGITS OR IN HALF WORD FORMAT,
6 SP 6.
PRINTOUTS MAY BE EITHER IN NORMAL MODE, CAPABLE OF BEING SUPPRESSED
BY THE NOPNT SWITCH, OR IN THE FORCED OUTPUT MODE WHERE THE PRINT-
OUT GOES TO THE TTY EVEN IF THE LPT/LOGICAL DEVICE IS SELECTED OR
IF PRINTOUTS ARE SUPPRESSED BY THE NOPNT SWITCH.
THE PRINTED OUTPUT GOES TO THE TTY AND/OR LPT IN EXEC MODE AND TO
THE TTY AND/OR USER ASSIGNED LOGICAL DEVICE IN USER MODE. THE LOGICAL
OUTPUT FILE IN USER MODE IS '"PNTNAM"."PNTEXT"' AND THE LOGICAL DEVICE IS 'DEV'.
IN EXEC MODE TYPEOUT MAY BE SUPPRESSED, ON THE TTY, TILL THE NEXT
FORCED OUTPUT, TTY INPUT REQUEST OR TILL THE NEXT (^O) IS TYPED.
THE "PFORCE" COMMAND MAY BE DONE TO OVERRIDE CONTROL O WITHOUT
CAUSING ANY PRINTOUT.
IF A CONTROL C <^C> IS TYPED DURING PRINTOUT A "JRST @CNTLC"
IS PERFORMED AS DESCRIBED ABOVE (IN 5.7). (EXEC ONLY).
IF AN ALT-MODE IS TYPED DURING PRINTOUT (EXEC ONLY)
A "JRST @ALTMGO" IS PERFORMED TO TRANSFER TO USER'S ROUTINE, I.E. DDT.
INTERRUPTED ADDRESS STORED IN 'JOBOPC' FOR CONTINUATION USE.
IF A CONTROL D <^D> IS TYPED DURING PRINTOUT (EXEC ONLY)
A JRST TO "DDT" IS PERFORMED, IF "DDT" IS NOT LOADED
A "HALT BEGIN" IS DONE.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 18 SEQ 0019
5.9 SIXBIT TYPE-IN / PRINT
----------------------
A. TTSIXB - SIXBIT TYPE-IN
THIS ROUTINE INPUTS FROM THE TELETYPE AND CONVERTS ASCII
INPUT INTO A SIXBIT WORD. ACCEPTS UP TO SIX CHARACTERS,
TERMINATES WITH A CR OR A COMMA.
B. PNTSIX & PNTSXF - SIXBIT PRINT
THIS ROUTINE PRINTS OUT THE CONTENTS OF AC0 AS A SIXBIT WORD.
PRINTOUT MAY BE IN NORMAL OR FORCED PRINTOUT MODE.
C. SIXBTZ
THIS MACRO GENERATES SIXBIT DATA FOR PRINTING. PROVIDES A
CONSIDERABLE SAVING IN CORE STORAGE OVER ASCIZ. ALL SIXBIT
CHARACTERS MAY BE USED WITH THE FOLLOWING EXECPTIONS:
1. BACKARROW (_) IS INSERTED AS THE LAST CHARACTER IN THE
MESSAGE STRING TO SIGNIFY END OF TEXT.
2. UPARROW (^) SIGNIFIES CR/LF.
3. RIGHT SQUARE BRACKET (]) SIGNIFIES TAB.
THIS TEXT GENERATION METHOD IS USED BY THE DIAGNOSTIC ERROR
MACRO.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 19 SEQ 0020
5.10 DEVICE CODE CHANGE SUBROUTINE
-----------------------------
THIS SUBROUTINE ALLOWS RUN TIME CHANGE OF DEVICE CODES.
ROUTINE IS CALLED BY SETTING SWITCH "MODDVC".
TO USE THE ROUTINE PLACE A "MODPCU" CALL IN THE APPROPRIATE
PLACE IN THE PROGRAM AND HAVE THE FOLLOWING LIMIT PARAMETERS
DEFINED:
MODDVL = LOWER LIMIT OF DEVICE CODE SEARCH
MODDVU = UPPER LIMIT OF DEVICE CODE SEARCH
THE PROGRAM WILL ASK THE FOLLOWING QUESTIONS WHEN INVOKED:
CHANGE DEVICE CODES, Y OR N <CR> -
OLD DEVICE CODE -
NEW DEVICE CODE -
ANSWER QUESTIONS APPROPRIATELY. THE CHANGE DEVICE CODES QUESTION
WILL BE REASKED TILL YOU SAY NO, CHANGING AS MANY DEVICE CODES
AS WANTED.
TO CHANGE DEVICE CODES UNDER PROGRAM CONTROL, CALL
"MODPCP" WITH C(AC0) = [OLD,,NEW] DEVICE CODES.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 20 SEQ 0021
5.11 FILE SELECTION AND READ SUBROUTINES
-----------------------------------
THIS SUBROUTINE PROVIDES THE CAPABILITY OF SELECTING AND
READING DATA FILES. THE FILES MAY BE READ FROM ANY
OF THE DEVICES SUPPORTED BY THE APPROPRIATE DIAGNOSTIC MONITOR.
A. FSELECT
THIS SUBROUTINE CALL IS USED TO SELECT THE DESIRED FILE. UPON
CALL AC0 CONTAINS AN ADDRESS POINTER TO A TWO WORD SIXBIT FILE
NAME AND EXTENSION BLOCK. A SKIP RETURN IS NORMAL AND INDICATES
THAT THE DESIRED FILE HAS BEEN FOUND AND SETUP FOR SUBSEQUENT
READ OPERATIONS.
MOVEI AC0,FILSPC FILSPC: SIXBIT/FILE/
FSELECT SIXBIT/EXT/
JRST ERROR
'OK'
WHEN THE FILE IS FOUND A SKIP RETURN IS TAKEN WITH THE
CONTENTS OF AC0 INDICATING THE DEVICE TYPE.
DEVICE TYPE ASCII 36BIT 8BIT
0 = UNSPECIFIED Y Y Y
1 = N/A KS-10
2 = EXEC DISK Y Y Y
3 = N/A KS-10
4 = N/A KS-10
5 = USER (DISK) Y Y Y
6 = MAG TAPE Y Y Y
IF AN ERROR OCCURS OR THE FILE IS NOT FOUND A NON-SKIP RETURN
IS TAKEN WITH AC0 CONTAINING THE DEVICE TYPE OR THE FOLLOWING.
0 = NO "DIAGNOSTIC MONITOR" CAPABILITY
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 21 SEQ 0022
5.11 FILE SELECTION AND READ SUBROUTINES
-----------------------------------
B. FREAD
THIS SUBROUTINE CALL IS USED TO READ ASCII DATA FROM THE
SELECTED FILE. A SKIP RETURN IS NORMAL WITH AC0 CONTAINING
A 7 BIT ASCII DATA CHARACTER. A NON-SKIP RETURN INDICATES
AN ERROR OR END-OF-FILE WITH AC0 CONTAINING AN ERROR CODE.
NULLS IN THE DATA FILE ARE IGNORED.
FREAD ;CALL
JRST EOF ;AC0 HAS ERROR CODE
'OK' ;AC0 HAS 7 BIT ASCII CHARACTER
IF ERROR, AC0 CODE:
0 = END-OF-FILE
C. FRD36
THIS SUBROUTINE CALL IS USED TO READ 36 BIT DATA FROM THE
SELECTED FILE. DATA RETURNED IN AC0 IS 36 BITS, REST AS
"FREAD" ABOVE.
D. FRD8
THIS SUBROUTINE CALL IS USED TO READ 8 BIT DATA FROM THE
SELECTED FILE. DATA RETURNED IN AC0 IS 8 BITS, REST AS
"FREAD" ABOVE.
IF AN UNSUPPORTED FILE READ IS MADE TO A DEVICE AN END
OF FILE RETURN WILL OCCUR ON THE FIRST READ.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 22 SEQ 0023
6.0 SUBROUTINE CALLS, REGISTERS, ETC.
---------------------------------
6.1 SUBROUTINE CALLS
----------------
THE FOLLOWING COMMANDS ARE USED TO CALL THE VARIOUS SUBROUTINES.
PGMINT ;PROGRAM SUBROUTINE INITIALIZATION
FATAL ;FATAL PROGRAMMING HALT
ERRHLT ;PROGRAM ERROR HALT
GO ;SUBROUTINE CALL
RTN ;SUBROUTINE RETURN
PUT ;PUT DATA ON PUSH LIST
GET ;GET DATA FROM PUSH LIST
SWITCH ;READ CONSOLE/TTY SWITCHES
TTICHR ;TTY, INPUT ANY CHAR *** CALL SEQUENCE ***
TTIYES ;TTY, ASK YES-NO, SKIP RETURN Y TT----
TTINO ;TTY, ASK NO-YES, SKIP RETURN N NO/ERR RESPONSE RETURN
TTIOCT ;TTY, INPUT OCTAL WORD NORMAL RESPONSE RETURN
TTIDEC ;TTY, INPUT DECIMAL WORD
TTICNV ;TTY, INPUT CONVERTABLE WORD
TTLOOK ;TTY, KEYBOARD CHECK, SKIP RETURN IF TYPE-IN
TTALTM ;TTY, ALT-MODE CHECK, SKIP RETURN IF ALT-MODE
TTSIXB ;TTY, INPUT SIXBIT, UP TO SIX
TTYINP ;TTY, IMAGE MODE INPUT
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 23 SEQ 0024
6.0 SUBROUTINE CALLS, REGISTERS, ETC. (CON'T)
---------------------------------
6.1 SUBROUTINE CALLS (CON'T)
----------------
PNTA ;PRINT ASCII WORD
PNTAF ;FORCED
PNTAL ;PRINT ASCIZ LINE
PNTALF
PSIXL ;PRINT SIXBIT'Z LINE
PSIXLF
PNTMSG ;PRINT MESSAGE IMMEDIATE
PNTMSF
PSIXM ;PRINT SIXBIT'Z MESSAGE IMMEDIATE
PSIXMF
PNTCI ;PRINT CHARACTER IMMEDIATE
PNTCIF
PNTCHR ;PRINT LOWER 7 BITS OF AC0 AS ASCII CHAR
PNTCHF
PNT1 ;PRINT ONE OCTAL DIGIT
PNT1F
PNT2 ;PRINT TWO OCTAL DIGITS
PNT2F
PNT3 ;PRINT THREE OCTAL DIGITS
PNT3F
PNT4 ;PRINT FOUR OCTAL DIGITS
PNT4F
PNT5 ;PRINT FIVE OCTAL DIGITS
PNT5F
PNT6 ;PRINT SIX OCTAL DIGITS
PNT6F
PNT7 ;PRINT SEVEN OCTAL DIGITS
PNT7F
PNT11 ;PRINT 11(8) OCTAL DIGITS
PNT11F
PNTADR ;PRINT 22 BITS AS ADDRESS
PNTADF
PNTOCT ;PRINT FULL WORD OCTAL
PNTOTF
PNTHW ;PRINT OCTAL HALF WORDS, 6 SP 6
PNTHWF
PNTOCS ;PRINT OCTAL, SUPPRESS LEADING 0'S
PNTOCF
PNTDEC ;PRINT DECIMAL, SUPRESS LEADING 0'S
PNTDCF
PNTDS ;PRINT DECIMAL, SPACES FOR LEADING 0'S
PNTDSF
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 25 SEQ 0025
6.0 SUBROUTINE CALLS, REGISTERS, ETC. (CON'T)
---------------------------------
6.1 SUBROUTINE CALLS (CON'T)
----------------
PNTSIX ;PRINT SIXBIT WORD
PNTSXF
PNTCW ;PRINT DF10 CONTROL WORD
PNTCWF
PCRL ;PRINT CR/LF
PCRLF
PCRL2 ;PRINT CR/LF TWICE
PCRL2F
PSP ;PRINT SPACE
PSPF
PBELL ;PRINT BELL
PFORCE ;PRINT FORCE, CONTROL O OVERRIDE
PNTNM ;PRINT PROGRAM NAME IF NOT STAND-ALONE
DROPDV ;CLOSE LOGICAL FILE, USER MODE
PNTMGN ;KS-10 N/A
MAPMEM ;MAP MEMORY
MEMZRO ;ZERO MEMORY
MAPADR ;VIRTUAL TO PHYSICAL ADDRESS TRANSLATION
MEMSEG ;SETUP MEMORY SEGMENT
MAPCNK ;MAP MEMORY CHUNK
MAPSET ;SETUP PAGE MAP
MAPPNT ;PRINT MEMORY MAP
MODPCU ;CHANGE DEVICE CODES, OPERATOR
MODPCP ;CHANGE DEVICE CODES, PROGRAM
CLOKOP ;KS-10 N/A
MTROP ;KS-10 N/A
CINVAL ;KS-10 N/A
CFLUSH ;KS-10 N/A
CWRTBI ;KS-10 N/A
FSELECT ;FILE SELECTION
FREAD ;FILE READ - ASCII DATA
FRD36 ;FILE READ - 36 BIT DATA
FRD8 ;FILE READ - 8 BIT DATA
ENDUUO ;END OF PROGRAM PASS
EOPUUO ;END OF PROGRAM
MAINDEC-10-DSQDA.TXT (SUBSM)
6.2 CONTROL REGISTERS, WORDS PAGE 25 SEQ 0026
------------------------
USER = USER/EXEC MODE FLAG, 0 = EXEC MODE
-1 = USER MODE
KLFLG = PROCESSOR TYPE FLAG, 0 = KA10 OR KI10
-1 = KL10 OR KS-10
KAIFLG = PROCESSOR TYPE FLAG, 0 = KA10
-1 = KI10
SM10 = PROCESSOR TYPE FLAG, 0 = NOT KS-10
-1 = KS-10
CONSW = CONSOLE SWITCH SETTINGS
ITRCNT = EXEC - STANDALONE - NOT USED, RUN FOREVER
EXEC - CHAIN - RUN ITERATIONS FROM SCRIPT
USER - STANDALONE - RUN 'ITERAT' # OF ITERATIONS
USER - CHAIN - RUN ITERATIONS FROM SCRIPT
PDISF = PRINT DISABLED FLAG, INITIALLY SET TO 0,
1 = EXCEEDED ALLOWED PRINTOUTS
PNTENB = PRINT ENABLE, INITIALLY SET TO -5000, INCREMENTED
BY EACH CR PRINTED, WHEN 0 DISABLES NORMAL PRINTOUTS.
PNTSPC = PRINT SPACE CONTROL, 0 = DON'T PRINT A SPACE
FOLLOWING OCTAL PRINTOUT, 1 = PRINT A SPACE
FOLLOWING AN OCTAL PRINTOUT.
PNTFLG = PRINT FLAG, SET TO -1 WHILE IN PRINT ROUTINE.
ZERO (0) OTHERWISE.
PNTINH = EXEC TTY ALLOW ^O FEATURE, 0 = ALLOW
-1 = INHIBIT PRINT INPUT TTY CHECKS
MAINDEC-10-DSQDA.TXT (SUBSM)
6.2 CONTROL REGISTERS, WORDS (CON'T) PAGE 26 SEQ 0027
------------------------
TTNBRF = TELETYPE NUMBER INPUT DIGIT TYPED FLAG.
0 = TERMINATOR TYPED ONLY
-1 = VALID DIGIT TYPED
OPTIME = TELETYPE TYPE-IN WAIT TIME, EXEC MODE, INITIALIZED
AS NUMBER OF SECONDS OF WAIT TIME, 180 SEC.
CNTLC = ADDRESS USED BY "CONTROL C" TYPEIN DURING
TTY INPUT OR PRINT OUTPUT (EXEC MODE).
ALTMGO = ADDRESS USED BY "ALT-MODE" TYPEIN DURING
PRINT OUTPUT (EXEC MODE) (ALTGO DEFINED).
$CRLF = EXEC TTY FREE CRLF FLAG, 0 = FREE CRLF AFTER 72 CHARS
-1 = INHIBIT FREE CRLF
$TABF = EXEC TTY TAB CONVERSION FLAG, 0 = CONVERT TO SPACES
-1 = INHIBIT
MAPNEW = MEMORY MAPPING CONTROL FLAG
0 = DIRECT ADDRESSING ONLY
-1 = 1024K PAGED OPERATIONS
FLAG MUST BE SET TO -1 BEFORE "PGMINT" TO GET
1024K PAGED MAPPING. FLAG WILL BE ZERO'D IF DIRECT
ADDRESSING ONLY CAN TAKE PLACE.
MEMLOW = LOWEST USABLE ADDRESS, EVEN BREAK ABOVE JOBFF
MEMTOT = TOTAL SIZE OF MEMORY IN K (1024.)
MEMSIZ = TABLE OF MEMORY SEGMENT POINTERS
DF22F = DF10 CONTROL FLAG, SET/CLEARED BY USER
0 = 18 BIT DF10
-1 = 22 BIT DF10
A PUSH DOWN LIST IS PROVIDED OF 200(8) WORDS.
PLIST = PUSH DOWN LIST POINTER WORD; PUSH AC (P) SET TO
PLIST-PLISTE,PLIST.
PLISTS = PUSH DOWN LIST STORAGE
PLISTE = SIGNIFIES END OF PUSH DOWN LIST.
MAINDEC-10-DSQDA.TXT (SUBSM)
6.3 SUBROUTINE MISC. PAGE 28 SEQ 0028
----------------
ALL BASIC SUBROUTINES (SWITCH, TTI, PNT, ETC) EITHER ARE
ENTERED WITH THE REQUIRED ARGUMENTS IN AC0 OR EXITED WITH THE
REQUIRED RESULTS IN AC0. ALL OTHER AC'S ARE MAINTAINED
AS THEY WERE BEFORE THE SUBROUTINE.
THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
MOVEI NAME
PNTA ;OR PNTAF
CRLF, CRLF2, COMMA, PERIOD, SPACE, TAB, HYPEN(-), MINUS(-),
AST(*), ATSIN(@), LFP(LEFT PARAN), RTP(RIGHT PARAN),
PLUS(+), BELL, QUEST(?), SLASH(/), DOLLAR($).
6.4 SUBROUTINE FATAL HALTS
----------------------
THE FOLLOWING FATAL HALT ADDRESSES ARE USED TO REPORT TOTAL
INOPERATION OF THE KS-10 PROCESSOR. IF ANY OF THESE HALTS
HAPPEN YOU SHOULD THEN RUN MORE BASIC DIAGNOSTICS THAT DO NOT
REQUIRE THE SUBROUTINE PROGRAM.
ADDRESS TAG REASON
------- --- ------
1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
1011 PLERR ;FATAL PUSH LIST POINTER ERROR
1012 PLERR1 ;INITIAL PUSH LIST POINTER INCORRECT
1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
1014 SMBER ;SM10 INTERRUPT WITHOUT DOORBELL
1015 SMCER ;SM10 CLOCK INTERRUPT WITHOUT FLAG SET
1016 CPIERR ;CPU INITIALIZATION ERROR
1017 EOPERR ;END OF PROGRAM ERROR
1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
7.0 DIAGNOSTIC ERROR HANDLER
THE PDP-10 DIAGNOSTIC ERROR UUO HANDLER IS DESIGNED AS A
DIAGNOSTIC PROGRAM SUBROUTINE CAPABLE OF REPORTING A
STANDARD BUT FLEXIBLE FORMAT OF TEST DATA AND DIAGNOSTIC
INFORMATION. THE ERROR HANDLER ALSO INTERPRETS AND
CONTROLS TEST SWITCHES SUCH AS TYPEOUT SUPPRESSION,
CONTINUE/HALT OR LOOP ON ERROR, AND BELL ON ERROR.
TO PROVIDE PROGRAM COMPATABILITY, THE GIVEN FORMATS OF
ERROR, ERLOOP AND REPTUO SHOULD BE USED.
THIS WILL REDUCE THE AMOUNT OF SOURCE CODING REQUIRED AND
PROVIDE A STANDARDIZED FORMAT.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 28 SEQ 0029
7.1 GENERAL ERROR CALL FORMAT
THE GENERAL ERROR CALL FORMAT SPECIFIES UP TO SEVEN ITEMS
CONCERNING A TEST FAILURE.
THEY ARE:
1) NAME OF THE MAJOR TEST SEQUENCE BEING EXECUTED
2) NAME OF THE FUNCTION BEING TESTED
3) ADDRESS OF THE CORRECT TEST DATA RESULTS.
4) ADDRESS OF THE ACTUAL TEST DATA RESULTS
5) DIAGNOSTIC COMMENT CONCERNING THE TEST FAILURE.
6) ADDITIONAL ERROR PRINT ROUTINE
7) ADDRESS TO TRANSFER TO ON ERROR LOOP
THE INSTRUCTION AND CODE SEQUENCE SPECIFYING THESE SEVEN
ITEMS IS EXPLAINED BELOW:
ERUUO X,LITADR ;LINE 1, ERROR CALL
LITADR: XWD T,F ;LINE 2, TITLE AND FUNCTION
XWD C,A ;LINE 3, ADDR'S OF CORRECT AND ACTUAL TEST DATA
XWD D,PNT ;LINE 4, DIAGNOSTIC COMMENT & ADDITIONAL PRINT ROUTINE
ERLOOP ADR ;LINE 5, ERROR LOOP CONTROL
LINE 1: TRANSFERS TO THE ERROR HANDLER WITH X
SPECIFYING THE FORMAT OF THE OCTAL TEST DATA:
X=1 TYPE 1 DIGIT (RIGHTMOST OCTAL DIGIT)
X=2 TYPE 2 DIGITS
THRU
X=12 TYPE 10 DIGITS
X=13 TYPE 12 DIGITS AS 6 SPACE 6
X=14 TYPE 12 DIGITS (NO SPACE)
X=0 SAME AS X=14
LINE 2: LEFT HALF OF XWD WILL BE THE ADDRESS OF A
SIXBTZ LITERAL SPECIFYING THE NAME OF THE MAJOR
TEST SEQUENCE BEING EXECUTED.
RIGHT HALF OF XWD WILL BE THE ADDRESS OF A SIXBTZ
LITERAL SPECIFYING THE NAME OF THE FUNCTION BEING
TESTED.
MAINDEC-10-DSQDA.TXT (SUBSM)
(7.1 CONT'D) PAGE 29 SEQ 0030
LINE 3: LEFT HALF OF XWD SPECIFIES THE ADDRESS OF THE
CORRECT TEST DATA.
RIGHT HALF OF XWD SPECIFIES THE ADDRESS OF THE ACTUAL
TEST DATA.
LINE 4: LEFT HALF OF XWD WILL BE THE ADDRESS OF A SIXBTZ LITERAL
CONTAINING THE DESIRED DIAGNOSTIC COMMENT.
RIGHT HALF OF XWD WILL BE THE ADDRESS OF AN ADDITIONAL
ERROR PRINT ROUTINE.
LINE 5: TRANSFERS TO ERROR LOOP ROUTINE. TRANSFERS TO ADR FOR
SCOPE LOOP, CONTINUES IN-LINE IF LOOPING NOT DESIRED.
THE TYPEOUT RESULTING FROM THE GENERAL ERROR CALL FORMAT
(ASSUMING X=13) IS:
TEST PASS COUNT = #
PC=XXXXXX
ERROR IN TITLE-FUNCTION
CORRECT: XXXXXX XXXXXX
ACTUAL: YYYYYY YYYYYY
DISCREP: ZZZZZZ ZZZZZZ
DIAGNOSTIC COMMENT
ADDITIONAL COMMENT
PC IS THE ABSOLUTE ADDRESS OF THE ERROR CALL INSTRUCTION.
DISCREP IS THE OCTAL DISCREPANCY BETWEEN THE CORRECT AND ACTUAL
TEST DATA. (DISCREP IS THE XOR OF C AND A).
A ZERO ENTRY FOR ANY ITEM IN THE GENERAL ERROR CALL FORMAT WILL
SUPPRESS THE CORRESPONDING ITEM FROM TYPEOUT. THIS REQUIRES
THAT TEST DATA CAN NOT BE REPORTED FROM AC0. THE DATA DISCREP-
ANCY WILL BE TYPED ONLY IF BOTH CORRECT AND ACTUAL TEST DATA IS
SPECIFIED.
THE TITLE, FUNCTION, AND DIAGNOSTIC COMMENT PORTION OF THE
ERROR TYPEOUT MAY BE INHIBITED BY SETTING THE 'TXTINH'
SWITCH. THIS ALLOWS FOR SHORTER PRINTOUTS ON REPETITIVE
FAILURES.
THE TEST PASS COUNT IS ONLY PRINTED ON ERRORS WHICH
OCCUR WHEN THE PASS COUNTER IS NON-ZERO.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 30 SEQ 0031
7.2 ERROR CALL FORMAT
TO REDUCE THE AMOUNT OF SOURCE CODE REQUIRED TO GENERATE THE GENERAL
ERROR CALL FORMAT, A MACRO CALL IS DEFINED WHICH ENABLES THE ITEMS
TO BE SPECIFIED IN A CONDENSED FORMAT. THIS SECTION EXPLAINS THE
USE OF THE MACRO CALL THRU AN EXAMPLE FOLLOWED BY EXPLANATION.
;EXAMPLE OF ERROR CALL MACRO FORMAT
T= SIXBTZ <CHAN TERM TEST>
C=10
A=CHNWRD+1
CHNTST: MOVE [XWD -1,BUFF-1]
MOVEM CHNWRD ;SET UP CW TO TRANSFER ONE WORD.
SETZM CHNWRD+1 ;TERMINATE CHANNEL COMMAND LIST.
MOVE C,[XWD 0,BUFF+1]
DATAO X,Y ;INTIATE TRANSFER
CONSO X,DONE ;SKIP IF TRANSFER COMPLETE
JUMPA .-1
CAME C,CHNWRD+1 ;SKIP IF O.K.
MACROA: ERROR (CHNTST,13,C,A,CHAN STOP,CHAN TERM WORD INCORRECT)
REPTUO CHNTST ;REPEAT TEST SECTION
CODE ;CONTINUATION OF PROGRAM
*
*
;END OF EXAMPLE
THE MACRO CALL:
ERROR (CHNTST,13,C,A,CHAN STOP,CHAN TERM WORD INCORRECT)
WILL RESULT IN THE FOLLOWING ERROR REPORT:
::::::::::::::::::::::::::::::::::::::::
TEST PASS COUNT = #
PC=XXXXXX
ERROR IN CHAN TERM TEST-CHAN STOP
CORRECT: XXXXXX XXXXXX
ACTUAL: YYYYYY YYYYYY
DISCREP: ZZZZZZ ZZZZZZ
CHAN TERM WORD INCORRECT
::::::::::::::::::::::::::::::::::::::::
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 31 SEQ 0032
(7.2 CONT'D)
THE SYMBOL T MAY BE REDEFINED AS MANY TIMES AS A NEW TEST
TITLE IS DESIRED.
THE FOLLOWING MAY BE USED TO CONTROL TEST ITERATION AND
LOOP ON ERROR.
ERLOOP S
REPTUO R
S IS THE TAG TO BE JUMPED TO WHEN AN ERROR OCCURS AND THE
SCOPE LOOP SWITCH (LOOPER) IS SET.
R IS THE TAG TO BE JUMPED TO FOR TEST SECTION ITERATION. USEFUL
TO CHECK CRITICAL TIMING, ETC. C(REPTU) = NUMBER OF ITERATIONS.
THE ERROR CALL ARGUMENTS ARE AS FOLLOWS:
ERROR ADR,X,C,A,F,D,ERR
ADR IS THE ADDRESS TO TRANSFER TO FOR ERROR LOOPING
C IS THE ADDRESS CONTAINING THE CORRECT DATA.
A IS THE ADDRESS CONTAINING THE ACTUAL TEST DATA.
TEST DATA MAY RESIDE IN AN AC (OTHER THAN ZERO), OR IN CORE MEMORY.
ENTERING EITHER C OR A AS ZERO DELETES THE CORRESPONDING TYPEOUT.
T MUST BE DEFINED BY THE STATEMENT:
T= SIXBTZ <TEST NAME> WHERE TEST NAME IDENTIFIES THE MAJOR
TEST SEQUENCE BEING EXECUTED.
ERR IS THE ADDRESS OF AN ADDITIONAL ERROR PRINT ROUTINE.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 32 SEQ 0033
7.3 CALLING THE ERROR MACRO
THE FOLLOWING EXAMPLE ILLUSTRATES THE MACRO CALL FORMATS TO
BE USED TO ACHIEVE VARIOUS COMBINATIONS OF TEST FAILURE DATA.
A. FULL ERROR FORMAT (ASSUME T ALREADY DEFINED)
ERROR (ADR,14,C,A,FUNCTION,DIAG. COMMENT)
RESULTING TYPEOUT
TEST PASS COUNT =
PC=
ERROR IN TEST NAME-FUNCTION
CORRECT:
ACTUAL:
DISCREP:
DIAG. COMMENT
B. NO DIAGNOSTIC COMMENT
ERROR (ADR,14,C,A,FUNCTION,)
RESULTING TYPEOUT
TEST PASS COUNT =
PC=
ERROR IN TEST NAME-FUNCTION
CORRECT:
ACTUAL:
DISCREP:
C. NO FUNCTION
ERROR (ADR,13,C,A,,DIAG. COMMENT)
RESULTING TYPEOUT
TEST PASS COUNT =
PC=
ERROR IN TEST NAME-
CORRECT:
ACTUAL:
DISCREP:
DIAG. COMMENT
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 33 SEQ 0034
D. NO FUNCTION, NO DIAGNOSTIC COMMENT
ERROR (ADR,13,C,A,,)
RESULTING TYPEOUT
TEST PASS COUNT =
PC=
ERROR IN TEST NAME-
CORRECT:
ACTUAL:
DISCREP:
E. MULTILINED DIAGNOSTIC COMMENT AND/OR COMMENTS
CONTAINING DELIMITING CODES.
ERROR (ADR,6,C,A,FUNCTION,<DIAG. COMMENT^CONTAINING MULTIPLE LINES,^OR DELIMITING CODES (, OR ; . >)
RESULTING TYPEOUT
TEST PASS COUNT =
PC=
ERROR IN TEST NAME-FUNCTION
CORRECT:
ACTUAL:
DISCREP:
DIAGNOSTIC COMMENT
CONTAINING MULTIPLE LINES,
OR DELIMITING CODES (, OR ; .
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 34 SEQ 0035
7.4 ERROR HANDLER SWITCH CONTROL
THE ERROR HANDLER INTERPRETS SWITCHES 3, 5, 6, 7, 8 AND 10 IN THE
FOLLOWING MANNER.
SWITCH 3: 0 NO FUNCTION
1 BYPASS ERROR REPORT SEQUENCE. TEST
SWITCHES 5,6 & 7.
SWITCH 5: 0 NO FUNCTION
1 RING TTY BELL ON ERROR
SWITCH 6: 0 PROCEED TO NEXT TEST WHEN ERROR IS DETECTED (SET SCOPE TO ZERO).
1 ENTER SCOPE LOOP ON FAILING TEST (SET SCOPE TO -1).
SWITCH 7: 0 NO FUNCTION
1 HALT ON ERROR AFTER REPORTING ERROR (EXEC MODE),
RESUME NORMAL SEQUENCE BY PRESSING 'CONTINUE'.
IN USER MODE, THIS SWITCH CAUSES A CALL AC,EXIT
TO BE EXECUTED. NORMAL TEST SEQUENCE MAY BE RESUMED
BY TYPING .CONT.
SWITCH 8: 0 PRINT ONLY FIRST ERROR WHEN ERRORS OCCUR AT
SAME PC. (PER PASS)
1 PRINT ALL ERRORS, EVEN IF LOOPING AND SAME
ERROR OCCURS.
SWITCH 10: 0 PRINT FULL ERROR MESSAGES.
1 INHIBIT COMMENT PORTION OF ERROR MESSAGES.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 35 SEQ 0036
7.5 ERROR HANDLER BLOCK FLOW
ERUUO X,LITADR***>%ERUUO: (TYPE ERROR REPORT?)
*
*
*
GET <ADDRESS> OF ERROR CALL
GO TO %ERSW1 IF<ADDRESS>=(ERRPC)
IF NOT, TEST SWITCH 3. IF SWITCH 3
IS SET GO TO %ERSW1.
IF NOT, STORE <ADDRESS> IN ERRPC AND
REPORT TEST ERROR DATA.
*
*
*
%ERSW1: (HALT ON ERROR?)
*
*
GO TO %ERSW2 IF DATA SWITCH 7=0
IF EXEC MODE AND SWITCH 7=1, RESTORE
ORIGINAL AC CONTENTS AND EXECUTE
HALT, (PRESS 'CONT' TO CONTINUE FROM ERROR).
IF USER MODE AND SWITCH 7=1, EXECUTE
CALL 1, (EXIT), (TYPE CONT TO CONTINUE
FROM ERROR).
*
*
*
%ERSW2: (SCOPE LOOP ON ERROR?)
IF SWITCH 6=0, SET SCOPE TO ZERO. GO TO
%ERSW3
IF SWITCH 6=1, SET SCOPE TO -1, ADD
ONE TO %ERCNT. IF EXEC MODE, DISPLAY
ERROR PC, ERROR COUNT IN MI LIGHTS. GO TO %ERSW3.
*
*
*
%ERSW3: (RING BELL ON ERROR?)
IF SWITCH 5=0, GO TO %EXCAL
IF SWITCH 5=1, OUTPUT BELL CHAR. GO TO %EXCAL
*
*
*
%EXCAL: (EXIT FROM ERROR CALL)
RESTORE SAVED AC'S
RETURN TO <ADDRESS+1> OF ERROR CALL.
MAINDEC-10-DSQDA.TXT (SUBSM)
PAGE 36 SEQ 0037
7.6 ERROR HANDLER DIAGNOSTICS
IF THE X ARGUMENT IN THE (ERUUO X,LITADR) IS NOT 0 THRU 14, THE
FOLLOWING MESSAGE IS TYPED AND A HALT (EXIT) IS EXECUTED.
FATAL PROGRAM ERROR AT ######
(###### POINTS TO ERROR HANDLER)
PROGRAM EXECUTION SHOULD NOT BE CONTINUED UNTIL PROBLEM
HAS BEEN CORRECTED.
8.0 SUBROUTINE PACKAGE INSTRUCTIONS
-------------------------------
8.1 SUBROUTINE PACKAGE DISTRIBUTION
-------------------------------
THE PARAM, FIXED & STOR FILES ARE SUPPLIED AS ASCII SOURCE FILES
WHICH SHOULD BE ASSEMBLED WITH THE MAIN PROGRAM SOURCE FILE.
THE DECSYSTEM 2020 SUBROUTINE PROGRAM LOAD MODULE IS SUPPLIED
TO BE USED WITH THE DIAGNOSTIC SEGMENT LOAD MODULES
TO PROVIDE RUN TIME SUBROUTINE SUPPORT.
THE SUBROUTINE PACKAGE SHOULD BE USED AS A STANDARD
SUBROUTINE SET AND ANY CORRECTIONS OR IMPROVEMENTS TO IT
SHOULD BE CLEARED WITH THE DIGITAL EQUIPMENT CORP. DIAGNOSTIC
ENGINEERING GROUP.
9.0 MISCELLANEOUS
-------------
10.0 LISTINGS
--------
HISTORY FILE FOR SUBSM SEQ 0038
----------------------
---------------------------------------------------------------
CODE: MAINDEC-10-SUBSM
TITLE: DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE PROGRAM
VERSION: 0.3
DATE: JUNE 1979
REASON: REVISED TO REMOVE "PNTLPT" SWITCH FROM EXEC MODE BECAUSE
THERE IS NOT CODE ROOM TO SUPPORT THE LINE PRINTER.
---------------------------------------------------------------
VERSION: 0.2
DATE: DECEMBER 1978
REASON: REVISED TO FREE LOCATIONS 1000 TO 1777 FOR THE CONSOLE
UCODE AND PRE-BOOT LOAD AREAS AND ALLOW THIS AREA TO BE
USED FOR POWER-FAIL RECOVERY WITHOUT CLOBBERING
THE SUBROUTINE PROGRAM.
CORRECTED POWER FAIL RECOVERY
---------------------------------------------------------------
VERSION: 0.1
DATE: APRIL 1978
REASON: ORIGINAL RELEASE OF THIS PROGRAM FOR KS-10.
---------------------------------------------------------------
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 1
SEQ 0039
DOCUMENT
**************
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^
**************
COPYRIGHT 1979
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASS. 01754
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 2
SEQ 0040
TABLE OF CONTENTS
*******************
24 SPECIAL ASSEMBLY PARAMETERS
129 CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978
164 PROGRAM/SUBROUTINE PARAMETERS
366 ERROR HANDLING UUO DEFINITIONS
404 STANDARD PROGRAM ASSIGNMENTS
864 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978
1192 *CONTRL* MAIN SUBROUTINE PACKAGE CONTROL
1400 *CONTRL* UUO HANDLING SUBROUTINE
1605 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER
1927 PROCESSOR TYPE DETERMINATION
1980 "DIAMON" FILE SELECTION & READ
2025 PROGRAM HALTS
2076 PROGRAM NAME PRINTER
2126 *SUBRTN* INTERRUPT HANDLING ROUTINES
2427 *SUBRTN* END OF PASS/END OF PROGRAM ROUTINES
2463 *SUBRTN* MEMORY CONTROL
3041 *SUBRTN* CONSOLE DATA SWITCH INPUT SUBROUTINE
3255 *SUBRTN* TELETYPE INPUT ROUTINES
3539 *SUBRTN* TELETYPE YES/NO TYPE-IN ROUTINE
3585 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE
3705 *SUBRTN* TELETYPE SIXBIT INPUT ROUTINE
3743 *SUBRTN* PRINT SUBROUTINES
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 3
SEQ 0041
TABLE OF CONTENTS
*******************
4155 *SUBRTN* CHARACTER OUTPUT ROUTINES
4388 COMMUNICATION ROUTINES
4860 *STOR* RESERVED STORAGE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 4
SEQ 0042
1 MAINDEC-10-DSQDA (SUBSM)
17 COPYRIGHT 1978, 1979
DIGITAL EQUIPMENT CORPORATION
MARLBORO, MASS.
21 JOHN R. KIRCHOFF
*****************************************************************
24 SPECIAL ASSEMBLY PARAMETERS
*****************************************************************
26 ASSEMBLY PARAMETERS
55 A MACRO TO DEFINE DEVICE NEUMONICS TO OCTAL DEVICE CODE
59 DEFINITIONS USED BY THE SUBROUTINE PACKAGE
73 SM10 EPT COMMUNICATION AREA
89 CONSOLE TTY COMMUNICATION
*****************************************************************
129 CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978
*****************************************************************
134 DATA SWITCHES
LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
*****************************************************************
164 PROGRAM/SUBROUTINE PARAMETERS
*****************************************************************
167 SPECIAL SUBPROGRAM LINKAGES
178 SPECIAL SUBROUTINE FATAL HALTS
USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
210 SUBROUTINE INITIALIZATION CALL
216 HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
223 TERMINAL INPUT UUO'S
ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
239 TERMINAL OUTPUT UUO'S.
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 5
SEQ 0043
305 SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
CONSERVES CORE OVER ASCIZ
310 CONSOLE SWITCH INPUT UUO.
READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
USER MODE.
316 CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
322 KS-10 CACHE OPERATION UUO'S
327 END OF PASS/PROGRAM UUOS
330 DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
335 MEMORY MANAGEMENT UUO'S
UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
ADDRESS CONVERSION, ETC...
347 DEVICE CODE MODIFICATION UUO
ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
IOT'S TO A DIFFERENT DEVICE CODE.
357 "DIAMON" FILE SELECTION AND READ UUOS
*****************************************************************
366 ERROR HANDLING UUO DEFINITIONS
*****************************************************************
369 ERROR HANDLER PARAMETERS
378 THE ERROR HANDLER MACROS
380 A MACRO TO REPORT AN ERROR AND LOOP
391 A MACRO TO REPORT AN ERROR AND NOT LOOP
*****************************************************************
404 STANDARD PROGRAM ASSIGNMENTS
*****************************************************************
407 ACCUMULATORS
415 PDP-10 STANDARD PC CONTROL FLAGS (SAVED ON PUSHJ, JSR, ETC..)
431 PDP-10 STANDARD ADDRESS ASSIGNMENTS
438 JOB DATA AREA EXTERNALS (OLD DEFINITIONS)
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 6
SEQ 0044
456 JOB DATA AREA EXTERNALS (NEW DEFINITIONS)
475 USER MODE APR ASSIGNMENTS (FOR "APRENB" CALL)
487 USER MODE PRINT OUTPUT CHANNEL ASSIGNMENTS (FOR SUBROUTINE PACKAGE)
THE USER SHOULD BE CAUTIONED NOT TO USE THESE CHANNELS WHEN
USING THE SUBROUTINE PACKAGE AND CODING USER MODE PROGRAMS.
495 PDP-10 SPECIAL COMPATABILITY ASSIGNMENTS
502 PDP-10 STANDARD APR CONO ASSIGNMENTS
508 PDP-10 STANDARD PI CONO ASSIGNMENTS
519 PDP-10 STANDARD PI CONI ASSIGNMENTS
525 PDP-10 STANDARD PI CHANNEL ASSIGNMENTS
537 KS10 CONO APR 000 ASSIGMENTS
575 KS10 CONI APR 000 ASSIGMENTS (LEFT HALF)
585 KS10 CONI APR 000 ASSIGMENTS (RIGHT HALF)
602 KS10 DATAO APR 000 ASSIGMENTS (LEFT HALF)
612 KS10 DATAO APR 000 ASSIGMENTS (RIGHT HALF)
617 KS10 DATAI APR 000 ASSIGMENTS (LEFT HALF)
627 KS10 DATAI APR 000 ASSIGMENTS (RIGHT HALF)
633 KS10 BLKO APR 000 ASSIGMENTS (IMMEDIATE MODE)
640 KS10 BLKI APR 000 ASSIGMENTS
648 KS10 CONO PI 004 ASSIGMENTS
668 KS10 CONI PI 004 ASSIGMENTS (LEFT HALF)
680 KS10 CONI PI 004 ASSIGMENTS (RIGHT HALF)
699 KS10 DATAO PAG 010 ASSIGMENTS (LEFT HALF)
708 KS10 DATAO PAG 010 ASSIGMENTS (RIGHT HALF)
714 KS10 DATAI PAG 010 ASSIGMENTS (LEFT HALF)
723 KS10 DATAI PAG 010 ASSIGMENTS (RIGHT HALF)
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 7
SEQ 0045
729 KS10 CONO PAG 010 ASSIGMENTS
738 KS10 CONI PAG 010 ASSIGMENTS
747 KS10 BLKO PAG 010 ASSIGMENTS (IMMEDIATE MODE)
751 KS10 EXEC PAGE MAP PAGE ASSIGNMENTS
766 KS10 USER PAGE MAP PAGE ASSIGNMENTS
795 KS10 I/O INSTRUCTIONS
826 KS10 UNIBUS I/O INSTRUCTIONS
843 KS10 UNIBUS BIT NUMBERS
*****************************************************************
864 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978
*****************************************************************
869 PROGRAM STARTING ADDRESSES
THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
902 PROGRAM FIXED PARAMETER AREA
922 PROGRAM VARIABLE PARAMETER AREA
942 SPECIAL PROGRAM DISPATCH ADDRESSES
973 PROCESSOR CONTROL STORAGE
993 UUO DISPATCH TABLE
1013 MEMORY MANAGMENT STORAGE
1023 PRINT CONTROL STORAGE
1046 THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
MOVEI NAME
PNTA ;OR PNTAF
1077 USER MODE OUTPUT FILE INFORMATION
1086 DISK UPDATE MODE FILE INFORMATION
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 8
SEQ 0046
1094 PUSHDOWN LIST CONTROL INFORMATION
1102 POWER LINE CLOCK FREQUENCY FLAG
1108 KL10 CACHE CONTROL FLAGS
1115 NUMBER INPUT DIGIT FLAG
1121 KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
1127 ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
1135 SPECIAL USERS UUO INTERCEPT INSTRUCTION
1140 USER MODE MONITOR TYPE FLAG
1146 SPECIAL USERS MUUO INTERCEPT INSTRUCTION
1152 SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
1158 "SWITCH" CALL USAGE CONTROL
1164 SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
1171 SM10 (KS-10) PROCESSOR TYPE FLAG
1177 RIGHT HALF SWITCHES PROMPT TABLE ADDRESS
1183 SPECIAL FUTURE EXPANSION ROOM
1187 END OF FIXED STORAGE
*****************************************************************
1192 *CONTRL* MAIN SUBROUTINE PACKAGE CONTROL
*****************************************************************
1197 SPECIAL SUBPROGRAM LINKAGES
1216 LOAD COPY OF START PARAMETERS AT 1000 TO 1020
1241 INITIALIZE THE SUBROUTINE PACKAGE
1263 SPECIAL SUBROUTINE ONLY INITIALIZATION
1295 CONTRL* SUBROUTINE PACKAGE INITIALIZATION
1312 INITIALIZE PROCESSOR FLAGS AND PUSH LIST
1333 INITIALIZE SUBROUTINES
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 9
SEQ 0047
1354 $MODCK -- THIS ROUTINE IS USED TO DETERMINE THE PROPER OPERATIONAL
MODE FOR A DIAGNOSTIC JUST LOADED. IT WILL CHECK WHETHER OR NOT
IT IS IN USER MODE OR EXEC MODE. AND THEN WILL CHECK TO SEE WHAT
MODE HAS BEEN SELECTED FOR THIS TEST TO RUN IN. THIS MODE IS SELECTED
AT ASSEMBLY TIME.
1384 $MAPEX - SM10 0 TO 112K PAGE MAP SETUP
0 TO 112K POINTS TO ITSELF
*****************************************************************
1400 *CONTRL* UUO HANDLING SUBROUTINE
*****************************************************************
1403 UUO INITIALIZATION
1414 THIS ROUTINE FIELDS ALL TRAPPED UUO'S AND SELECTS BETWEEN SUBROUTINE
PACKAGE UUO'S (037), TEST ERROR UUO'S (034, 035 & 036), AND DIAGNOSTIC
PROGRAM SEGMENT UUO'S (001 - 033).
AC0 IS SAVED ON THE STACK INITIALLY
1468 UUO ERROR EXIT ROUTINE
1498 MONITOR UUO ERROR EXIT ROUTINE
1517 DECODE ROUTINE FOR SUBROUTINE UUO'S (037)
*****************************************************************
1605 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER
*****************************************************************
1608 THE DIAGNOSTIC ERROR HANDLER IS A SUBROUTINE CAPABLE OF REPORTING
A STANDARD BUT FLEXIBLE FORMAT OF TEST DATA AND DIAGNOSTIC
INFORMATION. THE ERROR HANDLER ALSO INTERPRETS AND CONTROLS TEST
SWITCHES SUCH AS TYPEOUT SUPPRESSION, CONTINUE/HALT OR LOOP ON
ERROR, AND BELL ON ERROR.
1616 ERROR LOOPING ROUTINE
EITHER CONTINUES IN-LINE
OR TRANSFERS TO E FIELD OF UUO
CHECKS PC OF ERROR TO DETERMINE LOOPING
1662 REPEAT LOOP ROUTINE
EITHER CONTINUES IN-LINE
OR TRANSFERS TO E FIELD OF UUO
1672 COMMON ERROR HANDLER AC SAVE/RESTORE
1687 ERROR REPORTING ROUTINE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 10
SEQ 0048
1714 BYPASS ERROR REPORT IF NOPNT SWITCH IS SET
1766 GET X (AC FIELD) FROM ERROR UUO. PASS X ARGUMENT ONTO $PRINT.
1797 AC1 NOW CONTAINS THE CORRECT TEST RESULTS.
1822 AC1 CONTAINS THE ACTUAL TEST RESULTS.
1841 PICK UP AND REPORT DIAGNOSTIC COMMENT IF ANY.
1872 EXAMINE DATA SWITCHES (OR SOFTWARE SWITCHES IF USER MODE).
1884 EXECUTE HALT IF SWITCH ERSTOP SET.
1896 EXAMINE LOOPER SWITCH AND SCOPE LOOP ON ERROR IF SET.
1904 RING TTY BELL IF DING SWITCH IS SET.
1911 RETURN TO ERROR CALL ADDRESS+1
*****************************************************************
1927 PROCESSOR TYPE DETERMINATION
*****************************************************************
*****************************************************************
1980 "DIAMON" FILE SELECTION & READ
*****************************************************************
2006 "DIAMON" FILE READ
*****************************************************************
2025 PROGRAM HALTS
*****************************************************************
2028 SUBROUTINE ERROR HALT
2052 FATAL PROGRAM ERROR HALT
*****************************************************************
2076 PROGRAM NAME PRINTER
*****************************************************************
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 11
SEQ 0049
*****************************************************************
2126 *SUBRTN* INTERRUPT HANDLING ROUTINES
*****************************************************************
2129 PUSH DOWN LIST EXCESSIVE POPJ ROUTINE
2137 INTERRUPT ROUTINE INITIALIZATION
2155 DIAG SEGMENT TRANSFER POINT FOR INTERRUPT ROUTINES
2180 COMMON INTERRUPT HANDLERS
2190 PRINT CAUSE AND OTHER PERTINENT INFO
2216 COMMON INTERRUPT ROUTINE
2229 RESTORE PROCESSOR ON POWER FAIL RESTART
2296 SM10 PUSHDOWN OVERFLOW TRAP ROUTINE
2305 SM10 PAGE FAIL TRAP ROUTINE
2319 SM10 TRAP 3 ROUTINE
2329 SM10 COMMON TRAP & MMUO SETUP
2349 SM10 INTERRUPT ROUTINE
2378 SM10 INTERRUPT AND TRAP INITIALIZATION
*****************************************************************
2427 *SUBRTN* END OF PASS/END OF PROGRAM ROUTINES
*****************************************************************
2430 END OF PASS ROUTINE
2453 END OF PROGRAM ROUTINE
*****************************************************************
2463 *SUBRTN* MEMORY CONTROL
*****************************************************************
2466 THESE ROUTINES PERFORM CORE MAPPING AND PRINTING AS WELL AS MEMORY
ZEROING AND ADDRESS TRANSLATION FOR PAGING OR DIRECT ADDRESS MODES
$MPCNK (MAPCNK) ACTUAL MEMORY CHUNK MAPPER
$MPSET (MAPSET) SETS UP PAGE MAP FOR KI10
$MSEG (MEMSEG) SET UP SEGMENTS FROM CHUNKS IN PAGE MAP
(MAPNEW=-1 FOR PAGED SEGMENTS UP TO 1024K)
(MAPNEW= 0 FOR DIRECT ADDRESSING UP TO 256K)
$MZRO (MEMZRO) ZERO'S THE MAPPED MEMORY
$MPADR (MAPADR) VIRTUAL TO PHYSICAL ADDRESS TRANSLATION
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 12
SEQ 0050
2478 EXEC MODE MEMORY MAPPING
2507 MEMORY MAPPING CONTROL
MAP 1024K, 256K, 112K OR 256K SPECIAL USER
2547 COMBINE EXISTENT CHUNKS FROM MAPCNK
PUT POINTERS IN MEMSIZ TABLE
2589 "MAPCNK" MEMORY CHUNK MAPPER
STARTS AT HIGHEST POSSIBLE ADDRESS AND MAPS (ASSUMING NON-X-MEM)
UNTIL THE NXM BIT GOES AWAY - THEN MAPS EXISTENT MEMORY
IF NXM BIT COMES BACK IT SWITCHES BACK TO NON-X-MEM MAPPING AND
MAPS THE HOLE IN EXISTENT MEMORY
AC0 HAS BEEN PREVIOUSLY SET UP BY $MPOLD/$MPNEW WITH ADDR LIMITS
2623 NON-X-MEMORY SEGMENT MAPPER
2640 RESTORE OVERALL SYSTEM STATUS AFTER MAPPING
2663 EXISTANT MEMORY MAPPER
2679 SAVE POINTERS TO TOP AND BOTTOM OF EXISTANT CHUNKS
TEMPORY STORAGE POINTER IN AC1
VIRTUAL ADDRESS IN AC0
"MAPADR" CONVERTS TO ACTUAL PHYSICAL ADDRESS
2701 "MAPSET" SETUP SM10 PAGE MAP
FOR VIRTUAL TO PHYSICAL ADDRESS TRANSLATION
ARGUMENTS PASSED IN AC0:
NEG - CLEAR PAGE MAP
0-7 - MAP CORRESPONDING 128K SEGMENT
2732 "MEMSEG" ## MAPNEW = -1 ##
SETS UP TO 128K SEGMENT IN PAGE MAP
ARGUMENTS: 0-7 - MAP CORRESPONDING 128K SEGMENT
10-37 - DOES NOT EXIST ON SM-10
GT 37 - MAP USING PHYSICAL ADDRESS
RETURNED IN AC0:
HIGHEST VIRTUAL ADDRESS
BIT 0 SET IF NON-CONSECUTIVE CORE WAS COMBINED
PAGE MAP SET UP SO VIRTUAL ADDRESS 400000 AND UP POINTS
TO MEMORY REQUESTED
RETURNS +2
2762 SETUP MAP FOR REQUESTED 128K SEGMENT IN VIRTUAL CORE
2805 EXIT FROM MEMSEG ROUTINE
2826 PHYSICAL CORE ASSIGNMENT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 13
SEQ 0051
2863 "MEMSEG" ## MAPNEW = 0 ##
ARGUMENTS 0-10: SETUP CORRESPONDING CHUNK FROM MEMSIZ TABLE
11-37 RETURN 0, MAXIMUM OF 8 CHUNKS IN 256K
GT 37 - RETURNS MEMORY AT PHYSICAL ADDRESS
RETURNED IN AC0:
0 - NO MEMORY AVAILABLE
START ADDRESS,,END ADDRESS
RETURNS +1
2898 "MEMZRO"
ZERO'S MEMORY FROM MEMLOW UP TO MAXIMUM
MAPNEW = 0 DIRECT MEMORY ZERO
=-1 1024K SM10 PAGED MEMORY ZERO
2941 "MAPADR" CONV VIRT ADDR TO PHYS ADDR
VIRTUAL ADDRESS IN AC0, PHYSICAL ADDRESS RETURNED IN AC0
SKIP RETURN IS NORMAL, NON-SKIP RETURN IS SM10 PAGE INACCESSIBLE
2973 PRINT MEMORY MAP
*****************************************************************
3041 *SUBRTN* CONSOLE DATA SWITCH INPUT SUBROUTINE
*****************************************************************
3044 INPUT CONSOLE SWITCHES IN EXEC MODE OR IN
USER MODE IF NON-TTY SWITCH CONTROL
3063 SWITCH INITIALIZATION ROUTINE
3159 PROMPT FOR SWITCHES
3208 PROCESS PROMPT
CONTROL Z, ENDS PROMPTING
UPARROW, BACK UP ONE PROMPT
Y, SET SWITCH
N, DON'T SET SWITCH
CR, DON'T SET SWITCH
*****************************************************************
3255 *SUBRTN* TELETYPE INPUT ROUTINES
*****************************************************************
3258 CARRIAGE RETURN OR COMMA TERMINATES OCTAL, DECIMAL, OR CONVERT TYPE-IN.
CHARACTER OR NUMBER RETURNED IN AC0.
CALL SEQUENCE IS AS FOLLOWS:
NAME
NO/ERROR RESPONSE RETURN (+ 1)
NORMAL RESPONSE RETURN (+ 2)
$OPTLK = INPUT ANY CHARACTER
$YESNO = ASK QUESTION, CORRECT RESPONSE Y
$NOYES = ASK QUESTION, CORRECT RESPONSE N
$TPOCT = INPUT UP TO 12 OCTALS
$TPDEC = INPUT UP TO 11 DECIMALS
$TPCNV = INPUT UP TO 9 CONVERT'S
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 14
SEQ 0052
$TTLK = KEYBOARD CHECK, INPUT ANY CHARACTER (NO WAIT)
$TALTM = KEYBOARD, ALT-MODE CHECK
$TISIX = INPUT UP TO 6 SIXBIT CHARACTERS
3383 TTLOOK
CHECKS FOR ANY KEY STRUCK, RETURNS IMMEDIATELY
RETURNS +1 IF NO TYPEIN, RETURNS +2 IF CHAR TYPED
3393 TTYINP
TELETYPE IMAGE MODE INPUT
PROVIDES UNBUFFERED MODE INPUT
WAITS FOREVER, RETURN WITH CHAR UPPER CASED & ECHOED
3405 TTICHR
TELETYPE INPUT OPERATOR RESPONSE ROUTINE
3420 TTALTM
TELETYPE ALT-MODE CHECK ROUTINE
3470 TELETYPE INPUT CHARACTER ROUTINE
3502 CHARACTER PROCESSING ROUTINE FOR INPUT
CHARACTER RETURNED IN AC0 IS UPPER CASE
ACTUAL CHARACTER IS IN $TTCHR
*****************************************************************
3539 *SUBRTN* TELETYPE YES/NO TYPE-IN ROUTINE
*****************************************************************
3542 ACCEPTS Y OR N
FOR YESNO, Y IS SKIP RETURN, N OR NO RESPONSE IS DIRECT RETURN
FOR NOYES, N IS SKIP RETURN, Y OR NO RESPONSE IS DIRECT RETURN
'Y OR N <CR> - ' ASKED UPON ENTRY
*****************************************************************
3585 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE
*****************************************************************
3588 ACCEPTS 0 TO 12 OCTALS, 0 TO 11 DECIMALS, 0 TO 9 CONVERT CHARACTERS
NUMBER RETURNED IN AC0.
3609 INPUT AND COMPUTE NUMBER
3633 CHECK FOR PROPER AMOUNT OF CHARACTERS
3658 NUMBER COMPUTING CONSTANTS
3681 CONVERT CONVERSION ROUTINE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 15
SEQ 0053
*****************************************************************
3705 *SUBRTN* TELETYPE SIXBIT INPUT ROUTINE
*****************************************************************
3708 INPUTS UP TO SIX CHARACTERS, TERMINATES WITH A CR OR COMMA.
SIXBIT WORD RETURNED IN AC0
*****************************************************************
3743 *SUBRTN* PRINT SUBROUTINES
*****************************************************************
3746 $PNTSX PRINT SIXBIT NORMAL
$PTSXF PRINT SIXBIT FORCED
$PNTCW PRINT DF10 CONTROL WORD
$PNTI1 PRINT OCTAL NUMBER
$CHRPN PRINT CHARACTER
$ASCPN PRINT ASCII CHARACTER/LINE
$DECPN PRINT DECIMAL NUMBER
3756 PRINT SUBROUTINE INITIALIZATION
3794 PRINT SUBROUTINE ENTRY POINT
EXIT VIA $PNTI4 BELOW
3814 PRINT ROUTINE EXIT
3827 PRINT LIMIT WARNING & ALTERNATE EXIT PATH
3847 PRINT ROUTINE SELECTOR
BASED ON "AC FIELD" = 12 - 17
3881 SIXBIT PRINT SUBROUTINE
PRINTS SIXBIT WORD IN AC0
3886 NORMAL PRINTOUT
3900 FORCED PRINTOUT
3913 SIXBIT MESSAGE PRINT ROUTINE
PRINTS THE SIXBIT MESSAGE THOSE ADDRESS IS IN AC0
"BACKARROW" (77) SIGNIFIES END OF TEXT
"UPARROW" (76) SIGNIFIES CR/LF
"RIGHT SQUARE BRACKET" (75) SIGNIFIES TAB
3963 OCTAL SUPPRESS LEADING ZEROS PRINT ROUTINE
PRINTS NUMBER IN AC0, SUPPRESSING LEADING ZEROS
PRINTS MINUS SIGN IF NUMBER IS NEGATIVE
4012 DF10 CONTROL WORD PRINT ROUTINE
PRINTS WORD IN AC0
DF22F = 0, ###### ###### ,18 BIT DF10
-1, ##### ######## ,22 BIT DF10
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 16
SEQ 0054
4059 OCTAL PRINTOUT ROUTINE
PRINTS NUMBER IN AC0
4091 ASCII/CHARACTER PRINTOUT ROUTINE
PRINTS CHAR IN LOWER 7 BITS OF AC0
4101 PRINTS ASCII WHOSE ADDRESS IS IN AC0
4120 DECIMAL PRINTOUT ROUTINE
PRINTS NUMBER IN AC0
*****************************************************************
4155 *SUBRTN* CHARACTER OUTPUT ROUTINES
*****************************************************************
4158 OUTPUT CONTROL ROUTINE
4254 DIRECT TERMINAL OUTPUT
4335 ALT-MODE TRANSFER TO USER ROUTINE
4348 RETURN BACK TO PRINTING ROUTINE FROM CHAR OUTPUT
4355 TELETYPE TABS CONVERSION
4370 SM-10 EXEC MODE TELETYPE DRIVER ROUTINE
*****************************************************************
4388 COMMUNICATION ROUTINES
*****************************************************************
4391 $$C - COMM SAVE AC1 - AC5
4403 $$CE2 - DOUBLE SKIP RETURN
4409 $$CE1 - SINGLE SKIP RETURN
4415 $$CE - NO SKIP RETURN
4425 COMACK - COMMUNICATION ACKNOWLEDGE
4434 COMNAK - COMMUNICATION NEGATIVE ACKNOWLEDGE
4442 COMCMD - COMMUNICATION COMMAND
4501 COMSND - COMMUNICATION SEND
4549 COMRTRY - COMMUNICATION RETRY
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^ DECDOC VER 00.24 13-JUN-79 16:33:59 PAGE 17
SEQ 0055
4557 COMCTL - COMMUNICATION CONTROL
4585 COMLIN - COMMUNICATION LINE
4684 COMQ - HOST ERROR, PRINT ERROR REPLY
4699 COMINI - COMMUNICATION INITIALIZE
4736 COMENQ - COMMUNICATION ENQUIRY
4769 COMEOT - COMMUNICATION END OF TRANSMISSION
4779 COMCLR - COMMUNICATION CLEAR
4792 COMBELL - COMMUNICATIONS BELL
4811 COMASC - COMMUNICATION ASCIIZE
4819 COMERR, COMMUNICATIONS ERROR REPORTER
*****************************************************************
4860 *STOR* RESERVED STORAGE
*****************************************************************
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1
SUBSMT MAC 13-Jun-79 16:25 CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978 SEQ 0056
1 ;*MAINDEC-10-DSQDA (SUBSM)
2
3 000000 MCNVER=0
4 000003 DECVER=3
5
6 XLIST
7 LIST
8 LALL
9
10 NAME \MCNVER,\DECVER^
11
12 TITLE SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3^
13
14 000137 LOC 137
15 000137 000000 000003 MCNVER,,DECVER
16
17 ;*COPYRIGHT 1978, 1979
18 ;*DIGITAL EQUIPMENT CORPORATION
19 ;*MARLBORO, MASS.
20
21 ;*JOHN R. KIRCHOFF
22
23 NOSYM
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 2
SUBSMT MAC 13-Jun-79 16:25 SPECIAL ASSEMBLY PARAMETERS SEQ 0057
24 SUBTTL SPECIAL ASSEMBLY PARAMETERS
25
26 ;*ASSEMBLY PARAMETERS
27
28 000001 MEMMAP==1
29 000001 PGMEND==1
30 000001 EXCASB==1
31 000001 USRASB==1
32 000000 DEBUG==00
33 030000 SADR1=BEGIN
34 030000 SADR2=BEGIN
35 030000 SADR3=BEGIN
36 030061 SADR4=$BEND2
37 030000 SADR5=BEGIN
38 030007 SADR6=DDTSRT
39 030000 SADR7=BEGIN
40 030000 SADR8=BEGIN
41 030000 SADR9=BEGIN
42 030000 SADR10=BEGIN
43 030000 SADR11=BEGIN
44
45 123456 123456 PAREA1=123456,,123456
46 000000 PAREA2=0
47 636542 635500 PAREA3=SIXBIT/SUBSM/
48 645560 000000 PAREA4=SIXBIT/TMP/
49 000000 PAREA5=0
50 000000 PAREA6=0
51 000001 ITERAT=1
52
53 000001 $PAPER==1
54
55 ;*A MACRO TO DEFINE DEVICE NEUMONICS TO OCTAL DEVICE CODE
56
57 DEFINE $MDSXB (A,B)<
58 <SIXBIT/A/>!B ;A DEVICE CODE IS B>
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 3
SUBSMT MAC 13-Jun-79 16:25 SPECIAL ASSEMBLY PARAMETERS SEQ 0058
59 ;*DEFINITIONS USED BY THE SUBROUTINE PACKAGE
60 S^;*********************************************************************^
61
62 000000 AC0= 0
63 000001 AC1= 1
64 000002 AC2= 2
65 000003 AC3= 3
66 000004 AC4= 4
67 000005 AC5= 5
68 030000 DIAGNOS=30000 ;PDP-10 DIAGNOSTIC START ADDRESS
69 010000 DDT= 10000 ;PDP-10 DDT START ADDRESS
70 020000 DIAMON= 20000 ;PDP-10 DIAMON LOADER START ADDRESS
71 020007 DIASWS= 20007 ;DIAMON LH SWITCHES
72
73 ;*SM10 EPT COMMUNICATION AREA
74 S^;*********************************************************************^
75
76 000440 $STD= 440 ;PDP-10 DIAGNOSTIC START ADDRESS
77 000441 $DDT= 441 ;PDP-10 DDT START ADDRESS
78 000442 $STL= 442 ;PDP-10 LOADER START ADDRESS
79 000443 $STM= 443 ;PDP-10 MONITOR START ADDRESS
80
81 000031 $80STAT=31 ;8080 STATUS WORD
82 000020 000000 $80MM= 1B13 ;MAINTENANCE MODE BIT
83 000032 $80CIW= 32 ;8080 TO KS-10 INPUT WORD
84 000033 $80COW= 33 ;KS-10 TO 8080 OUTPUT WORD
85 000034 $80KIW= 34 ;8080 TO KS-10 INPUT WORD - KLINIK
86 000035 $80KOW= 35 ;KS-10 TO 8080 OUTPUT WORD - KLINIK
87 000400 $80CHR= 1B27 ;CHAR AVAILABLE BIT
88 012000 $80INT= 012000 ;INTERRUPT 8080
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 4
SUBSMT MAC 13-Jun-79 16:25 SPECIAL ASSEMBLY PARAMETERS SEQ 0059
89 ;*CONSOLE TTY COMMUNICATION
90 S^;*********************************************************************^
91
92 264000 004712 OPDEF CTYINI [JSR $TYINI] ;INITIALIZATION
93 264000 004724 OPDEF CTYCLR [JSR $TYCLR] ;CLEAR
94
95 264000 004726 OPDEF CTYTYI [JSR $CYTYI] ;CTY INPUT
96 264000 005002 OPDEF CTYTYO [JSR $CYTYO] ;CTY OUTPUT
97
98 264000 004737 OPDEF KTYTYI [JSR $KYTYI] ;KLINIK INPUT
99 264000 005015 OPDEF KTYTYO [JSR $KYTYO] ;KLINIK OUTPUT
100
101 264000 004750 OPDEF BTYTYI [JSR $BYTYI] ;BOTH INPUT
102 264000 005030 OPDEF BTYTYO [JSR $BYTYO] ;BOTH OUTPUT
103
104 264000 004763 OPDEF COMTYI [JSR ,$COMTI] ;COMM INPUT
105 264000 005037 OPDEF COMTYO [JSR ,$COMTO] ;COMM OUTPUT
106
107 260740 006351 OPDEF COMCMD [PUSHJ 17,$COMCMD] ;COMM COMMAND
108
109 260740 006460 OPDEF COMRTRY [PUSHJ 17,$COMRTRY] ;COMM RETRY
110
111 260740 006663 OPDEF COMENQ [PUSHJ 17,$COMENQ] ;COMM ENQUIRY
112
113 260740 006710 OPDEF COMEOT [PUSHJ 17,$COMEOT] ;COMM END OF TRANSMISSION
114
115 260740 006506 OPDEF COMLIN [PUSHJ 17,$COMLIN] ;COMM LINE INPUT
116
117 260740 006417 OPDEF COMSND [PUSHJ 17,$COMSND] ;COMM LINE OUTPUT
118
119 260740 006342 OPDEF COMACK [PUSHJ 17,$COMACK] ;COMM ACK
120 260740 006346 OPDEF COMNAK [PUSHJ 17,$COMNAK] ;COMM NEGATIVE ACK
121
122 260740 006714 OPDEF COMCLR [PUSHJ 17,$COMCLR] ;COMM CLEAR
123
124 260740 006463 OPDEF COMCTL [PUSHJ 17,$COMCTL] ;COMM CONTROL SEQUENCE
125
126 260740 006723 OPDEF COMBELL [PUSHJ 17,$COMBELL] ;COMM BELL
127
128 260740 006631 OPDEF COMINI [PUSHJ 17,$COMINI] ;COMM INITIALIZE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1
PARAM KSM 28-Mar-78 11:27 CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978 SEQ 0060
129 SUBTTL CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978
130
131 DEFINE S,<;*********************************************************************>
132
133 S^;*********************************************************************^
134 ;*DATA SWITCHES
135 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
136 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
137 S^;*********************************************************************^
138
139 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION
140 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS
141 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE
142
143 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
144 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
145 010000 DING== 010000 ;RING BELL ON ERROR
146
147 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR
148 002000 ERSTOP==002000 ;HALT ON TEST ERROR
149 001000 PALERS==001000 ;PRINT ALL ERRORS
150
151 000400 RELIAB==000400 ;RELIABILITY MODE
152 000200 TXTINH==000200 ;INHIBIT ERROR TEXT
153 000100 INHPAG==000100 ;INHIBIT PAGING
154
155 000040 MODDVC==000040 ;MODIFY DEVICE CODE
156 000020 INHCSH==000020 ;INHIBIT CACHE
157 000010 OPRSEL==000010 ;OPERATOR SELECTION
158
159 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH
160
161 ;SWITCH 16 RESERVED
162
163 ;SWITCH 17 RESERVED !!!
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 2
PARAM KSM 28-Mar-78 11:27 PROGRAM/SUBROUTINE PARAMETERS SEQ 0061
164 SUBTTL PROGRAM/SUBROUTINE PARAMETERS
165
166 S^;*********************************************************************^
167 ;*SPECIAL SUBPROGRAM LINKAGES
168 S^;*********************************************************************^
169
170 027772 FSELNK= 27772 ;FILE SELECT LINK
171 027773 FRDLNK= 27773 ;FILE READ LINK
172 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS
173 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS
174 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS
175 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS
176
177 S^;*********************************************************************^
178 ;*SPECIAL SUBROUTINE FATAL HALTS
179 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
180 S^;*********************************************************************^
181
182 ;ADDRESS TAG REASON
183 ;---------------------
184
185 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
186 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR
187 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR
188 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
189 ; 1014 SMBER ;KS-10 INTERRUPT WITHOUT DOORBELL
190 ; 1015 SMCER ;KS-10 CLOCK INTERRUPT WITHOUT FLAG SET
191 ; 1016 CPIERR ;CPU INITIALIZATION ERROR
192 ; 1017 EOPERR ;END OF PROGRAM ERROR
193 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
194
195 S^;*********************************************************************^
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 3
PARAM KSM 28-Mar-78 11:27 PROGRAM/SUBROUTINE PARAMETERS SEQ 0062
196 S^;*********************************************************************^
197 ;OPERATOR DEFINITIONS (NON-UUO'S)
198 S^;*********************************************************************^
199
200 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
201 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
202 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
203 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST
204 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
205 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT
206 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT
207 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT
208
209 S^;*********************************************************************^
210 ;*SUBROUTINE INITIALIZATION CALL
211 S^;*********************************************************************^
212
213 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
214
215 S^;*********************************************************************^
216 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
217 S^;*********************************************************************^
218
219 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
220 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
221
222 S^;*********************************************************************^
223 ;*TERMINAL INPUT UUO'S
224 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
225 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
226 S^;*********************************************************************^
227
228 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
229 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
230 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
231 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
232 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
233 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
234 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
235 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
236 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
237 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
238 037500 000003 OPDEF TTICLR [37B8!12B12!3] ;TTY, CLEAR INPUT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 4
PARAM KSM 28-Mar-78 11:27 PROGRAM/SUBROUTINE PARAMETERS SEQ 0063
239 ;*TERMINAL OUTPUT UUO'S.
240
241 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
242 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
243 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
244 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
245 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
246 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
247 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
248 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
249 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
250 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
251 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
252 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
253 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
254 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
255 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
256 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
257 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
258 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
259 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
260 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
261 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
262 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
263 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
264 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
265 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
266 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
267 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
268 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
269 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
270 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
271 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
272 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
273 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
274 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
275 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
276 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
277 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
278 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
279 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
280 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
281 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
282 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 5
PARAM KSM 28-Mar-78 11:27 PROGRAM/SUBROUTINE PARAMETERS SEQ 0064
283 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
284 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
285 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
286 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
287 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD
288 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED
289 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
290 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
291 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
292 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
293 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
294 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
295 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
296
297 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
298
299 DEFINE PMSG (ARG),<
300 PSIXM [SIXBIT\ARG'_\]>
301
302 DEFINE PMSGF (ARG),<
303 PSIXMF [SIXBIT\ARG'_\]>
304
305 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
306 ;* CONSERVES CORE OVER ASCIZ
307
308 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
309
310 ;*CONSOLE SWITCH INPUT UUO.
311 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
312 ;* USER MODE.
313
314 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES
315
316 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
317 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
318
319 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - CLOCK
320 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - METER
321
322 ;*KS-10 CACHE OPERATION UUO'S
323
324 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE
325 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH
326 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 6
PARAM KSM 28-Mar-78 11:27 PROGRAM/SUBROUTINE PARAMETERS SEQ 0065
327 ;*END OF PASS/PROGRAM UUOS
328
329 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
330 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
331
332 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
333 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
334
335 ;*MEMORY MANAGEMENT UUO'S
336 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
337 ;*ADDRESS CONVERSION, ETC...
338
339 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY
340 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY
341 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT
342 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT
343 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK
344 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP
345 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP
346
347 ;*DEVICE CODE MODIFICATION UUO
348 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
349 ;*IOT'S TO A DIFFERENT DEVICE CODE.
350
351 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER
352 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM
353
354 030000 IFNDEF MODDVL,<MODDVL==BEGIN>
355 030000 IFNDEF MODDVU,<MODDVU==BEGIN>
356
357 ;*"DIAMON" FILE SELECTION AND READ UUOS
358
359 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION
360 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA
361 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA
362 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA
363
364 XLIST
365 IFNDEF EROLD,<LIST
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 7
PARAM KSM 28-Mar-78 11:27 ERROR HANDLING UUO DEFINITIONS SEQ 0066
366 SUBTTL ERROR HANDLING UUO DEFINITIONS
367
368 S^;*********************************************************************^
369 ;*ERROR HANDLER PARAMETERS
370 S^;*********************************************************************^
371
372 036000 000000 OPDEF ERUUO [36B8] ;ERROR CALL UUO
373 035000 000000 OPDEF ERLOOP [35B8] ;ERROR LOOP, CHECKS PC,REPT,REPT1,ERROR
374 035040 000000 OPDEF ERLP1 [35B8!1B12] ;ERROR LOOP IF PC'S MATCH
375 035100 000000 OPDEF ERLP2 [35B8!2B12] ;ERROR LOOP IF ANY ERROR
376 034000 000000 OPDEF REPTUO [34B8] ;REPEAT LOOP UUO
377
378 ;*THE ERROR HANDLER MACROS
379
380 ;*A MACRO TO REPORT AN ERROR AND LOOP
381
382 DEFINE ERROR (ADR,FORMAT,CORECT,ACTUAL,F,D,ERR)<
383 SALL
384 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
385 CORECT,,ACTUAL
386 [SIXBIT\D'_\],,ERR]
387 XALL
388 ERLOOP ADR ;IF ERROR, LOOP TO ADR
389 >
390
391 ;*A MACRO TO REPORT AN ERROR AND NOT LOOP
392
393 DEFINE ERROR1 (FORMAT,CORECT,ACTUAL,F,D,ERR)<
394 SALL
395 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
396 CORECT,,ACTUAL
397 [SIXBIT\D'_\],,ERR]
398 XALL>
399
400 >;END OF EROLD CONDITIONAL
401
402 XLIST
403 IFDEF $PAPER,<LIST>
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 8
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0067
404 SUBTTL STANDARD PROGRAM ASSIGNMENTS
405
406 S^;*********************************************************************^
407 ;*ACCUMULATORS
408 S^;*********************************************************************^
409
410 000017 P= 17 ;PUSHDOWN POINTER AC (IF PUSH LIST USED)
411 000015 REPT== 15 ;ERROR HANDLER REPEAT AC
412 000016 REPT1== 16 ; "
413
414 S^;*********************************************************************^
415 ;*PDP-10 STANDARD PC CONTROL FLAGS (SAVED ON PUSHJ, JSR, ETC..)
416 S^;*********************************************************************^
417
418 400000 AROV== 400000 ;ARITHMETIC OVERFLOW
419 200000 CRY0== 200000 ;CARRY 0
420 100000 CRY1== 100000 ;CARRY 1
421 040000 FOV== 40000 ;FLOATING POINT OVERFLOW
422 020000 BIS== 20000 ;BYTE INTERRUPT
423 010000 USERF== 10000 ;USER MODE
424 004000 EXIOT== 4000 ;USER PRIV I/O
425 000400 TN0== 400 ;TRAP NUMBER BIT 0
426 000200 TN1== 200 ;TRAP NUMBER BIT 1
427 000100 FXU== 100 ;FLOATING POINT UNDERFLOW
428 000040 DCK== 40 ;DIVIDE CHECK
429
430 S^;*********************************************************************^
431 ;*PDP-10 STANDARD ADDRESS ASSIGNMENTS
432 S^;*********************************************************************^
433
434 000040 LUUO== 40 ;UUO STORAGE, UUO 1-37
435 000041 LUUOI== 41 ;UUO SERVICE INSTRUCTION
436
437 S^;*********************************************************************^
438 ;*JOB DATA AREA EXTERNALS (OLD DEFINITIONS)
439 S^;*********************************************************************^
440
441 000040 JOBUUO==40
442 000041 JOB41== 41
443 000044 JOBREL==44
444 000074 JOBDDT==74
445 000116 JOBSYM==116
446 000117 JOBUSY==117
447 000120 JOBSA== 120
448 000121 JOBFF== 121
449 000124 JOBREN==124
450 000125 JOBAPR==125
451 000126 JOBCNI==126
452 000127 JOBTPC==127
453 000130 JOBOPC==130
454 000137 JOBVER==137
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 9
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0068
455 S^;*********************************************************************^
456 ;*JOB DATA AREA EXTERNALS (NEW DEFINITIONS)
457 S^;*********************************************************************^
458
459 000040 .JBUUO==40
460 000041 .JB41== 41
461 000044 .JBREL==44
462 000074 .JBDDT==74
463 000116 .JBSYM==116
464 000117 .JBUSY==117
465 000120 .JBSA== 120
466 000121 .JBFF== 121
467 000124 .JBREN==124
468 000125 .JBAPR==125
469 000126 .JBCNI==126
470 000127 .JBTPC==127
471 000130 .JBOPC==130
472 000137 .JBVER==137
473
474 S^;*********************************************************************^
475 ;*USER MODE APR ASSIGNMENTS (FOR "APRENB" CALL)
476 S^;*********************************************************************^
477
478 200000 PDLOVU==200000 ;PUSHDOWN LIST OVERFLOW
479 020000 MPVU== 20000 ;MEMORY PROTECTION VIOLATION
480 010000 NXMU== 10000 ;NON-X-MEMORY
481 004000 PARU== 4000 ;PARITY ERROR
482 001000 CLKU== 1000 ;CLOCK
483 000100 FOVU== 100 ;FLOATING OVERFLOW
484 000010 AROVU== 10 ;ARITHMETIC OVERFLOW
485
486 S^;*********************************************************************^
487 ;*USER MODE PRINT OUTPUT CHANNEL ASSIGNMENTS (FOR SUBROUTINE PACKAGE)
488 ;*THE USER SHOULD BE CAUTIONED NOT TO USE THESE CHANNELS WHEN
489 ;*USING THE SUBROUTINE PACKAGE AND CODING USER MODE PROGRAMS.
490 S^;*********************************************************************^
491
492 000017 $DEVCH==17 ;LOGICAL DEVICE CHANNEL
493
494 S^;*********************************************************************^
495 ;*PDP-10 SPECIAL COMPATABILITY ASSIGNMENTS
496 S^;*********************************************************************^
497
498 000010 PAG== 010 ;PAGING I/O DEVICE CODE
499
500 000014 CCA== 014 ;CACHE I/O DEVICE CODE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 10
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0069
501 S^;*********************************************************************^
502 ;*PDP-10 STANDARD APR CONO ASSIGNMENTS
503 S^;*********************************************************************^
504
505 200000 IOCLR== 200000 ;CLEAR ALL I/O DEVICES
506
507 S^;*********************************************************************^
508 ;*PDP-10 STANDARD PI CONO ASSIGNMENTS
509 S^;*********************************************************************^
510
511 010000 PICLR== 10000 ;CLEAR PI SYSTEM
512 004000 REQSET==4000 ;SET PROGRAM PI REQUEST
513 002000 CHNON== 2000 ;TURN ON CHANNEL
514 001000 CHNOFF==1000 ;TURN OFF CHANNEL
515 000400 PIOFF== 400 ;TURN OFF PI SYSTEM
516 000200 PION== 200 ;TURN ON PI SYSTEM
517
518 S^;*********************************************************************^
519 ;*PDP-10 STANDARD PI CONI ASSIGNMENTS
520 S^;*********************************************************************^
521
522 000200 PION== 200 ;PI SYSTEM ON
523
524 S^;*********************************************************************^
525 ;*PDP-10 STANDARD PI CHANNEL ASSIGNMENTS
526 S^;*********************************************************************^
527
528 000100 PICHN1==100 ;PI CHANNEL 1
529 000040 PICHN2==40 ;PI CHANNEL 2
530 000020 PICHN3==20 ;PI CHANNEL 3
531 000010 PICHN4==10 ;PI CHANNEL 4
532 000004 PICHN5==4 ;PI CHANNEL 5
533 000002 PICHN6==2 ;PI CHANNEL 6
534 000001 PICHN7==1 ;PI CHANNEL 7
535 000177 PICHNA==177 ;ALL PI CHANNELS, 1 THRU 7
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 11
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0070
536 S^;*********************************************************************^
537 ;*KS10 CONO APR 000 ASSIGMENTS
538 S^;*********************************************************************^
539
540 200000 LIOCLR==200000 ;CLEAR ALL I/O DEVICES
541 100000 LFLGEN==100000 ;ENABLE SELECTED FLAG
542 040000 LFLGDS==40000 ;DISABLE SELECTED FLAG
543 020000 LFLGCL==20000 ;CLEAR SELECTED FLAG
544 010000 LFLGST==10000 ;SET SELECTED FLAG
545 001000 LPWRFL==1000 ;POWER FAIL FLAG
546 000400 LNXMER==400 ;NON-EXISTENT MEMORY FLAG
547 000200 LPARER==200 ;MB PARITY ERROR FLAG
548 000100 LPSFT== 100 ;SOFT MEMORY ERROR
549 000040 LACLK== 40 ;INTERVAL TIMER
550 000007 LAPRP7==7 ;APR PI CHANNEL 7
551 000006 LAPRP6==6 ;APR PI CHANNEL 6
552 000005 LAPRP5==5 ;APR PI CHANNEL 5
553 000004 LAPRP4==4 ;APR PI CHANNEL 4
554 000003 LAPRP3==3 ;APR PI CHANNEL 3
555 000002 LAPRP2==2 ;APR PI CHANNEL 2
556 000001 LAPRP1==1 ;APR PI CHANNEL 1
557 101000 LEPWRF==101000 ;ENABLE POWER FAIL
558 041000 LDPWRF==041000 ;DISABLE POWER FAIL
559 021000 LCPWRF==021000 ;CLR POWER FAIL
560 011000 LSPWRF==011000 ;SET POWER FAIL
561 100400 LENXER==100400 ;ENABLE NON-EXISTENT MEMORY
562 040400 LDNXER==040400 ;DISABLE NON-EXISTENT MEORY
563 020400 LCNXER==020400 ;CLR NON-EXISTENT MEMORY
564 010400 LSNXER==010400 ;SET NON-EXISTENT MEMORY
565 100200 LEPAER==100200 ;ENABLE PARITY ERRORS
566 040200 LDPAER==040200 ;DISABLE PARITY ERRORS
567 020200 LCPAER==020200 ;CLR PARITY ERROR
568 010200 LSPAER==010200 ;SET PARITY ERROR
569 100100 LEPSFT==100100 ;ENABLE SOFT MEMORY ERROR
570 040100 LDPSFT==040100 ;DISABLE SOFT MEMORY ERROR
571 020100 LCPSFT==020100 ;CLR SOFT MEMORY ERROR
572 010100 LSPSFT==010100 ;SET SOFT MEMORY ERROR
573 121600 LAPRAL==121600 ;CLR ALL ERROR FLAGS & ENABLE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 12
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0071
574 S^;*********************************************************************^
575 ;*KS10 CONI APR 000 ASSIGMENTS (LEFT HALF)
576 S^;*********************************************************************^
577
578 001000 LPWRFE==1000 ;POWER FAILURES ENABLED
579 000400 LNXMEN==400 ;NON-EXISTENT MEMORY ERRORS ENABLED
580 000200 LPAREN==200 ;PARITY ERRORS ENABLED
581 000100 LPSFTE==100 ;SOFT MEMORY ERROR ENABLED
582 000040 LACLKE==40 ;INTERVAL TIMER ENABLED
583
584 S^;*********************************************************************^
585 ;*KS10 CONI APR 000 ASSIGMENTS (RIGHT HALF)
586 S^;*********************************************************************^
587
588 001000 LPWRFL==1000 ;POWER FAIL FLAG
589 000400 LNXMER==400 ;NON-EXISTENT MEMORY FLAG
590 000200 LPARER==200 ;PARITY ERROR FLAG
591 000100 LPSFTER==100 ;SOFT MEMORY ERROR FLAG
592 000007 LAPRP7==7 ;APR PI CHANNEL 7
593 000006 LAPRP6==6 ;APR PI CHANNEL 6
594 000005 LAPRP5==5 ;APR PI CHANNEL 5
595 000004 LAPRP4==4 ;APR PI CHANNEL 4
596 000003 LAPRP3==3 ;APR PI CHANNEL 3
597 000002 LAPRP2==2 ;APR PI CHANNEL 2
598 000001 LAPRP1==1 ;APR PI CHANNEL 1
599 000010 LINT==10 ;APR INTERRUPT
600
601 S^;*********************************************************************^
602 ;*KS10 DATAO APR 000 ASSIGMENTS (LEFT HALF)
603 S^;*********************************************************************^
604
605 000400 LINSTF==400 ;ADDRESS BREAK REQUEST FOR INST. FETCH
606 000200 LDATAF==200 ;ADDRESS BREAK REQUEST FOR DATA FETCH
607 000100 LWRITE==100 ;ADDRESS BREAK REQUEST FOR DATA WRITE
608 000040 LUSCMP==40 ;USER ADDRESS COMPARE
609 000000 LEXCMP==0 ;EXEC ADDRESS COMPARE
610
611 S^;*********************************************************************^
612 ;*KS10 DATAO APR 000 ASSIGMENTS (RIGHT HALF)
613 S^;*********************************************************************^
614
615 ;DATAO APR,ADDRESS SWITCHES=13-35
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 13
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0072
616 S^;*********************************************************************^
617 ;*KS10 DATAI APR 000 ASSIGMENTS (LEFT HALF)
618 S^;*********************************************************************^
619
620 000400 LINSTF==400 ;ADDRESS BREAK REQUEST FOR INST. FETCH
621 000200 LDATAF==200 ;ADDRESS BREAK REQUEST FOR DATA FETCH
622 000100 LWRITE==100 ;ADDRESS BREAK REQUEST FOR DATA WRITE
623 000040 LUSCMP==40 ;USER ADDRESS COMPARE
624 000000 LEXCMP==0 ;EXEC ADDRESS COMPARE
625
626 S^;*********************************************************************^
627 ;*KS10 DATAI APR 000 ASSIGMENTS (RIGHT HALF)
628 S^;*********************************************************************^
629
630 ;DATAI APR,ADDRESS SWITCHES=13-35
631
632 S^;*********************************************************************^
633 ;*KS10 BLKO APR 000 ASSIGMENTS (IMMEDIATE MODE)
634 S^;*********************************************************************^
635
636 ;REFILL ALGORITHM BITS 18-20
637 ;REFILL ALGORITHM ADDRESS 27-33
638
639 S^;*********************************************************************^
640 ;*KS10 BLKI APR 000 ASSIGMENTS
641 S^;*********************************************************************^
642
643 ;MICRO-CODE OPTIONS = 0-8
644 ;MICRO-CODE VERSION NUMBER = 9-17
645 ;HARDWARE OPTIONS =18-20
646 ;PROCESSOR SERIAL NUMBER = 21-35
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 14
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0073
647 S^;*********************************************************************^
648 ;*KS10 CONO PI 004 ASSIGMENTS
649 S^;*********************************************************************^
650
651 020000 LRQCLR==20000 ;DROP INTERRUPT ON SELECTED CHANNEL
652 010000 LPICLR==10000 ;CLEAR PI SYSTEM
653 004000 LREQSE==4000 ;REQUEST INTERRUPT ON SELECTED CHANNEL
654 002000 LCHNON=2000 ;TURN ON SELECTED CHANNEL
655 001000 LCHNOF==1000 ;TURN OFF SELECTED CHANNEL
656 000400 LPIOFF==400 ;TURN PI SYSTEM OFF
657 000200 LPION==200 ;TURN PI SYSTEM ON
658 000100 LPICH1==100 ;PI CHANNEL 1
659 000040 LPICH2==40 ;PI CHANNEL 2
660 000020 LPICH3==20 ;PI CHANNEL 3
661 000010 LPICH4==10 ;PI CHANNEL 4
662 000004 LPICH5==4 ;PI CHANNEL 5
663 000002 LPICH6==2 ;PI CHANNEL 6
664 000001 LPICH7==1 ;PI CHANNEL 7
665 000177 LPICHA==177 ;ALL PI CHANNELS
666
667 S^;*********************************************************************^
668 ;*KS10 CONI PI 004 ASSIGMENTS (LEFT HALF)
669 S^;*********************************************************************^
670
671 000100 LPRCH1==100 ;PROGRAM REQUEST ON CHANNEL 1
672 000040 LPRCH2==40 ;PROGRAM REQUEST ON CHANNEL 2
673 000020 LPRCH3==20 ;PROGRAM REQUEST ON CHANNEL 3
674 000010 LPRCH4==10 ;PROGRAM REQUEST ON CHANNEL 4
675 000004 LPRCH5==4 ;PROGRAM REQUEST ON CHANNEL 5
676 000002 LPRCH6==2 ;PROGRAM REQUEST ON CHANNEL 6
677 000001 LPRCH7==1 ;PROGRAM REQUEST ON CHANNEL 7
678
679 S^;*********************************************************************^
680 ;*KS10 CONI PI 004 ASSIGMENTS (RIGHT HALF)
681 S^;*********************************************************************^
682
683 040000 LPIIP1==40000 ;PI IN PROGRESS ON CHANNEL 1
684 020000 LPIIP2==20000 ;PI IN PROGRESS ON CHANNEL 2
685 010000 LPIIP3==10000 ;PI IN PROGRESS ON CHANNEL 3
686 004000 LPIIP4==4000 ;PI IN PROGRESS ON CHANNEL 4
687 002000 LPIIP5==2000 ;PI IN PROGRESS ON CHANNEL 5
688 001000 LPIIP6==1000 ;PI IN PROGRESS ON CHANNEL 6
689 000400 LPIIP7==400 ;PI IN PROGRESS ON CHANNEL 7
690 000200 LPION==200 ;PI SYSTEM ON
691 000100 LPICH1==100 ;PI CHANNEL 1 ON
692 000040 LPICH2==40 ;PI CHANNEL 2 ON
693 000020 LPICH3==20 ;PI CHANNEL 3 ON
694 000010 LPICH4==10 ;PI CHANNEL 4 ON
695 000004 LPICH5==4 ;PI CHANNEL 5 ON
696 000002 LPICH6==2 ;PI CHANNEL 6 ON
697 000001 LPICH7==1 ;PI CHANNEL 7 ON
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 15
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0074
698 S^;*********************************************************************^
699 ;*KS10 DATAO PAG 010 ASSIGMENTS (LEFT HALF)
700 S^;*********************************************************************^
701
702 400000 LLACBL==400000 ;LOAD AC BLOCKS
703 100000 LLDUSB==100000 ;LOAD USER BASE REGISTER
704 ;CURRENT AC BLOCKS BITS 6 - 8
705 ;PREVIOUS AC BLOCKS BITS 9 - 11
706
707 S^;*********************************************************************^
708 ;*KS10 DATAO PAG 010 ASSIGMENTS (RIGHT HALF)
709 S^;*********************************************************************^
710
711 ;USER BASE REGISTER BITS 23 - 35
712
713 S^;*********************************************************************^
714 ;*KS10 DATAI PAG 010 ASSIGMENTS (LEFT HALF)
715 S^;*********************************************************************^
716
717 400000 LLACBL==400000 ;LOAD AC BLOCKS
718 100000 LLDUSB==100000 ;LOAD USER BASE REGISTER
719 ;CURRENT AC BLOCKS BITS 6 - 8
720 ;PREVIOUS AC BLOCKS BITS 9 - 11
721
722 S^;*********************************************************************^
723 ;*KS10 DATAI PAG 010 ASSIGMENTS (RIGHT HALF)
724 S^;*********************************************************************^
725
726 ;USER BASE REGISTER BITS 25 - 35
727
728 S^;*********************************************************************^
729 ;*KS10 CONO PAG 010 ASSIGMENTS
730 S^;*********************************************************************^
731
732 040000 LSMODE==40000 ;SECTION MODE
733 020000 LTRPEN==20000 ;TRAP AND PAGE CACHE ENABLE
734
735 ;EXEC BASE REGISTER = 25-35
736
737 S^;*********************************************************************^
738 ;*KS10 CONI PAG 010 ASSIGMENTS
739 S^;*********************************************************************^
740
741 040000 LSECMO==40000 ;SECTION MODE
742 020000 LTRPAE==20000 ;TRAP AND PAGE CACHE ENABLE
743
744 ;EXEC BASE REGISTER = 25-35
745
746 S^;*********************************************************************^
747 ;*KS10 BLKO PAG 010 ASSIGMENTS (IMMEDIATE MODE)
748 S^;*********************************************************************^
749
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 16
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0075
750 S^;*********************************************************************^
751 ;*KS10 EXEC PAGE MAP PAGE ASSIGNMENTS
752 S^;*********************************************************************^
753
754 000100 UBAVEC==100 ;UNIBUS VECTOR TABLE ADDRESS
755
756 000421 AROVTP==421 ;ARITHMETIC TRAP
757 000422 PDOVTP==422 ;PUSHDOWN OVERFLOW TRAP
758 000423 TRP3TP==423 ;TRAP 3 TRAP
759
760 000510 LTBASH==510 ;TIME-BASE, HI
761 000511 LTBASL==511 ;TIME-BASE, LO
762 000512 LPRFMH==512 ;PERFORMANCE ANAYLYSIS, HI
763 000513 LPRFML==513 ;PERFORMANCE ANAYLYSIS, LO
764
765 S^;*********************************************************************^
766 ;*KS10 USER PAGE MAP PAGE ASSIGNMENTS
767 S^;*********************************************************************^
768
769 000421 AROVTP==421 ;ARITHMETIC TRAP
770 000422 PDOVTP==422 ;PUSHDOWN OVERFLOW TRAP
771 000423 TRP3TP==423 ;TRAP 3 TRAP
772
773 000424 MUUO== 424 ;MUUO STORAGE
774 000425 MUUOPC==425 ;C(PC) OF MUUO STORAGE
775 000426 LCNTXT==426 ;PROCESS CONTEXT WORD
776
777 000430 KNTRP==430 ;KERNAL NO TRAP - NEW PC'S-
778 000431 KTRP== 431 ;" TRAP
779 000432 SNTRP==432 ;SUPERVISOR NO TRAP
780 000433 STRP== 433 ;" TRAP
781 000434 CNTRP==434 ;CONCEAL NO TRAP
782 000435 CTRP== 435 ;" TRAP
783 000436 PNTRP==436 ;PUBLIC NO TRAP
784 000437 PTRP== 437 ;" TRAP
785
786 000500 LEUPFW==500 ;EXEC & USER PAGE FAIL WORD
787 000501 LPFWPC==501 ;C(PC) OF PAGE FAIL WORD
788 000502 LPGFTR==502 ;PAGE FAIL NEW PC
789
790 000504 LEBXMH==504 ;E-BOX CLOCK TICK METER, HI
791 000505 LEBXML==505 ;E-BOX CLOCK TICK METER, LO
792 000506 LMBXMH==506 ;M-BOX CYCLE METER, HI
793 000507 LMBXML==507 ;M-BOX CYCLE METER, LO
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 17
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0076
794 S^;*********************************************************************^
795 ;*KS10 I/O INSTRUCTIONS
796 S^;*********************************************************************^
797
798 700000 000000 OPDEF APRID [700B8+0B12] ;READ PROCESSOR ID
799 700200 000000 OPDEF WRAPR [700B8+4B12] ;WRITE APR
800 700240 000000 OPDEF RDAPR [700B8+5B12] ;READ APR
801 700600 000000 OPDEF WRPI [700B8+14B12] ;WRITE PI
802 700640 000000 OPDEF RDPI [700B8+15B12] ;READ PI
803
804 701040 000000 OPDEF RDUBR [701B8+1B12] ;READ USER BASE REGISTER
805 701100 000000 OPDEF CLRPT [701B8+2B12] ;CLEAR HARDWARE PAGE TABLE
806 701140 000000 OPDEF WRUBR [701B8+3B12] ;WRITE USER BASE REGISTER
807 701240 000000 OPDEF RDEBR [701B8+5B12] ;READ EXEC BASE REGISTER
808 701200 000000 OPDEF WREBR [701B8+4B12] ;WRITE EXEC BASE REGISTER
809
810 702000 000000 OPDEF RDSPB [702B8+0B12] ;READ SPT BASE REGISTER
811 702040 000000 OPDEF RDCSB [702B8+1B12] ;READ CORE STATUS TABLE BASE REGISTER
812 702100 000000 OPDEF RDPUR [702B8+2B12] ;READ PROCESS USE REGISTER
813 702140 000000 OPDEF RDCSTM [702B8+3B12] ;READ CST MASK REGISTER
814 702200 000000 OPDEF RDTIM [702B8+4B12] ;READ TIME BASE
815 702240 000000 OPDEF RDINT [702B8+5B12] ;READ INTERVAL TIMER
816 702300 000000 OPDEF RDHSB [702B8+6B12] ;READ HALT STATUS BLOCK ADDRESS
817
818 702400 000000 OPDEF WRSPB [702B8+10B12] ;WRITE SPT BASE REGISTER
819 702440 000000 OPDEF WRCSB [702B8+11B12] ;WRITE CORE STATUS TABLE BASE REGISTER
820 702500 000000 OPDEF WRPUR [702B8+12B12] ;WRITE PROCESS USE REGISTER
821 702540 000000 OPDEF WRCSTM [702B8+13B12] ;WRITE CST MASK REGISTER
822 702600 000000 OPDEF WRTIM [702B8+14B12] ;WRITE TIME BASE
823 702640 000000 OPDEF WRINT [702B8+15B12] ;WRITE INTERVAL TIMER
824 702700 000000 OPDEF WRHSB [702B8+16B12] ;WRITE HALT STATUS BLOCK ADDRESS
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 18
PARAM KSM 28-Mar-78 11:27 STANDARD PROGRAM ASSIGNMENTS SEQ 0077
825 S^;*********************************************************************^
826 ;*KS10 UNIBUS I/O INSTRUCTIONS
827 S^;*********************************************************************^
828
829 710000 000000 OPDEF TIOE [710B8] ;TEST I/O, SKIP IF ZERO
830 711000 000000 OPDEF TION [711B8] ;TEST I/O, SKIP IF NON-ZERO
831 712000 000000 OPDEF RDIO [712B8] ;READ I/O
832 713000 000000 OPDEF WRIO [713B8] ;WRITE I/O
833 714000 000000 OPDEF BSIO [714B8] ;BIT SET I/O
834 715000 000000 OPDEF BCIO [715B8] ;BIT CLEAR I/O
835 720000 000000 OPDEF TIOEB [720B8] ; BYTE MODE
836 721000 000000 OPDEF TIONB [721B8]
837 722000 000000 OPDEF RDIOB [722B8]
838 723000 000000 OPDEF WRIOB [723B8]
839 724000 000000 OPDEF BSIOB [724B8]
840 725000 000000 OPDEF BCIOB [725B8]
841
842 S^;*********************************************************************^
843 ;*KS10 UNIBUS BIT NUMBERS
844 S^;*********************************************************************^
845
846 000001 EBIT0==1
847 000002 EBIT1==2
848 000004 EBIT2==4
849 000010 EBIT3==10
850 000020 EBIT4==20
851 000040 EBIT5==40
852 000100 EBIT6==100
853 000200 EBIT7==200
854 000400 EBIT8==400
855 001000 EBIT9==1000
856 002000 EBIT10==2000
857 004000 EBIT11==4000
858 010000 EBIT12==10000
859 020000 EBIT13==20000
860 040000 EBIT14==40000
861 100000 EBIT15==100000
862
863 LIST
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1
FIXED KSM 28-Mar-78 11:28 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978 SEQ 0078
864 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978
865
866 030000 LOC 30000
867
868 S^;*********************************************************************^
869 ;*PROGRAM STARTING ADDRESSES
870 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
871 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
872 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
873 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
874 S^;*********************************************************************^
875
876 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START
877 030001 254 00 0 00 002000 $START: JRST START ;MODE CHECK STARTING ADDRESS
878
879 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
880
881 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
882
883 030004 254 00 0 00 030000 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
884
885 030005 254 00 0 00 030000 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
886
887 030006 254 00 0 00 030000 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY)
888
889 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT"
890 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START
891
892 030010 254 00 0 00 002035 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE)
893 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE
894 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE
895
896 030013 000000 030000 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
897 030014 000000 030000 START2: SADR8 ; "
898 030015 000000 030000 START3: SADR9 ; "
899 030016 000000 030000 START4: SADR10 ; "
900 030017 000000 030000 START5: SADR11 ; "
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 2
FIXED KSM 28-Mar-78 11:28 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978 SEQ 0079
901 S^;*********************************************************************^
902 ;*PROGRAM FIXED PARAMETER AREA
903 S^;*********************************************************************^
904
905 030020 636542 635500 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME
906 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION
907 030022 123456 123456 RANDBS: PAREA1 ;RANDOM BASE NUMBER
908 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES
909 030024 000000 000001 ITRCNT: ITERAT ;PROGRAM ITERATIONS
910 030025 000000 002036 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME
911 030026 000000 000003 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL
912 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT
913 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT
914 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED
915 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED
916 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE
917 030034 777777 777777 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS
918 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER
919 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER
920
921 S^;*********************************************************************^
922 ;*PROGRAM VARIABLE PARAMETER AREA
923 S^;*********************************************************************^
924
925 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
926 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
927 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
928 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
929 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
930 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
931 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG
932 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
933 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
934 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
935 030051 000000 000000 TESTPC: 0 ;SUBTEST PC
936 030052 000000 000000 ERRPC: 0 ;ERROR PC
937 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS
938 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME
939 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE
940 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 3
FIXED KSM 28-Mar-78 11:28 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978 SEQ 0080
941 S^;*********************************************************************^
942 ;*SPECIAL PROGRAM DISPATCH ADDRESSES
943 S^;*********************************************************************^
944
945 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS
946 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM
947 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN
948 030062 000000 030000 CNTLC: SADR5 ;CONTROL C XFER ADDRESS
949 030063 000000 030007 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS
950 030064 CPOPJ1: ;SKIP RETURN
951 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
952 030065 CPOPJ: ;NON-SKIP REGULAR RETURN
953 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
954 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE
955 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE
956 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
957 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE
958 030072 255 00 0 00 000000 $ITRX1: JFCL ; "
959 030073 255 00 0 00 000000 $USRHL: JFCL ; "
960 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE
961 030075 255 00 0 00 000000 $RSRTY: JFCL ; "
962 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX)
963 030077 255 00 0 00 000000 RESRT2: JFCL ; "
964 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE
965 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE
966 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT
967
968 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR)
969 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT
970 030105 000000 000000 0 ;INITED AS (JRST $ITRC1)
971
972 S^;*********************************************************************^
973 ;*PROCESSOR CONTROL STORAGE
974 S^;*********************************************************************^
975
976 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
977 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI
978 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR
979 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI)
980 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI)
981
982 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
983 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
984
985 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS
986 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG
987 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG
988 030120 000000 000000 %COREC: 0 ; " CORRECT DATA
989 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG
990 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA
991 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 4
FIXED KSM 28-Mar-78 11:28 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978 SEQ 0081
992 S^;*********************************************************************^
993 ;*UUO DISPATCH TABLE
994 S^;*********************************************************************^
995 XLIST
996 LIST
997 030124 030070 030070 UUODIS: LUUO1,,$UUOER
998 030125 030070 030070 LUUO3,,LUUO2
999 030126 030070 030070 LUUO5,,LUUO4
1000 030127 030070 030070 LUUO7,,LUUO6
1001 030130 030070 030070 LUUO11,,LUUO10
1002 030131 030070 030070 LUUO13,,LUUO12
1003 030132 030070 030070 LUUO15,,LUUO14
1004 030133 030070 030070 LUUO17,,LUUO16
1005 030134 030070 030070 LUUO21,,LUUO20
1006 030135 030070 030070 LUUO23,,LUUO22
1007 030136 030070 030070 LUUO25,,LUUO24
1008 030137 030070 030070 LUUO27,,LUUO26
1009 030140 030070 030070 LUUO31,,LUUO30
1010 030141 030070 030070 LUUO33,,LUUO32
1011
1012 S^;*********************************************************************^
1013 ;*MEMORY MANAGMENT STORAGE
1014 S^;*********************************************************************^
1015
1016 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
1017 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
1018 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.)
1019 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY
1020 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE
1021
1022 S^;*********************************************************************^
1023 ;*PRINT CONTROL STORAGE
1024 S^;*********************************************************************^
1025
1026 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
1027 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE
1028 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
1029 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
1030 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
1031 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
1032 030225 000000 000000 $TWCNT: 0 ;TIME WAITED
1033 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
1034 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG
1035 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE
1036 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
1037 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
1038 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
1039 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
1040 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
1041 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
1042 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
1043 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS
1044 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 5
FIXED KSM 28-Mar-78 11:28 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978 SEQ 0082
1045 S^;*********************************************************************^
1046 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
1047 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
1048 ;* MOVEI NAME
1049 ;* PNTA ;OR PNTAF
1050 S^;*********************************************************************^
1051
1052 030242 CRLF: ASCII/
1053 030242 015 012 000 000 000 /
1054 030243 CRLF2: ASCII/
1055
1056 030243 015 012 015 012 000 /
1057 030244 054 000 000 000 000 COMMA: ASCII/,/
1058 030245 056 000 000 000 000 PERIOD: ASCII/./
1059 030246 040 000 000 000 000 SPACE: ASCII/ /
1060 030247 011 000 000 000 000 TAB: ASCII/ /
1061 030250 MINUS:
1062 030250 055 000 000 000 000 HYPEN: ASCII/-/
1063 030251 053 000 000 000 000 PLUS: ASCII/+/
1064 030252 052 000 000 000 000 AST: ASCII/*/
1065 030253 100 000 000 000 000 ATSIN: ASCII/@/
1066 030254 050 000 000 000 000 LFP: ASCII/(/
1067 030255 051 000 000 000 000 RTP: ASCII/)/
1068 030256 007 0000000000 BELL: BYTE (7) 007
1069 030257 077 000 000 000 000 QUEST: ASCII/?/
1070 030260 057 000 000 000 000 SLASH: ASCII!/!
1071 030261 044 000 000 000 000 DOLLAR: ASCII/$/
1072 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
1073 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
1074 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
1075
1076 S^;*********************************************************************^
1077 ;*USER MODE OUTPUT FILE INFORMATION
1078 S^;*********************************************************************^
1079
1080 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
1081 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
1082 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
1083 030272 BLOCK 2
1084
1085 S^;*********************************************************************^
1086 ;*DISK UPDATE MODE FILE INFORMATION
1087 S^;*********************************************************************^
1088
1089 030274 $IBUF: BLOCK 3
1090 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/
1091 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/
1092 030301 BLOCK 2
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 6
FIXED KSM 28-Mar-78 11:28 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978 SEQ 0083
1093 S^;*********************************************************************^
1094 ;*PUSHDOWN LIST CONTROL INFORMATION
1095 S^;*********************************************************************^
1096
1097 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST
1098 030304 PLISTS: BLOCK 200
1099 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
1100
1101 S^;*********************************************************************^
1102 ;*POWER LINE CLOCK FREQUENCY FLAG
1103 S^;*********************************************************************^
1104
1105 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE
1106
1107 S^;*********************************************************************^
1108 ;*KL10 CACHE CONTROL FLAGS
1109 S^;*********************************************************************^
1110
1111 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0
1112 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0
1113
1114 S^;*********************************************************************^
1115 ;*NUMBER INPUT DIGIT FLAG
1116 S^;*********************************************************************^
1117
1118 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
1119
1120 S^;*********************************************************************^
1121 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
1122 S^;*********************************************************************^
1123
1124 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
1125
1126 S^;*********************************************************************^
1127 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
1128 S^;*********************************************************************^
1129
1130 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO
1131 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO
1132 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
1133
1134 S^;*********************************************************************^
1135 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
1136 S^;*********************************************************************^
1137
1138 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 7
FIXED KSM 28-Mar-78 11:28 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978 SEQ 0084
1139 S^;*********************************************************************^
1140 ;*USER MODE MONITOR TYPE FLAG
1141 S^;*********************************************************************^
1142
1143 030516 000000 000000 MONTYP: 0 ;0 = TOPS10, -1 = TOPS20
1144
1145 S^;*********************************************************************^
1146 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
1147 S^;*********************************************************************^
1148
1149 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER
1150
1151 S^;*********************************************************************^
1152 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
1153 S^;*********************************************************************^
1154
1155 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
1156
1157 S^;*********************************************************************^
1158 ;*"SWITCH" CALL USAGE CONTROL
1159 S^;*********************************************************************^
1160
1161 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
1162
1163 S^;*********************************************************************^
1164 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
1165 S^;*********************************************************************^
1166
1167 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
1168 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
1169
1170 S^;*********************************************************************^
1171 ;*SM10 (KS-10) PROCESSOR TYPE FLAG
1172 S^;*********************************************************************^
1173
1174 030524 000000 000000 SM10: 0 ;IF -1 THIS IS AN KS-10
1175
1176 S^;*********************************************************************^
1177 ;*RIGHT HALF SWITCHES PROMPT TABLE ADDRESS
1178 S^;*********************************************************************^
1179
1180 030525 000000 000000 SWPTAB: 0 ;0 = NO PROMPT, ADR = ADR OF SIXBIT PROMPT TABLE
1181
1182 S^;*********************************************************************^
1183 ;*SPECIAL FUTURE EXPANSION ROOM
1184 S^;*********************************************************************^
1185
1186 S^;*********************************************************************^
1187 ;*END OF FIXED STORAGE
1188 S^;*********************************************************************^
1189
1190 030577 LOC 30577
1191 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* MAIN SUBROUTINE PACKAGE CONTROL SEQ 0085
1192 SUBTTL *CONTRL* MAIN SUBROUTINE PACKAGE CONTROL
1193
1194 000000 PNTLPT==0 ;NO LINE PRINTER ON KS10 IN EXEC MODE
1195
1196 S^;*********************************************************************^
1197 ;*SPECIAL SUBPROGRAM LINKAGES
1198 S^;*********************************************************************^
1199
1200 000440 LOC 440
1201
1202 000440 254 00 0 00 030000 JRST DIAGNOS
1203 000441 254 00 0 00 010000 JRST DDT
1204 000442 254 00 0 00 020000 JRST DIAMON
1205 000443 254 00 0 00 002001 JRST REINIT
1206
1207 027775 LOC 27775
1208
1209 027775 000000 010000 DDTLNK: 10000 ;DDT LINKAGE
1210 027776 000000 002003 MODLNK: MODCHK ;OPERATIONAL MODE CHECK LINKAGE
1211 027777 000000 002002 SUBLNK: SUBINI ;SUBROUTINE LINKAGE
1212
1213 001000 LOC 1000 ;RESET THE PC AFTER "FIXED" @ 30,000
1214
1215 S^;*********************************************************************^
1216 ;*LOAD COPY OF START PARAMETERS AT 1000 TO 1020
1217 S^;*********************************************************************^
1218
1219 001000 254 00 0 00 002021 JRST $SBSRT ;START SUBROUTINE BY ITSELF
1220 001001 254 00 0 00 002030 JRST $REINI ;REINIT SUBROUTINE
1221 001002 254 00 0 00 002051 JRST $PGMIN ;SUBROUTINE INIT ROUTINE
1222 001003 254 00 0 00 002127 JRST $MODCK ;OPERATIONAL MODE CHECK LINKAGE
1223 001004 777777 777777 -1 ;-1=NOT INITED, 0=CLEAR, +1=PROTOCALL
1224 001005 63 65 42 62 64 56 SIXBIT/SUBRTN/ ;"SUBRTN" IDENTIFICATION WORD
1225 001006 000000 000003 MCNVER,,DECVER ;"SUBRTN" VERSION INFORMATION
1226 001007 777777 777777 -1 ;MONITOR TTY SPEED
1227
1228 001010 254 04 0 00 001010 HALT . ;PROGRAM NOT CODED FOR EXEC MODE
1229 001011 254 04 0 00 001011 HALT . ;FATAL PUSH LIST POINTER ERROR
1230 001012 254 04 0 00 001012 HALT . ;INITIAL PUSH LIST POINTER ERROR
1231 001013 254 04 0 00 001013 HALT . ;MUUO WITH LUUO HANDLER WIPED OUT
1232 001014 254 04 0 00 001014 HALT . ;SM10 INTERRUPT WITHOUT DOORBELL
1233 001015 254 04 0 00 001015 HALT . ;SM10 CLOCK INTERRUPT WITHOUT FLAG SET
1234 001016 254 04 0 00 001016 HALT . ;CPU INITIALIZATION ERROR
1235 001017 254 04 0 00 001017 HALT . ;END OF PROGRAM ERROR
1236 001020 254 04 0 00 001020 HALT . ;INTERRUPT WITH LUUO HANDLER WIPED OUT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 2
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* MAIN SUBROUTINE PACKAGE CONTROL SEQ 0086
1237
1238 002000 LOC 2000 ;THIS STARTS THE ACTUAL SUBROUTINE PROGRAM
1239
1240 S^;*********************************************************************^
1241 ;*INITIALIZE THE SUBROUTINE PACKAGE
1242 S^;*********************************************************************^
1243
1244 002000 254 00 0 00 002021 START: JRST $SBSRT ;START SUBROUTINE BY ITSELF
1245 002001 254 00 0 00 002030 REINIT: JRST $REINI ;REINIT SUBROUTINE
1246 002002 254 00 0 00 002051 SUBINI: JRST $PGMIN ;SUBROUTINE INIT ROUTINE
1247 002003 254 00 0 00 002127 MODCHK: JRST $MODCK ;OPERATIONAL MODE CHECK LINKAGE
1248 002004 777777 777777 COMFLG: -1 ;-1=NOT INITED, 0=CLEAR, +1=PROTOCALL
1249 002005 63 65 42 62 64 56 SUBRTN: SIXBIT/SUBRTN/ ;"SUBRTN" IDENTIFICATION WORD
1250 002006 000000 000003 SUBVER: MCNVER,,DECVER ;"SUBRTN" VERSION INFORMATION
1251 002007 777777 777777 $TTYSPD:-1 ;MONITOR TTY SPEED
1252
1253 002010 254 04 0 00 002010 NOEXEC: HALT . ;PROGRAM NOT CODED FOR EXEC MODE
1254 002011 254 04 0 00 002011 PLERR: HALT . ;FATAL PUSH LIST POINTER ERROR
1255 002012 254 04 0 00 002012 PLERR1: HALT . ;INITIAL PUSH LIST POINTER ERROR
1256 002013 254 04 0 00 002013 MUOERR: HALT . ;MUUO WITH LUUO HANDLER WIPED OUT
1257 002014 254 04 0 00 002014 SMBER: HALT . ;SM10 INTERRUPT WITHOUT DOORBELL
1258 002015 254 04 0 00 002015 SMCER: HALT . ;SM10 CLOCK INTERRUPT WITHOUT FLAG SET
1259 002016 254 04 0 00 002016 CPIERR: HALT . ;CPU INITIALIZATION ERROR
1260 002017 254 04 0 00 002017 EOPERR: HALT . ;END OF PROGRAM ERROR
1261 002020 254 04 0 00 002020 LUOERR: HALT . ;INTERRUPT WITH LUUO HANDLER WIPED OUT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 3
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* MAIN SUBROUTINE PACKAGE CONTROL SEQ 0087
1262 S^;*********************************************************************^
1263 ;*SPECIAL SUBROUTINE ONLY INITIALIZATION
1264 S^;*********************************************************************^
1265
1266 002021 201 00 0 00 000001 $SBSRT: MOVEI 1
1267 002022 202 00 0 00 030024 MOVEM ITRCNT ;ALLOW ONLY ONE PASS
1268 002023 201 00 0 00 020000 MOVEI DIAMON
1269 002024 202 00 0 00 030012 MOVEM RETURN
1270 002025 476 00 0 00 030143 SETOM MAPNEW ;FULL 1024K MAPPING
1271 002026 265 00 0 00 030011 PGMINT
1272 002027 254 00 0 00 030057 JRST BEGEND
1273
1274 002030 402 00 0 00 030056 $REINI: SETZM $ONETM ;FOR NOW
1275 002031 476 00 0 00 002004 SETOM COMFLG ;REINIT COMM
1276 002032 402 00 0 00 030047 SETZM PASCNT
1277 002033 402 00 0 00 030053 SETZM ERRTLS
1278 002034 254 00 0 00 030000 JRST BEGIN
1279
1280 002035 254 00 0 00 030057 STARTA: JRST BEGEND
1281
1282 002036 PGMNAM: ASCIZ/
1283 002036 015 012 104 105 103 DECSYSTEM 2020 (KS-10) DIAGNOSTIC SUBROUTINE'S
1284 002037 123 131 123 124 105
1285 002040 115 040 062 060 062
1286 002041 060 040 050 113 123
1287 002042 055 061 060 051 040
1288 002043 104 111 101 107 116
1289 002044 117 123 124 111 103
1290 002045 040 123 125 102 122
1291 002046 117 125 124 111 116
1292 002047 105 047 123 015 012 /
1293 002050 000 000 000 000 000
1294 S^;*********************************************************************^
1295 ;*CONTRL* SUBROUTINE PACKAGE INITIALIZATION
1296 S^;*********************************************************************^
1297
1298 002051 202 00 0 00 007441 $PGMIN: MOVEM 0,$$PAC0
1299 002052 200 00 0 00 007004 MOVE 0,[2000,,1000] ;SETUP ORIGINAL INITIALIZE BLOCK
1300 002053 251 00 0 00 001020 BLT 0,1020
1301 002054 476 00 0 00 030037 SETOM USER
1302 002055 265 00 0 00 002056 JSP 0,.+1 ;LOAD FLAGS INTO AC0
1303 002056 607 00 0 00 010000 TLNN 0,USERF ;USER MODE ?
1304 002057 402 00 0 00 030037 SETZM USER ;EXEC MODE
1305 002060 336 00 0 00 030042 SKIPN MONFLG ;DIAG MON, SPECIAL USER MODE ?
1306 002061 402 00 0 00 030037 SETZM USER ;YES, TREAT I/O AS EXEC
1307 002062 332 00 0 00 030037 SKIPE USER
1308 002063 254 00 0 00 002146 JRST $NOUSR ;NO USER MODE IN "SUBSM"
1309 002064 7 004 20 0 00 010000 CONO PI,PICLR ;CLEAR PI SYSTEM
1310 002065 7 000 20 0 00 200000 CONO APR,IOCLR ;CLEAR I/O
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 4
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* MAIN SUBROUTINE PACKAGE CONTROL SEQ 0088
1311 S^;*********************************************************************^
1312 ;*INITIALIZE PROCESSOR FLAGS AND PUSH LIST
1313 S^;*********************************************************************^
1314
1315 002066 554 00 0 00 000120 $PGMN1: HLRZ JOBSA ;RESET JOB FIRST FREE TO
1316 002067 202 00 0 00 000121 MOVEM JOBFF ;END OF LOW SEGMENT
1317 002070 254 02 1 00 002071 JRST 2,@.+1 ;CLEAR PC FLAGS
1318 002071 000000 002072 0,,.+1
1319 002072 200 00 0 00 030046 MOVE CONSW
1320 002073 202 00 0 00 007512 MOVEM $SVCSW# ;SAVE PREVIOUS SWITCHES
1321 002074 402 00 0 00 030046 SETZM CONSW# ;CLEAR SWITCH REGISTER
1322 002075 402 00 0 00 007514 SETZM $SWFLG# ;DISALLOW SWITCHES TILL INITED
1323 002076 200 00 0 00 007005 MOVE [JRST $DDTENT] ;SETUP DDT START
1324 002077 202 00 0 00 030007 MOVEM DDTSRT ;DDT IF LOADED, EOPUUO IF NOT
1325 002100 200 00 0 00 007006 MOVE [JRST PSHERR]
1326 002101 202 00 0 00 030103 MOVEM $PSHER ;INIT FOR UNDERFLOW
1327 002102 200 17 0 00 030303 MOVE P,PLIST ;INIT PUSH POINTER
1328 002103 201 00 0 00 030103 MOVEI 0,$PSHER
1329 002104 261 17 0 00 000000 PUSH P,0 ;SET ERR FOR EXCESSIVE POP'S
1330 002105 261 17 0 00 000000 PUSH P,0
1331
1332 S^;*********************************************************************^
1333 ;*INITIALIZE SUBROUTINES
1334 S^;*********************************************************************^
1335
1336 002106 260 17 0 00 002770 PGINGO: GO $CPUTP ;DETERMINE CPU TYPE
1337 002107 261 17 0 00 030506 PUT CSHFLG
1338 002110 476 00 0 00 030506 SETOM CSHFLG ;PREVENT CACHE ON STARTUP
1339 002111 260 17 0 00 002151 GO $MAPEX ;MAP EXEC
1340 002112 262 17 0 00 030506 GET CSHFLG
1341 002113 260 17 0 00 002165 GO $UUOIN ;INIT UUO TRAP TRANSFER LOCATION
1342 002114 260 17 0 00 005444 GO $PNTIN ;INIT PRINT SUBROUTINE
1343 002115 260 17 0 00 004454 GO $SWTIN ;INIT SWITCH INPUT SUBROUTINE
1344 002116 260 17 0 00 003233 GO $ITRIN ;INIT INTERRUPT SUBROUTINE
1345 002117 332 00 0 00 030034 SKIPE $MMAP ;MEMORY ROUTINES ?
1346 002120 260 17 0 00 003603 GO $MEMMP ;MAP MEMORY
1347 002121 260 17 0 00 003031 GO $SMCSH ;INIT CACHE
1348 002122 476 00 0 00 030056 SETOM $ONETM ;SET ONE TIME FLAG
1349 002123 402 00 0 00 030116 SETZM SCOPE ;INIT ERROR SCOPE LOOP
1350 002124 402 00 0 00 030052 SETZM ERRPC ;INIT ERROR PC
1351 002125 402 00 0 00 007435 SETZM PERTLS# ;INIT PRINTED ERROR TOTAL
1352 002126 254 00 1 00 007441 JRST @$$PAC0# ;RETURN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 5
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* MAIN SUBROUTINE PACKAGE CONTROL SEQ 0089
1353 S^;*********************************************************************^
1354 ;*$MODCK -- THIS ROUTINE IS USED TO DETERMINE THE PROPER OPERATIONAL
1355 ;*MODE FOR A DIAGNOSTIC JUST LOADED. IT WILL CHECK WHETHER OR NOT
1356 ;*IT IS IN USER MODE OR EXEC MODE. AND THEN WILL CHECK TO SEE WHAT
1357 ;*MODE HAS BEEN SELECTED FOR THIS TEST TO RUN IN. THIS MODE IS SELECTED
1358 ;*AT ASSEMBLY TIME.
1359 S^;*********************************************************************^
1360
1361 002127 265 00 0 00 002130 $MODCK: JSP 0,.+1 ;GET FLAG CONDITIONS
1362 002130 603 00 0 00 010000 TLNE 0,USERF ;IN USER MODE ?
1363 002131 254 00 0 00 002144 JRST $UCK ;YES
1364 002132 476 00 0 00 030024 $ECK: SETOM ITRCNT ;EXEC, RUN FOREVER
1365 002133 402 00 0 00 030043 SETZM MONCTL ;NOT HERE IF UNDER MONITOR CONTROL
1366 002134 476 00 0 00 030042 SETOM MONFLG ;SET TO NORMAL OPERATION
1367 002135 332 00 0 00 030044 SKIPE MONTEN ;LOADED BY "DIAMON" ?
1368 002136 254 00 0 00 002141 JRST .+3 ;YES, RETURN TO "DIAMON" UPON COMPLETION
1369 002137 201 00 0 00 030000 MOVEI BEGIN ;SET UP RETURN IN CASE WE EVER COUNT OUT
1370 002140 202 00 0 00 030012 MOVEM RETURN ;FOR THE RETURN ADDRESS
1371 002141 332 00 0 00 030031 SKIPE $EMODE ;EXEC MODE ALLOWED?
1372 002142 254 00 0 00 030001 JRST $START ;YES - CONTINUE
1373 002143 254 04 0 00 002010 HALT NOEXEC ;THIS PROGRAM NOT CODED FOR EXEC MODE OPERATION!
1374
1375 002144 332 00 0 00 030032 $UCK: SKIPE $UMODE ;USER MODE ALLOWED?
1376 002145 254 00 0 00 030001 JRST $START ;YES - CONTINUE
1377 002146 $NOUSR: OUTSTR [ASCIZ/
1378 EXEC ONLY
1379 002146 051 03 0 00 007007 /]
1380 002147 051 03 1 00 030025 OUTSTR @$PNAME ;PRINT THE NAME OF THIS FILE
1381 002150 254 00 1 00 030012 JRST @RETURN ;LEAVE FOR EVER
1382
1383 S^;*********************************************************************^
1384 ;* $MAPEX - SM10 0 TO 112K PAGE MAP SETUP
1385 ;* 0 TO 112K POINTS TO ITSELF
1386 S^;*********************************************************************^
1387
1388 002151 200 00 0 00 007012 $MAPEX: MOVE [540000,,540001]
1389 002152 336 00 0 00 030506 SKIPN CSHFLG
1390 002153 660 00 0 00 020000 TRO 020000
1391 002154 202 00 0 00 000600 MOVEM 600 ;SET EPT NON-CACHED
1392 002155 205 01 0 00 777621 MOVSI 1,-157
1393 002156 200 00 0 00 007012 MOVE [540000,,540001]
1394 002157 336 00 0 00 030506 SKIPN CSHFLG ;REST CACHED IF ALLOWED
1395 002160 670 00 0 00 007013 TDO [020000,,020000]
1396 002161 270 00 0 00 007014 ADD [2,,2]
1397 002162 202 00 0 01 000601 MOVEM 601(1)
1398 002163 253 01 0 00 002161 AOBJN 1,.-2
1399 002164 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 6
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* UUO HANDLING SUBROUTINE SEQ 0090
1400 SUBTTL *CONTRL* UUO HANDLING SUBROUTINE
1401
1402 S^;*********************************************************************^
1403 ;*UUO INITIALIZATION
1404 S^;*********************************************************************^
1405
1406 002165 200 00 0 00 007015 $UUOIN: MOVE [GO $UORTN] ;BRING IN UUORTN ENTRY INSTR.
1407 002166 202 00 0 00 000041 MOVEM JOB41 ;SETUP UUO TRAP AT JOB41
1408 002167 200 00 0 00 007016 MOVE [JRST $UOERX]
1409 002170 202 00 0 00 030070 MOVEM $UUOER ;SET UUO ERROR IN "FIXED"
1410 002171 402 00 0 00 007533 SETZM $UPLER#
1411 002172 263 17 0 00 000000 RTN ;EXIT
1412
1413 S^;*********************************************************************^
1414 ;*THIS ROUTINE FIELDS ALL TRAPPED UUO'S AND SELECTS BETWEEN SUBROUTINE
1415 ;*PACKAGE UUO'S (037), TEST ERROR UUO'S (034, 035 & 036), AND DIAGNOSTIC
1416 ;*PROGRAM SEGMENT UUO'S (001 - 033).
1417 ;*AC0 IS SAVED ON THE STACK INITIALLY
1418 S^;*********************************************************************^
1419
1420 002173 332 00 0 00 030515 $UORTN: SKIPE $$UUO ;IF NON-ZERO, XCT USERS UUO INTERCEPT
1421 002174 256 00 0 00 030515 XCT $$UUO
1422 002175 202 00 0 00 007440 MOVEM AC0,$$AC0# ;SAVE AC0
1423 002176 550 00 0 00 000017 HRRZ AC0,P ;VERIFY THAT THE PUSH POINTER
1424 002177 307 00 0 00 030303 CAIG AC0,PLIST ;IS STILL OK
1425 002200 254 00 0 00 002263 JRST $UOPLE ;OUT OF RANGE
1426 002201 301 00 0 00 030504 CAIL AC0,PLISTE
1427 002202 254 00 0 00 002263 JRST $UOPLE
1428 002203 554 00 0 00 000017 HLRZ AC0,P ;GET CONTROL COUNT
1429 002204 307 00 0 00 777577 CAIG AC0,777577
1430 002205 254 00 0 00 002263 JRST $UOPLE ;OUT OF RANGE
1431 002206 301 00 0 00 777777 CAIL AC0,777777
1432 002207 254 00 0 00 002263 JRST $UOPLE
1433 002210 261 17 0 00 007440 PUT $$AC0 ;SAVE AC0 ON PUSH LIST
1434 002211 200 00 0 00 000040 MOVE AC0,JOBUUO ;GET THE UUO
1435 002212 242 00 0 00 777745 LSH AC0,-^D27 ;ISOLATE INSTRUCTION FIELD FOR UUO (RT 27 PLACES)
1436 002213 303 00 0 00 000033 CAILE AC0,33 ;IS IT 33 OR LESS? (LOW)
1437 002214 254 00 0 00 002241 JRST $SUBUO ;DECODE 34 - 37 @ $SUBUO
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 7
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* UUO HANDLING SUBROUTINE SEQ 0091
1438 002215 200 00 0 17 777777 $USRUO: MOVE AC0,-1(P) ;GET USRPC + 1 (AC0 IS ALSO ON THE STACK)
1439 002216 275 00 0 00 000001 SUBI 1 ; - 1
1440 002217 202 00 0 00 030114 MOVEM $SVUPC ;SAVE FOR USER UUO ROUTINE (IF NEEDED)
1441 002220 200 00 0 00 000040 MOVE AC0,JOBUUO ;GET UUO FROM LOCATION 40 IN JDA
1442 002221 202 00 0 00 030113 MOVEM $SVUUO ;SAVE FOR USER UUO ROUTINE
1443 002222 262 17 0 00 000000 GET AC0
1444 002223 256 00 0 00 030066 XCT UUORTN ;EXECUTE USERS ROUTINE IF SUPPLIED
1445 002224 261 17 0 00 000000 PUT AC0
1446 002225 200 00 0 00 030113 MOVE AC0,$SVUUO
1447 002226 242 00 0 00 777745 LSH AC0,-^D27 ;RIGHT SHIFT FOR INDEX INTO UUO TABLE
1448 002227 261 17 0 00 000001 PUT 1
1449 002230 246 00 0 00 777777 LSHC 0,-1
1450 002231 271 00 0 00 030124 ADDI UUODIS ;ADD USER UUO TABLE START TO THE UUO
1451 002232 607 01 0 00 400000 $XUUO: TLNN 1,400000
1452 002233 550 00 1 00 000000 HRRZ @0 ;EVEN UUO
1453 002234 603 01 0 00 400000 TLNE 1,400000
1454 002235 554 00 1 00 000000 HLRZ @0 ;ODD UUO
1455 002236 262 17 0 00 000001 GET 1
1456 002237 250 00 0 17 000000 EXCH AC0,(P) ;PUT ADR ON STACK, AC0 BACK IN AC0
1457 002240 263 17 0 00 000000 RTN ;SPECIAL XFER TO ROUTINE USING ADR ON STACK
1458
1459 002241 275 00 0 00 000034 $SUBUO: SUBI AC0,34 ;NORMALIZE TO MAKE LOWEST UUO = 0
1460 002242 271 00 0 00 002244 ADDI AC0,TABLE0 ;ADDR OF TABLE + NORM. UUO (0-3)
1461 002243 254 00 1 00 000000 JRST @0 ;SELECT THE CORRECT ERROR UUO VIA TABLE
1462
1463 002244 254 00 0 00 002465 TABLE0: JRST %REPT ;UUO = 34 ......................REPEAT
1464 002245 254 00 0 00 002420 JRST %ERLP ;UUO = 35 ...........LOOP ON THE ERROR
1465 002246 254 00 0 00 002502 JRST %ERUUO ;UUO = 36 .REPORT THE ERROR CONDITIONS
1466 002247 254 00 0 00 002316 JRST $UUO37 ;UUO = 37 .......DECODE SUBROUTINE UUO
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 8
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* UUO HANDLING SUBROUTINE SEQ 0092
1467 S^;*********************************************************************^
1468 ;*UUO ERROR EXIT ROUTINE
1469 S^;*********************************************************************^
1470 SALL
1471 002250 261 17 0 00 000040 $UOERX: PUT JOBUUO ;SAVE BAD UUO WHILE PRINTING VIA AC0 (P + 1)
1472 002251 037 02 0 00 007017 PMSG <^ILLEGAL UUO^UUO]]FLAGS] PC^>
1473 002252 262 17 0 00 000000 GET AC0 ;GET BAD UUO FROM THE STACK (P - 1)
1474 002253 037 13 0 00 000000 PNTHW ;PRINT IT
1475 002254 037 00 0 00 000040 PSP ;PRINT SPACE
1476 002255 262 17 0 00 000000 GET AC0 ;GET FLAGS & UUO PC + 1 FROM STACK (P - 1)
1477 002256 275 00 0 00 000001 SUBI AC0,1 ;SUBTRACT 1
1478 002257 037 13 0 00 000000 PNTHW ;PRINT FLAGS & UUO PC
1479 002260 037 00 0 00 030242 PCRL ;PRINT C/R & L/F
1480 002261 256 00 0 00 030067 XCT $UORTX ;EXECUTE USERS UUO EXIT, IF PROV
1481 002262 037 15 0 00 000004 FATAL
1482
1483 002263 332 00 0 00 007533 $UOPLE: SKIPE $UPLER ;FIRST TIME ?
1484 002264 254 04 0 00 002011 HALT PLERR ;NO, FATAL HALT THEN
1485 002265 476 00 0 00 007533 SETOM $UPLER
1486 002266 202 17 0 00 007476 MOVEM P,$PDOVP ;SAVE "P"
1487 002267 200 17 0 00 030303 MOVE P,PLIST
1488 002270 312 17 0 00 007024 CAME P,[PLIST-PLISTE,,PLIST]
1489 002271 254 04 0 00 002012 HALT PLERR1 ;INITIAL POINTER BAD
1490 002272 201 00 0 00 030103 MOVEI $PSHER
1491 002273 261 17 0 00 000000 PUSH P,0
1492 002274 037 04 0 00 007025 PMSGF <^*****^UUO PLIST ERR P=>
1493 002275 200 00 0 00 007476 MOVE $PDOVP
1494 002276 037 13 0 00 000001 PNTHWF
1495 002277 037 15 0 00 000004 FATAL
1496 LALL
1497 S^;*********************************************************************^
1498 ;*MONITOR UUO ERROR EXIT ROUTINE
1499 S^;*********************************************************************^
1500 SALL
1501 002300 332 00 0 00 030517 MUUOER: SKIPE $$MUUO
1502 002301 256 00 0 00 030517 XCT $$MUUO ;EXECUTE USERS MUUO ROUTINE, IF PROV
1503 002302 200 00 0 00 000041 MOVE AC0,JOB41 ;GET UUO HANDLER
1504 002303 312 00 0 00 007015 CAME AC0,[GO $UORTN]
1505 002304 254 04 0 00 002013 HALT MUOERR ;NOT VALID
1506 002305 200 00 0 00 000425 MOVE MUUOPC
1507 002306 202 00 0 00 030104 MOVEM ITRCH1
1508 002307 7 000 24 0 00 030110 CONI APR,$SVAPR
1509 002310 7 004 24 0 00 030107 CONI PI,$SVPI
1510 002311 037 02 0 00 007031 PMSG <^ERROR MUUO = >
1511 002312 200 00 0 00 000424 MOVE MUUO
1512 002313 037 13 0 00 000000 PNTHW ;PRINT MUUO
1513 002314 402 00 0 00 000000 SETZM 0
1514 002315 254 00 0 00 003275 JRST $ITR1B ;COMMON INTERRUPT ROUTINE START
1515 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 9
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* UUO HANDLING SUBROUTINE SEQ 0093
1516 S^;*********************************************************************^
1517 ;*DECODE ROUTINE FOR SUBROUTINE UUO'S (037)
1518 S^;*********************************************************************^
1519
1520 002316 550 00 0 00 000040 $UUO37: HRRZ JOBUUO ;GET CALLING UUO
1521 002317 322 00 0 00 005504 JUMPE $PNTIT ;PRINT UUO
1522 002320 306 00 0 00 000001 CAIN 0,1
1523 002321 254 00 0 00 005500 JRST $PNTIF ;PRINT FORCED UUO
1524 002322 602 00 0 00 777600 TRNE 777600
1525 002323 254 00 0 00 002400 JRST $EG177 ;PRINT MESSAGE UUO
1526 002324 301 00 0 00 000005 CAIL 5
1527 002325 254 00 0 00 002367 JRST $EG4 ;PRINT CHAR IMMEDIATE UUO
1528 002326 261 17 0 00 000001 PUT 1
1529 002327 200 01 0 00 000040 MOVE 1,JOBUUO
1530 002330 242 01 0 00 777751 LSH 1,-^D23 ;EXTRACT UUO AC FIELD
1531 002331 405 01 0 00 000017 ANDI 1,17
1532 002332 242 00 0 00 000004 LSH 0,4 ;POSITION E FIELD
1533 002333 434 00 0 00 000001 IOR 0,1 ;COMBINE E & AC FIELD
1534 002334 246 00 0 00 777777 LSHC 0,-1 ;SET ODD/EVEN
1535 002335 271 00 0 00 002317 ADDI $UOTAB-20 ;COMPUTE TABLE ENTRY OFFSET
1536 002336 254 00 0 00 002232 JRST $XUUO
1537
1538 002337 $UOTAB: ;E FIELD = 2
1539 002337 005602 005571 $PTSXF,,$PNTSX
1540 002340 005753 005720 $PNTCF,,$PNTCW
1541 002341 002417 003155 $DRPDV,,$PNTNM
1542 002342 002417 002417 $MODDV,,$MODDP
1543 002343 004066 004437 $MSEG,,$SWTCH
1544 002344 004316 004255 $MPADR,,$MZRO
1545 002345 003730 004041 $MPCNK,,$MPSET
1546 002346 004346 002417 $PMAP,,$PNTMG
1547 ;E FIELD = 3
1548 002347 005224 005055 $YESNO,,$OPTLK
1549 002350 005267 005222 $TPOCT,,$NOYES
1550 002351 005263 005265 $TPCNV,,$TPDEC
1551 002352 005067 005046 $TALTM,,$TTLK
1552 002353 005051 005411 $TTYIN,,$TISIX
1553 002354 002250 005163 $UOERX,,$TPCLR
1554 002355 005613 005616 $PSIXF,,$PSIX
1555 002356 005655 005660 $POCSF,,$POCS
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 10
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* UUO HANDLING SUBROUTINE SEQ 0094
1556 ;E FIELD = 4
1557 002357 002250 003603 $UOERX,,$MEMMP
1558 002360 002250 002250 $UOERX,,$UOERX
1559 002361 003047 002417 $FSELECT,,$MTROP
1560 002362 003073 003075 $FRD36,,$FREAD
1561 002363 002250 003071 $UOERX,,$FRD8
1562 002364 002417 003553 $CLOCK,,$END
1563 002365 003133 003111 $FATAL,,$ERHLT
1564 002366 002250 003574 $UOERX,,$EOP
1565
1566 002367 200 00 0 00 000040 $EG4: MOVE JOBUUO ;IMMEDIATE CHARACTER PRINT
1567 002370 316 00 0 00 007034 CAMN [PBELL]
1568 002371 254 00 0 00 002412 JRST $EGBELL
1569 002372 316 00 0 00 007035 CAMN [PFORCE]
1570 002373 254 00 0 00 002415 JRST $EGFRC
1571 002374 603 00 0 00 000040 TLNE (1B12)
1572 JRST [PNTCHF
1573 002375 254 00 0 00 007036 JRST $EGX]
1574 002376 037 12 0 00 000000 PNTCHR
1575 002377 254 00 0 00 002410 JRST $EGX
1576
1577 002400 200 00 0 00 000040 $EG177: MOVE JOBUUO ;IMMEDIATE MESSAGE PRINT
1578 002401 603 00 0 00 000200 TLNE (4B12)
1579 JRST [PSIXLF
1580 002402 254 00 0 00 007040 JRST $EGX]
1581 002403 603 00 0 00 000100 TLNE (2B12)
1582 JRST [PSIXL
1583 002404 254 00 0 00 007042 JRST $EGX]
1584 002405 603 00 0 00 000040 TLNE (1B12)
1585 JRST [PNTALF
1586 002406 254 00 0 00 007044 JRST $EGX]
1587 002407 037 17 0 00 000000 PNTAL
1588 002410 262 17 0 00 000000 $EGX: GET 0
1589 002411 263 17 0 00 000000 RTN
1590
1591 002412 337 00 0 00 002004 $EGBELL:SKIPG COMFLG
1592 JRST [PNTCHF
1593 002413 254 00 0 00 007046 JRST $EGFRC]
1594 002414 260 17 0 00 006723 COMBELL ;SEND BELL
1595
1596 002415 402 00 0 00 007506 $EGFRC: SETZM $PTINH ;CLEAR PRINT INHIBIT
1597 002416 254 00 0 00 002410 JRST $EGX
1598
1599 002417 $MODDV:
1600 002417 $MODDP:
1601 002417 $DRPDV:
1602 002417 $MTROP:
1603 002417 $CLOCK:
1604 002417 254 00 0 00 002250 $PNTMG: JRST $UOERX ;N/A ON SM-10
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 11
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER SEQ 0095
1605 SUBTTL *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER
1606
1607 S^;*********************************************************************^
1608 ;*THE DIAGNOSTIC ERROR HANDLER IS A SUBROUTINE CAPABLE OF REPORTING
1609 ;*A STANDARD BUT FLEXIBLE FORMAT OF TEST DATA AND DIAGNOSTIC
1610 ;*INFORMATION. THE ERROR HANDLER ALSO INTERPRETS AND CONTROLS TEST
1611 ;*SWITCHES SUCH AS TYPEOUT SUPPRESSION, CONTINUE/HALT OR LOOP ON
1612 ;*ERROR, AND BELL ON ERROR.
1613 S^;*********************************************************************^
1614
1615 S^;*********************************************************************^
1616 ;*ERROR LOOPING ROUTINE
1617 ;*EITHER CONTINUES IN-LINE
1618 ;*OR TRANSFERS TO E FIELD OF UUO
1619 ;*CHECKS PC OF ERROR TO DETERMINE LOOPING
1620 S^;*********************************************************************^
1621
1622 002420 402 00 0 00 007541 %ERLP: SETZM %ERFLG#
1623 002421 261 17 0 00 000040 PUT JOBUUO
1624 002422 260 17 0 00 005067 GO $TALTM ;DO ALTMODE CHECK
1625 002423 254 00 0 00 002427 JRST .+4 ;NOT ONE
1626 002424 201 00 0 00 002427 MOVEI .+3 ;SAVE RESTART ADDRESS
1627 002425 202 00 0 00 000130 MOVEM JOBOPC
1628 002426 254 00 1 00 030063 JRST @ALTMGO ;TRANSFER TO ALTMODE ROUTINE
1629 002427 262 17 0 00 000040 GET JOBUUO
1630 002430 200 00 0 00 000040 MOVE AC0,JOBUUO ;GET AC FIELD OF UUO
1631 002431 242 00 0 00 777751 LSH AC0,-^D23
1632 002432 405 00 0 00 000017 ANDI AC0,17
1633 002433 306 00 0 00 000002 CAIN AC0,2
1634 002434 254 00 0 00 002453 JRST %ERLP2 ; 2 = LOOP IF ANY ERROR
1635 002435 306 00 0 00 000001 CAIN AC0,1
1636 002436 254 00 0 00 002447 JRST %ERLP1 ; 1 = LOOP IF PC'S MATCH
1637 002437 306 00 0 00 000000 CAIN AC0,0
1638 002440 254 00 0 00 002443 JRST %ERLP0 ; 0 = PC'S, REPT, REPT1 & ERROR
1639 002441 262 17 0 00 000000 GET AC0
1640 002442 254 00 0 00 002250 JRST $UOERX
1641 002443 476 00 0 00 007541 %ERLP0: SETOM %ERFLG
1642 002444 316 15 0 00 007545 CAMN REPT,%RP ;ARE REPEAT COUNTS SAME AS ERROR ?
1643 002445 312 16 0 00 007546 CAME REPT1,%RP1 ;(AT RIGHT PLACE IN TEST LOOPS ?)
1644 002446 254 00 0 00 002463 JRST %ERX1 ;NO, CONTINUE IN LINE
1645 002447 550 00 0 17 777777 %ERLP1: HRRZ AC0,-1(P) ;GET PC OF LOOP CALL FROM STACK
1646 002450 275 00 0 00 000002 SUBI AC0,2 ;LESS 2
1647 002451 312 00 0 00 030052 CAME AC0,ERRPC ;NOW EQUAL TO PC OF ERROR CALL ?
1648 002452 254 00 0 00 002463 JRST %ERX1 ;NO, CONTINUE IN LINE
1649 002453 260 17 0 00 004437 %ERLP2: GO $SWTCH ;READ SWITCHES INTO AC0
1650 002454 607 00 0 00 004000 TLNN LOOPER ;LOOP ON ERROR ?
1651 002455 402 00 0 00 030116 SETZM SCOPE ;NO ..........CLEAR LOOP CONTROL
1652 002456 331 00 0 00 030116 SKIPL SCOPE ;YES ...WAS THERE AN ERROR ?
1653 002457 254 00 0 00 002463 JRST %ERX1 ;NO, CONTINUE IN LINE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 12
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER SEQ 0096
1654 002460 262 17 0 00 000000 %ERX: GET AC0 ;RESTORE AC0
1655 002461 274 17 0 00 007050 SUB P,[1,,1] ;CORRECT PUSH LIST POINTER FOR NO "RTN"
1656 002462 254 00 1 00 000040 JRST @JOBUUO ;TRANSFER TO E FIELD OF UUO
1657
1658 002463 262 17 0 00 000000 %ERX1: GET AC0 ;RESTORE AC0
1659 002464 263 17 0 00 000000 RTN
1660
1661 S^;*********************************************************************^
1662 ;*REPEAT LOOP ROUTINE
1663 ;*EITHER CONTINUES IN-LINE
1664 ;*OR TRANSFERS TO E FIELD OF UUO
1665 S^;*********************************************************************^
1666
1667 002465 373 00 0 00 030115 %REPT: SOSLE REPTU# ;REPEAT TEST SECTION ?
1668 002466 254 00 0 00 002460 JRST %ERX ;YES, E FIELD OF UUO IS RETURN
1669 002467 254 00 0 00 002463 JRST %ERX1 ;NO, CONTINUE IN LINE
1670
1671 S^;*********************************************************************^
1672 ;*COMMON ERROR HANDLER AC SAVE/RESTORE
1673 S^;*********************************************************************^
1674
1675 002470 202 00 0 00 007534 %EACS: MOVEM 0,%AC0#
1676 002471 202 01 0 00 007535 MOVEM 1,%AC1#
1677 002472 202 02 0 00 007536 MOVEM 2,%AC2#
1678 002473 202 03 0 00 007537 MOVEM 3,%AC3#
1679 002474 263 17 0 00 000000 RTN
1680
1681 002475 200 00 0 00 007534 %EACR: MOVE 0,%AC0
1682 002476 200 01 0 00 007535 %EACR1: MOVE 1,%AC1
1683 002477 200 02 0 00 007536 MOVE 2,%AC2
1684 002500 200 03 0 00 007537 MOVE 3,%AC3
1685 002501 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 13
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER SEQ 0097
1686 S^;*********************************************************************^
1687 ;*ERROR REPORTING ROUTINE
1688 S^;*********************************************************************^
1689
1690 002502 200 00 0 00 000040 %ERUUO: MOVE LUUO
1691 002503 202 00 0 00 007544 MOVEM %LUUO#
1692 002504 476 00 0 00 030116 SETOM SCOPE
1693 002505 262 17 0 00 000000 GET AC0
1694 002506 332 00 0 00 030512 SKIPE %ERHI1 ;ANY USERS INSTRUCTION ?
1695 002507 256 00 0 00 030512 XCT %ERHI1 ;YES, DO USERS ROUTINE
1696 002510 260 17 0 00 002470 GO %EACS ;SAVE AC0 - AC3
1697 002511 402 00 0 00 030117 SETZM %CORFLG#
1698 002512 402 00 0 00 030121 SETZM %ACTFL#
1699 002513 350 00 0 00 030053 AOS ERRTLS ;INCREMENT ERROR TOTALS
1700 002514 260 17 0 00 004437 GO $SWTCH
1701 002515 550 03 0 17 000000 HRRZ 3,(P) ;GET <ADDRESS> OF ERROR CALL FROM STACK
1702 002516 275 03 0 00 000001 SUBI 3,1
1703 002517 312 03 0 00 030052 CAME 3,ERRPC ;SKIP IF SAME ERROR
1704 002520 254 00 0 00 002530 JRST %ERPNT
1705 002521 336 00 0 00 007541 SKIPN %ERFLG
1706 002522 254 00 0 00 002526 JRST .+4 ;DON'T CHECK REPEAT COUNTS
1707 002523 316 15 0 00 007545 CAMN REPT,%RP
1708 002524 312 16 0 00 007546 CAME REPT1,%RP1
1709 002525 254 00 0 00 002530 JRST %ERPNT ;DIFFERENT, PRINT ERROR
1710 002526 607 00 0 00 001000 TLNN PALERS ;PRINT ALL ERRORS ?
1711 002527 254 00 0 00 002731 JRST %ERSW1 ;THIS ERROR ALREADY REPORTED ONCE.
1712
1713 S^;*********************************************************************^
1714 ;*BYPASS ERROR REPORT IF NOPNT SWITCH IS SET
1715 S^;*********************************************************************^
1716
1717 002530 202 15 0 00 007545 %ERPNT: MOVEM REPT,%RP# ;SAVE REPEAT COUNTS
1718 002531 202 16 0 00 007546 MOVEM REPT1,%RP1#
1719 002532 202 03 0 00 030052 MOVEM 3,ERRPC ;SAVE ERROR CALL ADDRESS
1720 002533 603 00 0 00 040000 TLNE 0,NOPNT
1721 002534 254 00 0 00 002731 JRST %ERSW1
1722 002535 037 01 0 00 000026 PFORCE ;OVERRIDE CONTROL O
1723 002536 402 00 0 00 007540 SETZM %ERCNT#
1724 002537 335 00 0 00 030043 SKIPGE MONCTL ;DIAG MON OR SYS EXER ?
1725 002540 254 00 0 00 002743 JRST %ERPRA ;YES, GO PRINT TITLE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 14
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER SEQ 0098
1726 SALL
1727 002541 336 00 0 00 030047 %ERPRB: SKIPN PASCNT
1728 002542 254 00 0 00 002546 JRST .+4 ;DON'T PRINT PASS COUNTER ON FIRST PASS
1729 002543 037 02 0 00 007051 PMSG <^TEST PASS COUNT = >
1730 002544 200 00 0 00 030047 MOVE 0,PASCNT
1731 002545 037 15 0 00 000000 PNTDEC ;PRINT TEST PASS COUNTER
1732 002546 350 00 0 00 007435 AOS PERTLS ;INCREMENT PRINTED ERROR TOTAL
1733 002547 037 02 0 00 007055 PMSG <^PC= >
1734 002550 201 00 0 03 000000 MOVEI 0,(3)
1735 002551 037 06 0 00 000000 PNT6 ;PRINT PC OF ERROR CALL.
1736 002552 037 02 0 00 007057 PMSG <^SWITCHES = >
1737 002553 200 00 0 00 030046 MOVE CONSW
1738 002554 037 13 0 00 000000 PNTHW ;PRINT SWITCHES AT ERROR
1739 002555 260 17 0 00 002475 GO %EACR
1740 002556 332 00 0 00 030514 SKIPE %ERHI3 ;IF NON-ZERO, XCT USERS ROUTINE
1741 002557 256 00 0 00 030514 XCT %ERHI3
1742
1743 002560 550 03 1 00 030052 HRRZ 3,@ERRPC ;GET "E FIELD" OF ERROR CALL
1744 002561 200 00 0 00 030046 MOVE 0,CONSW ;AC3 HAS THE ERROR CALL ADDR IN IT
1745 002562 603 00 0 00 000200 TLNE TXTINH ;TEXT INHIBITED ?
1746 002563 254 00 0 00 002604 JRST %ERPR2 ;YES
1747 002564 201 00 0 00 007062 MOVEI 0,SIXBTZ <^ERROR IN >
1748 002565 554 01 0 03 000000 HLRZ 1,(3) ;GET NAME OF FAILING TEST
1749 002566 322 01 0 00 002574 JUMPE 1,%ERPR1 ;JUMP IF NO TEST NAME
1750 002567 037 14 0 00 000003 PSIXL ;*DEFINE T=0 TO INHIBIT TEST NAME
1751 002570 200 00 0 00 000001 MOVE 0,1
1752 002571 037 14 0 00 000003 PSIXL ;REPORT NAME OF FAILING TEST
1753 002572 201 00 0 00 007064 MOVEI 0,SIXBTZ < - >
1754 002573 254 00 0 00 002575 JRST .+2
1755 002574 201 00 0 00 007065 %ERPR1: MOVEI 0,SIXBTZ <^>
1756 002575 550 01 0 03 000000 HRRZ 1,(3) ;GET ADDRESS OF FUNCTION MSG
1757 002576 200 01 0 01 000000 MOVE 1,(1) ;GET MESSAGE
1758 002577 316 01 0 00 007056 CAMN 1,[SIXBIT\_\] ;BLANK MESSAGE ?
1759 002600 254 00 0 00 002604 JRST %ERPR2 ;JUMP IF NO FUNCTION CALLED OUT.
1760 002601 037 14 0 00 000003 PSIXL
1761 002602 550 00 0 03 000000 HRRZ 0,(3) ;GET MESSAGE ADDRESS AGAIN
1762 002603 037 14 0 00 000003 PSIXL ;REPORT FUNCTION BEING TESTED.
1763 002604 476 00 0 00 030123 %ERPR2: SETOM %DISCR# ;SET 'DISCREPANCY FLAG'.
1764 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 15
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER SEQ 0099
1765 S^;*********************************************************************^
1766 ;*GET X (AC FIELD) FROM ERROR UUO. PASS X ARGUMENT ONTO $PRINT.
1767 S^;*********************************************************************^
1768 SALL
1769 002605 200 00 0 00 007544 %ERP2B: MOVE %LUUO
1770 002606 241 00 0 00 000015 ROT 0,15 ;GET THE X ARGUEMENT
1771 002607 405 00 0 00 000017 ANDI 0,17
1772 002610 326 00 0 00 002612 JUMPN 0,.+2 ;PRINT 12 OCTAL DIGITS IF X=0
1773 002611 201 00 0 00 000014 MOVEI 0,14
1774 002612 303 00 0 00 000014 CAILE 0,14 ;MAKE SURE THAT X IS A LEGAL ARGUMENT
1775 002613 037 15 0 00 000004 FATAL ;PROGRAM CALL ERROR
1776 002614 242 00 0 00 000027 LSH 0,^D<35-12> ;PUT X IN AC FIELD
1777 002615 270 00 0 00 007066 ADD 0,[PNTA] ;PRINT THE X ARGUEMENT
1778 002616 202 00 0 00 007406 MOVEM 0,%ERIN2
1779 002617 201 00 0 00 007067 MOVEI 0,SIXBTZ <^CORRECT: >
1780 002620 554 02 0 03 000001 HLRZ 2,1(3) ;GET ADDRESS OF EXPECTED TEST RESULTS
1781 002621 326 02 0 00 002624 JUMPN 2,.+3
1782 002622 402 00 0 00 030123 SETZM %DISCR ;NO 'CORRECT RESULT' TYPEOUT
1783 002623 254 00 0 00 002643 JRST %ERPR3
1784 002624 476 00 0 00 030117 SETOM %CORFLG
1785 002625 303 02 0 00 000003 CAILE 2,3 ;ARE TEST RESULTS IN AC THAT HAS BEEN SAVED?
1786 002626 254 00 0 00 002636 JRST %ERP2A
1787 002627 306 02 0 00 000001 CAIN 2,1 ;AC1?
1788 002630 200 01 0 00 007535 MOVE 1,%AC1
1789 002631 306 02 0 00 000002 CAIN 2,2 ;AC2?
1790 002632 200 01 0 00 007536 MOVE 1,%AC2
1791 002633 306 02 0 00 000003 CAIN 2,3 ;AC3?
1792 002634 200 01 0 00 007537 MOVE 1,%AC3
1793 002635 254 00 0 00 002637 JRST .+2
1794 002636 200 01 0 02 000000 %ERP2A: MOVE 1,(2)
1795 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 16
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER SEQ 0100
1796 S^;*********************************************************************^
1797 ;*AC1 NOW CONTAINS THE CORRECT TEST RESULTS.
1798 S^;*********************************************************************^
1799 SALL
1800 002637 037 14 0 00 000003 PSIXL ;CORRECT RESULTS.
1801 002640 200 00 0 00 000001 MOVE 0,1
1802 002641 264 00 0 00 007405 JSR %ERIN1 ;REPORT CORRECT DATA
1803 002642 202 01 0 00 030120 MOVEM 1,%COREC# ;SAVE CORRECT DATA
1804 002643 201 00 0 00 007071 %ERPR3: MOVEI 0,SIXBTZ <^ACTUAL: >
1805 002644 550 02 0 03 000001 HRRZ 2,1(3) ;GET ADDRESS OF ACTUAL TEST RESULTS.
1806 002645 326 02 0 00 002650 JUMPN 2,.+3
1807 002646 402 00 0 00 030123 SETZM %DISCR ;NO 'ACTUAL RESULT' TYPEOUT.
1808 002647 254 00 0 00 002667 JRST %ERPR4
1809 002650 476 00 0 00 030121 SETOM %ACTFL
1810 002651 303 02 0 00 000003 CAILE 2,3 ;ARE ACTUAL TEST RESULTS IN AC THAT IS SAVED?
1811 002652 254 00 0 00 002662 JRST %ERP3A
1812 002653 306 02 0 00 000001 CAIN 2,1 ;AC1?
1813 002654 200 01 0 00 007535 MOVE 1,%AC1
1814 002655 306 02 0 00 000002 CAIN 2,2 ;AC2?
1815 002656 200 01 0 00 007536 MOVE 1,%AC2
1816 002657 306 02 0 00 000003 CAIN 2,3 ;AC3?
1817 002660 200 01 0 00 007537 MOVE 1,%AC3
1818 002661 254 00 0 00 002663 JRST .+2
1819 002662 200 01 0 02 000000 %ERP3A: MOVE 1,(2)
1820 LALL
1821 S^;*********************************************************************^
1822 ;*AC1 CONTAINS THE ACTUAL TEST RESULTS.
1823 S^;*********************************************************************^
1824 SALL
1825 002663 037 14 0 00 000003 PSIXL ;ACTUAL RESULTS
1826 002664 200 00 0 00 000001 MOVE 0,1
1827 002665 264 00 0 00 007405 JSR %ERIN1 ;REPORT ACTUAL DATA
1828 002666 202 01 0 00 030122 MOVEM 1,%ACTUL# ;SAVE ACTUAL DATA
1829
1830 002667 201 00 0 00 007073 %ERPR4: MOVEI 0,SIXBTZ <^DISCREP: >
1831 002670 336 00 0 00 030123 SKIPN %DISCR ;REPORT DATA DISCREPANCY IF BOTH CORRECT AND
1832 002671 254 00 0 00 002700 JRST %ERPR5 ;ACTUAL DATA REPORTED.
1833 002672 200 01 0 00 030120 MOVE 1,%COREC
1834 002673 430 01 0 00 030122 XOR 1,%ACTUL ;XOR CORRECT & ACTUAL DATA
1835 002674 037 14 0 00 000003 PSIXL
1836 002675 200 00 0 00 000001 MOVE 0,1
1837 002676 264 00 0 00 007405 JSR %ERIN1 ;REPORT DISC BETWEEN COR & ACT
1838 002677 202 01 0 00 030123 MOVEM 1,%DISCR ;SAVE DISCREPANCY DATA
1839 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 17
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER SEQ 0101
1840 S^;*********************************************************************^
1841 ;*PICK UP AND REPORT DIAGNOSTIC COMMENT IF ANY.
1842 S^;*********************************************************************^
1843
1844 002700 200 00 0 00 030046 %ERPR5: MOVE 0,CONSW
1845 002701 603 00 0 00 000200 TLNE TXTINH ;TEXT INHIBITED ?
1846 002702 254 00 0 00 002712 JRST %ERPR6 ;YES
1847 002703 554 01 0 03 000002 HLRZ 1,2(3) ;GET ADDRESS OF ASCIZ TEXT.
1848 002704 200 01 0 01 000000 MOVE 1,(1) ;GET MESSAGE
1849 002705 316 01 0 00 007056 CAMN 1,[SIXBIT\_\] ;BLANK MESSAGE ?
1850 002706 254 00 0 00 002712 JRST %ERPR6 ;EXIT FROM ERROR PRINT IF NO DIAGNOSTIC TEXT.
1851 002707 037 00 0 00 030242 PCRL
1852 002710 554 00 0 03 000002 HLRZ 0,2(3) ;GET MESSAGE ADDRESS AGAIN
1853 002711 037 14 0 00 000003 PSIXL
1854 002712 037 00 0 00 030242 %ERPR6: PCRL
1855 002713 550 00 0 03 000002 HRRZ 0,2(3) ;GET ADDRESS OF ADDITIONAL ERROR PRINT ROUTINE
1856 002714 260 17 0 00 002476 GO %EACR1
1857 002715 202 00 0 00 007543 MOVEM 0,%ERXTR#
1858 002716 322 00 0 00 002725 JUMPE 0,%ERMORE ;JUMP IF NONE
1859 002717 200 00 0 00 030046 MOVE 0,CONSW
1860 002720 603 00 0 00 000200 TLNE 0,TXTINH ;TEXT INHIBITED ?
1861 002721 254 00 0 00 002725 JRST %ERMORE ;YES, NO ADDITIONAL PRINT
1862 002722 200 00 0 00 007534 MOVE 0,%AC0
1863 002723 260 17 1 00 007543 GO @%ERXTR ;XFER TO PRINT ROUTINE, RETURN TO ERMORE
1864 002724 202 00 0 00 007534 MOVEM 0,%AC0
1865 002725 200 00 0 00 007534 %ERMORE:MOVE 0,%AC0
1866 002726 256 00 0 00 030101 XCT ERMORE ;TO ADD ROUTINE PLACE XFR AT ERMORE
1867 ;IN "FIXED"
1868 002727 260 17 0 00 002470 GO %EACS
1869 002730 260 17 0 00 004437 GO $SWTCH
1870
1871 S^;*********************************************************************^
1872 ;*EXAMINE DATA SWITCHES (OR SOFTWARE SWITCHES IF USER MODE).
1873 S^;*********************************************************************^
1874
1875 002731 260 17 0 00 005067 %ERSW1: GO $TALTM ;ALTMODE CHECK
1876 002732 254 00 0 00 002736 JRST .+4 ;NONE
1877 002733 201 00 0 00 002736 MOVEI .+3 ;SAVE ADDRESS FOR CONTINUE
1878 002734 202 00 0 00 000130 MOVEM JOBOPC
1879 002735 254 00 1 00 030063 JRST @ALTMGO ;PERFORM TRANSFER
1880 002736 200 03 0 00 030046 MOVE 3,CONSW
1881 002737 607 03 0 00 002000 TLNN 3,ERSTOP ;IS 'HALT ON ERROR' SWITCH SET, (SWITCH ERSTOP)
1882 002740 254 00 0 00 002747 JRST %ERSW2 ;NO
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 18
SUBSMM MAC 13-Jun-79 16:28 *CONTRL* PDP-10 DIAGNOSTIC ERROR HANDLER SEQ 0102
1883 S^;*********************************************************************^
1884 ;*EXECUTE HALT IF SWITCH ERSTOP SET.
1885 S^;*********************************************************************^
1886
1887 002741 260 17 0 00 002475 %ERS1A: GO %EACR ;RESTORE AC'S
1888 002742 254 00 0 00 003111 JRST $ERHLT ;USE SUBROUTINE ERROR HALT
1889
1890 002743 336 00 0 00 007542 %ERPRA: SKIPN %ERFST# ;PRINT PROGRAM NAME
1891 002744 037 04 0 00 000002 PNTNM
1892 002745 476 00 0 00 007542 SETOM %ERFST
1893 002746 254 00 0 00 002541 JRST %ERPRB
1894
1895 S^;*********************************************************************^
1896 ;*EXAMINE LOOPER SWITCH AND SCOPE LOOP ON ERROR IF SET.
1897 S^;*********************************************************************^
1898
1899 002747 607 03 0 00 004000 %ERSW2: TLNN 3,LOOPER
1900 002750 402 00 0 00 030116 SETZM SCOPE ;CLEAR SCOPE LOOP CONTROL
1901 002751 350 00 0 00 007540 AOS %ERCNT ;INCREMENT ERROR COUNT
1902
1903 S^;*********************************************************************^
1904 ;*RING TTY BELL IF DING SWITCH IS SET.
1905 S^;*********************************************************************^
1906
1907 002752 603 03 0 00 010000 %ERSW3: TLNE 3,DING
1908 002753 037 01 0 00 000007 PBELL
1909
1910 S^;*********************************************************************^
1911 ;*RETURN TO ERROR CALL ADDRESS+1
1912 S^;*********************************************************************^
1913
1914 002754 260 17 0 00 002476 %EXCAL: GO %EACR1
1915 002755 331 00 0 00 030043 SKIPL MONCTL ;UNDER DIAGNOSTIC MONITOR ?
1916 002756 254 00 0 00 002762 JRST %EXCL1 ;NO, CONTINUE PROGRAM
1917 002757 200 00 0 00 007435 MOVE 0,PERTLS ;YES
1918 002760 301 00 0 00 000005 CAIL 0,5 ;PRINTED ALLOWED ERRORS ?
1919 002761 254 00 0 00 002766 JRST %EXCL2 ;YES
1920 002762 200 00 0 00 007534 %EXCL1: MOVE 0,%AC0
1921 002763 332 00 0 00 030513 SKIPE %ERHI2 ;ANY USERS INSTRUCTION ?
1922 002764 256 00 0 00 030513 XCT %ERHI2 ;YES, DO USERS ROUTINE
1923 002765 263 17 0 00 000000 RTN ;CONTINUE PROGRAM
1924 002766 %EXCL2: PMSGF <^EXCEEDED ALLOWED ERRORS^>^
1925 002766 037 04 0 00 007075 PSIXMF [SIXBIT\^EXCEEDED ALLOWED ERRORS^_\]^
1926 002767 254 00 0 00 030061 JRST $BEND2 ;END OF PROGRAM
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 19
SUBSMM MAC 13-Jun-79 16:28 PROCESSOR TYPE DETERMINATION SEQ 0103
1927 SUBTTL PROCESSOR TYPE DETERMINATION
1928 S^;*********************************************************************^
1929
1930 002770 402 00 0 00 030505 $CPUTP: SETZM CYCL60
1931 002771 402 00 0 00 030041 SETZM KLFLG
1932 002772 402 00 0 00 030040 SETZM KAIFLG
1933 002773 200 01 0 00 007050 $CPSM: MOVE 1,[1,,1] ;IF SM10, AC1 AFTER BLT WILL CHANGE
1934 002774 251 01 0 00 000001 BLT 1,1
1935 002775 316 01 0 00 007050 CAMN 1,[1,,1]
1936 002776 254 04 0 00 002016 HALT CPIERR ;WRONG PROCESSOR
1937 002777 476 00 0 00 030041 SETOM KLFLG ;SM10 - SET FLAG
1938 003000 476 00 0 00 030524 SETOM SM10
1939
1940 003001 200 00 0 00 007102 $CPLII: MOVE [JRST PFSTRT] ;SET POWER FAIL RECOVERY INSTRUCTION
1941 003002 202 00 0 00 000070 MOVEM 70
1942 003003 402 00 0 00 007507 SETZM $PWRF
1943 003004 7 000 00 0 00 000000 BLKI APR,0 ;GET SM10 HARDWARE OPTIONS
1944 003005 602 00 0 00 400000 TRNE 0,1B18 ;50 HZ BIT SET ?
1945 003006 476 00 0 00 030505 SETOM CYCL60 ;YES, SET INDICATOR
1946 003007 264 00 0 00 004712 CTYINI ;INITIALIZE CTY
1947 003010 332 00 0 00 030043 SKIPE MONCTL ;DIAGNOSTIC MONITOR ?
1948 003011 263 17 0 00 000000 RTN ;YES, NO FURTHER INIT
1949
1950 003012 201 00 0 00 003521 MOVEI $IPGFL ;SETUP INITIALIZATION PAGE FAIL TRAP
1951 003013 202 00 0 00 000502 MOVEM LPGFTR
1952 003014 7 010 24 0 00 000000 CONI PAG,0
1953 003015 620 00 0 00 057777 TRZ 0,57777
1954 003016 7 010 20 1 00 000000 CONO PAG,@0 ;CLEAR EBR
1955 003017 7 010 24 0 00 000000 CONI PAG,0 ;READ EBR
1956 003020 620 00 0 00 620000 TRZ 0,620000 ;CLEAR CACHE & TRPENB
1957 003021 302 00 0 00 000000 CAIE 0,0
1958 003022 254 04 0 00 002016 HALT CPIERR ;NOT CLEAR, FATAL ERROR
1959 003023 7 010 14 0 00 007103 DATAO PAG,[LLDUSB,,400000] ;CLEAR UBR
1960 003024 7 010 04 0 00 000000 DATAI PAG,0 ;READ UBR
1961 003025 405 00 0 00 003777 ANDI 0,3777 ;KEEP ONLY BASE REG BITS
1962 003026 302 00 0 00 000000 CAIE 0,0
1963 003027 254 04 0 00 002016 HALT CPIERR ;NOT CLEAR, FATAL ERROR
1964 003030 263 17 0 00 000000 RTN
1965
1966 003031 200 00 0 00 030046 $SMCSH: MOVE CONSW
1967 003032 607 00 0 00 000020 TLNN INHCSH ;CACHE INHIBITED ?
1968 003033 332 00 0 00 030506 SKIPE CSHFLG
1969 003034 263 17 0 00 000000 RTN ;YES
1970 003035 336 00 0 00 030511 SKIPN PVPAGI ;PREVENT PAGE INHIBIT ?
1971 003036 607 00 0 00 000100 TLNN INHPAG ;NO, IS PAGING INHIBITED ?
1972 003037 254 00 0 00 003041 JRST .+2 ;NO, PAGING ALLOWED
1973 003040 263 17 0 00 000000 RTN ;YES, NO CACHE THEN EITHER
1974 003041 260 17 0 00 002151 GO $MAPEX ;REMAP EXEC FOR CACHE
1975 003042 7 010 24 0 00 000000 CONI PAG,0
1976 003043 620 00 0 00 040000 TRZ 0,LSMODE ;CLEAR SECTION MODE
1977 003044 660 00 0 00 020000 TRO 0,LTRPEN ;SET TRAP ENABLE
1978 003045 7 010 20 1 00 000000 CONO PAG,@0
1979 003046 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 20
SUBSMM MAC 13-Jun-79 16:28 "DIAMON" FILE SELECTION & READ SEQ 0104
1980 SUBTTL "DIAMON" FILE SELECTION & READ
1981 S^;*********************************************************************^
1982
1983 003047 261 17 0 00 000000 $FSELECT:PUT 0
1984 003050 402 00 0 00 007460 SETZM $FSELF#
1985 003051 200 00 0 00 007104 MOVE 0,[1,,POWER+1] ;SAVE ACS
1986 003052 251 00 0 00 007426 BLT POWER+16
1987 003053 262 17 0 00 000000 GET 0
1988 003054 336 00 0 00 027772 SKIPN FSELNK ;ANY FILE SELECT LINK ?
1989 003055 254 00 0 00 003067 JRST $FSEL1 ;NO
1990
1991 003056 260 17 1 00 027772 GO @FSELNK ;TRANSFER TO "DIAMON"
1992 003057 254 00 0 00 003062 JRST $FSEL2 ;ERROR RTN, AC0 HAS CODE
1993
1994 003060 476 00 0 00 007460 SETOM $FSELF ;FOUND, SET FILE SELECTED FLAG
1995 003061 350 00 0 17 000000 AOS (P) ;SKIP RETURN
1996 003062 261 17 0 00 000000 $FSEL2: PUT 0
1997 003063 204 00 0 00 007104 MOVS 0,[1,,POWER+1] ;RESTORE ACS
1998 003064 251 00 0 00 000016 BLT 16
1999 003065 262 17 0 00 000000 GET 0
2000 003066 263 17 0 00 000000 RTN
2001
2002 003067 402 00 0 00 000000 $FSEL1: SETZM 0 ;NO "DIAMON" CAPABILTY
2003 003070 254 00 0 00 003062 JRST $FSEL2
2004
2005 S^;*********************************************************************^
2006 ;*"DIAMON" FILE READ
2007 S^;*********************************************************************^
2008
2009 003071 201 00 0 00 000001 $FRD8: MOVEI 0,1 ;SET FLAG FOR 8BIT READ
2010 003072 254 00 0 00 003076 JRST .+4
2011 003073 474 00 0 00 000000 $FRD36: SETO ;SET FLAG FOR 36 BIT READ
2012 003074 254 00 0 00 003076 JRST .+2
2013 003075 400 00 0 00 000000 $FREAD: SETZ ;SET FLAG FOR 7 BIT ASCII READ
2014 003076 261 17 0 00 000000 PUT 0
2015 003077 336 00 0 00 007460 SKIPN $FSELF ;WAS ANY FILE SELECTED ?
2016 003100 037 15 0 00 000004 FATAL ;NO
2017 003101 336 00 0 00 027773 SKIPN FRDLNK ;ANY FILE READ LINK ?
2018 003102 037 15 0 00 000004 FATAL ;NO
2019 003103 200 00 0 00 007104 MOVE 0,[1,,POWER+1] ;SAVE ACS
2020 003104 251 00 0 00 007426 BLT POWER+16
2021 003105 262 17 0 00 000000 GET 0 ;GET FORMAT FLAG
2022 003106 260 17 1 00 027773 GO @FRDLNK ;TRANSFER TO "DIAMON"
2023 003107 254 00 0 00 003062 JRST $FSEL2 ;EOF
2024 003110 254 00 0 00 003061 JRST $FSEL2-1 ;OK, SKIP RETURN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 21
SUBSMM MAC 13-Jun-79 16:28 PROGRAM HALTS SEQ 0105
2025 SUBTTL PROGRAM HALTS
2026
2027 S^;*********************************************************************^
2028 ;*SUBROUTINE ERROR HALT
2029 S^;*********************************************************************^
2030
2031 003111 037 04 0 00 000002 $ERHLT: PNTNM ;PRINT PROGRAM NAME
2032 PMSGF <? ERROR HALT AT >^
2033 003112 037 04 0 00 007105 PSIXMF [SIXBIT\? ERROR HALT AT _\]^
2034 003113 262 17 0 00 007457 GET $ERH0
2035 003114 261 17 0 00 000000 PUT 0
2036 003115 200 00 0 00 007457 MOVE AC0,$ERH0# ;LOAD HALT LOC WITH USRPC + 1 FOR RESTART
2037 003116 370 00 0 00 000000 SOS ;SUBTRACT ONE FOR USRPC OF ERROR
2038 003117 037 06 0 00 000001 PNT6F ;PRINT USRPC FORCED
2039 003120 037 01 0 00 030242 PCRLF
2040 003121 331 00 0 00 030043 SKIPL MONCTL ;UNDER MONITOR CONTROL ?
2041 003122 254 00 0 00 003130 JRST $ERHL4 ;NO..HALT AT USRPC WHERE UUO OCCURRED
2042 003123 260 17 0 00 004437 $ERHL1: GO $SWTCH ;READ SWITCHES INTO AC0
2043 003124 603 00 0 00 002000 TLNE 0,ERSTOP ;HALT ON ERROR SWITCH SET ?
2044 003125 254 00 0 00 003130 JRST $ERHL4 ;YES...HALT
2045 003126 262 17 0 00 000000 $ERHL3: GET AC0 ;RESTORE THE STACK (P - 1)
2046 003127 254 00 0 00 030061 JRST $BEND2 ;END OF PROGRAM
2047 003130 260 17 0 00 006714 $ERHL4: COMCLR
2048 003131 262 17 0 00 000000 GET AC0
2049 003132 254 04 1 00 007457 HALT @$ERH0 ;HALT WHERE ERROR OCCURED
2050
2051 S^;*********************************************************************^
2052 ;*FATAL PROGRAM ERROR HALT
2053 S^;*********************************************************************^
2054
2055 003133 037 04 0 00 000002 $FATAL: PNTNM
2056 PMSGF <? FATAL PROGRAM ERROR AT >^
2057 003134 037 04 0 00 007110 PSIXMF [SIXBIT\? FATAL PROGRAM ERROR AT _\]^
2058 003135 200 00 0 17 000000 MOVE AC0,(P) ;RETRIEVE USRPC + 1 FROM THE STACK
2059 003136 370 00 0 00 000000 SOS ;- 1
2060 003137 037 06 0 00 000001 PNT6F ;PRINT IT
2061 003140 037 01 0 00 030242 PCRLF
2062 003141 331 00 0 00 030043 SKIPL MONCTL ;EXEC - DIAGNOSTIC MONITOR ?
2063 003142 254 00 0 00 003146 JRST $FATL1 ;NO, END OF PROGRAM
2064 003143 260 17 0 00 004437 GO $SWTCH ;YES ... READ SWITCHES
2065 003144 607 00 0 00 002000 TLNN ERSTOP ;STOP ON ERROR ?
2066 003145 254 00 0 00 030061 JRST $BEND2 ;NO, END OF PROGRAM
2067
2068 003146 $FATL1:
2069 003146 261 17 0 00 000000 $DDTENT:PUT 0
2070 003147 200 00 0 00 010001 MOVE AC0,DDT+1 ;GET DDT ID
2071 003150 312 00 0 00 007115 CAME AC0,[ASCII/DDT/]
2072 003151 254 00 0 00 030061 JRST $BEND2 ;NOT LOADED, END PROGRAM
2073 003152 260 17 0 00 006714 COMCLR
2074 003153 262 17 0 00 000000 GET 0
2075 003154 254 00 1 00 027775 JRST @DDTLNK ;DDT LOADED, GO TO IT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 22
SUBSMM MAC 13-Jun-79 16:28 PROGRAM NAME PRINTER SEQ 0106
2076 SUBTTL PROGRAM NAME PRINTER
2077 S^;*********************************************************************^
2078 SALL
2079 003155 331 00 0 00 030043 $PNTNM: SKIPL MONCTL ;DIAG MON / SYS EXR ?
2080 003156 254 00 0 00 003222 JRST $PNM2 ;NO
2081 003157 037 00 1 00 030025 PNTMSG @$PNAME ;PRINT PROGRAM NAME
2082 003160 037 02 0 00 007116 PMSG <VERSION >
2083 003161 554 00 0 00 000137 HLRZ JOBVER
2084 003162 037 16 0 00 000003 PNTOCS ;PRINT MCN LEVEL
2085 003163 037 00 0 00 000056 PNTCI "."
2086 003164 550 00 0 00 000137 HRRZ JOBVER
2087 003165 037 16 0 00 000003 PNTOCS ;PRINT DEC VERSION
2088 003166 037 02 0 00 007120 PMSG <, SV=>
2089 003167 554 00 0 00 002006 HLRZ SUBVER
2090 003170 037 16 0 00 000003 PNTOCS ;PRINT "SUBRTN" MCN LEVEL
2091 003171 037 00 0 00 000056 PNTCI "."
2092 003172 550 00 0 00 002006 HRRZ SUBVER
2093 003173 037 16 0 00 000003 PNTOCS ;PRINT "SUBRTN" DEC VERSION
2094
2095 003174 7 000 00 0 00 007511 $SMSN: BLKI APR,$SMSNX# ;GET SM10 CPU ID INFO
2096 003175 200 00 0 00 007511 MOVE $SMSNX
2097 003176 405 00 0 00 077777 ANDI 77777
2098 003177 260 17 0 00 003224 GO $SNPNT ;PRINT CPU SERIAL NUMBER
2099 003200 037 02 0 00 007121 PMSG <, MCV=>
2100 003201 200 00 0 00 007511 MOVE $SMSNX
2101 003202 207 00 0 00 000000 MOVSS
2102 003203 405 00 0 00 000777 ANDI 777
2103 003204 037 16 0 00 000003 PNTOCS ;PRINT MICRO-CODE VERSION
2104 003205 037 02 0 00 007123 PMSG <, MCO=>
2105 003206 200 00 0 00 007511 MOVE $SMSNX
2106 003207 242 00 0 00 777745 LSH -^D27
2107 003210 405 00 0 00 000777 ANDI 777
2108 003211 037 16 0 00 000003 PNTOCS ;PRINT MICRO-CODE OPTIONS
2109 003212 037 02 0 00 007125 PMSG <, HO=>
2110 003213 200 00 0 00 007511 MOVE $SMSNX
2111 003214 242 00 0 00 777761 LSH -^D15
2112 003215 405 00 0 00 000007 ANDI 7
2113 003216 037 16 0 00 000003 PNTOCS ;PRINT HARDWARE OPTIONS
2114 003217 037 02 0 00 007126 PMSG <, KASW=>
2115 003220 200 00 0 00 000031 MOVE $80STAT
2116 003221 037 13 0 00 000000 PNTHW ;PRINT KEEP ALIVE AND STATUS WORD
2117
2118 003222 037 00 0 00 030242 $PNM2: PCRL
2119 003223 263 17 0 00 000000 RTN ;EXIT
2120
2121 003224 261 17 0 00 000000 $SNPNT: PUT 0
2122 003225 037 02 0 00 007130 PMSG <, CPU#=>
2123 003226 262 17 0 00 000000 GET 0
2124 003227 037 15 0 00 000000 PNTDEC ;PRINT CPU SERIAL NUMBER
2125 003230 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 23
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* INTERRUPT HANDLING ROUTINES SEQ 0107
2126 SUBTTL *SUBRTN* INTERRUPT HANDLING ROUTINES
2127 LALL
2128 S^;*********************************************************************^
2129 ;*PUSH DOWN LIST EXCESSIVE POPJ ROUTINE
2130 S^;*********************************************************************^
2131
2132 003231 PSHERR: PMSGF <^*****^PLIST UFLOW^>^
2133 003231 037 04 0 00 007132 PSIXMF [SIXBIT\^*****^PLIST UFLOW^_\]^
2134 003232 037 15 0 00 000004 FATAL ;PRINT LOCATION AND EXIT
2135
2136 S^;*********************************************************************^
2137 ;*INTERRUPT ROUTINE INITIALIZATION
2138 S^;*********************************************************************^
2139
2140 003233 200 00 0 00 007136 $ITRIN: MOVE [JSR ITRCH1]
2141 003234 202 00 0 00 000042 MOVEM 42
2142 003235 202 00 0 00 000044 MOVEM 44
2143 003236 202 00 0 00 000046 MOVEM 46
2144 003237 202 00 0 00 000050 MOVEM 50
2145 003240 202 00 0 00 000052 MOVEM 52
2146 003241 202 00 0 00 000054 MOVEM 54
2147 003242 202 00 0 00 000056 MOVEM 56
2148
2149 003243 200 00 0 00 007137 MOVE [JRST $ITRC1] ;SETUP "FIXED" LINKING
2150 003244 202 00 0 00 030105 MOVEM ITRCH1+1
2151 003245 200 00 0 00 007140 MOVE [JRST RESRTX]
2152 003246 202 00 0 00 030076 MOVEM RESRT1
2153 003247 254 00 0 00 003502 JRST $SM10
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 24
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* INTERRUPT HANDLING ROUTINES SEQ 0108
2154 S^;*********************************************************************^
2155 ;*DIAG SEGMENT TRANSFER POINT FOR INTERRUPT ROUTINES
2156 S^;*********************************************************************^
2157 SALL
2158 003250 202 17 0 00 007476 $PDOVU: MOVEM P,$PDOVP#
2159 003251 200 17 0 00 030303 MOVE P,PLIST ;RESET POINTER
2160 003252 201 00 0 00 030103 MOVEI 0,$PSHER
2161 003253 261 17 0 00 000000 PUSH P,0
2162 003254 037 02 0 00 007141 PMSG <^*****^PLIST OVERFLOW P=>
2163 003255 200 00 0 00 007476 MOVE 0,$PDOVP
2164 003256 037 13 0 00 000000 PNTHW
2165 003257 400 00 0 00 000000 SETZ
2166 003260 254 00 0 00 003275 JRST $ITR1A ;COMMON INTERRUPT ROUTINE
2167
2168 003261 201 00 0 00 007146 $MPVU: MOVEI SIXBTZ <^MEMORY PROT>
2169 003262 254 00 0 00 003275 JRST $ITR1A ;COMMON INTERRUPT ROUTINE
2170
2171 003263 201 00 0 00 007151 $NXMU: MOVEI SIXBTZ <^NON-EX MEMORY>
2172 003264 254 00 0 00 003275 JRST $ITR1A ;COMMON INTERRUPT ROUTINE
2173
2174 003265 200 00 0 00 030106 $PAREX: MOVE 0,$ACC0
2175 003266 256 00 0 00 030100 XCT $PARER ;EXECUTE USER ROUTINE, IF PROVIDED
2176 003267 201 00 0 00 007154 MOVEI SIXBTZ <^MEMORY PARITY>
2177 003270 254 00 0 00 003275 JRST $ITR1A ;COMMON INTERRUPT ROUTINE
2178 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 25
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* INTERRUPT HANDLING ROUTINES SEQ 0109
2179 S^;*********************************************************************^
2180 ;*COMMON INTERRUPT HANDLERS
2181 S^;*********************************************************************^
2182 SALL
2183 003271 200 00 0 00 030106 $ITRHZ: MOVE 0,$ACC0
2184 003272 256 00 0 00 030071 XCT $ITRHL ;EXECUTE USER ROUTINE, IF SUPPLIED
2185 003273 7 004 20 0 00 000400 CONO PI,PIOFF ;CLEAR PI SYSTEM
2186 003274 201 00 0 00 007157 MOVEI SIXBTZ <^UNKNOWN INTERRUPT>
2187 LALL
2188
2189 S^;*********************************************************************^
2190 ;*PRINT CAUSE AND OTHER PERTINENT INFO
2191 S^;*********************************************************************^
2192 SALL
2193 003275 $ITR1A:
2194 003275 332 00 0 00 000000 $ITR1B: SKIPE 0
2195 003276 037 14 0 00 000003 PSIXL ;PRINT CAUSE
2196 003277 037 02 0 00 007163 PMSG <^APR PI FLAGS PC PROG^>
2197 003300 200 00 0 00 030110 MOVE $SVAPR#
2198 003301 037 13 0 00 000000 PNTHW ;PRINT APR CONI BITS
2199 003302 037 00 0 00 000040 PSP
2200 003303 200 00 0 00 030107 MOVE $SVPI#
2201 003304 037 13 0 00 000000 PNTHW ;PRINT PI CONI BITS
2202 003305 037 00 0 00 000040 PSP
2203 003306 200 00 0 00 030104 MOVE ITRCH1
2204 003307 370 00 0 00 000000 SOS
2205 003310 037 13 0 00 000000 PNTHW ;PRINT FLAGS, PC
2206 003311 037 00 0 00 000040 PSP
2207 003312 550 00 0 17 000000 HRRZ 0,(P)
2208 003313 370 00 0 00 000000 SOS
2209 003314 037 06 0 00 000000 PNT6 ;PRINT LAST PUSHJ ENTRY
2210 003315 037 00 0 00 030242 PCRL
2211 003316 200 00 0 00 030106 MOVE 0,$ACC0
2212 003317 256 00 0 00 030072 XCT $ITRX1 ;EXECUTE USER ROUTINE, IF SUPPLIED
2213 003320 037 15 0 00 000004 FATAL
2214 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 26
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* INTERRUPT HANDLING ROUTINES SEQ 0110
2215 S^;*********************************************************************^
2216 ;*COMMON INTERRUPT ROUTINE
2217 S^;*********************************************************************^
2218
2219 003321 202 00 0 00 030106 $ITRC1: MOVEM AC0,$ACC0# ;SAVE AC0
2220 003322 7 000 24 0 00 030110 CONI APR,$SVAPR ;SAVE APR SYSTEM
2221 003323 7 004 24 0 00 030107 CONI PI,$SVPI ;SAVE PI SYSTEM
2222 003324 200 00 0 00 000041 MOVE AC0,JOB41
2223 003325 312 00 0 00 007015 CAME AC0,[GO $UORTN]
2224 003326 254 04 0 00 002020 HALT LUOERR ;UUO HANDLER INVALID
2225 003327 200 00 0 00 030106 MOVE AC0,$ACC0
2226 003330 254 00 0 00 003454 JRST $SMITR
2227
2228 S^;*********************************************************************^
2229 ;*RESTORE PROCESSOR ON POWER FAIL RESTART
2230 S^;*********************************************************************^
2231 SALL
2232 003331 7 010 20 0 00 000000 RESRTX: CONO PAG,0 ;RESET PAGING
2233
2234 003332 701 03 0 00 003363 WRUBR ACB7
2235 003333 264 00 0 00 003355 JSR CLRACB ;CLEAR AC BLOCK 7
2236
2237 003334 701 03 0 00 003364 WRUBR ACB6
2238 003335 264 00 0 00 003355 JSR CLRACB ;CLEAR AC BLOCK 6
2239
2240 003336 701 03 0 00 003365 WRUBR ACB5
2241 003337 264 00 0 00 003355 JSR CLRACB ;CLEAR AC BLOCK 5
2242
2243 003340 701 03 0 00 003366 WRUBR ACB4
2244 003341 264 00 0 00 003355 JSR CLRACB ;CLEAR AC BLOCK 4
2245
2246 003342 701 03 0 00 003367 WRUBR ACB3
2247 003343 264 00 0 00 003355 JSR CLRACB ;CLEAR AC BLOCK 3
2248
2249 003344 701 03 0 00 003370 WRUBR ACB2
2250 003345 264 00 0 00 003355 JSR CLRACB ;CLEAR AC BLOCK 2
2251
2252 003346 701 03 0 00 003371 WRUBR ACB1
2253 003347 264 00 0 00 003355 JSR CLRACB ;CLEAR AC BLOCK 1
2254
2255 003350 701 03 0 00 003372 WRUBR ACB0
2256 003351 264 00 0 00 003355 JSR CLRACB ;CLEAR AC BLOCK 0
2257
2258 003352 336 00 0 00 007507 SKIPN $PWRF ;DID POWER FAIL WORK?
2259 003353 254 00 0 00 003407 JRST $PWRFL ;NO
2260 003354 254 00 0 00 003536 JRST $SMRST ;SM10
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 27
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* INTERRUPT HANDLING ROUTINES SEQ 0111
2261
2262 003355 000000 000000 CLRACB: 0
2263 003356 205 17 0 00 777761 MOVSI 17,-17
2264 003357 402 00 0 17 000000 SETZM (17) ;CLEAR ALL AC'S
2265 003360 253 17 0 00 003357 AOBJN 17,.-1
2266 003361 402 00 0 00 000017 SETZM 17
2267 003362 254 02 1 00 003355 JRSTF @CLRACB
2268
2269 003363 407000 000000 ACB7: 1B0!7B8 ;WRUBR ARGUMENTS
2270 003364 406000 000000 ACB6: 1B0!6B8
2271 003365 405000 000000 ACB5: 1B0!5B8
2272 003366 404000 000000 ACB4: 1B0!4B8
2273 003367 403000 000000 ACB3: 1B0!3B8
2274 003370 402000 000000 ACB2: 1B0!2B8
2275 003371 401000 000000 ACB1: 1B0!1B8
2276 003372 400000 000000 ACB0: 1B0!0B8
2277
2278 003373 204 00 0 00 007104 $RSTCM: MOVS [1,,POWER+1] ;RESTORE AC'S
2279 003374 251 00 0 00 000017 BLT 17
2280 003375 037 04 0 00 007174 PMSGF <^POWER FAIL RESTART^>
2281 003376 402 00 0 00 007507 SETZM $PWRF#
2282 003377 200 00 0 00 007410 MOVE 0,POWER
2283 003400 256 00 0 00 030074 XCT $RSRTX ;EXECUTE USER ROUTINE, IF PROVIDED
2284 003401 7 000 20 1 00 030110 CONO APR,@$SVAPR ;RESET APR SYSTEM
2285 003402 204 00 0 00 007104 MOVS [1,,POWER+1] ;RESTORE AC'S
2286 003403 251 00 0 00 000017 BLT 17
2287 003404 200 00 0 00 007410 MOVE 0,POWER
2288 003405 256 00 0 00 030075 XCT $RSRTY ;EXECUTE USER ROUTINE, IF PROVIDED
2289 003406 254 02 1 00 007510 JRSTF @$PWRST
2290
2291 003407 265 00 0 00 030011 $PWRFL: PGMINT ;REINIT THE SUBROUTINE PACKAGE
2292 003410 037 04 0 00 007200 PMSGF <^POWER INTERRUPT FAILED^>
2293 003411 254 04 0 00 030000 HALT BEGIN
2294 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 28
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* INTERRUPT HANDLING ROUTINES SEQ 0112
2295 S^;*********************************************************************^
2296 ;*SM10 PUSHDOWN OVERFLOW TRAP ROUTINE
2297 S^;*********************************************************************^
2298
2299 003412 202 00 0 00 030104 $PDLOV: MOVEM AC0,ITRCH1 ;SAVE USRPC (VIA JSP)
2300 003413 7 000 24 0 00 030110 CONI APR,$SVAPR ;SAVE PROCESSOR STATUS
2301 003414 7 004 24 0 00 030107 CONI PI,$SVPI ;SAVE PI STATUS
2302 003415 254 00 0 00 003250 JRST $PDOVU ;GO HANDLE IT
2303
2304 S^;*********************************************************************^
2305 ;*SM10 PAGE FAIL TRAP ROUTINE
2306 S^;*********************************************************************^
2307 SALL
2308 003416 200 00 0 00 000501 $PGFL: MOVE AC0,LPFWPC ;GET PAGE FAIL PC
2309 003417 350 00 0 00 000000 AOS ;BECAUSE INTERRUPT ERROR SOS'S
2310 003420 202 00 0 00 030104 MOVEM AC0,ITRCH1 ;SAVE USRPC
2311 003421 7 000 24 0 00 030110 CONI APR,$SVAPR ;SAVE PROCESSOR STATUS
2312 003422 7 004 24 0 00 030107 CONI PI,$SVPI ;SAVE PI STATUS
2313 003423 037 02 0 00 007205 PMSG <^PAGE FAIL TRAP ERROR^PAGE FAIL WORD- >
2314 003424 200 00 0 00 000500 $PGFL1: MOVE LEUPFW ;GET SM10 PAGE FAIL WORD
2315 003425 037 13 0 00 000000 PNTHW ;PRINT IT
2316 003426 254 00 0 00 003532 JRST $PGFL2 ;SM10, REPORT APR ERRORS ALSO
2317 LALL
2318 S^;*********************************************************************^
2319 ;*SM10 TRAP 3 ROUTINE
2320 S^;*********************************************************************^
2321 SALL
2322 003427 202 00 0 00 030104 $TRP3: MOVEM AC0,ITRCH1 ;SAVE THE USRPC
2323 003430 7 000 24 0 00 030110 CONI APR,$SVAPR ;SAVE PROCESSOR STATUS
2324 003431 7 004 24 0 00 030107 CONI PI,$SVPI ;SAVE PI STATUS
2325 003432 201 00 0 00 007214 MOVEI AC0,SIXBTZ ^TRAP 3 ERROR
2326 003433 254 00 0 00 003275 JRST $ITR1B ;COMMON INTERRUPT ROUTINE START
2327 LALL
2328 S^;*********************************************************************^
2329 ;*SM10 COMMON TRAP & MMUO SETUP
2330 S^;*********************************************************************^
2331
2332 003434 205 00 0 00 255000 $SMI: MOVSI (JFCL)
2333 003435 202 00 0 00 000421 MOVEM AROVTP ;SETUP ARITHMETIC OV TRAP
2334 003436 200 00 0 00 007217 MOVE [JSP $PDLOV]
2335 003437 202 00 0 00 000422 MOVEM PDOVTP ;SETUP PDL OV TRAP
2336 003440 200 00 0 00 007220 MOVE [JSP $TRP3]
2337 003441 202 00 0 00 000423 MOVEM TRP3TP ;SETUP TRAP 3
2338 003442 201 00 0 00 002300 MOVEI MUUOER ;SETP MUUO AS ERROR FOR THE FOLLOWING:
2339 003443 202 00 0 00 000430 MOVEM KNTRP ;KERNAL MODE - NO TRAP ENABLED
2340 003444 202 00 0 00 000431 MOVEM KTRP ; " TRAP ENABLED
2341 003445 202 00 0 00 000432 MOVEM SNTRP ;SUPERVISOR - NO TRAP
2342 003446 202 00 0 00 000433 MOVEM STRP ; " TRAP
2343 003447 202 00 0 00 000434 MOVEM CNTRP ;CONCEALED - NO TRAP
2344 003450 202 00 0 00 000435 MOVEM CTRP ; " TRAP
2345 003451 202 00 0 00 000436 MOVEM PNTRP ;PUBLIC - NO TRAP
2346 003452 202 00 0 00 000437 MOVEM PTRP ; " TRAP
2347 003453 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 29
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* INTERRUPT HANDLING ROUTINES SEQ 0113
2348 S^;*********************************************************************^
2349 ;*SM10 INTERRUPT ROUTINE
2350 S^;*********************************************************************^
2351 SALL
2352 003454 7 010 04 0 00 030111 $SMITR: DATAI PAG,$SVPAG# ;SAVE PAGE
2353 003455 7 010 24 0 00 030112 CONI PAG,$SPAG1#
2354 003456 7 000 34 0 00 001000 CONSO APR,LPWRFL ;POWER FAILURE?
2355 003457 254 00 0 00 003472 JRST $SMIT1 ;NO ...LOOK FOR PARITY ERROR
2356
2357 003460 200 00 0 00 007104 $SMPWR: MOVE [1,,POWER+1] ;YES
2358 003461 251 00 0 00 007427 BLT POWER+17
2359 003462 200 00 0 00 030106 MOVE $ACC0
2360 003463 202 00 0 00 007410 MOVEM POWER
2361 003464 200 00 0 00 030104 MOVE ITRCH1
2362 003465 202 00 0 00 007510 MOVEM $PWRST# ;USER RESTART IF WANTED
2363 003466 200 00 0 00 007102 MOVE [JRST PFSTRT]
2364 003467 202 00 0 00 000070 MOVEM 70
2365 003470 476 00 0 00 007507 SETOM $PWRF ;NOTIFY OF POWER FAIL ON RESTART
2366 003471 254 04 0 00 030000 HALT BEGIN ;UNTIL POWER ON
2367
2368 003472 200 00 0 00 030110 $SMIT1: MOVE $SVAPR ;GET APR CONDITIONS
2369 003473 606 00 0 00 000600 TRNN LNXMER!LPARER
2370 003474 254 00 0 00 003271 JRST $ITRHZ ;NONE OF THESE INTERRUPTS
2371 003475 602 00 0 00 000400 TRNE LNXMER ;NON-X-MEM ERROR ?
2372 003476 254 00 0 00 003263 JRST $NXMU ;YES
2373 003477 602 00 0 00 000200 TRNE LPARER ;PARITY ERROR ?
2374 003500 254 00 0 00 003265 JRST $PAREX ;YES
2375 003501 254 00 0 00 003271 JRST $ITRHZ ;NO ...REST ARE COMMON
2376 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 30
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* INTERRUPT HANDLING ROUTINES SEQ 0114
2377 S^;*********************************************************************^
2378 ;*SM10 INTERRUPT AND TRAP INITIALIZATION
2379 S^;*********************************************************************^
2380
2381 003502 201 00 0 00 003522 $SM10: MOVEI $SMPGFL
2382 003503 202 00 0 00 000502 MOVEM LPGFTR ;SETUP PAGE FAIL TRAP
2383 003504 260 17 0 00 003434 GO $SMI ;SETUP TRAPS & MUUOS
2384 003505 7 004 20 0 00 031400 $SMCLR: CONO PI,LRQCLR!LPICLR!LCHNOF!LPIOFF ;CLEAR PI SYSTEM,CHNL & REQ PEND
2385 003506 7 000 20 0 00 121600 CONO APR,LAPRAL ;CLEAR PROCESSOR ALL
2386 003507 7 000 20 0 00 060160 CONO APR,60160 ;DISABLE SOFT MEMORY ERROR,CLK & 8080
2387
2388 003510 336 00 0 00 030042 $SMENB: SKIPN MONFLG ;MONITOR CONTROL (SPECIAL USER) ?
2389 003511 254 00 0 00 003516 JRST .+5
2390 003512 200 00 0 00 030046 MOVE CONSW
2391 003513 336 00 0 00 030511 SKIPN PVPAGI ;PREVENT PAGE INHIBIT ?
2392 003514 607 00 0 00 000100 TLNN INHPAG ;PAGING & TRAPPING INHIBITED ?
2393 003515 260 17 0 00 003747 GO SMPAG ;NO, SETUP TRAP ENABLE
2394 003516 7 000 20 0 00 000001 CONO APR,LAPRP1 ;ENABLE CHANNEL 1
2395 003517 7 004 20 0 00 002377 CONO PI,LCHNON!LPION!LPICHA ;ENABLE ALL PI CHNS
2396 003520 263 17 0 00 000000 RTN ;EXIT
2397
2398 003521 254 04 0 00 002016 $IPGFL: HALT CPIERR ;SM10 INITIALIZATION PAGE FAIL
2399
2400 003522 554 00 0 00 000500 $SMPGFL:HLRZ 0,LEUPFW ;GET PAGE FAIL WORD
2401 003523 405 00 0 00 770000 ANDI 0,770000 ;ISOLATE PAGE FAIL CODE
2402 003524 302 00 0 00 370000 CAIE 0,370000 ;IS IT NXM ?
2403 003525 254 00 0 00 003416 JRST $PGFL ;NO
2404 003526 7 000 34 0 00 000400 CONSO APR,LNXMER ;IS NXM FLOP SET ?
2405 003527 254 00 0 00 003416 JRST $PGFL ;NO, REAL AR PARITY ERROR
2406 003530 350 00 0 00 000501 AOS LPFWPC ;YES, INCREMENT PAGE FAIL PC
2407 003531 254 02 1 00 000501 JRSTF @LPFWPC ;RETURN TO NEXT INSTRUCTION
2408
2409 003532 200 00 0 00 030110 $PGFL2: MOVE $SVAPR
2410 003533 606 00 0 00 000600 TRNN LNXMER!LPARER
2411 003534 254 00 0 00 003277 JRST $ITR1B+2 ;NO APR ERRORS
2412 003535 254 00 0 00 003472 JRST $SMIT1 ;YES, REPORT APR ERRORS
2413
2414 003536 200 17 0 00 007427 $SMRST: MOVE 17,POWER+17 ;RESTORE PUSH POINTER
2415 003537 260 17 0 00 003505 GO $SMCLR ;CLEAR & ENABLE APR & PI
2416 003540 7 010 14 0 00 030111 DATAO PAG,$SVPAG ;RESET PAGING
2417 003541 200 00 0 00 030110 MOVE $SVAPR ;GET ORIGINAL APR
2418 003542 200 01 0 00 000000 MOVE 1,0
2419 003543 405 00 0 00 000007 ANDI 0,7 ;KEEP PI ASSIGNMENT
2420 003544 554 01 0 00 000001 HLRZ 1,1
2421 003545 405 01 0 00 001760 ANDI 1,1760 ;GET ENABLE CONDITIONS
2422 003546 434 00 0 00 000001 OR 0,1
2423 003547 202 00 0 00 030110 MOVEM $SVAPR ;SET TO REENABLE APR
2424 003550 200 00 0 00 007004 MOVE 0,[2000,,1000] ;SETUP ORIGINAL INITIALIZE BLOCK
2425 003551 251 00 0 00 001020 BLT 0,1020
2426 003552 254 00 0 00 003373 JRST $RSTCM ;RESTORE CPU & RESTART
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 31
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* END OF PASS/END OF PROGRAM ROUTINES SEQ 0115
2427 SUBTTL *SUBRTN* END OF PASS/END OF PROGRAM ROUTINES
2428 LALL
2429 S^;*********************************************************************^
2430 ;*END OF PASS ROUTINE
2431 S^;*********************************************************************^
2432 SALL
2433 003553 350 00 0 00 030047 $END: AOS PASCNT ;INCREMENT PASS COUNTER
2434 003554 370 00 0 00 030024 SOS ITRCNT
2435 003555 402 00 0 00 030116 SETZM SCOPE
2436 003556 402 00 0 00 030052 SETZM ERRPC
2437 003557 260 17 0 00 004437 GO $SWTCH
2438 003560 603 00 0 00 400000 TLNE ABORT ;ABORT AT END OF PASS ?
2439 003561 402 00 0 00 030024 SETZM ITRCNT ;YES
2440 003562 335 00 0 00 030043 $END2: SKIPGE MONCTL ;DIAGNOSTIC MONITOR ?
2441 003563 254 00 0 00 003571 JRST $END3 ;YES
2442 003564 037 04 0 00 007221 PMSGF <END PASS >
2443 003565 200 00 0 00 030047 MOVE PASCNT ;PRINT END OF PASS COUNT
2444 003566 037 15 0 00 000001 PNTDCF
2445 003567 037 01 0 00 000056 PNTCIF "."
2446 003570 037 01 0 00 030242 PCRLF
2447 003571 336 00 0 00 030024 $END3: SKIPN ITRCNT
2448 003572 350 00 0 17 000000 AOS (P)
2449 003573 263 17 0 00 000000 RTN
2450
2451 LALL
2452 S^;*********************************************************************^
2453 ;*END OF PROGRAM ROUTINE
2454 S^;*********************************************************************^
2455
2456 003574 260 17 0 00 006714 $EOP: COMCLR
2457 003575 332 00 0 00 030044 SKIPE MONTEN ;LOADED BY ITSELF ?
2458 003576 254 00 1 00 030012 JRST @RETURN ;NO, RETURN TO LOADER
2459 003577 200 00 0 00 010001 MOVE DDT+1
2460 003600 312 00 0 00 007115 CAME [ASCII/DDT/]
2461 003601 254 04 0 00 030000 HALT BEGIN ;DDT NOT LOADED
2462 003602 254 00 1 00 027775 JRST @DDTLNK ;OTHERWISE GO TO DDT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 32
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0116
2463 SUBTTL *SUBRTN* MEMORY CONTROL
2464
2465 S^;*********************************************************************^
2466 ;*THESE ROUTINES PERFORM CORE MAPPING AND PRINTING AS WELL AS MEMORY
2467 ;*ZEROING AND ADDRESS TRANSLATION FOR PAGING OR DIRECT ADDRESS MODES
2468 ;* $MPCNK (MAPCNK) ACTUAL MEMORY CHUNK MAPPER
2469 ;* $MPSET (MAPSET) SETS UP PAGE MAP FOR KI10
2470 ;* $MSEG (MEMSEG) SET UP SEGMENTS FROM CHUNKS IN PAGE MAP
2471 ;* (MAPNEW=-1 FOR PAGED SEGMENTS UP TO 1024K)
2472 ;* (MAPNEW= 0 FOR DIRECT ADDRESSING UP TO 256K)
2473 ;* $MZRO (MEMZRO) ZERO'S THE MAPPED MEMORY
2474 ;* $MPADR (MAPADR) VIRTUAL TO PHYSICAL ADDRESS TRANSLATION
2475 S^;*********************************************************************^
2476
2477 S^;*********************************************************************^
2478 ;*EXEC MODE MEMORY MAPPING
2479 S^;*********************************************************************^
2480
2481 003603 402 00 0 00 030146 $MEMMP: SETZM MEMSIZ ;CLEAR MAP TABLE START ADDR
2482 003604 200 00 0 00 007223 MOVE [MEMSIZ,,MEMSIZ+1]
2483 003605 251 00 0 00 030216 BLT MEMSIZ+^D40 ;CLEAR MEMSIZ TABLE
2484
2485 003606 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE ?
2486 003607 254 00 0 00 003652 JRST $MPOL1 ;YES, USE UPMP & 256K
2487 003610 201 00 0 00 337777 MOVEI 0,337777 ;NO
2488 003611 200 01 0 00 030046 MOVE 1,CONSW ;SETUP SWITCHES
2489 003612 336 00 0 00 030511 SKIPN PVPAGI ;PREVENT PAGE INHIBIT ?
2490 003613 607 01 0 00 000100 TLNN 1,INHPAG ;PAGING INHIBITED ?
2491 003614 254 00 0 00 003616 JRST $MEPAG ;NO ...USE PAGING
2492 003615 254 00 0 00 003653 JRST $MPOL1+1 ;YES, USE UNPAGED MEM, 0-112K
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 33
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0117
2493 003616 7 010 20 0 00 000000 $MEPAG: CONO PAG,0 ;TURN OFF KL STYLE PAGING
2494 003617 205 01 0 00 777760 MOVSI 1,-20 ;SETUP EXEC-PER-PROCESS MAP
2495 003620 200 00 0 00 007224 MOVE [540336,,540337]
2496 003621 336 00 0 00 030506 SKIPN CSHFLG
2497 003622 670 00 0 00 007013 TDO [020000,,020000]
2498 003623 270 00 0 00 007014 ADD [2,,2] ;SO 112K-128K POINTS TO ITSELF
2499 003624 202 00 0 01 000400 MOVEM 400(1) ;VIRTUAL = PHYSICAL
2500 003625 253 01 0 00 003623 AOBJN 1,.-2
2501 003626 205 00 0 00 255000 MOVSI (JFCL) ;SETUP ARITHMETIC TRAP
2502 003627 202 00 0 00 000421 MOVEM 421 ;JUST IN CASE
2503 003630 336 00 0 00 030143 SKIPN MAPNEW ;"MAPNEW" = 0 ?
2504 003631 254 00 0 00 003642 JRST $MPOLD ;YES ...USE 256K MAPPING
2505
2506 S^;*********************************************************************^
2507 ;*MEMORY MAPPING CONTROL
2508 ;*MAP 1024K, 256K, 112K OR 256K SPECIAL USER
2509 S^;*********************************************************************^
2510
2511 003632 200 01 0 00 000121 $MPNEW: MOVE 1,JOBFF ;USE FIRST FREE UP TEMP
2512 003633 201 16 0 00 000007 MOVEI 16,^D7 ;1024K IS 8 128K CHUNKS
2513 003634 200 00 0 00 000016 MOVE 0,16
2514 003635 260 17 0 00 004041 GO $MPSET ;SET PAGE MAP FOR 128K CHUNK
2515 003636 200 00 0 00 007225 MOVE [400000,,777777] ;LOAD AC0 WITH PAGABLE ADDR BOUNDARIES
2516 003637 260 17 0 00 003730 GO $MPCNK ;MAP 128K-256K VIRTUAL
2517 003640 365 16 0 00 003634 SOJGE 16,.-4 ;COMPLETED 1024K ?
2518 003641 254 00 0 00 003673 JRST $MPCMB ;YES, COMBINE POINTERS
2519
2520 003642 205 01 0 00 777600 $MPOLD: MOVSI 1,-200 ;128K-256K VIRTUAL POINTS
2521 003643 200 00 0 00 007226 MOVE [540376,,540377] ;TO PHYSICAL 128K-256K
2522 003644 260 17 0 00 003657 GO $CSHALW ;CACHE ALLOWED ?
2523 003645 670 00 0 00 007013 TDO [020000,,020000]
2524 003646 270 00 0 00 007014 ADD [2,,2] ;AND MEMORY ENDS AT 256K
2525 003647 202 00 0 01 000200 MOVEM 200(1)
2526 003650 253 01 0 00 003646 AOBJN 1,.-2
2527 003651 260 17 0 00 003747 GO SMPAG ;SET TRAP ENABLE
2528 003652 201 00 0 00 777777 $MPOL1: MOVEI 0,777777 ;MAP 0-256K
2529 003653 200 01 0 00 000121 MOVE 1,JOBFF ;USE FIRST FREE UP TEMP
2530 003654 402 00 0 00 030143 SETZM MAPNEW ;DIRECT ADDRESSING ONLY
2531 003655 260 17 0 00 003730 GO $MPCNK ;MAP CHUNK
2532 003656 254 00 0 00 003673 JRST $MPCMB ;COMBINE POINTERS
2533
2534 003657 332 00 0 00 030507 $CSHALW:SKIPE CSHMEM
2535 003660 254 00 0 00 030064 JRST CPOPJ1 ;DON'T CACHE MEMORY SEGMENTS
2536 003661 332 00 0 00 030506 SKIPE CSHFLG
2537 003662 254 00 0 00 030064 JRST CPOPJ1 ;DON'T CACHE AT ALL
2538 003663 261 17 0 00 000000 PUT 0
2539 003664 200 00 0 00 030046 MOVE CONSW
2540 003665 603 00 0 00 000020 TLNE INHCSH
2541 003666 254 00 0 00 003671 JRST .+3 ;CACHE SWITCH INHIBITED
2542 003667 262 17 0 00 000000 GET 0
2543 003670 263 17 0 00 000000 RTN ;OK, CACHE
2544 003671 262 17 0 00 000000 GET 0
2545 003672 254 00 0 00 030064 JRST CPOPJ1
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 34
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0118
2546 S^;*********************************************************************^
2547 ;*COMBINE EXISTENT CHUNKS FROM MAPCNK
2548 ;*PUT POINTERS IN MEMSIZ TABLE
2549 S^;*********************************************************************^
2550
2551 003673 402 00 0 00 000002 $MPCMB: SETZM 2 ;SET MEMSIZ TABLE POINTER (AC2) @ 0
2552 003674 275 01 0 00 000001 SUBI 1,1 ;DECREMENT TEMP POINTER
2553 003675 200 00 0 01 000000 MOVE AC0,(1) ;GET LOWEST ADR OF LOWEST CHUNK
2554 003676 302 00 0 00 000000 CAIE 0,0 ;SHOULD BE 0 (THATS WHERE MEMORY STARTS)
2555 003677 037 15 0 00 000004 FATAL ;NOT 0
2556 003700 202 00 0 02 030146 MOVEM MEMSIZ(2) ;PUT IN MEMSIZ TABLE (AC2 IS PTR)
2557 003701 271 02 0 00 000001 ADDI 2,1 ;INCR THE TABLE POINTER
2558
2559 003702 275 01 0 00 000001 $MPCM1: SUBI 1,1 ;DECR TEMP POINTER
2560 003703 307 01 1 00 000121 CAIG 1,@JOBFF ;COMBINED ALL CHUNK POINTERS ?
2561 ;(TEMP PTR > JOBFF)
2562 003704 254 00 0 00 003721 JRST $MPCM2 ;YES
2563 003705 200 00 0 01 000000 MOVE AC0,(1) ;NO ...GET CHUNK END ADDRESS
2564 003706 200 03 0 01 777777 MOVE 3,-1(1) ;GET NEXT CHUNK START ADR IN AC3
2565 003707 200 04 0 00 000000 MOVE 4,0 ;PUT END ADDR IN AC4
2566 003710 271 04 0 00 000001 ADDI 4,1 ;INCR THE END ADDR
2567 003711 316 03 0 00 000004 CAMN 3,4 ;IF END & START NOW EQUAL
2568 003712 364 01 0 00 003702 SOJA 1,$MPCM1 ;IT IS CONT. CHUNK - DO NEXT ONE
2569
2570 003713 202 00 0 02 030146 $MPCM3: MOVEM 0,MEMSIZ(2) ;IF NOT =, PUT END ADR IN MEMSIZ TABLE
2571 003714 301 02 0 00 000046 CAIL 2,^D38 ;HAVE WE FILLED MEMSIZ TABLE ?
2572 003715 254 00 0 00 003725 JRST $MPCMX ;YES ...IGNORE REST OF CHUNKS
2573 003716 271 02 0 00 000001 ADDI 2,1 ;NO ...INCR MEMSIZ TABLE PTR (AC2)
2574 003717 202 03 0 02 030146 MOVEM 3,MEMSIZ(2) ;AND NEXT CHUNK START ADR
2575 003720 364 01 0 00 003701 SOJA 1,$MPCM1-1 ;DO NEXT ONE
2576
2577 003721 200 00 0 01 000000 $MPCM2: MOVE (1) ;GET LAST ADDR OF LAST CHUNK
2578 003722 202 00 0 02 030146 MOVEM MEMSIZ(2) ;SAVE LAST ADR OF LAST CHUNK
2579 003723 476 00 0 02 030147 SETOM MEMSIZ+1(2) ;FLAG END OF MEMSIZ TABLE WITH 1'S
2580 003724 254 00 0 00 004346 JRST $PMAP ;PRINT THE MAP
2581
2582 003725 476 00 0 02 030147 $MPCMX: SETOM MEMSIZ+1(2) ;FLAG END OF MEMSIZ TABLE WITH 1'S
2583
2584 PMSGF <^TOO MANY MAP SEGMENTS^>^
2585 003726 037 04 0 00 007227 PSIXMF [SIXBIT\^TOO MANY MAP SEGMENTS^_\]^
2586 003727 254 00 0 00 004346 JRST $PMAP ;PRINT THE MAP
2587
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 35
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0119
2588 S^;*********************************************************************^
2589 ;*"MAPCNK" MEMORY CHUNK MAPPER
2590 ;*STARTS AT HIGHEST POSSIBLE ADDRESS AND MAPS (ASSUMING NON-X-MEM)
2591 ;*UNTIL THE NXM BIT GOES AWAY - THEN MAPS EXISTENT MEMORY
2592 ;*IF NXM BIT COMES BACK IT SWITCHES BACK TO NON-X-MEM MAPPING AND
2593 ;*MAPS THE HOLE IN EXISTENT MEMORY
2594 ;*AC0 HAS BEEN PREVIOUSLY SET UP BY $MPOLD/$MPNEW WITH ADDR LIMITS
2595 S^;*********************************************************************^
2596
2597 003730 202 02 0 00 007443 $MPCNK: MOVEM 2,$ACMP1# ;SAVE AC2 - AC4
2598 003731 202 03 0 00 007444 MOVEM 3,$ACMP2#
2599 003732 202 04 0 00 007445 MOVEM 4,$ACMP3#
2600
2601 003733 550 02 0 00 000000 HRRZ 2,0 ;LOAD ADDRESSER WITH HIGHEST POSS ADDR
2602 003734 554 03 0 00 000000 HLRZ 3,0 ;LOAD WITH LOWEST POSS ADDR
2603 003735 7 004 24 0 00 007464 CONI PI,$MSPI# ;SAVE THE PI STATUS
2604 003736 7 004 20 0 00 000400 CONO PI,PIOFF ;TURN OFF INTERRUPTS
2605 003737 7 000 24 0 00 007463 CONI APR,$MSAPR# ;SAVE PROCESSOR STATUS
2606 003740 261 17 0 00 000502 PUT LPGFTR
2607 003741 201 00 0 00 004005 MOVEI $MPGFL
2608 003742 202 00 0 00 000502 MOVEM LPGFTR
2609 003743 317 02 0 00 000003 CAMG 2,3 ;END GREATER THAN START ?
2610 003744 037 15 0 00 000004 FATAL ;NO
2611
2612 003745 201 04 0 00 020400 $MPCN1: MOVEI 4,LCNXER ;SETUP SM10 NXM BIT
2613 003746 254 00 0 00 003756 JRST $MPNXM ;CONO/CONI BIT(S) SET UP - GO MAP
2614
2615 003747 261 17 0 00 000000 SMPAG: PUT 0
2616 003750 7 010 24 0 00 000000 CONI PAG,0 ;GET PRESENT STATE
2617 003751 660 00 0 00 020000 TRO 0,LTRPEN ;MAKE SURE TRAP ENABLE SET
2618 003752 620 00 0 00 040000 TRZ 0,40000 ;MAKE SURE 20 PAGING IS OFF
2619 003753 7 010 20 1 00 000000 CONO PAG,@0 ;PAGE RESET
2620 003754 262 17 0 00 000000 GET 0
2621 003755 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 36
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0120
2622 S^;*********************************************************************^
2623 ;*NON-X-MEMORY SEGMENT MAPPER
2624 S^;*********************************************************************^
2625
2626 003756 7 000 20 0 04 000000 $MPNXM: CONO APR,(4) ;CLEAR NXM BIT, IF SET
2627 003757 310 00 0 02 000000 CAM (2) ;ADDRESS THE MEMORY
2628 003760 310 00 0 02 777777 CAM -1(2) ;INTERLEAVE MAP
2629 003761 310 00 0 02 777776 CAM -2(2) ;IF NON-X-MEM FROM ANY 4-WAY INTERLEAVE
2630 003762 310 00 0 02 777775 CAM -3(2) ;MARK ALL NON-X-MEM
2631 003763 7 000 34 0 00 000400 CONSO APR,LNXMER ;IS NIXM UP ?
2632 003764 254 00 0 00 004025 JRST $M5 ;NO ..CONV VIRT & REMAP EXISTENT
2633
2634 003765 7 000 20 0 04 000000 $M2: CONO APR,(4) ;YES ...CLEAR THE BIT
2635 003766 275 02 0 00 020000 SUBI 2,20000 ;STEP DOWN 8K
2636 003767 301 02 0 03 000000 CAIL 2,(3) ;MEMORY CHUNK DONE ? (< LOWEST POSS)
2637 003770 254 00 0 00 003756 JRST $MPNXM ;NO ...MAP THE NEXT CHUNK
2638
2639 S^;*********************************************************************^
2640 ;*RESTORE OVERALL SYSTEM STATUS AFTER MAPPING
2641 S^;*********************************************************************^
2642
2643 003771 262 17 0 00 000502 $MPRST: GET LPGFTR
2644 003772 7 000 20 0 00 121600 CONO APR,LAPRAL ;RESET SM APR STATUS
2645 003773 550 03 0 00 007463 HRRZ 3,$MSAPR
2646 003774 405 03 0 00 000007 ANDI 3,7
2647 003775 7 000 20 0 03 000000 CONO APR,(3) ;REASSIGN APR CHANNEL
2648 003776 200 03 0 00 007464 $MPRPI: MOVE 3,$MSPI ;GET SAVED PI STATUS
2649 003777 602 03 0 00 000200 TRNE 3,PION ;IF INTERRUPTS WERE ON
2650 004000 7 004 20 0 00 000200 CONO PI,PION ;TURN BACK ON
2651 004001 200 02 0 00 007443 MOVE 2,$ACMP1 ;RESTORE AC'S
2652 004002 200 03 0 00 007444 MOVE 3,$ACMP2
2653 004003 200 04 0 00 007445 MOVE 4,$ACMP3
2654 004004 263 17 0 00 000000 RTN ;EXIT
2655
2656 004005 554 00 0 00 000500 $MPGFL: HLRZ LEUPFW ;ISOLATE PAGE FAIL REASON
2657 004006 405 00 0 00 770000 ANDI 770000
2658 004007 302 00 0 00 360000 CAIE 360000 ;PARITY ERROR ?
2659 004010 254 00 0 00 003522 JRST $SMPGFL ;NO
2660 004011 350 00 0 00 000501 AOS LPFWPC ;YES, INCREMENT PAGE FAIL PC
2661 004012 254 02 1 00 000501 JRSTF @LPFWPC ;RETURN TO NEXT INSTRUCTION
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 37
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0121
2662 S^;*********************************************************************^
2663 ;*EXISTANT MEMORY MAPPER
2664 S^;*********************************************************************^
2665
2666 004013 310 00 0 02 000000 $MPEXM: CAM (2) ;ADDRESS THE MEMORY
2667 004014 310 00 0 02 777777 CAM -1(2) ;INTERLEAVE THE MAP
2668 004015 310 00 0 02 777776 CAM -2(2)
2669 004016 310 00 0 02 777775 CAM -3(2)
2670 004017 7 000 30 0 00 000400 CONSZ APR,LNXMER ;IS NIXM CLEAR
2671 004020 344 02 0 00 004027 AOJA 2,$M6 ;NO
2672
2673 004021 275 02 0 00 020000 $M4: SUBI 2,20000 ;YES, STEP DOWN 8K
2674 004022 301 02 0 03 000000 CAIL 2,(3) ;BELOW START ADDRESS ?
2675 004023 254 00 0 00 004013 JRST $MPEXM ;NO ...MAP NEXT CHUNK
2676 004024 344 02 0 00 004032 AOJA 2,$M7 ;YES, THIS CHUNK DONE
2677
2678 S^;*********************************************************************^
2679 ;*SAVE POINTERS TO TOP AND BOTTOM OF EXISTANT CHUNKS
2680 ;*TEMPORY STORAGE POINTER IN AC1
2681 ;*VIRTUAL ADDRESS IN AC0
2682 ;*"MAPADR" CONVERTS TO ACTUAL PHYSICAL ADDRESS
2683 S^;*********************************************************************^
2684
2685 004025 260 17 0 00 004034 $M5: GO $MPCXX
2686 004026 344 01 0 00 004013 AOJA 1,$MPEXM ;GO MAP EXISTANT CHUNK
2687
2688 004027 260 17 0 00 004034 $M6: GO $MPCXX
2689 004030 271 01 0 00 000001 ADDI 1,1 ;INCREMENT ADDR
2690 004031 364 02 0 00 003745 SOJA 2,$MPCN1 ;GO MAP NON-X CHUNK
2691
2692 004032 260 17 0 00 004034 $M7: GO $MPCXX
2693 004033 344 01 0 00 003771 AOJA 1,$MPRST ;RESTORE AC'S AND RETURN
2694
2695 004034 200 00 0 00 000002 $MPCXX: MOVE 0,2
2696 004035 260 17 0 00 004316 GO $MPADR ;CONVERT VIRTUAL TO PHYSICAL
2697 004036 037 15 0 00 000004 FATAL ;CAN'T DO IT
2698 004037 202 00 0 01 000000 MOVEM (1) ;SAVE IN TEMP
2699 004040 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 38
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0122
2700 S^;*********************************************************************^
2701 ;*"MAPSET" SETUP SM10 PAGE MAP
2702 ;*FOR VIRTUAL TO PHYSICAL ADDRESS TRANSLATION
2703 ;*ARGUMENTS PASSED IN AC0:
2704 ;* NEG - CLEAR PAGE MAP
2705 ;* 0-7 - MAP CORRESPONDING 128K SEGMENT
2706 S^;*********************************************************************^
2707
2708 004041 202 01 0 00 007446 $MPSET: MOVEM 1,$ACMP4# ;SAVE AC1
2709 004042 325 00 0 00 004051 JUMPGE 0,$MPSE2 ;ARG NEG ?
2710 004043 402 00 0 00 000200 SETZM 200 ;YES, CLEAR PAGE MAP
2711 004044 200 00 0 00 007233 MOVE 0,[200,,201]
2712 004045 251 00 0 00 000377 BLT 0,377
2713
2714 004046 260 17 0 00 003747 $MPSE3: GO SMPAG ;SET TRAP ENABLE
2715 004047 200 01 0 00 007446 MOVE 1,$ACMP4 ;RESTORE AC1
2716 004050 263 17 0 00 000000 RTN ;EXIT
2717
2718 004051 301 00 0 00 000040 $MPSE2: CAIL 0,40 ;ARG 0-37 ?
2719 004052 037 15 0 00 000004 FATAL ;NO, FATAL ERROR
2720 004053 221 00 0 00 000400 IMULI 0,400 ;COMPUTE PHYSICAL RELOCATION
2721 004054 660 00 0 00 540000 TRO 0,540000 ;SET A,W,S BITS
2722 004055 260 17 0 00 003657 GO $CSHALW ;MEM SEG'S CACHED ?
2723 004056 660 00 0 00 020000 TRO 0,020000 ;YES
2724 004057 504 00 0 00 000000 HRL 0,0 ;MAKE BOTH HALVES SAME
2725 004060 271 00 0 00 000001 ADDI 0,1 ;RIGHT HALF ODD PAGE
2726 004061 205 01 0 00 777600 MOVSI 1,-200 ;128K IN PAGE MAP
2727 004062 202 00 0 01 000200 MOVEM 200(1) ;PUT RELOCATION DATA IN PAGE MAP
2728 004063 270 00 0 00 007014 ADD [2,,2] ;BUMP FOR NEXT ENTRY
2729 004064 253 01 0 00 004062 AOBJN 1,.-2
2730 004065 254 00 0 00 004046 JRST $MPSE3 ;CLEAR ASSOC MEMORY & EXIT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 39
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0123
2731 S^;*********************************************************************^
2732 ;*"MEMSEG" ## MAPNEW = -1 ##
2733 ;*SETS UP TO 128K SEGMENT IN PAGE MAP
2734 ;*ARGUMENTS: 0-7 - MAP CORRESPONDING 128K SEGMENT
2735 ;* 10-37 - DOES NOT EXIST ON SM-10
2736 ;* GT 37 - MAP USING PHYSICAL ADDRESS
2737 ;*RETURNED IN AC0:
2738 ; 0 - NO MEMORY AVAILABLE
2739 ;* HIGHEST VIRTUAL ADDRESS
2740 ;* BIT 0 SET IF NON-CONSECUTIVE CORE WAS COMBINED
2741 ;*PAGE MAP SET UP SO VIRTUAL ADDRESS 400000 AND UP POINTS
2742 ;*TO MEMORY REQUESTED
2743 ;* RETURNS +2
2744 S^;*********************************************************************^
2745
2746 004066 202 01 0 00 007447 $MSEG: MOVEM 1,$ACMP5# ;AC1 = TEMP STORAGE POINTER
2747 004067 202 02 0 00 007450 MOVEM 2,$ACMP6# ;AC2 = MAP STORAGE POINTER
2748 004070 202 03 0 00 007451 MOVEM 3,$ACMP7# ;AC3 = CHUNK START ADR
2749 004071 202 04 0 00 007452 MOVEM 4,$ACMP8# ;AC4 = CHUNK END ADR
2750 004072 202 05 0 00 007453 MOVEM 5,$ACMP9# ;AC5 = PAGE COUNTER
2751 004073 403 05 0 00 007462 SETZB 5,$MNCON# ;SAVED AC1 - AC5
2752 004074 603 00 0 00 777760 TLNE 0,777760 ;VALID ARGUMENT ?
2753 004075 037 15 0 00 000004 FATAL ;NO
2754 004076 336 00 0 00 030143 SKIPN MAPNEW
2755 004077 254 00 0 00 004226 JRST $MSKA ;DIRECT ADDRESSING ONLY
2756 004100 200 02 0 00 007234 MOVE 2,[POINT 18,200]
2757 004101 301 00 0 00 000040 CAIL 0,40
2758 004102 254 00 0 00 004166 JRST $MSEGP ;ARG IS FOR PHYSICAL CORE
2759 004103 254 00 0 00 004104 JRST $MSEGV ;VIRTUAL CORE
2760
2761 S^;*********************************************************************^
2762 ;*SETUP MAP FOR REQUESTED 128K SEGMENT IN VIRTUAL CORE
2763 S^;*********************************************************************^
2764
2765 004104 200 01 0 00 030145 $MSEGV: MOVE 1,MEMLOW
2766 004105 260 17 0 00 004041 GO $MPSET ;SETUP MAP FOR REQ SEGMENT
2767 004106 200 00 0 00 007225 MOVE [400000,,777777]
2768 004107 260 17 0 00 003730 GO $MPCNK ;MAP THAT SEGMENT
2769
2770 004110 307 01 1 00 030145 $MSGV1: CAIG 1,@MEMLOW
2771 004111 254 00 0 00 004153 JRST $MSEG3 ;NO CORE IN THIS 128K SEGMENT
2772 ;EXIT
2773 004112 402 00 0 00 000200 SETZM 200 ;CLEAR PAGE MAP
2774 004113 200 00 0 00 007233 MOVE [200,,201]
2775 004114 251 00 0 00 000377 BLT 0,377
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 40
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0124
2776 004115 275 01 0 00 000001 $MSGV2: SUBI 1,1
2777 004116 200 03 0 01 000000 MOVE 3,(1) ;GET CHUNK START ADDRESS
2778 004117 326 03 0 00 004121 JUMPN 3,.+2 ;IF CHUNK ADR IS ZERO
2779 004120 200 03 0 00 030145 MOVE 3,MEMLOW ;USE EVEN BREAK ABOVE JOBFF
2780 004121 275 01 0 00 000001 SUBI 1,1
2781 004122 200 04 0 01 000000 MOVE 4,(1) ;GET CHUNK END ADDRESS
2782 004123 317 04 0 00 000003 CAMG 4,3 ;END GREATER THAN START ?
2783 004124 037 15 0 00 000004 FATAL ;NO ...ABORT
2784 004125 274 04 0 00 000003 SUB 4,3 ;YES ..END - START = SIZE OF CHUNK
2785 004126 271 04 0 00 000001 ADDI 4,1
2786 004127 602 04 0 00 000777 TRNE 4,777 ;CHUNK SHOULD BE EVEN # OF PAGES
2787 004130 037 15 0 00 000004 FATAL ;NO ...ABORT
2788 004131 242 04 0 00 777767 LSH 4,-^D9 ;COMPUTE # OF PAGES
2789 004132 270 05 0 00 000004 ADD 5,4 ;KEEP COUNT
2790 004133 242 03 0 00 777767 LSH 3,-^D9
2791 004134 660 03 0 00 540000 TRO 3,540000 ;CREATE RELOCATION DATA
2792 004135 260 17 0 00 003657 GO $CSHALW ;MEM SEG'S CACHED ?
2793 004136 660 03 0 00 020000 TRO 3,020000 ;YES
2794 004137 361 04 0 00 004143 SOJL 4,$MSGV3
2795 004140 136 03 0 00 000002 IDPB 3,2 ;PUT IN PAGE MAP
2796 004141 271 03 0 00 000001 ADDI 3,1 ;INCREMENT RELOCATION DATA
2797 004142 254 00 0 00 004137 JRST .-3
2798
2799 004143 306 01 1 00 030145 $MSGV3: CAIN 1,@MEMLOW ;ANY MORE CHUNKS IN THIS 128K ?
2800 004144 254 00 0 00 004147 JRST $MSEG2 ;NO ...EXIT)
2801 004145 476 00 0 00 007462 SETOM $MNCON ;YES, NON-CONSECUTIVE CHUNKS
2802 004146 254 00 0 00 004115 JRST $MSGV2 ;PACK INTO VIRTUAL
2803
2804 S^;*********************************************************************^
2805 ;*EXIT FROM MEMSEG ROUTINE
2806 S^;*********************************************************************^
2807
2808 004147 221 05 0 00 001000 $MSEG2: IMULI 5,1000 ;CONVERT # OF PAGES INTO
2809 004150 271 05 0 00 377777 ADDI 5,377777 ;HIGHEST VIRTUAL ADDRESS
2810 004151 332 00 0 00 007462 SKIPE $MNCON ;WERE CHUNKS COMBINED ?
2811 004152 661 05 0 00 400000 TLO 5,400000 ;YES, SET BIT 0 AS FLAG
2812
2813 004153 200 00 0 00 000005 $MSEG3: MOVE 0,5 ;AC0 = RESULTS (SEE TITLE BLOCK)
2814 004154 200 01 0 00 007447 MOVE 1,$ACMP5 ;RESTORE AC'S
2815 004155 200 02 0 00 007450 MOVE 2,$ACMP6
2816 004156 200 03 0 00 007451 MOVE 3,$ACMP7
2817 004157 200 04 0 00 007452 MOVE 4,$ACMP8
2818 004160 200 05 0 00 007453 MOVE 5,$ACMP9
2819 004161 336 00 0 00 030143 SKIPN MAPNEW ;1024K MAPPING (BIG TROUBLE IF NOT)
2820 004162 263 17 0 00 000000 RTN ;NO ...ERROR RETURN +1)
2821
2822 004163 260 17 0 00 003747 $MSEG4: GO SMPAG ;SET TRAP ENABLE
2823 004164 350 00 0 17 000000 AOS (P) ;RETURN +2
2824 004165 263 17 0 00 000000 RTN ;RETURN +1
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 41
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0125
2825 S^;*********************************************************************^
2826 ;*PHYSICAL CORE ASSIGNMENT
2827 S^;*********************************************************************^
2828
2829 004166 200 01 0 00 000000 $MSEGP: MOVE 1,0
2830 004167 620 01 0 00 000777 TRZ 1,777 ;MAKE PHYSICAL EVEN PAGE
2831 004170 400 04 0 00 000000 SETZ 4,
2832 004171 200 00 0 04 030146 MOVE MEMSIZ(4) ;GET START ADDRESS
2833 004172 321 00 0 00 004153 JUMPL $MSEG3 ;IF END OF TABLE, NO CORE ..EXIT
2834 004173 315 01 0 00 000000 CAMGE 1,0 ;PHY = OR GT START ?
2835 004174 254 00 0 00 004153 JRST $MSEG3 ;NO, NO CORE ...EXIT
2836 004175 200 00 0 04 030147 MOVE MEMSIZ+1(4) ;GET END ADDRESS
2837 004176 271 04 0 00 000002 ADDI 4,2
2838 004177 311 01 0 00 000000 CAML 1,0 ;PHY GT END ?
2839 004200 254 00 0 00 004171 JRST .-7 ;YES, TRY NEXT CHUNK
2840
2841 004201 336 00 0 00 030143 SKIPN MAPNEW
2842 004202 254 00 0 00 004252 JRST $MSKAP+3 ;DIRECT ADDRESSING
2843 004203 274 00 0 00 000001 SUB 0,1 ;COMPUTE # OF PAGES
2844 004204 271 00 0 00 000001 ADDI 0,1
2845 004205 242 00 0 00 777767 LSH 0,-^D9
2846 004206 303 00 0 00 000400 CAILE 0,^D256 ;MORE THAN 128K WORTH ?
2847 004207 201 00 0 00 000400 MOVEI 0,^D256 ;YES, LIMIT AT 128K
2848 004210 202 00 0 00 000003 MOVEM 0,3 ;AC3 = MAP FILL COUNTER
2849 004211 202 00 0 00 000005 MOVEM 0,5 ;KEEP COUNT OF # OF PAGES
2850 004212 402 00 0 00 000200 SETZM 200 ;CLEAR PAGE MAP
2851 004213 200 00 0 00 007233 MOVE [200,,201]
2852 004214 251 00 0 00 000377 BLT 0,377
2853 004215 200 00 0 00 000001 MOVE 0,1
2854 004216 242 00 0 00 777767 LSH 0,-^D9 ;CREATE RELOCATION DATA
2855 004217 660 00 0 00 540000 TRO 0,540000
2856 004220 260 17 0 00 003657 GO $CSHALW ;MEM SEG'S CACHED ?
2857 004221 660 00 0 00 020000 TRO 0,020000 ;YES
2858 004222 361 03 0 00 004147 SOJL 3,$MSEG2 ;EXIT
2859 004223 136 00 0 00 000002 IDPB 0,2 ;PUT DATA IN PAGE MAP
2860 004224 271 00 0 00 000001 ADDI 0,1 ;INCREMENT RELOCATION DATA
2861 004225 254 00 0 00 004222 JRST .-3
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 42
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0126
2862 S^;*********************************************************************^
2863 ;*"MEMSEG" ## MAPNEW = 0 ##
2864 ;*ARGUMENTS 0-10: SETUP CORRESPONDING CHUNK FROM MEMSIZ TABLE
2865 ;* 11-37 RETURN 0, MAXIMUM OF 8 CHUNKS IN 256K
2866 ;* GT 37 - RETURNS MEMORY AT PHYSICAL ADDRESS
2867 ;*RETURNED IN AC0:
2868 ;* 0 - NO MEMORY AVAILABLE
2869 ;* START ADDRESS,,END ADDRESS
2870 ;*RETURNS +1
2871 S^;*********************************************************************^
2872
2873 004226 301 00 0 00 000040 $MSKA: CAIL 0,40
2874 004227 254 00 0 00 004247 JRST $MSKAP ;DIRECT PHYSICAL CORE
2875 004230 301 00 0 00 000011 CAIL ^D9
2876 004231 254 00 0 00 004153 JRST $MSEG3 ;NO MEMORY 11-37 ...EXIT
2877 004232 200 01 0 00 000000 MOVE 1,0
2878 004233 242 01 0 00 000001 LSH 1,1 ;DOUBLE, 2 ENTRIES PER
2879 004234 200 00 0 01 030146 MOVE 0,MEMSIZ(1) ;GET START ADDRESS
2880 004235 321 00 0 00 004153 JUMPL 0,$MSEG3 ;NO MEMORY ...EXIT
2881 004236 200 02 0 01 030147 MOVE 2,MEMSIZ+1(1) ;GET END ADDRESS
2882 004237 322 02 0 00 004153 JUMPE 2,$MSEG3 ;NO MEMORY ...EXIT
2883 004240 326 00 0 00 004242 JUMPN 0,.+2 ;IF START ADDRESS IS 0
2884 004241 200 00 0 00 030145 MOVE 0,MEMLOW ;USE 'MEMLOW'
2885 004242 317 02 0 00 000000 CAMG 2,0 ;END GREATER THAN START ?
2886 004243 037 15 0 00 000004 FATAL ;NO ...ABORT
2887 004244 200 05 0 00 000002 MOVE 5,2 ;SETUP START ADR,,END ADR
2888 004245 504 05 0 00 000000 HRL 5,0
2889 004246 254 00 0 00 004153 JRST $MSEG3 ;EXIT
2890
2891 004247 303 00 0 00 777000 $MSKAP: CAILE 0,777000 ;REQUEST FOR OVER 256K ?
2892 004250 254 00 0 00 004153 JRST $MSEG3 ;YES, NO MEMORY
2893 004251 254 00 0 00 004166 JRST $MSEGP ;DO PHYSICAL SETUP
2894 004252 200 05 0 00 000000 MOVE 5,0 ;1 = PHY ADR, 0 = END ADR
2895 004253 504 05 0 00 000001 HRL 5,1 ; START ADR,,END ADR
2896 004254 254 00 0 00 004153 JRST $MSEG3 ;EXIT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 43
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0127
2897 S^;*********************************************************************^
2898 ;*"MEMZRO"
2899 ;*ZERO'S MEMORY FROM MEMLOW UP TO MAXIMUM
2900 ;*MAPNEW = 0 DIRECT MEMORY ZERO
2901 ;* =-1 1024K SM10 PAGED MEMORY ZERO
2902 S^;*********************************************************************^
2903
2904 004255 202 01 0 00 007465 $MZRO: MOVEM 1,$MZROB# ;SAVE AC1 & AC2
2905 004256 202 02 0 00 007466 MOVEM 2,$MZROC#
2906 004257 336 00 0 00 030143 SKIPN MAPNEW ;1024K PAGED OR DIRECT ZERO ?
2907 004260 254 00 0 00 004276 JRST $MZRO2 ;DIRECT ZEROING
2908
2909 004261 474 02 0 00 000000 $MZRO1: SETO 2, ;PAGED ZEROING
2910 004262 271 02 0 00 000001 ADDI 2,1
2911 004263 303 02 0 00 000007 CAILE 2,7
2912 004264 254 00 0 00 004313 JRST $MZROX ;DONE
2913 004265 200 00 0 00 000002 MOVE 0,2
2914 004266 260 17 0 00 004066 GO $MSEG ;SETUP MEMORY SEGMENT
2915 004267 037 15 0 00 000004 FATAL
2916 004270 322 00 0 00 004262 JUMPE 0,$MZRO1+1 ;NO MEMORY THIS SEGMENT
2917 004271 621 00 0 00 400000 TLZ 0,400000 ;DON'T CARE IF COMBINED
2918 004272 402 00 0 00 400000 SETZM 400000
2919 004273 200 01 0 00 007235 MOVE 1,[400000,,400001]
2920 004274 251 01 1 00 000000 BLT 1,@0 ;ZERO VIRTUAL
2921 004275 254 00 0 00 004262 JRST $MZRO1+1
2922
2923 004276 400 02 0 00 000000 $MZRO2: SETZ 2, ;DIRECT MEMORY ZERO
2924 004277 200 00 0 00 030145 MOVE 0,MEMLOW ;START ADDRESS
2925 004300 311 00 0 00 030147 CAML 0,MEMSIZ+1
2926 004301 254 00 0 00 004313 JRST $MZROX
2927 004302 254 00 0 00 004305 JRST .+3
2928 004303 200 00 0 02 030146 $MZRO3: MOVE 0,MEMSIZ(2) ;SEGMENT START ADDRESS
2929 004304 321 00 0 00 004313 JUMPL 0,$MZROX ;DONE
2930 004305 402 00 1 00 000000 SETZM @0
2931 004306 507 00 0 00 000000 HRLS ;CREATE BLT POINTER
2932 004307 271 00 0 00 000001 ADDI 1
2933 004310 251 00 1 02 030147 BLT 0,@MEMSIZ+1(2) ;ZERO DIRECT
2934 004311 271 02 0 00 000002 ADDI 2,2
2935 004312 254 00 0 00 004303 JRST $MZRO3 ;DO NEXT SEGMENT
2936
2937 004313 200 02 0 00 007466 $MZROX: MOVE 2,$MZROC ;RESTORE AC'S
2938 004314 200 01 0 00 007465 MOVE 1,$MZROB
2939 004315 263 17 0 00 000000 RTN ;EXIT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 44
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0128
2940 S^;*********************************************************************^
2941 ;*"MAPADR" CONV VIRT ADDR TO PHYS ADDR
2942 ;*VIRTUAL ADDRESS IN AC0, PHYSICAL ADDRESS RETURNED IN AC0
2943 ;*SKIP RETURN IS NORMAL, NON-SKIP RETURN IS SM10 PAGE INACCESSIBLE
2944 S^;*********************************************************************^
2945
2946 004316 202 01 0 00 007442 $MPADR: MOVEM 1,$ACMP0# ;SAVE AC1
2947 004317 550 01 0 00 000000 HRRZ 1,0 ;18 BIT VIRTUAL ADR IN AC1
2948 004320 307 01 0 00 000017 CAIG 1,17 ;ACCUMULATOR ADDRESS ?
2949 004321 254 00 0 00 004327 JRST $MPAD3-1 ;YES
2950 004322 200 00 0 00 030046 MOVE 0,CONSW ;GET CONSOLE SWITCHES
2951 004323 336 00 0 00 030511 SKIPN PVPAGI ;PREVENT PAGE INHIBIT ?
2952 004324 607 00 0 00 000100 TLNN 0,INHPAG ;PAGING INHIBITED
2953 004325 254 00 0 00 004334 JRST $MPADL ;NO
2954 004326 254 00 0 00 004332 JRST $MPAD2 ;YES
2955
2956 004327 350 00 0 17 000000 $MPAD7: AOS (P) ;INCREMENT USRPC (+2 RETURN)
2957 004330 200 01 0 00 007442 $MPAD3: MOVE 1,$ACMP0 ;RESTORE AC1
2958 004331 263 17 0 00 000000 RTN ;RETURN +1/+2
2959 004332 200 00 0 00 000001 $MPAD2: MOVE 0,1 ;VIRTUAL IS PHYSICAL ADDRESS
2960 004333 254 00 0 00 004327 JRST $MPAD7
2961
2962 004334 257 00 0 01 000000 $MPADL: MAP 0,(1) ;SM10. GET RELOCATION DATA
2963 004335 603 00 0 00 200000 TLNE 0,200000 ;PAGE FAILURE
2964 004336 254 00 0 00 004330 JRST $MPAD3 ;YES
2965 004337 621 00 0 00 777000 TLZ 0,777000 ;CLEAR STATUS BITS
2966 004340 602 01 0 00 000777 TRNE 1,777 ;LO-ORDER 9 VIRTUAL = 0
2967 004341 602 00 0 00 000777 TRNE 0,777 ; & LO-ORDER 9 MAPPED = 0 ?
2968 004342 254 00 0 00 004327 JRST $MPAD7 ;YES
2969 004343 405 01 0 00 000777 ANDI 1,777 ;NO, SM-10 BUG, LOW-ORDER 9 FROM VIRTUAL
2970 004344 434 00 0 00 000001 OR 0,1 ;COMBINE
2971 004345 254 00 0 00 004327 JRST $MPAD7
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 45
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0129
2972 S^;*********************************************************************^
2973 ;*PRINT MEMORY MAP
2974 S^;*********************************************************************^
2975 SALL
2976 004346 477 00 0 00 000002 $PMAP: SETOB 0,2
2977 004347 316 00 0 00 030150 CAMN 0,MEMSIZ+2 ;ONLY ONE SEGMENT ?
2978 004350 201 02 0 00 000001 MOVEI 2,1 ;YES, SET INDICATOR
2979 004351 400 04 0 00 000000 SETZ 4,
2980 004352 331 00 0 00 030043 SKIPL MONCTL ;UNDER DIAGNOSTIC MONITOR ?
2981 004353 254 00 0 00 004357 JRST $PMAP3 ;NO
2982 004354 554 00 0 00 030043 HLRZ MONCTL ;FIRST PASS ?
2983 004355 302 00 0 00 777777 CAIE -1
2984 004356 254 00 0 00 004361 JRST $PMAP1 ;NO
2985 004357 336 00 0 00 030056 $PMAP3: SKIPN $ONETM ;FIRST TIME ?
2986 004360 474 04 0 00 000000 SETO 4, ;YES, SET FLAG FOR PRINTING
2987 004361 322 04 0 00 004370 $PMAP1: JUMPE 4,$PMAPL-1 ;NO
2988
2989 004362 336 00 0 00 030143 SKIPN MAPNEW
2990 004363 037 02 0 00 007236 PMSG <^VIRTUAL>
2991 004364 037 02 0 00 007240 PMSG <^MEMORY MAP =^FROM TO SIZE/K>
2992
2993 004365 302 02 0 00 000001 CAIE 2,1 ;IF (2) = 1, ONLY ONE SEGMENT
2994 004366 037 02 0 00 007247 PMSG <]START ADR/K>
2995 004367 037 00 0 00 030242 PCRL
2996 004370 403 03 0 00 000005 SETZB 3,5
2997
2998 004371 335 00 0 03 030146 $PMAPL: SKIPGE MEMSIZ(3) ;GET MAP COORDINATES
2999 004372 254 00 0 00 004421 JRST $PMAP4
3000 004373 322 04 0 00 004401 JUMPE 4,.+6
3001 004374 200 00 0 03 030146 MOVE MEMSIZ(3)
3002 004375 037 10 0 00 000000 PNTADR ;PRINT START ADDRESS
3003 004376 200 00 0 03 030147 MOVE MEMSIZ+1(3)
3004 004377 037 10 0 00 000000 PNTADR ;PRINT END ADDRESS
3005 004400 037 00 0 00 000011 PNTCI " "
3006 004401 200 00 0 03 030147 MOVE MEMSIZ+1(3)
3007 004402 271 00 0 00 000001 ADDI 0,1
3008 004403 274 00 0 03 030146 SUB MEMSIZ(3)
3009 004404 231 00 0 00 002000 IDIVI ^D1024
3010 004405 270 05 0 00 000000 ADD 5,0
3011 004406 322 04 0 00 004417 JUMPE 4,$PMAP5
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 46
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* MEMORY CONTROL SEQ 0130
3012 004407 037 15 0 00 000000 $PMAP7: PNTDEC ;PRINT DECIMAL SIZE
3013 004410 306 02 0 00 000001 CAIN 2,1
3014 004411 254 00 0 00 004416 JRST .+5
3015 004412 037 00 0 00 000011 PNTCI " "
3016 004413 200 00 0 03 030146 MOVE MEMSIZ(3)
3017 004414 231 00 0 00 002000 IDIVI ^D1024
3018 004415 037 15 0 00 000000 PNTDEC ;PRINT START ADR IN K
3019 004416 037 00 0 00 030242 PCRL
3020
3021 004417 271 03 0 00 000002 $PMAP5: ADDI 3,2
3022 004420 254 00 0 00 004371 JRST $PMAPL ;GET NEXT IF ANY
3023
3024 004421 202 05 0 00 030144 $PMAP4: MOVEM 5,MEMTOT ;SAVE TOTAL # OF K
3025 004422 550 00 0 00 000121 HRRZ JOBFF ;SETUP LOWEST USABLE
3026 004423 271 00 0 00 001000 ADDI 1000 ;MEMORY ADDRESS
3027 004424 620 00 0 00 000777 TRZ 777 ;EVEN BREAK ABOVE JOBFF
3028 004425 202 00 0 00 030145 MOVEM MEMLOW
3029 004426 322 04 0 00 004436 JUMPE 4,$PMAP6 ;RETURN
3030 004427 306 02 0 00 000001 CAIN 2,1
3031 004430 254 00 0 00 004435 JRST $PMAP6-1 ;CRLF & RETURN
3032
3033 004431 037 02 0 00 007252 PMSG <TOTAL MEMORY/K = >
3034 004432 200 00 0 00 030144 MOVE MEMTOT ;OUTPUT TOTAL MEMORY
3035 004433 037 15 0 00 000000 PNTDEC
3036 004434 037 00 0 00 030242 PCRL
3037 004435 037 00 0 00 030242 PCRL
3038
3039 004436 263 17 0 00 000000 $PMAP6: RTN ;EXIT
3040 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 47
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CONSOLE DATA SWITCH INPUT SUBROUTINE SEQ 0131
3041 SUBTTL *SUBRTN* CONSOLE DATA SWITCH INPUT SUBROUTINE
3042
3043 S^;*********************************************************************^
3044 ;*INPUT CONSOLE SWITCHES IN EXEC MODE OR IN
3045 ;*USER MODE IF NON-TTY SWITCH CONTROL
3046 S^;*********************************************************************^
3047
3048 004437 332 00 0 00 030521 $SWTCH: SKIPE $$TOGGLE ;SWITCHES PREVENTED ?
3049 004440 254 00 0 00 004452 JRST $SWU2 ;YES, USE C(CONSW)
3050 004441 336 00 0 00 007514 SKIPN $SWFLG ;BEEN INITED ?
3051 004442 254 00 0 00 004450 JRST $SWU1 ;NO, USE SAVED SWITCHES
3052 004443 254 00 0 00 004450 JRST $SWU1 ;YES, USE SAVED SWITCHES
3053 004444 335 00 0 00 030043 $SWCH1: SKIPGE MONCTL ;MONITR CONTROL ?
3054 004445 540 00 0 00 030043 HRR 0,MONCTL ;YES, USE PRESTORED RH SWITCHES
3055 004446 202 00 0 00 030046 MOVEM 0,CONSW ;SAVE
3056 004447 263 17 0 00 000000 RTN ;EXIT
3057 004450 200 00 0 00 030046 $SWU1: MOVE 0,CONSW
3058 004451 254 00 0 00 004444 JRST $SWCH1
3059 004452 200 00 0 00 030046 $SWU2: MOVE 0,CONSW
3060 004453 263 17 0 00 000000 RTN
3061
3062 S^;*********************************************************************^
3063 ;*SWITCH INITIALIZATION ROUTINE
3064 S^;*********************************************************************^
3065 SALL
3066 004454 402 00 0 00 007515 $SWTIN: SETZM $SWONCE#
3067 004455 260 17 0 00 004477 GO $SW0 ;INIT SWITCH ROUTINE
3068 004456 476 00 0 00 007515 $SWIN1: SETOM $SWONCE
3069 004457 476 00 0 00 007514 SETOM $SWFLG ;SET INITED FLAG
3070 004460 260 17 0 00 004437 GO $SWTCH ;READ CONSOLE SWITCHES
3071 004461 603 00 0 00 000000 TLNE PNTLPT ;PRINT ON LPT/LOGICAL DEVICE ?
3072 004462 260 17 0 00 003157 GO $PNTNM+2 ;YES ...PRINT PROGRAM NAME
3073 004463 200 00 0 00 030046 MOVE CONSW
3074 004464 603 00 0 00 000004 TLNE CHAIN ;IN CHAIN MODE ?
3075 004465 263 17 0 00 000000 RTN ;YES, DON'T PRINT FOLLOWING
3076 004466 335 00 0 00 030043 SKIPGE MONCTL
3077 004467 263 17 0 00 000000 RTN ;DIAGNOSTIC MONITOR
3078 004470 332 00 0 00 030521 SKIPE $$TOGGLE
3079 004471 254 00 0 00 004476 JRST .+5
3080 004472 037 04 0 00 007255 PMSGF <SWITCHES = >
3081 004473 200 00 0 00 030046 MOVE CONSW ;GET THE SAVED SWITCHES
3082 004474 037 13 0 00 000001 PNTHWF ;PRINT PRESENT SWITCH SETTINGS
3083 004475 037 01 0 00 030242 PCRLF
3084 004476 263 17 0 00 000000 RTN ;EXIT
3085 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 48
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CONSOLE DATA SWITCH INPUT SUBROUTINE SEQ 0132
3086 SALL
3087 004477 261 17 0 00 000000 $SW0: PUT 0
3088 004500 332 00 0 00 030521 SKIPE $$TOGGLE ;SWITCHES PREVENTED ?
3089 004501 254 00 0 00 004551 JRST $SW9+2 ;YES, USE C(CONSW)
3090 004502 335 00 0 00 030043 $SW0A: SKIPGE MONCTL ;DIAGNOSTIC MONITOR MODE ?
3091 004503 254 00 0 00 004553 JRST $SW10 ;YES
3092 004504 336 00 0 00 007515 SKIPN $SWONCE ;INITIALIZATION ?
3093 004505 254 00 0 00 004555 JRST $SW11 ;YES
3094 004506 037 04 0 00 007057 $SW12: PMSGF <^SWITCHES = >
3095 004507 200 00 0 00 030046 MOVE CONSW
3096 004510 037 13 0 00 000001 PNTHWF
3097
3098 004511 037 04 0 00 007257 $SW1: PMSGF <^TTY SWITCH CONTROL ? - 0,S OR Y <CR> - >
3099 004512 260 17 0 00 005055 GO $OPTLK ;INPUT THE ANSWER
3100 004513 254 00 0 00 004511 JRST $SW1 ;NO CHARACTER RETURNED, ASK AGAIN
3101 004514 306 00 0 00 000015 CAIN 0,15
3102 004515 254 00 0 00 004531 JRST $SWERR ;1ST CHAR CR, ERROR
3103 004516 242 00 0 00 000007 LSH 0,7 ;POSITION 1ST CHAR
3104 004517 202 00 0 00 007513 MOVEM $SW#
3105 004520 260 17 0 00 005055 GO $OPTLK ;INPUT THE CR
3106 004521 254 00 0 00 004511 JRST $SW1 ;NO CHAR, ASK AGAIN
3107 004522 434 00 0 00 007513 OR 0,$SW
3108 004523 306 00 0 00 014015 CAIN 0,14015 ;"0" (CR) ?
3109 004524 254 00 0 00 004532 JRST $SW6 ;YES-USE ALL SWITCHES = 0
3110 004525 306 00 0 00 024615 CAIN 0,24615 ;"S" (CR) ?
3111 004526 254 00 0 00 004547 JRST $SW9 ;YES-USE SAVED SWITCHES
3112 004527 306 00 0 00 026215 CAIN 0,26215 ;"Y" (CR) ?
3113 004530 254 00 0 00 004534 JRST $SW2 ;YES-USE TTY INPUT SWITCHES
3114
3115 004531 254 00 0 00 004511 $SWERR: JRST $SW1 ;ASK AGAIN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 49
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CONSOLE DATA SWITCH INPUT SUBROUTINE SEQ 0133
3116 004532 402 00 0 00 000000 $SW6: SETZM 0
3117 004533 254 00 0 00 004544 JRST $SW4
3118
3119 004534 037 04 0 00 007266 $SW2: PMSGF <^LH SWITCHES <# OR ?> - >
3120 004535 260 17 0 00 005267 GO $TPOCT ;INPUT 6 OCTALS
3121 004536 254 00 0 00 004561 JRST $SW13 ;ERROR .....TRY AGAIN
3122 004537 516 00 0 00 007513 HRLZM 0,$SW# ;MOVE LH WORD TO SW
3123
3124 004540 037 04 0 00 007273 $SW3: PMSGF <RH SWITCHES <# OR ?> - >
3125 004541 260 17 0 00 005267 GO $TPOCT ;INPUT 6 OCTALS
3126 004542 254 00 0 00 004566 JRST $SW14 ;ERROR .....TRY AGAIN
3127 004543 500 00 0 00 007513 HLL 0,$SW ;GET LH SWITCHES
3128 004544 202 00 0 00 030046 $SW4: MOVEM 0,CONSW ;SAVE SWITCHES IN CONSW
3129 004545 262 17 0 00 000000 $SW8: GET 0
3130 004546 263 17 0 00 000000 RTN
3131
3132 004547 332 00 0 00 007515 $SW9: SKIPE $SWONCE ;S, USE SAME AS BEFORE ON "DING" REQUEST
3133 004550 254 00 0 00 004545 JRST $SW8
3134 004551 200 00 0 00 007512 MOVE $SVCSW ;ON INITIALIZATION USE PREVIOUS SWITCHES
3135 004552 254 00 0 00 004544 JRST $SW4
3136
3137 004553 200 00 0 00 020007 $SW10: MOVE 0,DIASWS ;GET DIAMON SWITCHES
3138 004554 254 00 0 00 004544 JRST $SW4
3139
3140 004555 200 00 0 00 007512 $SW11: MOVE 0,$SVCSW ;IF SAVED SW'S ARE ZERO
3141 004556 322 00 0 00 004511 JUMPE 0,$SW1 ;DON'T PRINT THEM
3142 004557 202 00 0 00 030046 MOVEM 0,CONSW
3143 004560 254 00 0 00 004506 JRST $SW12
3144
3145 004561 302 00 0 00 000077 $SW13: CAIE "?" ;QMARK ?
3146 004562 254 00 0 00 004534 JRST $SW2 ;NO, ERROR
3147 004563 201 00 0 00 004625 MOVEI SWTAB
3148 004564 260 17 0 00 004574 GO $SWXX ;PROMPT FOR SWITCHES
3149 004565 254 00 0 00 004537 JRST $SW3-1
3150
3151 004566 302 00 0 00 000077 $SW14: CAIE "?" ;QMARK ?
3152 004567 254 00 0 00 004540 JRST $SW3 ;NO, ERROR
3153 004570 200 00 0 00 030525 MOVE SWPTAB ;GET ADDRESS OF USERS TABLE
3154 004571 322 00 0 00 004540 JUMPE $SW3 ;IF NONE, ERROR
3155 004572 260 17 0 00 004574 GO $SWXX ;PROMPT FOR SWITCHES
3156 004573 254 00 0 00 004543 JRST $SW4-1
3157 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 50
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CONSOLE DATA SWITCH INPUT SUBROUTINE SEQ 0134
3158 S^;*********************************************************************^
3159 ;*PROMPT FOR SWITCHES
3160 S^;*********************************************************************^
3161 SALL
3162 004574 261 17 0 00 000001 $SWXX: PUT 1
3163 004575 261 17 0 00 000002 PUT 2
3164 004576 261 17 0 00 000003 PUT 3
3165 004577 200 01 0 00 000000 MOVE 1,0 ;PUT SWITCH PROMPT TABLE ADDRESS IN 1
3166 004600 505 01 0 00 777756 HRLI 1,-^D18 ;18 SWITCHES
3167 004601 201 02 0 00 400000 MOVEI 2,400000
3168 004602 400 03 0 00 000000 SETZ 3,
3169 004603 037 01 0 00 030242 PCRLF
3170
3171 004604 200 00 0 01 000000 $SWXX1: MOVE (1) ;GET SIXBIT PROMPT
3172 004605 322 00 0 00 004615 JUMPE 0,$SWXX2 ;IF BLANK, NO PROMPT
3173 004606 037 01 0 00 000002 PNTSXF
3174 004607 037 01 0 00 000011 PNTCIF 11 ;PRINT A TAB
3175 004610 260 17 0 00 004656 GO $SWZZ ;GET SWITCH ANSWER
3176 004611 254 00 0 00 004603 JRST $SWXX1-1 ;ERROR
3177 004612 254 00 0 00 004617 JRST $SWXX3 ;CONTROL Z
3178 004613 254 00 0 00 004647 JRST $SWXX4 ;UPARROW
3179 004614 434 03 0 00 000002 OR 3,2 ;YES, OR SWITCH BIT IN
3180 ;NO, DON'T SET SWITCH BIT
3181 004615 242 02 0 00 777777 $SWXX2: LSH 2,-1 ;POSITION TO NEXT SWITCH
3182 004616 253 01 0 00 004604 AOBJN 1,$SWXX1
3183 004617 037 01 0 00 030242 $SWXX3: PCRLF
3184 004620 200 00 0 00 000003 MOVE 0,3 ;RETURN SWITCHES IN 0
3185 004621 262 17 0 00 000003 GET 3
3186 004622 262 17 0 00 000002 GET 2
3187 004623 262 17 0 00 000001 GET 1
3188 004624 263 17 0 00 000000 RTN
3189
3190 004625 41 42 57 62 64 00 SWTAB: SIXBIT/ABORT/
3191 004626 62 63 64 41 62 64 SIXBIT/RSTART/
3192 004627 64 57 64 41 54 63 SIXBIT/TOTALS/
3193 004630 56 57 60 56 64 00 SIXBIT/NOPNT/
3194 004631 000000 000000 0 ;SIXBIT/PNTLPT/
3195 004632 44 51 56 47 00 00 SIXBIT/DING/
3196 004633 54 57 57 60 45 62 SIXBIT/LOOPER/
3197 004634 45 62 63 64 57 60 SIXBIT/ERSTOP/
3198 004635 60 41 54 45 62 63 SIXBIT/PALERS/
3199 004636 62 45 54 51 41 42 SIXBIT/RELIAB/
3200 004637 64 70 64 51 56 50 SIXBIT/TXTINH/
3201 004640 51 56 50 60 41 47 SIXBIT/INHPAG/
3202 004641 55 57 44 44 66 43 SIXBIT/MODDVC/
3203 004642 51 56 50 43 63 50 SIXBIT/INHCSH/
3204 004643 57 60 62 63 45 54 SIXBIT/OPRSEL/
3205 004644 43 50 41 51 56 00 SIXBIT/CHAIN/
3206 004645 000000 000000 0
3207 004646 000000 000000 0
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 51
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CONSOLE DATA SWITCH INPUT SUBROUTINE SEQ 0135
3208 ;*PROCESS PROMPT
3209 ;* CONTROL Z, ENDS PROMPTING
3210 ;* UPARROW, BACK UP ONE PROMPT
3211 ;* Y, SET SWITCH
3212 ;* N, DON'T SET SWITCH
3213 ;* CR, DON'T SET SWITCH
3214
3215 004647 306 02 0 00 400000 $SWXX4: CAIN 2,400000 ;BACKED UP ALL THE WAY ?
3216 004650 254 00 0 00 004655 JRST .+5 ;YES
3217 004651 242 02 0 00 000001 LSH 2,1 ;BACKUP SWITCH BIT
3218 004652 274 01 0 00 007050 SUB 1,[1,,1] ;BACKUP SWITCH TABLE POINTER
3219 004653 336 00 0 01 000000 SKIPN (1) ;THIS POSITION BLANK ?
3220 004654 254 00 0 00 004647 JRST .-5 ;YES, BACK UP ANOTHER
3221 004655 254 00 0 00 004603 JRST $SWXX1-1
3222
3223 004656 037 01 0 00 007277 $SWZZ: PNTMSF [ASCIZ/- Y,N, <CR> OR ^,^Z - /]
3224 004657 260 17 0 00 005055 GO $OPTLK
3225 004660 263 17 0 00 000000 RTN ;NO RESPONSE
3226 004661 306 00 0 00 000032 CAIN "Z"-100
3227 004662 254 00 0 00 004710 JRST $SWZZ1 ;^Z, DONE
3228 004663 306 00 0 00 000136 CAIN "^"
3229 004664 254 00 0 00 004707 JRST $SWZZ2 ;^, BACKUP
3230 004665 306 00 0 00 000015 CAIN 15
3231 004666 254 00 0 00 004705 JRST $SWZZ4 ;CR, SAME AS NO
3232
3233 004667 302 00 0 00 000131 CAIE "Y" ;Y, SET SWITCH BIT
3234 004670 306 00 0 00 000116 CAIN "N" ;N, DON'T SET SWITCH BIT
3235 004671 254 00 0 00 004673 JRST .+2
3236 004672 263 17 0 00 000000 RTN ;NEITHER, ERROR
3237 004673 242 00 0 00 000007 LSH 0,7
3238 004674 202 00 0 00 007516 MOVEM $SWYYY#
3239 004675 260 17 0 00 005055 GO $OPTLK ;GET CR
3240 004676 263 17 0 00 000000 RTN ;NO RESPONSE
3241 004677 434 00 0 00 007516 OR 0,$SWYYY
3242 004700 306 00 0 00 026215 CAIN 0,26215
3243 004701 254 00 0 00 004706 JRST $SWZZ3 ;Y <CR>
3244 004702 306 00 0 00 023415 CAIN 0,23415
3245 004703 254 00 0 00 004705 JRST $SWZZ4 ;N <CR>
3246 004704 263 17 0 00 000000 RTN ;ERROR
3247
3248 004705 350 00 0 17 000000 $SWZZ4: AOS (P) ;NO
3249 004706 350 00 0 17 000000 $SWZZ3: AOS (P) ;YES
3250 004707 350 00 0 17 000000 $SWZZ2: AOS (P) ;UPARROW
3251 004710 350 00 0 17 000000 $SWZZ1: AOS (P) ;CONTROL Z
3252 004711 263 17 0 00 000000 RTN
3253
3254 LALL
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 52
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0136
3255 SUBTTL *SUBRTN* TELETYPE INPUT ROUTINES
3256
3257 S^;*********************************************************************^
3258 ;*CARRIAGE RETURN OR COMMA TERMINATES OCTAL, DECIMAL, OR CONVERT TYPE-IN.
3259 ;*CHARACTER OR NUMBER RETURNED IN AC0.
3260 ;*CALL SEQUENCE IS AS FOLLOWS:
3261 ;* NAME
3262 ;* NO/ERROR RESPONSE RETURN (+ 1)
3263 ;* NORMAL RESPONSE RETURN (+ 2)
3264 ;*$OPTLK = INPUT ANY CHARACTER
3265 ;*$YESNO = ASK QUESTION, CORRECT RESPONSE Y
3266 ;*$NOYES = ASK QUESTION, CORRECT RESPONSE N
3267 ;*$TPOCT = INPUT UP TO 12 OCTALS
3268 ;*$TPDEC = INPUT UP TO 11 DECIMALS
3269 ;*$TPCNV = INPUT UP TO 9 CONVERT'S
3270 ;*$TTLK = KEYBOARD CHECK, INPUT ANY CHARACTER (NO WAIT)
3271 ;*$TALTM = KEYBOARD, ALT-MODE CHECK
3272 ;*$TISIX = INPUT UP TO 6 SIXBIT CHARACTERS
3273 S^;*********************************************************************^
3274
3275 004712 000000 000000 $TYINI: 0
3276 004713 402 00 0 00 000032 SETZM $80CIW ;CLEAR INPUT WORD
3277 004714 402 00 0 00 000033 SETZM $80COW ;CLEAR OUTPUT WORD
3278 004715 402 00 0 00 000034 SETZM $80KIW ;CLEAR INPUT WORD
3279 004716 402 00 0 00 000035 SETZM $80KOW ;CLEAR OUTPUT WORD
3280 004717 402 00 0 00 007432 SETZM MMFLAG#
3281 004720 200 00 0 00 000031 MOVE 0,$80STAT ;GET CONSOLE STATUS WORD
3282 004721 603 00 0 00 000020 TLNE 0,($80MM) ;MAINTENANCE MODE BIT SET ?
3283 004722 476 00 0 00 007432 SETOM MMFLAG ;YES, SET TTY IN MAINT MODE
3284 004723 254 00 1 00 004712 JRST @$TYINI
3285
3286 004724 000000 000000 $TYCLR: 0
3287 004725 254 00 1 00 004724 JRST @$TYCLR ;NOTHING REQUIRED
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 53
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0137
3288
3289 004726 000000 000000 $CYTYI: 0
3290 004727 200 00 0 00 000032 MOVE 0,$80CIW ;GET INPUT WORD
3291 004730 606 00 0 00 000400 TRNN 0,$80CHR ;CHAR FLAG BIT SET ?
3292 004731 254 00 1 00 004726 JRST @$CYTYI ;NO
3293
3294 004732 402 00 0 00 000032 SETZM $80CIW ;CLEAR INPUT WORD
3295 004733 405 00 0 00 000177 ANDI 0,177
3296
3297 004734 350 00 0 00 004726 AOS $CYTYI
3298 004735 350 00 0 00 004726 AOS $CYTYI
3299 004736 254 00 1 00 004726 JRST @$CYTYI ;DOUBLE SKIP RETURN, CHAR IN AC0
3300
3301 004737 000000 000000 $KYTYI: 0
3302 004740 200 00 0 00 000034 MOVE 0,$80KIW ;GET INPUT WORD
3303 004741 606 00 0 00 000400 TRNN 0,$80CHR ;CHAR FLAG BIT SET ?
3304 004742 254 00 1 00 004737 JRST @$KYTYI ;NO
3305
3306 004743 402 00 0 00 000034 SETZM $80KIW ;CLEAR INPUT WORD
3307 004744 405 00 0 00 000177 ANDI 0,177
3308
3309 004745 350 00 0 00 004737 AOS $KYTYI
3310 004746 350 00 0 00 004737 AOS $KYTYI
3311 004747 254 00 1 00 004737 JRST @$KYTYI ;DOUBLE SKIP RETURN, CHAR IN AC0
3312
3313 004750 000000 000000 $BYTYI: 0
3314 004751 264 00 0 00 004726 CTYTYI ;ANY CTY INPUT ?
3315 004752 254 00 0 00 004757 JRST .+5 ;NO
3316 004753 254 04 0 00 004753 HALT .
3317 004754 350 00 0 00 004750 AOS $BYTYI
3318 004755 350 00 0 00 004750 AOS $BYTYI
3319 004756 254 00 1 00 004750 JRST @$BYTYI ;DOUBLE SKIP RETURN, CHAR IN AC0
3320 004757 264 00 0 00 004737 KTYTYI ;ANY KLINIK INPUT ?
3321 004760 254 00 1 00 004750 JRST @$BYTYI ;NO
3322 004761 254 04 0 00 004761 HALT .
3323 004762 254 00 0 00 004754 JRST .-6
3324
3325 004763 000000 000000 $COMTI: 0
3326 004764 332 00 0 00 007432 SKIPE MMFLAG ;IN MAINTENANCE MODE ?
3327 004765 254 00 0 00 004774 JRST .+7 ;YES
3328
3329 004766 264 00 0 00 004726 CTYTYI ;ANY CTY INPUT ?
3330 004767 254 00 1 00 004763 JRST @$COMTI ;NO
3331 004770 254 04 0 00 004770 HALT .
3332 004771 350 00 0 00 004763 AOS $COMTI
3333 004772 350 00 0 00 004763 AOS $COMTI
3334 004773 254 00 1 00 004763 JRST @$COMTI ;DOUBLE SKIP RETURN, CHAR IN AC0
3335
3336 004774 264 00 0 00 004737 KTYTYI ;ANY KLINIK INPUT ?
3337 004775 254 00 1 00 004763 JRST @$COMTI ;NO
3338 004776 254 04 0 00 004776 HALT .
3339 004777 350 00 0 00 004763 AOS $COMTI
3340 005000 350 00 0 00 004763 AOS $COMTI
3341 005001 254 00 1 00 004763 JRST @$COMTI ;DOUBLE SKIP RETURN, CHAR IN AC0
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 54
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0138
3342
3343 005002 000000 000000 $CYTYO: 0
3344 005003 660 00 0 00 000400 TRO 0,$80CHR ;SET FLAG BIT
3345 005004 202 00 0 00 000033 MOVEM 0,$80COW ;PUT IN COMM AREA
3346 005005 7 000 24 0 00 000000 CONI APR,0 ;GET PRESENT APR
3347 005006 405 00 0 00 000007 ANDI 7 ;KEEP PI ASSIGNMENT
3348 005007 660 00 0 00 012000 TRO $80INT ;SET INTERRUPT 8080
3349 005010 7 000 20 1 00 000000 CONO APR,@0 ;INTERRUPT 8080
3350 005011 200 00 0 00 000033 MOVE 0,$80COW ;GET OUTPUT WORD
3351 005012 602 00 0 00 000400 TRNE 0,$80CHR ;8080 SENT THIS CHAR ?
3352 005013 254 00 0 00 005011 JRST .-2 ;NO, WAIT
3353 005014 254 00 1 00 005002 JRST @$CYTYO ;YES
3354
3355 005015 000000 000000 $KYTYO: 0
3356 005016 660 00 0 00 000400 TRO 0,$80CHR ;SET FLAG BIT
3357 005017 202 00 0 00 000035 MOVEM 0,$80KOW ;PUT IN COMM AREA
3358 005020 7 000 24 0 00 000000 CONI APR,0 ;GET PRESENT APR
3359 005021 405 00 0 00 000007 ANDI 7 ;KEEP PI ASSIGNMENT
3360 005022 660 00 0 00 012000 TRO $80INT ;SET INTERRUPT 8080
3361 005023 7 000 20 1 00 000000 CONO APR,@0 ;INTERRUPT 8080
3362 005024 200 00 0 00 000035 MOVE 0,$80KOW ;GET OUTPUT WORD
3363 005025 602 00 0 00 000400 TRNE 0,$80CHR ;8080 SENT THIS CHAR ?
3364 005026 254 00 0 00 005024 JRST .-2 ;NO, WAIT
3365 005027 254 00 1 00 005015 JRST @$KYTYO ;YES
3366
3367 005030 000000 000000 $BYTYO: 0
3368 005031 202 00 0 00 007454 MOVEM 0,$BYTYC# ;SAVE OUTPUT CHAR
3369 005032 264 00 0 00 005002 CTYTYO ;OUTPUT CHAR TO CTY
3370 005033 200 00 0 00 007454 MOVE 0,$BYTYC ;GET OUTPUT CHAR
3371 005034 332 00 0 00 007432 SKIPE MMFLAG ;IN MAINTENANCE MODE ?
3372 005035 264 00 0 00 005015 KTYTYO ;YES, OUTPUT CHAR TO KLINIK
3373 005036 254 00 1 00 005030 JRST @$BYTYO
3374
3375 005037 000000 000000 $COMTO: 0
3376 005040 332 00 0 00 007432 SKIPE MMFLAG ;IN MAINTENANCE MODE ?
3377 005041 254 00 0 00 005044 JRST .+3 ;YES
3378 005042 264 00 0 00 005002 CTYTYO ;OUTPUT CHAR TO CTY
3379 005043 254 00 1 00 005037 JRST @$COMTO
3380 005044 264 00 0 00 005015 KTYTYO ;OUTPUT CHAR TO KLINIK
3381 005045 254 00 1 00 005037 JRST @$COMTO
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 55
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0139
3382 S^;*********************************************************************^
3383 ;*TTLOOK
3384 ;*CHECKS FOR ANY KEY STRUCK, RETURNS IMMEDIATELY
3385 ;*RETURNS +1 IF NO TYPEIN, RETURNS +2 IF CHAR TYPED
3386 S^;*********************************************************************^
3387
3388 005046 260 17 0 00 006155 $TTLK: GO ANYOUT ;IF ANY OUTPUT, PRINT IT
3389 005047 400 00 0 00 000000 SETZ AC0,
3390 005050 254 00 0 00 005134 JRST $HEAR ;CHECK & INPUT IF THERE
3391
3392 S^;*********************************************************************^
3393 ;*TTYINP
3394 ;*TELETYPE IMAGE MODE INPUT
3395 ;*PROVIDES UNBUFFERED MODE INPUT
3396 ;*WAITS FOREVER, RETURN WITH CHAR UPPER CASED & ECHOED
3397 S^;*********************************************************************^
3398
3399 005051 260 17 0 00 006155 $TTYIN: GO ANYOUT ;IF ANY OUTPUT, PRINT IT
3400 005052 260 17 0 00 005134 GO $HEAR ;GET CHAR
3401 005053 254 00 0 00 005052 JRST .-1 ;WAIT FOR IT
3402 005054 263 17 0 00 000000 RTN
3403
3404 S^;*********************************************************************^
3405 ;*TTICHR
3406 ;*TELETYPE INPUT OPERATOR RESPONSE ROUTINE
3407 S^;*********************************************************************^
3408
3409 005055 260 17 0 00 006155 $OPTLK: GO ANYOUT ;IF ANY OUTPUT, PRINT IT
3410 005056 202 04 0 00 007517 MOVEM 4,$TACB4#
3411 005057 200 04 0 00 007304 MOVE 4,[44,,30600] ;1 SEC FUDGE FACTOR
3412 005060 363 04 0 00 005064 SOJLE 4,.+4 ;WAITED LONG ENOUGH YET ?
3413 005061 260 17 0 00 005134 GO $HEAR ;NO, GO LOOK FOR INPUT & RETURN
3414 005062 254 00 0 00 005060 JRST .-2 ;NO RESPONSE, REPEAT
3415 005063 350 00 0 17 000000 AOS (P) ;CHAR TYPED, RETURN +2
3416 005064 202 04 0 00 030225 MOVEM 4,$TWCNT ;SAVE TTY WAIT COUNT
3417 005065 200 04 0 00 007517 MOVE 4,$TACB4
3418 005066 263 17 0 00 000000 RTN ;NO CHAR, RETURN +1
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 56
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0140
3419 S^;*********************************************************************^
3420 ;*TTALTM
3421 ;*TELETYPE ALT-MODE CHECK ROUTINE
3422 S^;*********************************************************************^
3423
3424 005067 260 17 0 00 005046 $TALTM: GO $TTLK
3425 005070 263 17 0 00 000000 RTN ;NO TYPE-IN ...EXIT
3426
3427 005071 302 00 0 00 000175 $TALT2: CAIE 175
3428 005072 306 00 0 00 000176 CAIN 176
3429 005073 254 00 0 00 005076 JRST $TALT1 ;ALT-MODE WAS TYPED
3430 005074 302 00 0 00 000033 CAIE 33
3431 005075 254 00 0 00 005077 JRST .+2 ;NO ALT-MODE
3432
3433 005076 254 00 0 00 030064 $TALT1: JRST CPOPJ1 ;ALT-MODE, RETURN +2
3434
3435 005077 306 00 0 00 000004 CAIN 004 ;IS CHAR CONTROL D (^D) ?
3436 005100 254 00 0 00 003146 JRST $DDTENT ;YES
3437 005101 306 00 0 00 000024 CAIN 024 ;IS CHAR CONTROL T (^T) ?
3438 005102 254 00 0 00 005115 JRST $TALT3 ;YES
3439 005103 306 00 0 00 000005 CAIN 005 ;IS CHAR CONTROL E (^E) ?
3440 005104 254 00 0 00 005123 JRST $TALT4 ;YES
3441 005105 302 00 0 00 000007 CAIE 007 ;IS CHAR A BELL ?
3442 005106 263 17 0 00 000000 RTN
3443 005107 332 00 0 00 030522 SKIPE $$TAX1
3444 005110 256 00 0 00 030522 XCT $$TAX1 ;XCT USERS PRE-ROUTINE
3445 005111 260 17 0 00 004477 GO $SW0 ;YES, DING FOR SWITCH CONTROL
3446 005112 332 00 0 00 030523 SKIPE $$TAX2
3447 005113 256 00 0 00 030523 XCT $$TAX2 ;XCT USERS POST-ROUTINE
3448 005114 263 17 0 00 000000 RTN
3449
3450 005115 $TALT3: PMSGF <TEST PC = >^
3451 005115 037 04 0 00 007305 PSIXMF [SIXBIT\TEST PC = _\]^
3452 005116 550 00 0 00 030051 HRRZ TESTPC
3453 005117 037 06 0 00 000001 PNT6F ;PRINT TEST PC
3454 005120 037 01 0 00 030242 PCRLF
3455 005121 201 00 0 00 000024 MOVEI 0,024
3456 005122 263 17 0 00 000000 RTN
3457
3458 005123 $TALT4: PMSGF <ERROR PC = >^
3459 005123 037 04 0 00 007307 PSIXMF [SIXBIT\ERROR PC = _\]^
3460 005124 550 00 0 00 030052 HRRZ ERRPC
3461 005125 037 06 0 00 000001 PNT6F ;PRINT ERROR PC
3462 PMSGF < ERROR TOTALS = >^
3463 005126 037 04 0 00 007311 PSIXMF [SIXBIT\ ERROR TOTALS = _\]^
3464 005127 200 00 0 00 030053 MOVE ERRTLS
3465 005130 037 15 0 00 000001 PNTDCF ;PRINT ERROR TOTALS
3466 005131 037 01 0 00 030242 PCRLF
3467 005132 201 00 0 00 000005 MOVEI 0,005
3468 005133 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 57
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0141
3469 S^;*********************************************************************^
3470 ;*TELETYPE INPUT CHARACTER ROUTINE
3471 S^;*********************************************************************^
3472
3473 005134 260 17 0 00 005156 $HEAR: GO $TIRDY ;KEY BEEN STRUCK ?
3474 005135 263 17 0 00 000000 RTN ;NO, EXIT
3475
3476 005136 202 00 0 00 030231 $TIEX2: MOVEM 0,$TTCHR# ;SAVE ACTUAL CHARACTER
3477 005137 405 00 0 00 000177 ANDI 0,177
3478 005140 306 00 0 00 000023 CAIN 0,023
3479 005141 254 00 0 00 005134 JRST $HEAR ;XOFF
3480 005142 306 00 0 00 000021 CAIN 021
3481 005143 254 00 0 00 005134 JRST $HEAR ;XON
3482 005144 350 00 0 00 007455 AOS $CARCT
3483 005145 260 17 0 00 006306 GO $TYOUT ;ECHO IT
3484 005146 306 00 0 00 000003 CAIN 0,003 ;IS IT ^C ?
3485 005147 254 00 0 00 005215 JRST $HEAR1 ;YES, TERMINATE
3486 005150 302 00 0 00 000015 CAIE 0,15 ;IS IT CR ?
3487 005151 254 00 0 00 005164 JRST $HEAR4 ;NO-PROCESS IT
3488 005152 402 00 0 00 007455 SETZM $CARCT
3489 005153 201 00 0 00 000012 MOVEI 0,12 ;YES
3490 005154 260 17 0 00 006306 GO $TYOUT ;ECHO LF
3491 005155 254 00 0 00 005164 JRST $HEAR4 ;PROCESS THE CHARACTER
3492
3493 005156 264 00 0 00 004750 $TIRDY: BTYTYI ;GET INPUT CHAR
3494 005157 263 17 0 00 000000 RTN ;NOT AVAILABLE
3495 005160 254 04 0 00 005160 HALT .
3496
3497 005161 322 00 0 00 030065 JUMPE 0,CPOPJ ;NO GOOD IF NULL
3498 005162 254 00 0 00 030064 JRST CPOPJ1 ;SKIP RETURN
3499
3500 005163 263 17 0 00 000000 $TPCLR: RTN ;CLEAR TTY INPUT (EXEC=NO-OP)
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 58
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0142
3501 S^;*********************************************************************^
3502 ;*CHARACTER PROCESSING ROUTINE FOR INPUT
3503 ;*CHARACTER RETURNED IN AC0 IS UPPER CASE
3504 ;*ACTUAL CHARACTER IS IN $TTCHR
3505 S^;*********************************************************************^
3506
3507 005164 200 00 0 00 030231 $HEAR4: MOVE 0,$TTCHR ;GET ACTUAL CHARACTER
3508 005165 405 00 0 00 000177 ANDI 0,177 ;CLEAR PARITY BIT
3509 005166 301 00 0 00 000141 CAIL 0,"A"+40 ;CONVERT TO UPPER CASE
3510 005167 303 00 0 00 000172 CAILE 0,"Z"+40
3511 005170 254 00 0 00 005172 JRST .+2
3512 005171 275 00 0 00 000040 SUBI 0,40
3513 005172 202 00 0 00 030232 MOVEM 0,$CHRIN# ;SAVE CHARACTER
3514 005173 302 00 0 00 000015 CAIE 0,15 ;IS IT CR ?
3515 005174 254 00 0 00 005205 JRST $HEAR3 ;NO
3516 005175 402 00 0 00 007455 SETZM $CARCT ;CLEAR CHARACTER COUNTER
3517 005176 200 00 0 00 030046 MOVE 0,CONSW
3518 005177 607 00 0 00 000000 TLNN 0,PNTLPT ;LPT/LOGICAL DEVICE OUTPUT ?
3519 005200 254 00 0 00 005202 JRST $HEAR2 ;NO
3520 005201 037 00 0 00 030242 PCRL ;YES-ADD CRLF
3521 005202 200 00 0 00 030232 $HEAR2: MOVE 0,$CHRIN ;PUT INPUT CHAR IN AC0
3522 005203 350 00 0 17 000000 AOS (P) ;SKIP RETURN +2
3523 005204 263 17 0 00 000000 RTN ;NORMAL RETURN +1
3524
3525 005205 306 00 0 00 000004 $HEAR3: CAIN 0,04
3526 005206 254 00 0 00 003146 JRST $DDTENT ;CONTROL D, GO TO DDT
3527 005207 200 00 0 00 030046 MOVE 0,CONSW ;GET DATA SWITCHES
3528 005210 607 00 0 00 000000 TLNN 0,PNTLPT ;PRINT ON LPT?
3529 005211 254 00 0 00 005202 JRST $HEAR2 ;NO-EXIT
3530 005212 200 00 0 00 030232 MOVE 0,$CHRIN ;YES
3531 005213 037 12 0 00 000000 PNTCHR ;SEND CHAR TO LPT/LOGICAL DEV
3532 005214 254 00 0 00 005202 JRST $HEAR2 ;EXIT
3533
3534 005215 201 00 0 00 005134 $HEAR1: MOVEI 0,$HEAR+0 ;CONTROL C, SAVE ENTRY TO
3535 005216 202 00 0 00 000130 MOVEM 0,JOBOPC ;TTY ROUTINE FOR RESTART
3536 005217 331 00 0 00 030043 SKIPL MONCTL ;DIAG MONITOR ?
3537 005220 254 00 1 00 030062 JRST @CNTLC ;TERMINATE
3538 005221 254 00 0 00 020000 JRST DIAMON ;YES, RESTART MONITOR
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 59
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE YES/NO TYPE-IN ROUTINE SEQ 0143
3539 SUBTTL *SUBRTN* TELETYPE YES/NO TYPE-IN ROUTINE
3540
3541 S^;*********************************************************************^
3542 ;*ACCEPTS Y OR N
3543 ;*FOR YESNO, Y IS SKIP RETURN, N OR NO RESPONSE IS DIRECT RETURN
3544 ;*FOR NOYES, N IS SKIP RETURN, Y OR NO RESPONSE IS DIRECT RETURN
3545 ;*'Y OR N <CR> - ' ASKED UPON ENTRY
3546 S^;*********************************************************************^
3547
3548 005222 201 00 0 00 000001 $NOYES: MOVEI 0,1 ;INIT FOR N ANSWER
3549 005223 254 00 0 00 005225 JRST .+2
3550 005224 201 00 0 00 000000 $YESNO: MOVEI 0,0 ;INIT FOR Y ANSWER
3551 005225 202 01 0 00 007520 MOVEM 1,$TACC1# ;SAVE AC'S
3552 005226 202 02 0 00 007521 MOVEM 2,$TACC2#
3553 005227 200 02 0 00 000000 MOVE 2,0
3554
3555 005230 $YN1: PMSGF < Y OR N <CR> - >^
3556 005230 037 04 0 00 007314 PSIXMF [SIXBIT\ Y OR N <CR> - _\]^
3557 005231 260 17 0 00 005055 GO $OPTLK
3558 005232 254 00 0 00 005252 JRST $YN2 ;NO RESPONSE
3559 005233 302 00 0 00 000131 CAIE 0,"Y" ;IS IT A 'Y' ?
3560 005234 306 00 0 00 000116 CAIN 0,"N" ;OR AN 'N' ?
3561 005235 254 00 0 00 005237 JRST .+2 ;YES
3562 005236 254 00 0 00 005256 JRST $YN3 ;NEITHER, ERROR
3563 005237 200 01 0 00 000000 MOVE 1,0
3564 005240 242 01 0 00 000007 LSH 1,7 ;POSITION 1ST CHAR
3565 005241 260 17 0 00 005055 GO $OPTLK
3566 005242 254 00 0 00 005252 JRST $YN2 ;NO RESPONSE
3567 005243 434 01 0 00 000000 OR 1,0 ;MERGE 2ND CHAR
3568 005244 316 01 0 02 005260 CAMN 1,$YN4(2) ;COMPARE FOR REQUESTED
3569 005245 254 00 0 00 005251 JRST .+4 ;YES, RETURN +2
3570 005246 316 01 0 02 005261 CAMN 1,$YN4+1(2) ;COMPARE FOR OPPOSITE
3571 005247 254 00 0 00 005252 JRST .+3 ;YES, RETURN +1
3572 005250 254 00 0 00 005256 JRST $YN3 ;ERROR, REPEAT
3573 005251 350 00 0 17 000000 AOS (P) ;YES, RETURN +2
3574 005252 200 02 0 00 007521 $YN2: MOVE 2,$TACC2 ;RESTORE AC2
3575 005253 200 00 0 00 000001 MOVE 0,1
3576 005254 200 01 0 00 007520 MOVE 1,$TACC1 ;RESTORE AC1
3577 005255 263 17 0 00 000000 RTN ;RETURN +1
3578
3579 005256 037 01 0 00 030242 $YN3: PCRLF
3580 005257 254 00 0 00 005230 JRST $YN1
3581
3582 005260 000000 026215 $YN4: EXP 26215 ;'Y' (CR)
3583 005261 000000 023415 EXP 23415 ;'N' (CR)
3584 005262 000000 026215 EXP 26215 ;'Y' (CR)
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 60
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE SEQ 0144
3585 SUBTTL *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE
3586
3587 S^;*********************************************************************^
3588 ;*ACCEPTS 0 TO 12 OCTALS, 0 TO 11 DECIMALS, 0 TO 9 CONVERT CHARACTERS
3589 ;*NUMBER RETURNED IN AC0.
3590 S^;*********************************************************************^
3591
3592 005263 201 00 0 00 000002 $TPCNV: MOVEI AC0,2 ;SET INDEX TO CONVERT
3593 005264 254 00 0 00 005270 JRST $TPCV1
3594 005265 201 00 0 00 000001 $TPDEC: MOVEI AC0,1 ;SET INDEX TO DECIMAL
3595 005266 254 00 0 00 005270 JRST $TPCV1
3596 005267 201 00 0 00 000000 $TPOCT: MOVEI AC0,0 ;SET INDEX TO OCTAL
3597
3598 005270 202 01 0 00 007522 $TPCV1: MOVEM 1,$TACD1# ;SAVE AC'S 1-3
3599 005271 202 02 0 00 007523 MOVEM 2,$TACD2#
3600 005272 202 03 0 00 007524 MOVEM 3,$TACD3#
3601 005273 200 03 0 00 000000 MOVE 3,0 ;LOAD AC3 WITH THE INDEX
3602 005274 403 01 0 00 000002 SETZB 1,2 ;CLEAR DATA REG, CHAR COUNTER
3603 005275 402 00 0 00 030233 SETZM $TYPNB# ;CLEAR ERR NUMBER
3604 005276 402 00 0 00 007467 SETZM $NEGF# ;CLEAR NEGATE FLAG
3605 005277 402 00 0 00 007456 SETZM $CNVD# ;CLEAR DECIMAL CONVERT FLAG
3606 005300 402 00 0 00 030510 SETZM TTNBRF ;CLEAR DIGIT TYPED FLAG
3607
3608 S^;*********************************************************************^
3609 ;*INPUT AND COMPUTE NUMBER
3610 S^;*********************************************************************^
3611
3612 005301 260 17 0 00 005055 $TYPLP: GO $OPTLK
3613 005302 254 00 0 00 005340 JRST $TPERR ;NO RESPONSE, GO TO ERROR EXIT
3614 005303 306 00 0 00 000055 CAIN 0,"-" ;IS IT MINUS ?
3615 005304 254 00 0 00 005356 JRST $NEGX ;YES
3616 005305 306 00 0 00 000056 CAIN 0,"." ;IS IT PERIOD ?
3617 005306 254 00 0 00 005362 JRST $CNVX ;YES
3618 005307 306 00 0 00 000015 CAIN 0,15 ;IS IT CR ?
3619 005310 254 00 0 00 005324 JRST $TPEXT ;YES
3620 005311 306 00 0 00 000054 CAIN 0,"," ;IS IT COMMA ?
3621 005312 254 00 0 00 005324 JRST $TPEXT ;YES
3622 005313 301 00 0 00 000060 CAIL 0,"0" ;A VALID DIGIT ?
3623 005314 256 00 0 03 005345 XCT $TPCK(3) ;YES
3624 005315 254 00 0 00 005340 JRST $TPERR ;NO ...ERROR EXIT
3625
3626 005316 476 00 0 00 030510 $TYPL1: SETOM TTNBRF ;SET DIGIT TYPED FLAG
3627 005317 350 00 0 00 000002 AOS 2 ;INCREMENT CHARACTER COUNTER
3628 005320 256 00 0 03 005350 XCT $TPMUL(3) ;MULT BY OCTAL/DECIMAL BASE, SHIFT CONVERT
3629 005321 275 00 0 00 000060 SUBI 60 ;ADD IN NEW CHAR
3630 005322 270 01 0 00 000000 ADD 1,0
3631 005323 254 00 0 00 005301 JRST $TYPLP ;REPEAT TILL CR OR COMMA
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 61
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE SEQ 0145
3632 S^;*********************************************************************^
3633 ;*CHECK FOR PROPER AMOUNT OF CHARACTERS
3634 S^;*********************************************************************^
3635
3636 005324 256 00 0 03 005353 $TPEXT: XCT $TPNBR(3) ;PROPER NUMBER OF CHARACTERS
3637 005325 254 00 0 00 005340 JRST $TPERR ;NO ...ERROR EXIT
3638 005326 306 03 0 00 000002 CAIN 3,2 ;CONVERT ? (INDEX = 2)
3639 005327 254 00 0 00 005366 JRST $CNVX1 ;YES
3640 ;NO, EXIT
3641
3642 005330 200 03 0 00 007524 $TPEX1: MOVE 3,$TACD3 ;RESTORE AC'S 3 & 2
3643 005331 200 02 0 00 007523 MOVE 2,$TACD2
3644 005332 200 00 0 00 000001 MOVE 0,1 ;PUT NUMBER IN AC0
3645 005333 332 00 0 00 007467 SKIPE $NEGF ;NEGATE ?
3646 005334 210 00 0 00 000001 MOVN 0,1 ;YES
3647 005335 200 01 0 00 007522 MOVE 1,$TACD1 ;RESTORE AC1
3648 005336 350 00 0 17 000000 AOS (P) ;RETURN +2
3649 005337 263 17 0 00 000000 RTN ;RETURN +1
3650
3651 005340 202 01 0 00 030233 $TPERR: MOVEM 1,$TYPNB ;SAVE NUMBER - ERROR EXIT
3652 005341 200 03 0 00 007524 MOVE 3,$TACD3 ;RESTORE AC'S
3653 005342 200 02 0 00 007523 MOVE 2,$TACD2
3654 005343 200 01 0 00 007522 MOVE 1,$TACD1
3655 005344 263 17 0 00 000000 RTN ;ERROR EXIT
3656
3657 S^;*********************************************************************^
3658 ;*NUMBER COMPUTING CONSTANTS
3659 S^;*********************************************************************^
3660
3661 005345 303 00 0 00 000067 $TPCK: CAILE 0,"7" ;OCTAL NUMBER CHECK
3662 005346 303 00 0 00 000071 CAILE 0,"9" ;DECIMAL NUMBER CHECK
3663 005347 303 00 0 00 000071 CAILE 0,"9" ;CONVERT NUMBER CHECK
3664 005350 242 01 0 00 000003 $TPMUL: LSH 1,3 ;OCTAL BASE SHIFT
3665 005351 221 01 0 00 000012 IMULI 1,^D10 ;DECIMAL BASE MULTIPLIER
3666 005352 242 01 0 00 000004 LSH 1,4 ;CONVERT SHIFT
3667 005353 303 02 0 00 000014 $TPNBR: CAILE 2,^D12 ;ACCEPT UP TO 12 OCTALS
3668 005354 303 02 0 00 000013 CAILE 2,^D11 ;ACCEPT UP TO 11 DECIMALS
3669 005355 303 02 0 00 000011 CAILE 2,^D9 ;ACCEPT UP TO 9 CONVERT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 62
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE SEQ 0146
3670 005356 332 00 0 00 000002 $NEGX: SKIPE 2 ;1ST CHAR ?
3671 005357 254 00 0 00 005340 JRST $TPERR ;NO, ERROR EXIT
3672 005360 476 00 0 00 007467 SETOM $NEGF ;YES, SET NEGATE FLAG
3673 005361 254 00 0 00 005301 JRST $TYPLP ;GET NEXT CHAR
3674
3675 005362 302 03 0 00 000002 $CNVX: CAIE 3,2 ;PERIOD, IN CONVERT ?
3676 005363 254 00 0 00 005340 JRST $TPERR ;NO, ERROR EXIT
3677 005364 476 00 0 00 007456 SETOM $CNVD ;YES, SET DECIMAL FLAG
3678 005365 254 00 0 00 005301 JRST $TYPLP ;GET NEXT CHAR
3679
3680 S^;*********************************************************************^
3681 ;*CONVERT CONVERSION ROUTINE
3682 S^;*********************************************************************^
3683
3684 005366 201 02 0 00 000011 $CNVX1: MOVEI 2,^D9 ;NINE DIGITS
3685 005367 402 00 0 00 000000 SETZM 0
3686 005370 332 00 0 00 007456 SKIPE $CNVD ;OCTAL OR DECIMAL ?
3687 005371 254 00 0 00 005401 JRST $CNVX2 ;DECIMAL
3688 005372 612 01 0 00 007317 TDNE 1,[421042104210] ;OCTAL
3689 005373 254 00 0 00 005340 JRST $TPERR ;OCTAL ERROR, 8 OR 9 INPUT
3690 005374 242 01 0 00 000001 LSH 1,1 ;SQUEEZE OUT 4TH BIT
3691 005375 246 00 0 00 000003 LSHC 0,3 ;COMPACT INTO OCTAL
3692 005376 366 02 0 00 005374 SOJN 2,.-2 ;COMPLETED ?
3693 005377 200 01 0 00 000000 MOVE 1,0 ;YES
3694 005400 254 00 0 00 005330 JRST $TPEX1 ;RETURN
3695
3696 005401 402 00 0 00 000003 $CNVX2: SETZM 3 ;DECIMAL
3697 005402 402 00 0 00 000000 SETZM 0
3698 005403 221 03 0 00 000012 IMULI 3,^D10 ;MULTIPLY BY DECIMAL BASE
3699 005404 246 00 0 00 000004 LSHC 0,4 ;UNPACK NEXT DIGIT
3700 005405 270 03 0 00 000000 ADD 3,0 ;ADD IN
3701 005406 366 02 0 00 005402 SOJN 2,.-4 ;COMPLETED ?
3702 005407 200 01 0 00 000003 MOVE 1,3 ;YES
3703 005410 254 00 0 00 005330 JRST $TPEX1 ;RETURN
3704
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 63
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* TELETYPE SIXBIT INPUT ROUTINE SEQ 0147
3705 SUBTTL *SUBRTN* TELETYPE SIXBIT INPUT ROUTINE
3706
3707 S^;*********************************************************************^
3708 ;*INPUTS UP TO SIX CHARACTERS, TERMINATES WITH A CR OR COMMA.
3709 ;*SIXBIT WORD RETURNED IN AC0
3710 S^;*********************************************************************^
3711
3712 005411 202 01 0 00 007525 $TISIX: MOVEM 1,$TSX1# ;SAVE AC'S
3713 005412 202 02 0 00 007526 MOVEM 2,$TSX2#
3714 005413 200 02 0 00 007320 MOVE 2,[POINT 6,1]
3715 005414 201 01 0 00 000000 MOVEI 1,0
3716
3717 005415 260 17 0 00 005055 $TSXB1: GO $OPTLK
3718 005416 254 00 0 00 005440 JRST $TSXB3 ;NO RESPONSE, RTN + 1
3719 005417 306 00 0 00 000015 CAIN 0,15
3720 005420 254 00 0 00 005437 JRST $TSXB2 ;CR, TERMINATE, RTN + 2
3721 005421 306 00 0 00 000054 CAIN 0,","
3722 005422 254 00 0 00 005437 JRST $TSXB2 ;COMMA, TERMINATE, RTN + 2
3723 005423 301 00 0 00 000060 CAIL 0,"0"
3724 005424 303 00 0 00 000132 CAILE 0,"Z"
3725 005425 254 00 0 00 005440 JRST $TSXB3 ;ERROR, RTN + 1
3726 005426 303 00 0 00 000071 CAILE 0,"9"
3727 005427 301 00 0 00 000101 CAIL 0,"A"
3728 005430 254 00 0 00 005432 JRST $TSXB4 ;ALPHA-NUMERIC
3729 005431 254 00 0 00 005440 JRST $TSXB3 ;ERROR, RTN + 1
3730
3731 005432 640 00 0 00 000040 $TSXB4: TRC 0,40 ;CONVERT TO SIX-BIT
3732 005433 602 01 0 00 000077 TRNE 1,77
3733 005434 254 00 0 00 005440 JRST $TSXB3 ;TOO MANY CHAR'S, RTN + 1
3734 005435 136 00 0 00 000002 IDPB 0,2 ;PUT INTO WORD
3735 005436 254 00 0 00 005415 JRST $TSXB1 ;GET NEXT CHARACTER
3736
3737 005437 350 00 0 17 000000 $TSXB2: AOS (P) ;INCR USRPC FOR RTN + 2 (NORMAL)
3738
3739 005440 200 00 0 00 000001 $TSXB3: MOVE 0,1 ;SIXBIT WORD IN AC0
3740 005441 200 01 0 00 007525 MOVE 1,$TSX1 ;RESTORE AC'S
3741 005442 200 02 0 00 007526 MOVE 2,$TSX2
3742 005443 263 17 0 00 000000 RTN ;EXIT + 1/+2
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 64
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0148
3743 SUBTTL *SUBRTN* PRINT SUBROUTINES
3744
3745 S^;*********************************************************************^
3746 ;* $PNTSX PRINT SIXBIT NORMAL
3747 ;* $PTSXF PRINT SIXBIT FORCED
3748 ;* $PNTCW PRINT DF10 CONTROL WORD
3749 ;* $PNTI1 PRINT OCTAL NUMBER
3750 ;* $CHRPN PRINT CHARACTER
3751 ;* $ASCPN PRINT ASCII CHARACTER/LINE
3752 ;* $DECPN PRINT DECIMAL NUMBER
3753 S^;*********************************************************************^
3754
3755 S^;*********************************************************************^
3756 ;*PRINT SUBROUTINE INITIALIZATION
3757 S^;*********************************************************************^
3758
3759 005444 402 00 0 00 007461 $PNTIN: SETZM $INTDF# ;CLEAR DEVICE DEFAULT FLAG
3760 005445 402 00 0 00 030226 SETZM $DVOFF# ;CLEAR DEVICE INITED FLAG
3761 005446 402 00 0 00 030221 SETZM PDISF# ;CLEAR PRINT DISABLED FLAG
3762 005447 402 00 0 00 007506 SETZM $PTINH# ;CLEAR PRINT 'TYPE-IN INHIBIT' FLAG
3763 005450 402 00 0 00 030222 SETZM PNTINH# ;ALLOW EXEC PRINT TYPE IN INHIBIT
3764 005451 402 00 0 00 007437 SETZM XOFFLAG# ;CLEAR XOFF FLAG
3765 005452 402 00 0 00 030217 SETZM PNTFLG# ;CLEAR IN PRINT FLAG
3766 005453 476 00 0 00 030223 SETOM PNTSPC# ;SET PRINT SPACE FLAG
3767 005454 211 00 0 00 011610 MOVNI 0,^D5000 ;SET PRINT ENABLE TO 5000 LINES
3768 005455 202 00 0 00 030220 MOVEM 0,PNTENB
3769 005456 402 00 0 00 030227 SETZM TTYFIL ;ALLOW EXEC FILLERS
3770 005457 402 00 0 00 030234 SETZM $CRLF# ;ALLOW FREE CR/LF
3771 005460 402 00 0 00 030235 SETZM $TABF ;ALLOW TAB CONVERSION
3772 005461 402 00 0 00 030236 SETZM $FFF ;ALLOW FORM FEED CONVERSION
3773 005462 402 00 0 00 030237 SETZM $VTF ;ALLOW VERTICAL TAB CONVERSION
3774
3775 005463 201 00 0 00 030061 MOVEI $BEND2
3776 005464 202 00 0 00 030062 MOVEM CNTLC ;SET ^C TO ALWAYS END PROGRAM
3777
3778 005465 402 00 0 00 007431 SETZM ENQFLG#
3779 005466 200 00 0 00 007321 MOVE [POINT 7,$OUTBF]
3780 005467 202 00 0 00 007434 MOVEM P$PTR# ;SETUP PRINT STORE POINTER
3781
3782 005470 260 17 0 00 006631 COMINI ;IF TIMEOUT, SEND IN CLEAR
3783 ;IF ACK'D, SEND IN PROTOCALL MODE
3784
3785 005471 201 00 0 00 030006 $PNTIX: MOVEI REENTR ;SETUP REENTER ADDRESS
3786 005472 202 00 0 00 000124 MOVEM JOBREN
3787 005473 335 00 0 00 030043 SKIPGE MONCTL ;MONITOR CONTROL ?
3788 005474 263 17 0 00 000000 RTN ;YES, DON'T PRINT TITLE
3789 005475 332 00 0 00 030056 SKIPE $ONETM ;FIRST TIME?
3790 005476 263 17 0 00 000000 RTN ;NO .....EXIT
3791 005477 254 00 0 00 003157 JRST $PNTNM+2 ;YES ...PRINT PROGRAM NAME
3792 ;AND EXIT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 65
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0149
3793 S^;*********************************************************************^
3794 ;*PRINT SUBROUTINE ENTRY POINT
3795 ;*EXIT VIA $PNTI4 BELOW
3796 S^;*********************************************************************^
3797
3798 005500 476 00 0 00 030217 $PNTIF: SETOM PNTFLG ;SET IN PRINT FLAG
3799 005501 476 00 0 00 007501 SETOM $PNTTY# ;FORCE TO TTY
3800 005502 402 00 0 00 007506 SETZM $PTINH
3801 005503 254 00 0 00 005541 JRST $PNTIA
3802
3803 005504 476 00 0 00 030217 $PNTIT: SETOM PNTFLG ;SET IN PRINT FLAG
3804 005505 402 00 0 00 007501 SETZM $PNTTY ;NOT FORCED TO TTY
3805 005506 331 00 0 00 030220 SKIPL PNTENB# ;PRINT LIMIT REACHED YET?
3806 005507 254 00 0 00 005525 JRST $PNTIB ;YES ..DON'T PRINT
3807 005510 260 17 0 00 004437 GO $SWTCH ;READ DATA SWITCHES INTO AC0
3808 005511 607 00 0 00 040000 TLNN 0,NOPNT ;NO PRINT SWITCH SET?
3809 005512 254 00 0 00 005541 JRST $PNTIA
3810 005513 262 17 0 00 000000 GET AC0 ;YES ...RESTORE AC0 FROM STACK (P - 1)
3811 005514 254 00 0 00 005523 JRST $PRNTX ;EXIT, DON'T PRINT
3812
3813 S^;*********************************************************************^
3814 ;*PRINT ROUTINE EXIT
3815 S^;*********************************************************************^
3816
3817 005515 402 00 0 00 007501 $PNTI4: SETZM $PNTTY ;CLEAR FORCE TO TTY FLAG
3818
3819 005516 200 01 0 00 007470 MOVE 1,$PACA1 ;RESTORE AC'S
3820 005517 200 02 0 00 007471 MOVE 2,$PACA2
3821 005520 200 03 0 00 007472 MOVE 3,$PACA3
3822 005521 200 04 0 00 007473 MOVE 4,$PACA4
3823 005522 200 05 0 00 007474 MOVE 5,$PACA5
3824 005523 402 00 0 00 030217 $PRNTX: SETZM PNTFLG ;CLEAR IN PRINT FLAG
3825 005524 263 17 0 00 000000 RTN ;RETURN
3826
3827 ;*PRINT LIMIT WARNING & ALTERNATE EXIT PATH
3828 S^;*********************************************************************^
3829
3830 005525 262 17 0 00 000000 $PNTIB: GET AC0 ;RESTORE THE STACK (P - 1)
3831 005526 332 00 0 00 030221 SKIPE PDISF# ;FIRST TIME PRINT DISABLED?
3832 005527 254 00 0 00 005523 JRST $PRNTX ;YES ...EXIT
3833
3834 005530 476 00 0 00 030221 $PNTB1: SETOM PDISF ;NO ........SET IT
3835 005531 202 01 0 00 007470 MOVEM 1,$PACA1 ;SAVE AC'S 1 - 5
3836 005532 202 02 0 00 007471 MOVEM 2,$PACA2
3837 005533 202 03 0 00 007472 MOVEM 3,$PACA3
3838 005534 202 04 0 00 007473 MOVEM 4,$PACA4
3839 005535 202 05 0 00 007474 MOVEM 5,$PACA5
3840 005536 476 00 0 00 007501 SETOM $PNTTY ;SET FORCE TO TTY FLAG
3841 MOVEI [ASCIZ/
3842 ******
3843 EXCEEDED ALLOWED PRINTOUTS
3844 005537 201 00 0 00 007322 /]
3845 005540 254 00 0 00 006014 JRST $ASCPN-1 ;PRINT THE WARNING & EXIT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 66
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0150
3846 S^;*********************************************************************^
3847 ;*PRINT ROUTINE SELECTOR
3848 ;*BASED ON "AC FIELD" = 12 - 17
3849 S^;*********************************************************************^
3850
3851 005541 202 01 0 00 007470 $PNTIA: MOVEM 1,$PACA1# ;SAVE AC1.
3852 005542 202 02 0 00 007471 MOVEM 2,$PACA2# ;SAVE AC2.
3853 005543 202 03 0 00 007472 MOVEM 3,$PACA3# ;SAVE AC3.
3854 005544 202 04 0 00 007473 MOVEM 4,$PACA4# ;SAVE AC4.
3855 005545 202 05 0 00 007474 MOVEM 5,$PACA5# ;SAVE AC5.
3856
3857 005546 333 00 0 00 002004 SKIPLE COMFLG
3858 005547 260 17 0 00 006663 COMENQ ;REQUEST COMM SERVICE
3859
3860 005550 262 17 0 00 000000 GET AC0 ;RESTORE AC0 FROM STACK (P - 1)
3861 005551 402 00 0 00 007477 SETZM $PNT# ;CLEAR PRINT HALF WORDS FLAG
3862 005552 200 02 0 00 000040 MOVE 2,LUUO
3863 005553 241 02 0 00 000015 ROT 2,15 ;GET X (AC FIELD)
3864 005554 405 02 0 00 000017 ANDI 2,17 ;OUT OF THE UUO
3865
3866 005555 306 02 0 00 000017 $PNTIC: CAIN 2,17 ;X=17?
3867 005556 254 00 0 00 006014 JRST $PNTLN ;YES. PRINT ASCII LINE
3868 005557 322 02 0 00 006015 JUMPE 2,$ASCPN ;X=0? YES. GO PRINT 1 WORD ASCII
3869 005560 306 02 0 00 000015 CAIN 2,15 ;X=15?
3870 005561 254 00 0 00 006032 JRST $DECPN ;YES, PRINT DECIMALS
3871 005562 306 02 0 00 000016 CAIN 2,16 ;X=16?
3872 005563 254 00 0 00 006031 JRST $DECSP ;YES, PRINT DECIMALS, LEADING SPACES
3873 005564 306 02 0 00 000013 CAIN 2,13 ;X=13?
3874 005565 254 00 0 00 006002 JRST $PNTI3 ;YES, PRINT OCTALS, 6 SP 6
3875 005566 306 02 0 00 000012 CAIN 2,12 ;X=12?
3876 005567 254 00 0 00 006010 JRST $CHRPN ;YES, PRINT CHARACTER
3877
3878 005570 254 00 0 00 005760 JRST $PNTI1 ;NONE OF THE ABOVE, PRINT OCTAL
3879 ;(AC FIELD <12 OR = TO 14)
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 67
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0151
3880 S^;*********************************************************************^
3881 ;*SIXBIT PRINT SUBROUTINE
3882 ;*PRINTS SIXBIT WORD IN AC0
3883 S^;*********************************************************************^
3884
3885 S^;*********************************************************************^
3886 ;*NORMAL PRINTOUT
3887 S^;*********************************************************************^
3888
3889 005571 261 17 0 00 000001 $PNTSX: PUT 1 ;SAVE AC1 ON STACK (P + 1)
3890 005572 200 01 0 00 000000 MOVE 1,0 ;PUT SIXBIT WORD IN AC1
3891 005573 201 00 0 00 000000 MOVEI 0,0
3892 005574 246 00 0 00 000006 LSHC 0,6 ;GET NEXT CHAR INTO AC0
3893 005575 271 00 0 00 000040 ADDI 0,40 ;CONVERT TO ASCII
3894 005576 037 12 0 00 000000 PNTCHR ;PRINT IT
3895 005577 326 01 0 00 005573 JUMPN 1,.-4 ;LOOP TILL ALL PRINTED
3896 005600 262 17 0 00 000001 GET 1 ;RESTORE AC1 FROM THE STACK (P - 1)
3897 005601 263 17 0 00 000000 RTN ;EXIT
3898
3899 S^;*********************************************************************^
3900 ;*FORCED PRINTOUT
3901 S^;*********************************************************************^
3902
3903 005602 261 17 0 00 000001 $PTSXF: PUT 1 ;SAVE AC1 ON THE STACK (P + 1)
3904 005603 200 01 0 00 000000 MOVE 1,0 ;PUT SIXBIT WORD IN AC1
3905 005604 201 00 0 00 000000 MOVEI 0,0
3906 005605 246 00 0 00 000006 LSHC 0,6 ;GET NEXT CHAR INTO AC0
3907 005606 271 00 0 00 000040 ADDI 0,40 ;CONVERT TO ASCII
3908 005607 037 12 0 00 000001 PNTCHF ;PRINT
3909 005610 326 01 0 00 005604 JUMPN 1,.-4 ;LOOP TILL ALL PRINTED
3910 005611 262 17 0 00 000001 GET 1 ;FROM THE STACK (P - 1)
3911 005612 263 17 0 00 000000 RTN ;EXIT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 68
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0152
3912 S^;*********************************************************************^
3913 ;*SIXBIT MESSAGE PRINT ROUTINE
3914 ;*PRINTS THE SIXBIT MESSAGE THOSE ADDRESS IS IN AC0
3915 ;*"BACKARROW" (77) SIGNIFIES END OF TEXT
3916 ;*"UPARROW" (76) SIGNIFIES CR/LF
3917 ;*"RIGHT SQUARE BRACKET" (75) SIGNIFIES TAB
3918 S^;*********************************************************************^
3919
3920 005613 261 17 0 00 000005 $PSIXF: PUT 5
3921 005614 474 05 0 00 000000 SETO 5, ;SET FORCED PRINTING FLAG
3922 005615 254 00 0 00 005620 JRST .+3
3923
3924 005616 261 17 0 00 000005 $PSIX: PUT 5
3925 005617 400 05 0 00 000000 SETZ 5, ;NORMAL PRINTING
3926 005620 261 17 0 00 000001 PUT 1
3927 005621 261 17 0 00 000002 PUT 2
3928 005622 261 17 0 00 000003 PUT 3
3929 005623 261 17 0 00 000004 PUT 4
3930
3931 005624 550 04 0 00 000000 HRRZ 4,0 ;MESSAGE ADDRESS TO AC4
3932
3933 005625 201 03 0 00 000006 $PSIX1: MOVEI 3,6 ;6 = NUM OF 6BIT CHAR PER WORD
3934 005626 200 01 0 04 000000 MOVE 1,(4) ;GET FIRST/NEXT WORD OF MESSAGE
3935
3936 005627 400 02 0 00 000000 $PSIX2: SETZ 2,
3937 005630 245 01 0 00 000006 ROTC 1,6 ;C(AC1) = CHAR TO BE PRINTED
3938 005631 306 02 0 00 000077 CAIN 2,77
3939 005632 254 00 0 00 005647 JRST $PSIX5 ;"BACKARROW", DONE
3940 005633 306 02 0 00 000076 CAIN 2,76
3941 005634 254 00 0 00 005644 JRST $PSIX4 ;"UPARROW", CR/LF
3942 005635 306 02 0 00 000075 CAIN 2,75
3943 005636 201 02 0 00 000151 MOVEI 2,151 ;"BRACKET", CHANGE TO TAB (151+40=11)
3944 005637 201 00 0 02 000040 MOVEI 0,40(2) ;CHANGE TO ASCII
3945 JUMPN 5,[PNTCHF
3946 005640 326 05 0 00 007332 JRST .+2] ;FORCED PRINT
3947 005641 037 12 0 00 000000 PNTCHR
3948 005642 366 03 0 00 005627 $PSIX3: SOJN 3,$PSIX2 ;PRINTED ALL CHARS FROM THIS WORD ?
3949 005643 344 04 0 00 005625 AOJA 4,$PSIX1 ;YES, DO NEXT WORD
3950
3951 $PSIX4: JUMPN 5,[PCRLF
3952 005644 326 05 0 00 007334 JRST .+2]
3953 005645 037 00 0 00 030242 PCRL ;PRINT CR/LF
3954 005646 254 00 0 00 005642 JRST $PSIX3
3955
3956 005647 262 17 0 00 000004 $PSIX5: GET 4
3957 005650 262 17 0 00 000003 GET 3
3958 005651 262 17 0 00 000002 GET 2
3959 005652 262 17 0 00 000001 GET 1
3960 005653 262 17 0 00 000005 GET 5
3961 005654 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 69
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0153
3962 S^;*********************************************************************^
3963 ;*OCTAL SUPPRESS LEADING ZEROS PRINT ROUTINE
3964 ;*PRINTS NUMBER IN AC0, SUPPRESSING LEADING ZEROS
3965 ;*PRINTS MINUS SIGN IF NUMBER IS NEGATIVE
3966 S^;*********************************************************************^
3967
3968 005655 261 17 0 00 000005 $POCSF: PUT 5
3969 005656 474 05 0 00 000000 SETO 5, ;FORCED PRINTOUT
3970 005657 254 00 0 00 005662 JRST .+3
3971
3972 005660 261 17 0 00 000005 $POCS: PUT 5
3973 005661 400 05 0 00 000000 SETZ 5, ;NORMAL PRINTOUT
3974 005662 261 17 0 00 000001 PUT 1
3975 005663 261 17 0 00 000002 PUT 2
3976 005664 261 17 0 00 000003 PUT 3
3977 005665 261 17 0 00 000004 PUT 4
3978
3979 005666 200 02 0 00 000000 MOVE 2,0
3980 005667 325 02 0 00 005674 JUMPGE 2,$POCS1 ;IS NUMBER NEGATIVE ?
3981 005670 201 00 0 00 000055 MOVEI "-"
3982 JUMPN 5,[PNTCHF
3983 005671 326 05 0 00 007336 JRST .+2]
3984 005672 037 12 0 00 000000 PNTCHR ;YES, PRINT MINUS SIGN
3985 005673 210 02 0 00 000002 MOVN 2,2 ;MAKE NUMBER POSITIVE
3986
3987 005674 400 04 0 00 000000 $POCS1: SETZ 4,
3988 005675 403 03 0 00 000001 SETZB 3,1
3989 005676 322 02 0 00 005704 JUMPE 2,$POCS3 ;IF NUMBER 0, PRINT 1 ZERO
3990
3991 005677 201 03 0 00 000014 MOVEI 3,^D12 ;PRINT UP TO 12 DIGITS
3992 005700 400 01 0 00 000000 $POCS2: SETZ 1,
3993 005701 246 01 0 00 000003 LSHC 1,3
3994 005702 322 01 0 00 005716 JUMPE 1,$POCS5 ;IS THIS DIGIT ZERO ?
3995 005703 474 04 0 00 000000 SETO 4, ;NO, SET NON-ZERO DIGIT FLAG
3996 005704 201 00 0 01 000060 $POCS3: MOVEI "0"(1) ;MAKE ASCII NUMBER
3997 JUMPN 5,[PNTCHF
3998 005705 326 05 0 00 007340 JRST .+2]
3999 005706 037 12 0 00 000000 PNTCHR ;PRINT DIGIT
4000
4001 005707 367 03 0 00 005700 $POCS4: SOJG 3,$POCS2 ;ALL DONE ?
4002 005710 262 17 0 00 000004 GET 4
4003 005711 262 17 0 00 000003 GET 3
4004 005712 262 17 0 00 000002 GET 2
4005 005713 262 17 0 00 000001 GET 1
4006 005714 262 17 0 00 000005 GET 5
4007 005715 263 17 0 00 000000 RTN
4008
4009 005716 322 04 0 00 005707 $POCS5: JUMPE 4,$POCS4 ;PRINTED NON-ZERO DIGIT ?
4010 005717 254 00 0 00 005704 JRST $POCS3 ;YES, PRINT ZEROS
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 70
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0154
4011 S^;*********************************************************************^
4012 ;*DF10 CONTROL WORD PRINT ROUTINE
4013 ;*PRINTS WORD IN AC0
4014 ;*DF22F = 0, ###### ###### ,18 BIT DF10
4015 ;* -1, ##### ######## ,22 BIT DF10
4016 S^;*********************************************************************^
4017
4018 005720 202 01 0 00 007504 $PNTCW: MOVEM 1,$PTCA# ;SAVE AC1
4019 005721 201 01 0 00 000000 MOVEI 1,0 ;NORMAL PRINTOUT
4020 005722 202 02 0 00 007505 MOVEM 2,$PTCB# ;SAVE AC2
4021 005723 200 02 0 00 000000 MOVE 2,0
4022 005724 336 00 0 00 030142 SKIPN DF22F# ;22 OR 18 BIT DF10 ?
4023 005725 254 00 0 00 005741 JRST $PNTC2
4024 005726 242 00 0 00 777753 LSH 0,-^D21 ;NEW 22 BIT DF10
4025 005727 620 00 0 00 000001 TRZ 0,1
4026 JUMPN 1,[PNT5F
4027 005730 326 01 0 00 007342 JRST .+2]
4028 005731 037 05 0 00 000000 PNT5 ;PRINT WORD COUNT, 14 BITS
4029 005732 200 00 0 00 000002 MOVE 0,2
4030 005733 621 00 0 00 777760 TLZ 0,777760
4031 JUMPN 1,[PNTADF
4032 005734 326 01 0 00 007344 JRST .+2]
4033 005735 037 10 0 00 000000 PNTADR ;PRINT ADDRESS, 22 BITS
4034 005736 200 02 0 00 007505 $PNTC3: MOVE 2,$PTCB
4035 005737 200 01 0 00 007504 MOVE 1,$PTCA
4036 005740 263 17 0 00 000000 RTN ;EXIT
4037
4038 005741 554 00 0 00 000000 $PNTC2: HLRZ ;18 BIT DF10
4039 JUMPN 1,[PNT6F
4040 005742 326 01 0 00 007346 JRST .+2]
4041 005743 037 06 0 00 000000 PNT6 ;PRINT WORD COUNT, 18 BITS
4042 005744 201 00 0 00 000040 MOVEI 40
4043 JUMPN 1,[PNTCHF
4044 005745 326 01 0 00 007350 JRST .+2]
4045 005746 037 12 0 00 000000 PNTCHR ;EXTRA SPACE
4046 005747 550 00 0 00 000002 HRRZ 0,2
4047 JUMPN 1,[PNT6F
4048 005750 326 01 0 00 007352 JRST .+2]
4049 005751 037 06 0 00 000000 PNT6 ;PRINT ADDRESS, 18 BITS
4050 005752 254 00 0 00 005736 JRST $PNTC3
4051
4052 005753 202 01 0 00 007504 $PNTCF: MOVEM 1,$PTCA ;SAVE AC1
4053 ;FORCED PRINTOUT
4054 005754 200 01 0 00 005753 MOVE 1,$PNTCF
4055 005755 202 01 0 00 005720 MOVEM 1,$PNTCW ;SETUP RETURN
4056 005756 201 01 0 00 000001 MOVEI 1,1 ;FORCED PRINT INDEX
4057 005757 254 00 0 00 005722 JRST $PNTCW+2 ;REST AS ABOVE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 71
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0155
4058 S^;*********************************************************************^
4059 ;*OCTAL PRINTOUT ROUTINE
4060 ;*PRINTS NUMBER IN AC0
4061 S^;*********************************************************************^
4062
4063 005760 200 03 0 00 000002 $PNTI1: MOVE 3,2 ;MOVE X INTO AC3.
4064 005761 241 00 0 00 777775 ROT 0,-3 ;ROT OCTAL NUM 3 PLACES
4065 005762 366 03 0 00 005761 SOJN 3,.-1 ;X AMOUNT OF TIMES.
4066
4067 005763 201 01 0 00 000006 $PNTI2: MOVEI 1,6 ;PUT 6 INTO AC1 SO THAT
4068 005764 245 00 0 00 000003 ROTC 0,3 ;C(AC1) AFTER THE ROTC WILL BE 60
4069 005765 265 03 0 00 006062 JSP 3,$TOUT ;PLUS NUMBER TO BE PRINTED
4070 005766 366 02 0 00 005763 SOJN 2,$PNTI2 ;SUB 1 FROM X...PRINT UNTIL X=0.
4071 005767 202 01 0 00 007500 MOVEM 1,$PNTSV# ;SAVE NUMBER
4072 005770 336 00 0 00 030223 SKIPN PNTSPC
4073 005771 254 00 0 00 005774 JRST .+3
4074 005772 201 01 0 00 000040 MOVEI 1,40 ;AT THIS POINT WE HAVE PRINTED
4075 005773 265 03 0 00 006062 JSP 3,$TOUT ;X AMOUNT OF NUMBER(S) AND NOW A SPACE
4076 005774 336 00 0 00 007477 SKIPN $PNT# ;PRINT 6 SP 6 FLAG SET?
4077 005775 254 00 0 00 005515 JRST $PNTI4 ;NO, EXIT
4078 005776 200 01 0 00 007500 MOVE 1,$PNTSV ;RESTORE NUMBER
4079 005777 201 02 0 00 000006 MOVEI 2,6 ;SETUP FOR 2ND HALF
4080 006000 402 00 0 00 007477 SETZM $PNT ;CLEAR PRINT SPACE FLAG
4081 006001 254 00 0 00 005763 JRST $PNTI2 ;PRINT REST OF NUMBER
4082
4083 006002 201 03 0 00 000014 $PNTI3: MOVEI 3,14 ;SETUP FOR LH WORD
4084 006003 201 02 0 00 000006 MOVEI 2,6 ;SETUP FOR FIRST HALF
4085 006004 476 00 0 00 007477 SETOM $PNT ;SET PRINT 6 SP 6 FLAG
4086 006005 476 00 0 00 030223 SETOM PNTSPC ;SET THE PRINT SPACE FLAG
4087 006006 254 00 0 00 005761 JRST $PNTI1+1 ;PRINT FIRST HALF NUMBER
4088 006007 254 00 0 00 005515 JRST $PNTI4 ;EXIT
4089
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 72
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0156
4090 S^;*********************************************************************^
4091 ;*ASCII/CHARACTER PRINTOUT ROUTINE
4092 ;*PRINTS CHAR IN LOWER 7 BITS OF AC0
4093 S^;*********************************************************************^
4094
4095 006010 405 00 0 00 000177 $CHRPN: ANDI 0,177 ;STRIP CHAR TO 7 BITS
4096 006011 200 01 0 00 000000 MOVE 1,0
4097 006012 265 03 0 00 006062 JSP 3,$TOUT ;PRINT A CHARACTER
4098 006013 254 00 0 00 005515 JRST $PNTI4 ;LEAVE
4099
4100 S^;*********************************************************************^
4101 ;*PRINTS ASCII WHOSE ADDRESS IS IN AC0
4102 S^;*********************************************************************^
4103
4104 006014 476 00 0 00 007477 $PNTLN: SETOM $PNT# ;SET PRINT MORE THAN 1 WORD FLAG.
4105
4106 006015 202 00 0 00 007503 $ASCPN: MOVEM 0,$POINT# ;SAVE ADDRESS OF ASCII MESSAGE.
4107 006016 201 02 0 00 000005 $ASCP1: MOVEI 2,5 ;5 = NUM OF ASCII CHAR. IN A WORD.
4108 006017 200 00 1 00 007503 MOVE 0,@$POINT ;C(AC0) = FIRST/NEXT WORD OF ASCII MESS
4109
4110 006020 400 01 0 00 000000 $ASCP2: SETZ 1, ;CLEAR AC1.
4111 006021 245 00 0 00 000007 ROTC 0,7 ;C(AC1) = CHAR TO BE PRINTED.
4112 006022 322 01 0 00 005515 JUMPE 1,$PNTI4 ;CHAR = NULL?..NO MORE CHAR..EXIT
4113 006023 265 03 0 00 006062 JSP 3,$TOUT ;PRINT A CHAR
4114 006024 366 02 0 00 006020 SOJN 2,$ASCP2 ;PNT ALL CHAR FROM THIS WORD?
4115 006025 350 00 0 00 007503 AOS $POINT ;YES. INC TO GET NEXT WORD.
4116 006026 336 00 0 00 007477 SKIPN $PNT ;PNT MORE THAN ONE WORD FLAG SET?
4117 006027 254 00 0 00 005515 JRST $PNTI4 ;NO..LEAVE
4118 006030 254 00 0 00 006016 JRST $ASCP1 ;YES...RETURN TO PNT NEXT WORD.
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 73
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* PRINT SUBROUTINES SEQ 0157
4119 S^;*********************************************************************^
4120 ;*DECIMAL PRINTOUT ROUTINE
4121 ;*PRINTS NUMBER IN AC0
4122 S^;*********************************************************************^
4123
4124 006031 476 00 0 00 007477 $DECSP: SETOM $PNT ;SET LEADING SPACES PRINT CONTROL
4125
4126 006032 325 00 0 00 006036 $DECPN: JUMPGE 0,.+4 ;IS NUMBER NEGATIVE ?
4127 006033 201 01 0 00 000055 MOVEI 1,"-" ;YES, PRINT MINUS SIGN
4128 006034 265 03 0 00 006062 JSP 3,$TOUT
4129 006035 210 00 0 00 000000 MOVN 0,0 ;MAKE NUMBER POSITIVE
4130 006036 260 17 0 00 006040 GO $RADIX ;DECIMAL-ASCII CONVERSION & PRINT CHARS
4131 006037 254 00 0 00 005515 JRST $PNTI4 ;EXIT
4132
4133 006040 200 02 0 00 030264 $RADIX: MOVE 2,RADLSC ;SETUP DIGIT COUNTER
4134 006041 246 00 0 00 777735 LSHC 0,-^D35 ;SHIFT RIGHT 35 BITS INTO AC1
4135 006042 242 01 0 00 777777 LSH 1,-1 ;VACATE AC1 SIGN BIT
4136
4137 006043 234 00 0 00 030262 $DCCMP: DIV 0,RADIX ;DIVIDE DOUBLE LENGTH INTERGER BY 10
4138 006044 506 01 0 17 000000 HRLM 1,(17) ;SAVE DIGIT
4139 006045 370 00 0 00 000002 SOS 2 ;COUNT DIGIT
4140 006046 322 00 0 00 006054 JUMPE 0,$LDSPS ;ALL DIGITS FORMED?
4141 006047 260 17 0 00 006041 GO $RADIX+1 ;NO, COMPUTE NEXT ONE
4142
4143 006050 554 01 0 17 000000 $DECP1: HLRZ 1,(17) ;YES, RETRIEVE DIGIT
4144 006051 271 01 0 00 000060 ADDI 1,60 ;CONVERT TO ASCII
4145 006052 265 03 0 00 006062 JSP 3,$TOUT ;TYPE-OUT A DIGIT
4146 006053 263 17 0 00 000000 RTN ;GET NEXT/EXIT
4147
4148 006054 336 00 0 00 007477 $LDSPS: SKIPN $PNT ;LEADING SPACES PRINT SET?
4149 006055 254 00 0 00 006050 JRST $DECP1 ;NO ...GO PRINT
4150 ;YES ...DO IT
4151 006056 361 02 0 00 006050 $DCSPS: SOJL 2,$DECP1 ;SPACES COMPLETE ? YES
4152 006057 200 01 0 00 030263 MOVE 1,RADLSP ;NO, PRINT LEADING SPACE
4153 006060 265 03 0 00 006062 JSP 3,$TOUT ;TYPE OUT THE SPACE
4154 006061 254 00 0 00 006056 JRST .-3 ;CHECK FOR NEXT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 74
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0158
4155 SUBTTL *SUBRTN* CHARACTER OUTPUT ROUTINES
4156
4157 S^;*********************************************************************^
4158 ;*OUTPUT CONTROL ROUTINE
4159 S^;*********************************************************************^
4160
4161 006062 202 00 0 00 007475 $TOUT: MOVEM 0,$PACB0# ;SAVE AC0.
4162 006063 202 01 0 00 007502 MOVEM 1,$PNTYC# ;SAVE CHARACTER TO BE PRINTED
4163 006064 200 00 0 00 030046 MOVE AC0,CONSW ;DATA SWITCHES INTO AC0
4164 006065 350 00 0 00 007455 AOS $CARCT# ;INC CHAR CNTR.
4165
4166 006066 306 01 0 00 000007 CAIN 1,7 ;CHAR A BELL ?
4167 006067 402 00 0 00 007506 SETZM $PTINH ;YES, CLEAR PRINT INHIBIT
4168
4169 006070 302 01 0 00 000015 CAIE 1,15 ;CHAR A CR?
4170 006071 254 00 0 00 006075 JRST $TOUT1 ;NO-CHK FOR LF
4171
4172 006072 336 00 0 00 007506 SKIPN $PTINH ;DON'T COUNT ^O'ED LINES
4173 006073 350 00 0 00 030220 AOS PNTENB ;COUNT LINES, TILL NO MORE
4174 006074 402 00 0 00 007455 SETZM $CARCT ;CLR CHAR CNTR.
4175
4176 006075 306 01 0 00 000012 $TOUT1: CAIN 1,12 ;IS CHAR A LF?
4177 006076 402 00 0 00 007455 SETZM $CARCT ;YES-CLR CHAR CNTR.
4178
4179 006077 332 00 0 00 007501 SKIPE $PNTTY ;NO-IS PRINT FORCED ON?
4180 006100 254 00 0 00 006103 JRST $TOUT2 ;YES-DON'T CHECK NON-PNT SW
4181
4182 006101 603 00 0 00 040000 TLNE 0,NOPNT ;IS NON PNT SWITCH ON?
4183 006102 254 00 0 00 006273 JRST $TOUTA ;YES, RETURN
4184
4185 006103 550 00 0 00 007434 $TOUT2: HRRZ 0,P$PTR ;FILLED OUTPUT BUFFER ?
4186 006104 301 00 0 00 007604 CAIL 0,$OUTBF+^D28
4187 006105 254 00 0 00 006144 JRST $TOUT4 ;YES
4188
4189 006106 332 00 0 00 030235 SKIPE $TABF ;TAB CONV INHIBITED ?
4190 006107 254 00 0 00 006112 JRST .+3 ;YES, DON'T DO IT
4191 006110 306 01 0 00 000011 CAIN 1,11 ;IS CHAR A TAB?
4192 006111 254 00 0 00 006275 JRST $TABS ;YES. TURN TAB INTO SPACES.
4193
4194 006112 136 01 0 00 007434 IDPB 1,P$PTR ;STORE CHAR
4195
4196 006113 302 01 0 00 000012 CAIE 1,12 ;LF ?
4197 006114 254 00 0 00 006273 JRST $TOUTA ;NO
4198 006115 200 01 0 00 007354 MOVE 1,[ASCII/ O /]
4199 006116 202 01 0 00 007547 MOVEM 1,$OUTBF-1
4200 006117 402 00 0 00 007436 SETZM QFLAG#
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 75
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0159
4201
4202 006120 400 01 0 00 000000 $TOUT5: SETZ 1,
4203 006121 136 01 0 00 007434 IDPB 1,P$PTR ;YES, END WITH NULL
4204
4205 006122 200 01 0 00 007321 MOVE 1,[POINT 7,$OUTBF]
4206 006123 202 01 0 00 007434 MOVEM 1,P$PTR ;RESET STORE POINTER
4207
4208 006124 200 00 0 00 030046 MOVE 0,CONSW
4209 006125 603 00 0 00 000000 TLNE 0,PNTLPT ;PRINT ON LINE PRINTER ?
4210 006126 254 00 0 00 006127 JRST .+1 ;JRST $TLPT ;YES !NO LPT YET ON 2020
4211
4212 006127 336 00 0 00 007432 $TOUT3: SKIPN MMFLAG ;IN MAINTENANCE MODE ?
4213 006130 254 00 0 00 006140 JRST $TOUT6 ;NO
4214 006131 264 00 0 00 006173 JSR $TOUTB ;YES, SEND TO CTY
4215 006132 337 00 0 00 002004 SKIPG COMFLG ;IN PROTOCOL MODE ?
4216 006133 254 00 0 00 006273 JRST $TOUTA ;NO, ALL DONE
4217
4218 006134 200 00 0 00 007355 $TOUT7: MOVE [POINT 7,$OUTBF-1,20]
4219 006135 260 17 0 00 006351 COMCMD ;SEND MESSAGE
4220 006136 254 04 0 00 006136 HALT . ;EOT ????
4221
4222 006137 254 00 0 00 006273 JRST $TOUTA ;DONE, EXIT
4223
4224 006140 333 00 0 00 002004 $TOUT6: SKIPLE COMFLG ;IN PROTOCOL MODE ?
4225 006141 254 00 0 00 006134 JRST $TOUT7 ;YES
4226 006142 264 00 0 00 006173 JSR $TOUTB ;NO, SEND TO CTY
4227 006143 254 00 0 00 006273 JRST $TOUTA ;DONE
4228
4229 006144 136 01 0 00 007434 $TOUT4: IDPB 1,P$PTR ;BUFFER FULL, STORE CHAR
4230 006145 201 01 0 00 000015 MOVEI 1,15
4231 006146 136 01 0 00 007434 IDPB 1,P$PTR ;END WITH CR/LF
4232 006147 201 01 0 00 000012 MOVEI 1,12
4233 006150 136 01 0 00 007434 IDPB 1,P$PTR
4234 006151 200 01 0 00 007356 MOVE 1,[ASCII/ Q /]
4235 006152 202 01 0 00 007547 MOVEM 1,$OUTBF-1
4236 006153 476 00 0 00 007436 SETOM QFLAG
4237 006154 254 00 0 00 006120 JRST $TOUT5
4238
4239 006155 261 17 0 00 000000 ANYOUT: PUT 0
4240 006156 261 17 0 00 000001 PUT 1
4241 006157 261 17 0 00 000002 PUT 2
4242 006160 261 17 0 00 000003 PUT 3
4243 006161 200 00 0 00 007434 MOVE P$PTR
4244 006162 316 00 0 00 007321 CAMN [POINT 7,$OUTBF]
4245 006163 254 00 0 00 006165 JRST .+2
4246 006164 265 03 0 00 006145 JSP 3,$TOUT4+1
4247 006165 402 00 0 00 007437 SETZM XOFFLAG
4248 006166 262 17 0 00 000003 GET 3
4249 006167 262 17 0 00 000002 GET 2
4250 006170 262 17 0 00 000001 GET 1
4251 006171 262 17 0 00 000000 GET 0
4252 006172 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 76
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0160
4253 S^;*********************************************************************^
4254 ;*DIRECT TERMINAL OUTPUT
4255 S^;*********************************************************************^
4256
4257 006173 000000 000000 $TOUTB: 0
4258 006174 200 01 0 00 007321 MOVE 1,[POINT 7,$OUTBF]
4259
4260 006175 332 00 0 00 030222 SKIPE PNTINH ;INHIBIT INPUT CHECKS ?
4261 006176 254 00 0 00 006225 JRST $TOUB2 ;YES - GO OUTPUT
4262
4263 ;LOOK FOR TTY TYPE INS
4264
4265 006177 264 00 0 00 004750 BTYTYI ;KEY STRUCK ?
4266 006200 254 00 0 00 006225 JRST $TOUB2 ;NO ...GO OUTPUT
4267 006201 254 04 0 00 006201 HALT .
4268
4269 006202 306 00 0 00 000004 CAIN 0,004 ;IS IT ^D ?
4270 006203 254 00 0 00 003146 JRST $DDTENT ;YES, GO TO DDT
4271
4272 006204 306 00 0 00 000003 CAIN 0,003 ;IS IT ^C ?
4273 006205 254 00 0 00 006265 JRST $TUTX2 ;YES, TERMINATE THE OUTPUT
4274
4275 006206 302 00 0 00 000175 CAIE 175
4276 006207 306 00 0 00 000176 CAIN 176
4277 006210 254 00 0 00 006271 JRST $TUTX3 ;ALTMODE, GO TO USER'S ROUTINE
4278 006211 306 00 0 00 000033 CAIN 33
4279 006212 254 00 0 00 006271 JRST $TUTX3
4280
4281 006213 302 00 0 00 000017 CAIE 0,017 ;IS IT ^O ?
4282 006214 254 00 0 00 006223 JRST $TOUB1 ;NO
4283
4284 006215 201 00 0 00 000136 MOVEI 0,136 ;"^"
4285 006216 260 17 0 00 006306 GO $TYOUT
4286 006217 201 00 0 00 000117 MOVEI 0,117 ;"O"
4287 006220 260 17 0 00 006306 GO $TYOUT
4288 006221 462 00 0 00 007506 SETCMM $PTINH ;STOP OR START OUTPUT
4289 006222 254 00 0 00 006225 JRST $TOUB2
4290
4291 006223 306 00 0 00 000023 $TOUB1: CAIN 0,023 ;IS IT XOFF (^S) ?
4292 006224 476 00 0 00 007437 SETOM XOFFLAG ;YES, SET FLAG, STOP BEFORE CR
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 77
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0161
4293
4294 006225 134 00 0 00 000001 $TOUB2: ILDB 0,1 ;GET CHARACTER
4295 006226 322 00 1 00 006173 JUMPE 0,@$TOUTB ;IF NULL, DONE
4296
4297 006227 306 00 0 00 000015 CAIN 0,15
4298 006230 336 00 0 00 007436 SKIPN QFLAG
4299 006231 254 00 0 00 006233 JRST .+2
4300 006232 254 00 0 00 006175 JRST $TOUTB+2
4301 006233 306 00 0 00 000012 CAIN 0,12
4302 006234 336 00 0 00 007436 SKIPN QFLAG
4303 006235 254 00 0 00 006237 JRST .+2
4304 006236 254 00 0 00 006175 JRST $TOUTB+2
4305
4306 006237 306 00 0 00 000015 CAIN 0,15 ;CR ?
4307 006240 260 17 0 00 006244 GO XONCHK ;YES, CHECK IF XOFF'ED FOR XON
4308
4309 006241 336 00 0 00 007506 SKIPN $PTINH ;CONTROL O'ED ?
4310 006242 260 17 0 00 006306 GO $TYOUT ;NO, OUTPUT CHAR
4311
4312 006243 254 00 0 00 006175 JRST $TOUTB+2 ;LOOP TILL NULL
4313
4314 006244 336 00 0 00 007437 XONCHK: SKIPN XOFFLAG ;XOFF'ED ?
4315 006245 263 17 0 00 000000 RTN ;NO
4316
4317 006246 264 00 0 00 004750 BTYTYI ;ANY KEY STRUCK ?
4318 006247 254 00 0 00 006246 JRST .-1 ;NO, WAIT
4319 006250 254 04 0 00 006250 HALT .
4320
4321 006251 306 00 0 00 000004 CAIN 004 ;CONTROL D ?
4322 006252 254 00 0 00 003146 JRST $DDTENT ;YES, GO TO DDT
4323
4324 006253 306 00 0 00 000003 CAIN 003 ;CONTROL C ?
4325 006254 254 00 0 00 006265 JRST $TUTX2 ;YES, ABORT
4326
4327 006255 302 00 0 00 000021 CAIE 021 ;XON (^Q) ?
4328 006256 254 00 0 00 006244 JRST XONCHK ;NO
4329
4330 006257 402 00 0 00 007437 SETZM XOFFLAG ;YES, CLEAR FLAG & CONTINUE PRINTING
4331 006260 402 00 0 00 007506 SETZM $PTINH
4332 006261 201 00 0 00 000015 MOVEI 0,15 ;RELOAD CR FOR PRINTING
4333 006262 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 78
SUBSMM MAC 13-Jun-79 16:28 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0162
4334 S^;*********************************************************************^
4335 ;*ALT-MODE TRANSFER TO USER ROUTINE
4336 S^;*********************************************************************^
4337
4338 006263 202 00 0 00 000130 MOVEM 0,JOBOPC ;2-TERMINATED IN JOBOPC
4339 006264 254 00 1 00 030062 JRST @CNTLC ;3-TERMINATE
4340 006265 265 00 0 00 006263 $TUTX2: JSP 0,.-2 ;1-SAVE PC WHERE
4341 006266 254 00 0 00 006175 JRST $TOUTB+2 ;4-HERE IF CONTINUED
4342 006267 202 00 0 00 000130 MOVEM 0,JOBOPC ;2-TERMINATED IN JOBOPC
4343 006270 254 00 1 00 030063 JRST @ALTMGO ;3-TERMINATE
4344 006271 265 00 0 00 006267 $TUTX3: JSP 0,.-2 ;1-SAVE PC WHERE
4345 006272 254 00 0 00 006175 JRST $TOUTB+2 ;4-HERE IF CONTINUED
4346
4347 S^;*********************************************************************^
4348 ;*RETURN BACK TO PRINTING ROUTINE FROM CHAR OUTPUT
4349 S^;*********************************************************************^
4350
4351 006273 200 00 0 00 007475 $TOUTA: MOVE AC0,$PACB0 ;RESTORE AC0
4352 006274 254 00 0 03 000000 JRST (3) ;RETURN TO PRINT ROUTINE
4353
4354 S^;*********************************************************************^
4355 ;*TELETYPE TABS CONVERSION
4356 S^;*********************************************************************^
4357
4358 006275 370 01 0 00 007455 $TABS: SOS 1,$CARCT ;PUT CHAR CNT - 1 TAB INTO AC1.
4359 006276 275 01 0 00 000010 SUBI 1,10 ;DIVIDE
4360 006277 325 01 0 00 006276 JUMPGE 1,.-1 ;BY 10.
4361 006300 210 01 0 00 000001 MOVN 1,1 ;C(AC1) NOW = NO. OF SPACES TO PNT.
4362
4363 006301 201 00 0 00 000040 $TABS1: MOVEI 0,40 ;PRINT SPACES
4364 006302 136 00 0 00 007434 IDPB 0,P$PTR ;STORE A SPACE
4365 006303 350 00 0 00 007455 AOS $CARCT ;INCREMENT CHAR CNTR.
4366 006304 367 01 0 00 006301 SOJG 1,$TABS1 ;DECREMENT SPACES CNTR.
4367 006305 254 00 0 00 006273 JRST $TOUTA ;RETURN
4368
4369 S^;*********************************************************************^
4370 ;*SM-10 EXEC MODE TELETYPE DRIVER ROUTINE
4371 S^;*********************************************************************^
4372
4373 006306 202 00 0 00 007530 $TYOUT: MOVEM AC0,$TYAC0# ;SAVE AC0
4374 006307 202 01 0 00 007531 MOVEM 1,$TYAC1# ;SAVE AC1 & AC2
4375 006310 202 02 0 00 007532 MOVEM 2,$TYAC2#
4376 006311 405 00 0 00 000177 ANDI 0,177 ;STRIP TO 7 BITS
4377
4378 006312 337 00 0 00 002004 $TYOU4: SKIPG COMFLG ;IN PROTOCOL MODE ?
4379 006313 254 00 0 00 006316 JRST .+3 ;NO
4380 006314 264 00 0 00 005002 CTYTYO ;YES, SEND TO CTY
4381 006315 254 00 0 00 006317 JRST $TYOU3
4382 006316 264 00 0 00 005030 BTYTYO ;SEND CHAR
4383
4384 006317 200 00 0 00 007530 $TYOU3: MOVE 0,$TYAC0 ;DONE, RESTORE AC'S
4385 006320 200 01 0 00 007531 MOVE 1,$TYAC1
4386 006321 200 02 0 00 007532 MOVE 2,$TYAC2
4387 006322 263 17 0 00 000000 RTN ;EXIT
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 79
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0163
4388 SUBTTL COMMUNICATION ROUTINES
4389
4390 S^;*********************************************************************^
4391 ;*$$C - COMM SAVE AC1 - AC5
4392 S^;*********************************************************************^
4393
4394 006323 000000 000000 $$C: 0
4395 006324 261 17 0 00 000001 PUT 1
4396 006325 261 17 0 00 000002 PUT 2
4397 006326 261 17 0 00 000003 PUT 3
4398 006327 261 17 0 00 000004 PUT 4
4399 006330 261 17 0 00 000005 PUT 5
4400 006331 254 00 1 00 006323 JRST @$$C
4401
4402 S^;*********************************************************************^
4403 ;*$$CE2 - DOUBLE SKIP RETURN
4404 S^;*********************************************************************^
4405
4406 006332 350 00 0 17 777773 $$CE2: AOS -5(P)
4407
4408 S^;*********************************************************************^
4409 ;*$$CE1 - SINGLE SKIP RETURN
4410 S^;*********************************************************************^
4411
4412 006333 350 00 0 17 777773 $$CE1: AOS -5(P)
4413
4414 S^;*********************************************************************^
4415 ;*$$CE - NO SKIP RETURN
4416 S^;*********************************************************************^
4417
4418 006334 262 17 0 00 000005 $$CE: GET 5
4419 006335 262 17 0 00 000004 GET 4
4420 006336 262 17 0 00 000003 GET 3
4421 006337 262 17 0 00 000002 GET 2
4422 006340 262 17 0 00 000001 GET 1
4423 006341 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 80
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0164
4424 S^;*********************************************************************^
4425 ;*COMACK - COMMUNICATION ACKNOWLEDGE
4426 S^;*********************************************************************^
4427
4428 006342 264 00 0 00 006323 $COMACK: JSR $$C
4429 006343 350 00 0 00 007433 AOS MSGNBR# ;COUNT MESSAGE
4430 006344 201 05 0 00 006732 MOVEI AC5,ACKMSG
4431 006345 254 00 0 00 006353 JRST $COMCX
4432
4433 S^;*********************************************************************^
4434 ;*COMNAK - COMMUNICATION NEGATIVE ACKNOWLEDGE
4435 S^;*********************************************************************^
4436
4437 006346 264 00 0 00 006323 $COMNAK: JSR $$C
4438 006347 201 05 0 00 006733 MOVEI AC5,NAKMSG
4439 006350 254 00 0 00 006353 JRST $COMCX
4440
4441 S^;*********************************************************************^
4442 ;*COMCMD - COMMUNICATION COMMAND
4443 S^;*********************************************************************^
4444
4445 006351 264 00 0 00 006323 $COMCMD: JSR $$C
4446 006352 400 05 0 00 000000 SETZ AC5,
4447
4448 006353 201 04 0 00 000020 $COMCX: MOVEI AC4,^D16 ;RETRY 16 TIMES
4449
4450 006354 326 05 0 00 006357 JUMPN AC5,$COMC1 ;CONTROL SEQUENCE ?
4451
4452 006355 260 17 0 00 006417 COMSND ;NO, COMMAND SEND
4453 006356 254 00 0 00 006361 JRST $COMC2
4454
4455 006357 200 00 0 00 000005 $COMC1: MOVE AC0,AC5
4456 006360 260 17 0 00 006463 COMCTL ;CONTROL SEQUENCE SEND
4457
4458 006361 260 17 0 00 006506 $COMC2: COMLIN ;GET REPLY
4459
4460 006362 254 00 0 00 006374 JRST $COMC3 ;ERROR
4461 006363 254 00 0 00 006405 JRST $COMC4 ;CONTROL SEQUENCE
4462 ;NORMAL MESSAGE
4463 006364 201 03 0 00 000136 MOVEI AC3,136
4464 006365 200 00 0 00 007433 MOVE AC0,MSGNBR ;ODD OR EVEN MESSAGE NUMBER ?
4465 006366 602 00 0 00 000001 TRNE AC0,1
4466 006367 201 03 0 00 000041 MOVEI AC3,041 ;ODD
4467
4468 006370 312 03 0 00 007430 CAME AC3,COMNBR ;CORRECT MESSAGE NUMBER ?
4469 006371 254 00 0 00 006344 JRST $COMACK+2 ;NO, MUST BE REPEAT
4470
4471 006372 400 00 0 00 000000 SETZ ;NEW MESSAGE READY
4472 006373 254 00 0 00 006332 JRST $$CE2 ;DOUBLE SKIP RETURN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 81
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0165
4473
4474 006374 366 04 0 00 006376 $COMC3: SOJN AC4,.+2 ;EXCEEDED RETRY LIMIT ?
4475 006375 254 00 0 00 006743 JRST COMERR ;YES, REPORT ERROR & ABORT
4476
4477 006376 326 05 0 00 006403 JUMPN AC5,.+5 ;CONTROL REPEAT ?
4478
4479 006377 306 00 0 00 777773 CAIN AC0,-5 ;NO, RECIEVED CHECKSUM ERROR ?
4480 006400 254 00 0 00 006403 JRST .+3 ;YES, SEND NAK
4481
4482 006401 260 17 0 00 006460 COMRTRY ;COMMAND RETRY
4483 006402 254 00 0 00 006361 JRST $COMC2
4484
4485 006403 201 05 0 00 006733 MOVEI AC5,NAKMSG ;NAK & TRY AGAIN
4486 006404 254 00 0 00 006357 JRST $COMC1
4487
4488 006405 306 00 0 00 000101 $COMC4: CAIN AC0,"A" ;ACK, SINGLE-SKIP RETURN
4489 006406 254 00 0 00 006333 JRST $$CE1
4490 006407 306 00 0 00 000132 CAIN AC0,"Z" ;EOT, NO-SKIP RETURN
4491 006410 254 00 0 00 006334 JRST $$CE
4492 006411 306 00 0 00 000116 CAIN AC0,"N" ;NAK, TRY AGAIN
4493 006412 254 00 0 00 006415 JRST .+3
4494
4495 006413 201 00 0 00 777770 MOVEI AC0,-10
4496 006414 254 00 0 00 006374 JRST $COMC3 ;ERROR, TRY AGAIN
4497
4498 006415 201 00 0 00 777771 MOVEI AC0,-7 ;LOAD NAK ERROR CODE
4499 006416 254 00 0 00 006374 JRST $COMC3 ;TRY AGAIN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 82
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0166
4500 S^;*********************************************************************^
4501 ;*COMSND - COMMUNICATION SEND
4502 S^;*********************************************************************^
4503
4504 006417 264 00 0 00 006323 $COMSND:JSR $$C
4505 006420 200 05 0 00 007357 MOVE AC5,[POINT 7,COUTBF,27]
4506 006421 400 03 0 00 000000 SETZ AC3,
4507 006422 202 00 0 00 000004 MOVEM AC0,AC4
4508
4509 006423 134 00 0 00 000004 $COMS1: ILDB AC0,AC4
4510 006424 306 00 0 00 000012 CAIN AC0,12
4511 006425 254 00 0 00 006423 JRST $COMS1 ;IGNORE LF
4512 006426 306 00 0 00 000015 CAIN AC0,15
4513 006427 254 00 0 00 006436 JRST $COMS2 ;FOUND CR
4514 006430 306 00 0 00 000033 CAIN AC0,33
4515 006431 254 00 0 00 006436 JRST $COMS2 ;FOUND ALTMODE
4516 006432 322 00 0 00 006436 JUMPE AC0,$COMS2 ;REACHED NULL BYTE ?
4517
4518 006433 270 03 0 00 000000 ADD AC3,AC0 ;ACCUMULATE CHECKSUM
4519
4520 006434 136 00 0 00 000005 IDPB AC0,AC5 ;TRANSFER MSG TO OUTPUT BUFFER
4521 006435 254 00 0 00 006423 JRST $COMS1
4522
4523 006436 201 00 0 00 000015 $COMS2: MOVEI AC0,15 ;END MSG WITH CR & NULL
4524 006437 136 00 0 00 000005 IDPB AC0,AC5
4525 006440 400 00 0 00 000000 SETZ
4526 006441 136 00 0 00 000005 IDPB AC0,AC5
4527
4528 006442 200 05 0 00 007360 MOVE AC5,[POINT 7,COUTBF]
4529
4530 006443 201 01 0 00 000136 MOVEI AC1,136 ;SETUP MSG NUMBER CHAR
4531 006444 200 00 0 00 007433 MOVE MSGNBR
4532 006445 602 00 0 00 000001 TRNE 1
4533 006446 201 01 0 00 000041 MOVEI AC1,041
4534 006447 136 01 0 00 000005 IDPB AC1,AC5
4535
4536 006450 210 03 0 00 000003 MOVN AC3,AC3 ;NEGATE CHECKSUM
4537
4538 006451 135 00 0 00 007361 LDB AC0,[POINT 4,AC3,23]
4539 006452 260 17 0 00 006737 GO COMASC
4540
4541 006453 135 00 0 00 007362 LDB AC0,[POINT 6,AC3,29]
4542 006454 260 17 0 00 006737 GO COMASC
4543
4544 006455 135 00 0 00 007363 LDB AC0,[POINT 6,AC3,35]
4545 006456 260 17 0 00 006737 GO COMASC
4546
4547 006457 254 00 0 00 006461 JRST $COMRTRY+1
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 83
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0167
4548 S^;*********************************************************************^
4549 ;*COMRTRY - COMMUNICATION RETRY
4550 S^;*********************************************************************^
4551
4552 006460 264 00 0 00 006323 $COMRTRY:JSR $$C
4553 006461 201 00 0 00 007644 MOVEI AC0,COUTBF ;SETUP MSG POINTER
4554 006462 254 00 0 00 006464 JRST $COMCTL+1
4555
4556 S^;*********************************************************************^
4557 ;*COMCTL - COMMUNICATION CONTROL
4558 S^;*********************************************************************^
4559
4560 006463 264 00 0 00 006323 $COMCTL:JSR $$C
4561 006464 200 05 0 00 000000 MOVE AC5,AC0
4562
4563 006465 264 00 0 00 004763 COMTYI ;FLUSH OLD INPUT
4564 006466 254 00 0 00 006474 JRST .+6
4565 006467 310 00 0 00 000000 CAM
4566 006470 405 00 0 00 000177 ANDI 177
4567 006471 302 00 0 00 000003 CAIE 003
4568 006472 254 00 0 00 006465 JRST .-5
4569 006473 254 00 0 00 006265 JRST $TUTX2 ;CONTROL C'ED
4570
4571 006474 201 00 0 00 000001 MOVEI 001 ;SEND TWO SYNC CHARS
4572 006475 264 00 0 00 005037 COMTYO
4573 006476 201 00 0 00 000001 MOVEI 001
4574 006477 264 00 0 00 005037 COMTYO
4575
4576 006500 505 05 0 00 440700 HRLI AC5,(POINT 7,) ;CREATE BYTE POINTER
4577
4578 006501 134 00 0 00 000005 ILDB AC0,AC5 ;SEND MSG TILL NULL
4579 006502 322 00 0 00 006505 JUMPE AC0,.+3
4580 006503 264 00 0 00 005037 COMTYO
4581 006504 254 00 0 00 006501 JRST .-3
4582
4583 006505 254 00 0 00 006334 JRST $$CE ;COMPLETED
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 84
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0168
4584 S^;*********************************************************************^
4585 ;*COMLIN - COMMUNICATION LINE
4586 S^;*********************************************************************^
4587
4588 006506 264 00 0 00 006323 $COMLIN:JSR $$C
4589 006507 200 01 0 00 007364 MOVE AC1,[POINT 7,CINBF]
4590 006510 403 05 0 00 007527 SETZB AC5,$TTYTIM#
4591
4592 006511 331 00 0 00 002004 $COML1: SKIPL COMFLG ;FIRST TIME ?
4593 006512 254 00 0 00 006515 JRST .+3 ;NO
4594
4595 006513 260 17 0 00 006624 GO COMTIME ;YES, IF IT TIMES OUT, SEND IN CLEAR
4596 006514 254 00 0 00 006603 JRST $CMLE1 ;TIMED OUT
4597
4598 006515 264 00 0 00 004763 COMTYI ;GET INPUT CHAR
4599 006516 254 00 0 00 006511 JRST $COML1 ;NONE AVAILABLE
4600 006517 310 00 0 00 000000 CAM
4601
4602 006520 405 00 0 00 000177 ANDI 177
4603 006521 306 00 0 00 000003 CAIN 003
4604 006522 254 00 0 00 006265 JRST $TUTX2 ;CONTROL C'ED
4605 006523 306 00 0 00 000004 CAIN 004 ;CONTROL D'ED
4606 006524 254 00 0 00 003146 JRST $DDTENT ;YES, TRANSFER TO DDT
4607 006525 302 00 0 00 000017 CAIE 017 ;CONTROL O'ED
4608 006526 254 00 0 00 006531 JRST .+3
4609 006527 462 00 0 00 007506 SETCMM $PTINH ;YES, COMPLEMENT PRINT INHIBIT
4610 006530 254 00 0 00 006511 JRST $COML1
4611 006531 306 00 0 00 000001 CAIN 001 ;SYNC ?
4612 006532 344 05 0 00 006511 AOJA AC5,$COML1 ;YES
4613 006533 322 00 0 00 006511 JUMPE AC0,$COML1 ;NULL, IGNORE
4614 006534 322 05 0 00 006511 JUMPE AC5,$COML1 ;RECIEVED SYNC YET ?
4615 006535 306 00 0 00 000033 CAIN 033 ;ALTMODE ?
4616 006536 254 00 0 00 006546 JRST $COML2 ;YES, CONTROL SEQUENCE
4617 006537 306 00 0 00 000012 CAIN 012 ;LF ?
4618 006540 254 00 0 00 006550 JRST $COML3 ;YES, MESSAGE SEGMENT
4619
4620 006541 136 00 0 00 000001 IDPB AC0,AC1 ;STORE CHAR
4621 006542 350 00 0 00 000005 AOS AC5 ;COUNT IT
4622 006543 303 05 0 00 000210 CAILE AC5,^D136 ;STILL ROOM IN BUFFER ?
4623 006544 254 00 0 00 006605 JRST $CMLE2 ;NO, LINE TOO LONG
4624
4625 006545 254 00 0 00 006511 JRST $COML1 ;KEEP GOING
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 85
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0169
4626
4627 006546 135 00 0 00 007365 $COML2: LDB [POINT 7,CINBF,6]
4628 006547 254 00 0 00 006333 JRST $$CE1 ;CONTROL SEQUENCE RETURN
4629
4630 006550 136 00 0 00 000001 $COML3: IDPB AC0,AC1 ;STORE LF
4631 006551 400 00 0 00 000000 SETZ
4632 006552 136 00 0 00 000001 IDPB AC0,AC1
4633
4634 006553 200 04 0 00 007364 MOVE AC4,[POINT 7,CINBF]
4635 006554 134 00 0 00 000004 ILDB AC0,AC4 ;GET MESSAGE NUMBER
4636 006555 306 00 0 00 000041 CAIN 041
4637 006556 254 00 0 00 006562 JRST $COML4
4638 006557 306 00 0 00 000136 CAIN 136
4639 006560 254 00 0 00 006562 JRST $COML4
4640
4641 006561 254 00 0 00 006607 JRST $CMLE3 ;MSG NUMBER INCORRECT
4642
4643 006562 202 00 0 00 007430 $COML4: MOVEM AC0,COMNBR# ;SAVE MESSAGE NUMBER
4644 006563 400 00 0 00 000000 SETZ
4645 006564 201 05 0 00 000003 MOVEI AC5,3 ;CHARS 1,2,3 ARE CHECKSUM
4646
4647 006565 242 00 0 00 000006 LSH 6
4648 006566 134 01 0 00 000004 ILDB AC1,AC4 ;GET CHAR
4649 006567 405 01 0 00 000077 ANDI AC1,77
4650 006570 434 00 0 00 000001 OR AC0,AC1 ;INSERT INTO 16 BIT CHECKSUM
4651 006571 367 05 0 00 006565 SOJG AC5,.-4 ;DO 3 CHARS
4652
4653 006572 134 01 0 00 000004 ILDB AC1,AC4
4654 006573 306 01 0 00 000015 CAIN AC1,015 ;REACHED EOL ?
4655 006574 254 00 0 00 006600 JRST .+4
4656 006575 322 01 0 00 006613 JUMPE AC1,$CMLE4 ;PAST EOL WITHOUT CR ?
4657
4658 006576 270 00 0 00 000001 ADD AC0,AC1 ;ACCUMULATE CHECKSUM
4659 006577 254 00 0 00 006572 JRST .-5
4660
4661 006600 602 00 0 00 177777 TRNE AC0,177777 ;DID CKSUM COMPUTE TO ZERO ?
4662 006601 254 00 0 00 006615 JRST $CMLE5 ;NO, CHECKSUM ERROR
4663
4664 006602 254 00 0 00 006332 JRST $$CE2 ;MSG OK, DOUBLE-SKIP RETURN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 86
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0170
4665
4666 006603 201 00 0 00 777777 $CMLE1: MOVEI -1 ;NO RESPONSE
4667 006604 254 00 0 00 006334 JRST $$CE
4668
4669 006605 201 00 0 00 777776 $CMLE2: MOVEI -2 ;LINE TOO LONG
4670 006606 254 00 0 00 006334 JRST $$CE
4671
4672 006607 306 00 0 00 000077 $CMLE3: CAIN "?" ;MSG NUMBER QMARK ?
4673 006610 254 00 0 00 006617 JRST COMQ ;YES, HOST ERROR
4674 006611 201 00 0 00 777775 MOVEI -3 ;MSG NUMBER CHAR ERROR
4675 006612 254 00 0 00 006334 JRST $$CE
4676
4677 006613 201 00 0 00 777774 $CMLE4: MOVEI -4 ;NO CR ERROR
4678 006614 254 00 0 00 006334 JRST $$CE
4679
4680 006615 201 00 0 00 777773 $CMLE5: MOVEI -5 ;MESSAGE CHECKSUM ERROR
4681 006616 254 00 0 00 006334 JRST $$CE
4682
4683 S^;*********************************************************************^
4684 ;*COMQ - HOST ERROR, PRINT ERROR REPLY
4685 S^;*********************************************************************^
4686
4687 006617 402 00 0 00 002004 COMQ: SETZM COMFLG
4688 006620 201 00 0 00 007606 MOVEI CINBF
4689 006621 037 17 0 00 000001 PNTALF
4690 006622 037 01 0 00 030242 PCRLF
4691 006623 254 04 0 00 006623 HALT .
4692
4693 006624 350 00 0 00 007527 COMTIME:AOS $TTYTIM
4694 006625 200 00 0 00 007527 MOVE $TTYTIM
4695 006626 317 00 0 00 007366 CAMG [140000] ;3 SECONDS ?
4696 006627 350 00 0 17 000000 AOS (P)
4697 006630 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 87
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0171
4698 S^;*********************************************************************^
4699 ;*COMINI - COMMUNICATION INITIALIZE
4700
4701 006631 332 00 0 00 007432 $COMINI:SKIPE MMFLAG ;IN MAINTENANCE MODE ?
4702 006632 402 00 0 00 002004 SETZM COMFLG ;YES, SEND IN CLEAR
4703 006633 331 00 0 00 002004 SKIPL COMFLG ;-1=NOT INITED, 0=CLEAR, +1=PROTOCALL
4704 006634 263 17 0 00 000000 RTN ;CLEAR
4705
4706 006635 264 00 0 00 006323 JSR $$C
4707
4708 006636 402 00 0 00 007433 $COMI1: SETZM MSGNBR ;INIT MESSAGE NUMBER
4709
4710 006637 201 00 0 00 006727 MOVEI INIMSG
4711 006640 260 17 0 00 006463 COMCTL ;SEND INI MSG
4712
4713 006641 260 17 0 00 006506 COMLIN ;GET REPLY
4714 006642 254 00 0 00 006650 JRST $COMI2 ;ERROR
4715 006643 254 00 0 00 006656 JRST $COMI3 ;CONTROL SEQUENCE
4716
4717 006644 402 00 0 00 002004 $COMI4: SETZM COMFLG
4718 006645 201 00 0 00 007606 MOVEI CINBF ;MSG, PRINT IT
4719 006646 037 17 0 00 000001 PNTALF
4720 006647 254 00 0 00 006334 JRST $$CE
4721
4722 006650 402 00 0 00 002004 $COMI2: SETZM COMFLG
4723 006651 302 00 0 00 777777 CAIE AC0,-1 ;TIMED OUT ?
4724 006652 254 00 0 00 006743 JRST COMERR ;NO, COMM ERROR
4725 006653 201 00 0 00 000040 MOVEI 40
4726 006654 264 00 0 00 005037 COMTYO ;OUTPUT A SPACE, PREVENTS DROPPING 1ST CHAR
4727 006655 254 00 0 00 006334 JRST $$CE ;YES, SEND IN CLEAR
4728
4729 006656 402 00 0 00 002004 $COMI3: SETZM COMFLG
4730 006657 302 00 0 00 000101 CAIE "A" ;ACK'ED ?
4731 006660 254 00 0 00 006644 JRST $COMI4 ;NO, COMM ERROR
4732
4733 006661 350 00 0 00 002004 AOS COMFLG ;YES, SET PROTOCALL MODE
4734 006662 254 00 0 00 006334 JRST $$CE
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 88
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0172
4735 S^;*********************************************************************^
4736 ;*COMENQ - COMMUNICATION ENQUIRY
4737
4738 006663 332 00 0 00 007431 $COMENQ:SKIPE ENQFLG ;BEEN ENQ'ED YET ?
4739 006664 263 17 0 00 000000 RTN ;YES
4740 006665 476 00 0 00 007431 SETOM ENQFLG ;NO, REQUEST COMM SERVICE
4741 006666 264 00 0 00 006323 JSR $$C
4742
4743 006667 201 04 0 00 000003 MOVEI AC4,3
4744
4745 006670 402 00 0 00 007433 $COME1: SETZM MSGNBR ;INIT MESSAGE NUMBER
4746
4747 006671 201 00 0 00 006731 MOVEI ENQMSG
4748 006672 260 17 0 00 006463 COMCTL ;SEND ENQ MSG
4749
4750 006673 260 17 0 00 006506 COMLIN ;GET REPLY
4751 006674 254 00 0 00 006701 JRST $COME2 ;ERROR
4752 006675 254 00 0 00 006703 JRST $COME3 ;CONTROL SEQUENCE
4753
4754 006676 201 00 0 00 007606 MOVEI CINBF ;MSG, PRINT IT
4755 006677 037 17 0 00 000001 PNTALF
4756 006700 254 00 0 00 006334 JRST $$CE
4757
4758 006701 365 04 0 00 006670 $COME2: SOJGE AC4,$COME1 ;RETRY ?
4759 006702 254 00 0 00 006743 JRST COMERR ;NO, COMM ERROR
4760
4761 006703 306 00 0 00 000101 $COME3: CAIN "A"
4762 006704 254 00 0 00 006334 JRST $$CE ;ACK, GO AHEAD
4763
4764 006705 302 00 0 00 000132 CAIE "Z" ;EOT, WAIT ?
4765 006706 254 00 0 00 006701 JRST $COME2 ;NO, ERROR
4766
4767 006707 254 00 0 00 006664 JRST $COMENQ+1 ;TRY AGAIN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 89
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0173
4768 S^;*********************************************************************^
4769 ;*COMEOT - COMMUNICATION END OF TRANSMISSION
4770 S^;*********************************************************************^
4771
4772 006710 264 00 0 00 006323 $COMEOT:JSR $$C
4773
4774 006711 201 00 0 00 006735 MOVEI EOTMSG
4775 006712 260 17 0 00 006463 COMCTL
4776 006713 254 00 0 00 006334 JRST $$CE
4777
4778 S^;*********************************************************************^
4779 ;*COMCLR - COMMUNICATION CLEAR
4780 S^;*********************************************************************^
4781
4782 006714 337 00 0 00 002004 $COMCLR:SKIPG COMFLG
4783 006715 263 17 0 00 000000 RTN
4784 006716 264 00 0 00 006323 JSR $$C
4785
4786 006717 402 00 0 00 007431 SETZM ENQFLG
4787 006720 201 00 0 00 006734 MOVEI CANMSG
4788 006721 260 17 0 00 006463 COMCTL
4789 006722 254 00 0 00 006334 JRST $$CE
4790
4791 S^;*********************************************************************^
4792 ;*COMBELL - COMMUNICATIONS BELL
4793 S^;*********************************************************************^
4794
4795 006723 264 00 0 00 006323 $COMBELL:JSR $$C
4796 006724 201 00 0 00 006730 MOVEI BELMSG
4797 006725 260 17 0 00 006463 COMCTL
4798 006726 254 00 0 00 006334 JRST $$CE
4799
4800 006727 005 033 00000000 INIMSG: BYTE (7) 5,33 ;^E, ALTMODE
4801 006730 007 033 00000000 BELMSG: BYTE (7) 7,33 ;BELL, ALTMODE
4802 006731 105 033 00000000 ENQMSG: BYTE (7) 105,33 ;E, ALTMODE
4803 006732 101 033 00000000 ACKMSG: BYTE (7) 101,33 ;A, ALTMODE
4804 006733 116 033 00000000 NAKMSG: BYTE (7) 116,33 ;N, ALTMODE
4805 006734 103 033 00000000 CANMSG: BYTE (7) 103,33 ;C, ALTMODE
4806 006735 132 033 00000000 EOTMSG: BYTE (7) 132,33 ;Z, ALTMODE
4807
4808 006736 124 015 00000000 TIMEMSG:BYTE (7) "T",15
4809
4810 S^;*********************************************************************^
4811 ;*COMASC - COMMUNICATION ASCIIZE
4812 S^;*********************************************************************^
4813
4814 006737 307 00 0 00 000074 COMASC: CAIG AC0,74 ;LEAVE 75,76,77 ALONE
4815 006740 660 00 0 00 000100 TRO AC0,100
4816 006741 136 00 0 00 000005 IDPB AC0,AC5
4817 006742 263 17 0 00 000000 RTN
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 90
SUBSMM MAC 13-Jun-79 16:28 COMMUNICATION ROUTINES SEQ 0174
4818 S^;*********************************************************************^
4819 ;*COMERR, COMMUNICATIONS ERROR REPORTER
4820 S^;*********************************************************************^
4821
4822 006743 402 00 0 00 002004 COMERR: SETZM COMFLG
4823 006744 200 02 0 00 000000 MOVE AC2,AC0
4824 PMSG <?COMM ERROR: >^
4825 006745 037 02 0 00 007367 PSIXM [SIXBIT\?COMM ERROR: _\]^
4826
4827 006746 210 02 0 00 000002 MOVN AC2,AC2
4828 006747 200 00 0 02 006753 MOVE AC0,CMERTB(AC2)
4829 006750 037 17 0 00 000001 PNTALF
4830 006751 037 01 0 00 030242 PCRLF
4831
4832 006752 254 04 0 00 006752 HALT .
4833
4834 006753 000000 000000 CMERTB: 0
4835 006754 000000 006764 CMER1
4836 006755 000000 006767 CMER2
4837 006756 000000 006771 CMER3
4838 006757 000000 006773 CMER4
4839 006760 000000 006775 CMER5
4840 006761 000000 006777 CMER6
4841 006762 000000 007001 CMER7
4842 006763 000000 007002 CMER10
4843
4844 006764 116 117 040 122 105 CMER1: ASCIZ %NO RESPONSE%
4845 006765 123 120 117 116 123
4846 006766 105 000 000 000 000
4847 006767 114 117 116 107 040 CMER2: ASCIZ %LONG LINE%
4848 006770 114 111 116 105 000
4849 006771 115 123 107 040 116 CMER3: ASCIZ %MSG NBR%
4850 006772 102 122 000 000 000
4851 006773 116 117 040 103 122 CMER4: ASCIZ %NO CR%
4852 006774 000 000 000 000 000
4853 006775 115 123 107 040 103 CMER5: ASCIZ %MSG CKSUM%
4854 006776 113 123 125 115 000
4855 006777 106 117 122 115 101 CMER6: ASCIZ %FORMAT%
4856 007000 124 000 000 000 000
4857 007001 116 101 113 000 000 CMER7: ASCIZ %NAK%
4858 007002 125 116 113 116 117 CMER10: ASCIZ %UNKNOWN%
4859 007003 127 116 000 000 000
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1
SUBSMS MAC 13-Jun-79 16:25 *STOR* RESERVED STORAGE SEQ 0175
4860 SUBTTL *STOR* RESERVED STORAGE
4861
4862 ;MODIFY DEVICE CODE CODE TABLE
4863 007004 $MDLST: ;NO I/O BUS DEVICES ON SM-10
4864 000000 $MDEND=.-$MDLST ;COMPUTES LENGTH OF TABLE
4865
4866 ;PROGRAM LITERALS
4867 007004 LIT
4868 007004 002000 001000
4869 007005 254 00 0 00 003146
4870 007006 254 00 0 00 003231
4871 007007 015 012 105 130 105
4872 007010 103 040 117 116 114
4873 007011 131 015 012 000 000
4874 007012 540000 540001
4875 007013 020000 020000
4876 007014 000002 000002
4877 007015 260 17 0 00 002173
4878 007016 254 00 0 00 002250
4879 007017 76 51 54 54 45 47
4880 007020 41 54 00 65 65 57
4881 007021 76 65 65 57 75 75
4882 007022 46 54 41 47 63 75
4883 007023 00 00 60 43 76 77
4884 007024 777577 030303
4885 007025 76 12 12 12 12 12
4886 007026 76 65 65 57 00 60
4887 007027 54 51 63 64 00 45
4888 007030 62 62 00 60 35 77
4889 007031 76 45 62 62 57 62
4890 007032 00 55 65 65 57 00
4891 007033 35 00 77 00 00 00
4892 007034 037 01 0 00 000007
4893 007035 037 01 0 00 000026
4894 007036 037 12 0 00 000001
4895 007037 254 00 0 00 002410
4896 007040 037 15 0 00 000003
4897 007041 254 00 0 00 002410
4898 007042 037 14 0 00 000003
4899 007043 254 00 0 00 002410
4900 007044 037 17 0 00 000001
4901 007045 254 00 0 00 002410
4902 007046 037 12 0 00 000001
4903 007047 254 00 0 00 002415
4904 007050 000001 000001
4905 007051 76 64 45 63 64 00
4906 007052 60 41 63 63 00 43
4907 007053 57 65 56 64 00 35
4908 007054 00 77 00 00 00 00
4909 007055 76 60 43 35 00 00
4910 007056 77 00 00 00 00 00
4911 007057 76 63 67 51 64 43
4912 007060 50 45 63 00 35 00
4913 007061 77 00 00 00 00 00
4914 007062 76 45 62 62 57 62
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1-1
SUBSMS MAC 13-Jun-79 16:25 *STOR* RESERVED STORAGE SEQ 0176
4915 007063 00 51 56 00 77 00
4916 007064 00 15 00 77 00 00
4917 007065 76 77 00 00 00 00
4918 007066 037 00 0 00 000000
4919 007067 76 43 57 62 62 45
4920 007070 43 64 32 00 00 77
4921 007071 76 41 43 64 65 41
4922 007072 54 32 00 00 00 77
4923 007073 76 44 51 63 43 62
4924 007074 45 60 32 00 00 77
4925 007075 76 45 70 43 45 45
4926 007076 44 45 44 00 41 54
4927 007077 54 57 67 45 44 00
4928 007100 45 62 62 57 62 63
4929 007101 76 77 00 00 00 00
4930 007102 254 00 0 00 030005
4931 007103 100000 400000
4932 007104 000001 007411
4933 007105 37 00 45 62 62 57
4934 007106 62 00 50 41 54 64
4935 007107 00 41 64 00 77 00
4936 007110 37 00 46 41 64 41
4937 007111 54 00 60 62 57 47
4938 007112 62 41 55 00 45 62
4939 007113 62 57 62 00 41 64
4940 007114 00 77 00 00 00 00
4941 007115 104 104 124 000 000
4942 007116 66 45 62 63 51 57
4943 007117 56 00 77 00 00 00
4944 007120 14 00 63 66 35 77
4945 007121 14 00 55 43 66 35
4946 007122 77 00 00 00 00 00
4947 007123 14 00 55 43 57 35
4948 007124 77 00 00 00 00 00
4949 007125 14 00 50 57 35 77
4950 007126 14 00 53 41 63 67
4951 007127 35 77 00 00 00 00
4952 007130 14 00 43 60 65 03
4953 007131 35 77 00 00 00 00
4954 007132 76 12 12 12 12 12
4955 007133 76 60 54 51 63 64
4956 007134 00 65 46 54 57 67
4957 007135 76 77 00 00 00 00
4958 007136 264 00 0 00 030104
4959 007137 254 00 0 00 003321
4960 007140 254 00 0 00 003331
4961 007141 76 12 12 12 12 12
4962 007142 76 60 54 51 63 64
4963 007143 00 57 66 45 62 46
4964 007144 54 57 67 00 60 35
4965 007145 77 00 00 00 00 00
4966 007146 76 55 45 55 57 62
4967 007147 71 00 60 62 57 64
4968 007150 77 00 00 00 00 00
4969 007151 76 56 57 56 15 45
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1-2
SUBSMS MAC 13-Jun-79 16:25 *STOR* RESERVED STORAGE SEQ 0177
4970 007152 70 00 55 45 55 57
4971 007153 62 71 77 00 00 00
4972 007154 76 55 45 55 57 62
4973 007155 71 00 60 41 62 51
4974 007156 64 71 77 00 00 00
4975 007157 76 65 56 53 56 57
4976 007160 67 56 00 51 56 64
4977 007161 45 62 62 65 60 64
4978 007162 77 00 00 00 00 00
4979 007163 76 41 60 62 00 00
4980 007164 00 00 00 00 00 00
4981 007165 00 00 00 00 60 51
4982 007166 00 00 00 00 00 00
4983 007167 00 00 00 00 00 00
4984 007170 00 46 54 41 47 63
4985 007171 00 00 60 43 00 00
4986 007172 00 00 00 00 60 62
4987 007173 57 47 76 77 00 00
4988 007174 76 60 57 67 45 62
4989 007175 00 46 41 51 54 00
4990 007176 62 45 63 64 41 62
4991 007177 64 76 77 00 00 00
4992 007200 76 60 57 67 45 62
4993 007201 00 51 56 64 45 62
4994 007202 62 65 60 64 00 46
4995 007203 41 51 54 45 44 76
4996 007204 77 00 00 00 00 00
4997 007205 76 60 41 47 45 00
4998 007206 46 41 51 54 00 64
4999 007207 62 41 60 00 45 62
5000 007210 62 57 62 76 60 41
5001 007211 47 45 00 46 41 51
5002 007212 54 00 67 57 62 44
5003 007213 15 00 77 00 00 00
5004 007214 76 64 62 41 60 00
5005 007215 23 00 45 62 62 57
5006 007216 62 77 00 00 00 00
5007 007217 265 00 0 00 003412
5008 007220 265 00 0 00 003427
5009 007221 45 56 44 00 60 41
5010 007222 63 63 00 77 00 00
5011 007223 030146 030147
5012 007224 540336 540337
5013 007225 400000 777777
5014 007226 540376 540377
5015 007227 76 64 57 57 00 55
5016 007230 41 56 71 00 55 41
5017 007231 60 00 63 45 47 55
5018 007232 45 56 64 63 76 77
5019 007233 000200 000201
5020 007234 44 22 0 00 000200
5021 007235 400000 400001
5022 007236 76 66 51 62 64 65
5023 007237 41 54 77 00 00 00
5024 007240 76 55 45 55 57 62
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1-3
SUBSMS MAC 13-Jun-79 16:25 *STOR* RESERVED STORAGE SEQ 0178
5025 007241 71 00 55 41 60 00
5026 007242 35 76 46 62 57 55
5027 007243 00 00 00 00 00 64
5028 007244 57 00 00 00 00 00
5029 007245 00 00 00 00 00 63
5030 007246 51 72 45 17 53 77
5031 007247 75 63 64 41 62 64
5032 007250 00 41 44 62 17 53
5033 007251 77 00 00 00 00 00
5034 007252 64 57 64 41 54 00
5035 007253 55 45 55 57 62 71
5036 007254 17 53 00 35 00 77
5037 007255 63 67 51 64 43 50
5038 007256 45 63 00 35 00 77
5039 007257 76 64 64 71 00 63
5040 007260 67 51 64 43 50 00
5041 007261 43 57 56 64 62 57
5042 007262 54 00 37 00 15 00
5043 007263 20 14 63 00 57 62
5044 007264 00 71 00 34 43 62
5045 007265 36 00 15 00 77 00
5046 007266 76 54 50 00 63 67
5047 007267 51 64 43 50 45 63
5048 007270 00 34 03 00 57 62
5049 007271 00 37 36 00 15 00
5050 007272 77 00 00 00 00 00
5051 007273 62 50 00 63 67 51
5052 007274 64 43 50 45 63 00
5053 007275 34 03 00 57 62 00
5054 007276 37 36 00 15 00 77
5055 007277 055 040 131 054 116
5056 007300 054 040 074 103 122
5057 007301 076 040 117 122 040
5058 007302 136 054 136 132 040
5059 007303 055 040 000 000 000
5060 007304 000044 030600
5061 007305 64 45 63 64 00 60
5062 007306 43 00 35 00 77 00
5063 007307 45 62 62 57 62 00
5064 007310 60 43 00 35 00 77
5065 007311 00 45 62 62 57 62
5066 007312 00 64 57 64 41 54
5067 007313 63 00 35 00 77 00
5068 007314 00 71 00 57 62 00
5069 007315 56 00 34 43 62 36
5070 007316 00 15 00 77 00 00
5071 007317 421042 104210
5072 007320 44 06 0 00 000001
5073 007321 44 07 0 00 007550
5074 007322 015 012 052 052 052
5075 007323 052 052 052 015 012
5076 007324 105 130 103 105 105
5077 007325 104 105 104 040 101
5078 007326 114 114 117 127 105
5079 007327 104 040 120 122 111
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 1-4
SUBSMS MAC 13-Jun-79 16:25 *STOR* RESERVED STORAGE SEQ 0179
5080 007330 116 124 117 125 124
5081 007331 123 015 012 000 000
5082 007332 037 12 0 00 000001
5083 007333 254 00 0 00 005642
5084 007334 037 01 0 00 030242
5085 007335 254 00 0 00 005646
5086 007336 037 12 0 00 000001
5087 007337 254 00 0 00 005673
5088 007340 037 12 0 00 000001
5089 007341 254 00 0 00 005707
5090 007342 037 05 0 00 000001
5091 007343 254 00 0 00 005732
5092 007344 037 10 0 00 000001
5093 007345 254 00 0 00 005736
5094 007346 037 06 0 00 000001
5095 007347 254 00 0 00 005744
5096 007350 037 12 0 00 000001
5097 007351 254 00 0 00 005747
5098 007352 037 06 0 00 000001
5099 007353 254 00 0 00 005752
5100 007354 040 040 040 117 040
5101 007355 17 07 0 00 007547
5102 007356 040 040 040 121 040
5103 007357 10 07 0 00 007644
5104 007360 44 07 0 00 007644
5105 007361 14 04 0 00 000003
5106 007362 06 06 0 00 000003
5107 007363 00 06 0 00 000003
5108 007364 44 07 0 00 007606
5109 007365 35 07 0 00 007606
5110 007366 000000 140000
5111 007367 37 43 57 55 55 00
5112 007370 45 62 62 57 62 32
5113 007371 00 77 00 00 00 00
SUBSM (DSQDA) DECSYSTEM 2020 DIAGNOSTICS SUBROUTINE'S, VER 0,3 MACRO %53(1020) 16:33 13-Jun-79 Page 2
SUBSMS MAC 13-Jun-79 16:25 *STOR* RESERVED STORAGE SEQ 0180
5114 007404 000000 000000 ENDSLD: 0
5115
5116 ;END OF PROGRAM VARIABLES
5117
5118 007405 000 00 0 00 000000 %ERIN1: Z ;COR/ACT/DESC PRINT JSR
5119 007406 000 00 0 00 000000 %ERIN2: Z
5120 007407 254 00 1 00 007405 JRST @%ERIN1 ;ERROR HANDLER SPECIAL STORAGE WORDS
5121
5122 007410 POWER: BLOCK 20 ;POWER FAIL AC SAVE
5123
5124 IFDEF DEBUG,<
5125 007430 PATCH: BLOCK DEBUG ;DEBUGGING AREA
5126 >
5127
5128 ;PROGRAM VARIABLE WORDS
5129
5130 007430 VAR
5131
5132 007547 000000 000000 0
5133 007550 $OUTBF: BLOCK ^D30
5134 007606 CINBF: BLOCK ^D30
5135 007644 COUTBF: BLOCK ^D30
5136
5137 IFDEF PGMEND,<
5138 007702 000000 000000 END: 0
5139 002000 END START
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 030600
CPU TIME USED 00:19.890
24P CORE USED
ABORT 139# 2438
AC0 62# 1422 1423 1424 1426 1428 1429 1431 1434 1435 1436 1438 1441 1443 SEQ 0181
1445 1446 1447 1456 1459 1460 1473 1476 1477 1503 1504 1630 1631 1632
1633 1635 1637 1639 1645 1646 1647 1654 1658 1693 2036 2045 2048 2058
2070 2071 2219 2222 2223 2225 2299 2308 2310 2322 2325 2553 2563 3389
3592 3594 3596 3810 3830 3860 4163 4351 4373 4455 4464 4465 4479 4488
4490 4492 4495 4498 4507 4509 4510 4512 4514 4516 4518 4520 4523 4524
4526 4538 4541 4544 4553 4561 4578 4579 4613 4620 4630 4632 4635 4643
4650 4658 4661 4723 4814 4815 4816 4823 4828
AC1 63# 4530 4533 4534 4589 4620 4630 4632 4648 4649 4650 4653 4654 4656
4658
AC2 64# 4823 4827 4828
AC3 65# 4463 4466 4468 4506 4518 4536 4538 4541 4544
AC4 66# 4448 4474 4507 4509 4634 4635 4648 4653 4743 4758
AC5 67# 4430 4438 4446 4450 4455 4477 4485 4505 4520 4524 4526 4528 4534
4561 4576 4578 4590 4612 4614 4621 4622 4645 4651 4816
ACB0 2255 2276#
ACB1 2252 2275#
ACB2 2249 2274#
ACB3 2246 2273#
ACB4 2243 2272#
ACB5 2240 2271#
ACB6 2237 2270#
ACB7 2234 2269#
ACKMSG 4430 4803#
ALTMGO 949# 1628 1879 4343
ANYOUT 3388 3399 3409 4239#
APR 1310 1508 1943 2095 2220 2284 2300 2311 2323 2354 2385 2386 2394 2404
2605 2626 2631 2634 2644 2647 2670 3346 3349 3358 3361
AROV 418#
AROVTP 756# 769# 2333
AROVU 484#
AST 1064#
ATSIN 1065#
BEGEND 945# 1272 1280
BEGIN 33 34 35 37 39 40 41 42 43 354 355 876# 1278 1369
2293 2366 2461
BEGIN1 892# 946
BELL 1068#
BELMSG 4796 4801#
BIS 422#
CANMSG 4787 4805#
CCA 500#
CHAIN 159# 3074
CHNOFF 514#
CHNON 513#
CINBF 4589 4627 4634 4688 4718 4754 5134#
CLKU 482#
CLOCKF 931#
CLRACB 2235 2238 2241 2244 2247 2250 2253 2256 2262# 2267
CMER1 4835 4844#
CMER10 4842 4858#
CMER2 4836 4847#
CMER3 4837 4849#
CMER4 4838 4851# SEQ 0182
CMER5 4839 4853#
CMER6 4840 4855#
CMER7 4841 4857#
CMERTB 4828 4834#
CNTLC 948# 3537 3776 4339
CNTRP 781# 2343
COMASC 4539 4542 4545 4814#
COMERR 4475 4724 4759 4822#
COMFLG 1248# 1275 1591 3857 4215 4224 4378 4592 4687 4702 4703 4717 4722 4729
4733 4782 4822
COMMA 1057#
COMNBR 4468 4643# 4643
COMQ 4673 4687#
COMTIM 4595 4693#
CONSW 932# 1319 1321# 1321 1737 1744 1844 1859 1880 1966 2390 2488 2539 2950
3055 3057 3059 3073 3081 3095 3128 3142 3517 3527 4163 4208
COUTBF 4505 4528 4553 5135#
CPIERR 1259# 1936 1958 1963 2398
CPOPJ 952# 3497
CPOPJ1 950# 2535 2537 2545 3433 3498
CRLF 289 290 1052#
CRLF2 293 294 1054#
CRY0 419#
CRY1 420#
CSHFLG 1111# 1337 1338 1340 1389 1394 1968 2496 2536
CSHMEM 1112# 2534
CTRP 782# 2344
CYCL60 1105# 1930 1945
DCK 428#
DDT 69# 1203 2070 2459
DDTLNK 173# 890 1209# 2075 2462
DDTSRT 38 890# 1324
DEBUG 32# 5124 5125
DECVER 4# 10 15 911 1225 1250
DF22F 1016# 4022# 4022
DIAGMN 879#
DIAGNO 68# 1202
DIAMON 70# 1204 1268 3538
DIASWS 71# 3137
DING 145# 1907
DOLLAR 1071#
DSKUPD 916
EBIT0 846#
EBIT1 847#
EBIT10 856#
EBIT11 857#
EBIT12 858#
EBIT13 859#
EBIT14 860#
EBIT15 861#
EBIT2 848#
EBIT3 849#
EBIT4 850# SEQ 0183
EBIT5 851#
EBIT6 852#
EBIT7 853#
EBIT8 854#
EBIT9 855#
END 5138#
ENDFIX 1191#
ENDSLD 5114#
ENQFLG 3778# 3778 4738 4740 4786
ENQMSG 4747 4802#
EOPERR 1260#
EOTMSG 4774 4806#
ERMORE 965# 1866
EROLD 365
ERRPC 936# 1350 1647 1703 1719 1743 2436 3460
ERRTLS 937# 1277 1699 3464
ERSTOP 148# 1881 2043 2065
EXCASB 30# 914
EXIOT 424#
FOV 421#
FOVU 483#
FRDLNK 171# 2017 2022
FSELNK 170# 1988 1991
FXU 427#
HYPEN 1062#
INHCSH 156# 1967 2540
INHPAG 153# 1971 2392 2490 2952
INIMSG 4710 4800#
IOCLR 505# 1310
ITERAT 51# 909
ITRCH1 969# 1507 2140 2150 2203 2299 2310 2322 2361
ITRCNT 909# 1267 1364 2434 2439 2447
JOB41 442# 1407 1503 2222
JOBAPR 450#
JOBCNI 451#
JOBDDT 444#
JOBFF 448# 1316 2511 2529 2560 3025
JOBOPC 453# 1627 1878 3535 4338 4342
JOBREL 443#
JOBREN 449# 3786
JOBSA 447# 1315
JOBSYM 445#
JOBTPC 452#
JOBUSY 446#
JOBUUO 441# 1434 1441 1471 1520 1529 1566 1577 1623 1629 1630 1656
JOBVER 454# 2083 2086
KAIFLG 926# 1932
KLFLG 927# 1931 1937
KNTRP 777# 2339
KTRP 778# 2340
LACLK 549#
LACLKE 582#
LAPRAL 573# 2385 2644 SEQ 0184
LAPRP1 556# 598# 2394
LAPRP2 555# 597#
LAPRP3 554# 596#
LAPRP4 553# 595#
LAPRP5 552# 594#
LAPRP6 551# 593#
LAPRP7 550# 592#
LCHNOF 655# 2384
LCHNON 654# 2395
LCNTXT 775#
LCNXER 563# 2612
LCPAER 567#
LCPSFT 571#
LCPWRF 559#
LDATAF 606# 621#
LDLNK 172# 879 881
LDNXER 562#
LDPAER 566#
LDPSFT 570#
LDPWRF 558#
LEBXMH 790#
LEBXML 791#
LENXER 561#
LEPAER 565#
LEPSFT 569#
LEPWRF 557#
LEUPFW 786# 2314 2400 2656
LEXCMP 609# 624#
LFLGCL 543#
LFLGDS 542#
LFLGEN 541#
LFLGST 544#
LFP 1066#
LINSTF 605# 620#
LINT 599#
LIOCLR 540#
LLACBL 702# 717#
LLDUSB 703# 718# 1959
LMBXMH 792#
LMBXML 793#
LNXMEN 579#
LNXMER 546# 589# 2369 2371 2404 2410 2631 2670
LOOPER 147# 1650 1899
LPAREN 580#
LPARER 547# 590# 2369 2373 2410
LPFWPC 787# 2308 2406 2407 2660 2661
LPGFTR 788# 1951 2382 2606 2608 2643
LPICH1 658# 691#
LPICH2 659# 692#
LPICH3 660# 693#
LPICH4 661# 694#
LPICH5 662# 695#
LPICH6 663# 696# SEQ 0185
LPICH7 664# 697#
LPICHA 665# 2395
LPICLR 652# 2384
LPIIP1 683#
LPIIP2 684#
LPIIP3 685#
LPIIP4 686#
LPIIP5 687#
LPIIP6 688#
LPIIP7 689#
LPIOFF 656# 2384
LPION 657# 690# 2395
LPRCH1 671#
LPRCH2 672#
LPRCH3 673#
LPRCH4 674#
LPRCH5 675#
LPRCH6 676#
LPRCH7 677#
LPRFMH 762#
LPRFML 763#
LPSFT 548#
LPSFTE 581# 591#
LPWRFE 578#
LPWRFL 545# 588# 2354
LREQSE 653#
LRQCLR 651# 2384
LSECMO 741#
LSMODE 732# 1976
LSNXER 564#
LSPAER 568#
LSPSFT 572#
LSPWRF 560#
LTBASH 760#
LTBASL 761#
LTRPAE 742#
LTRPEN 733# 1977 2617
LUOERR 1261# 2224
LUSCMP 608# 623#
LUUO 434# 1690 3862
LUUO1 996 997
LUUO10 996 1001
LUUO11 996 1001
LUUO12 996 1002
LUUO13 996 1002
LUUO14 996 1003
LUUO15 996 1003
LUUO16 996 1004
LUUO17 996 1004
LUUO2 996 998
LUUO20 996 1005
LUUO21 996 1005
LUUO22 996 1006 SEQ 0186
LUUO23 996 1006
LUUO24 996 1007
LUUO25 996 1007
LUUO26 996 1008
LUUO27 996 1008
LUUO3 996 998
LUUO30 996 1009
LUUO31 996 1009
LUUO32 996 1010
LUUO33 996 1010
LUUO4 996 999
LUUO5 996 999
LUUO6 996 1000
LUUO7 996 1000
LUUOI 435#
LWRITE 607# 622#
MAPNEW 1017# 1270 2503 2530 2754 2819 2841 2906 2989
MARGIN 939#
MCNVER 3# 10 15 911 1225 1250
MEMLOW 1019# 2765 2770 2779 2799 2884 2924 3028
MEMMAP 28# 917
MEMSIZ 1020# 2481 2482 2483 2556 2570 2574 2578 2579 2582 2832 2836 2879 2881
2925 2928 2933 2977 2998 3001 3003 3006 3008 3016
MEMTOT 1018# 3024 3034
MINUS 1061#
MMFLAG 3280# 3280 3283 3326 3371 3376 4212 4701
MODCHK 1210 1247#
MODDVC 155#
MODDVL 354 354# 912
MODDVU 355 355# 913
MODLNK 174# 876 1210#
MONCTL 929# 1365 1724 1915 1947 2040 2062 2079 2440 2980 2982 3053 3054 3076
3090 3536 3787
MONFLG 928# 1305 1366 2388 2485
MONTEN 930# 1367 2457
MONTYP 1143#
MPVU 479#
MSGNBR 4429# 4429 4464 4531 4708 4745
MUOERR 1256# 1505
MUUO 773# 1511
MUUOER 1501# 2338
MUUOPC 774# 1506
NAKMSG 4438 4485 4804#
NOEXEC 1253# 1373
NOPNT 143# 1720 3808 4182
NXMU 480#
OPRSEL 157#
OPTIME 1031#
P 200 201 202 203 410# 951 1327 1329 1330 1423 1428 1438 1456 1486
1487 1488 1491 1645 1655 1701 1995 2058 2158 2159 2161 2207 2448 2823
2956 3248 3249 3250 3251 3415 3522 3573 3648 3737 4406 4412 4696
P$PTR 3780# 3780 4185 4194 4203 4206 4229 4231 4233 4243 4364
PAG 498# 1952 1954 1955 1959 1960 1975 1978 2232 2352 2353 2416 2493 2616 SEQ 0187
2619
PALERS 149# 1710
PAREA1 45# 907
PAREA2 46# 908
PAREA3 47# 905
PAREA4 48# 906
PAREA5 49# 918
PAREA6 50# 919
PAREA7 918#
PAREA8 919#
PARU 481#
PASCNT 933# 1276 1727 1730 2433 2443
PATCH 5125#
PDISF 1028# 3761# 3761 3831# 3831 3834
PDLOVU 478#
PDOVTP 757# 770# 2335
PERIOD 1058#
PERTLS 1351# 1351 1732 1917
PFSTRT 885# 1940 2363
PGINGO 1336#
PGMEND 29# 5137
PGMNAM 910 1282#
PI 1309 1509 2185 2221 2301 2312 2324 2384 2395 2603 2604 2650
PICHN1 528#
PICHN2 529#
PICHN3 530#
PICHN4 531#
PICHN5 532#
PICHN6 533#
PICHN7 534#
PICHNA 535#
PICLR 511# 1309
PIOFF 515# 2185 2604
PION 516# 522# 2649 2650
PLERR 1254# 1484
PLERR1 1255# 1489
PLIST 1097# 1097 1327 1424 1487 1488 2159
PLISTE 1097 1099# 1426 1488
PLISTS 1098#
PLUS 1063#
PNTENB 1027# 3768 3805# 3805 4173
PNTEXT 906#
PNTFLG 1026# 3765# 3765 3798 3803 3824
PNTINH 1029# 3763# 3763 4260
PNTLPT 144# 1194# 3071 3518 3528 4209
PNTNAM 905#
PNTRP 783# 2345
PNTSPC 1030# 3766# 3766 4072 4086
POWER 1985 1986 1997 2019 2020 2278 2282 2285 2287 2357 2358 2360 2414 5122#
PSHERR 1325 2132#
PTRP 784# 2346
PVPAGI 1124# 1970 2391 2489 2951
QFLAG 4200# 4200 4236 4298 4302 SEQ 0188
QUEST 1069#
RADIX 1072# 4137
RADLSC 1074# 4133
RADLSP 1073# 4152
RANDBS 907#
REENTR 887# 3785
REINIT 1205 1245#
RELIAB 151#
REPT 411# 1642 1707 1717
REPT1 412# 1643 1708 1718
REPTU 985# 1667# 1667
REQSET 512#
RESRT1 962# 2152
RESRT2 963#
RESRTX 2151 2232#
RETURN 894# 1269 1370 1381 2458
RSTART 140#
RTP 1067#
RUNFLG 934#
SADR1 33# 883
SADR10 42# 899
SADR11 43# 900
SADR2 34# 885
SADR3 35# 887
SADR4 36#
SADR5 37# 948
SADR6 38# 949
SADR7 39# 896
SADR8 40# 897
SADR9 41# 898
SBINIT 213 893#
SCOPE 986# 1349 1651 1652 1692 1900 2435
SFSTRT 883#
SLASH 1070#
SM10 1174# 1938
SMBER 1257#
SMCER 1258#
SMPAG 2393 2527 2615# 2714 2822
SNTRP 779# 2341
SPACE 1059#
SRTDDT 889#
START 877 1244# 5139
START1 896#
START2 897#
START3 898#
START4 899#
START5 900#
STARTA 892 1280#
STRP 780# 2342
SUBINI 1211 1246#
SUBLNK 175# 893 1211#
SUBRTN 1249#
SUBVER 1250# 2089 2092 SEQ 0189
SWPTAB 1180# 3153
SWTAB 3147 3190#
SWTEXR 908#
SYSEXR 881#
TAB 1060#
TABLE0 1460 1463#
TESTPC 935# 3452
TICKS 938#
TIMEMS 4808#
TN0 425#
TN1 426#
TOTALS 141#
TRP3TP 758# 771# 2337
TTNBRF 1118# 3606 3626
TTYFIL 1034# 3769
TTYSPD 1035#
TXTINH 152# 1745 1845 1860
UBAVEC 754#
USER 925# 1301 1304 1306 1307
USERF 423# 1303 1362
USRASB 31# 915
USRCRF 1044#
USRLFF 1043#
UUODIS 997# 1450
UUOEXT 953#
UUORTN 954# 1444
UUOSKP 951#
XOFFLA 3764# 3764 4247 4292 4314 4330
XONCHK 4307 4314# 4328
$$AC0 1422# 1422 1433
$$C 4394# 4400 4428 4437 4445 4504 4552 4560 4588 4706 4741 4772 4784 4795
$$CE 4418# 4491 4583 4667 4670 4675 4678 4681 4720 4727 4734 4756 4762 4776
4789 4798
$$CE1 4412# 4489 4628
$$CE2 4406# 4472 4664
$$MUUO 1149# 1501 1502
$$OUTE 1155#
$$PAC0 1298 1352# 1352
$$TAX1 1167# 3443 3444
$$TAX2 1168# 3446 3447
$$TOGG 1161# 3048 3078 3088
$$UUO 1138# 1420 1421
$80CHR 87# 3291 3303 3344 3351 3356 3363
$80CIW 83# 3276 3290 3294
$80COW 84# 3277 3345 3350
$80INT 88# 3348 3360
$80KIW 85# 3278 3302 3306
$80KOW 86# 3279 3357 3362
$80MM 82# 3282
$80STA 81# 2115 3281
$ACC0 976# 2174 2183 2211 2219# 2219 2225 2359
$ACMP0 2946# 2946 2957
$ACMP1 2597# 2597 2651 SEQ 0190
$ACMP2 2598# 2598 2652
$ACMP3 2599# 2599 2653
$ACMP4 2708# 2708 2715
$ACMP5 2746# 2746 2814
$ACMP6 2747# 2747 2815
$ACMP7 2748# 2748 2816
$ACMP8 2749# 2749 2817
$ACMP9 2750# 2750 2818
$ASCP1 4107# 4118
$ASCP2 4110# 4114
$ASCPN 3845 3868 4106#
$BEND1 946#
$BEND2 36 947# 1926 2046 2066 2072 3775
$BYTYC 3368# 3368 3370
$BYTYI 101 3313# 3317 3318 3319 3321
$BYTYO 102 3367# 3373
$CARCT 3482 3488 3516 4164# 4164 4174 4177 4358 4365
$CHRIN 1037# 3513# 3513 3521 3530
$CHRPN 3876 4095#
$CLOCK 1562 1603#
$CMLE1 4596 4666#
$CMLE2 4623 4669#
$CMLE3 4641 4672#
$CMLE4 4656 4677#
$CMLE5 4662 4680#
$CNVD 3605# 3605 3677 3686
$CNVX 3617 3675#
$CNVX1 3639 3684#
$CNVX2 3687 3696#
$COMAC 119 4428# 4469
$COMBE 126 4795#
$COMC1 4450 4455# 4486
$COMC2 4453 4458# 4483
$COMC3 4460 4474# 4496 4499
$COMC4 4461 4488#
$COMCL 122 4782#
$COMCM 107 4445#
$COMCT 124 4554 4560#
$COMCX 4431 4439 4448#
$COME1 4745# 4758
$COME2 4751 4758# 4765
$COME3 4752 4761#
$COMEN 111 4738# 4767
$COMEO 113 4772#
$COMI1 4708#
$COMI2 4714 4722#
$COMI3 4715 4729#
$COMI4 4717# 4731
$COMIN 128 4701#
$COML1 4592# 4599 4610 4612 4613 4614 4625
$COML2 4616 4627#
$COML3 4618 4630#
$COML4 4637 4639 4643# SEQ 0191
$COMLI 115 4588#
$COMNA 120 4437#
$COMRT 109 4547 4552#
$COMS1 4509# 4511 4521
$COMS2 4513 4515 4516 4523#
$COMSN 117 4504#
$COMTI 104 3325# 3330 3332 3333 3334 3337 3339 3340 3341
$COMTO 105 3375# 3379 3381
$CPLII 1940#
$CPSM 1933#
$CPUTP 1336 1930#
$CRLF 1039# 3770# 3770
$CSHAL 2522 2534# 2722 2792 2856
$CYTYI 95 3289# 3292 3297 3298 3299
$CYTYO 96 3343# 3353
$DCCMP 4137#
$DCSPS 4151#
$DDT 77#
$DDTEN 1323 2069# 3436 3526 4270 4322 4606
$DECP1 4143# 4149 4151
$DECPN 3870 4126#
$DECSP 3872 4124#
$DEVCH 492#
$DRPDV 1541 1601#
$DSKUP 916#
$DVOFF 1033# 3760# 3760
$ECK 1364#
$EG177 1525 1577#
$EG4 1527 1566#
$EGBEL 1568 1591#
$EGFRC 1570 1593 1596#
$EGX 1573 1575 1580 1583 1586 1588# 1597
$EMODE 914# 1371
$END 1562 2433#
$END2 2440#
$END3 2441 2447#
$EOP 1564 2456#
$ERH0 2034 2036# 2036 2049
$ERHL1 2042#
$ERHL3 2045#
$ERHL4 2041 2044 2047#
$ERHLT 1563 1888 2031#
$FATAL 1563 2055#
$FATL1 2063 2068#
$FFF 1041# 3772
$FRD36 1560 2011#
$FRD8 1561 2009#
$FREAD 1560 2013#
$FSEL1 1989 2002#
$FSEL2 1992 1996# 2003 2023 2024
$FSELE 1559 1983#
$FSELF 1984# 1984 1994 2015
$HEAR 3390 3400 3413 3473# 3479 3481 3534 SEQ 0192
$HEAR1 3485 3534#
$HEAR2 3519 3521# 3529 3532
$HEAR3 3515 3525#
$HEAR4 3487 3491 3507#
$IBUF 1089#
$INEXT 1091#
$INNM 1090#
$INTDF 3759# 3759
$IPGFL 1950 2398#
$ITR1A 2166 2169 2172 2177 2193#
$ITR1B 1514 2194# 2326 2411
$ITRC1 2149 2219#
$ITRHL 957# 2184
$ITRHZ 2183# 2370 2375
$ITRIN 1344 2140#
$ITRX1 958# 2212
$KYTYI 98 3301# 3304 3309 3310 3311
$KYTYO 99 3355# 3365
$LDSPS 4140 4148#
$M2 2634#
$M4 2673#
$M5 2632 2685#
$M6 2671 2688#
$M7 2676 2692#
$MAPEX 1339 1388# 1974
$MDEND 4864#
$MDLST 4863# 4864
$MEMMP 1346 1557 2481#
$MEPAG 2491 2493#
$MMAP 917# 1345
$MNCON 2751# 2751 2801 2810
$MODCK 1222 1247 1361#
$MODDP 1542 1600#
$MODDV 1542 1599#
$MODVL 912#
$MODVU 913#
$MPAD2 2954 2959#
$MPAD3 2949 2957# 2964
$MPAD7 2956# 2960 2968 2971
$MPADL 2953 2962#
$MPADR 1544 2696 2946#
$MPCM1 2559# 2568 2575
$MPCM2 2562 2577#
$MPCM3 2570#
$MPCMB 2518 2532 2551#
$MPCMX 2572 2582#
$MPCN1 2612# 2690
$MPCNK 1545 2516 2531 2597# 2768
$MPCXX 2685 2688 2692 2695#
$MPEXM 2666# 2675 2686
$MPGFL 2607 2656#
$MPNEW 2511#
$MPNXM 2613 2626# 2637 SEQ 0193
$MPOL1 2486 2492 2528#
$MPOLD 2504 2520#
$MPRPI 2648#
$MPRST 2643# 2693
$MPSE2 2709 2718#
$MPSE3 2714# 2730
$MPSET 1545 2514 2708# 2766
$MPVU 2168#
$MSAPR 2605# 2605 2645
$MSEG 1543 2746# 2914
$MSEG2 2800 2808# 2858
$MSEG3 2771 2813# 2833 2835 2876 2880 2882 2889 2892 2896
$MSEG4 2822#
$MSEGP 2758 2829# 2893
$MSEGV 2759 2765#
$MSGV1 2770#
$MSGV2 2776# 2802
$MSGV3 2794 2799#
$MSKA 2755 2873#
$MSKAP 2842 2874 2891#
$MSPI 2603# 2603 2648
$MTROP 1559 1602#
$MZRO 1544 2904#
$MZRO1 2909# 2916 2921
$MZRO2 2907 2923#
$MZRO3 2928# 2935
$MZROB 2904# 2904 2938
$MZROC 2905# 2905 2937
$MZROX 2912 2926 2929 2937#
$NEGF 3604# 3604 3645 3672
$NEGX 3615 3670#
$NOUSR 1308 1377#
$NOYES 1549 3548#
$NXMU 2171# 2372
$OBUF 1080#
$ONETM 940# 1274 1348 2985 3789
$OPTLK 1548 3099 3105 3224 3239 3409# 3557 3565 3612 3717
$OUTBF 3779 4186 4199 4205 4218 4235 4244 4258 5133#
$OUTEX 1082#
$OUTNM 1081#
$PACA1 3819 3835 3851# 3851
$PACA2 3820 3836 3852# 3852
$PACA3 3821 3837 3853# 3853
$PACA4 3822 3838 3854# 3854
$PACA5 3823 3839 3855# 3855
$PACB0 4161# 4161 4351
$PAPER 53# 403
$PARER 964# 2175
$PAREX 2174# 2374
$PDLOV 2299# 2334
$PDOVP 1486 1493 2158# 2158 2163
$PDOVU 2158# 2302
$PGFL 2308# 2403 2405 SEQ 0194
$PGFL1 2314#
$PGFL2 2316 2409#
$PGMIN 1221 1246 1298#
$PGMN1 1315#
$PMAP 1546 2580 2586 2976#
$PMAP1 2984 2987#
$PMAP3 2981 2985#
$PMAP4 2999 3024#
$PMAP5 3011 3021#
$PMAP6 3029 3031 3039#
$PMAP7 3012#
$PMAPL 2987 2998# 3022
$PNAME 910# 1380 2081
$PNM2 2080 2118#
$PNT 3861# 3861 4076# 4076 4080 4085 4104# 4104 4116 4124 4148
$PNTB1 3834#
$PNTC2 4023 4038#
$PNTC3 4034# 4050
$PNTCF 1540 4052# 4054
$PNTCW 1540 4018# 4055 4057
$PNTI1 3878 4063# 4087
$PNTI2 4067# 4070 4081
$PNTI3 3874 4083#
$PNTI4 3817# 4077 4088 4098 4112 4117 4131
$PNTIA 3801 3809 3851#
$PNTIB 3806 3830#
$PNTIC 3866#
$PNTIF 1523 3798#
$PNTIN 1342 3759#
$PNTIT 1521 3803#
$PNTIX 3785#
$PNTLN 3867 4104#
$PNTMG 1546 1604#
$PNTNM 1541 2079# 3072 3791
$PNTSV 4071# 4071 4078
$PNTSX 1539 3889#
$PNTTY 3799# 3799 3804 3817 3840 4179
$PNTYC 4162# 4162
$POCS 1555 3972#
$POCS1 3980 3987#
$POCS2 3992# 4001
$POCS3 3989 3996# 4010
$POCS4 4001# 4009
$POCS5 3994 4009#
$POCSF 1555 3968#
$POINT 4106# 4106 4108 4115
$PRNTX 3811 3824# 3832
$PSHER 968# 1326 1328 1490 2160
$PSIX 1554 3924#
$PSIX1 3933# 3949
$PSIX2 3936# 3948
$PSIX3 3948# 3954
$PSIX4 3941 3951# SEQ 0195
$PSIX5 3939 3956#
$PSIXF 1554 3920#
$PTCA 4018# 4018 4035 4052
$PTCB 4020# 4020 4034
$PTINH 1596 3762# 3762 3800 4167 4172 4288 4309 4331 4609
$PTSXF 1539 3903#
$PVER 911#
$PWRF 1942 2258 2281# 2281 2365
$PWRFL 2259 2291#
$PWRST 2289 2362# 2362
$RADIX 4130 4133# 4141
$REINI 1220 1245 1274#
$RSRTX 960# 2283
$RSRTY 961# 2288
$RSTCM 2278# 2426
$SBSRT 1219 1244 1266#
$SM10 2153 2381#
$SMCLR 2384# 2415
$SMCSH 1347 1966#
$SMENB 2388#
$SMI 2332# 2383
$SMIT1 2355 2368# 2412
$SMITR 2226 2352#
$SMPGF 2381 2400# 2659
$SMPWR 2357#
$SMRST 2260 2414#
$SMSN 2095#
$SMSNX 2095# 2095 2096 2100 2105 2110
$SNPNT 2098 2121#
$SPAG1 980# 2353# 2353
$START 877# 1372 1376
$STD 76#
$STL 78#
$STM 79#
$SUBUO 1437 1459#
$SVAPR 978# 1508 2197# 2197 2220 2284 2300 2311 2323 2368 2409 2417 2423
$SVCSW 1320# 1320 3134 3140
$SVPAG 979# 2352# 2352 2416
$SVPI 977# 1509 2200# 2200 2221 2301 2312 2324
$SVUPC 983# 1440
$SVUUO 982# 1442 1446
$SW 3104# 3104 3107 3122# 3122 3127
$SW0 3067 3087# 3445
$SW0A 3090#
$SW1 3098# 3100 3106 3115 3141
$SW10 3091 3137#
$SW11 3093 3140#
$SW12 3094# 3143
$SW13 3121 3145#
$SW14 3126 3151#
$SW2 3113 3119# 3146
$SW3 3124# 3149 3152 3154
$SW4 3117 3128# 3135 3138 3156 SEQ 0196
$SW6 3109 3116#
$SW8 3129# 3133
$SW9 3089 3111 3132#
$SWCH1 3053# 3058
$SWERR 3102 3115#
$SWFLG 1322# 1322 3050 3069
$SWIN1 3068#
$SWONC 3066# 3066 3068 3092 3132
$SWTCH 1543 1649 1700 1869 2042 2064 2437 3048# 3070 3807
$SWTIN 1343 3066#
$SWU1 3051 3052 3057#
$SWU2 3049 3059#
$SWXX 3148 3155 3162#
$SWXX1 3171# 3176 3182 3221
$SWXX2 3172 3181#
$SWXX3 3177 3183#
$SWXX4 3178 3215#
$SWYYY 3238# 3238 3241
$SWZZ 3175 3223#
$SWZZ1 3227 3251#
$SWZZ2 3229 3250#
$SWZZ3 3243 3249#
$SWZZ4 3231 3245 3248#
$TABF 1040# 3771 4189
$TABS 4192 4358#
$TABS1 4363# 4366
$TACB4 3410# 3410 3417
$TACC1 3551# 3551 3576
$TACC2 3552# 3552 3574
$TACD1 3598# 3598 3647 3654
$TACD2 3599# 3599 3643 3653
$TACD3 3600# 3600 3642 3652
$TALT1 3429 3433#
$TALT2 3427#
$TALT3 3438 3450#
$TALT4 3440 3458#
$TALTM 1551 1624 1875 3424#
$TIEX2 3476#
$TIRDY 3473 3493#
$TISIX 1552 3712#
$TOUB1 4282 4291#
$TOUB2 4261 4266 4289 4294#
$TOUT 4069 4075 4097 4113 4128 4145 4153 4161#
$TOUT1 4170 4176#
$TOUT2 4180 4185#
$TOUT3 4212#
$TOUT4 4187 4229# 4246
$TOUT5 4202# 4237
$TOUT6 4213 4224#
$TOUT7 4218# 4225
$TOUTA 4183 4197 4216 4222 4227 4351# 4367
$TOUTB 4214 4226 4257# 4295 4300 4304 4312 4341 4345
$TPCK 3623 3661# SEQ 0197
$TPCLR 1553 3500#
$TPCNV 1550 3592#
$TPCV1 3593 3595 3598#
$TPDEC 1550 3594#
$TPERR 3613 3624 3637 3651# 3671 3676 3689
$TPEX1 3642# 3694 3703
$TPEXT 3619 3621 3636#
$TPMUL 3628 3664#
$TPNBR 3636 3667#
$TPOCT 1549 3120 3125 3596#
$TRP3 2322# 2336
$TSX1 3712# 3712 3740
$TSX2 3713# 3713 3741
$TSXB1 3717# 3735
$TSXB2 3720 3722 3737#
$TSXB3 3718 3725 3729 3733 3739#
$TSXB4 3728 3731#
$TTCHR 1036# 3476# 3476 3507
$TTLK 1551 3388# 3424
$TTYIN 1552 3399#
$TTYSP 1251#
$TTYTI 4590# 4590 4693 4694
$TUTX2 4273 4325 4340# 4569 4604
$TUTX3 4277 4279 4344#
$TWCNT 1032# 3416
$TYAC0 4373# 4373 4384
$TYAC1 4374# 4374 4385
$TYAC2 4375# 4375 4386
$TYCLR 93 3286# 3287
$TYINI 92 3275# 3284
$TYOU3 4381 4384#
$TYOU4 4378#
$TYOUT 3483 3490 4285 4287 4310 4373#
$TYPL1 3626#
$TYPLP 3612# 3631 3673 3678
$TYPNB 1038# 3603# 3603 3651
$UCK 1363 1375#
$UMODE 915# 1375
$UOERX 1408 1471# 1553 1557 1558 1561 1564 1604 1640
$UOPLE 1425 1427 1430 1432 1483#
$UORTN 1406 1420# 1504 2223
$UORTX 955# 1480
$UOTAB 1535 1538#
$UPLER 1410# 1410 1483 1485
$USRHL 959#
$USRUO 1438#
$UUO37 1466 1520#
$UUOER 956# 997 1409
$UUOIN 1341 1406#
$VTF 1042# 3773
$XUUO 1451# 1536
$YESNO 1548 3550#
$YN1 3555# 3580 SEQ 0198
$YN2 3558 3566 3574#
$YN3 3562 3572 3579#
$YN4 3568 3570 3582#
%AC0 1675# 1675 1681 1862 1864 1865 1920
%AC1 1676# 1676 1682 1788 1813
%AC2 1677# 1677 1683 1790 1815
%AC3 1678# 1678 1684 1792 1817
%ACTFL 989# 1698# 1698 1809
%ACTUL 990# 1828# 1828 1834
%COREC 988# 1803# 1803 1833
%CORFL 987# 1697# 1697 1784
%DISCR 991# 1763# 1763 1782 1807 1831 1838
%EACR 1681# 1739 1887
%EACR1 1682# 1856 1914
%EACS 1675# 1696 1868
%ERCNT 1723# 1723 1901
%ERFLG 1622# 1622 1641 1705
%ERFST 1890# 1890 1892
%ERHI1 1130# 1694 1695
%ERHI2 1131# 1921 1922
%ERHI3 1132# 1740 1741
%ERIN1 1802 1827 1837 5118# 5120
%ERIN2 1778 5119#
%ERLP 1464 1622#
%ERLP0 1638 1641#
%ERLP1 1636 1645#
%ERLP2 1634 1649#
%ERMOR 1858 1861 1865#
%ERP2A 1786 1794#
%ERP2B 1769#
%ERP3A 1811 1819#
%ERPNT 1704 1709 1717#
%ERPR1 1749 1755#
%ERPR2 1746 1759 1763#
%ERPR3 1783 1804#
%ERPR4 1808 1830#
%ERPR5 1832 1844#
%ERPR6 1846 1850 1854#
%ERPRA 1725 1890#
%ERPRB 1727# 1893
%ERS1A 1887#
%ERSW1 1711 1721 1875#
%ERSW2 1882 1899#
%ERSW3 1907#
%ERUUO 1465 1690#
%ERX 1654# 1668
%ERX1 1644 1648 1653 1658# 1669
%ERXTR 1857# 1857 1863
%EXCAL 1914#
%EXCL1 1916 1920#
%EXCL2 1919 1924#
%LUUO 1691# 1691 1769
%REPT 1463 1667# SEQ 0199
%RP 1642 1707 1717# 1717
%RP1 1643 1708 1718# 1718
.JB41 460#
.JBAPR 468#
.JBCNI 469#
.JBDDT 462#
.JBFF 466#
.JBOPC 471#
.JBREL 461#
.JBREN 467#
.JBSA 465#
.JBSYM 463#
.JBTPC 470#
.JBUSY 464#
.JBUUO 459#
.JBVER 472#
APRID 798#
BCIO 834# SEQ 0200
BCIOB 840#
BSIO 833#
BSIOB 839#
BTYTYI 101# 3493 4265 4317
BTYTYO 102# 4382
CFLUSH 325#
CINVAL 324#
CLOKOP 319#
CLRPT 805#
COMACK 119#
COMBEL 126# 1594
COMCLR 122# 2047 2073 2456
COMCMD 107# 4219
COMCTL 124# 4456 4711 4748 4775 4788 4797
COMENQ 111# 3858
COMEOT 113#
COMINI 128# 3782
COMLIN 115# 4458 4713 4750
COMNAK 120#
COMRTR 109# 4482
COMSND 117# 4452
COMTYI 104# 4563 4598
COMTYO 105# 4572 4574 4580 4726
CTYCLR 93#
CTYINI 92# 1946
CTYTYI 95# 3314 3329
CTYTYO 96# 3369 3378 4380
CWRTBI 326#
DROPDV 286#
ENDUUO 332# 945
EOPUUO 333# 947
ERLOOP 373#
ERLP1 374#
ERLP2 375#
ERRHLT 220#
ERROR 382#
ERROR1 393#
ERUUO 372#
FATAL 219# 1481 1495 1775 2016 2018 2134 2213 2555 2610 2697 2719 2753 2783
2787 2886 2915
FRD36 361#
FRD8 362#
FREAD 360#
FSELEC 359#
GET 203# 1340 1443 1455 1473 1476 1588 1629 1639 1654 1658 1693 1987 1999
2021 2034 2045 2048 2074 2123 2542 2544 2620 2643 3129 3185 3186 3187
3810 3830 3860 3896 3910 3956 3957 3958 3959 3960 4002 4003 4004 4005
4006 4248 4249 4250 4251 4418 4419 4420 4421 4422
GO 200# 1336 1339 1341 1342 1343 1344 1346 1347 1406 1504 1624 1649 1696
1700 1739 1856 1863 1868 1869 1875 1887 1914 1974 1991 2022 2042 2064
2098 2223 2383 2393 2415 2437 2514 2516 2522 2527 2531 2685 2688 2692
2696 2714 2722 2766 2768 2792 2822 2856 2914 3067 3070 3072 3099 3105
3120 3125 3148 3155 3175 3224 3239 3388 3399 3400 3409 3413 3424 3445 SEQ 0201
3473 3483 3490 3557 3565 3612 3717 3807 4130 4141 4285 4287 4307 4310
4539 4542 4545 4595
HALT 205# 966 1228 1229 1230 1231 1232 1233 1234 1235 1236 1253 1254 1255
1256 1257 1258 1259 1260 1261 1373 1484 1489 1505 1936 1958 1963 2049
2224 2293 2366 2398 2461 3316 3322 3331 3338 3495 4220 4267 4319 4691
4832
JEN 207#
JRSTF 206# 2267 2289 2407 2661
KTYTYI 98# 3320 3336
KTYTYO 99# 3372 3380
MAPADR 342#
MAPCNK 343#
MAPMEM 339#
MAPPNT 345#
MAPSET 344#
MEMSEG 341#
MEMZRO 340#
MODPCP 352#
MODPCU 351#
MTROP 320#
NAME 7# 10
OUTSTR 1377 1380
PBELL 295# 1567 1908
PCRL 289# 1479 1851 1854 2118 2210 2995 3019 3036 3037 3520 3953
PCRL2 293#
PCRL2F 294#
PCRLF 290# 2039 2061 2446 3083 3169 3183 3454 3466 3579 3951 4690 4830
PFORCE 297# 1569 1722
PGMINT 213# 1271 2291
PJRST 204#
PMSG 299# 1472 1510 1729 1733 1736 2082 2088 2099 2104 2109 2114 2122 2162
2196 2313 2990 2991 2994 3033 4824
PMSGF 302# 1492 1924 2032 2056 2132 2280 2292 2442 2584 3080 3094 3098 3119
3124 3450 3458 3462 3555
PNT1 255#
PNT11 269#
PNT11F 270#
PNT1F 256#
PNT2 257#
PNT2F 258#
PNT3 259#
PNT3F 260#
PNT4 261#
PNT4F 262#
PNT5 263# 4028
PNT5F 264# 4026
PNT6 265# 1735 2209 4041 4049
PNT6F 266# 2038 2060 3453 3461 4039 4047
PNT7 267#
PNT7F 268#
PNTA 241# 1777
PNTADF 272# 4031
PNTADR 271# 3002 3004 4033 SEQ 0202
PNTAF 242#
PNTAL 243# 1587
PNTALF 244# 1585 4689 4719 4755 4829
PNTCHF 254# 1572 1592 3908 3945 3982 3997 4043
PNTCHR 253# 1574 3531 3894 3947 3984 3999 4045
PNTCI 251# 2085 2091 3005 3015
PNTCIF 252# 2445 3174
PNTCW 287#
PNTCWF 288#
PNTDCF 280# 2444 3465
PNTDEC 279# 1731 2124 3012 3018 3035
PNTDS 281#
PNTDSF 282#
PNTHW 275# 1474 1478 1512 1738 2116 2164 2198 2201 2205 2315
PNTHWF 276# 1494 3082 3096
PNTMSF 248# 3223
PNTMSG 247# 2081
PNTNM 283# 1891 2031 2055
PNTOCF 278#
PNTOCS 277# 2084 2087 2090 2093 2103 2108 2113
PNTOCT 273#
PNTOTF 274#
PNTSIX 284#
PNTSXF 285# 3173
PSIXL 245# 1582 1750 1752 1760 1762 1800 1825 1835 1853 2195
PSIXLF 246# 1579
PSIXM 249# 1472 1510 1729 1733 1736 2082 2088 2099 2104 2109 2114 2122 2162
2196 2313 2990 2991 2994 3033 4825
PSIXMF 250# 1492 1925 2033 2057 2133 2280 2292 2442 2585 3080 3094 3098 3119
3124 3451 3459 3463 3556
PSP 291# 1475 2199 2202 2206
PSPF 292#
PUT 202# 1337 1433 1445 1448 1471 1528 1623 1983 1996 2014 2035 2069 2121
2538 2606 2615 3087 3162 3163 3164 3889 3903 3920 3924 3926 3927 3928
3929 3968 3972 3974 3975 3976 3977 4239 4240 4241 4242 4395 4396 4397
4398 4399
RDAPR 800#
RDCSB 811#
RDCSTM 813#
RDEBR 807#
RDHSB 816#
RDINT 815#
RDIO 831#
RDIOB 837#
RDPI 802#
RDPUR 812#
RDSPB 810#
RDTIM 814#
RDUBR 804#
REPTUO 376#
RTN 201# 953 1399 1411 1457 1589 1659 1679 1685 1923 1948 1964 1969 1973
1979 2000 2119 2125 2347 2396 2449 2543 2621 2654 2699 2716 2820 2824
2939 2958 3039 3056 3060 3075 3077 3084 3130 3188 3225 3236 3240 3246 SEQ 0203
3252 3402 3418 3425 3442 3448 3456 3468 3474 3494 3500 3523 3577 3649
3655 3742 3788 3790 3825 3897 3911 3961 4007 4036 4146 4252 4315 4333
4387 4423 4697 4704 4739 4783 4817
S 60 74 90 131# 133 137 166 168 177 180 195 196 198 209
211 215 217 222 226 368 370 406 408 414 416 430 432 437
439 455 457 474 476 486 490 494 496 501 503 507 509 518
520 524 526 536 538 574 576 584 586 601 603 611 613 616
618 626 628 632 634 639 641 647 649 667 669 679 681 698
700 707 709 713 715 722 724 728 730 737 739 746 748 750
752 765 767 794 796 825 827 842 844 868 874 901 903 921
923 941 943 972 974 992 994 1012 1014 1022 1024 1045 1050 1076
1078 1085 1087 1093 1095 1101 1103 1107 1109 1114 1116 1120 1122 1126
1128 1134 1136 1139 1141 1145 1147 1151 1153 1157 1159 1163 1165 1170
1172 1176 1178 1182 1184 1186 1188 1196 1198 1215 1217 1240 1242 1262
1264 1294 1296 1311 1313 1332 1334 1353 1359 1383 1386 1402 1404 1413
1418 1467 1469 1497 1499 1516 1518 1607 1613 1615 1620 1661 1665 1671
1673 1686 1688 1713 1715 1765 1767 1796 1798 1821 1823 1840 1842 1871
1873 1883 1885 1895 1897 1903 1905 1910 1912 1928 1981 2005 2007 2027
2029 2051 2053 2077 2128 2130 2136 2138 2154 2156 2179 2181 2189 2191
2215 2217 2228 2230 2295 2297 2304 2306 2318 2320 2328 2330 2348 2350
2377 2379 2429 2431 2452 2454 2465 2475 2477 2479 2506 2509 2546 2549
2588 2595 2622 2624 2639 2641 2662 2664 2678 2683 2700 2706 2731 2744
2761 2763 2804 2806 2825 2827 2862 2871 2897 2902 2940 2944 2972 2974
3043 3046 3062 3064 3158 3160 3257 3273 3382 3386 3392 3397 3404 3407
3419 3422 3469 3471 3501 3505 3541 3546 3587 3590 3608 3610 3632 3634
3657 3659 3680 3682 3707 3710 3745 3753 3755 3757 3793 3796 3813 3815
3828 3846 3849 3880 3883 3885 3887 3899 3901 3912 3918 3962 3966 4011
4016 4058 4061 4090 4093 4100 4102 4119 4122 4157 4159 4253 4255 4334
4336 4347 4349 4354 4356 4369 4371 4390 4392 4402 4404 4408 4410 4414
4416 4424 4426 4433 4435 4441 4443 4500 4502 4548 4550 4556 4558 4584
4586 4683 4685 4698 4735 4768 4770 4778 4780 4791 4793 4810 4812 4818
4820
SIXBTZ 308# 1747 1753 1755 1779 1804 1830 2168 2171 2176 2186 2325
SWITCH 314#
TIOE 829#
TIOEB 835#
TION 830#
TIONB 836#
TTALTM 235#
TTICHR 228#
TTICLR 238#
TTICNV 233#
TTIDEC 232#
TTINO 230#
TTIOCT 231#
TTIYES 229#
TTLOOK 234#
TTSIXB 236#
TTYINP 237#
WRAPR 799#
WRCSB 819#
WRCSTM 821#
WREBR 808# SEQ 0204
WRHSB 824#
WRINT 823#
WRIO 832#
WRIOB 838#
WRPI 801#
WRPUR 820#
WRSPB 818#
WRTIM 822#
WRUBR 806# 2234 2237 2240 2243 2246 2249 2252 2255
$MDSXB 57#
ADD 1396 1777 2498 2524 2728 2789 3010 3630 3700 4518 4658
ADDI 1450 1460 1535 2557 2566 2573 2689 2725 2785 2796 2809 2837 2844 2860 SEQ 0205
2910 2932 2934 3007 3021 3026 3893 3907 4144
ANDI 1531 1632 1771 1961 2097 2102 2107 2112 2401 2419 2421 2646 2657 2969
3295 3307 3347 3359 3477 3508 3864 4095 4376 4566 4602 4649
AOBJN 1398 2265 2500 2526 2729 3182
AOJA 2671 2676 2686 2693 3949 4612
AOS 951 1699 1732 1901 1995 2309 2406 2433 2448 2660 2823 2956 3248 3249
3250 3251 3297 3298 3309 3310 3317 3318 3332 3333 3339 3340 3415 3482
3522 3573 3627 3648 3737 4115 4164 4173 4365 4406 4412 4429 4621 4693
4696 4733
ASCII 1052 1054 1057 1058 1059 1060 1062 1063 1064 1065 1066 1067 1069 1070
1071 2071 2460 4198 4234
ASCIZ 1282 1377 3223 3841 4844 4847 4849 4851 4853 4855 4857 4858
BLKI 1943 2095
BLOCK 1020 1080 1083 1089 1092 1098 5122 5125 5133 5134 5135
BLT 1300 1934 1986 1998 2020 2279 2286 2358 2425 2483 2712 2775 2852 2920
2933
BYTE 1068 4800 4801 4802 4803 4804 4805 4806 4808
CAIE 1957 1962 2402 2554 2658 2983 2993 3145 3151 3233 3427 3430 3441 3486
3514 3559 3675 4169 4196 4275 4281 4327 4567 4607 4723 4730 4764
CAIG 1424 1429 2560 2770 2948 4814
CAIL 1426 1431 1526 1918 2571 2636 2674 2718 2757 2873 2875 3509 3622 3723
3727 4186
CAILE 1436 1774 1785 1810 2846 2891 2911 3510 3661 3662 3663 3667 3668 3669
3724 3726 4622
CAIN 1522 1633 1635 1637 1787 1789 1791 1812 1814 1816 2799 3013 3030 3101
3108 3110 3112 3215 3226 3228 3230 3234 3242 3244 3428 3435 3437 3439
3478 3480 3484 3525 3560 3614 3616 3618 3620 3638 3719 3721 3866 3869
3871 3873 3875 3938 3940 3942 4166 4176 4191 4269 4272 4276 4278 4291
4297 4301 4306 4321 4324 4479 4488 4490 4492 4510 4512 4514 4603 4605
4611 4615 4617 4636 4638 4654 4672 4761
CAM 2627 2628 2629 2630 2666 2667 2668 2669 4565 4600
CAME 1488 1504 1643 1647 1703 1708 2071 2223 2460 4468
CAMG 2609 2782 2885 4695
CAMGE 2834
CAML 2838 2925
CAMN 1567 1569 1642 1707 1758 1849 1935 2567 2977 3568 3570 4244
CONI 1508 1509 1952 1955 1975 2220 2221 2300 2301 2311 2312 2323 2324 2353
2603 2605 2616 3346 3358
CONO 1309 1310 1954 1978 2185 2232 2284 2384 2385 2386 2394 2395 2493 2604
2619 2626 2634 2644 2647 2650 3349 3361
CONSO 2354 2404 2631
CONSZ 2670
DATAI 1960 2352
DATAO 1959 2416
DEFINE 7 57 131 299 302 308 382 393
DIV 4137
END 5139
EXCH 1456
EXP 3582 3583 3584
HLL 3127
HLRZ 1315 1428 1454 1748 1780 1847 1852 2083 2089 2400 2420 2602 2656 2982
4038 4143
HRL 2724 2888 2895 SEQ 0206
HRLI 3166 4576
HRLM 4138
HRLS 2931
HRLZM 3122
HRR 3054
HRRZ 1423 1452 1520 1645 1701 1743 1756 1761 1805 1855 2086 2092 2207 2601
2645 2947 3025 3452 3460 3931 4046 4185
IDIVI 3009 3017
IDPB 2795 2859 3734 4194 4203 4229 4231 4233 4364 4520 4524 4526 4534 4620
4630 4632 4816
IFDEF 403 914 915 916 917 5124 5137
IFNDEF 354 355 365 914 915 916 917 996
ILDB 4294 4509 4578 4635 4648 4653
IMULI 2720 2808 3665 3698
IOR 1533
JFCL 954 955 956 957 958 959 960 961 962 963 964 965 2332 2501
JRST 204 205 206 207 876 877 879 881 883 885 887 890 892 893
946 1202 1203 1204 1205 1219 1220 1221 1222 1244 1245 1246 1247 1272
1278 1280 1308 1317 1323 1325 1352 1363 1368 1372 1376 1381 1408 1425
1427 1430 1432 1437 1461 1463 1464 1465 1466 1514 1523 1525 1527 1536
1568 1570 1572 1573 1575 1579 1580 1582 1583 1585 1586 1592 1593 1597
1604 1625 1628 1634 1636 1638 1640 1644 1648 1653 1656 1668 1669 1704
1706 1709 1711 1721 1725 1728 1746 1754 1759 1783 1786 1793 1808 1811
1818 1832 1846 1850 1861 1876 1879 1882 1888 1893 1916 1919 1926 1940
1972 1989 1992 2003 2010 2012 2023 2024 2041 2044 2046 2063 2066 2072
2075 2080 2149 2151 2153 2166 2169 2172 2177 2226 2259 2260 2302 2316
2326 2355 2363 2370 2372 2374 2375 2389 2403 2405 2411 2412 2426 2441
2458 2462 2486 2491 2492 2504 2518 2532 2535 2537 2541 2545 2562 2572
2580 2586 2613 2632 2637 2659 2675 2730 2755 2758 2759 2771 2797 2800
2802 2835 2839 2842 2861 2874 2876 2889 2892 2893 2896 2907 2912 2921
2926 2927 2935 2949 2953 2954 2960 2964 2968 2971 2981 2984 2999 3014
3022 3031 3049 3051 3052 3058 3079 3089 3091 3093 3100 3102 3106 3109
3111 3113 3115 3117 3121 3126 3133 3135 3138 3143 3146 3149 3152 3156
3176 3177 3178 3216 3220 3221 3227 3229 3231 3235 3243 3245 3284 3287
3292 3299 3304 3311 3315 3319 3321 3323 3327 3330 3334 3337 3341 3352
3353 3364 3365 3373 3377 3379 3381 3390 3401 3414 3429 3431 3433 3436
3438 3440 3479 3481 3485 3487 3491 3498 3511 3515 3519 3526 3529 3532
3537 3538 3549 3558 3561 3562 3566 3569 3571 3572 3580 3593 3595 3613
3615 3617 3619 3621 3624 3631 3637 3639 3671 3673 3676 3678 3687 3689
3694 3703 3718 3720 3722 3725 3728 3729 3733 3735 3791 3801 3806 3809
3811 3832 3845 3867 3870 3872 3874 3876 3878 3922 3939 3941 3946 3952
3954 3970 3983 3998 4010 4023 4027 4032 4040 4044 4048 4050 4057 4073
4077 4081 4087 4088 4098 4117 4118 4131 4149 4154 4170 4180 4183 4187
4190 4192 4197 4210 4213 4216 4222 4225 4227 4237 4245 4261 4266 4270
4273 4277 4279 4282 4289 4299 4300 4303 4304 4312 4318 4322 4325 4328
4339 4341 4343 4345 4352 4367 4379 4381 4400 4431 4439 4453 4460 4461
4469 4472 4475 4480 4483 4486 4489 4491 4493 4496 4499 4511 4513 4515
4521 4547 4554 4564 4568 4569 4581 4583 4593 4596 4599 4604 4606 4608
4610 4616 4618 4623 4625 4628 4637 4639 4641 4655 4659 4662 4664 4667
4670 4673 4675 4678 4681 4714 4715 4720 4724 4727 4731 4734 4751 4752
4756 4759 4762 4765 4767 4776 4789 4798 5120
JSP 213 1302 1361 2334 2336 4069 4075 4097 4113 4128 4145 4153 4246 4340
4344 SEQ 0207
JSR 92 93 95 96 98 99 101 102 104 105 1802 1827 1837 2140
2235 2238 2241 2244 2247 2250 2253 2256 4214 4226 4428 4437 4445 4504
4552 4560 4588 4706 4741 4772 4784 4795
JUMPE 1521 1749 1858 2882 2916 2987 3000 3011 3029 3141 3154 3172 3497 3868
3989 3994 4009 4112 4140 4295 4516 4579 4613 4614 4656
JUMPGE 2709 3980 4126 4360
JUMPL 2833 2880 2929
JUMPN 1772 1781 1806 2778 2883 3895 3909 3945 3951 3982 3997 4026 4031 4039
4043 4047 4450 4477
LALL 8 1496 1515 1764 1795 1820 1839 2127 2178 2187 2214 2294 2317 2327
2376 2428 2451 3040 3085 3157 3254
LDB 4538 4541 4544 4627
LIST 7 365 403 863 996
LIT 4867
LOC 14 866 1190 1200 1207 1213 1238
LSH 1435 1447 1530 1532 1631 1776 2106 2111 2788 2790 2845 2854 2878 3103
3181 3217 3237 3564 3664 3666 3690 4024 4135 4647
LSHC 1449 1534 3691 3699 3892 3906 3993 4134
MAP 2962
MOVE 1299 1319 1323 1325 1327 1388 1393 1406 1408 1434 1438 1441 1446 1487
1493 1503 1506 1511 1529 1566 1577 1630 1681 1682 1683 1684 1690 1730
1737 1744 1751 1757 1769 1788 1790 1792 1794 1801 1813 1815 1817 1819
1826 1833 1836 1844 1848 1859 1862 1865 1880 1917 1920 1933 1940 1966
1985 2019 2036 2058 2070 2096 2100 2105 2110 2115 2140 2149 2151 2159
2163 2174 2183 2197 2200 2203 2211 2222 2225 2282 2287 2308 2314 2334
2336 2357 2359 2361 2363 2368 2390 2409 2414 2417 2418 2424 2443 2459
2482 2488 2495 2511 2513 2515 2521 2529 2539 2553 2563 2564 2565 2577
2648 2651 2652 2653 2695 2711 2715 2756 2765 2767 2774 2777 2779 2781
2813 2814 2815 2816 2817 2818 2829 2832 2836 2851 2853 2877 2879 2881
2884 2887 2894 2913 2919 2924 2928 2937 2938 2950 2957 2959 3001 3003
3006 3016 3034 3057 3059 3073 3081 3095 3134 3137 3140 3153 3165 3171
3184 3281 3290 3302 3350 3362 3370 3411 3417 3464 3507 3517 3521 3527
3530 3553 3563 3574 3575 3576 3601 3642 3643 3644 3647 3652 3653 3654
3693 3702 3714 3739 3740 3741 3779 3819 3820 3821 3822 3823 3862 3890
3904 3934 3979 4021 4029 4034 4035 4054 4063 4078 4096 4108 4133 4152
4163 4198 4205 4208 4218 4234 4243 4258 4351 4384 4385 4386 4455 4464
4505 4528 4531 4561 4589 4634 4694 4823 4828
MOVEI 1266 1268 1328 1369 1490 1626 1734 1747 1753 1755 1773 1779 1804 1830
1877 1950 2009 2160 2168 2171 2176 2186 2325 2338 2381 2487 2512 2528
2607 2612 2847 2978 3147 3167 3455 3467 3489 3534 3548 3550 3592 3594
3596 3684 3715 3775 3785 3841 3891 3905 3933 3943 3944 3981 3991 3996
4019 4042 4056 4067 4074 4079 4083 4084 4107 4127 4230 4232 4284 4286
4332 4363 4430 4438 4448 4463 4466 4485 4495 4498 4523 4530 4533 4553
4571 4573 4645 4666 4669 4674 4677 4680 4688 4710 4718 4725 4743 4747
4754 4774 4787 4796
MOVEM 1267 1269 1298 1316 1320 1324 1326 1370 1391 1397 1407 1409 1422 1440
1442 1486 1507 1627 1675 1676 1677 1678 1691 1717 1718 1719 1778 1803
1828 1838 1857 1864 1878 1941 1951 2141 2142 2143 2144 2145 2146 2147
2150 2152 2158 2219 2299 2310 2322 2333 2335 2337 2339 2340 2341 2342
2343 2344 2345 2346 2360 2362 2364 2382 2423 2499 2502 2525 2556 2570
2574 2578 2597 2598 2599 2608 2698 2708 2727 2746 2747 2748 2749 2750
2848 2849 2904 2905 2946 3024 3028 3055 3104 3128 3142 3238 3345 3357
3368 3410 3416 3476 3513 3535 3551 3552 3598 3599 3600 3651 3712 3713 SEQ 0208
3768 3776 3780 3786 3835 3836 3837 3838 3839 3851 3852 3853 3854 3855
4018 4020 4052 4055 4071 4106 4161 4162 4199 4206 4235 4338 4342 4373
4374 4375 4507 4643
MOVN 3646 3985 4129 4361 4536 4827
MOVNI 3767
MOVS 1997 2278 2285
MOVSI 1392 2263 2332 2494 2501 2520 2726
MOVSS 2101
NOSYM 23
OPDEF 92 93 95 96 98 99 101 102 104 105 107 109 111 113
115 117 119 120 122 124 126 128 200 201 202 203 204 205
206 207 213 219 220 228 229 230 231 232 233 234 235 236
237 238 241 242 243 244 245 246 247 248 249 250 251 252
253 254 255 256 257 258 259 260 261 262 263 264 265 266
267 268 269 270 271 272 273 274 275 276 277 278 279 280
281 282 283 284 285 286 287 288 289 290 291 292 293 294
295 297 314 319 320 324 325 326 332 333 339 340 341 342
343 344 345 351 352 359 360 361 362 372 373 374 375 376
798 799 800 801 802 804 805 806 807 808 810 811 812 813
814 815 816 818 819 820 821 822 823 824 829 830 831 832
833 834 835 836 837 838 839 840
OR 2422 2970 3107 3179 3241 3567 4650
POINT 2756 3714 3779 4205 4218 4244 4258 4505 4528 4538 4541 4544 4576 4589
4627 4634
POP 203
POPJ 201
PUSH 202 1329 1330 1491 2161
PUSHJ 107 109 111 113 115 117 119 120 122 124 126 128 200
ROT 1770 3863 4064
ROTC 3937 4068 4111
SALL 1470 1500 1726 1768 1799 1824 2078 2157 2182 2192 2231 2307 2321 2351
2432 2975 3065 3086 3161
SETCMM 4288 4609
SETO 2011 2909 2986 3921 3969 3995
SETOB 2976
SETOM 1270 1275 1301 1338 1348 1364 1366 1485 1641 1692 1763 1784 1809 1892
1937 1938 1945 1994 2365 2579 2582 2801 3068 3069 3283 3626 3672 3677
3766 3798 3799 3803 3834 3840 4085 4086 4104 4124 4236 4292 4740
SETZ 2013 2165 2831 2923 2979 3168 3389 3925 3936 3973 3987 3992 4110 4202
4446 4471 4506 4525 4631 4644
SETZB 2751 2996 3602 3988 4590
SETZM 1274 1276 1277 1304 1306 1321 1322 1349 1350 1351 1365 1410 1513 1596
1622 1651 1697 1698 1723 1782 1807 1900 1930 1931 1932 1942 1984 2002
2264 2266 2281 2435 2436 2439 2481 2530 2551 2710 2773 2850 2918 2930
3066 3116 3276 3277 3278 3279 3280 3294 3306 3488 3516 3603 3604 3605
3606 3685 3696 3697 3759 3760 3761 3762 3763 3764 3765 3769 3770 3771
3772 3773 3778 3800 3804 3817 3824 3861 4080 4167 4174 4177 4200 4247
4330 4331 4687 4702 4708 4717 4722 4729 4745 4786 4822
SIXBIT 47 48 1081 1082 1090 1091 1224 1249 1472 1492 1510 1729 1733 1736
1747 1753 1755 1758 1779 1804 1830 1849 1925 2033 2057 2082 2088 2099
2104 2109 2114 2122 2133 2162 2168 2171 2176 2186 2196 2280 2292 2313
2325 2442 2585 2990 2991 2994 3033 3080 3094 3098 3119 3124 3190 3191
3192 3193 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3451 SEQ 0209
3459 3463 3556 4825
SKIPE 1307 1345 1367 1371 1375 1420 1483 1501 1694 1740 1921 1947 1968 2194
2457 2534 2536 2810 3048 3078 3088 3132 3326 3371 3376 3443 3446 3645
3670 3686 3789 3831 4179 4189 4260 4701 4738
SKIPG 1591 4215 4378 4782
SKIPGE 1724 2440 2998 3053 3076 3090 3787
SKIPL 1652 1915 2040 2062 2079 2980 3536 3805 4592 4703
SKIPLE 3857 4224
SKIPN 1305 1389 1394 1705 1727 1831 1890 1970 1988 2015 2017 2258 2388 2391
2447 2485 2489 2496 2503 2754 2819 2841 2906 2951 2985 2989 3050 3092
3219 4022 4072 4076 4116 4148 4172 4212 4298 4302 4309 4314
SOJA 2568 2575 2690
SOJG 4001 4366 4651
SOJGE 2517 4758
SOJL 2794 2858 4151
SOJLE 3412
SOJN 3692 3701 3948 4065 4070 4114 4474
SOS 2037 2059 2204 2208 2434 4139 4358
SOSLE 1667
SUB 1655 2784 2843 3008 3218
SUBI 1439 1459 1477 1646 1702 2552 2559 2635 2673 2776 2780 3512 3629 4359
SUBTTL 24 129 164 366 404 864 1192 1400 1605 1927 1980 2025 2076 2126
2427 2463 3041 3255 3539 3585 3705 3743 4155 4388 4860
TDNE 3688
TDO 1395 2497 2523
TITLE 12
TLNE 1362 1453 1571 1578 1581 1584 1720 1745 1845 1860 1907 2043 2438 2540
2752 2963 3071 3074 3282 4182 4209
TLNN 1303 1451 1650 1710 1881 1899 1967 1971 2065 2392 2490 2952 3518 3528
3808
TLO 2811
TLZ 2917 2965 4030
TRC 3731
TRNE 1524 1944 2371 2373 2649 2786 2966 2967 3351 3363 3732 4465 4532 4661
TRNN 2369 2410 3291 3303
TRO 1390 1977 2617 2721 2723 2791 2793 2855 2857 3344 3348 3356 3360 4815
TRZ 1953 1956 1976 2618 2830 3027 4025
VAR 5130
XCT 1421 1444 1480 1502 1695 1741 1866 1922 2175 2184 2212 2283 2288 3444
3447 3623 3628 3636
XLIST 6 364 402 995
XOR 1834
Z 5118 5119