IDENT DSDI,I
ABS
SST
SYSCOM B1
ENTRY DSDI
ENTRY MFL=
ENTRY SSJ=
NOREF .BI,.OW,.NW
*COMMENT DSDI - DEAD START DUMP INTERPRETER.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
TITLE DSDI - EXPRESS DEAD START DUMP INTERPRETER.
DSDI SPACE 4,10
*** DSDI - EXPRESS DEAD START DUMP INTERPRETER.
*
* J.E. LAKE 75/01/31.
* J.R. HILDEBRAND 75/07/15.
* M.A. DOLCE 81/12/01.
DSDI SPACE 4,10
*** *DSDI* READS AN EXPRESS DEADSTART DUMP TAPE AND FORMATS
* SELECTED PORTIONS FOR LISTING. THE OUTPUT FORMAT IS
* CONTROLLED BY DIRECTIVES READ FROM A DIRECTIVE INPUT FILE.
SPACE 4,10
*** COMMAND FORMAT.
*
* DSDI(P1,P2,...,PN)
*
* WHERE PN MAY BE ANY OF THE FOLLOWING-
*
* I OMITTED READ DIRECTIVES FROM FILE *INPUT*.
* I=NAME READ DIRECTIVES FROM FILE *NAME*.
*
* F OMITTED READ EXPRESS DUMP FROM FILE *DUMP*.
* F=NAME READ EXPRESS DUMP FROM FILE *NAME*.
*
* B OMITTED NO BML FILE IS CREATED.
* B=NAME BML MAINTENANCE REGISTER MESSAGES ARE
* ON FILE *NAME*.
*
* L OMITTED LISTING IS ON FILE *OUTPUT*.
* L=NAME LISTING IS ON FILE *NAME*.
*
* NR OMITTED DUMP FILE IS REWOUND BEFORE PROCESSING.
* NR DUMP FILE IS NOT REWOUND.
*
* PD OMITTED PRINT DENSITY IS 6 LINES PER INCH.
* PD PRINT DENSITY IS 8 LINES PER INCH.
* PD=N PRINT DENSITY IS N LINES PER INCH WHERE N
* MAY BE 3, 4, 6 OR 8.
*
* D D IF THE DUMP FILE IS NOT IN RANDOM
* FORMAT ON MASS STORAGE, IT IS COPIED
* TO A SCRATCH FILE WITH A RANDOM DIR-
* ECTORY. THE SCRATCH FILE IS THEN
* RENAMED WITH THE NAME OF THE ORIGINAL
* DUMP FILE AND THE ORIGINAL FILE IS
* RETURNED.
* D=NAME PROCESSING IS IDENTICAL EXCEPT THAT THE
* RANDOM DUMP FILE IS WRITTEN TO FILE
* *NAME*, AND THE ORIGINAL DUMP FILE IS NOT
* RETURNED.
*
* DMB NEEDED IF FILE FROM THE *DMB* OR *LOADBC*
* UTILITY IS TO BE ANALYZED. (SEE NOTE)
*
* FULL NEEDED IF *NOS V/E* AREA OF MEMORY
* IS TO BE ANALYZED. (SEE NOTE)
*
* P USE LOW CORE POINTERS FROM RUNNING SYSTEM
* RATHER THAN THOSE IN DUMP FILE.
*
* Z DIRECTIVES ARE ONLY ON THE COMMAND.
* THIS OVERRIDES THE *I* PARAMETER IF
* SPECIFIED. THE COMMAND FORMAT IS -
*
* DSDI(...)TDDDDTDDDDTDDDD...
*
* *T* IS THE DIRECTIVE SEPERATOR. IT IS THE
* FIRST CHARACTER FOLLOWING THE COMMAND
* TERMINATOR AND MAY BE ANY CHARACTER THAT
* WILL NOT BE USED IN A DIRECTIVE.
* *DDDD* REPRESENTS ANY LEGAL DSDI DIRECTIVE.
*
* NOTE ON THE *DMB* PARAMETER-
* *DSDI* MAY BE USED TO ANALYZE A FILE PRODUCED BY THE
* *DMB* OR *LOADBC* UTILITY WHEN THIS PARAMETER IS PRESENT.
*
* ONLY THE *BCDUMP* DIRECTIVE CAN BE USED TO ANALYZE
* THE CONTROLWARE DUMP FILE FROM *LOADBC*.
*
* TO ANALYZE THE FILE FROM THE *DMB* UTILITY, USE
* DIRECTIVES AS THOUGH THE JOB HAD BEEN RUNNING AT
* CONTROL POINT ONE. SINCE *DMB* DOES NOT CARRY ALL
* SYSTEM INFORMATION, ONLY THE EXCHANGE PACKAGE,
* THE FIELD LENGTH OF THE DUMPED CONTROL POINT AND DUMPED
* USER EXTENDED MEMORY ARE AVAILABLE. USE THE FOLLOWING
* DIRECTIVES-
* CP,1 TO DUMP EXCHANGE PACKAGE
* RAC,1/C,FWA,LWA TO DUMP CM IN *C* FORMAT
* RAC,1/D,FWA,LWA TO DUMP CM IN *D* FORMAT
* RA,0/EC/C,FWA,LWA DUMPS EXTENDED MEMORY IN *C* FORMAT
* RA,0/EC/D,FWA,LWA DUMPS EXTENDED MEMORY IN *D* FORMAT
*
* NOTE ON THE *FULL* PARAMETER-
* *FULL* MUST BE PRESENT IN ORDER TO PROCESS DUMP RECORDS
* BEYOND THE *NOS* PORTION OF MEMORY FROM 180-CLASS MACHINES.
* BESIDES THE *NOS V/E* PORTION OF MEMORY, THIS ALSO INCLUDES
* EXTERNAL EXTENDED MEMORY (ESM OR *STORNET*) AND BUFFER
* CONTROLLER DUMP RECORDS.
SPACE 4,10
*** ERROR PROCESSING.
*
* ARITHMETIC (RANGE) ERRORS ARE INTERCEPTED
* BY *REPRIEVE* AND JOB EXECUTION IS RESUMED
* AT *ERR19*.
DSDI SPACE 4,10
*** DAYFILE MESSAGES.
*
* * B PARAMETER NOT ALLOWED WITH DMB DUMP FILE.*
* IF THE DUMP FILE TO BE ANALYZED IS FROM THE
* *DMB* UTILITY, A BML FILE CANNOT BE CREATED.
*
* * CM RECORD NOT FOUND.*
* CENTRAL MEMORY RECORD NOT FOUND IN DUMP FILE.
*
* * DIRECTORY TABLE BAD.*
* DIRECTORY TABLE ON RANDOM FILE NOT CORRECT LENGTH.
*
* * DSDI ARGUMENT ERROR.*
* AN UNKNOWN KEYWORD WAS ENCOUNTERED.
*
* * DSDI ERROR LIMIT EXCEEDED.*
* TOO MANY ERRORS WERE DETECTED.
*
* * EXPRESS DUMP COMPLETE (FL USED XXXXXXB)*
* DUMP COMPLETED NORMALLY.
*
* * MAINTENANCE REGISTER RECORD NOT FOUND.*
* MAINTENANCE REGISTER RECORD NOT FOUND IN DUMP FILE.
*
* * NO ERRORS REPORTED IN MAINTENANCE REGISTERS.*
* NO BML MESSAGES WERE WRITTEN TO THE BML MAINENANCE
* REGISTER MESSAGE FILE BECAUSE NO ERRORS WERE
* REPORTED IN THE STATUS SUMMARY REGISTERS.
*
* * WARNING - INCOMPLETE DUMP FILE.*
* AN UNEXPECTED EOF WAS DETECTED WHILE COPYING
* THE EDD FILE TO A RANDOM FILE DURING INITIALIZATION.
* PROCESSING WILL CONTINUE USING THE DATA COPIED SO FAR.
DSDI SPACE 4,10
*** ERROR MESSAGES.
*
* *ALTERNATE FILE ACTIVE*
* ALTERNATE FILE WAS ALREADY BEING PROCESSED.
*
* *ALTERNATE OUTPUT TO TERMINAL INCORRECT*
* ALTERNATE FILE WAS SPECIFIED TO TERMINAL.
*
* *BAD SYSTEM POINTER*
* A BAD SYSTEM POINTER WAS DETECTED IN DUMP FILE.
*
* *DIRECTIVE NOT MEANINGFUL.*
* THE *MPP.* DIRECTIVE WAS ENTERED WHEN ONLY 10 PPU-S
* EXIST OR WHEN THE MACHINE IS A CYBER 170 WITH LESS
* THAN 20 PPU-S, THE *MPP,N1.* DIRECTIVE WAS ENTERED
* WITH N1=0, THE *PMS* DIRECTIVE WAS ENTERED ON A
* NON-CYBER 170, OR THE VALUE N1 ON THE *PMS,N1.*
* DIRECTIVE WAS THE SAME AS THE CURRENT VALUE OF THE
* SELECT SWITCHES IN THE S/C REGISTER.
*
* *DIRECTIVE PARAMETER ERROR*
* AN ERROR WAS DETECTED IN A DIRECTIVE PARAMETER.
*
* *DIRECTIVE RESTRICTED TO PRINTER OUTPUT*
* A DIRECTIVE THAT IS RESTRICTED TO PRINTER OUTPUT WAS
* SPECIFIED.
*
* *DIRECTIVE RESTRICTED TO TERMINAL OUTPUT*
* A DIRECTIVE THAT IS RESTRICTED TO TERMINAL OUTPUT WAS
* SPECIFIED.
*
* *DIRECTIVE SHOULD HAVE NO PARAMETERS.*
* NO PARAMETER VALUES ARE USED BY THE
* INDICATED DIRECTIVE.
*
* * DMB FILE FORMAT ERROR.*
* THE FILE BEING ANALYZED WITH THE *DMB* PARAMETER
* PRESENT IS NOT IN THE CORRECT FORMAT.
*
* *EXTENDED MEMORY RECORD NOT FOUND*
* EXTENDED CORE STORAGE RECORD NOT FOUND IN DUMP FILE.
*
* *HARDWARE REGISTERS NOT FOUND*
* HARDWARE REGISTERS RECORD NOT FOUND IN DUMP FILE.
*
* *INCORRECT CONTROL POINT NUMBER*
* SPECIFIED CONTROL POINT NUMBER WAS GREATER THAN
* SYSTEM CONTROL POINT NUMBER, OR THE NUMERIC FORMAT
* WAS INCORRECT.
*
* *INCORRECT FILE NAME*
* AN INCORRECT FILE NAME WAS SPECIFIED.
*
* *INCORRECT PRINT DENSITY SELECTION*
* AN INCORRECT PRINT DENSITY WAS SPECIFIED OR THE SYSTEM
* VALUE FOR LINES PER PAGE IS SO SMALL THAT IT CAUSES
* THE SPECIFIED DENSITY TO BE UNUSABLE.
*
* *INCORRECT PRINT OPTION SELECTION*
* AN INCORRECT PRINT OPTION WAS SPECIFIED.
*
* *INSUFFICIENT NFL SPACE.*
* CONTROL POINT BEING DUMPED WITH *CP* DIRECTIVE
* HAS A NEGATIVE FIELD LENGTH OF LESS THAN THE
* DEFAULT VALUE.
*
* *INCORRECT DISK BUFFER NUMBER.*
* THE DISK BUFFER NUMBER ON THE DIRECTIVE
* WAS GREATER THAN THAT OF THE LAST DISK BUFFER
* WITH THE SPECIFIED MACHINE ID.
*
* *INCORRECT MACHINE ID.*
* THE MACHINE ID USED TO SEARCH THE I/O
* BUFFER DEFINITION TABLE IN EXTENDED MEMORY
* WAS NOT FOUND.
*
* *NO ACTIVE DISK BUFFERS.*
* NO DISK BUFFERS IN EXTENDED MEMORY HAVE NONZERO
* ACTIVITY COUNTS IN THEIR CORRESPONDING CONTROL
* BUFFER TABLE ENTRIES.
*
* *NO BUFFERED DEVICES DEFINED.*
* DISK BUFFERS ARE NOT DEFINED ON THE DUMP FILE.
*
* *PAGE DESCRIPTOR ENTRY NOT FOUND.*
* THE CYBER 170-8XX PAGE DESCRIPTOR ENTRY FOR A CM
* ADDRESS WAS NOT FOUND.
*
* *PARAMETER CHARACTER COUNT EXCEEDED.*
* MORE THAN TEN CHARACTERS WERE USED WITH ONE PARAMETER.
*
* *PPU NOT FOUND*
* REQUESTED PPU RECORD NOT FOUND IN DUMP FILE.
*
* * PVA WITH RING = 0.*
* A CM ADDRESS FOR A CYBER 170-8XX HAS AN INCORRECT RING
* VALUE. THE VALUE MUST BE IN THE RANGE OF 1 TO 15.
*
* *RECORD NOT FOUND*
* SPECIFIED RECORD NAME NOT FOUND IN SPECIFIED FILE.
*
* *REQUESTED MEMORY NOT FOUND*
* REQUESTED MEMORY WAS NOT FOUND IN DUMP FILE.
*
* *RESIDENT CENTRAL LIBRARY EMPTY.*
* NO PROGRAMS WERE FOUND IN THE RESIDENT CENTRAL
* LIBRARY IN THE DUMP FILE.
*
* * SEGMENT MISSING.*
* THE SEGMENT ID PART OF A CYBER 170-8XX ADDRESS IS
* INCORRECT OR THE SEGMENT CANNOT BE FOUND IN THE
* SEGMENT TABLE.
*
* *SELECTED DEVICE NOT MASS STORAGE.*
* AN EST ORDINAL SPECIFIED WITH THE *MST*
* DIRECTIVE WAS NOT THAT OF A MASS STORAGE DEVICE.
*
* *SELECTED ENTRY BEYOND TABLE BOUNDARY.*
* THE ENTRY NUMBER SELECTED TO BE DUMPED FROM
* THE DESIRED BUFFERED DEVICE TABLE WAS
* GREATER THAN THAT OF THE LAST TABLE ENTRY.
*
* *STATUS/CONTROL REGISTERS NOT FOUND*
* STATUS/CONTROL REGISTERS RECORD NOT FOUND IN DUMP
* FILE.
*
* *SUBSYSTEM NOT FOUND*
* A SUBSYSTEM WAS NOT FOUND IN DUMP FILE.
*
* *TAPE MUST BE REQUESTED AS LABELED*
* AN *EDD* TAPE WAS REQUESTED AS UNLABELED.
*
* *UNRECOGNIZABLE DIRECTIVE*
* AN UNRECOGNIZABLE DIRECTIVE WAS ENCOUNTERED.
*
* *USER EXTENDED MEMORY NOT DEFINED*
* NO USER EXTENDED MEMORY SPACE WAS DEFINED IN THE CMR
* WORD *ECRL*.
*
* *WORD ADDRESS NOT FOUND*
* WORD ADDRESS SPECIFIED NOT FOUND IN SPECIFIED RECORD
* ON DUMP FILE.
*
* *PROBE TABLE NOT AVAILABLE.*
* THE PROBE TABLE IS IN AN INDETERMINANT STATE BECAUSE
* IT WAS INTERLOCKED AT THE TIME OF THE DUMP.
*
* *PROBE NOT ENABLED.*
* PROBE WAS NOT ENABLED AT DEADSTART TIME.
TITLE ASSEMBLY CONSTANTS.
SPACE 4
**** ASSEMBLY CONSTANTS.
TMIN EQU 16000B MINIMUM TABLE SPACE TO RUN
IBUFL EQU 200B DIRECTIVE INPUT FILE BUFFER LENGTH
OBUFL EQU 1001B OUTPUT FILE BUFFER LENGTH
ABUFL EQU 1001B ALTERNATE OUTPUT FILE BUFFER LENGTH
FBUFL EQU 3007B DUMP INPUT FILE BUFFER LENGTH
JBUFL EQU 200B ALTERNATE INPUT FILE BUFFER LENGTH
SBUFL EQU 1000B BINARY SCRATCH FILE BUFFER LENGTH
BBUFL EQU 1001B BML FILE BUFFER LENGTH
CPLEN EQU 200B LENGTH OF EACH CONTROL POINT AREA
LRCL EQU 100B NUMBER OF RCL ENTRIES
LRPL EQU 400B NUMBER OF RPL ENTRIES
NERR EQU 50 NUMBER OF ERRORS ALLOWED
MAXP EQU 20 MAXIMUM NUMBER OF PPU-S
DMBCM EQU 1000B CMR SIZE IN WORDS FOR DMB MODE
****
SPACE 4,10
* *DSP* FLAG BIT EQUIVALENCES.
FRCS EQU 2 ROUTE TO CENTRAL SITE
FRTI EQU 4 TID OR FM/UN
FRDC EQU 20B DISPOSITION CODE
TITLE SUB-SYSTEM COMMON DECKS.
ORG 110B
SPACE 4
** SYMBOLIC COMMON DECKS.
*CALL COMCCMD
*CALL COMCMAC
*CALL COMCMTM
QUAL BIO
BASE M
*CALL COMSBIO
BASE *
QUAL *
QUAL DFT
*CALL COMSDFT
QUAL *
QUAL$S EQU 0
*CALL COMSDFS
QUAL HIO
*CALL,COMSHIO
QUAL *
QUAL IOU
*CALL COMSIOU
QUAL *
*CALL,COMSMMF
QUAL VE
*CALL COMSDST
QUAL *
*CALL COMSMSC
*CALL COMSMTR
QUAL MSP
*CALL COMSMSP
QUAL *
QUAL MTX
*CALL COMSMTX
QUAL *
QUAL REM
*CALL COMSREM
QUAL *
*CALL COMSSCR
*CALL,COMSSSD
QUAL SSJ
*CALL COMSSSJ
QUAL *
QUAL 1DS
*CALL COMS1DS
QUAL *
QUAL COMS176
*CALL COMS176
QUAL *
QUAL DSL MUST FOLLOW *COMSMTX* CALL
*CALL COMSDSL
QUAL *
SPACE 4,10
** COMMON DECK EQUIVALENCES.
DSDL EQU /1DS/DSDL
TITLE MACRO DEFINITIONS.
CARD SPACE 4,6
** CARD - GENERATE DIRECTIVE PROCESSOR TABLE ENTRY.
*
* CARD R,NAME,ERR
* R = RESTRICTIONS - *P* IF ONLY FOR PRINTER OUTPUT.
* *T* IF ONLY FOR TERMINAL.
* NAME = DIRECTIVE NAME.
* ERR = ERROR RETURN ADDRESS.
NOREF /DIRECT/.A
CARD MACRO R,NAME,ERR
.A SET 0
IFC EQ,*R*P*,1
.A SET 40B
IFC EQ,*R*T*,1
.A SET 20B
VFD 6/.A,18/0,18/ERR,18/NAME
ENDM
FIELD SPACE 4,20
** FIELD - GENERATE TABLE FIELD DESCRIPTOR.
*
* DESCRIPTOR FORMAT -
*
*T WORD0 6/ IND,18/ DIGIT WIDTH,18/ FIRST DIGIT,18/ WORD ORDINAL
*T WORD1 60/ DISPLAY CODE DESCRIPTION OF FIELD
*T WORD2 60/ *
*T WORD3 60/ *
*
* FIELD O,( DESCRIPTION ),F,W,I
*
* *DESCRIPTION* MUST BE 27 CHARACTERS LONG.
* O = WORD ORDINAL.
* F = FIRST BIT NUMBER (LEFTMOST BIT IS 59).
* W = FIELD WIDTH IN BITS.
* I - NON-BLANK IF WORD ORDINAL CONTAINS A POINTER TO
* WORD CONTAINING WORD ORDINAL IN BITS 17-0.
*
* FIELD BOUNDARIES MUST BE ON 3 BIT DIGIT
* BOUNDARIES.
NOREF .A,.B
FIELD MACRO O,D,F,W,I
.A SET 59D-F
ERRNZ .A-.A/3*3 STARTING BIT NOT ON 3-BIT BOUNDARY
ERRNZ W-W/3*3 DIGIT WIDTH NOT ON 3-BIT BOUNDARY
IFC NE,$I$$,2
.B SET 1
SKIP 1
.B SET 0
.C MICRO 1,1,$O$
IFC LT,$".C"$0$,1
SKIP 5
IFC GT,$".C"$9$,1
SKIP 3
VFD 6/.B,18/W/3,18/.A/3,18/O_B
.BA MICRO 1,, B
SKIP 2
VFD 6/.B,18/W/3,18/.A/3,18/O
.BA MICRO 1,,
DATA 27H_D
.1 IFC EQ,/I//
* VALIDATE WORD AND BIT PARAMETERS.
.NW SET O".BA"
.BI IFEQ F,59D
ERRNZ .NW-.OW-1 SEQUENCE ERROR - WORD O
ERRNZ .BI SEQUENCE ERROR - WORD O, BIT F
.BI ELSE
ERRNZ F-.BI SEQUENCE ERROR - WORD O, BIT F
.BI ENDIF
.OW SET .NW
.BI MAX F-W,0
.1 ENDIF
ENDM
GETCM SPACE 4,10
** GETCM - READ 60-BIT CM WORDS FROM DUMP FILE.
*
* GETCM FWA,N
*
* IF *FWA,N* IS MISSING, ONE WORD IS READ TO X6.
*
* CALLS RCM.
GETCM MACRO FWA,N
.A IFC NE,*FWA**
R= B6,FWA
R= B7,N
.A ELSE
SB6 B0
.A ENDIF
RJ RCM READ CM
ENDM
PRINT SPACE 4,8
** PRINT - PRINT LINE.
*
* PRINT FWA,N
*
* IF *N* IS MISSING, LINE IS IN *C* FORMAT.
* IF *N* IS PRESENT, LINE IS IN *S* FORMAT.
*
* CALLS WOF.
PRINT MACRO FWA,N
R= X1,FWA
IFC NE,*N**,1
R= X2,N
IFC EQ,*N**,1
SX2 B0
RJ WOF
ENDM
RFDSC SPACE 4,15
** RFDSC - REGISTER FILE DESCRIPTOR BUILDER.
*
* DSC2 RFDSC RN,DSC1
*
* RN = REGISTER NUMBER.
* DSC1 = LARGE DESCRIPTOR.
* DSC2 = TWO CHARACTER REGISTER NAME.
*
* CREATES A WORD OF THE FORM:
*
* VFD 9/RN,17/0,17/2RDSC2,17/DSC1
MACRO RFDSC,D2,RN,D1
VFD 9/0#_RN,17/0
.A IFC NE,$D2$$
VFD 17/2R_D2
.A ELSE
VFD 17/0
.A ENDIF
.B IFC NE,$D1$$
VFD 17/=C*D1*
.B ELSE
VFD 17/0
.B ENDIF
ENDM
SCLASS SPACE 4,15
** SCLASS - DEFINE SERVICE CLASS TABLE.
*
* SCLASS NM,MN,DF,ST,TX
*
* ENTRY *NM* = SERVICE CLASS NAME.
* *MN* = TWO CHARACTER MNEMONIC.
* *DF* = DAYFILE MESSAGE CHARACTER.
* *ST* = SHORT TEXT FOR *QFTLIST*.
* *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
*
* NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
* THIS MACRO.
PURGMAC SCLASS
SCLASS MACRO NM,MN,DF,ST,TX
.SCL RMT
DATA 10L_NM TX
.SCL RMT
SCLASS ENDM
SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
*CALL COMSSCD
STBL SPACE 4,10
** STBL - SET TABLE POINTERS.
*
* STBL TBL
*
* TBL = TABLE NAME.
*
* EXIT (B2) = TABLE POINTER.
* (X3) = SUBTITLE.
* (X6) = TABLE DESCRIPTOR POINTER.
* (X7) = TABLE ENTRY LENGTH.
STBL MACRO TBL
R= B2,TBL_P
SA3 =10H_TBL 0000
R= X7,TBL_E
.A MICRO 1,2,$TBL$
R= X6,TF_".A"
ENDM
S2BIT SPACE 4,10
** S2BIT - CREATE BIT DEFINITIONS FOR THE CYBER 170-8X5.
*
* S2BIT POS,DESC,FLAGS
*
* POS = BIT POSITION TO BE DESCRIBED (OCTAL).
* DESC = DESCRIPTION OF THE BIT.
* FLAGS = MACHINES ON WHICH THE DESCRIPTION IS VALID.
*
* CREATES A WORD OF THE FORM
*
* VFD 9/POS,17/FLAGS,17/0,17/=C*DESC*
S2BIT MACRO POS,DESC,F
LOCAL FLG
FLG EQU F 77B
VFD 9/POS,17/FLG,34/=C*DESC*
ENDM
SXREG SPACE 4,15
** SXREG - CREATE MAINTENANCE REGISTER TABLE ENTRYS FOR THE
* C170-SX MAINFRAMES.
*
* SXREG REG,DEFMSG,BITDEF,FLAGS
*
* REG = MAINTENANCE REGISTER NUMBER.
* DEFMSG = DESCRIPTION OF THE MAINTENANCE REGISTER.
* BITDEF = LIST OF BIT DEFINITIONS FOR REGISTER.
* FLAGS = LIST OF VALID PROCESSORS.
*
* CREATES A WORD OF THE FORM:
*
* VFD 9/REG,17/FLAGS,17/BITDEF,17/DEFMSG
SXREG MACRO R,D,B,F
LOCAL FLG
FLG EQU F 77B
VFD 9//IOU/_R,17/FLG
.A IFC NE,$B$$
VFD 17/B
.A ELSE
VFD 17/0
.A ENDIF
.B IFC NE,$D$$
VFD 17/=C*D*
.B ELSE
VFD 17/0
.B ENDIF
ENDM
S1 EQU 1S1
S2 EQU 1S2
I2 EQU S2
S3 EQU 1S3
THETA EQU 1S4
I4A EQU 1S4 MODEL 40 IOU
I4S EQU 1S5 MODEL 42 IOU
TITLE FETS AND CONTROL STORAGE.
ORG 110B
FETS SPACE 4
** FILE ENVIRONMENT TABLES.
I BSS 0 DIRECTIVE INPUT FILE
INPUT FILEC IBUF,IBUFL,(FET=6)
J BSS 0 ALTERNATE INPUT FILE
ALTINP FILEC JBUF,JBUFL,(FET=6)
F BSS 0 BINARY INPUT FILE
DUMP FILEB FBUF,FBUFL,(FET=7)
F1 BSS 0 REFORMATTING SCRATCH FILE
ZZZZZG1 FILEB SBUF,SBUFL,(FET=8)
L BSS 0 LISTING OUTPUT FILE
OUTPUT FILEC OBUF,OBUFL,(FET=6)
A BSS 0 ALTERNATE LIST FILE
ALTRNT FILEC ABUF,ABUFL,(FET=8)
S BSS 0 BINARY SCRATCH FILE
ZZZZZG0 RFILEB SBUF,SBUFL,(FET=8)
B BSS 0 BML MAINTENANCE REGISTER FILE
BML FILEB BBUF,BBUFL,(FET=8)
BFMB SPACE 4,30
** BFMB - BML FILE MESSAGE BLOCK.
*
* NOTE - REVISION C OF THE BML INTERFACE SPECIFICATIONS
* WAS FOLLOWED.
*
*T,BFMB 1/P, 17/ 0, 18/ PMS, 6/ 0, 18/ CMS
*T 12/ CMS, 12/ 0, 36/ PDT
*T 60/ JOBID
*T 12/ MSGID, 12/ SYM, 6/ 0, 6/ 17B, 12/ 0, 12/ SEQ
*T 6/ M, 6/ D, 6/ 0, 6/ F, 36/ 0
*T 60/ DATA
*T 60/ DATA
*T 60/ DATA
*T 60/ DATA
*
* P = PARITY FLAG.
* PMS = PREVIOUS MESSAGE SIZE.
* CMS = CURRENT MESSAGE SIZE.
* PDT = PACKED DATE AND TIME.
* JOBID = JOB IDENTIFICATION.
* MSGID = MESSAGE IDENTIFICATION.
* SYM = SYMPTOM CODE.
* SEQ = DFT SEQUENCE NUMBER.
* M = MESSAGE CONTENT FLAGS.
* BIT 54 SET INDICATES SUPPORTIVE STATUS BUFFER DATA.
* BIT 55 SET INDICATES MODEL DEPENDENT BUFFER DATA.
* D = DFT REVISION LEVEL.
* F = FLAG FIELD.
* DATA = BML MAINTENANCE REGISTERS.
*
* NOTE - IF THE BLOCK LENGTH (*BFMBL*) CHANGES, *P*
* MAY NEED TO BE SET TO MAINTAIN ODD PARITY.
BFMB BSS 0 BML FILE MESSAGE BLOCK
VFD 1/0,17/0,18/0,6/0,18/BFMBL
VFD 12/BFMBL,12/0,36/0
VFD 60/10H SYS S.
VFD 12/HM0250,12/0,6/0,6/17B,12/0,12/0
VFD 6/0,6/0,6/0,6/4,36/0
BFHL EQU *-BFMB HEADER LENGTH
BFBD BSS 4 DATA BLOCK
BFBDL EQU *-BFBD DATA BLOCK LENGTH
BFMBL EQU *-BFMB-1 BML FILE MESSAGE BLOCK LENGTH
BFBDA BSS 48-4 ADDITIONAL MODEL DEPENDENT DATA BLOCK
BFBDAL EQU *-BFBD DATA BLOCK LENGTH
BFBI BSS 1 DATA BLOCK INDEX
SPACE 4,10
** REPRIEVE PARAMETER BLOCK.
SPACE 2,10
RPVB VFD 36/0,12/31B,12/0
VFD 30/0,30/PER
BSSZ 27B
CONTROL SPACE 4
** CONTROL STORAGE CELLS.
AC CON 0 ACTUAL NUMBER OF PPU-S IN SYSTEM
AF CON 0 ALTERNATE INPUT ACTIVE FLAG
AM CON 0 *ALLMEM* FLAG
AO CON 0 ADDRESS OFFSET
AP CON 0 ADVANCED PROCESSOR
BA CON 0 REFERENCE ADDRESS FOR DUMP
BD CON 0 BINARY DUMP MODE FLAG
BE CON 0 HIGH-SPEED DEVICE I/O TABLE ENTRY IN *BDT*
BF CON 0 BML MAINTENANCE REGISTER FILE NAME
BI CON 0 INDEX INTO UBUF
CE CON 0 CM EXTENSION ON MAINFRAME
CF CON 1 ZERO IF CYBER 176 MAINFRAME
CH CON 0 INPUT DIRECTIVE STRING BUFFER POINTER
CI CON 0 CENTRAL MEMORY BLOCK RANDOM INDEX
CL CON 0 CONTROL POINT DUMP LIST OPTIONS
CN CON 0 CONTROL POINT NUMBER UNDER ANALYSIS
CO DATA 0LXTAF DEFAULT LIST OPTIONS FOR CP/PCP DUMP
C4 CON 0 NUMBER OF CCP-S OR CCH-S
DA CON 0 FWA OF DISK BUFFER AREA
DP CON 0 NUMBER OF DIRECTIVES PROCESSED
DR CON 0 CONVERT DUMP INPUT FILE TO RANDOM FILE
EB CON 0 EMPTY BML FILE FLAG
EC CON 0 ERROR COUNTER
ED CON 0 *EDD* DUMP
EE CON 0 EXTENDED MEMORY SELECTION ERROR FLAG
EH CON 0,0 *EIC* RECORD HEADER + RANDOM INDEX
EI CON 0 *EI* RELATIVE ADDRESS FLAG
EM CON 0 EXTENDED MEMORY SHIFT COUNT
EQ CON 0 *EQDE* WORD FROM EST ENTRY
FI CON 0 POINTER FOR FNT SEARCH
FC CON 0 FL OF CONTROL POINT UNDER ANALYSIS
FM CON 0 CURRENT FIELD LENGTH
FN CON 0 INITIAL FIELD LENGTH
FW CON 0 FIRST WORD ADDRESS FOR DUMP
LW CON 0 LAST WORD ADDRESS+1 FOR DUMP
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
IC CON 0,0 *CPP* PROCESSING FLAG / *NPP*/*CPP* FLAG
ID CON 0 RECORD ID
IO CON 1 IOU TYPE (0 = I4A OR I4S IOU)
K4 CON 0 FLAG FOR CONTROLLER SIZE
MB CON 0 MEMORY BASE ADDRESS (FOR ECM)
ME CON 0 NUMBER OF MCT ENTRIES
MH CON 0,0 *MEM* RECORD HEADER + RANDOM INDEX
MI CON 0 MEMORY BLOCK RANDOM INDEX
MT CON 0 MEMORY TYPE (NON-ZERO = ESM)
NC CON 0 NUMBER OF CONTROL POINTS IN SYSTEM
NP CON 0 NUMBER OF PP COMMUNICATION AREAS IN SYSTEM
NR CON 0 NEXT RECORD POINTER
OP CON 0 PCPA OFFSET
PC CON 0 PP COMMUNICATION AREA POINTER
PF CON 0 LOW CORE POINTER FLAG
PI CON 0 SEARCH POINTER FOR PPU/CONTROL POINT DUMPS
PP CON 0 NUMBER OF PPU TO ANALYZE
PS CON 4096 PP MEMORY SIZE
RC CON 0 RA OF CONTROL POINT UNDER ANALYSIS
RI CON 0 RANDOM ADDRESS FOR RECORD BEING DUMPED
SSJ= EQU /SSJ/SSJP DEFINE *SSJ=* PRIVILEGES
UA CON 0 USER CONTROLLED REFERENCE ADDRESS
UE CON 0 USER EXTENDED MEMORY SHIFT COUNT
UI CON 0 USER CONTROLLED MEMORY BLOCK RANDOM INDEX
US DATA 10H 0000000 USER CONTROLLED SUBTITLE
DATA 10HCM
VE CON 0 *NOS V/E* MEMORY PRESENT
XB CON 0 MEMORY BOUNDS REAL BYTE ADDRESS
XH CON 0 MEMORY RECORD VALID FWA
XI CON 0 MEMORY RECORD RANDOM INDEX
XL CON 0 MEMORY RECORD VALID LWA+1
XM CON 0 MEMORY RECORD PAGE SIZE MASK
ZF CON 0 COMMAND DIRECTIVES FLAG
* OUTPUT LIST CONTROLS - ORDER MUST BE PRESERVED.
OF CON L LIST FILE FET POINTER
CC DATA 1R CARRIAGE CONTROL CHARACTER
EF CON 0 NO AUTO EJECT FLAG
LC CON 100 LINE NUMBER
PD CON LINP-3 NUMBER OF LINES PER PAGE
PN CON 1 PAGE NUMBER
TF CON 0 TERMINAL FLAG
LISTING SPACE 4
** LISTING TITLE LINES.
TITL BSS 0 LISTING TITLE LINE
DATA 10H1RA =
TITL1 DATA 50H
TITL2 DATA 10H
DATA 20H DSDI
DATE DATA 10H
TIMM DATA 10H
DATA 10H PAGE
PAGE DATA 10H
TITLL EQU *-TITL
SBTL BSS 0 LISTING SUBTITLE LINE
DATA 10H
SBTL1 DATA 10H
SBTL2 DATA 50H
DATA 30H
SBTL3 DATA 36C
DATA 2C
SBTLL EQU *-SBTL
SPACE 4,10
** CYBER 170-8X5 PROCESSOR POINTERS.
S2STL CON 0 SEGMENT TABLE LENGTH
S2STA CON 0 SEGMENT TABLE ADDRESS
S2PTA CON 0 PAGE TABLE ADDRESS
S2PTL CON 0 PAGE TABLE LENGTH
S2PSM CON 0 PAGE SIZE MASK
S2MPS CON 0 MONITOR PROCESS STATE REGISTER
S2JPS CON 0 JOB PROCESS STATE POINTER
S2LPS CON 0 LIVE PROCESSOR STATE ADDRESS
S2RMA CON 0 SAVED RMA
S2PVA CON 0 SAVED PVA
PTEVCUM CON 0 PAGE TABLE ENTRY (VALID, CONT, USED, MOD)
PTEPD CON 0 PAGE DESCRIPTOR
STSDE CON 0 SEGMENT TABLE DESCRIPTOR ENTRY
BRMA CON 0 BYTE REAL MEMORY ADDRESS
SPACE 4,10
** DUMP FILE RECORD NAMES.
.NPP DATA 0LPP00 C170 NORMAL PP MEMORY
.FPP DATA 0LFP00 FIRST LEVEL PP MEMORY
ERRNZ .NPP+1-.FPP CODE DEPENDS ON VALUE
.BCD VFD 12/0,12/0LBC,36/0 BUFFER CONTROLLER HEADER
.BCH VFD 12/0,24/0LCH00,24/0 BUFFER CONTROLLER MEMORY
.CCR DATA 0LCCR CIO CHANNEL REGISTERS
.CMM DATA 3LCM C170 CENTRAL MEMORY (60 BIT)
.CPP VFD 6/0,18/0LD00,36/0 CIO PP MEMORY
.CP0 VFD 12/0,24/0LCPU0,24/0 CPU HARDWARE EXCHANGE PACHAGE
.DFT DATA 0LDFT DFT BLOCK
.DSB DATA 0LDSB DUAL STATE BLOCK
.ECS DATA 0LECS EXTENDED CORE STORAGE
.EIB DATA 0LEIB ENVIRONMENTAL INTERFACE (OLD NAME)
.EIC DATA 0LEIC ENVIRONMENTAL INTERFACE
.ESM DATA 0LESM EXTENDED SEMI-CONDUCTOR MEMORY
.IMR DATA 0LIMR IOU MAINTENANCE REGISTERS
.IPP DATA 0LI00 C180 NORMAL PP MEMORY
.MEM DATA 0LMEM C180 CENTRAL MEMORY (64 BIT)
.MMR DATA 0LMMR MEMORY MAINTENANCE REGISTERS
.PCS DATA 0LPCS PROCESSOR CONTROL STORE
.PIS DATA 0LPIS C180-99X INSTRUCTION BUFFER STACK
.PMR DATA 0LPMR PROCESSOR MAINTENANCE REGISTERS
.POC DATA 0LPOC C180-99X PROCESSOR OPERAND CACHE
.PPM DATA 0LPPM C180-99X PROCESSOR PAGE MAP
.PRF DATA 0LPRF C180-99X PROCESSOR REGISTER FILE
.PRG DATA 0LPRG C180-99X PROCESSOR RGU REGISTERS
.PRH DATA 0LPRH C180-99X PROCESSOR HISTORY FILE
.PSM DATA 0LPSM C180-99X PROCESSOR SEGMENT MAP
.PSR DATA 0LPSR I4 IOU OPERATING REGISTERS
.PXP DATA 0LPXP PROCESSOR EXCHANGE PACKAGES
.SCR DATA 0LSCR C170 STATUS/CONTROL REGISTERS
.SC1 DATA 0LSC1 C170 S/C REGISTERS AFTER CLEAR
SPACE 4,10
** MISCELLANEOUS CONSTANTS.
K4BFL EQU 10000B 4K BUFFER CONTROLLER SIZE (4096D)
K8BFL EQU 20000B 8K BUFFER CONTROLLER SIZE (8192D)
K16BFL EQU 40000B 16K BUFFER CONTROLLER SIZE
KIBFL EQU 106000B 63X ADAPTOR SIZE
K4RBFL EQU K4BFL/40*40+40 4K BUFFER SIZE, ROUNDED UP
K4WBFL EQU K4RBFL/5*2 NUMBER OF WORDS TO CONTAIN *K4RBFL* BYTES
TITLE MANAGED TABLES.
TCMT SPACE 4,5
** TCMT - CENTRAL MEMORY TABLES.
* CONTAINS CM TABLES FROM LOCATION 0 THROUGH THE END OF THE
* SECDED ID TABLE AS DEFINED IN LOW CORE. LOW CORE MAY COME
* FROM THE DUMP FILE OR THE RUNNING SYSTEM DEPENDING UPON THE
* COMMAND *P* OPTION.
TCMT TABLE
TDIR SPACE 4,5
** TDIR - BINARY DUMP FILE RANDOM DIRECTORY.
* ENTRY 2 WORDS PER RECORD.
*
*T WORD0 60/FIRST WORD OF RECORD
*T WORD1 30/WORD COUNT,30/RANDOM ADDRESS
TDIR TABLE 2
SPACE 4,10
** TNFL - NEGATIVE FIELD LENGTH TABLE.
* CONTAINS THE NEGATIVE FL FOR THE CURRENT CONTROL POINT.
TNFL TABLE
TSCR SPACE 4,3
** TSCR - SCRATCH TABLE.
* USED TO HOLD VARIOUS TABLES AND BUFFERS FROM THE DUMP FILE
* DURING PROCESSING.
TSCR TABLE
TSC1 SPACE 4
** TSC1 - SCRATCH TABLE.
TSC1 TABLE
TITLE MAIN PROGRAM.
DSDI SPACE 4
** DSDI - MAIN PROGRAM.
DSDI SB1 1 (B1) = 1 THROUGHOUT PROGRAM
RJ PRS PRESET DSDI
RJ PBD PREPROCESS BINARY DUMP
RJ RBI RANDOMIZE BINARY INPUT
RJ PIO PRESET INPUT AND OUTPUT FILES
RJ CST CREATE SUBTITLE LINE
RJ RST READ SYSTEM TABLES
RJ SPP SET C180 PROCESSOR POINTERS
MESSAGE MSG1,1,R * PROCESSING INPUT DIRECTIVES.*
* PROCESS INPUT DIRECTIVE STATEMENTS. DIRECTIVE PROCESSORS ARE
* CALLED BY *CKC* AND EXIT TO *DSD1*.
DSD1 RJ RDC READ NEXT DIRECTIVE
NZ X1,DSD2 IF END OF DIRECTIVES
RJ RUC RESET USER SELECTED CONTROLS
BX6 X6-X6 CLEAR DUMP CONTROL BLOCK
SA6 CPRA FWA
SA6 A6+B1 LWA+1
SA6 A6+B1 CORE ADDRESS
SA6 A6+B1 SUPPRESS REPEAT DATA FLAG
SA6 A6+B1 FORMAT CODE
SA6 A6+B1 COLUMN LENGTH
SA6 CPRA+6 INVERTED ADDRESS
SA6 EI FORCED *EI* ADDRESSING
SA6 NR NEXT RECORD POINTER
SA6 IC *CPP* PROCESSING FLAG
SB2 DSDA DIRECTIVE PROCESSOR TABLE
RJ CKC CRACK AND PROCESS DIRECTIVE
JP ERR3 ERROR - UNRECOGNIZABLE DIRECTIVE
DSD2 RJ CBF CREATE BML MAINTENANCE REGISTER FILE
RJ COF COMPLETE OUTPUT FILES, RESET FL
MESSAGE MSG2,,R * EXPRESS DUMP COMPLETE (FL USED )*
SA1 DP
NZ X1,DSD3 IF DIRECTIVES PROCESSED
SA1 I CHECK INPUT FILE NAME
MX0 42
BX1 X0*X1
ZR X1,DSD3 IF *I=0* SPECIFIED
MESSAGE MSG3,,R * NO DIRECTIVES PROCESSED.*
DSD3 SA1 EB
ZR X1,DSD4 IF NOT EMPTY BML FILE
MESSAGE MSG4,,R NO ERRORS IN MAINTENANCE REGISTERS
DSD4 ENDRUN
DSDA BSS 0 CONTROL DIRECTIVE PROCESSOR TABLE
QUAL DIRECT
CARD P,ACCOUNT
CARD ,ALLMEM
CARD ,B
CARD P,AP,APR1
CARD P,BATCHIO
CARD P,BIO
CARD ,BCDUMP
CARD ,BUFF
CARD ,C
CARD ,CBT
CARD ,CCT
CARD ,CM
CARD ,CP,CPP1
CARD ,CPO
CARD P,CT
CARD ,D
CARD P,DAYFILE
CARD P,DB,DBR4
CARD ,DBW
CARD P,DDB
CARD ,DISPOSE
CARD P,DP
CARD P,E
CARD ,EC
CARD P,EICB
CARD P,EJ
CARD ,EJOFF
CARD ,EJON
CARD P,EJT
CARD P,EPB
CARD P,ERRLOG
CARD P,EST
CARD ,FMFREG
CARD P,FNT
CARD P,FOT
CARD ,FTT
CARD ,HAT
CARD P,IAF
CARD ,II
CARD ,IOUCR
CARD ,IOUMR
CARD P,JC
CARD P,LC
CARD P,LDIS
CARD P,LIDT
CARD ,LPVA
CARD P,MAG
CARD P,MAGNET
CARD P,MAINLOG
CARD ,MCT
CARD ,MEMMR
CARD ,MPP
CARD P,MST
CARD P,MTR
CARD P,MTRQU
CARD P,ODIS
CARD ,OUTPUT
CARD P,P
CARD ,PCP
CARD ,PD
CARD P,PF
CARD P,PLD
CARD ,PMS
CARD P,PO
CARD ,PP
CARD P,PROBE
CARD ,PROCA
CARD ,PROCW
CARD ,PROMR
CARD ,PROPM
CARD ,PRORF
CARD ,PROSM
CARD ,PROXP
CARD P,PST
CARD ,PUT
CARD P,PX
CARD ,Q
CARD P,QF
CARD P,QFT
CARD ,QOA
CARD ,QOD
CARD ,QXA
CARD ,QXD
CARD ,RA
CARD ,RAC
CARD P,RCL
CARD ,READ
CARD ,REWIND
CARD P,RHF
CARD P,RPL
CARD P,SAB
CARD P,SC
CARD P,SDA
CARD P,SECDED
CARD ,SETCPU
CARD ,SETIOU
CARD ,SETJPS
CARD ,SETRMA
CARD ,SETVEP
CARD P,SST
CARD ,TBDUMP
CARD ,TRACE
CARD ,UEC
CARD P,W
CARD P,XP
CARD ,Z
DATA 0
QUAL
DAYFILE SPACE 4
** DAYFILE MESSAGES.
MSG1 DATA 29C PROCESSING INPUT DIRECTIVES.
MSG2 DATA 30H EXPRESS DUMP COMPLETE (FL USE
MSG2A VFD 12/2LD
VFD 36/0 MEMORY USED
VFD 12/2LB)
DATA 0
MSG3 DATA C* NO DIRECTIVES PROCESSED.*
MSG4 DATA C* NO ERRORS REPORTED IN MAINTENANCE REGISTERS.*
MSG5 DATA C* WARNING - INCOMPLETE DUMP FILE.*
TITLE ERROR PROCESSORS.
ERRORS SPACE 4
** ERROR PROCESSORS.
ERR1 SX5 =C* DSDI ARGUMENT ERROR.*
EQ PFE PROCESS FATAL ERROR
ERR2 SX5 =C*STATUS/CONTROL REGISTERS NOT FOUND.*
EQ PNE1 PROCESS NON-FATAL ERROR
ERR3 SX5 =C*UNRECOGNIZABLE DIRECTIVE.*
EQ PNE PROCESS NON-FATAL ERROR
ERR4 SX5 =C* CM RECORD NOT FOUND.*
EQ PFE PROCESS FATAL ERROR
ERR5 SX5 =C*EXTENDED MEMORY RECORD NOT FOUND.*
EQ PNE1 PROCESS NON-FATAL ERROR
ERR6 SX5 =C*DIRECTIVE PARAMETER ERROR.*
EQ PNE PROCESS NON-FATAL ERROR
ERR7 SX5 =C*PPU NOT FOUND.*
EQ PNE1 PROCESS NON-FATAL ERROR
ERR8 SX5 =C*INCORRECT CONTROL POINT NUMBER.*
EQ PNE PROCESS NON-FATAL ERROR
ERR8.1 SX6 1 CHECK ERROR RETURN ADDRESS
SA6 ERRC
EQ ERR8 SET ERROR MESSAGE
ERR9 SX5 =C*INCORRECT PRINT DENSITY SELECTION.*
EQ PNE PROCESS NON-FATAL ERROR
ERR10 SX5 =C*SUBSYSTEM NOT FOUND.*
EQ PNE PROCESS NON-FATAL ERROR
ERR11 SX5 =C*ALTERNATE FILE ACTIVE.*
EQ PNE PROCESS NON-FATAL ERROR
ERR12 SX5 =C*INCORRECT FILE NAME.*
EQ PNE PROCESS NON-FATAL ERROR
ERR13 SX5 =C*ALTERNATE OUTPUT TO TERMINAL INCORRECT.*
EQ PNE PROCESS NON-FATAL ERROR
ERR14 SX5 =C*RECORD NOT FOUND.*
EQ PNE PROCESS NON-FATAL ERROR
ERR15 SX5 =C*HARDWARE REGISTERS NOT FOUND.*
EQ PNE1 PROCESS NON-FATAL ERROR
ERR16 SX5 =C*DIRECTIVE RESTRICTED TO PRINTER OUTPUT.*
EQ PNE1 PROCESS NON-FATAL ERROR
ERR17 SX5 =C*DIRECTIVE RESTRICTED TO TERMINAL OUTPUT.*
EQ PNE PROCESS NON-FATAL ERROR
ERR18 SX6 1 CHECK ERROR RETURN ADDRESS
SA6 ERRC
SX5 =C*WORD ADDRESS NOT FOUND.*
EQ PNE PROCESS NON-FATAL ERROR
ERR19 SX5 =C*BAD SYSTEM POINTER.*
EQ PNE PROCESS NON-FATAL ERROR
ERR19.1 SX6 1 CHECK ERROR RETURN ADDRESS
SA6 ERRC
EQ ERR19 SET ERROR MESSAGE
ERR20 SX5 =C* DSDI ERROR LIMIT EXCEEDED.*
EQ PFE PROCESS FATAL ERROR
ERR21 SX5 =C*REQUESTED MEMORY NOT FOUND.*
EQ PNE PROCESS NON-FATAL ERROR
ERR22 SX5 =C*INCORRECT PRINT OPTION SELECTION.*
EQ PNE PROCESS NON-FATAL ERROR
ERR23 SX5 =C*SELECTED DEVICE NOT MASS STORAGE.*
EQ PNE1 PROCESS NON-FATAL ERROR
ERR24 SX5 =C* DIRECTORY TABLE BAD.*
EQ PFE PROCESS FATAL ERROR
ERR25 SX5 =C*DIRECTIVE NOT MEANINGFUL.*
EQ PNE PROCESS NON-FATAL ERROR
ERR26 SX5 =C*PROBE TABLE NOT AVAILABLE.*
EQ PNE PROCESS NON-FATAL ERROR
ERR27 SX5 =C*PROBE NOT ENABLED.*
EQ PNE PROCESS NON-FATAL ERROR
ERR28 SX5 =C* INSUFFICIENT NFL SPACE.*
EQ PNE PROCESS NON-FATAL ERROR
ERR30 SX5 =C* PAGE DESCRIPTOR ENTRY NOT FOUND.*
EQ PNE PROCESS NON-FATAL ERROR
ERR31 SX5 =C*RESIDENT CENTRAL LIBRARY EMPTY.*
EQ PNE PROCESS NON-FATAL ERROR
ERR32 SX5 =C* MEMORY ADDRESS BEYOND CM BOUNDARY.*
EQ PNE PROCESS NON-FATAL ERROR
ERR33 SX5 =C*PARAMETER CHARACTER COUNT EXCEEDED.*
EQ PNE PROCESS NON-FATAL ERROR
ERR34 SX5 =C*NO BUFFERED DEVICES DEFINED.*
EQ PNE PROCESS NON-FATAL ERROR
ERR35 SX5 =C*SELECTED ENTRY BEYOND TABLE BOUNDARY.*
EQ PNE PROCESS NON-FATAL ERROR
ERR36 SX5 =C*INCORRECT MACHINE ID.*
EQ PNE PROCESS NON-FATAL ERROR
ERR37 SX5 =C*NO ACTIVE DISK BUFFERS.*
EQ PNE PROCESS NON-FATAL ERROR
ERR38 SX6 1 CHECK ERROR RETURN ADDRESS
SA6 ERRC
SX5 =C*INCORRECT DISK BUFFER NUMBER.*
EQ PNE PROCESS NON-FATAL ERROR
ERR39 SX5 =C* DMB FILE FORMAT ERROR.*
EQ PFE PROCESS FATAL ERROR
ERR40 SX5 =C*DIRECTIVE SHOULD HAVE NO PARAMETERS.*
EQ PNE PROCESS NON-FATAL ERROR
ERR41 SX5 =C* USER EXTENDED MEMORY NOT DEFINED.*
EQ PNE1 PROCESS ERROR
ERR42 SX5 =C* MAINTENANCE REGISTER RECORD NOT FOUND.*
EQ PFE PROCESS FATAL ERROR
ERR43 SX5 =C* B PARAMETER NOT ALLOWED WITH DMB DUMP FILE.*
EQ PNE PROCESS NON-FATAL ERROR
ERR44 SX5 =C* SEGMENT MISSING.*
EQ PNE PROCESS NON-FATAL ERROR
ERR45 SX5 =C* PVA WITH RING = 0.*
EQ PNE PROCESS NON-FATAL ERROR
ERR46 SX5 =C* TAPE MUST BE REQUESTED AS LABELED. *
EQ PFE PROCESS FATAL ERROR
ERR47 SX5 =C$ CANNOT PROCESS IOU TYPE, USE *ANAD* ON NOS/VE.$
EQ PNE PROCESS ERROR
ERR48 SX5 =C* NO PSEUDO-CONTROL POINTS DEFINED.*
EQ PNE PROCESS NON-FATAL ERROR
ERR49 SX6 1 CHECK ERROR RETURN ADDRESS
SA6 ERRC
SX5 =C* INCORRECT PPU PROGRAM NAME.*
EQ PNE1 PROCESS NON-FATAL ERROR
ERR50 SX6 1 CHECK ERROR RETURN ADDRESS
SA6 ERRC
SX5 =C*PROGRAM NOT FOUND - .*
BX6 X1 SET PROGRAM NAME IN MESSAGE
SA6 X5+2
EQ PNE1 PROCESS NON-FATAL ERROR
PNE SPACE 4,10
** PNE - PROCESS NON-FATAL ERROR.
*
* ENTRY AT PNE, LIST CURRENT DIRECTIVE CARD.
* AT PNE1, DO NOT LIST CURRENT DIRECTIVE CARD.
* (X5) = MESSAGE ADDRESS.
PNE SA1 TF
NZ X1,PNE1 IF CURRENT OUTPUT IS TO TERMINAL
SA1 EF
SA0 X1 SAVE EJECT FLAG
SX6 B1
SA6 A1 TURN EJECT ON
RJ LDC LIST DIRECTIVE
SX6 A0
SA6 EF RESTORE EJECT FLAG
* CHECK FOR ACTIVE TERMINAL.
PNE1 SX2 L SET TERMINAL FILE
RJ STF
NZ X6,PNE2 IF LIST OUTPUT NOT TO TERMINAL
WRITE L,* SET WRITE CODE IN FET
WRITEC L,X5 WRITE MESSAGE TO TERMINAL
PNE2 SA1 TF
NZ X1,PNE4 IF CURRENT OUTPUT TO TERMINAL
SB2 ERRB BUILD PRINT MESSAGE
SB3 B0
MX2 -12
PNE3 SA1 X5+B3 MOVE MESSAGE
BX6 X1
SA6 B2
SB2 B2+B1
SB3 B3+B1
BX6 -X2*X6
NZ X6,PNE3 IF NOT END OF MESSAGE
PRINT (=2C )
PRINT ERRA
PNE4 SA1 EC ADVANCE ERROR COUNT
SX6 X1+B1
SA6 A1
SX6 X6-NERR
PL X6,ERR20 IF ERROR LIMIT EXCEEDED
SA1 ERRC
ZR X1,DSD1 IF NOT TO CHECK FOR ERROR RETURN ADDRESS
BX6 X6-X6 CLEAR FLAG
SA6 A1
SA1 A1+B1 GET RETURN ADDRESS
SB3 X1
ZR B3,DSD1 IF NONE SPECIFIED
JP B3 CONTINUE PROCESSING DIRECTIVE
ERRA DATA 20H *********WARNING -
ERRB BSS 6
ERRC CON 0 CHECK ERROR RETURN FLAG
CON 0 ERROR RETURN ADDRESS
PFE SPACE 4,10
** PROCESS FATAL ERRORS.
*
* ENTRY (X5) = MESSAGE ADDRESS.
PFE MESSAGE X5,,R
RJ COF COMPLETE OUTPUT FILES
ABORT
TITLE COMMON DECKS.
COMMON SPACE 4
** COMMON DECKS.
*CALL COMCARG
*CALL COMCCDD
*CALL COMCCMD
ERP1$ EQU 1 SELECT ERROR PROCESSING
*CALL COMCCIO
*CALL COMCCOD
*CALL COMCCPM
*CALL COMCDXB
*CALL COMCHXB
*CALL COMCLFM
*CALL COMCMTP
*CALL COMCMVE
*CALL COMCRDC
*CALL COMCRDO
*CALL COMCRDS
*CALL COMCRDW
*CALL COMCSFN
*CALL COMCSTF
*CALL COMCSYS
USBL$ EQU 1 SELECT VARIABLE STRING LENGTH OPTION
*CALL COMCUSB
*CALL COMCWTC
*CALL COMCWTO
*CALL COMCWTS
*CALL COMCWTW
*CALL COMCZAP
*CALL COMDTFN
*CALL COMTVDT
TITLE OPERATING SYSTEM TABLE DESCRIPTORS.
SPACE 4,5
** THIS SECTION CONTAINS TABLES WHICH DESCRIBE THE KRONOS/NOS
* OPERATING SYSTEM TABLES.
*
* EACH TABLE SHOULD HAVE THE LEFT COLUMN EQUAL TO OR LONGER
* THAN THE RIGHT COLUMN. THE FIELD DESCRIPTION LEFT
* PARENTHESIS SHOULD BE IN COLUMN 30 AND THE FIELD 27
* CHARACTERS LONG. ALSO, EACH ENTRY SHOULD BE IN THE FORM -
*
* FIELD WORD,( 27 CHARACTER DESCRIPTION ),SB,NB
*
* WHERE SB IS THE STARTING BIT OF THE FIELD AND NB IS THE
* NUMBER OF BITS IN THE FIELD (MUST BE A MULTIPLE OF 3 BITS).
TFLC SPACE 4
** TFLC - LOW CORE POINTER DESCRIPTORS.
TFLC VFD 24/0,18/TFLC1,18/TFLC2
.OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFLC1 BSS 0
FIELD 0,(RESERVED ),59,60
FIELD 1,( ),59,60
FIELD 2,( ),59,60
FIELD 3,( ),59,60
FIELD 4,( ),59,60
FIELD REML,(RESERVED REML),59,48
FIELD REML,(ERROR FLAGS ),11,12
FIELD DSAL,(DEADSTART ASSISTANT PP DSAL),59,12
FIELD DSAL,(SYSTEM CONSOLE DRIVER PP ),47,12
FIELD DSAL,(RESERVED ),35,12
FIELD DSAL,(CEL PRESENT FLAG ),23,12
FIELD DSAL,(DEADSTART CHANNEL ),11,12
FIELD DSCL,(ACTIVATE ASSISTANT PP DSCL),59,3
FIELD DSCL,(RESERVED ),56,3
FIELD DSCL,(ASSISTANT CHANNEL ),53,6
FIELD DSCL,(RESERVED ),47,48
FIELD IN0L,(INSTALLATION WORD 0 IN0L),59,60
FIELD IN1L,(INSTALLATION WORD 1 IN1L),59,60
FIELD IN2L,(INSTALLATION WORD 2 IN2L),59,60
FIELD IN3L,(INSTALLATION WORD 3 IN3L),59,60
FIELD IN4L,(INSTALLATION WORD 4 IN4L),59,60
FIELD IN5L,(INSTALLATION WORD 5 IN5L),59,60
FIELD IN6L,(INSTALLATION WORD 6 IN6L),59,60
FIELD IN7L,(INSTALLATION WORD 7 IN7L),59,60
FIELD 20,(RESERVED ),59,60
FIELD JSNL,(ZERO JSNL),59,12
FIELD JSNL,(RESERVED ),47,24
FIELD JSNL,(JOB SEQUENCE NUMBER ),23,24
FIELD ACML,(AVAILABLE CM/100B ACML),59,24
FIELD AECL,(AVAILABLE XM/*UEBS* AECL),35,24
FIELD ACML,(RESERVED ),11,12
FIELD CMRL,(ZERO CMRL),59,12
FIELD CMRL,(RESERVED ),47,12
FIELD CMRL,(RA/100B FOR CP ZERO ),35,24
FIELD CMRL,(CMR SIZE/100B ),11,12
FIELD CMRL+1,(ZERO ),59,12
FIELD CMRL+1,(RA/100B FOR CP ZERO ),47,24
FIELD CMRL+1,(4000B ),23,12
FIELD CMRL+1,(FL/100B FOR CP ZERO ),11,12
FIELD ECRL,(ZERO ECRL),59,12
FIELD ECRL,(NUMBER OF *UEBS* BLOCKS ),47,12
FIELD ECRL,(EM RA/*UEBS* FOR CP 0 ),35,24
FIELD ECRL,(EM FL/*UEBS* FOR CP 0 ),11,12
FIELD PPXL,(PP EXCHANGE PENDING PPXL),59,60
FIELD MSCL,(RECALL REDUCTION LIMIT MSCL),59,12
FIELD MSCL,(CPU RECALL DELAY ),47,12
FIELD MSCL,(PP/AUTO RECALL DELAY ),35,12
FIELD MSCL,(RESERVED ),23,12
FIELD MSCL,(MEMORY PAD FOR *RSTM* ),11,12
FIELD JDAL,(JULIAN DATE JDAL),59,60
FIELD PDTL,(ZERO PDTL),59,24
FIELD PDTL,(YEAR - BIASED BY 1970 ),35,6
FIELD PDTL,(MONTH ),29,6
FIELD PDTL,(DAY ),23,6
FIELD PDTL,(HOURS ),17,6
FIELD PDTL,(MINUTES ),11,6
FIELD PDTL,(SECONDS ),5,6
FIELD TIML,(TIME OF DAY (DSD) TIML),59,60
FIELD DTEL,(DATE (DSD) DTEL),59,60
FIELD SYTL,(SYSTEM TITLE LINE SYTL),59,60
FIELD SYTL+1,( ),59,60
FIELD SYTL+2,( ),59,60
FIELD SYTL+3,( ),59,60
FIELD SVNL,(SYSTEM VERSION NAME SVNL),59,60
FIELD SVNL+1,( ),59,60
FIELD SSML,(RESERVED SSML),59,3
FIELD SSML,(OUTPUT QUEUE HANDLING LEVEL),56,3
FIELD SSML,(RESERVED ),53,3
FIELD SSML,(SYSTEM SECURITY MODE ),50,3
FIELD SSML,(RESERVED ),47,15
FIELD SSML,(SECURITY ACCESS CATEGORIES ),32,33
FIELD JSCL,(SCHEDULER ACTIVE FLAG JSCL),59,3
FIELD JSCL,(RESERVED ),56,9
FIELD JSCL,(INPUT FILE SCHED INTERVAL ),47,12
FIELD JSCL,(SCHEDULER CYCLE INTERVAL ),35,12
FIELD JSCL,(SCHEDULER RECALL TIME ),23,24
FIELD IPRL,(CPU1 MULTIPLIER INDEX IPRL),59,6
FIELD IPRL,(CPU0 MULTIPLIER INDEX ),53,6
FIELD IPRL,(SEC ROLLOUT SCTR THRESHOLD ),47,12
FIELD IPRL,(ASSUMED KEYPUNCH MODE ),35,3
FIELD IPRL,(RESERVED ),32,6
FIELD IPRL,(ASSUMED CHAR SET CONV ),26,3
FIELD IPRL,(ASSUMED CONV MODE ),23,12
FIELD IPRL,(ASSUMED NT TAPE DENSITY ),11,6
FIELD IPRL,(TRACK TYPE/MT DENSITY ),5,6
FIELD SSTL,(AUTOR/CM CLR/SEC LOCK SSTL),59,3
FIELD SSTL,(LOCK/DISABLE MSS M,CART PFS),56,3
FIELD SSTL,(DISABLE USER ECS, PF/MS VAL),53,3
FIELD SSTL,(DISABLE MS VAL,MSE M,SP DWN),50,3
FIELD SSTL,(RES/DISABLE FORCED FORM/RES),47,3
FIELD SSTL,(DISABLE HFI,TAPE PFS,REMOVE),44,3
FIELD SSTL,(DISABLE DSK VL,SEC USER,SCP),41,3
FIELD SSTL,(RESERVED ),38,3
FIELD SSTL,(DISABLE SUB-CP/RESERVED ),35,3
FIELD SSTL,(RESERVED/DISABLE PROBE ),32,3
FIELD SSTL,(DISABLE TRACE/RESERVED ),29,3
FIELD SSTL,(RESERVED/DISABLE TMS ),26,3
FIELD SSTL,(*VE=*/DISABLE FMP, DDP RO ),23,3
FIELD SSTL,(RESIDENT/PRIVILEGED RDF ),20,3
FIELD SSTL,(DISABLE STACK/LOG/SIM SCR ),17,3
FIELD SSTL,(ENGR/SYS DEBUG/DEBUG STATUS),14,3
FIELD SSTL,(RESERVED FOR INSTALLATION ),11,12
FIELD SSSL,(SUBSYSTEM STATUS SSSL),59,60
FIELD DFPP,(FWA DAYFILE BUF PTRS DFPP),59,24
FIELD DFPP,(FWA DAYFILE DUMP BUFFER ),35,24
FIELD DFPP,(DAYFILE DUMP BUF INTERLOCK ),11,12
FIELD IPPL,(6 LPI CHARGE IPPL),59,12
FIELD IPPL,(8 LPI CHARGE ),47,12
FIELD IPPL,(SYSTEM PD/PS/PW DEFAULTS ),35,24
FIELD IPPL,(RESERVED ),11,12
FIELD PPRL,(CPP *MTR* REQ FLAG PPRL),59,12
FIELD PPRL,(RPL FLAG ),47,6
FIELD PPRL,(CMR ADDRESS OF IDLE LOOP ),41,18
FIELD PPRL,(LENGTH OF IDLE LOOP ),23,12
FIELD PPRL,(IDLE LOOP LOAD ADDRESS ),11,12
FIELD PPAL,(ZERO PPAL),59,12
FIELD PPAL,(FREE PP-S, PP0 - PP10 ),47,9
FIELD PPAL,(FREE PP-S, PP11,PP31 - PP20),38,12
FIELD PPAL,(ZERO ),26,9
FIELD PPAL,(FREE CPP COUNT ),17,6
FIELD PPAL,(FREE PP COUNT ),11,12
FIELD MSEL,(MS ERR PROC. LOAD CODE MSEL),59,12
FIELD MSEL,(CRD CM ),47,12
FIELD MSEL,(LDD CM ),35,12
FIELD MSEL,(NJN LMSE ),23,12
FIELD MSEL,(LDD T1 ),11,12
FIELD MSEL+1,(STD CM+3 ),59,12
FIELD MSEL+1,(LDN 1R7 ),47,12
FIELD MSEL+1,(STD CM+2 ),35,12
FIELD MSEL+1,(MONITOR SPLM ),23,24
FIELD MSEL+2,(MONITOR SPLM (LOW 12 BITS) ),59,12
FIELD MSEL+2,(LDD CM+4 ),47,12
FIELD MSEL+2,(LJM PLL4 ),35,24
FIELD MSEL+2,(CON LMSE-1 ),11,12
FIELD BMLL,(DEADSTART FLAG BMLL),59,12
FIELD BMLL,(FWA ERROR MSG BUFFER EMBP),47,24
FIELD BMLL,(MESSAGE LINK ),23,24
FIELD CMCL,(CP FOR STORAGE MOVE CMCL),59,12
FIELD CMCL,(INTERNAL TO MTR ),47,48
FIELD ACPL,(CPU 0 OFF/CPU 0 RA ACPL),59,24
FIELD ACPL,(CPU 0 TIME SLICE OF SUB CP ),35,36
FIELD ACPL+1,(CPU 1 OFF/CPU 1 RA ),59,24
FIELD ACPL+1,(CPU 1 TIME SLICE OF SUB CP ),35,36
FIELD CSWL,(CPU 0 SWITCH REQ CSWL),59,6
FIELD CSWL,(PTR TO BYPASS WQ ENTRY ),53,18
FIELD CSWL,(CPU 0 SWITCH TIME ),35,36
FIELD CSWL+1,(CPU 1 SWITCH REQ ),59,6
FIELD CSWL+1,(PTR TO BYPASS WQ ENTRY ),53,18
FIELD CSWL+1,(CPU 1 SWITCH TIME ),35,36
FIELD PXPP,(RESERVED PXPP),59,36
FIELD PXPP,(ADDRESS OF PP2 XP ),23,24
FIELD PXPP+1,(FIRST WORD OF PP XP ),59,60
FIELD ZERL,(ZERO LOCATION ZERL),59,60
FIELD SMRL,(STORAGE MOVE INC. SMRL),59,12
FIELD SMRL,(PREVIOUS CPU STATUS ),47,3
FIELD SMRL,(RESERVED ),44,6
FIELD SMRL,(ECS ERROR OCCURED ),38,3
FIELD SMRL,(RESERVED ),35,24
FIELD SMRL,(NUMBER OF MOVING CP/PCP ),11,12
FIELD NCHL,(MAXIMUM CHANNEL NUMBER NCHL),59,12
FIELD NCPL,(NUMBER OF CONTROL PTS NCPL),47,12
FIELD PPUL,(NUMBER OF PP-S PPUL),35,12
FIELD CFGL,(WALL CLK/EM MODE/7255 CFGL),23,3
FIELD CFGL,(ISD ONLY/RESERVED ),20,3
FIELD CPPL,(NUMBER OF CCH-S AND CPP-S ),17,6
FIELD EXML,(RESERVED ),11,3
FIELD EXML,(EM EQUIPMENT, CPU PATH EXML),8,9
FIELD EIBP,(FLAGS - 2CPU W/CACHE EIBP),59,3
FIELD EIBP,(RESERVED ),56,6
FIELD EIBP,(MTR XP ADDR - 2CPU W/CACHE ),50,18
FIELD EIBP,(*EICB* POINTER ),32,33
FIELD ESTP,(FWA EST ESTP),59,24
FIELD ESTP,(SIZE EST / LAST ORD + 1 ),35,12
FIELD ESTP,(LAST MS ORDINAL + 1 ),23,12
FIELD DSSL,(LIBDECK NUMBER DSSL),11,6
FIELD DSSL,(RES / MICRO/EI STATUS ),5,3
FIELD DSSL,(D/S FLAG / RECOVERY LEVEL ),2,3
FIELD FNTP,(FWA SYSTEM FNT FNTP),59,24
FIELD FNTP,(MAX FNT ENTRIES ),35,12
FIELD FNTP,(COUNT OF FREE FNT ENTRIES ),23,12
FIELD FNTP,(NEXT AVAILABLE FNT ENTRY ),11,12
FIELD EJTP,(FWA EJT EJTP),59,24
FIELD EJTP,(MAX EJT ENTRIES ),35,12
FIELD EJTP,(COUNT OF FREE EJT ENTRIES ),23,12
FIELD EJTP,(NEXT AVAILABLE EJT ENTRY ),11,12
FIELD QFTP,(FWA QFT QFTP),59,24
FIELD QFTP,(MAX QFT ENTRIES ),35,12
FIELD QFTP,(COUNT OF FREE QFT ENTRIES ),23,12
FIELD QFTP,(NEXT AVAILABLE QFT ENTRY ),11,12
CON -1 END OF LEFT COLUMN
TFLC2 BSS 0
FIELD CPSL,(EQ CPSL CPSL),59,30
FIELD CPSL,(PS 0 ),29,30
FIELD PPCP,(FWA EXT. PP COMM. BLK. PPCP),59,24
FIELD MEFL,(USER EM SHIFT COUNT ),35,3
FIELD MEFL,(EXTENDED ADDRESSING FIELDS ),32,6
FIELD MEFL,(RESERVED MEFL),26,3
FIELD MEFL,(EM SIZE/*EMBS* ),23,12
FIELD PPCP,(FWA PP COMM AREA PPCP),11,12
FIELD SFIL,(SCOPE STAT INTERLOCK SFIL),59,60
FIELD CLTP,(FWA CLT CLTP),59,24
FIELD CLTP,(MAX CLT ENTRIES ),35,12
FIELD CLTP,(COUNT OF FREE CLT ENTRIES ),23,12
FIELD CLTP,(NEXT ),11,12
FIELD SDAP,(FWA STAT DATA AREA SDAP),59,24
FIELD PPSP,(FWA PP SAVE AREA PPSP),35,24
FIELD PPSP,(MAX PP SAVE AREAS ),11,12
FIELD CECL,(UNCORRECTED CPU ERROR CECL),59,12
FIELD CECL,(CORRECTED CPU0 COUNT ),47,12
FIELD CECL,(CORRECTED CPU1 COUNT ),35,12
FIELD CECL,(CM SECDED ERROR COUNT ),23,12
FIELD CECL,(LCME SECDED ERROR COUNT ),11,12
FIELD 104,(RESERVED FOR INSTALLATION ),59,60
FIELD 105,( ),59,60
FIELD RTCL,(RT CLOCK IMAGE - SECS RTCL),59,24
FIELD RTCL,(RT CLOCK IMAGE - MSECS ),35,36
FIELD PFNL,(DEFAULT PACK TYPE PFNL),59,18
FIELD PFNL,(RESERVED ),41,18
FIELD PFNL,(EST ORD OF DEFAULT FAM ),23,12
FIELD PFNL,(CPU TRANSFER THRESHOLD ),11,12
FIELD RDSL,(SECS TILL LABEL CHECK RDSL),59,12
FIELD RDSL,(SECONDS TILL *1CK* CALL ),47,12
FIELD RDSL,(RESERVED ),35,36
FIELD SCRL,(ERROR/EMERGENCY FLAGS SCRL),59,3
FIELD SCRL,(EMER STEP/MANUAL STEP/RES ),56,3
FIELD SCRL,(FWA OF SECDED ID TABLE ),53,18
FIELD SCRL,(*1CK* ADDR IF FROM *1MB* ),35,12
FIELD SCRL,(RESERVED ),23,24
FIELD SABL,(FWA SAB SABL),59,24
FIELD SABL,(SAB LENGTH ),35,12
FIELD SABL,(RESERVED ),23,12
FIELD SABL,(LAST EJT ORDINAL SCHEDULED ),11,12
FIELD MABL,(RESERVED MABL),59,12
FIELD MABL,(OPTIONS INSTALLED ),47,12
FIELD MABL,(CM SIZE/100B ),35,24
FIELD MABL,(PP SPEED ),11,12
FIELD EABL+CPEI,(CPU 0 DESCRIPTOR ADDR EABL),59,18
FIELD EABL+CPEI,(CPU 1 DESCRIPTOR ADDR ),41,18
FIELD EABL+CPEI,(CPU 0 CONNECT CODE ),23,12
FIELD EABL+CPEI,(CPU 1 CONNECT CODE ),11,12
FIELD EABL+CMEI,(CENTRAL MEMORY DESCRIPTOR ),59,18
FIELD EABL+CMEI,(EXTENDED MEMORY DESCRIPTOR ),41,18
FIELD EABL+CMEI,(CENTRAL MEMORY CONNECT CODE),23,12
FIELD EABL+CMEI,(RESERVED ),11,12
FIELD EABL+IOEI,(IOU DESCRIPTOR ADDR ),59,18
FIELD EABL+IOEI,(RESERVED ),41,18
FIELD EABL+IOEI,(IOU CONNECT CODE ),23,12
FIELD EABL+IOEI,(RESERVED ),11,12
FIELD EABL+MFEI,(MAINFRAME DESCRIPTOR ADDR ),59,18
FIELD EABL+DCEI,(DISPLAY CONSOLE DESCRIPTOR ),41,18
FIELD EABL+MFEI,(SAB LENGTH ),23,12
FIELD EABL+MFEI,(RESERVED ),11,12
FIELD UEML,(UEM BASE ADDR/1000B UEML),59,12
FIELD UEML,(UEM FL/*UEBS* ),47,12
FIELD UEML,(UEM EQUIPMENT ),35,12
FIELD UEML,(RESERVED ),23,21
FIELD UEML,(*UEM* PRESENT ),2,3
FIELD CMBL,(FWA BLOCK NAME TABLE CMBL),59,24
FIELD CMBL,(RESERVED ),35,12
FIELD CMBL,(FWA BREAKPOINT TABLE ),23,24
FIELD MMFL,(MACHINE IDENTIFICATION MMFL),59,12
FIELD MMFL,(ISD/LSPMMF/BIOMMF FLAGS ),47,3
FIELD MMFL,(LINK DEVICE EQ ),44,9
FIELD MMFL,(FLAG REG RECOVERY INTERLOCK),35,3
FIELD MMFL,(INITIALIZED EQ COUNT ),32,9
FIELD MMFL,(MACHINES MASK ),23,12
FIELD MMFL,(MACHINE INDEX ),11,12
FIELD EFRL,(MACHINE STATE TBL PTR EFRL),59,24
FIELD EFRL,(RESERVED ),35,12
FIELD EFRL,(DISPLAY FLAG REGISTER IF 0 ),23,6
FIELD EFRL,(FLAG REGISTER IMAGE ),17,18
FIELD INWL,(RESERVED INWL),59,6
FIELD INWL,(RES/MDD DEDICATED/CM WRITE ),53,3
FIELD INWL,(MR WRT/MX CH HNG/MNT CH HNG),50,3
FIELD INWL,(RESERVED ),47,24
FIELD INWL,(ACTIVE MREC COUNT ),23,6
FIELD INWL,(RESERVED/DEADSTART JOB ),17,3
FIELD INWL,(LIMITS CHG/DIS SCHEDULE/RES),14,3
FIELD INWL,(RESERVED ),11,6
FIELD INWL,(RES/CKPT/WALL CLOCK RESET ),5,3
FIELD INWL,(CPD/FATAL ERR/SUBSYS ABORT ),2,3
FIELD 125,(RESERVED ),59,60
FIELD 126,(RESERVED ),59,60
FIELD 127,(RESERVED ),59,60
FIELD OSTP,(OPTICAL STATUS TBL FWA OSTP),59,24
FIELD OSTP,(NUMBER OF OPTICAL DEVICES ),35,12
FIELD OSTP,(RESERVED ),23,12
FIELD OSTP,(OPTICAL SCANNER CONTROL ),11,12
FIELD ORTP,(OPTICAL REQ. TABLE FWA ORTP),59,24
FIELD ORTP,(OPTICAL REQ. TABLE LENGTH ),35,12
FIELD ORTP,(OPTICAL REQ. ENTRIES AVAIL.),23,12
FIELD ORTP,(NEXT OPTICAL REQUEST ENTRY ),11,12
FIELD PRBP,(PROBE TABLE INTERLOCK PRBP),59,3
FIELD PRBP,(RESERVED ),56,15
FIELD PRBP,(PROBE TABLE AREA LENGTH ),41,18
FIELD PRBP,(FWA PROBE TABLE AREA ),23,24
FIELD EVTP,(EVENT TABLE FWA EVTP),59,24
FIELD INBP,(INSTALLATION BLOCK FWA INBP),35,24
FIELD INBP,(INST. BLOCK LENGTH INBP),11,12
FIELD MCTP,(FWA MCT MCTP),59,24
FIELD MCTP,(MAX MCT ENTRIES ),35,12
FIELD PCPP,(FWA PCP AREA PCPP),23,24
FIELD MSAP,(FWA MS ALLOC TABLE MSAP),59,24
FIELD SSCP,(FWA SSCT SSCP),35,24
FIELD TFML,(TMS STATUS BYTE TFML),11,12
FIELD OPRL,(OPERATOR MSG PRESENT OPRL),59,3
FIELD OPRL,(RESERVED ),56,42
FIELD OPRL,(RESERVED/LOW SPACE ),14,3
FIELD OPRL,(ERR ALERT/CH DWN/EM DIS ),11,3
FIELD OPRL,(TRACK, BML, ACC SIZE LIMIT ),8,3
FIELD OPRL,(ERRLOG, DAYFIL LIM/EJT FULL),5,3
FIELD OPRL,(QFT, FNT, FOT FULL ),2,3
FIELD FOTP,(FWA FOT FOTP),59,24
FIELD FOTP,(MAX FOT ENTRIES ),35,12
FIELD FOTP,(COUNT OF FREE FOT ENTRIES ),23,12
FIELD FOTP,(NEXT AVAILABLE FOT ENTRY ),11,12
FIELD LIDP,(FWA LID TABLE LIDP),59,24
FIELD LIDP,(LENGTH OF LID TABLE ),35,12
FIELD LIDP,(NUMBER OF FREE ENTRIES ),23,12
FIELD LIDP,(RESERVED ),11,9
FIELD LIDP,(INTERLOCK ),2,3
FIELD CHTP,(RESERVED CHTP),59,24
FIELD CHTP,(FWA CHANNEL TABLES ),35,24
FIELD NVOL,(NOS/VE EJT ORDINAL ),11,12
FIELD RPLP,(FWA RPL RPLP),59,24
FIELD LDSP,(FWA L-DISPLAY BUFFER LDSP),35,24
FIELD VEBL,(NOS/VE BYPASS LIMIT VEBL),11,12
FIELD RCLP,(FWA RCL RCLP),59,24
FIELD SCDP,(FWA SCD PARAMETERS SCDP),35,24
FIELD SCDP,(RESERVED ),11,12
FIELD PLDP,(FWA PLD PLDP),59,24
FIELD LBDP,(FWA LBD LBDP),35,24
FIELD LBDP,(RESERVED ),11,12
FIELD EPDP,(FWA EPD EPDP),59,24
FIELD PSTP,(FWA PST PSTP),35,24
FIELD PSTP,(RESERVED ),11,12
FIELD EDBP,(FWA EM DISPLAY BUFFER EDBP),59,24
FIELD EDBP,(RESERVED ),35,12
FIELD EPBP,(ECS/PP BUFFER COUNT EPBP),23,6
FIELD EPBP,(FWA ECS/PP BUFFER ),17,18
FIELD BIOL,(CPUMLD LOAD ADDR/100B BIOL),59,12
FIELD BIOL,(FWA BUFFERED I/O TABLES ),47,24
FIELD CMTP,(FWA CPUMTR CMTP),23,24
FIELD JBCP,(FWA JOB CONTROL BLOCKS JBCP),59,24
FIELD JBCP,(RESERVED ),35,36
FIELD JBCP+1,(RESERVED ),59,60
FIELD CPAL,(CPU0 EXPACK TYPE CPAL),59,18
FIELD CPAL,(CP ADDR OF JOB IN CPU0 ),41,18
FIELD CPAL,(XP ADDR OF JOB IN CPU0 ),23,24
FIELD CPAL+1,(CPU1 EXPACK TYPE ),59,18
FIELD CPAL+1,(CP ADDR OF JOB IN CPU1 ),41,18
FIELD CPAL+1,(XP ADDR OF JOB IN CPU1 ),23,24
FIELD BQRL,(BUF MGR RCL QUEUE PTR BQRL),59,60
FIELD RQRL,(MTR RECALL QUEUE PTR RQRL),59,60
FIELD CQRL,(CPUCIO REQUEST Q PTR CQRL),59,60
FIELD PQRL,(PP REQUEST QUEUE PTR PQRL),59,60
FIELD WQRL,(WQ QUEUE POINTER WQRL),59,60
FIELD TSCL,(CPU0 JOB PRIORITY TSCL),59,12
FIELD TSCL,(RESERVED ),47,12
FIELD TSCL,(CPU0 RECALL EXPIRATION ),35,36
FIELD TSCL+1,(CPU1 JOB PRIORITY ),59,12
FIELD TSCL+1,(RESERVED ),47,12
FIELD TSCL+1,(CPU1 RECALL EXPIRATION ),35,36
FIELD DSDL+0,(DSD - 1DS PARAMETER BLOCK ),59,60
FIELD DSDL+1,( ),59,60
FIELD DSDL+2,( ),59,60
FIELD DSDL+3,( ),59,60
FIELD DSDL+4,( ),59,60
FIELD DSDL+5,( ),59,60
FIELD DSDL+6,( ),59,60
FIELD DSDL+7,( ),59,60
FIELD DSDL+10B,( ),59,60
FIELD DSDL+11B,( ),59,60
FIELD DSDL+12B,( ),59,60
FIELD DSDL+13B,( ),59,60
FIELD DSDL+14B,( ),59,60
CON 0 END OF RIGHT COLUMN
TFLC3 EQU *
ERRNG 2*TFLC2-TFLC1-TFLC3 IF RIGHT LONGER THAN LEFT
TFCP SPACE 4
** TFCP - CONTROL POINT AREA FIELD DESCRIPTORS.
TFCP VFD 24/0,18/TFCP1,18/TFCP2
.OW SET STSW-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFCP1 BSS 0
FIELD STSW,(CPU STATUS STSW),59,3
FIELD STSW,(CPU SUB-CP ACTIVE ),56,3
FIELD STSW,(NUMBER PPS ASSIGNED ),53,6
FIELD STSW,(ERROR FLAGS ),47,12
FIELD STSW,(RESERVED ),35,3
FIELD STSW,(ROLLOUT CONTROL ),32,9
FIELD STSW,(RESERVED ),23,12
FIELD STSW,(RECALL CONTROL ),11,12
FIELD CWQW,(CPU PRIORITY/FLAGS CWQW),59,12
FIELD CWQW,(SLICE/RECALL FLAGS ),47,3
FIELD CWQW,(SERVICE CYCLE NUMBER ),44,9
FIELD CWQW,(CPU SCHED SERVICE INDEX ),35,9
FIELD CWQW,(CPU FLAGS/RES/EXPACK TYPE ),26,9
FIELD CWQW,(*WQ* LINKAGE ),17,18
FIELD CSAW,(ZERO CSAW),59,6
FIELD CSAW,(CPU TIME THRESHOLD ),53,18
FIELD CSAW,(RECALL SLICE ACCUMULATOR ),35,18
FIELD CSAW,(CPU SLICE ACCUMULATOR ),17,18
FIELD FLSW,(NEGATIVE FL/100B FLSW),59,12
FIELD FLSW,(*SET* RECOVERY NFL ),47,12
FIELD FLSW,(RA/100B ),35,24
FIELD FLSW,(FL/100B ),11,12
FIELD FLSW+1,(ZERO ),59,12
FIELD FLSW+1,(RA/100B - NFL/100B ),47,24
FIELD FLSW+1,(4000B + NFL/100B ),23,12
FIELD FLSW+1,(FL/100B ),11,12
FIELD ECSW,(ZERO ECSW),59,12
FIELD ECSW,(ECXM INTERLOCK/RESERVED ),47,3
FIELD ECSW,(RESERVED ),44,9
FIELD ECSW,(EM RA/*UEBS* ),35,24
FIELD ECSW,(EM FL/*UEBS* ),11,12
FIELD JCIW,(RESERVED JCIW),59,18
FIELD JCIW,(RESV/RESV/CPUPFM ACTIVE ),41,3
FIELD JCIW,(RESERVED/CPU SELECTION ),38,3
FIELD JCIW,(SUBSYSTEM ID ),35,12
FIELD JCIW,(JOB CONTROL/*DIS* FLAGS ),23,3
FIELD JCIW,(USER PRIVACY, PRESERVE EM ),20,3
FIELD JCIW,(RESERVED ),17,18
FIELD EOJW,(JOB TERMINATION OPTION EOJW),59,3
FIELD EOJW,(QUEUE FILE DISPOSITION ),56,3
FIELD EOJW,(RESERVED ),53,21
FIELD EOJW,(PROJ PRLG/EPLG TERM OPTION ),32,3
FIELD EOJW,(PROJ PRLG/EPLG NEST LVL-1 ),29,6
FIELD JOTW,(JOB ORIGIN TYPE JOTW),23,12
FIELD OAEW,(OPER ASSIGNED EQUIP OAEW),11,12
FIELD SNSW,(PUNCH MODE/OVERRIDE SNSW),59,3
FIELD SNSW,(RESERVED ),56,21
FIELD SNSW,(RESERVED-INSTALLATION ),35,12
FIELD SNSW,(PP PAUSE FLAGS ),23,12
FIELD SNSW,(SENSE SWITCHES ),11,6
FIELD SNSW,(RESERVED ),5,6
FIELD MS1W,(MESSAGE 1 AREA MS1W),59,60
FIELD MS1W+1,( ),59,60
FIELD MS1W+2,( ),59,60
FIELD MS1W+3,( ),59,60
FIELD MS1W+4,( ),59,60
FIELD MS2W,(MESSAGE 2 AREA MS2W),59,60
FIELD MS2W+1,( ),59,60
FIELD MS2W+2,( ),59,60
FIELD IN0W,(INSTALLATION WORD 0 IN0W),59,60
FIELD IN1W,(INSTALLATION WORD 1 IN1W),59,60
FIELD IN2W,(INSTALLATION WORD 2 IN2W),59,60
FIELD IN3W,(INSTALLATION WORD 3 IN3W),59,60
FIELD IN4W,(INSTALLATION WORD 4 IN4W),59,60
FIELD IN5W,(INSTALLATION WORD 5 IN5W),59,60
FIELD IN6W,(INSTALLATION WORD 6 IN6W),59,60
FIELD IN7W,(INSTALLATION WORD 7 IN7W),59,60
FIELD ACTW,(LIMIT FLAGS ACTW),59,6
FIELD SRUW,(RESERVED SRUW),53,3
FIELD SRUW,(OVERFLOW/CONTROL FLAGS ),50,9
FIELD SRUW,(SRU ACCUMULATOR/OVERFLOW ),41,42
FIELD CPTW,(CP ACCUM (NANOUNITS/4) CPTW),59,60
FIELD IOAW,(IO ACCUMULATORS IOAW),59,60
FIELD MP1W,(M13 = M1 * M3 MP1W),59,18
FIELD MP1W,(M14 = M1 * M4 ),41,18
FIELD ADAW,(RESERVED ),23,3
FIELD ADAW,(ADDER ACCUMULATOR ADAW),20,21
FIELD MP2W,(M1 * 1000 MP2W),59,18
FIELD MP2W,(M12 = M1 * M2 ),41,18
FIELD MP2W,(RESERVED ),23,24
FIELD MP3W,(DISABLE SRU ACCUM, CPM MP3W),59,30
FIELD MP3W,(IOM ),29,30
FIELD STLW,(SRU ACCOUNT BLOCK LMT STLW),59,18
FIELD STLW,(COMPUTED SRU JOB STEP LIMIT),41,42
FIELD SRJW,(SRU MESSAGE TRIGGER SRJW),59,12
FIELD SRJW,(SRU JOB STEP LIMIT ),47,18
FIELD SRJW,(SRU ACCUM AT JOB STEP START),29,30
FIELD CPJW,(RESERVED CPJW),59,12
FIELD CPJW,(CP TIME JOB STEP LIMIT ),47,18
FIELD CPJW,(CP ACCUM AT JOB STEP START ),29,30
FIELD FPFW,(CHARGE/ACCOUNTING FLGS FPFW),59,6
FIELD FPFW,(RESERVED ),53,6
FIELD FPFW,(SRU VALIDATION LIMIT ),47,12
FIELD FPFW,(FNT ORDINAL OF PROFILE FILE),35,12
FIELD FPFW,(LEVEL-3 BLOCK TRACK ),23,12
FIELD FPFW,(LEVEL-3 BLOCK SECTOR ),11,12
FIELD FLCW,(MAX FL FOR JOB STEP FLCW),59,12
FIELD FLCW,(LAST COMMAND FL (NFL) ),47,12
FIELD FLCW,(MAXIMUM FL FOR ENTIRE JOB ),35,12
FIELD FLCW,(RESERVED ),23,24
FIELD ELCW,(JOB STEP MAX EM FL ELCW),59,12
FIELD ELCW,(LAST CARD EM FL (NFL) ),47,12
FIELD ELCW,(JOB MAX EXTENDED MEMORY FL ),35,12
FIELD ELCW,(RESERVED ),23,24
FIELD EACW,(EQUIP ASSIGNED COUNT EACW),59,12
FIELD FLIW,(RESERVED FLIW),47,9
FIELD FLIW,(SCHEDULER STATUS ),38,3
FIELD FLIW,(NEGATIVE FL FOR ROLLIN ),35,12
FIELD FLIW,(EXTENDED MEMORY FL REQUEST ),23,12
FIELD FLIW,(CM FL REQUEST ),11,12
FIELD TXSW,(TXOT SUBSYSTEM TXSW),59,6
FIELD TXSW,(RESERVED ),53,6
FIELD TTNW,(TERMINAL NUMBER TTNW),47,12
FIELD TIAW,(TERMINAL INT ADDR TIAW),35,18
FIELD TIOW,(OUTPUT POINTER TIOW),17,18
FIELD PFCW,(RESERVED PFCW),59,24
FIELD PFCW,(*PUCN* USER LIMITS ),35,12
FIELD PFCW,(EST ORD OF FAMILY DEVICE ),23,12
FIELD PFCW,(LIMIT FOR SIZE OF DAF ),11,3
FIELD PFCW,(LIMIT FOR NUMBER OF PF ),8,3
FIELD PFCW,(LIMIT CUMM SIZE IAPF ),5,3
FIELD PFCW,(LIMIT FOR SIZE OF IAPF ),2,3
FIELD UIDW,(USER NAME UIDW),59,42
FIELD UIDW,(RESERVED, USER INDEX ),17,18
FIELD EECW,(NO EXIT FLAG EECW),59,3
FIELD EECW,(RESERVED ),56,6
FIELD EECW,(RESERVED/TL EXTENDED ),50,3
FIELD EECW,(REPRIEVE DATA ),47,12
FIELD TINW,(TERMINAL INPUT POINTER TINW),35,18
FIELD EECW,(REPRIEVE DATA ),17,18
FIELD TFSW,(EJT ORDINAL OF JOB TFSW),59,12
FIELD TFSW,(PRIMARY FILE FNT OFFSET ),47,12
FIELD TFSW,(RESERVED ),35,6
FIELD TERW,(ROLLOUT TIME TERW),29,9
FIELD TERW,(EVENT DESCRIPTOR ),20,21
FIELD CSPW,(RESERVED CSPW),59,6
FIELD CSPW,(DIS EMSG/RESERVED/EPLG REQ ),53,3
FIELD CSPW,(CHG REQ/PR USER/INHIB DECR ),50,3
FIELD CSPW,(EOR FLAG/CS COUNT ),47,24
FIELD CSPW,(NEXT COMMAND INDEX ),23,12
FIELD CSPW,(LIMIT INDEX ),11,12
FIELD CSSW,(INPUT/SKIP FLAGS CSSW),59,3
FIELD CSSW,(EST ORDINAL ),56,9
FIELD CSSW,(FIRST TRACK ),47,12
FIELD CSSW,(CURRENT TRACK ),35,12
FIELD CSSW,(CURRENT SECTOR ),23,12
FIELD CSSW,(OVERLAP WORD COUNT ),11,12
FIELD RFCW,(RESERVED RFCW),59,24
FIELD RFCW,(COMMAND ADDRESS ),35,18
FIELD RFCW,(DEMAND FILE RANDOM INDEX ),17,18
FIELD ALMW,(ORIGINAL MAX SRU LIMIT ALMW),59,6
FIELD ALMW,(MAX UNITS PLOTTED ),53,6
FIELD ALMW,(MAX MAGNETIC TAPES ),47,3
FIELD ALMW,(MAX REMOVABLE PACKS ),44,3
FIELD ALMW,(MAX DEFER BATCH JOBS ),41,3
FIELD ALMW,(RESERVED ),38,3
FIELD ALMW,(MAX TIME LIMIT ),35,6
FIELD ALMW,(MAX SRU LIMIT ),29,6
FIELD ALMW,(MAX FIELD LENGTH ),23,6
FIELD ALMW,(MAX EM FIELD LENGTH ),17,6
FIELD ALMW,(MAX LINES PRINTED ),11,6
FIELD ALMW,(MAX CARDS PUNCHED ),5,6
CON -1 END OF LEFT COLUMN
TFCP2 BSS 0
FIELD ACLW,(REPRIEVE LIMIT ACLW),59,12
FIELD ACLW,(DAYFILE MESSAGES COUNT ),47,12
FIELD ACLW,(COMMANDS CNT ),35,12
FIELD ACLW,(RESERVED ),23,6
FIELD ACLW,(MS PRUS COUNT ),17,18
FIELD AACW,(ACCOUNT ACCESS WORD AACW),59,60
FIELD MPMW,(MAP MULTIPLIER * M1 MPMW),59,18
FIELD ODAW,(OPTICAL ACCUMULATOR ODAW),41,21
FIELD MPAW,(MAP ACCUMULATOR MPAW),20,21
FIELD AUCW,(RESERVED AUCW),59,30
FIELD AUCW,(AUC ACCUMULATOR ),29,30
FIELD AUCW+1,(RESERVED ),59,60
FIELD AUCW+2,(RESERVED ),59,60
FIELD SEPW,(SPEC ENTRY POINT FLAG SEPW),59,3
FIELD SEPW,(UTL=/LDR=/CLB= EN PT FLAGS ),56,3
FIELD SEPW,(ARG=/DMP=/SDM= EN PT FLAGS ),53,3
FIELD SEPW,(SSJ=/VAL=/SSM= EN PT FLAGS ),50,3
FIELD SEPW,(DPA= /RESERVED ),47,9
FIELD SEPW,(RESERVED / ENABLE SSJ ),38,3
FIELD SEPW,(RESTART/SUPPRESS DMP= FLAGS),35,3
FIELD SEPW,(DM* FILE/RESOURCE FLAGS ),32,3
FIELD SEPW,(DMP= FL/100 (0 = ENTIRE FL)),29,12
FIELD SEPW,(SSJ= PARAMETER BLK ADDRESS ),17,18
FIELD SPCW,(SYSTEM PROC CALL WORD SPCW),59,60
FIELD JCDW,(CCL - EFF JCDW),59,6
FIELD JCDW,(CCL - R1G ),53,18
FIELD JCDW,(CCL - DATA ),35,6
FIELD JCDW,(PROCEDURE NESTING LEVEL ),29,6
FIELD JCDW,(RESERVED ),23,24
FIELD JCRW,(CCL - EF JCRW),59,6
FIELD JCRW,(CCL - R3 ),53,18
FIELD JCRW,(CCL - R2 ),35,18
FIELD JCRW,(CCL - R1 ),17,18
FIELD DBAW,(SEC MEM/K DIS FLAGS DBAW),59,3
FIELD DBAW,(EM AND CM CMM MODE FLAGS ),56,3
FIELD DBAW,(INPUT BUFFER ADDRESS ),53,18
FIELD DBAW,(RIGHT SCREEN BFR ADD ),35,18
FIELD DBAW,(LEFT SCREEN BFR ADD ),17,18
FIELD LB1W,(MAP OPTIONS/LIB FLAG LB1W),59,6
FIELD LB1W,(REDUCE/LOADER FLAGS ),53,6
FIELD LB1W,(RESERVED FOR LOADER ),47,12
FIELD LB1W,(INTERACTIVE DEBUG CONTROL ),35,12
FIELD LB1W,(GLOBAL LIB INDICATORS ),23,24
FIELD LB2W,(SECOND LIB/GLOBAL IND LB2W),59,60
FIELD LB3W,(FIRST LIB/GLOBAL IND LB3W),59,60
FIELD EOCW,(FNT ADDR LAST FIL EXEC EOCW),59,12
FIELD PPDW,(EM FL FOR DMP= CALL PPDW),47,12
FIELD PPDW,(FL FOR DMP= CALL ),35,12
FIELD PPDW,(DUMP WORD COUNT ),23,6
FIELD PPDW,(FWA OF DUMP ),17,18
FIELD SSOW,(RESERVED ),59,48
FIELD SSOW,(OUTSTANDING CONNECT COUNT ),11,12
FIELD SSCW,(SCP INDEX SSCW),59,6
FIELD SSCW,(RES/ROLLOUT/CONNECTION ),53,3
FIELD SSCW,(WAIT RESPONSES ),50,3
FIELD SSCW,(SCP INDEX ),47,6
FIELD SSCW,(RES/ROLLOUT/CONNECTION ),41,3
FIELD SSCW,(WAIT RESPONSES ),38,3
FIELD SSCW,(SCP INDEX ),35,6
FIELD SSCW,(RES/ROLLOUT/CONNECTION ),29,3
FIELD SSCW,(WAIT RESPONSES ),26,3
FIELD SSCW,(SCP INDEX ),23,6
FIELD SSCW,(RES/ROLLOUT/CONNECTION ),17,3
FIELD SSCW,(WAIT RESPONSES ),14,3
FIELD SSCW,(SCP INDEX ),11,6
FIELD SSCW,(RES/ROLLOUT/CONNECTION ),5,3
FIELD SSCW,(WAIT RESPONSES ),2,3
FIELD CPLW,(COMPUTED CP TIME LIMIT CPLW),59,60
FIELD LOFW,(LIST OF FILES INDEX LOFW),59,12
FIELD LOFW,(RESERVED ),47,6
FIELD LOFW,(LIST OF FILES ADDRESS ),41,18
FIELD LOFW,(RESERVED ),23,18
FIELD AALW,(APPL ACCESS LEVEL AALW),5,6
FIELD TSCW,(CM RESIDENCE TIME LMT TSCW),59,24
FIELD TSCW,(RESERVED ),35,3
FIELD TSCW,(INIT TIME SLICE OCCUR FLAG ),32,3
FIELD TSCW,(CPU TIME SLICE LIMIT ),29,30
FIELD JSCW,(ADMIN/DIAG/USER PW EXP JSCW),59,3
FIELD JSCW,(PF PW EXP/LOWER JAL/FAL ),56,3
FIELD JSCW,(WRITE DOWN/UNLABELED TAPES ),53,3
FIELD JSCW,(RESERVED ),50,3
FIELD JSCW,(JOB ACCESS LEVEL ),47,3
FIELD JSCW,(USER ACCESS LEV VALIDATION ),44,9
FIELD JSCW,(JOB ACCESS LEVEL LIMIT ),35,3
FIELD JSCW,(USER ACCESS CATEGORY SET ),32,33
FIELD PKNW,(DEFAULT PACK NAME PKNW),59,42
FIELD PKNW,(DEFAULT PACK TYPE ),17,18
FIELD CRCW,(RECALL CRITERION NO. CRCW),59,12
FIELD CRCW,(RECALL CRITERION PARAMS ),47,36
FIELD CRCW,(NEXT RECALL STACK ENTRY ),11,12
FIELD RCCW,(RECALL CRITERION RCCW),59,60
FIELD RCCW+1,(RECALL CRITERION ),59,60
FIELD RCCW+2,(RECALL CRITERION ),59,60
FIELD RCCW+3,(RECALL CRITERION ),59,60
FIELD RCCW+4,(RECALL CRITERION ),59,60
FIELD RCCW+5,(RECALL CRITERION ),59,60
FIELD RCCW+6,(RECALL CRITERION ),59,60
FIELD RCCW+7,(RECALL CRITERION ),59,60
FIELD RCCW+8,(RECALL CRITERION ),59,60
FIELD RCCW+9,(RECALL CRITERION ),59,60
FIELD RCCW+10,(RECALL CRITERION ),59,60
FIELD RCCW+11,(RECALL CRITERION ),59,60
FIELD RCCW+12,(RECALL CRITERION ),59,60
FIELD RCCW+13,(RECALL CRITERION ),59,60
FIELD RECW,(RECALL REQUESTS IR-S RECW),59,60
FIELD RECW+1,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+2,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+3,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+4,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+5,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+6,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+7,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+8,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+9,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+10,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+11,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+12,(RECALL REQUESTS IR-S ),59,60
FIELD RECW+13,(RECALL REQUESTS IR-S ),59,60
FIELD REPW,(RECALL REQUESTS MB-S REPW),59,60
FIELD REPW+1,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+2,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+3,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+4,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+5,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+6,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+7,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+8,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+9,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+10,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+11,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+12,(RECALL REQUESTS MB-S ),59,60
FIELD REPW+13,(RECALL REQUESTS MB-S ),59,60
CON 0 END OF RIGHT COLUMN
TFCP3 EQU *
ERRNG 2*TFCP2-TFCP1-TFCP3 IF RIGHT LONGER THAN LEFT
TFEJ SPACE 4,10
** TFEJ - EXECUTING JOB TABLE FIELD DESCRIPTORS.
TFEJ VFD 24/0,18/TFEJ1,18/TFEJ2
.OW SET JSNE-1
.BI SET 0
TFEJ1 BSS 0
FIELD JSNE,(JSN JSNE),59,24
FIELD JSNE,(FAMILY ORDINAL ),35,6
FIELD JSNE,(USER INDEX ),29,18
FIELD JSNE,(SCP/CS/JOB ADVANCE ),11,6
FIELD JSNE,(JOB STATUS/INTERLOCK ),5,6
FIELD SCHE,(STATUS DEPENDENT SCHE),59,24
FIELD SCHE,(NORERUN/JOB TERMINATION ),35,3
FIELD SCHE,(RESERVED ),32,3
FIELD SCHE,(SCHEDULING DATA ),29,30
CON -1 END OF LEFT COLUMN
TFEJ2 BSS 0
FIELD PRFE,(INSTALLATION RESERVED PRFE),59,12
FIELD PRFE,(ERROR FLAGS ),47,12
FIELD PRFE,(RESERVED/JOB ACCESS LVLS ),35,12
FIELD PRFE,(STATUS DEPENDENT ),23,24
FIELD SCLE,(SERVICE CLASS SCLE),59,6
FIELD SCLE,(FORCED RI/FORCED RO/OT ),53,6
FIELD SCLE,(ROUTING INFORMATION ),47,24
FIELD SCLE,(EM FL ),23,12
FIELD SCLE,(CM FL ),11,12
CON 0 END OF RIGHT COLUMN
TFEJ3 EQU *
ERRNG 2*TFEJ2-TFEJ1-TFEJ3 IF RIGHT LONGER THAN LEFT
TFES SPACE 4,10
** TFES - EQUIPMENT STATUS TABLE FIELD DESCRIPTORS.
TFES VFD 24/0,18/TFES1,18/TFES2
.OW SET EQDE-1
.BI SET 0
TFES1 BSS 0
FIELD EQDE,(MS/DEVICE DEP/STATUS EQDE),59,12
FIELD EQDE,(CHANNEL 1 DATA ),47,12
FIELD EQDE,(CHANNEL 2 DATA ),35,12
FIELD EQDE,(DEVICE TYPE ),23,12
FIELD EQDE,(DEVICE DEPENDENT ),11,12
CON -1 END OF LEFT COLUMN
TFES2 BSS 0
FIELD EQAE,(INSTALLATION RESERVED EQAE),59,12
FIELD EQAE,(RESERVED FOR CDC ),47,12
FIELD EQAE,(DEVICE DEPENDENT ),35,12
FIELD EQAE,(RES/ACCESS LEVELS ),23,12
FIELD EQAE,(ASSIGNED EJT ORDINAL ),11,12
CON 0 END OF RIGHT COLUMN
TFES3 EQU *
ERRNG 2*TFES2-TFES1-TFES3 IF RIGHT LONGER THAN LEFT
TFFN SPACE 4,10
** TFFN - SYSTEM FILE NAME TABLE FIELD DESCRIPTORS.
TFFN VFD 24/0,18/TFFN1,18/TFFN2
.OW SET FNTG-1
.BI SET 0
TFFN1 BSS 0
FIELD FNTG,(FILE NAME FNTG),59,42
FIELD FNTG,(RES/FAT INDEX ),17,6
FIELD FNTG,(FILE TYPE ),11,6
FIELD FNTG,(RESERVED/INTERLOCK ),5,6
CON -1 END OF LEFT COLUMN
TFFN2 BSS 0
FIELD FSTG,(EST ORDINAL FSTG),59,12
FIELD FSTG,(FIRST TRACK ),47,12
FIELD FSTG,(USER COUNT FOR MOD/APP/RD ),35,24
FIELD FSTG,(ATTACH MODE/UPDATE COUNT ),11,12
CON 0 END OF RIGHT COLUMN
TFFN3 EQU *
ERRNG 2*TFFN2-TFFN1-TFFN3 IF RIGHT LONGER THAN LEFT
TFMS SPACE 4
** TFMS - MASS STORAGE TABLE FIELD DESCRIPTORS.
TFMS VFD 24/0,18/TFMS1,18/TFMS2
.OW SET TDGL-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFMS1 BSS 0
FIELD TDGL,(NUMBER OF TRACKS TDGL),59,12
FIELD TDGL,(PF INTERLOCK / COUNTS ),47,12
FIELD TDGL,(LENGTH OF TRT ),35,12
FIELD TDGL,(FIRST AVAIL TRACK PTR ),23,12
FIELD TDGL,(NUM AVAILABLE TRACKS ),11,12
FIELD ACGL,(CTI/DS FILE/CT TRK OVF ACGL),59,3
FIELD ACGL,(RESERVED ),56,3
FIELD ACGL,(DAS MMF PARITY ACCESS MASK ),53,6
FIELD ACGL,(OFFLINE DAS PARITY UNIT ),47,6
FIELD ACGL,(DAS RESTORE CYL/100B ),41,6
FIELD ACGL,(DIRECT ACCESS FILE CNT ),35,12
FIELD ACGL,(FIRST TRACK IQFT ),23,12
FIELD ACGL,(REDEFINITION STATUSES ),11,6
FIELD ACGL,(ALL MF UNLOADED/ERROR IDLE ),5,3
FIELD ACGL,(DAS ERROR/PARITY FLAGS ),2,3
FIELD SDGL,(FLAG/MST LINK DEV ADDR SDGL),59,24
FIELD SDGL,(MST/TRT UPDATE COUNT ),35,30
FIELD SDGL,(MF INDEX/CPUMTR INTERLOCKS ),5,6
FIELD ALGL,(FIRST TRACK IAPF ALGL),59,12
FIELD ALGL,(LABEL TRACK ),47,12
FIELD ALGL,(FIRST TRACK PERMITS ),35,12
FIELD ALGL,(NUMBER CATALOG TRACKS ),23,12
FIELD ALGL,(FIRST TRACK DAT ),11,12
FIELD PFGL,(FAMILY OR PACK NAME PFGL),59,42
FIELD PFGL,(DEVICE NUMBER ),17,6
FIELD PFGL,(DEVICE AL LIMIT LOWER/UPPER),11,6
FIELD PFGL,(REL UNIT MULTIUNIT DEV ),5,3
FIELD PFGL,(NUM UNIT MULTIUNIT DEV ),2,3
FIELD PUGL,(USER NUM PRIVATE PACK PUGL),59,42
FIELD PUGL,(CONT LBL TRK/DEV RES MASKS ),17,18
FIELD MDGL,(FLAGS AND DAT INDEX MDGL),59,12
FIELD MDGL,(HT FLAG / S.U. SECTOR LIMIT),47,12
FIELD MDGL,(DRIVER NAME ),35,12
FIELD MDGL,(RESERVED ),23,6
FIELD MDGL,(DRIVER INDEX ),17,6
FIELD MDGL,(SECTOR LIMIT ),11,12
FIELD NVGL,(TRACK TO BE FLAWED NVGL),59,12
FIELD NVGL,(BAT EM ADDRESS ),47,24
FIELD NVGL,(BAT TRACK CHAIN - LINK DEV.),23,12
FIELD NVGL,(RESERVED UNIT FLAGS ),11,12
FIELD ISGL,(GLOBAL INSTAL AREA ISGL),59,60
FIELD I2GL,( I2GL),59,60
FIELD DALL,(RES/DEVICE STATE DALL),59,3
FIELD DALL,(SUSPECT/RESTR. ACTIVITY ),56,3
FIELD DALL,(OUTSTANDING REQUESTS ),53,6
FIELD DALL,(UNIT INTERLOCKS ),47,12
FIELD DALL,(CYLINDER NUMBER ),35,12
FIELD DALL,(PRIORITY PP NUMBER ),23,12
FIELD DALL,(CHANNEL 2 ),11,6
FIELD DALL,(CHANNEL 1 ),5,6
FIELD DILL,(ALLOCATION FLAGS DILL),59,12
FIELD DILL,(CH 2 ACCESS 7154 FLAG ),47,6
FIELD DILL,(CH 1 ACCESS 7154 FLAG ),41,6
FIELD DILL,(*PUT* ORD OF FIRST UNIT ),35,12
FIELD DILL,(DEVICE FLAGS ),23,3
FIELD DILL,(MEMORY TYPE - 3 BIT VALUE ),20,3
FIELD DILL,(CPU TYPE - 3 BIT VALUE ),17,3
FIELD DILL,(PP PATH TYPE - 3 BIT VALUE ),14,3
FIELD DILL,(RESERVED ),11,6
FIELD DILL,(ALGORITHM INDEX ),5,6
CON -1 END OF LEFT COLUMN
TFMS2 BSS 0
FIELD DULL,(2ND LABEL/TRT SECTOR DULL),59,12
FIELD DULL,(PF INTERLOCK / COUNTS ),47,12
FIELD DULL,(RESERVED ),35,6
FIELD DULL,(MACHINE INDEX - 1 ),29,6
FIELD DULL,(CKPT FLG/SYSTEM TABLE TRACK),23,12
FIELD DULL,(FAMILY IDLE STAT/ACT COUNT ),11,12
FIELD STLL,(LOCAL STATUS FLAGS STLL),59,18
FIELD STLL,(ERROR STATUS ),41,6
FIELD STLL,(MACHINE ID ),35,12
FIELD STLL,(CURRENT USER COUNT DAF ),23,12
FIELD STLL,(NEXT EST ORDINAL IN CHAIN ),11,9
FIELD STLL,(LOCAL STATUS ),2,3
FIELD DDLL,(REDEF IN PROG/NULL EQ DDLL),59,3
FIELD DDLL,(EQUIPMENT NUMBER ),56,3
FIELD DDLL,(ORIGINAL NO. OF UNITS - 1 ),53,3
FIELD DDLL,(CURRENT NO. OF UNITS - 1 ),50,3
FIELD DDLL,(UNIT LIST ),47,48
FIELD ISLL,(LOCAL INSTAL AREA ISLL),59,60
FIELD SCLL,(SWEEP CYLINDER SCLL),59,12
FIELD SCLL,(SWEEP TIME STAMP ),47,12
FIELD SCLL,(STARTING CYLINDER SCYL),35,12
FIELD SCLL,(RESERVED ),23,06
FIELD TRLL,(FWA OF TRT TRLL),17,18
FIELD THLL,(VERIF FAILURE THRESHOLD ),59,12
FIELD THLL,(RESTRICT ACTIVITY THRESHOLD),47,12
FIELD THLL,(LOW SPACE THRESHOLD ),35,12
FIELD THLL,(RECOVERED ERROR THRESHOLD ),23,12
FIELD THLL,(UNRECOVERED ERROR THRESHOLD),11,12
FIELD CTLL,(VERIFIFICATION FAILURE CNT ),59,12
FIELD CTLL,(RESERVED ),47,24
FIELD CTLL,(RECOVERED ERROR COUNT ),23,12
FIELD CTLL,(UNRECOVERED ERROR COUNT ),11,12
FIELD EDLL,(RESERVED ),59,24
FIELD EDLL,(ERROR DATE/TIME ),35,36
FIELD MCLL,(RESERVED FOR CDC MCLL),59,24
FIELD MCLL,(MRT WRITE FLAG ),35,12
FIELD MCLL,(PP INTERLOCK BIT MASK ),23,24
FIELD BDLL,(DAS/9853 FLAGS BDLL),59,12
FIELD BDLL,(BST ADDRESS ),47,24
FIELD BDLL,(DAS MMF FLAGS ),23,6
FIELD BDLL,(READ BUFFER COUNT ),17,6
FIELD BDLL,(READ-AHEAD TRIGGER ),11,6
FIELD BDLL,(READ BUFFER THRESHOLD ),5,6
FIELD 26,(RESERVED ),59,60
FIELD 27,(RESERVED ),59,60
CON 0 END OF RIGHT COLUMN
TFMS3 EQU *
ERRNG 2*TFMS2-TFMS1-TFMS3 IF RIGHT LONGER THAN LEFT
TFJC SPACE 4
** TFJC - JOB CONTROL AREA FIELD DESCRIPTORS.
TFJC VFD 24/0,18/TFJC1,18/TFJC2
.OW SET INQT-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFJC1 BSS 0
FIELD INQT,(RESERVED INQT),59,12
FIELD INQT,(LOWER BOUND PRIORITY ),47,12
FIELD INQT,(UPPER BOUND PRIORITY ),35,12
FIELD INQT,(WEIGHTING FACTOR ),23,12
FIELD INQT,(RESERVED ),11,12
FIELD EXQT,(INIT LWR BND PRIORITY EXQT),59,12
FIELD EXQT,(LOWER BOUND PRIORITY ),47,12
FIELD EXQT,(UPPER BOUND PRIORITY ),35,12
FIELD EXQT,(WEIGHTING FACTOR ),23,12
FIELD EXQT,(INIT EXEC JOB PRIORITY ),11,12
FIELD OTQT,(RESERVED OTQT),59,12
FIELD OTQT,(LOWER BOUND PRIORITY ),47,12
FIELD OTQT,(UPPER BOUND PRIORITY ),35,12
FIELD OTQT,(WEIGHTING FACTOR ),23,12
FIELD OTQT,(RESERVED ),11,12
FIELD SVJT,(RESERVED SVJT),59,12
FIELD SVJT,(CP TIME SLICE - SECS ),47,12
FIELD SVJT,(CM TIME SLICE - SECS/10B ),35,12
FIELD SVJT,(MAX NUMBER JOBS FOR CLASS ),23,12
FIELD SVJT,(TIMEOUT DELAY FOR SUSP JOBS),11,12
FIELD MCMT,(CP SLICE PRIORITY MCMT),59,12
FIELD MCMT,(BASE PRTY FOR INT JOBS ),47,12
FIELD MCMT,(MAX CM FL FOR ANY JOB ),35,12
FIELD MCMT,(MAX CM FL FOR ALL JOBS ),23,24
FIELD MECT,(RESERVED MECT),59,24
FIELD MECT,(MAX XM FL FOR ANY JOB ),35,12
FIELD MECT,(RESERVED ),23,12
FIELD MECT,(MAX XM FL FOR ALL JOBS ),11,12
CON -1 END OF LEFT COLUMN
TFJC2 BSS 0
FIELD PFCT,(LIMIT FOR SIZE OF DAF PFCT),59,3
FIELD PFCT,(LIMIT FOR NUMBER OF PF ),56,3
FIELD PFCT,(LIMIT CUMM SIZE IAPF ),53,3
FIELD PFCT,(LIMIT FOR SIZE OF IAPF ),50,3
FIELD PFCT,(RESERVED FOR CDC ),47,36
FIELD PFCT,(SERVICE CLASS ON DETACH ),11,12
FIELD CSJT,(CPU PRIORITY CSJT),59,12
FIELD CSJT,(SYSTEM I/O CPU THRESHOLD ),47,12
FIELD CSJT,(CPU SLICE EXTENSION ),35,12
FIELD CSJT,(RECALL CPU SLICE ),23,12
FIELD CSJT,(UNEXTENDED CPU SLICE ),11,12
FIELD CSAT,(RESERVED CSAT),59,6
FIELD CSAT,(CONVERTED SLICE EXTENSION ),53,18
FIELD CSAT,(CONVERTED RECALL SLICE ),35,18
FIELD CSAT,(CONVERTED US+SE-RS ),17,18
FIELD CSBT,(RESERVED CSBT),59,42
FIELD CSBT,(CONVERTED I/O THRESHOLD ),17,18
FIELD JCTT,(CURRENT JOB COUNT JCTT),59,12
FIELD JCTT,(JOBS WAITING ),47,12
FIELD JCTT,(RESERVED ),35,36
FIELD CTMT,(TOTAL CPU ACCUMULATOR CTMT),59,60
CON 0 END OF RIGHT COLUMN
TFJC3 EQU *
ERRNG 2*TFJC2-TFJC1-TFJC3 IF RIGHT LONGER THAN LEFT
TFEB SPACE 4
** TFEB - FIELD DESCRIPTORS FOR THE EI COMMUNICATIONS
* BLOCK.
TFEB VFD 24/0,18/TFEB1,18/TFEB2
.OW SET /VE/D7TY-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFEB1 BSS 0
FIELD /VE/D7TY,(RESERVED D7TY),59,6
FIELD /VE/D7TY,(DATE POINTER ),53,18
FIELD /VE/D7TY,(TIME POINTER ),35,18
FIELD /VE/D7TY,(170 OS TYPE ),17,6
FIELD /VE/D7TY,(170 INTERFACE VERSION ),11,6
FIELD /VE/D7TY,(170 INTERFACE LEVEL ),5,6
FIELD /VE/D7JP,(JOB UNIQUE ID D7JP),59,36
FIELD /VE/D7JP,(TRAP 180 VALIDATION ),23,9
FIELD /VE/D7JP,(170 CPU PRIORITY ),14,15
FIELD /VE/D7JP+1,(JOB UNIQUE ID ),59,36
FIELD /VE/D7JP+1,(TRAP 180 VALIDATION ),23,9
FIELD /VE/D7JP+1,(170 CPU PRIORITY ),14,15
FIELD /VE/D7ST,(OPERATING MODES D7ST),59,3
FIELD /VE/D7ST,(OPERATOR FLAGS ),56,3
FIELD /VE/D7ST,(CHECKPOINT COMPLETE ),53,3
FIELD /VE/D7ST,(CHECKPOINT IN PROGRESS ),50,3
FIELD /VE/D7ST,(RESERVED ),47,9
FIELD /VE/D7ST,(DROP NOS/VE ),38,3
FIELD /VE/D7ST,(FWA MLST/MLI STATUS TABLE ),35,18
FIELD /VE/D7ST,(LENGTH OF MLST ),17,6
FIELD /VE/D7ST,(RESERVED ),11,12
FIELD /VE/D7RS,(RESERVED D7RS),59,60
FIELD /VE/D7RS+1,(RESERVED ),59,60
FIELD /VE/D7RS+2,(RESERVED ),59,27
FIELD /VE/D7RS+2,(FWA SCD PARAMETER TABLE ),32,33
FIELD /VE/D7CM,(RESERVED D7CM),59,12
FIELD /VE/D7CM,(MINCM/1000B ),47,24
FIELD /VE/D7CM,(NVE STATIC CM SIZE/1000B ),23,24
FIELD /VE/D7CM+1,(RESERVED ),59,12
FIELD /VE/D7CM+1,(NOS/VE CM FWA/1000B ),47,24
FIELD /VE/D7CM+1,(NOS/VE CM LWA+1/1000B ),23,24
FIELD /VE/D7SV,(LAST 180 CP TIME CPU0 D7SV),59,60
FIELD /VE/D7SV+1,(LAST 180 CP TIME CPU1 ),59,60
FIELD /VE/D7SV+2,(SYSTEM VERSION NAME POINTER),59,60
FIELD /VE/D7SV+3,(SYSTEM TITLE LINE POINTER ),59,60
FIELD /VE/D7SV+4,(RESERVED ),59,60
FIELD /VE/D7SV+5,(RESERVED ),59,60
FIELD /VE/D8TY,(RESERVED D8TY),59,33
FIELD /VE/D8TY,(EI VERSION ),26,9
FIELD /VE/D8TY,(180 OS TYPE ),17,6
FIELD /VE/D8TY,(180 INTERFACE VERSION ),11,6
FIELD /VE/D8TY,(180 INTERFACE LEVEL ),5,6
FIELD /VE/D8TM,(ACCUM 180 CPU0 TIME D8TM),59,60
FIELD /VE/D8TM+1,(ACCUM 180 CPU1 TIME ),59,60
FIELD /VE/D8JP,(RESERVED D8JP),59,36
FIELD /VE/D8JP,(CPU0 ACTIVE OS ),23,9
FIELD /VE/D8JP,(NOS/VE CPU0 PRIORITY ),14,15
FIELD /VE/D8JP+1,(RESERVED ),59,36
FIELD /VE/D8JP+1,(CPU1 ACTIVE OS ),23,9
FIELD /VE/D8JP+1,(NOS/VE CPU1 PRIORITY ),14,15
CON -1 END OF LEFT COLUMN
TFEB2 BSS 0
FIELD /VE/D8ST,(OPERATING MODES D8ST),59,3
FIELD /VE/D8ST,(OPERATOR FLAG ),56,3
FIELD /VE/D8ST,(CHECKPOINT COMPLETE ),53,3
FIELD /VE/D8ST,(CHECKPOINT IN PROGRESS ),50,3
FIELD /VE/D8ST,(RESERVED ),47,18
FIELD /VE/D8ST,(VPB LOGICAL PP NUMBER ),29,6
FIELD /VE/D8ST,(SVP PORT NUMBER ),23,6
FIELD /VE/D8ST,(SCD LOGICAL PP NUMBER ),17,6
FIELD /VE/D8ST,(RESERVED ),11,12
FIELD /VE/D8DS,(NVE DEADSTART STATUS D8DS),59,30
FIELD /VE/D8DS,(NVE DEADSTART INTRLK ),29,30
FIELD /VE/D8DS+1,(EI STACK FRAME ADDRESS ),59,30
FIELD /VE/D8DS+1,(C170 EXCHANGE ADDRESS ),29,30
FIELD /VE/D8DS+2,(ALT STACK FRAME ADDRESS ),59,30
FIELD /VE/D8DS+2,(ALT EXCHANGE ADDRESS ),29,30
FIELD /VE/D8SV,(ADDRESS OF SPAA D8SV),59,60
FIELD /VE/D8SV+1,(SSR POINTER WORD ),59,60
FIELD /VE/D8SV+2,(RESERVED ),59,60
FIELD /VE/D8SV+3,(RESERVED ),59,60
FIELD /VE/D8SV+4,(SCD WORD 1 ),59,60
FIELD /VE/D8SV+5,(SCD WORD 2 ),59,60
FIELD /VE/DSCM,(MAINFRAME ERROR INFO DSCM),59,60
FIELD /VE/DSCM+1,(ZERO ),59,60
FIELD /VE/DSCM+2,(CTI DIRECTORY POINTER ),59,60
FIELD /VE/DSCM+3,(DFT/OS BUFFER POINTER ),59,60
FIELD /VE/DSCM+4,(RESERVED ),59,60
FIELD /VE/DFCM,(RESERVED DFCM),59,12
FIELD /VE/DFCM,(MESSAGE LENGTH ),47,18
FIELD /VE/DFCM,(RESERVED ),29,12
FIELD /VE/DFCM,(MESSAGE SEQUENCE NUMBER ),17,18
FIELD /VE/DFCM+1,(DFT MESSAGE WORD 1 ),59,60
FIELD /VE/DFCM+2,(DFT MESSAGE WORD 2 ),59,60
FIELD /VE/DFCM+3,(DFT MESSAGE WORD 3 ),59,60
FIELD /VE/DFCM+4,(RESERVED ),59,60
FIELD /VE/DFCM+5,(RESERVED ),59,60
FIELD /VE/DFCM+6,(RESERVED ),59,60
FIELD /VE/DFCM+7,(RESERVED ),59,60
FIELD /VE/DFCM+8,(RESERVED ),59,60
FIELD /VE/DFCM+9,(RESERVED ),59,60
FIELD /VE/DFCM+10,(RESERVED ),59,60
CON 0 END OF RIGHT COLUMN
TFEB3 EQU *
ERRNG 2*TFEB2-TFEB1-TFEB3 RIGHT COLUMN LONGER THAN LEFT
TFQF SPACE 4,10
** TFQF - QUEUED FILE TABLE FIELD DESCRIPTORS.
TFQF VFD 24/0,18/TFQF1,18/TFQF2
.OW SET JSNQ-1
.BI SET 0
TFQF1 BSS 0
FIELD JSNQ,(JSN JSNQ),59,24
FIELD JSNQ,(FAMILY ORDINAL ),35,6
FIELD JSNQ,(USER INDEX ),29,18
FIELD JSNQ,(DISPOSITION TYPE ),11,6
FIELD JSNQ,(STATUS ),5,6
FIELD ENTQ,(EST ORDINAL ENTQ),59,12
FIELD ENTQ,(FIRST TRACK ),47,12
FIELD ENTQ,(RESERVED ),35,9
FIELD ENTQ,(FILE SIZE INDEX ),26,3
FIELD ENTQ,(ENTRY TIME ),23,24
CON -1 END OF LEFT COLUMN
TFQF2 BSS 0
FIELD INSQ,(INSTALLATION RESERVED INSQ),59,12
FIELD INSQ,(DESTINATION LID ),47,18
FIELD INSQ,(RESERVED ),29,12
FIELD INSQ,(FILE ACCESS LVL/LIMIT/RES ),17,12
FIELD INSQ,(REPEAT COUNT ),5,6
FIELD SCLQ,(SERVICE CLASS SCLQ),59,6
FIELD SCLQ,(FILE ORIGIN TYPE ),53,6
FIELD SCLQ,(LOCAL PRINTER ID/FO-UI ),47,24
FIELD SCLQ,(RES/FILE CHARACTERISTICS ),23,12
FIELD SCLQ,(FORMS CODE ),11,12
CON 0 END OF RIGHT COLUMN
TFQF3 EQU *
ERRNG 2*TFQF2-TFQF1-TFQF3 IF RIGHT LONGER THAN LEFT
TFSD SPACE 4,10
** TFSD - STATISTICAL DATA AREA FIELD DESCRIPTIONS.
TFSD VFD 24/0,18/TFSD1,18/TFSD2
.OW SET JS0S-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFSD1 BSS 0
FIELD JS0S,(EJT SCANS JS0S),59,24
FIELD JS0S,(SCHEDULABLE JOBS ),35,36
FIELD JS1S,(RESERVED FOR CDC JS1S),59,12
FIELD JS1S,(JOBS PREEMPTED ),47,24
FIELD JS1S,(JOBS SCHEDULED ),23,24
FIELD JS2S,(RESERVED FOR CDC JS2S),59,12
FIELD JS2S,(JOBS SCHED NO CONSTRAINTS ),47,24
FIELD JS2S,(EJT SCANS INSUFFICIENT CM ),23,24
FIELD JS3S,(RESERVED FOR CDC JS3S),59,12
FIELD JS3S,(EJT SCANS INSUFFICIENT EM ),47,24
FIELD JS3S,(EJT SCANS NO CP ),23,24
FIELD PF0S,(RESERVED FOR CDC PF0S),59,12
FIELD PF0S,(ROLLOUTS FOR RES LIMITS ),47,24
FIELD PF0S,(TIME SLICES ),23,24
FIELD MTRS,(RESERVED FOR CDC MTRS),59,12
FIELD MTRS,(MTR CLOCK UPDATES MISSED ),47,12
FIELD MTRS,(MTR WORST CASE MXN TIME ),35,12
FIELD MTRS,(WORST CASE MTR CYCLE TIME ),23,12
FIELD MTRS,(CURRENT MTR CYCLE TIME ),11,12
FIELD CMMS,(CM STORAGE MOVES CMMS),59,60
FIELD EMMS,(EM STORAGE MOVES EMMS),59,60
FIELD DMMS,(DIRECT MOVES DMMS),59,60
CON -1 END OF LEFT COLUMN
TFSD2 BSS 0
FIELD CBNS,(COM BUFFER NOT AVAIL CBNS),59,60
FIELD PRXS,(PP PRIORITY EXCHANGES PRXS),59,60
FIELD ROTS,(MASS STORAGE ROLLOUTS ROTS),59,60
FIELD POTS,(PSEUDO-ROLLOUTS POTS),59,60
FIELD PCTS,(PCP ROLLOUTS PCTS),59,60
FIELD SOTS,(ROLLOUTS TO SEC DEV SOTS),59,60
FIELD NROS,(SECTORS ROLLED OUT NROS),59,60
FIELD NSRS,(SEC ROLLED TO SEC DEV NSRS),59,60
FIELD PCNS,(NO PCP AVAILABLE PCNS),59,60
FIELD DM1S,(CURRENT BRT ENTRIES DM1S),59,12
FIELD DM1S,(WORST CASE BRT ENTRIES ),47,12
FIELD DM1S,(BRT ENTRIES REJECTED ),35,12
FIELD DM1S,(TOTAL BRT ENTRIES ),23,24
FIELD DM2S,(CURRENT MTE CYCLE TIME DM2S),59,12
FIELD DM2S,(WORST CASE MTE CYCLE TIME ),47,12
FIELD DM2S,(BAT INTERLOCK UNAVAIL. ),35,12
FIELD DM2S,(TOTAL BAT REQUESTS ),23,24
CON 0 END OF RIGHT COLUMN
TFSD3 EQU *
ERRNG 2*TFSD2-TFSD1-TFSD3 IF RIGHT LONGER THAN LEFT
TSCT SPACE 4,10
** TSCT - SERVICE CLASS CONTROL TABLE.
TSCT VFD 24/0,18/TSCT1,18/TSCT2
.OW SET SYOT-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TSCT1 BSS 0
FIELD SYOT,(RESERVED FOR INSTALLATIONS ),59,12
FIELD SYOT,(RESERVED FOR CDC ),47,6
FIELD SYOT,(ACCESS LEVEL LOWER LIMIT ),41,3
FIELD SYOT,(ACCESS LEVEL UPPER LIMIT ),38,3
FIELD SYOT,(VALIDATION MASK FOR SYOT ),35,36
FIELD BCOT,(RESERVED FOR INSTALLATIONS ),59,12
FIELD BCOT,(RESERVED FOR CDC ),47,6
FIELD BCOT,(ACCESS LEVEL LOWER LIMIT ),41,3
FIELD BCOT,(ACCESS LEVEL UPPER LIMIT ),38,3
FIELD BCOT,(VALIDATION MASK FOR BCOT ),35,36
FIELD EIOT,(RESERVED FOR INSTALLATIONS ),59,12
FIELD RBOT,(RESERVED FOR CDC ),47,6
FIELD RBOT,(ACCESS LEVEL LOWER LIMIT ),41,3
FIELD RBOT,(ACCESS LEVEL UPPER LIMIT ),38,3
FIELD RBOT,(VALIDATION MASK FOR RBOT ),35,36
FIELD IAOT,(RESERVED FOR INSTALLATIONS ),59,12
FIELD IAOT,(RESERVED FOR CDC ),47,6
FIELD IAOT,(ACCESS LEVEL LOWER LIMIT ),41,3
FIELD IAOT,(ACCESS LEVEL UPPER LIMIT ),38,3
FIELD IAOT,(VALIDATION MASK FOR IAOT ),35,36
FIELD MXOT-2,(RESERVED FOR FUTURE OT ),59,60
FIELD MXOT-1,(RESERVED FOR FUTURE OT ),59,60
CON -1 END OF LEFT COLUMN
TSCT2 BSS 0
FIELD PLSC,(P0 SERVICE CLASS ),59,12
FIELD PLSC,(P1 SERVICE CLASS ),47,12
FIELD PLSC,(P2 SERVICE CLASS ),35,12
FIELD PLSC,(P3 SERVICE CLASS ),23,12
FIELD PLSC,(P4 SERVICE CLASS ),11,12
FIELD PLSC+1,(P5 SERVICE CLASS ),59,12
FIELD PLSC+1,(P6 SERVICE CLASS ),47,12
FIELD PLSC+1,(P7 SERVICE CLASS ),35,12
FIELD PLSC+1,(RESERVED FOR CDC ),23,24
FIELD PLSC+2,(RESERVED FOR INSTALLATION ),59,60
FIELD PLSC+3,(RESERVED FOR CDC ),59,60
FIELD PLSC+4,(RESERVED FOR CDC ),59,60
FIELD PLSC+5,(RESERVED FOR CDC ),59,60
CON 0 END OF RIGHT COLUMN
TSCT3 EQU *
ERRNG 2*TSCT2-TSCT1-TSCT3 IF RIGHT LONGER THAN LEFT
TCPR SPACE 4,10
** TCPR - CPU REQUEST QUEUE FIELD DESCRIPTORS.
TCPR VFD 24/0,18/TCPR1,18/TCPR2
.OW SET CWQW-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TCPR1 BSS 0
FIELD CWQW,(CPU PRIORITY/FLAGS CWQW),59,12
FIELD CWQW,(SLICE/RECALL FLAGS ),47,3
FIELD CWQW,(SERVICE CYCLE NUMBER ),44,9
FIELD CWQW,(CPU SCHED SERVICE INDEX ),35,9
FIELD CWQW,(CPU FLAGS/RES/EXPACK TYPE ),26,9
FIELD CWQW,(*WQ* LINKAGE ),17,18
CON -1 END OF LEFT COLUMN
TCPR2 BSS 0
FIELD CSAW,(ZERO CSAW),59,6
FIELD CSAW,(CPU TIME THRESHOLD ),53,18
FIELD CSAW,(RECALL SLICE ACCUMULATOR ),35,18
FIELD CSAW,(CPU SLICE ACCUMULATOR ),17,18
CON 0 END OF RIGHT COLUMN
TCPR3 EQU *
ERRNG 2*TCPR2-TCPR1-TCPR3 IF RIGHT LONGER THAN LEFT
TPPR SPACE 4,10
** TPPR - PP REQUEST QUEUE FIELD DESCRIPTORS.
TPPR VFD 24/0,18/TPPR1,18/TPPR2
TPPR1 BSS 0
FIELD TPPRA,(RESERVED RCCW),59,48,I
FIELD TPPRA,(LINK TO NEXT ENTRY ),11,12,I
CON -1 END OF LEFT COLUMN
TPPR2 BSS 0
FIELD TPPRB,(PP INPUT REGISTER RECW),59,60,I
FIELD TPPRC,(PP MESSAGE BUFFER REPW),59,60,I
CON 0 END OF RIGHT COLUMN
TPPR3 EQU *
ERRNG 2*TPPR2-TPPR1-TPPR3 IF RIGHT LONGER THAN LEFT
TPPRA CON 0 ACTUAL RCCW ADDRESS
TPPRB CON 0 ACTUAL RECW ADDRESS
TPPRC CON 0 ACTUAL REPW ADDRESS
TCRL SPACE 4,10
** TCRL - CPU RECALL QUEUE FIELD DESCRIPTORS.
TCRL VFD 24/0,18/TCRL1,18/TCRL2
.OW SET CRCW-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TCRL1 BSS 0
FIELD CRCW,(RECALL CRITERION NO. CRCW),59,12
FIELD CRCW,(RECALL CRITERION PARMS. ),47,36
FIELD CRCW,(LINK TO NEXT ENTRY ),11,12
CON -1 END OF LEFT COLUMN
TCRL2 BSS 0
CON 0 END OF RIGHT COLUMN
TCRL3 EQU *
ERRNG 2*TCRL2-TCRL1-TCRL3 IF RIGHT LONGER THAN LEFT
TPRL SPACE 4,10
** TPRL - PP RECALL QUEUE FIELD DESCRIPTORS
TPRL VFD 24/0,18/TPRL1,18/TPRL2
TPRL1 BSS 0
FIELD TPRLA,(RECALL CRITERION NO. RCCW),59,12,I
FIELD TPRLA,(RECALL CRITERION PARMS. ),47,36,I
FIELD TPRLA,(LINK TO NEXT ENTRY ),11,12,I
CON -1 END OF LEFT COLUMN
TPRL2 BSS 0
FIELD TPRLB,(PP INPUT REGISTER RECW),59,60,I
FIELD TPRLC,(PP MESSAGE BUFFER REPW),59,60,I
CON 0 END OF RIGHT COLUMN
TPRL3 EQU *
ERRNG 2*TPRL2-TPRL1-TPRL3 IF RIGHT LONGER THAN LEFT
TPRLA CON 0 ACTUAL RCCW ADDRESS
TPRLB CON 0 ACTUAL RECW ADDRESS
TPRLC CON 0 ACTUAL REPW ADDRESS
TFTT SPACE 4
** TFTT - IAF TERMINAL TABLE FIELD DESCRIPTORS.
TFTT VFD 24/0,18/TFTT1,18/TFTT2
.OW SET /REM/VUIT-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFTT1 BSS 0
FIELD /REM/VUIT,(USER NAME VUIT),59,42
FIELD /REM/VUIT,(FAMILY ORDINAL ),17,6
FIELD /REM/VUIT,(EJT ORDINAL ),11,12
FIELD /REM/VFNT,(PRIMARY FILE NAME VFNT),59,42
FIELD /REM/VFNT,(MODE ),17,6
FIELD /REM/VFNT,(RESERVED ),11,12
FIELD /REM/VFST,(JOB SEQUENCE NUMBER VFST),59,24
FIELD /REM/VFST,(TOTAL I/O OVERFLOW COUNT ),35,12
FIELD /REM/VFST,(SMF STATE CODE ),23,6
FIELD /REM/VFST,(SM TIMEOUT/NEXT OP INDEX ),17,6
FIELD /REM/VFST,(EXTRA POT POINTER ),11,12
FIELD /REM/VROT,(NEXT OPER INDICATOR VROT),59,6
FIELD /REM/VROT,(PREPROCESSOR INDEX ),53,6
FIELD /REM/VROT,(CONT STMNT POT POINTER ),47,12
FIELD /REM/VROT,(*1TO* STATUS ),35,12
FIELD /REM/VROT,(SUB-STATUS ),23,12
FIELD /REM/VROT,(STATUS ),11,12
FIELD /REM/VDPT,(FIRST POT VDPT),59,12
FIELD /REM/VDPT,(CURRENT POT ),47,12
FIELD /REM/VDPT,(POT POSITION ),35,12
FIELD /REM/VDPT,(CONTROL FLAGS ),23,12
FIELD /REM/VDPT,(ROUTINE ADDRESS ),11,12
CON -1 END OF LEFT COLUMN
TFTT2 BSS 0
FIELD /REM/VCHT,(REENTRY ADDRESS VCHT),59,12
FIELD /REM/VCHT,(12 BIT (X7) ),47,12
FIELD /REM/VCHT,((B3) ),35,12
FIELD /REM/VCHT,(INPUT CHARACTER COUNT ),23,12
FIELD /REM/VCHT,(OUTPUT CHARACTER COUNT ),11,12
FIELD /REM/VDCT,(DRIVER FLAGS VDCT),59,12
FIELD /REM/VDCT,(CONTROL INFORMATION ),47,12
FIELD /REM/VDCT,(AUTO ),35,12
FIELD /REM/VDCT,(ACCESS LEVEL ),23,12
FIELD /REM/VDCT,(NEXT MESSAGE ),11,12
FIELD /REM/VSTT,(GENERAL FLAGS VSTT),59,12
FIELD /REM/VSTT,(FIRST POT SOURCE ),47,12
FIELD /REM/VSTT,(POT COUNT ),35,12
FIELD /REM/VSTT,(INIT CHAR SET/CURR SYS ),23,12
FIELD /REM/VSTT,(QUEUED OUTPUT POT POINTER ),11,12
CON 0 END OF RIGHT COLUMN
TFTT3 EQU *
ERRNG 2*TFTT2-TFTT1-TFTT3 IF RIGHT LONGER THAN LEFT
TFMT SPACE 4,10
** TFMT - IAF MESSAGE STATUS TABLE FIELD DESCRIPTORS.
TFMT VFD 24/0,18/TFMT1,18/TFMT2
.OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFMT1 BSS 0
FIELD 0,(FLAGS/DEVICE TYPE VMST),59,24
FIELD 0,(UNACKNOW DWNSTRM BLOCK CNT ),35,3
FIELD 0,(APPLICATION BLOCK LIMIT ),32,3
FIELD 0,(RESERVED ),29,6
FIELD 0,(NUMBER OF OUTPUT POTS ),23,6
FIELD 0,(SUPERVISORY MSG POT PNTR ),17,18
CON -1 END OF LEFT COLUMN
TFMT2 BSS 0
CON 0 END OF RIGHT COLUMN
TFMT3 EQU *
ERRNG 2*TFMT2-TFMT1-TFMT3 IF RIGHT LONGER THAN LEFT
TFMU SPACE 4
** TFMU - MAGNET UNIT DESCRIPTOR TABLE FIELD DESCRIPTORS.
TFMU VFD 24/0,18/TFMU1,18/TFMU2
.OW SET /MTX/UXRQ-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFMU1 BSS 0
FIELD /MTX/UXRQ,(RETURN STATUS RS UXRQ),59,12
FIELD /MTX/UXRQ,(FUNCTION NUMBER FN ),47,12
FIELD /MTX/UXRQ,(MODE MD ),35,12
FIELD /MTX/UXRQ,(PARAMETER A PA ),23,12
FIELD /MTX/UXRQ,(PARAMETER B PB ),11,12
FIELD /MTX/UFRQ,(FILE REQUEST UFRQ),59,12
FIELD /MTX/UFRQ,(FILE REQUEST STATUS ),47,12
FIELD /MTX/UFRQ,(RESERVED ),35,24
FIELD /MTX/UFRQ,(TAPE FILE FNT ADDRESS ),11,12
FIELD /MTX/UCIA,(INTERNAL CIO CODE UCIA),59,12
FIELD /MTX/UCIA,(FET LENGTH ),47,6
FIELD /MTX/UCIA,(SKIP COUNT ),41,18
FIELD /MTX/UCIA,(FET ADDRESS ),23,24
FIELD /MTX/UCIB,(RCL/DATA/EXT CIO CODE UCIB),59,12
FIELD /MTX/UCIB,(USER FET OPTIONS ),47,12
FIELD /MTX/UCIB,(LEVEL NUMBER ),35,6
FIELD /MTX/UCIB,(MLRS FOR S OR L FORMAT ),29,30
FIELD /MTX/UCIC,(JOB FIELD LENGTH UCIC),59,12
FIELD /MTX/UCIC,(FIRST ),47,24
FIELD /MTX/UCIC,(LIMIT ),23,24
FIELD /MTX/UST1,(EQUIP DESCRIPTION ED UST1),59,12
FIELD /MTX/UST1,(HARDWARE OPTIONS HP ),47,12
FIELD /MTX/UST1,(EST ORDINAL EO ),35,12
FIELD /MTX/UST1,(EXTENDED STATUS ES ),23,12
FIELD /MTX/UST1,(DEVICE STATUS DS ),11,12
FIELD /MTX/UST2,(ERROR ITERATION EI UST2),59,12
FIELD /MTX/UST2,(BLOCK ID WINDOW POINTER ),47,12
FIELD /MTX/UST2,(TAPE BLOCK COUNT BC ),35,24
FIELD /MTX/UST2,(USER OPTIONS UP ),11,12
FIELD /MTX/UST3,(LAST GOOD RECORD LG UST3),59,24
FIELD /MTX/UST3,(ERROR PARAMETERS EP ),35,24
FIELD /MTX/UST3,(REQUEST ERROR CODE EC ),11,12
FIELD /MTX/UST4,(LABEL TYPE, FLAGS LT UST4),59,12
FIELD /MTX/UST4,(SOFTWARE OPTIONS SP ),47,12
FIELD /MTX/UST4,(FORMAT/NOISE DEF EO ),35,12
FIELD /MTX/UST4,(BLOCK WORD COUNT WC ),23,12
FIELD /MTX/UST4,(CHUNK COUNT OV ),11,12
FIELD /MTX/UST5,(DENSITY/CONV MODE UST5),59,12
FIELD /MTX/UST5,(ERROR SUB-CODE ),47,12
FIELD /MTX/UST5,(RESERVED ),35,36
FIELD /MTX/UDS1,(DETAILED STATUS UDS1),59,60
FIELD /MTX/UDS2,(DETAILED STATUS UDS2),59,60
FIELD /MTX/UDS3,(DETAILED STATUS UDS2),59,60
FIELD /MTX/UDS4,(DET STAT/FORMAT PARAM UDS4),59,60
FIELD /MTX/UDS5,(DET STAT/BID WINDOW UDS5),59,24
FIELD /MTX/UDS6,(DET STAT/BID WINDOW UDS6),35,36
FIELD /MTX/UERC,(LATE DATA ERRORS UERC),59,18
FIELD /MTX/UERC,(WRITE ERRORS ),41,18
FIELD /MTX/UERC,(RESERVED ),23,6
FIELD /MTX/UERC,(READ ERRORS ),17,18
FIELD /MTX/UBLC,(BLOCKS READ COUNT UBLC),59,24
FIELD /MTX/UBLC,(BLOCKS WRITTEN COUNT ),35,24
FIELD /MTX/UBLC,(BLOCKS SKIPPED COUNT ),11,12
FIELD /MTX/ULRQ,(LAST PP REQUEST ULRQ),59,60
FIELD /MTX/UMSG,(TMS MESSAGE UMB1),59,60
FIELD /MTX/UMSG+1,(TMS MESSAGE ),59,60
FIELD /MTX/UMSG+2,(TMS MESSAGE ),59,60
FIELD /MTX/UMSG+3,(TMS MESSAGE ),59,60
CON -1 END OF LEFT COLUMN
TFMU2 BSS 0
FIELD /MTX/UREQ,(ZERO UREQ),59,6
FIELD /MTX/UREQ,(SHIFT COUNT ),53,6
FIELD /MTX/UREQ,(PROCESSOR ADDRESS ),47,12
FIELD /MTX/UREQ,(PARAMETER ),35,36
FIELD /MTX/UFLA,(MAGNET FLAGS UFLA),59,12
FIELD /MTX/UFLA,(PP REQUEST TO REISSUE ),47,48
FIELD /MTX/UTIM,(TIME OF LABEL READ UTIM),59,24
FIELD /MTX/UTIM,(RESERVED ),35,36
FIELD /MTX/UVRI,(EJT ORDINAL UVRI),59,12
FIELD /MTX/UVRI,(FLAGS ),47,6
FIELD /MTX/UVRI,(VSN FILE RANDOM ADDRESS ),41,18
FIELD /MTX/UVRI,(REEL NUMBER ),23,12
FIELD /MTX/UVRI,(FLAGS ),11,12
FIELD /MTX/UTMS,(TFM REQUEST UTMS),59,12
FIELD /MTX/UTMS,( ),47,12
FIELD /MTX/UTMS,(WRITE REEL ),35,12
FIELD /MTX/UTMS,(WAIT UNIT GO FLAGS ),23,12
FIELD /MTX/UTMS,(TMS RETURN STATUS ),11,12
FIELD /MTX/UTCI,(FNT ORDINAL UTCI),59,12
FIELD /MTX/UTCI,(POSMF CATALOG ),47,24
FIELD /MTX/UTCI,(CURRENT CATALOG ),23,24
FIELD /MTX/UESN,(EXTERNAL VSN UESN),59,36
FIELD /MTX/UESN,(RESOURCE MNEMONIC ),23,12
FIELD /MTX/UESN,(PREVIEW DISPLAY FLAGS ),11,12
FIELD /MTX/UISN,(INTERNAL VSN UISN),59,36
FIELD /MTX/UISN,(PREVIEW DISPLAY FLAGS ),23,6
FIELD /MTX/UISN,(PREV DISP MESSAGE CODE ),17,6
FIELD /MTX/UISN,(PREV DISP MESSAGE EST ),11,12
FIELD /MTX/UUFN,(USER NAME UUFN),59,42
FIELD /MTX/UUFN,(FAMILY ORDINAL ),17,6
FIELD /MTX/UUFN,(SPECIFIED FILE ACCESS ),11,6
FIELD /MTX/UUFN,(RESERVED ),5,6
FIELD /MTX/UVSN,(VOLUME SERIAL NUMBER UVSN),59,36
FIELD /MTX/UVSN,(LABEL PROCESSING FLAGS ),23,12
FIELD /MTX/UVSN,(RESERVED ),11,12
FIELD /MTX/UFID,(FILE IDENTIFIER UFID),59,60
FIELD /MTX/UFSN,(FILE ID CONTINUED UFSN),59,42
FIELD /MTX/UFSN,(FILE SECTION NUMBER ),17,18
FIELD /MTX/USID,(SET IDENTIFIER USID),59,36
FIELD /MTX/USID,(FILE ACCESSIBILITY ),23,6
FIELD /MTX/USID,(FILE SEQUENCE NUMBER ),17,18
FIELD /MTX/UGNU,(RESERVED UGNU),59,12
FIELD /MTX/UGNU,(EST ORDINAL WRITTEN ON ),47,12
FIELD /MTX/UGNU,(VOLUME ACCESSIBILITY ),35,6
FIELD /MTX/UGNU,(GENERATION VERSION ),29,12
FIELD /MTX/UGNU,(GENERATION NUMBER ),17,18
FIELD /MTX/UDAT,(CREATION DATE UDAT),59,30
FIELD /MTX/UDAT,(EXPIRATION DATE ),29,30
FIELD /MTX/UMST,(ACS VSN UMST),59,36
FIELD /MTX/UMST,(CONTROL PATH DATA ),23,12
FIELD /MTX/UMST,(FLAGS, MOUNT STATUS ),11,12
FIELD /MTX/UARP,(RESERVED, REQUEST ID UARP),59,18
FIELD /MTX/UARP,(ACS REQUEST CODE ),41,6
FIELD /MTX/UARP,(ACS RESPONSE CODE ),35,6
FIELD /MTX/UARP,(RESERVED ),29,6
FIELD /MTX/UARP,(TIME OF REQUEST TIMEOUT ),23,24
CON 0 END OF RIGHT COLUMN
TFMU3 EQU *
ERRNG 2*TFMU2-TFMU1-TFMU3 IF RIGHT LONGER THAN LEFT
TLCW SPACE 4,10
** TLCW - *BDT* LIST CONTROL WORD FIELD DESCRIPTORS.
TLCW VFD 24/0,18/TLCW1,18/TLCW2
.OW SET /HIO/EMTP-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TLCW1 BSS 0
FIELD /HIO/EMTP,(RESERVED EMTP),59,6
FIELD /HIO/EMTP,(EMPTY BUFFER COUNT ),53,18
FIELD /HIO/EMTP,(EMPTY BUFFER - LAST ORDINAL),35,18
FIELD /HIO/EMTP,(EMPTY BUFFER - 1ST ORDINAL ),17,18
FIELD /HIO/DWTP,(RESERVED DWTP),59,6
FIELD /HIO/DWTP,(DATA WRITTEN BUFFER COUNT ),53,18
FIELD /HIO/DWTP,(DATA WRT BUF - LAST ORDINAL),35,18
FIELD /HIO/DWTP,(DATA WRT BUF - 1ST ORDINAL ),17,18
FIELD /HIO/DRDP,(RESERVED DRDP),59,6
FIELD /HIO/DRDP,(READ DATA BUFFER COUNT ),53,18
FIELD /HIO/DRDP,(RD DATA BUF - LAST ORDINAL ),35,18
FIELD /HIO/DRDP,(RD DATA BUF - 1ST ORDINAL ),17,18
FIELD /HIO/WRTP,(RESERVED WRTP),59,6
FIELD /HIO/WRTP,(WRITE DATA BUFFER COUNT ),53,18
FIELD /HIO/WRTP,(WRT DATA BUF - LAST ORDINAL),35,18
FIELD /HIO/WRTP,(WRT DATA BUF - 1ST ORDINAL ),17,18
FIELD /HIO/IORQP,(I/O REQUEST IORQP),59,60
CON -1 END OF LEFT COLUMN
TLCW2 BSS 0
CON 0 END OF RIGHT COLUMN
TLCW3 EQU *
ERRNG 2*TLCW2-TLCW1-TLCW3 IF RIGHT LONGER THAN LEFT
TIBS SPACE 4,10
** TIBS - I/O BUFFER STATISTICS TABLE FIELD DESCRIPTORS.
TIBS VFD 24/0,18/TIBS1,18/TIBS2
.OW SET /HIO/EMTBC-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TIBS1 BSS 0
FIELD /HIO/EMTBC,(REALLOC EMPTY BUFS EMTBC),59,60
FIELD /HIO/DWTBC,(REALLOC DATA WRT BUFS DWTBC),59,60
FIELD /HIO/DRDBC,(REALLOC RD DATA BUFS DRDBC),59,60
FIELD /HIO/WRTBC,(REALLOC WRT DATA BUFS WRTBC),59,60
CON -1 END OF LEFT COLUMN
TIBS2 BSS 0
CON 0 END OF RIGHT COLUMN
TIBS3 EQU *
ERRNG 2*TIBS2-TIBS1-TIBS3 IF RIGHT LONGER THAN LEFT
TPLT SPACE 4,10
** TPLT - PP LINK TABLE FIELD DESCRIPTORS.
TPLT VFD 24/0,18/TPLT1,18/TPLT2
.OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TPLT1 BSS 0
FIELD 0,(CONTROL BUF ORDINAL - PP 0 ),59,60
FIELD 1,( PP 1 ),59,60
FIELD 2,( PP 2 ),59,60
FIELD 3,( PP 3 ),59,60
FIELD 4,( PP 4 ),59,60
FIELD 5,( PP 5 ),59,60
FIELD 6,( PP 6 ),59,60
FIELD 7,( PP 7 ),59,60
FIELD 10,( PP 10),59,60
FIELD 11,( PP 11),59,60
FIELD 12,( PP 20),59,60
FIELD 13,( PP 21),59,60
FIELD 14,( PP 22),59,60
FIELD 15,( PP 23),59,60
FIELD 16,( PP 24),59,60
FIELD 17,( PP 25),59,60
FIELD 20,( PP 26),59,60
FIELD 21,( PP 27),59,60
FIELD 22,( PP 30),59,60
FIELD 23,( PP 31),59,60
CON -1 END OF LEFT COLUMN
TPLT2 BSS 0
CON 0 END OF RIGHT COLUMN
TPLT3 EQU *
ERRNG 2*TPLT2-TPLT1-TPLT3 IF RIGHT LONGER THAN LEFT
TCBE SPACE 4,10
** TCBE - CONTROL BUFFER TABLE FIELD DESCRIPTORS.
TCBE VFD 24/0,18/TCBE1,18/TCBE2 PRINTER OUTPUT
VFD 24/0,18/TCBE1,18/0 TERMINAL OUTPUT
.OW SET /HIO/PAD1-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TCBE1 BSS 0
FIELD /HIO/PAD1,( RESERVED PAD1),59,6
FIELD /HIO/PAD1,( PHYS UNIT NUMBER ),53,6
FIELD /HIO/PAD1,( PHYS CYL NUMBER ),47,12
FIELD /HIO/PAD1,( PHYS TRACK NUMBER ),35,6
FIELD /HIO/PAD1,( PHYS SECTOR NUMBER),29,6
FIELD /HIO/PAD1,( DATA FLAGS ),23,12
FIELD /HIO/PAD1,( NEXT SECTOR LINK ),11,12
FIELD /HIO/PAD2,( RESERVED PAD2),59,6
FIELD /HIO/PAD2,( PHYS UNIT NUMBER ),53,6
FIELD /HIO/PAD2,( PHYS CYL NUMBER ),47,12
FIELD /HIO/PAD2,( PHYS TRACK NUMBER ),35,6
FIELD /HIO/PAD2,( PHYS SECTOR NUMBER),29,6
FIELD /HIO/PAD2,( DATA FLAGS ),23,12
FIELD /HIO/PAD2,( NEXT SECTOR LINK ),11,12
FIELD /HIO/PAD3,( RESERVED PAD3),59,6
FIELD /HIO/PAD3,( PHYS UNIT NUMBER ),53,6
FIELD /HIO/PAD3,( PHYS CYL NUMBER ),47,12
FIELD /HIO/PAD3,( PHYS TRACK NUMBER ),35,6
FIELD /HIO/PAD3,( PHYS SECTOR NUMBER),29,6
FIELD /HIO/PAD3,( DATA FLAGS ),23,12
FIELD /HIO/PAD3,( NEXT SECTOR LINK ),11,12
FIELD /HIO/PAD4,( RESERVED PAD4),59,6
FIELD /HIO/PAD4,( PHYS UNIT NUMBER ),53,6
FIELD /HIO/PAD4,( PHYS CYL NUMBER ),47,12
FIELD /HIO/PAD4,( PHYS TRACK NUMBER ),35,6
FIELD /HIO/PAD4,( PHYS SECTOR NUMBER),29,6
FIELD /HIO/PAD4,( DATA FLAGS ),23,12
FIELD /HIO/PAD4,( NEXT SECTOR LINK ),11,12
CON -1 END OF LEFT COLUMN
TCBE2 BSS 0
FIELD /HIO/FSTC,(FST INFORMATION FSTC),59,60
FIELD /HIO/IOLK,(GENERAL FLAGS IOLK),59,12
FIELD /HIO/IOLK,(UNIT I/O QUEUE BACK LINK ),47,12
FIELD /HIO/IOLK,(UNIT I/O QUEUE FORWARD LINK),35,12
FIELD /HIO/IOLK,(I/O BUFFER ADDRESS ),23,24
FIELD /HIO/HSLK,(I/O ERROR INFORMATION HSLK),59,12
FIELD /HIO/HSLK,(HASH LIST BACK LINK ),47,12
FIELD /HIO/HSLK,(HASH LIST FORWARD LINK ),35,12
FIELD /HIO/HSLK,(BUFFER RESID LIST INDEX ),23,3
FIELD /HIO/HSLK,(BUFFER HASH INDEX ),20,9
FIELD /HIO/HSLK,(*PUT* ORDINAL ),11,12
FIELD /HIO/LSLK,(ACTIVITY COUNT LSLK),59,12
FIELD /HIO/LSLK,(BUFFER LIST BACKWARD LINK ),47,12
FIELD /HIO/LSLK,(BUFFER LIST FORWARD LINK ),35,12
FIELD /HIO/LSLK,(CONTROL POINT NUMBER ),23,6
FIELD /HIO/LSLK,(RECALL ENTRY ADDRESS ),17,18
CON 0 END OF RIGHT COLUMN
TCBE3 EQU *
ERRNG 2*TCBE2-TCBE1-TCBE3 IF RIGHT LONGER THAN LEFT
TCCE SPACE 4,10
** TCCE - CHANNEL CONTROL TABLE FIELD DESCRIPTORS.
TCCE VFD 24/0,18/TCCE1,18/TCCE2 PRINTER OUTPUT
VFD 24/0,18/TCCE1,18/0 TERMINAL OUTPUT
.OW SET /HIO/CREQ-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TCCE1 BSS 0
FIELD /HIO/CREQ,(CHANNEL BUSY FLAG CREQ),59,12
FIELD /HIO/CREQ,(RETRY REQUEST ),47,24
FIELD /HIO/CREQ,(PENDING REQUEST ),23,12
FIELD /HIO/CREQ,(ACTIVE REQUEST ),11,12
FIELD /HIO/CCNT,(REQUEST INIT FLAGS CCNT),59,12
FIELD /HIO/CCNT,(SECOND CHANNEL ),47,6
FIELD /HIO/CCNT,(FIRST CHANNEL ),41,6
FIELD /HIO/CCNT,(REQUESTS PROCESSED COUNT ),35,36
CON -1 END OF LEFT COLUMN
TCCE2 BSS 0
FIELD /HIO/CUN1,(*PUT* ORD FOR UNIT 3 CUN1),59,24
FIELD /HIO/CUN1,( UNIT 2 ),35,12
FIELD /HIO/CUN1,( UNIT 1 ),23,12
FIELD /HIO/CUN1,( UNIT 0 ),11,12
FIELD /HIO/CUN2,(*PUT* ORD FOR UNIT 7 CUN2),59,24
FIELD /HIO/CUN2,( UNIT 6 ),35,12
FIELD /HIO/CUN2,( UNIT 5 ),23,12
FIELD /HIO/CUN2,( UNIT 4 ),11,12
CON 0 END OF RIGHT COLUMN
TCCE3 EQU *
ERRNG 2*TCCE2-TCCE1-TCCE3 IF RIGHT LONGER THAN LEFT
TFTE SPACE 4,10
** TFTE - FUNCTION TIMEOUT TABLE FIELD DESCRIPTORS.
TFTE VFD 24/0,18/TFTE1,18/TFTE2 PRINTER OUTPUT
VFD 24/0,18/TFTE1,18/0 TERMINAL OUTPUT
.OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TFTE1 BSS 0
FIELD 0,(RESERVED ),59,12
FIELD 0,(TIMEOUT INCREMENT ),47,12
FIELD 0,(EXPECTED STATUS ),35,12
FIELD 0,(TIMEOUT VALUE ),23,24
CON -1 END OF LEFT COLUMN
TFTE2 BSS 0
CON 0 END OF RIGHT COLUMN
TFTE3 EQU *
ERRNG 2*TFTE2-TFTE1-TFTE3 IF RIGHT LONGER THAN LEFT
THAE SPACE 4,10
** THAE - HASH TABLE FIELD DESCRIPTORS.
THAE VFD 24/0,18/THAE1,18/THAE2 PRINTER OUTPUT
VFD 24/0,18/THAE1,18/0 TERMINAL OUTPUT
.OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
THAE1 BSS 0
FIELD 0,(LOGICAL TRACK HATL),59,12
FIELD 0,(FIRST SECTOR ),47,12
FIELD 0,(LAST SECTOR ),35,12
FIELD 0,(ORD OF 1ST CONTROL BUFFER ),23,24
CON -1 END OF LEFT COLUMN
THAE2 BSS 0
CON 0 END OF RIGHT COLUMN
THAE3 EQU *
ERRNG 2*THAE2-THAE1-THAE3 IF RIGHT LONGER THAN LEFT
TPUE SPACE 4,10
** TPUE - PHYSICAL UNIT TABLE FIELD DESCRIPTORS.
TPUE VFD 24/0,18/TPUE1,18/TPUE2 PRINTER OUTPUT
VFD 24/0,18/TPUE1,18/0 TERMINAL OUTPUT
.OW SET /HIO/UNCT-1 INITIALIZE *FIELD* MACRO CHECKS
.BI SET 0
TPUE1 BSS 0
FIELD /HIO/UNCT,(UNIT INTERLOCK UNCT),59,3
FIELD /HIO/UNCT,(EQUIPMENT NUMBER ),56,3
FIELD /HIO/UNCT,(PHYSICAL UNIT NUMBER ),53,6
FIELD /HIO/UNCT,(ASSIGNED EST ORDINAL ),47,12
FIELD /HIO/UNCT,(UNIT QUEUE SIZE ),35,12
FIELD /HIO/UNCT,(CURRENT *CB* ORDINAL ),23,12
FIELD /HIO/UNCT,(FIRST *CB* ORDINAL ),11,12
FIELD /HIO/HSCT,(SECTORS PER I/O BUFFER HSCT),59,6
FIELD /HIO/HSCT,(HASH MASK ),53,12
FIELD /HIO/HSCT,(FWA *HAT* FOR THIS UNIT ),41,18
FIELD /HIO/HSCT,(REQUESTS PROCESSED ),23,12
FIELD /HIO/HSCT,(*PUT* ORDINAL OF NEXT UNIT ),11,12
FIELD /HIO/RDST,(RESERVED RDST),59,24
FIELD /HIO/RDST,(SECTORS READ ),35,36
FIELD /HIO/WTST,(RESERVED WTST),59,24
FIELD /HIO/WTST,(SECTORS WRITTEN ),35,36
CON -1 END OF LEFT COLUMN
TPUE2 BSS 0
FIELD /HIO/ACRJ,(EVICTED READ *HAT* ENT ACRJ),59,12
FIELD /HIO/ACRJ,(EVICTED WRITE *HAT* ENTRIES),47,12
FIELD /HIO/ACRJ,(FULL HASH TABLE REJECTS ),35,12
FIELD /HIO/ACRJ,(BUFFER BUSY REJECTS ),23,24
FIELD /HIO/ACST,(RECALL REQUEST REPLIES ACST),59,24
FIELD /HIO/ACST,(BUFFER REQUESTS PROCESSED ),35,36
FIELD /HIO/INST,(I/L BUFFER REJECT INST),59,24
FIELD /HIO/INST,(I/L BUFFER COMPLETE ),35,36
FIELD /HIO/PILL,(ERROR FLAGS PILL),59,12
FIELD /HIO/PILL,(ERROR UNIT NUMBER ),47,6
FIELD /HIO/PILL,(RESERVED ),41,18
FIELD /HIO/PILL,(SPECIAL REQUEST FLAGS ),23,12
FIELD /HIO/PILL,(*OR* ADDRESS OF I/L PP ),11,12
CON 0 END OF RIGHT COLUMN
TPUE3 EQU *
ERRNG 2*TPUE2-TPUE1-TPUE3 IF RIGHT LONGER THAN LEFT
FPWB SPACE 4,2
** JOB ORIGIN TYPE NAMES.
* USED BY ROUTINE *FPW*.
FPWB BSS 0 TABLE OF ORIGIN TYPE NAMES
LOC 0
DATA 10LSYOT
DATA 10LBCOT
DATA 10LEIOT
DATA 10LTXOT
LOC *O
FPWC SPACE 4,3
** SPECIAL ENTRY POINT NAMES. NAMES CORRESPOND TO BITS
* IN THE *SEPW* WORD IN THE CONTROL POINT AREA. TABLE
* ORDER MUST BE PRESERVED. USED BY ROUTINE *FPW*.
FPWC BSS 0
DATA 10LDPA= BIT 47
DATA 10LSSM= BIT 48
DATA 10LVAL= BIT 49
DATA 10LSSJ= BIT 50
DATA 10LSDM= BIT 51
DATA 10LDMP= BIT 52
DATA 10LARG= BIT 53
DATA 10LCLB= BIT 54
DATA 10LLDR= BIT 55
DATA 10LUTL= BIT 56
FPWCL EQU *-FPWC TABLE OF SPECIAL ENTRY POINTS LENGTH
SCNT SPACE 4,10
** SERVICE CLASS NAMES.
* USED BY *JC* PROCESSOR.
SCNT BSS 0 TABLE OF SERVICE CLASS NAMES
LOC 1
LIST D
.SCL HERE
LIST *
LOC *O
SEG
TITLE DIRECTIVE PROCESSING - MAIN ROUTINES.
QUAL DIRECT
SPACE 4
*** DSDI INPUT DIRECTIVES.
*
* THE FOLLOWING NOTES AND RULES APPLY TO ALL INPUT DIRECTIVES-
*
* 1. ANY CHARACTER WITH A DISPLAY CODE GREATER THAN OR
* EQUAL TO 50B (*/* CODE) IS CONSIDERED A SEPARATOR.
*
* 2. THE EXPLICIT COMMAND TERMINATOR IS *.*. ANYTHING BEYOND
* THE TERMINATOR IS IGNORED.
*
* 4. DIRECTIVES WHICH REQUIRE A FIXED NUMBER OF PARAMETERS
* WILL IGNORE EVERYTHING BEYOND THE SEPARATOR FOR THE LAST
* LEGAL PARAMETER.
ACCOUNT SPACE 4,3
*** ACCOUNT.
*
* DUMP THE ACCOUNT DAYFILE BUFFER IN *E* FORMAT.
* ALSO, DUMP THE CURRENT BUFFER LINE BY LINE.
ACCOUNT DATA 0LACCOUNT
SX7 -1
ACN1 SA7 CN
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ GDB GET DAYFILE BUFFER
RJ LDC LIST DIRECTIVE
RJ PDP PRINT DAYFILE POINTERS
PRINT (=2C )
RJ PDB PRINT DAYFILE BUFFER
JP DSD1 RETURN
ALLMEM SPACE 4,10
*** ALLMEM.
*
* ALLOW CM DUMPS TO EXTEND PAST THE CM BOUNDARY ON MACHINES
* WITH CENTRAL MEMORY EXTENSION (CME).
ALLMEM DATA 0LALLMEM
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 CE
ZR X1,ERR25 IF NOT CM EXTENSION ON MAINFRAME
SX6 1 SET *ALLMEM* FLAG
SA6 AM
EQ DSD1 RETURN
AP SPACE 4,13
*** AP.
* DUMP AND ANALYZE ALL ACTIVE PPUS.
*
* AP,N1,N2,...,NN.
* DUMP AND ANALYZE SELECTED PPUS. NN MAY BE A PPU NUMBER
* OR A PROGRAM NAME. IF IT IS A PROGRAM NAME, ALL PPUS
* EXECUTING THAT PROGRAM ARE DUMPED. A WARNING IS ISSUED
* IF AN ILLEGAL NUMBER IS DETECTED OR IF A NAMED PROGRAM IS NOT
* FOUND IN ANY PPU.
*
* PPU MEMORY IS DUMPED IN *Q* FORMAT. THE ASSOCIATED
* COMMUNICATION REGISTERS ARE DUMPED. RESIDENT ENTRY
* POINT CALL ADDRESSES ARE LISTED. LOW CORE READ-ONLY
* CONSTANTS ARE VERIFIED AND FLAGGED IF WRONG.
AP DATA 0LAP
RJ IPA INITIALIZE FOR PPU DUMP
RJ LDC LIST DIRECTIVE
APR1 RJ SPA SELECT NEXT PPU TO ANALYZE
ZR X1,DSD1 IF NO MORE TO DUMP
RJ APP ANALYZE PPU
JP APR1 CONTINUE
B SPACE 4,5
** B.
*
* DISPLAY BRIEF STATUS FOR ALL CONTROL POINTS IN A FORMAT
* SIMILAR TO THE *DSD* *B,A* DISPLAY.
B DATA 0LB
RJ LDC DISPLAY DIRECTIVE
RJ SCM SET CENTRAL MEMORY
SA7 RI
SX6 0 SET FWA
SA6 FW
SA1 NC SET LWA
SX6 X1+2
LX6 7
SA6 A6+B1
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
PRINT (=2C )
PRINT (=C* CP JSN SC PR FL CPU MS1W*)
PRINT (=C* EJT SCPR FLE SS MS2W*)
BDS1 RJ SSB
PRINT (=2C )
SA1 FW INCREMENT CPA ADDRESS
SX6 X1+CPLEN
SA6 A1
SA2 A1+B1
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
IX2 X6-X2
BX1 X6
PL X2,DSD1 IF ALL CONTROL POINTS DISPLAYED
AX1 7
SB4 B1+B1
SB7 PRBF+4 DISPLAY CP NUMBER
RJ DOS
RJ GEE GET EJT ENTRY
NZ X1,BDS2 IF ACTIVE CP
PRINT CCCH,10
PRINT (=2C )
EQ BDS1 CHECK NEXT CP
BDS2 SA2 BUF+JSNE DISPLAY JSN
SB6 4
SB7 PRBF+9
RJ SDI
SA1 BUF+SCLE GET SERVICE CLASS, CM FL
MX0 6
BX2 X0*X1
LX2 6
SA2 X2+SCNT-1 DISPLAY SERVICE CLASS MNEMONIC
BX6 X0*X2
LX6 6
SA6 PRBF+16
SA1 FW
RJ GFL GET CM FL
BX5 X1 SAVE BUFFER ADDRESS OF CPA FWA
BX1 X7
LX1 -6 DISPLAY FL/100B
SB4 4
SB7 PRBF+27
RJ DOS DISPLAY CM FL
SA1 X5+CWQW GET CPU PRIORITY
MX0 2
BX1 -X0*X1
AX1 51
SB7 PRBF+19
RJ DOS DISPLAY CPU PRIORITY
SB7 PRBF+34
RJ GCS DISPLAY CPU STATUS
SA2 X5+MS1W DISPLAY *MS1W*
SB6 48
SB7 PRBF+38
RJ DMB
PRINT CCCH,B7-CCCH+1
SA1 GEEA GET EJT ORDINAL
RJ SSB CLEAR PRINT BUFFER
SB4 4
SB7 PRBF+13
RJ DOS DISPLAY EJT ORDINAL
SA1 BUF+SCHE DISPLAY SCHEDULING PRIORITY
RJ DOS
SA1 X5+ECSW
MX0 -12
BX1 -X0*X1
SA2 UE GET FLE
SB3 X2
LX1 B3
SB4 6
RJ DOS DISPLAY FLE
SA1 X5+SNSW
SA2 X5+STSW
SA3 BUF+SCLE
SA4 F.TCMT
SA4 X4+CMCL
SX6 1RI
SX7 1RS
LX1 59-15
LX2 59-56
LX3 59-52
PL X1,BDS3 IF SUBSYSTEM IDLEDOWN NOT SET
SA6 B7 DISPLAY *SUBSYSTEM IDLEDOWN* FLAG
BDS3 PL X2,BDS4 IF NO SUBCONTROL POINTS ACTIVE
SA7 B7+1 DISPLAY *SUBCONTROL POINTS ACTIVE* FLAG
BDS4 SX6 1RL
SX7 1RM
PL X3,BDS5 IF NOT FORCED ROLLIN
SA6 B7+2 DISPLAY *FORCED ROLLIN* FLAG
BDS5 MX0 -12
LX4 12
SA2 FW
AX2 7
BX4 -X0*X4
BX4 X2-X4
NZ X4,BDS6 IF CONTROL POINT NOT MOVING
SA7 B7+3 DISPLAY *CONTROL POINT MOVING* FLAG
BDS6 SA2 X5+MS2W DISPLAY *MS2W*
SB6 28
SB7 PRBF+38
RJ DMB
PRINT CCCH,B7-CCCH+1
EQ BDS1 CHECK NEXT CP
BATCHIO SPACE 4,20
*** BATCHIO,OPS.
* BIO,OPS.
*
* WHERE OPS IS A STRING OF UP TO 3 CHARACTERS SELECTING
* VARIOUS DUMP OPTIONS AS FOLLOWS-
*
* B EACH OF THE ACTIVE BATCHIO BUFFER POINTS ARE ANALYZED
* WITH ASSOCIATED FET, EST, EQUIPMENT TYPE, AND FNT/FST.
*
* N DUMP NEGATIVE FIELD LENGTH IN *D* FORMAT.
*
* P ALL COPIES OF 1CD, 1IO, DSP, QAC, AND QAP ARE ANALYZED.
*
*
* BATCHIO. OR BIO.
*
* IS EQUIVALENT TO *BATCHIO,PBN.*.
BATCHIO DATA 0LBATCHIO
EQ BIO1 PROCESS LIKE *BIO* DIRECTIVE
BIO DATA 0LBIO
BIO1 SA5 BIOA
RJ ISS INITIALIZE FOR SUB-SYSTEM DUMP
GETCM SSBF,/BIO/BUFR+1
SA5 BIOB
RJ DSS DUMP BATCHIO SUB-SYSTEM
JP DSD1 RETURN
BIOA VFD 24/0,12/BISI,24/0
BIOB VFD 60/0LPBN
VFD 36/0,6/1RB,18/DBB
VFD 36/0,6/1RN,18/DBN
VFD 36/0,6/1RP,18/DBP
VFD 60/0
BCDUMP SPACE 4,35
*** BCDUMP.
*
* DUMP EACH CONTROLLER RECORD FOUND WITH DEFAULT OPTIONS.
*
* BCDUMP/OPS.
*
* DUMP EACH CONTROLLER RECORD FOUND WITH SPECIFIED OPTIONS.
*
* BCDUMP,CC,CC.
*
* DUMP SPECIFIED CHANNELS WITH DEFAULT OPTIONS.
*
* BCDUMP,CC/OPS,CC/OPS.
*
* DUMP SPECIFIED CHANNELS WITH SPECIFIED OPTIONS.
*
* CONTROLLER MEMORY IS DUMPED IN HEXADECIMAL LINE FORMAT
* WITH DISPLAY CODE INTERPRETATION BY DEFAULT, WITH NO
* VERIFICATION DATA. IF OTHER THAN THE DEFAULT SELECTION
* IS REQUIRED, THE *OPS* STRING OF CHARACTERS MAY BE SPECIFIED
* TO SELECT ALTERNATE DUMP OPTIONS AS FOLLOWS -
*
* A SELECT 7-BIT ASCII CODE INTERPRETATION.
*
* D SELECT 6-BIT DISPLAY CODE INTERPRETATION.
*
* H DUMP CONTROLLER MEMORY IN HEXADECIMAL LINE FORMAT.
*
* O DUMP CONTROLLER MEMORY IN OCTAL LINE FORMAT.
*
* V LIST VERIFICATION INFORMATION IN ADDITION TO
* CONTROLLER MEMORY DUMP (FOR USE WITH CONTROLWARE DUMP
* FILE PRODUCED BY *LOADBC* UTILITY).
BCDUMP DATA 0LBCDUMP
RJ LDC LIST DIRECTIVE
SA1 .BCH SEARCH FOR FIRST BUFFER CONTROLLER RECORD
MX0 12
LX0 -12
SEARCH TDIR,X1,X0
ZR X2,ERR14 IF RECORD NOT FOUND
SX6 A2-2 SAVE ADDRESS OF DIRECTORY ENTRY
SA6 BCDA
SA1 CH CHECK SEPARATOR
SA1 X1+
SX6 X1-1R.
SA6 PI SAVE PARAMETER PRESENT FLAG
SX6 2RHD
SA6 SBCB
SX6 X1-1R/
NZ X6,BCD1 IF NOT OPTION SELECTION
RJ ASN ASSEMBLE OPTIONS
SA1 CH CHECK SEPARATOR
AX6 B6
SA1 X1
SA6 SBCB SET ALTERNATE OPTION SELECTION
SX6 X1-1R.
SA6 PI
NZ X6,ERR6 IF NOT END OF DIRECTIVE
BCD1 RJ SBC SELECT NEXT BUFFER CONTROLLER CHANNEL
ZR X1,DSD1 IF END OF CHANNELS TO DUMP
SX6 A2 SAVE ADDRESS OF DIRECTORY ENTRY
MX0 -6
SA6 BCDA
SA1 SBCB GET OPTIONS
SX6 4 SET DEFAULT OPTIONS (HEX AND DISPLAY CODE)
SA3 TBOP-1
BCD2 SA3 A3+B1 GET *BCDUMP* OPTION TABLE ENTRY
ZR X3,ERR6 IF INCORRECT OPTION
BX7 X1-X3
BX7 -X0*X7
NZ X7,BCD2 IF NO MATCH
AX3 6 SELECT DUMP FORMAT
SX7 X3
BX6 -X7*X6
AX3 18
BX6 X6+X3
AX1 6
SA3 TBOP-1
SX7 X6
NZ X1,BCD2 IF MORE OPTIONS SPECIFIED
SA7 BCDB+3 SET FORMAT OF DUMP
SA6 BCDC SAVE VERIFY OPTION
PRINT (=2C )
SB7 PRBF SET HEADING
SA2 =17H CHANNEL NUMBER
SB6 17
RJ UPS
SA1 SBCA GET CHANNEL NUMBER
LX1 -6
SB6 B1+B1
RJ CTS
PRINT CCCH,B7-CCCH
PRINT (=2C )
SA2 BCDA
SA2 X2+1 GET RANDOM INDEX
BX6 X2
SA6 RI SET RANDOM INDEX OF NEXT RECORD
BX6 X6-X6 SET FWA
SA6 BCDB
SA6 BCDD
BCD3 SA3 BCDD POSITION DUMP FILE
RJ PDF
RJ PBC PACK BUFFER CONTROLLER MEMORY
SA2 BCDD
NZ X2,BCD4 IF NOT BEGINNING OF DUMP
SA1 PBUF GET FIRST WORD OF CONTROLWARE
MX0 8D
BX1 X1*X0 MASK OUT CHANNEL TYPE
LX1 8D SHIFT INTO POSITION
BX6 X1 SAVE CHANNEL TYPE
SA6 K4
SA1 X6+TCTP GET DUMP LWA+1
AX1 18
SX6 X1
SA6 BCDE
SX7 K4RBFL SET INITIAL LWA+1
SA7 BCDB+1
IX7 X6-X7
PL X7,BCD4 IF NOT 4K CONTROLLER
SA6 A7 RESET LWA+1
BCD4 SX6 X2+K4WBFL UPDATE DUMP RECORD FWA
SA6 A2
BX7 X7-X7 INITIALIZE *NXB* POINTERS
SX6 IUBUFL1+4
SA6 NXBA
SA7 A6+B1
SX6 PBUF-1 SET STARTING ADDRESS -1
SA6 A7+B1
SA1 BCDB SET CONTROL BLOCK ADDRESS
RJ DSP PROCESS DUMP
SA2 BCDB+1
SA3 BCDE GET DUMP LWA+1
IX7 X3-X2
ZR X7,BCD5 IF DUMP LWA+1
BX6 X2 UPDATE FWA
SA6 A2-B1
SX7 X6+K4RBFL UPDATE LWA+1
SA7 A2
IX2 X3-X7
PL X2,BCD3 IF NOT TOO BIG
SX7 X3
SA7 A2 SET LWA+1 TO DUMP LWA+1
EQ BCD3 READ NEXT BLOCK
BCD5 SA1 BCDC
PL X1,BCD1 IF NOT VERIFY OPTION
SX1 X1
AX1 2 OCTAL OR HEX FORMAT OPTION
SA2 BCDA GET CONTROLLER MEMORY DIRECTORY ENTRY
RJ PCV PROCESS CONTROLLER VERIFICATION DATA
EQ BCD1 PROCESS NEXT CHANNEL
BCDA CON 0 DIRECTORY INDEX
BCDB CON 0 FWA TO DUMP
CON 0 LWA+1 TO DUMP
CON 0
CON 4 HEX - LINE - DISPLAY CODE
BCDC CON 0 VERIFICATION OPTION
BCDD CON 0 DUMP RECORD ADDRESS
BCDE CON 0 DUMP LWA+1
TBOP BSS 0 TABLE OF *BCDUMP* OPTIONS
VFD 36/1,18/1,6/1RA 7-BIT ASCII CODE
VFD 36/0,18/1,6/1RD 6-BIT DISPLAY CODE
VFD 36/4,18/6,6/1RH HEX LINE FORMAT
VFD 36/2,18/6,6/1RO OCTAL LINE FORMAT
VFD 1/1,35/0,18/0,6/1RV VERIFICATION DATA
CON 0 END OF TABLE
SPACE 4,10
*** BUFF.
*
* DUMP 819 BUFFER TABLES.
BUFF DATA 0LBUFF
RJ LDC LIST DIRECTIVE
BX6 X6-X6 SET REFERENCE ADDRESS
RJ SRA
RJ SCM SET CENTRAL MEMORY
SA1 F.TCMT
SA1 X1+BIOL GET BUFFER POINTERS
SX7 X1 GET LWA+1
AX1 24
SX6 X1 GET FWA
ZR X6,ERR34 IF NO BUFFERED DEVICES
SA6 CPRA FWA
SA7 A6+B1 LWA
SX6 B1
SA6 CPRA+4 *D* FORMAT
JP CPR2 PROCESS DUMP
TCTP SPACE 4,15
** TCTP - TABLE OF CONTROLLER TYPE PARAMETERS.
* INDEXED BY CONTROLLER TYPE.
*
*T 1/W,23/0,18/LA,18/BS
*
* W CONTROLLER WORD SIZE FLAG.
* 0 = 8 BIT WORD SIZE.
* 1 = 16 BIT WORD SIZE.
* LA LWA+1 TO DUMP.
* BS CM WORDS OF DATA IN PBUF.
TCTP BSS 0
VFD 1/1,23/0,18/K4BFL,18/IUBUFL1
VFD 1/0,23/0,18/K16BFL,18/IUBUFL2
VFD 1/1,23/0,18/K8BFL,18/IUBUFL2
VFD 1/0,23/0,18/KIBFL,18/IUBUFL3
VFD 1/1,23/0,18/K16BFL,18/IUBUFL4
C SPACE 4,8
*** C,FWA,LWA+1.
*
* DUMP MEMORY IN INSTRUCTION PARCEL FORMAT WITH DISPLAY
* CODE INTERPRETATION. WORDS ARE LISTED COLUMNWISE WITH
* THREE COLUMNS PER PAGE. REPETITIVE DATA IS SUPPRESSED.
*
* FOR TERMINAL OUTPUT, DATA IS LISTED ONE WORD PER LINE WITH
* DISPLAY CODE INTERPRETATION AND NO PAGINATION IS PROCESSED.
C DATA 0LC
SA1 EE
NZ X1,ERR5 IF EXTENDED MEMORY ERROR FLAG SET
SA1 TF
NZ X1,CTN IF OUTPUT IS TO TERMINAL
SX6 0 SET *C* FORMAT CODE
CPR1 SA6 CPRA+4 SET FORMAT CODE
RJ LDC LIST DIRECTIVE
SB7 0 SET OCTAL BASE
RJ ASD ASSEMBLE FWA
NZ X4,ERR6 IF ERROR IN CONVERSION
SA6 CPRA SET FWA
SX6 X6+B1
SA6 A6+B1 PRESET LWA+1
RJ ASD ASSEMBLE LWA+1
NZ X4,CPR2 IF NOT SPECIFIED
SA6 CPRA+1 SET LWA+1
CPR2 SB2 CPRA
RJ CMB CHECK MEMORY BOUNDS
RJ POM POSITION DUMP FILE
SB2 CPRA
RJ PMD PROCESS DUMP
JP DSD1 RETURN
QUAL
CPRA BSS 0 DUMP PARAMETERS
CON 0 FWA
CON 0 LWA+1
CON 0
CON 0
CON 0 FORMAT CODE
CON 0
CON 0 INVERTED ADDRESS
QUAL *
* PROCESS TERMINAL OUTPUT.
CTN SA1 =5000004B
CTN1 BX6 X1
SA6 CPRA+4 SET FORMAT PARAMETERS
RJ SSB CLEAR PRINT STRING
SB7 0
RJ ASD ASSEMBLE FWA
NZ X4,ERR6 IF CONVERSION ERROR
SA6 CPRA SET FWA
SX6 X6+B1
SA6 A6+B1 PRESET LWA+1
RJ ASD
NZ X4,CTN2 IF LWA+1 NOT SPECIFIED
SA6 CPRA+1
CTN2 SB2 CPRA
RJ CMB CHECK MEMORY BOUNDS
RJ POM POSITION MEMORY
CTN3 SA1 CPRA
SB6 8 NUMBER OF DIGITS
SB7 PRBF
LX1 -24 LEFT JUSTIFY BINARY DIGITS
RJ CTS CONVERT ADDRESS
SB7 B7+B1
GETCM
NZ X1,CTN4 IF END OF RECORD
BX1 X6
SA2 CPRA+4
RJ FDW FORMAT DATA WORD
BX2 X1
SB6 10
RJ SDI SET DISPLAY CODE INTERPRETATION
PRINT PRBF,B7-PRBF
SA1 CPRA
SA2 A1+B1
SX6 B1
IX6 X1+X6
SA6 A1 ADVANCE ADDRESS
IX6 X6-X2
NG X6,CTN3 IF MORE TO DUMP
JP DSD1 RETURN
CTN4 PRINT (=C*-- END OF RECORD --*)
JP DSD1 RETURN
CBT SPACE 4,10
*** CBT.
* DUMP ALL NONZERO CONTROL BUFFER TABLE ENTRIES.
*
* CBT,E1,E2,...,EN.
* DUMP SELECTED CONTROL BUFFER TABLE ENTRIES.
CBT DATA 0LCBT
SX5 =C* CONTROL BUFFER TABLE*
SX6 TCBE SET FORMAT TABLE POINTERS ADDRESS
SX7 =4HCBT SET TABLE NAME ADDRESS
SB2 /HIO/CBTP SET BUFFERED DEVICE TABLE INDEX
RJ DBT DUMP *CBT*
EQ DSD1 RETURN
CCT SPACE 4,10
*** CCT.
* DUMP ALL NONZERO CHANNEL CONTROL TABLE ENTRIES.
*
* CCT,E1,E2,...,EN.
* DUMP SELECTED CHANNEL CONTROL TABLE ENTRIES.
CCT DATA 0LCCT
SX5 =C* CHANNEL CONTROL TABLE*
SX6 TCCE SET FORMAT TABLE POINTERS ADDRESS
SX7 =4HCCT SET TABLE NAME ADDRESS
SB2 /HIO/CCTP SET BUFFERED DEVICE TABLE INDEX
RJ DBT DUMP *CCT*
EQ DSD1 RETURN
CM SPACE 4,4
*** CM.
*
* SET MEMORY TYPE TO *CM*. SUBSEQUENT C, D AND E DIRECTIVES
* APPLY TO CENTRAL MEMORY.
CM DATA 0LCM
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ LDC LIST DIRECTIVE
RJ SCM SELECT CENTRAL MEMORY
SA6 US+1 SET USER CONTROLLED MEMORY NAME (SUBTITLE)
SA7 UI SET USER CONTROLLED MEMORY RANDOM INDEX
BX7 X7-X7 CLEAR EXTENDED MEMORY ERROR FLAG
SA7 EE
JP DSD1 RETURN
CP SPACE 4,54
*** CP.
* DUMP ALL ACTIVE CONTROL POINT AND PSEUDO-CONTROL POINT AREAS.
*
* CP,N1,N2,...,NN.
* DUMP SELECTED CONTROL POINT (ONLY) AREAS.
*
* NN = CONTROL POINT NUMBER. NN MAY BE OF THE
* FORM *NN/OPS* WHERE OPS IS A STRING OF UP TO 10 CHARACTERS
* SELECTING UP TO 10 OF THE FOLLOWING 11 LIST OPTIONS AT ONE
* TIME-
*
* X DUMP EXCHANGE PACKAGE, PARAMETER SUMMARY,
* AND EJT ENTRY.
*
* T PRINT DETAILED DUMP OF CONTROL POINT AREA. AN
* ENGLISH DESCRIPTION OF EACH PARAMETER FIELD
* IS PRINTED. EACH WORD IS LISTED WITH ITS SYSTEXT
* TAG.
*
* A DUMP THE JOB DAYFILE BUFFER IN *E* FORMAT.
* ALSO, DUMP THE CURRENT BUFFER LINE BY LINE.
*
* F PRINT THE FNT/FST, EST AND MASS STORAGE TRACK CHAIN
* (IF ANY) FOR ALL FILES ATTACHED TO THIS CONTROL
* POINT.
*
* C DUMP THE CONTROL POINTS FIELD LENGTH IN *C* FORMAT.
*
* D DUMP FIELD LENGTH IN *D* FORMAT.
*
* E DUMP FIELD LENGTH IN *E* FORMAT.
*
* G DUMP THE CONTROL POINT AREA IN *C* FORMAT.
*
* H DUMP THE CONTROL POINT AREA IN *D* FORMAT.
*
* I DUMP THE CONTROL POINT AREA IN *E* FORMAT.
*
* M DUMP USER EXTENDED MEMORY FIELD LENGTH IN *D* FORMAT.
*
* N DUMP NEGATIVE FIELD LENGTH IN *D* FORMAT.
*
* P DUMP AND ANALYZE ALL ACTIVE PPUS ASSOCIATED WITH THE
* CONTROL POINT.
*
* IF OPS IS NOT SPECIFIED, THE DEFAULT VALUE *XTAF* IS USED.
* THE DEFAULT MAY BE CHANGED WITH THE *CPO* DIRECTIVE. WHEN
* SPECIFIED, OPS APPLIES ONLY TO THE CONTROL POINT NUMBER
* WITH WHICH IT IS ASSOCIATED ON THE DIRECTIVE STATEMENT.
*
* FOR TERMINAL OUTPUT, THE COMMAND FORMAT IS -
*
* CP.
*
* CP/PCP NUMBER AND CPA/PCPA ADDRESS ARE LISTED FOR EACH
* CONTROL POINT AND PSEUDO-CONTROL POINT.
*
* NONE OF THE LIST OPTIONS ARE EXCLUSIVE, I.E., IF BOTH *D* AND
* *E* ARE SPECIFIED, FIELD LENGTH IS DUMPED TWICE, ONCE IN *D*
* FORMAT AND ONCE IN *E* FORMAT.
CP DATA 0LCP
SX6 0
SA6 FW SET CPA FWA - CPLEN
SA6 OP SET NO OFFSET
SA1 TF
NZ X1,CPTN IF TERMINAL OUTPUT
CPP0 RJ BCP BEGIN CONTROL POINT DUMP
RJ LDC
CPP1 RJ SCP SELECT NEXT CONTROL POINT TO DUMP
ZR X1,DSD1 IF NO MORE TO DUMP
SA1 PI
BX6 X1
SA6 CPPA SAVE POINTER INDEX
RJ DCP DUMP SELECTED CONTROL POINT
SA1 CPPA
BX6 X1
SA6 PI RESTORE POINTER INDEX
JP CPP1 CONTINUE
CPPA BSS 1 POINTER INDEX
* TERMINAL OUTPUT PROCESSOR.
CPTN SA2 NC SET LAST CP NUMBER + 1
SX2 X2+2
CPN0 LX2 7 COMPUTE CPA/PCPA LWA+1
IX6 X6+X2 ADD PCPA OFFSET
SA6 LW
SA5 FW PRESET CONTROL POINT AREA ADDRESS
SX5 X5+CPLEN
CPN1 PRINT (=2C )
RJ PEC PRINT EIGHT CONTROL POINTS
SA1 LW
IX1 X5-X1
NG X1,CPN1 IF MORE CONTROL POINTS TO PROCESS
SA2 OP
NZ X2,DSD1 IF THROUGH DUMPING PCP-S
SA1 F.TCMT GET PCPA FWA
SA1 X1+PCPP
SA3 LW SET PCPA OFFSET
SX5 X1
IX6 X5-X3
ZR X5,DSD1 IF NO PCP-S DEFINED
SA6 A2
SA2 ME SET NEW LWA+1
LX2 7
IX6 X2+X6 ADD PCPA OFFSET
SA6 A3
EQ CPN1 DISPLAY PCP-S
CPO SPACE 4,4
*** CPO,OPS.
*
* RESET THE DEFAULT LIST OPTION STRING FOR CONTROL POINT
* DUMPS TO *OPS*.
CPO DATA 0LCPO
RJ ASN ASSEMBLE OPTION STRING
SA6 CO UPDATE DEFAULT OPTION LIST
JP DSD1 RETURN
CT SPACE 4,10
*** CT.
*
* DUMP CHANNEL TABLES IN *D* FORMAT.
CT DATA 0LCT
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT GET FWA OF CTIL TABLE
SA2 X1+CHTP
AX2 12
SX6 X2
SX7 X6+CTALL GET LWA+1 OF CTIL TABLE
SX5 =C* CHANNEL STATUS TABLE*
SB3 B1 SET *D* FORMAT
IX4 X6+X1 SET ADDRESS OF READ FROM CORE
RJ DTB DUMP CTIL TABLE
SB3 -B1 SET NO PAGE EJECT
SA1 CPRA+1 GET FWA OF EJTA TABLE
BX6 X1
SX7 X6+CTALL GET LWA+1 OF EJTA TABLE
SX5 =C* EJT ASSIGNMENT TABLE*
SA1 F.TCMT SET ADDRESS OF READ FROM CORE
IX4 X6+X1
RJ DTB DUMP EJTA TABLE
SB3 -B1 SET NO PAGE EJECT
SA1 CPRA+1 GET FWA OF CCTL TABLE
BX6 X1
SX7 X6+CTALL GET LWA+1 OF CCTL TABLE
SX5 =C* CHANNEL CONTROLWARE TABLE*
SA1 F.TCMT SET ADDRESS OF READ FROM CORE
IX4 X6+X1
RJ DTB DUMP CCTL TABLE
EQ DSD1 RETURN
D SPACE 4,9
*** D,FWA,LWA+1.
*
* DUMP MEMORY IN BYTE FORMAT WITH DISPLAY CODE INTERPRETATION.
* WORDS ARE LISTED COLUMNWISE WITH THREE COLUMNS PER
* PAGE. REPETITIVE DATA IS SUPPRESSED.
*
* FOR TERMINAL OUTPUT, DATA IS LISTED ONE WORD PER LINE
* WITH DISPLAY CODE INTERPRETATION AND NO PAGINATION IS
* PROCESSED.
D DATA 0LD
SA1 EE
NZ X1,ERR5 IF EXTENDED MEMORY ERROR FLAG SET
SA1 TF
NZ X1,DTN IF TERMINAL OUTPUT
SX6 1 *D* FORMAT CODE
JP CPR1 PROCESS DUMP
* TERMINAL OUTPUT PROCESSOR.
DTN SA1 =4000005B FORMAT PARAMETERS
JP CTN1 PROCESS DUMP
DAYFILE SPACE 4,10
*** DAYFILE.
*
* DUMP THE SYSTEM DAYFILE BUFFER IN *E* FORMAT.
* ALSO, DUMP THE CURRENT BUFFER LINE BY LINE.
DAYFILE DATA 0LDAYFILE
SX7 B0
EQ ACN1 DUMP SYSTEM DAYFILE
DB SPACE 4,10
*** DB.
* DUMP ALL ACTIVE DISK BUFFERS, USING MACHINE ID FROM LOW CORE
* ON DUMP FILE.
*
* DB,ID.
* DUMP ALL ACTIVE DISK BUFFERS, USING MACHINE ID ON DIRECTIVE.
*
* DB,,D1,D2,...,DN.
* DUMP SELECTED DISK BUFFERS, USING MACHINE ID FROM LOW CORE
* ON DUMP FILE.
*
* DB,ID,D1,D2,...,DN.
* DUMP SELECTED DISK BUFFERS, USING MACHINE ID ON DIRECTIVE.
DB DATA 0LDB
RJ LDC LIST DIRECTIVE
RJ SCM SET CENTRAL MEMORY
SX6 B0
RJ SRA SET REFERENCE ADDRESS
SA2 F.TCMT
SA1 X2+BIOL
AX1 24
SX1 X1
ZR X1,ERR34 IF NO BUFFERED DEVICES DEFINED
SX6 X1+/HIO/CBTP
SA6 CPRA
SB2 A6
RJ POM POSITION TO *BDT* ENTRY
GETCM
SA6 BE STORE *BDT* ENTRY FOR *CBT*
RJ ASN GET NEXT PARAMETER
BX5 X6
NG B6,DBR1 IF MACHINE ID ON DIRECTIVE
SA2 F.TCMT
SA1 X2+MMFL GET MACHINE ID FROM LOW CORE
MX0 12
BX5 X0*X1
DBR1 RJ FFD FIND FWA OF DISK BUFFER AREA
SX6 B1 SET *D* FORMAT
SA6 CPRA+4
SB7 B0 ASSUME OCTAL BASE
RJ ASD GET NEXT PARAMETER
SX5 0 PRESET FOR NO ACTIVE DISK BUFFERS
NG B6,DBR5 IF SELECTED DISK BUFFERS TO BE DUMPED
GT B6,ERR6 IF NULL DISK BUFFER NUMBER
* DUMP ALL ACTIVE DISK BUFFERS.
SX6 0
SA6 DBRA PRESET ENTRY NUMBER
DBR2 SA3 DBRA INCREMENT ENTRY NUMBER
SX6 X3+B1
SA6 A3
RJ SCM SET CENTRAL MEMORY
SA4 A3 GET NEXT ENTRY NUMBER
RJ CLE CHECK IF LAST ENTRY
NG X3,DBR3 IF MORE BUFFERS TO DUMP
NZ X5,DSD1 IF ACTIVE DISK BUFFERS DUMPED
EQ ERR37 *NO ACTIVE DISK BUFFERS.*
DBR3 SA3 BE GET FWA OF *CBT* ENTRY
SX3 X3
IX6 X0+X3
SA6 CPRA
SB2 A6+
RJ POM POSITION TO *CBT* ENTRY
GETCM BUF,/HIO/CBTL READ ENTRY INTO CORE
* THE FOLLOWING TEST MUST BE CHANGED TO DUMP
* DISK BUFFERS UNDER DIFFERENT CONDITIONS.
SA1 BUF+/HIO/LSLK TEST ACTIVE COUNT IN *CBT* ENTRY
AX1 48
ZR X1,DBR2 IF EMPTY DISK BUFFER
SA2 =11HDISK BUFFER
SB6 12
SA1 DBRA GET ENTRY NUMBER
LX1 -12
RJ PEN PRINT ENTRY NUMBER
RJ SEC SET EXTENDED MEMORY
SA4 DBRA DISK BUFFER NUMBER
SX4 X4-1 ALLOW FOR NO ENTRY ZERO
SX2 /HIO/LSLB
LX2 6
IX4 X2*X4 RELATIVE DISK BUFFER FWA ON DUMP FILE
SA1 DA DISK BUFFER AREA FWA
IX6 X1+X4
IX7 X6+X2
SA6 CPRA STORE DISK BUFFER FWA
SA7 A6+B1 STORE DISK BUFFER LWA+1
SB2 A6
RJ POM POSITION TO DISK BUFFER FWA
SB2 CPRA
RJ PMD DUMP DISK BUFFER
PRINT (=2C )
SX5 B1 INDICATE ACTIVE DISK BUFFER EXISTS
EQ DBR2 CHECK NEXT BUFFER
* DUMP SELECTED DISK BUFFERS.
DBR4 SB7 B0 ASSUME OCTAL BASE
RJ ASD GET NEXT ENTRY NUMBER
ZR B6,DSD1 IF NO MORE BUFFERS TO DUMP
DBR5 NZ X4,ERR6 IF CONVERSION ERROR
ZR X6,ERR38 IF INCORRECT DISK BUFFER NUMBER
SA6 DBRA
SX4 X6
RJ CLE CHECK IF VALID ENTRY NUMBER
PL X3,ERR38 IF INCORRECT DISK BUFFER NUMBER
SX1 X4 GET ENTRY NUMBER
LX1 -12
SA2 =11HDISK BUFFER
SB6 12
RJ PEN PRINT ENTRY NUMBER
SA2 DA
SA4 DBRA GET ENTRY NUMBER
SX4 X4-1 ALLOW FOR NO ENTRY ZERO
SX1 /HIO/LSLB
LX1 6
IX4 X1*X4 RELATIVE DISK BUFFER FWA IN DUMP FILE
IX6 X4+X2
IX7 X1+X6
SA6 CPRA STORE DISK BUFFER FWA
SA7 A6+B1 STORE DISK BUFFER LWA+1
SB2 A6
RJ POM POSITION TO DISK BUFFER
SB2 CPRA
RJ PMD DUMP DISK BUFFER
PRINT (=2C )
EQ DBR4 CHECK NEXT ENTRY NUMBER
DBRA BSS 1 DISK BUFFER NUMBER
DBW SPACE 4,10
*** DBW.
* PRINT BUFFERED DEVICE TABLE LIST CONTROL WORDS, BUFFER
* STATISTICS TABLE, AND PP - I/O BUFFER LINK TABLE.
DBW DATA 0LDBW
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ LDC LIST DIRECTIVE
SX6 B0
RJ SRA SET REFERENCE ADDRESS
RJ SCM SET CENTRAL MEMORY
SA1 F.TCMT
SA1 X1+BIOL
AX1 24
SX6 X1
ZR X6,ERR34 IF NO BUFFERED DEVICES DEFINED
* DUMP *BDT* LIST CONTROL WORDS.
SA6 FW SET DUMP FILE FWA
SX6 X6+/HIO/EMTP
SA6 CPRA
SB2 A6+
RJ POM POSITION TO FWA OF LIST WORDS
GETCM BUF,/HIO/BDTL-/HIO/EMTP READ LIST WORDS INTO CORE
PRINT (=2C )
PRINT (=C+ *BDT* LIST CONTROL WORDS+)
PRINT (=2C )
SA1 TLCW GET FORMAT TABLE POINTERS
SA2 FW
SB2 X2-BUF+/HIO/EMTP
SB2 -B2 SET FWA OF WORDS IN CORE
RJ GTD GENERATE DETAILED TABLE DUMP
* DUMP BUFFER STATISTICS TABLE.
PRINT (=2C )
PRINT (=2C )
PRINT (=C* BUFFER STATISTICS TABLE*)
PRINT (=2C )
SA1 F.TCMT
SA1 X1+BIOL
AX1 24
SX3 X1+/HIO/IBSP
RJ PCM POSITION TO *BDT* *IBST* ENTRY
GETCM
SX6 X6
SA6 FW STORE FWA *IBST* IN DUMP FILE
SX3 X6
RJ PCM POSITION TO FWA OF *IBST*
GETCM BUF,/HIO/IBSL READ *IBST* INTO CORE
SA1 TIBS GET FORMAT TABLE POINTERS
SA2 FW
SB2 X2-BUF
SB2 -B2 SET FWA OF *IBST* IN CORE
RJ GTD GENERATE DETAILED TABLE DUMP
* DUMP PP - I/O BUFFER LINK TABLE.
PRINT (=2C )
PRINT (=2C )
PRINT (=C* PP - I/O BUFFER LINK TABLE*)
PRINT (=2C )
SA1 F.TCMT
SA1 X1+BIOL
AX1 24
SX3 X1+/HIO/PLTP
RJ PCM POSITION TO *BDT* *PLT* ENTRY
GETCM
SX6 X6
SA6 FW STORE FWA OF LINK TABLE IN DUMP FILE
SX3 X6
RJ PCM POSITION TO FWA OF LINK TABLE
GETCM BUF,/HIO/PLTL READ *PLT* INTO CORE
SA1 TPLT GET FORMAT TABLE POINTERS
SA2 FW
SB2 X2-BUF
SB2 -B2 SET FWA OF *PLT* IN CORE
RJ GTD GENERATE DETAILED TABLE DUMP
EQ DSD1 RETURN
DDB SPACE 4,3
*** DDB.
*
* DUMP DAYFILE DUMP BUFFER IN *D* FORMAT.
DDB DATA 0LDDB
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+DFPP
LX2 -12
SX6 X2 FWA DAYFILE DUMP BUFFER
SX7 X6+DFDS
SX5 =C* DAYFILE DUMP BUFFER*
SB3 B1 SET *D* FORMAT
SX4 B0 SET READ FROM DUMP FILE
RJ DTB DUMP BUFFER
EQ DSD1 RETURN
DISPOSE SPACE 4,12
*** DISPOSE.
* DISPOSE,UN.
*
* UN = USER NAME.
*
* DISPOSE ALTERNATE LIST FILE TO PRINT QUEUE. LIST OUTPUT
* REVERTS TO ORIGINAL OUTPUT FILE. HAS NO EFFECT IF OUTPUT
* HAS NOT BEEN ASSIGNED TO AN ALTERNATE FILE VIA THE OUTPUT
* DIRECTIVE. IF UN IS NOT SPECIFIED, THE LISTING IS PRINTED AT
* THE CENTRAL SITE. IF IT IS SPECIFIED, THE LISTING IS ROUTED
* TO THE REMOTE BATCH TERMINAL LOGGED IN UNDER THAT USER
* NUMBER.
DISPOSE DATA 0LDISPOSE
SA1 OF
SX1 X1-A
NZ X1,DSD1 IF ALTERNATE OUTPUT NOT ACTIVE
RECALL A
WRITER X2,R TERMINATE ALTERNATE FILE
SA1 CH CHECK DIRECTIVE CARD SEPERATOR
SA1 X1+
SX1 X1-1R.
ZR X1,DSP1 IF USER NAME NOT SPECIFIED
RJ ASN ASSEMBLE USER NAME
SA6 DSPB+1 SAVE USER NAME
SX2 FRDC+FRTI
EQ DSP2 PROCESS ROUTE
DSP1 SX2 FRDC+FRCS
DSP2 SA1 DSPA+1 SAVE FLAGS
MX5 42
BX7 X5*X1
BX7 X7+X2
SA7 A1
SA1 A GET FILE NAME
BX7 X5*X1
SA7 DSPA
ROUTE DSPA,R
SX6 L RESET CONTROLS
SA6 OF RESET OUTPUT FILE FET POINTER
MOVE 6,OTPA,CC RESET LIST CONTROLS
SA1 CC
BX6 X1
SA6 CCCH RESTORE CARRIAGE CONTROL CHARACTER
JP DSD1 RETURN
DSPA VFD 42/0LALTRNT,18/0
VFD 24/0,12/2HPR,6/0,18/FRDC+FRCS
VFD 36/0,24/-DSPB
BSSZ 4
DSPB CON 0 FAMILY
CON 0 USER NAME
DP SPACE 4,3
*** DP.
*
* DUMP DAYFILE BUFFER POINTERS IN *D* FORMAT.
DP DATA 0LDP
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+DFPP
LX2 24
SX6 X2+
SB3 B1 SET *D* FORMAT
SX7 X6+3*EXDF SET LWA+1 TO BE DUMPED
SX5 =C* DAYFILE BUFFER POINTERS*
SX4 0 SET READ FROM DUMP FILE
RJ DTB DUMP BUFFER POINTERS
EQ DSD1 RETURN
E SPACE 4,4
*** E,FWA,LWA+1.
*
* DUMP MEMORY IN WORD FORMAT WITH INTERPRETATION,
* 4 WORDS PER LINE.
E DATA 0LE
SA1 EE
NZ X1,ERR5 IF EXTENDED MEMORY ERROR FLAG SET
SX6 2 *E* FORMAT CODE
JP CPR1 PROCESS DUMP
EC SPACE 4,15
*** EC,FWA.
* EC,EMID,FWA.
*
* SET MEMORY TYPE TO *EXTENDED MEMORY*. SUBSEQUENT C, D AND
* E DIRECTIVES APPLY TO EXTENDED MEMORY/LCME.
*
* EMID - SET TYPE OF EXTENDED MEMORY FOR CYBER 170-865/875.
* *UEM* SETS MEMORY TYPE TO UEM, *ESM* SETS TYPE TO ESM.
* IF OMITTED, THE DEFAULT IS UEM FOR 800 SERIES MAINFRAMES,
* AND ESM FOR ALL OTHERS, INCLUDING CYBER 170-865/875.
*
* FWA - FIRST WORD ADDRESS/1000B FOR UEM.
* IF OMITTED, THE FIRST WORD ADDRESS FOR UEM IS OBTAINED
* FROM THE *UEML* WORD IN CMR FOR A CYBER 170-8X5.
EC DATA 0LEC
RJ LDC LIST DIRECTIVE CARD
SA1 .ECS
MX0 18
SEARCH TDIR,X1,X0
NZ X2,ECB1 IF EXTENDED MEMORY RECORD FOUND
SA1 CH SAVE STRING POINTER
BX6 X1
SA6 ECBA
RJ ASN ASSEMBLE PARAMETER
ZR X6,ECB0 IF NULL PARAMETER
SA2 =3LUEM
BX5 X6-X2
ZR X5,ECB0 IF UEM SPECIFIED
SA2 =3LESM
BX5 X6-X2
ZR X5,ECB1 IF ESM SPECIFIED
SA1 ECBA SET POINTER TO RE-READ FWA
BX6 X1
SA6 CH
ECB0 SA1 CE
ZR X1,ECB1 IF NO CM EXTENSION (ERROR)
RJ SEM SET UNIFIED EXTENDED MEMORY (UEM)
PL X3,ECB1 IF NO UEM DEFINED (ERROR)
SA6 US+1 SET USER CONTROLLED MEMORY NAME (SUBTITLE)
SA7 UI SET USER CONTROLLED RANDOM INDEX
SB7 B0+ SET OCTAL BASE
RJ ASD ASSEMBLE FWA FROM EC DIRECTIVE
ZR X6,DSD1 IF DEFAULT UEM BASE ADDRESS
LX6 9
SA6 MB
EQ DSD1 RETURN
ECB1 RJ SEC SET EXTENDED CORE STORAGE
SA6 US+1 SET USER CONTROLLED MEMORY NAME (SUBTITLE)
SA7 UI SET USER CONTROLLED MEMORY RANDOM INDEX
JP DSD1 RETURN
ECBA CON 0 STRING POINTER
EICB SPACE 4,10
*** EICB.
*
* DUMP THE EI COMMUNICATIONS BLOCK WITH INTERPRETATION
* OF THE VARIOUS FIELDS. IF THE DFT/OS BUFFER IS PRESENT,
* IT WILL BE DUMPED IN 64-BIT *I* FORMAT.
EICB DATA 0LEICB
RJ LDC LIST DIRECTIVE
SA1 ED
ZR X1,EIC2 IF *EDD* DUMP
SA1 .DSB CHECK FOR *DSB* RECORD
MX0 18
SEARCH TDIR,X1,X0
NZ X2,EIC1 IF FOUND
SA1 .EIB CHECK FOR *EIB* RECORD
MX0 18
SEARCH TDIR,X1,X0
ZR X2,ERR14 IF NOT FOUND
EIC1 SA2 A2+B1 SET RANDOM INDEX
BX6 X2
SA6 RI
SX3 0
EQ EIC3 FORMAT RECORD CONTENTS
EIC2 RJ SCM SET CENTRAL MEMORY
SA7 RI
SA1 F.TCMT FETCH EICB POINTER
SA3 X1+EIBP
MX1 -32
BX3 -X1*X3
ZR X3,ERR21 IF NO EICB POINTER
EIC3 RJ PCM POSITION CENTRAL MEMORY
GETCM BUF,/VE/DSCBL
SX6 /VE/D7TY SET FIRST WORD OF BLOCK
SA6 FW
SB2 BUF
SA1 TFEB
RJ GTD GENERATE DETAILED TABLE DUMP
RJ DFT PROCESS DFT/OS BUFFER
JP DSD1 RETURN
EJ SPACE 4,9
*** EJ.
* FORCE EJECT FOR NEXT DIRECTIVE.
*
* EJ,NN.
* FORCE PAGE EJECT ONLY IF LESS THAN NN LINES REMAINING
* ON THE CURRENT PAGE. NN IS DECIMAL.
*
* THE *EJ.* FUNCTION IS AUTOMATIC UNLESS TURNED OFF BY AN
* *EJOFF.* DIRECTIVE.
EJ DATA 0LEJ
SA1 CH CHECK SEPARATOR
SA1 X1+
SX2 X1-1R.
SX1 100 PRESET BIG LINE COUNT FOR EJECT
ZR X2,EJP1 IF LINE COUNT NOT SPECIFIED
SB7 1 SET DECIMAL BASE
RJ ASD ASSEMBLE NN
NZ X4,ERR6 IF CONVERSION ERROR
SX1 X6+ SET LINE COUNT
EJP1 RJ CPS CHECK REMAINING PAGE SPACE
JP DSD1 RETURN
EJOFF SPACE 4,3
*** EJOFF.
*
* TURN OFF AUTO PAGE EJECT FOR EACH DIRECTIVE.
EJOFF DATA 0LEJOFF
SX6 1
EFO1 SA6 EF UPDATE AUTO EJECT FLAG
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
JP DSD1 RETURN
EJON SPACE 4,3
*** EJON.
*
* TURN ON AUTO EJECT FOR EACH DIRECTIVE (DEFAULT).
EJON DATA 0LEJON
SX6 0
JP EFO1
EJT SPACE 4,10
*** EJT.
*
* DUMP EXECUTING JOB TABLE WITH INTERPRETATION.
EJT DATA 0LEJT
STBL EJT
SX5 =C* EXECUTING JOB TABLE*
RJ DTI DUMP TABLE WITH INTERPRETATION
EQ DSD1 RETURN
EPB SPACE 4,3
*** EPB.
*
* DUMP EXTENDED MEMORY/PP BUFFER IN *D* FORMAT.
EPB DATA 0LEPB
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ SCM SET CENTRAL MEMORY
SA1 F.TCMT
SA2 X1+EPBP
SX6 X2 FWA EXTENDED MEMORY/PP BUFFER
SX4 B0 SET READ FROM DUMP FILE
ZR X6,ERR21 IF NO EXTENDED MEMORY/PP BUFFER
MX0 -6 GET BUFFER COUNT
AX2 18
SX7 102B LENGTH OF BUFFER
BX2 -X0*X2
IX2 X2*X7
IX7 X6+X2 LWA+1
SB3 B1 SET *D* FORMAT
SX5 =C* EXTENDED MEMORY/PP BUFFER*
RJ DTB DUMP BUFFER
EQ DSD1 RETURN
ERRLOG SPACE 4,3
*** ERRLOG.
*
* DUMP THE ERRLOG DAYFILE BUFFER IN *E* FORMAT.
* ALSO, DUMP THE CURRENT BUFFER LINE BY LINE.
ERRLOG DATA 0LERRLOG
SX7 -2
JP ACN1
EST SPACE 4,3
*** EST.
*
* DUMP EQUIPMENT STATUS TABLE WITH INTERPRETATION.
EST DATA 0LEST
STBL EST SET UP TABLE POINTERS
SX5 =C* EQUIPMENT STATUS TABLE*
RJ DTI DUMP TABLE WITH INTERPRETATION
EQ DSD1 RETURN
FMFREG SPACE 4,10
*** FMFREG.
*
* DUMP PP REGISTERS STORED IN *1MB* WHILE PROCESSING A FATAL
* MAINFRAME ERROR. *1MB* PLACES THE BUFFER ADDRESS IN (IR+4).
FMFREG DATA 0LFMFREG
RJ LDC LIST DIRECTIVE
PRINT (=C* PP P Q K A*)
PRINT (=C* *)
RJ SSB SET STRING BUFFER TO SPACES
SX6 B0+ SET *FPP* ENTRY CONDITION
SA6 FI
SA6 FMFA INITIALIZE PP NUMBER
* LOCATE *1MB* PP AND SET BUFFER ADDRESS.
SX4 3R1MB
LX4 42
RJ FPP FIND *1MB* PP
SA6 //PP SET PP NUMBER
ZR X1,ERR7 IF *1MB* NOT FOUND
RJ RPD READ *1MB* PP MEMORY INTO *PBUF*
SX1 IR+4 FIND BUFFER ADDRESS IN *1MB*
RJ RPB READ PP BYTE
ZR X6,ERR15 IF BUFFER POINTER NOT SET
LX6 12
SB4 X6 SAVE BUFFER FWA
* STORE PP NUMBER IN STRING BUFFER.
FMF1 SA1 FMFA SET PP NUMBER
SX2 X1-12B
NG X2,FMF2 IF IN LOWER PP BANK
SX1 X1+20B-12B
FMF2 SB6 2
SB7 PRBF+4 SET STRING BUFFER ADDRESS
LX1 54
RJ CTS CONVERT TO STRING BUFFER
* STORE *P* REGISTER.
SX1 B4+1 READ *P* FROM *1MB* BUFFER
RJ RPB READ PP BYTE
BX1 X6
SB6 4
SB7 PRBF+8
RJ CTS CONVERT TO STRING BUFFER
* STORE *Q* REGISTER.
SX1 B4+3 READ *Q* FROM *1MB* BUFFER
RJ RPB READ PP BYTE
BX1 X6
SB6 4
SB7 PRBF+14
RJ CTS CONVERT TO STRING BUFFER
* STORE *K* REGISTER.
SX1 B4+4 PROCESS UPPER 6 BITS OF *K*
RJ RPB READ PP BYTE
BX1 X6
SB6 2
LX1 6
SB7 PRBF+20
RJ CTS CONVERT TO STRING BUFFER
SX1 B4+5 PROCESS LOWER 12 BITS OF *K*
RJ RPB READ PP BYTE
BX1 X6
SB6 4
SB7 PRBF+22
RJ CTS CONVERT TO STRING BUFFER
* STORE *A* REGISTER.
SX1 B4+6 PROCESS UPPER 6 BITS OF *A*
RJ RPB READ PP BYTE
BX1 X6
SB6 2
LX1 6
SB7 PRBF+28
RJ CTS CONVERT TO STRING BUFFER
SX1 B4+7 PROCESS LOWER 12 BITS OF *A*
RJ RPB READ PP BYTE
BX1 X6
SB6 4
SB7 PRBF+30
RJ CTS CONVERT TO STRING BUFFER
* PRINT DATA FOR ONE PP.
SX6 B4+8 SAVE *1MB* BUFFER ADDRESS
SA6 FMFB
PRINT PRBF,B7-PRBF PRINT COMPLETED PP REGISTER LINE
SA1 FMFA INCREMENT PP NUMBER
SX6 X1+1
SA2 FMFB RESTORE *1MB* BUFFER ADDRESS
SB4 X2
SA3 NP
SA6 A1
IX3 X6-X3
NG X3,FMF1 IF MORE PP-S TO PROCESS
JP DSD1 RETURN
FMFA BSS 1 PP COUNTER
FMFB BSS 1 *1MB* BUFFER ADDRESS SAVE AREA
FNT SPACE 4,3
*** FNT.
*
* DUMP FILE NAME TABLE WITH INTERPRETATION.
FNT DATA 0LFNT
STBL FNT SET TABLE POINTERS
SX5 =C* SYSTEM FILENAME TABLE*
RJ DTI DUMP TABLE WITH INTERPRETATION
EQ DSD1 RETURN
FOT SPACE 4,10
*** FOT.
*
* DUMP FAMILY ORDINAL TABLE IN *D* FORMAT.
FOT DATA 0LFOT
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+FOTP SET TABLE POINTER
LX2 24
SX6 X2 FWA OF TABLE
LX2 12
MX0 -12
BX2 -X0*X2 MAXIMUM NUMBER OF TABLE ENTRIES
IX7 X6+X2 LWA+1 OF TABLE
SB3 B1 SET *D* FORMAT
SX4 B0 SET READ FROM DUMP FILE
SX5 =C* FAMILY ORDINAL TABLE*
RJ DTB DUMP TABLE
EQ DSD1 RETURN
FTT SPACE 4,10
*** FTT.
* DUMP ALL NONZERO FUNCTION TIMEOUT TABLE ENTRIES.
*
* FTT,E1,E2,...,EN.
* DUMP SELECTED FUNCTION TIMEOUT TABLE ENTRIES.
FTT DATA 0LFTT
SX5 =C* FUNCTION TIMEOUT TABLE*
SX6 TFTE SET FORMAT TABLE POINTERS ADDRESS
SX7 =4HFFT SET TABLE NAME ADDRESS
SB2 /HIO/FTTP SET BUFFERED DEVICE TABLE INDEX
RJ DBT DUMP *FTT*
EQ DSD1 RETURN
HAT SPACE 4,10
*** HAT.
* DUMP ALL NONZERO HASH TABLE ENTRIES.
*
* HAT,E1,E2,...,EN.
* DUMP SELECTED HASH TABLE ENTRIES.
HAT DATA 0LHAT
SX5 =C* HASH TABLE*
SX6 THAE SET FORMAT TABLE POINTERS ADDRESS
SX7 =4HHAT SET TABLE NAME ADDRESS
SB2 /HIO/HATP SET BUFFERED DEVICE TABLE INDEX
RJ DBT DUMP *HAT*
EQ DSD1 RETURN
II SPACE 4,25
*** I,HFBN,HLBN,ASID.
*
* DUMP 64-BIT MEMORY IN INSTRUCTION PARCEL FORMAT.
*
* HFBN SPECIFIES FIRST BYTE NUMBER (HEXADECIMAL)
* TO BE DUMPED (MANDATORY).
*
* HLBN SPECIFIES LAST BYTE NUMBER PLUS ONE
* (HEXADECIMAL) TO BE DUMPED. IF HLBN IS
* OMITTED, HFBN+8 IS ASSUMED BY DEFAULT.
*
* ASID SPECIFIES THE ACTUAL SEGMENT IDENTIFIER OF
* THE MEMORY TO BE DUMPED. IF ASID=1 THEN
* HFBN AND HLBN ARE ADDRESSES WITHIN THE
* CYBER 170-8X5 ERROR INTERFACE PACKAGE. IF
* OMITTED, HFBN AND HLBN ARE REAL MEMORY
* ADDRESSES.
*
* THE I DIRECTIVE CAUSES THE SPECIFIED LOCATIONS OF
* CENTRAL MEMORY TO BE DUMPED IN FOUR GROUPS OF
* FOUR HEXADECIMAL DIGITS, THREE WORDS PER LINE
* (ONE WORD PER LINE FOR TERMINAL OUTPUT) WITH
* ASCII CHARACTER EQUIVALENTS. REPETITIVE DATA
* IS SUPPRESSED.
II DATA 0LI
SX6 B0
IPR1 SA6 IPRA+2 SET FORMAT CODE
RJ LDC LIST DIRECTIVE CARD
RJ GHA GET HARDWARE ADDRESS
ZR B6,ERR6 IF NOT SPECIFIED
MX0 57 FORCE MULTIPLE OF 8 BYTES
BX6 X0*X6
SA6 IPRA SET FIRST BYTE NUMBER
SX1 8
IX6 X6+X1
SA6 A6+B1 PRESET LAST BYTE + 1
RJ GHA GET SECOND HARDWARE ADDRESS
ZR B6,IPR3 IF NO SECOND PARAMETER
MX0 57 ROUND UP TO 8-BYTE MULTIPLE
SX1 7
IX6 X6+X1
BX6 X0*X6
SA6 IPRA+1 SET LAST BYTE + 1
RJ ASX CHECK FOR ASID
IPR3 SA1 IPRA CHECK CONSISTENCY
SA2 A1+B1
SB2 32
AX4 X1,B2 ISOLATE POSSIBLE ASID
AX5 X2,B2
NZ X4,IPR4 IF ASID GIVEN FOR FBA
BX4 X5
IPR4 ZR X5,IPR5 IF NO ASID GIVEN FOR LBA
BX5 X4-X5
NZ X5,ERR6 IF ASID-S DO NOT MATCH
IPR5 LX3 X6,B2
ZR X4,IPR6 IF NO ASID IN EITHER FBO, LBO
LX3 X4,B2
NZ X6,ERR6 IF ASID ALSO SPECIFICALLY GIVEN
IPR6 BX7 X2+X3
BX6 X1+X3
SA7 A2
SA6 A1
SB2 A1
RJ DSM DUMP SIXTY-FOUR BIT MEMORY
EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
IPRA BSS 0 DUMP PARAMETERS
CON 0 FIRST BYTE NUMBER
CON 0 LAST BYTE NUMBER + 1
CON 0 FORMAT CODE
IAF SPACE 4,10
*** IAF,OPS.
*
* WHERE OPS IS A STRING OF UP TO 5 CHARACTERS SELECTING
* VARIOUS DUMP OPTIONS AS FOLLOWS-
*
* C THE IAF COMMAND TABLE IS ANALYZED.
*
* E THE IAF REENTRY TABLE IS PRINTED IN BYTE FORMAT WITH
* DISPLAY CODE INTERPRETATION. EACH LINE OF TWO WORDS
* INDICATES ITS ORDINAL WITHIN THE TABLE.
*
* L THE POT LINK TABLE IS PRINTED IN BYTE FORMAT, WITH
* LINK ORDINALS PRINTED FOR EVERY FOUR LINKS. THE POTS
* ARE DUMPED, FOUR WORDS PER LINE, TWO LINES PER POT,
* WITH DISPLAY CODE INTERPRETATION.
*
* P ALL COPIES OF TLX, 1TA, 1TN, AND 1TO ARE
* ANALYZED. ALL COPIES OF 1RO AND 1RI THAT ARE
* ASSOCIATED WITH CONTROL POINTS OF IAF ORIGIN ARE
* ANALYZED.
*
* T THE IAF TERMINAL TABLE IS ANALYZED. EACH WORD OF
* THE TERMINAL TABLE IS PRINTED WITH ITS SYMBOL AND IS
* SPLIT INTO THE APPROPRIATE PARAMETER FIELDS WITH
* DESCRIPTION.
*
*
* IN ALL CASES, THE IAF CURRENT ENTRY WORD *SSPA* IS PRINTED
* FIRST IN BYTE FORMAT.
*
*
* IAF.
*
* IS EQUIVALENT TO *IAF,ETLP.*.
IAF DATA 0LIAF
RJ SCM SET CENTRAL MEMORY
SX3 /REM/VCPT/
SX5 IFSI
LX5 24
BX5 X5+X3
RJ ISS INITIALIZE FOR SUB-SYSTEM DUMP
GETCM SSBF,/REM/TXORG+1 READ IAF POINTERS AND *SSPA*
SX1 3
RJ CPS CHECK PAGE SPACE
SA5 IAFA
RJ PCW PRINT CONTENTS OF WORDS
SA5 IAFB
RJ DSS DUMP IAF SUBSYSTEM
JP DSD1 RETURN
IAFA BSS 0
VFD 36/6L*SSPA*,6/0,18//REM/TXORG
DATA 40HIAF CURRENT ENTRY
VFD 60/0
IAFB VFD 60/0LETLP
VFD 36/0,6/1RC,18/DTC
VFD 36/0,6/1RE,18/DTE
VFD 36/0,6/1RL,18/DTL
VFD 36/0,6/1RP,18/DTP
VFD 36/0,6/1RT,18/DTT
VFD 60/0
IOUCR SPACE 4,15
*** IOUCR.
* SPECIFIES THAT ALL CONCURRENT PP CHANNEL REGISTERS
* WILL BE PROCESSED.
*
* IOUCR,C1,C2,,,,CN.
* PROCESS THE CONCURRENT PP CHANNEL REGISTERS SPECIFIED
* ON DIRECTIVE CARD.
*
* THE *IOUCR* DIRECTIVE CAUSES THE CHANNEL NUMBER, CHANNEL
* TYPE, IOU STATUS REGISTER, T-REGISTER, FAULT STATUS MASK
* AND TEST MODE OPERAND GENERATOR (TEST SEED) TO BE PRINTED
* FOR THE THE CHANNELS SPECIFIED. THE CHANNEL NUMBER AND
* TYPE WILL BE PRINTED IN OCTAL, ALL OTHER DATA IS PRINTED
* IN HEXADECIMAL.
IOUCR DATA 0LIOUCR
RJ LDC LIST DIRECTIVE CARD
SX6 B0+
RJ IPD INITIALIZE FOR 16-BIT DUMP
SA1 C4
ZR X1,ERR14 IF NO *CPP* CHANNELS ON MAINFRAME
* OUTPUT *CCH* CHANNEL DATA HEADER.
PRINT (=2C )
PRINT ICRB
PRINT ICRC
* SELECT NEXT CHANNEL.
ICR1 SA1 PI
ZR X1,ICR2 IF CHANNEL NUMBERS ON DIRECTIVE CARD
SA1 //PP
SA2 C4
IX2 X1-X2
PL X2,DSD1 IF NO MORE CHANNELS TO DUMP
EQ ICR3 DUMP NEXT CHANNEL
ICR2 SB7 B0+
RJ ASD
ZR B6,DSD1 IF NO MORE CHANNELS TO DUMP
NZ X4,ERR6 IF CONVERSION ERROR
SA2 C4
IX7 X6-X2
PL X7,ERR6 IF CHANNEL NUMBER ERROR
SA6 //PP
* GET CHANNEL DATA.
ICR3 SA1 .CCR SEARCH FOR IOU CHANNEL RECORD
MX0 18
SEARCH TDIR,X1,X0
ZR X2,ERR14 IF RECORD ID NOT IN DIRECTORY
SA1 A2+B1
BX6 X1
SA6 RI
SA3 //PP CHANNEL NUMBER
SX1 11D
IX3 X3*X1 CONVERT TO BYTE NUMBER
RJ FBP FIND BYTE POSITION
ICR4 RJ NXB GET CHANNEL NUMBER
BX5 X1
LX5 12
RJ NXB GET CHANNEL TYPE
BX6 X5+X1
SA6 ICRD
BX5 X5-X5
SB6 6
SB7 B0+
ICR5 LX5 8
RJ NXB GET T-REGISTER DATA
BX5 X1+X5
SB7 B7+B1
NE B6,B7,ICR5 IF NOT END OF T-REGISTER
BX6 X5
SA6 ICRE
BX5 X5-X5
SB6 3
SB7 B0
MX0 -8
ICR6 LX5 8 GET FAULT MASK AND TEST SEED
SB7 B7+B1
RJ NXB
BX1 -X0*X1
BX5 X5+X1
NE B6,B7,ICR6 IF NOT END OF DATA
BX6 X5
SA6 ICRF
SA1 .IMR FETCH IOU MAINTENANCE REGISTERS RECORD
RJ RDR
ZR X2,ERR14 IF RECORD NOT FOUND
SX1 /IOU/C0CR FORM *CCH* CHANNEL STATUS REGISTER NUMBER
SA2 //PP
IX5 X1+X2
SX7 X2+B1 INCREMENT CHANNEL NUMBER
SA7 A2
RJ SFR SEARCH FOR REGISTER
NG X1,ERR14 IF REGISTER NOT FOUND
SA6 ICRA
SA7 A6+1
* OUTPUT *CCH* CHANNEL STATUS REGISTER DATA.
RJ SSB SPACE FILL STRING BUFFER
SB7 PRBF+2
SA2 ICRD SAVE CHANNEL TYPE FOR REFERENCE
MX3 -12
BX3 -X3*X2
SB2 X3
LX2 59-23
SB6 B1+B1
RJ UPS UNPACK CHANNEL NUMBER
SA2 ICRI DETERMINE CHANNEL TYPE
SA4 ICRG
SB3 X4
EQ B2,B3,ICR6.1 IF DMA/ISI CHANNEL TYPE
SA2 A2+B1
SA4 A4+B1
SB4 X4
EQ B2,B4,ICR6.1 IF DMA/170 CHANNEL TYPE
SA2 A2+B1
ICR6.1 SB7 B7+3
SB6 7
RJ UPS UNPACK CHANNEL TYPE
SB7 B7+2 PROCESS UPPER 16 BITS OF STATUS REGISTER
SA1 ICRA
MX0 12
SA2 A1+B1
BX3 X0*X2
BX1 X1+X3
SB6 4
LX1 -4
RJ HTS
SX4 2
ICR7 BX1 X2 PROCESS LOWER 48 BITS OF REGISTER
LX1 12
SX5 3
ICR8 SB7 B7+1
SB6 4
RJ HTS
SX5 X5-1
NZ X5,ICR8 IF MORE OF CURRENT REGISTER TO PROCESS
SX4 X4-1
ZR X4,ICR9 IF STATUS AND T-REGISTER PROCESSED
SA2 ICRE
SB7 B7+2
EQ ICR7 PROCESS T-REGISTER DATA
ICR9 SB7 B7+3 PROCESS FLAG MASK REGISTER DATA
SB6 4
SA1 ICRF
EQ B2,B3,ICR10 IF DMA/ISI TYPE CHANNEL
SA2 ICRL WRITE *N/A* IN STRING BUFFER
RJ UPS
LX1 -16 SHIFT FOR TEST MODE OPERAND GENERATOR
EQ ICR11 CONTINUE
ICR10 LX1 59-23
RJ HTS
ICR11 SB7 B7+7 PROCESS TEST MODE OPERAND GENERATOR
NE B2,B4,ICR12 IF NOT DMA/170 CHANNEL TYPE
SA2 ICRL
SB6 3
RJ UPS
EQ ICR13 PRINT OUTPUT
ICR12 SB6 2
RJ HTS
ICR13 PRINT CCCH,B7-CCCH+1
EQ ICR1 DUMP NEXT CHANNEL REGISTERS
ICRA CON 0 UPPER FOUR BITS OF STATUS REGISTER
CON 0 LOWER 60 BITS OF STATUS REGISTER
ICRB DATA 50H CHANNEL
DATA 29C FAULT TEST MODE OPERAND
ICRC DATA 50H NUMBER TYPE STATUS REGISTER T REGISTE
DATA 25CR MASK GENERATOR
ICRD CON 0 *CCH* CHANNEL NUMBER AND TYPE
ICRE CON 0 *CCH* CHANNEL T-REGISTER
ICRF CON 0 *CCH* CHANNEL FAULT MASK AND TEST SEED
ICRG CON 2R03 DMA/ISI CHANNEL FUNCTION CODE
ICRH CON 2R05 DMA/170 CHANNEL FUNCTION CODE
ICRI CON 7LDMA/ISI
ICRJ CON 7LDMA/170
ICRK CON 7LDMA/IPI
ICRL CON 4LN/A
IOUMR SPACE 4,20
*** IOUMR.
* SPECIFIES THAT ALL IOU MAINTENANCE REGISTERS SHOULD
* BE DUMPED.
*
* IOUMR,FIRST,LAST.
*
* FIRST SPECIFIES THE FIRST REGISTER (HEX) TO BE DUMPED.
* IF OMITTED, REGISTER 00 IS USED BY DEFAULT.
*
* LAST SPECIFIES THE LAST PLUS ONE REGISTER (HEX) TO BE
* DUMPED. IF OMITTED, FIRST+1 IS USED BY DEFAULT.
*
* THE *IOUMR* DIRECTIVE CAUSES THE IOU MAINTENANCE
* REGISTERS TO BE DUMPED. FOR EACH REGISTER, THE
* REGISTER NUMBER, REGISTER CONTENTS, AND REGISTER
* DESCRIPTION ARE PRINTED. FOR REGISTERS CONTAINING
* ERROR INDICATORS, DESCRIPTIONS OF ERROR INDICATORS
* SET ARE PRINTED.
IOUMR DATA 0LIOUMR
SA1 .IMR RECORD ID
SX7 IMRA DESCRIPTOR TABLE ADDRESS
RJ DMR DUMP MAINTENANCE REGISTERS
EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
* DESCRIPTOR FORMAT -
*
*T 9/ REGISTER,17/ BDTA,17/ 0,17/ DESCRIPTOR PTR
*
* BDTA = BIT DESCRIPTOR TABLE ADDRESS.
IMRA BSS 0
SXREG SSMR,(STATUS SUMMARY ),IMRB
SXREG EIMR,(ELEMENT ID )
SXREG OIMR,(OPTIONS INSTALLED )
SXREG IFSM,(FAULT STATUS MASK )
SXREG IOSB,(OS BOUNDS )
SXREG DEMR,(DEPENDENT ENV CONTROL)
SXREG ISTR,(STATUS REG )
SXREG IFS1,(FAULT STATUS 1 ),IMRC
SXREG IFS2,(FAULT STATUS 2 ),IMRD
SXREG ITMR,(TEST MODE )
SXREG OICR,(CCH OPTIONS INSTALLED),,I4A
SXREG ECCR,(CCH ENVIRONMENT CONTROL),,I4A
SXREG SRCR,(CCH STATUS REGISTER),,I4A
SXREG F1CR,(CCH FAULT STATUS 1),,I4A
SXREG F2CR,(CCH FAULT STATUS 2),,I4A
SXREG TMCR,(CCH TEST MODE),,I4A
SXREG FMCR,(CCH FAULT STATUS MASK),,I4A
SXREG OBCR,(CCH OS BOUNDS),,I4A
SXREG C0CR,(CCH CHANNEL 0 STATUS),,I4A+I4S
SXREG C1CR,(CCH CHANNEL 1 STATUS),,I4A+I4S
SXREG C2CR,(CCH CHANNEL 2 STATUS),,I4A+I4S
SXREG C3CR,(CCH CHANNEL 3 STATUS),,I4A+I4S
SXREG C4CR,(CCH CHANNEL 4 STATUS),,I4A
SXREG C5CR,(CCH CHANNEL 5 STATUS),,I4A
SXREG C6CR,(CCH CHANNEL 6 STATUS),,I4A
SXREG C7CR,(CCH CHANNEL 7 STATUS),,I4A
SXREG C8CR,(CCH CHANNEL 10 STATUS),,I4A
SXREG C9CR,(CCH CHANNEL 11 STATUS),,I4A
CON 0
* REG *SSMR* (STATUS SUMMARY) BIT INTERPRETATIONS.
*
* DESCRIPTOR FORMAT -
*
*T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
IMRB BSS 0
S2BIT 59,(SUMMARY STATUS )
S2BIT 60,(PROCESSOR HALT )
S2BIT 61,(UNCORRECTED ERROR )
S2BIT 63,(PHYS ENVIRON WARN )
CON 0
* REG *IFS1* (FAULT STATUS 1) BIT INTERPRETATIONS.
*
* DESCRIPTOR FORMAT -
*
*T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
IMRC BSS 0
S2BIT 7,(BARREL 0 PP 00 ERR )
S2BIT 6,(BARREL 0 PP 01 ERR )
S2BIT 5,(BARREL 0 PP 02 ERR )
S2BIT 4,(BARREL 0 PP 03 ERR )
S2BIT 3,(BARREL 0 PP 04 ERR )
S2BIT 15,(BARREL 0 PP 05 ERR ),S1
S2BIT 15,(BARREL 1 PP 00 ERR ),I2+I4A+I4S
S2BIT 14,(BARREL 0 PP 06 ERR ),S1
S2BIT 14,(BARREL 1 PP 01 ERR ),I2+I4A+I4S
S2BIT 13,(BARREL 0 PP 07 ERR ),S1
S2BIT 13,(BARREL 1 PP 02 ERR ),I2+I4A+I4S
S2BIT 12,(BARREL 0 PP 10 ERR ),S1
S2BIT 12,(BARREL 1 PP 03 ERR ),I2+I4A+I4S
S2BIT 11,(BARREL 0 PP 11 ERR ),S1
S2BIT 11,(BARREL 1 PP 04 ERR ),I2+I4A+I4S
S2BIT 23,(BARREL 1 PP 00 ERR ),S1
S2BIT 23,(BARREL 2 PP 00 ERR ),I2+I4A+I4S
S2BIT 22,(BARREL 1 PP 01 ERR ),S1
S2BIT 22,(BARREL 2 PP 01 ERR ),I2+I4A+I4S
S2BIT 21,(BARREL 1 PP 02 ERR ),S1
S2BIT 21,(BARREL 2 PP 02 ERR ),I2+I4A+I4S
S2BIT 20,(BARREL 1 PP 03 ERR ),S1
S2BIT 20,(BARREL 2 PP 03 ERR ),I2+I4A+I4S
S2BIT 19,(BARREL 1 PP 04 ERR ),S1
S2BIT 19,(BARREL 2 PP 04 ERR ),I2+I4A+I4S
S2BIT 31,(BARREL 1 PP 05 ERR ),S1
S2BIT 31,(BARREL 3 PP 00 ERR ),I2+I4A
S2BIT 31,(CIO PP 00 ERR ),I4S
S2BIT 30,(BARREL 1 PP 06 ERR ),S1
S2BIT 30,(BARREL 3 PP 01 ERR ),I2+I4A
S2BIT 30,(CIO PP 01 ERR ),I4S
S2BIT 29,(BARREL 1 PP 07 ERR ),S1
S2BIT 29,(BARREL 3 PP 02 ERR ),I2+I4A
S2BIT 29,(CIO PP 02 ERR ),I4S
S2BIT 28,(BARREL 1 PP 10 ERR ),S1
S2BIT 28,(BARREL 3 PP 03 ERR ),I2+I4A
S2BIT 28,(CIO PP 03 ERR ),I4S
S2BIT 27,(BARREL 1 PP 11 ERR ),S1
S2BIT 27,(BARREL 3 PP 04 ERR ),I2+I4A
S2BIT 27,(CIO PP 04 ERR ),I4S
S2BIT 32,(A/R PARITY ERR ),S1
S2BIT 32,(ERR ON 7VD0 MODULE ),S2
S2BIT 32,(ERR ON JW MODULE ),I4A
S2BIT 32,(ERR ON IIW MODULE ),I4S
S2BIT 33,(P/Q PARITY ERR ),S1
S2BIT 33,(ERR ON 7VE0 MODULE ),S2
S2BIT 33,(ERR ON KR MODULE ),I4A+I4S
S2BIT 34,(ERR ON JA MODULE ),I4A
S2BIT 34,(ERR ON LA MODULE ),I4S
S2BIT 34,(FIRMWARE ERR ),S1+I2
S2BIT 35,(ERR ON KB MODULE ),I4A+I4S
S2BIT 35,(PP MEM DATA-OUT ERR ),S1+I2
S2BIT 36,(ADU ERR ),S1
S2BIT 36,(ERR ON 7VG0 MODULE ),S2
S2BIT 36,(ERR ON JC MODULE ),I4A+I4S
S2BIT 37,(12/16 CONVERSION ERR ),S2
S2BIT 37,(ERR ON JD MODULE ),I4A+I4S
S2BIT 38,(ERR ON JE MODULE ),I4A+I4S
S2BIT 38,(PP MEM ADDR ERR ),S1+I2
S2BIT 39,(ERR ON JF MODULE ),I4A+I4S
S2BIT 39,(PP MEM DATA-IN ERR ),S1+I2
S2BIT 40,(NIO BARREL 0 SECDED ),I4A+I4S
S2BIT 41,(NIO BARREL 1 SECDED ),I4A+I4S
S2BIT 42,(NIO BARREL 2 SECDED ),I4A+I4S
S2BIT 43,(NIO BARREL 3 SECDED ),I4A
S2BIT 43,(CIO BARREL 0 SECDED ),I4S
S2BIT 44,(12/16 CONVERSION ERR ),I4A+I4S
S2BIT 45,(OS BOUNDS VIOLATION )
S2BIT 46,(OS BOUNDS ADDR PARITY ERR)
S2BIT 47,(ADU BARREL PARITY ERR),S2
S2BIT 47,(FIRMWARE ERR ),I4A+I4S
S2BIT 48,(CM READ BUFFER ERR ),S2
S2BIT 48,(RESPONSE CODE ERROR ),I4A+I4S
S2BIT 49,(UNCORRECTED CM READ ERR)
S2BIT 50,(UNCORRECTED CM WRITE ERR)
S2BIT 51,(CM REJECT )
S2BIT 52,(OUTPUT CM TAG ERR ),S1
S2BIT 52,(INPUT CM TAG ERR ),S2
S2BIT 52,(DATA IN ERR - CMI/ADU),I4A+I4S
S2BIT 53,(TAG IN ERR - CMI/ADU ),I4A+I4S
S2BIT 53,(CM RESPONSE CODE ERR ),S1+I2
S2BIT 54,(CM DATA-IN ERR ),S1
S2BIT 54,(CM DATA-OUT ERR ),S2
S2BIT 54,(DATA-OUT ERR - CMI/ADU),I4A+I4S
S2BIT 55,(CM ADDRESS-OUT ERR ),S2
S2BIT 55,(ADDR/FUNC ERR - CMI/ADU),I4A+I4S
S2BIT 56,(TAG OUT ERR - CMI/ADU),I4A+I4S
S2BIT 56,(CM DATA-IN ERR BYTE 0),S1+I2
S2BIT 57,(CMI ERR - JJ MODULE ),I4A
S2BIT 57,(CMI ERR - FJ MODULE ),I4S
S2BIT 57,(CM DATA-IN ERR BYTE 1),S1+I2
S2BIT 58,(CMI ERR - JJ MODULE ),I4A
S2BIT 58,(CMI ERR - FJ MODULE ),I4S
S2BIT 58,(CM DATA-IN ERR BYTE 2),S1+I2
S2BIT 59,(CMI ERR - JG MODULE ),I4A
S2BIT 59,(CMI ERR - FG MODULE ),I4S
S2BIT 59,(CM DATA-IN ERR BYTE 3),S1+I2
S2BIT 60,(CMI ERR - JH MODULE ),I4A
S2BIT 60,(CMI ERR - FH MODULE ),I4S
S2BIT 60,(CM DATA-IN ERR BYTE 4),S1+I2
S2BIT 61,(CMI ERR - JH MODULE ),I4A
S2BIT 61,(CMI ERR - FH MODULE ),I4S
S2BIT 61,(CM DATA-IN ERR BYTE 5),S1+I2
S2BIT 62,(CMI ERR - JH MODULE ),I4A
S2BIT 62,(CMI ERR - FH MODULE ),I4S
S2BIT 62,(CM DATA-IN ERR BYTE 6),S1+I2
S2BIT 63,(CMI ERR - JH MODULE ),I4A
S2BIT 63,(CMI ERR - FH MODULE ),I4S
S2BIT 63,(CM DATA-IN ERR BYTE 7),S1+I2
CON 0
* REG *IFS2* (FAULT STATUS 2) BIT INTERPRETATIONS.
*
* DESCRIPTOR FORMAT -
*
*T 9/ BIT NUMBER,17/ 0,17/ 0,17/ DESCRIPTOR PTR
IMRD BSS 0
S2BIT 32,(CHAN 07 ERR )
S2BIT 33,(CHAN 06 ERR )
S2BIT 34,(CHAN 05 ERR )
S2BIT 35,(CHAN 04 ERR )
S2BIT 36,(CHAN 03 ERR )
S2BIT 37,(CHAN 02 ERR )
S2BIT 38,(CHAN 01 ERR )
S2BIT 39,(CHAN 00 ERR )
S2BIT 40,(CHAN 17 ERR )
S2BIT 42,(CHAN 15 ERR )
S2BIT 44,(CHAN 13 ERR )
S2BIT 45,(CHAN 12 ERR )
S2BIT 46,(CHAN 11 ERR )
S2BIT 47,(CHAN 10 ERR )
S2BIT 48,(CHAN 27 ERR ),S1+I2+I4A
S2BIT 49,(CHAN 26 ERR ),S1+I2+I4A
S2BIT 50,(CHAN 25 ERR ),S1+I2+I4A
S2BIT 51,(CHAN 24 ERR )
S2BIT 52,(CHAN 23 ERR )
S2BIT 53,(CHAN 22 ERR )
S2BIT 54,(CHAN 21 ERR )
S2BIT 55,(CHAN 20 ERR )
S2BIT 57,(RADIAL INTERFACE 5/6 ERR),S2
S2BIT 58,(RADIAL INTERFACE 3/4 ERR),S2
S2BIT 59,(RADIAL INTERFACE 1/2 ERR),S2
S2BIT 59,(RADIAL INTERFACE 2/3 ERR),S1
S2BIT 60,(CHAN 33 ERR ),S1+I2+I4A
S2BIT 60,(CIO CHAN 03 ERR ),I4S
S2BIT 61,(CHAN 32 ERR ),S1+I2+I4A
S2BIT 61,(CIO CHAN 02 ERR ),I4S
S2BIT 62,(CHAN 31 ERR ),S1+I2+I4A
S2BIT 62,(CIO CHAN 01 ERR ),I4S
S2BIT 63,(CHAN 30 ERR ),S1+I2+I4A
S2BIT 63,(CIO CHAN 00 ERR ),I4S
CON 0
JC SPACE 4,5
*** JC.
*
* DUMP JOB CONTROL AREA FOR EACH SERVICE CLASS. EACH WORD IS
* PRINTED WITH ITS SYSTEXT SYMBOL AND IS SPLIT INTO THE
* APPROPRIATE PARAMETER FIELDS.
* THE FIRST JOB CONTROL BLOCK CONTAINS THE SERVICE CLASS
* CONTROL AREA *SCT*. THIS AREA IS DUMPED.
JC DATA 0LJC
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ SCM SELECT CENTRAL MEMORY
SA7 RI
SX6 JCBE PRESET JOB CONTROL AREA INDEX FOR JCB 1
SA6 JCPA
SX6 B0+ PRESET (SERVICE CLASS - 1) FOR JCB 1
SA6 JCPC
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
SA1 F.TCMT
SA2 X1+JBCP
LX2 24
SX6 X2 FWA JOB CONTROL AREA
SA6 JCPB SAVE FWA OF JOB CONTROL AREA
SX3 X6
RJ PCM POSITION TO CM WORD
GETCM BUF,MXJC*JCBE
* DISPLAY THE FIRST JOB CONTROL BLOCK WHICH CONTAINS THE
* SERVICE CLASS CONTROL TABLE.
SX1 14D
RJ CPS CHECK PAGE SPACE
PRINT (=C* SERVICE CLASS CONTROL TABLE*)
PRINT (=2C )
SA1 JCPB FWA OF JOB CONTROL AREA
BX2 -X1
SB2 X2+BUF SET CORE ADDRESS OF TABLE DATA
BX6 X1
SA6 FW SET PRINT ADDRESS
SA1 TSCT FORMAT TABLE POINTERS
RJ GTD GENERATE DETAILED TABLE DUMP
PRINT (=2C )
PRINT (=C* JOB CONTROL AREA BY SERVICE CLASS*)
* DISPLAY JOB CONTROL BLOCKS ASSOCIATED WITH A SERVICE CLASS.
JCP1 SX1 23D
RJ CPS CHECK PAGE SPACE
PRINT (=2C )
SB7 PRBF
SA5 JCPC SERVICE CLASS NUMBER - 1
SX6 X5+B1
SA6 A5 INCREMENT SERVICE CLASS
SA2 X5+SCNT TABLE OF SERVICE CLASS NAMES
SB6 10
RJ UPS STORE IN PRINT STRING
PRINT CCCH,B7-CCCH
PRINT (=2C )
SA1 JCPB FWA OF JOB CONTROL AREA
BX2 -X1
SA5 JCPA JOB CONTROL AREA INDEX
SB2 X2+BUF SET CORE ADDRESS OF TABLE DATA
IX6 X1+X5
SA6 FW SET PRINT ADDRESS
SA1 TFJC FORMAT TABLE POINTERS
RJ GTD GENERATE DETAILED TABLE DUMP
SA1 JCPA
SX6 X1+JCBE
SA6 A1 INCREMENT JOB CONTROL AREA INDEX
SX3 X6-MXJC*JCBE
NZ X3,JCP1 IF MORE TO DUMP
JP DSD1 RETURN
JCPA BSS 1 JOB CONTROL AREA INDEX
JCPB BSS 1 FWA OF JOB CONTROL AREA
JCPC BSS 1 SERVICE CLASS - 1
LC SPACE 4,4
*** LC.
*
* DUMP LOW CORE. EACH WORD IS PRINTED WITH ITS SYSTEXT SYMBOL
* AND IS SPLIT INTO THE APPROPRIATE PARAMETER FIELDS.
LC DATA 0LLC
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ SCM SELECT CENTRAL MEMORY
SA7 RI
SX6 0
SA6 FW SET PRINT ADDRESS
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
SX3 0
RJ PCM POSITION TO START OF CM
GETCM BUF,CPAS
SB2 BUF SET CORE ADDRESS OF TABLE DATA
SA1 TFLC FORMAT TABLE POINTERS
RJ GTD GENERATE DETAILED TABLE DUMP
JP DSD1 RETURN
LDIS SPACE 4,10
*** LDIS.
*
* DUMP THE *L* DISPLAY BUFFERS IN *C* FORMAT.
LDIS DATA 0LLDIS
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+LDSP SET DUMP FWA
AX2 12
SX6 X2
SX7 X6+1+LCOM+LDSY+2+2+1 SET DUMP LWA+1
SB3 B0 SET *C* FORMAT
SX4 B0 SET READ FROM DUMP FILE
SX5 =C* L-DISPLAY BUFFERS*
RJ DTB DUMP BUFFERS
EQ DSD1 RETURN
SPACE 4,10
*** LIDT.
*
* DUMP LOGICAL ID TABLE IN *D* FORMAT.
LIDT DATA 0LLIDT
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+LIDP GET LID TABLE FWA
MX0 -18
LX2 24
BX5 -X0*X2
BX3 X5
RJ PCM POSITION DUMP TO LID TABLE
GETCM GET LID TABLE HEADER
MX0 -12 GET USABLE LENGTH OF LID TABLE
LX6 12
BX2 -X0*X6
IX7 X5+X2 COMPUTE LWA+1 OF LID TABLE
SB3 B1 SET *D* FORMAT
BX6 X5 MOVE FWA
SX4 B0 SET TO READ FROM DUMP FILE
SX5 =C* LOGICAL ID TABLE*
RJ DTB DUMP LID TABLE
EQ DSD1 RETURN
LPVA SPACE 4,10
*** LPVA,ADDRESS.
*
* LOAD PVA FROM MEMORY AT THE ADDRESS SPECIFIED.
LPVA DATA C*LPVA*
RJ GHA GET HARDWARE ADDRESS
ZR B6,ERR6 IF NO ADDRESS SPECIFIED
SA6 BRMA SAVE SVA
RJ ASX GET HEX NUMBER
ZR B6,LPV1 IF NO VALUE SPECIFIED
NZ X4,ERR6 IF NOT VALID HEX NUMBER
LPV1 SA1 BRMA FETCH SVA
IX1 X1+X6 ADD OFFSET TO SVA
RJ FRV FETCH REGISTER VALUE
NZ X2,ERR30 IF PAGE IS MISSING
SA6 S2PVA VALUE OF PVA
SA2 =13HLOADED PVA
SB6 13
SB7 PRBF
RJ UPS UNPACK STRING
SA1 S2PVA
LX1 59-47
SB6 12
RJ HTS HEX TRANSLATION OF PVA
PRINT CCCH,B7-CCCH *LOADED PVA = RSSSBBBBBBBB*
JP DSD1 END OF COMMAND
MAGNET SPACE 4,23
*** MAG,OPS.
* MAGNET,OPS.
*
* WHERE OPS IS A STRING OF UP TO 5 CHARACTERS SELECTING
* VARIOUS DUMP OPTIONS AS FOLLOWS-
*
* P ALL COPIES OF 1MT ARE ANALYZED.
*
* Q THE MAGNET QUEUE TABLE IS PRINTED IN BYTE FORMAT WITH
* DISPLAY CODE INTERPRETATION. EACH LINE OF TWO WORDS
* ALSO SHOWS THE ORDINAL WITHIN THE TABLE.
*
* S THE ACTIVE STAGING JOB TABLE, STAGING VSN TABLE, AND
* STAGE REQUEST TABLE ARE PRINTED IN BYTE FORMAT WITH
* DISPLAY CODE INTERPRETATION.
*
* U EACH OF THE MAGNET UNIT DESCRIPTOR TABLES ARE ANALYZED
* WITH ASSOCIATED FET, EST, AND FNT/FST. EACH WORD OF
* THE UDT IS PRINTED WITH ITS SYMBOL AND IS SPLIT INTO
* THE APPROPRIATE PARAMETER FIELDS WITH DESCRIPTION. IF
* EXTENDED LABELS ARE PRESENT, THEY ARE PRINTED WITH THE
* FET. THE FET INDICATES THE ADDRESS AND CONTROL POINT
* NUMBER OF THE USER.
*
*
* MAGNET. OR MAG.
*
* IS EQUIVALENT TO *MAGNET,UAQSP.*.
MAGNET DATA 0LMAGNET
EQ MAG1 PROCESS LIKE *MAG* DIRECTIVE
MAG DATA 0LMAG
MAG1 SA5 MAGA
RJ ISS INITIALIZE FOR SUB-SYSTEM DUMP
GETCM SSBF,/MTX/TVSP+1 READ MAGNET POINTERS
SA5 MAGB
RJ DSS DUMP MAGNET SUB-SYSTEM
JP DSD1 RETURN
MAGA VFD 24/0,12/MTSI,24/0
MAGB VFD 60/0LUQSP
VFD 36/0,6/1RP,18/DMP
VFD 36/0,6/1RS,18/DMS
VFD 36/0,6/1RQ,18/DMQ
VFD 36/0,6/1RU,18/DMU
VFD 60/0
MAINLOG SPACE 4,10
*** MAINLOG.
*
* DUMP THE BINARY MAINTENANCE LOG IN *E* FORMAT.
MAINLOG DATA 0LMAINLOG
SX7 -3 SET CONTROL POINT
EQ ACN1 USE DAYFILE DUMP CODE
MCT SPACE 4,10
*** MCT.
*
* DISPLAY THE MEMORY CONTROL TABLE (MCT).
*
* EACH MCT ENTRY IS DISPLAYED ALONG WITH THE RA, FL, RAE, AND
* FLE FROM THE CORRESPONDING CPA OR PCPA.
MCT DATA 0LMCT
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ LDC LIST DIRECTIVE
RJ SCM SET CENTRAL MEMORY
SA7 RI
SA1 F.TCMT
SA3 X1+MCTP
AX3 36
BX6 X6-X6 INITIALIZE PCPA OFFSET
SA6 OP
RJ PCM POSITION TO MCT
SA2 ME NUMBER OF MCT ENTRIES
LX2 1
SX6 -B1 INITIALIZE CP/PCP NUMBER
SA6 CN
GETCM BUF,X2 READ IN MCT
PRINT (=2C )
PRINT (=C* PREVIOUS NEXT UNASSIGNED RA
, FL NFL RECOVERY*)
PRINT (=C* CP/PCP CP/PCP MEMORY
, INFORMATION*)
MCT1 RJ SSB CLEAR STRING BUFFER
PRINT (=C )
SA5 CN
SA3 ME
SX5 X5+B1
IX3 X5-X3
PL X3,DSD1 IF FINISHED
SA3 NC
SX3 X3+2
BX6 X5
IX4 X5-X3
NZ X4,MCT2 IF NOT AT FIRST PCP
SA1 F.TCMT SET PCPA FWA OFFSET
SA1 X1+PCPP
SX1 X1
LX3 7
IX7 X1-X3
SA7 OP
MCT2 SA6 A5
NZ X5,MCT3 IF NOT CMR
BX2 X2-X2
SA1 MCTA
EQ MCT4 PRINT MCT HEADER
MCT3 BX2 X5 CONVERT CP/PCP NUMBER
SX1 707B
LX2 3
BX2 X2+X5
BX2 X2*X1
SA1 MCTB
LX2 35-11
NG X4,MCT4 IF CP
SA1 A1+B1
MCT4 IX2 X1+X2
LX5 1
SB6 6
SB7 PRBF
RJ UPS UNPACK STRING
MCT5 SA1 X5+BUF GET NEXT MCT WORD
SB6 4
SB7 B7+3
RJ CTS DISPLAY PREVIOUS CP/PCP
SB6 4
SB7 B7+6
RJ CTS DISPLAY NEXT CP/PCP
LX1 12
SB6 8
SB7 B7+5
RJ CTS DISPLAY UNASSIGNED CM/EM
AX1 X5,B1
SA2 OP ADD PCP OFFSET
LX1 7
IX4 X1+X2
SX3 X4+FLSW
LX5 59-0
PL X5,MCT6 IF CM WORD OF MCT ENTRY
SX3 X4+ECSW
MCT6 SA1 F.TCMT
IX1 X1+X3
SA1 X1
LX1 59-35
SB6 8
SB7 PRBF+42
RJ CTS DISPLAY RA/RAE
SB6 4
SB7 B7+4
RJ CTS DISPLAY FL/FLE
SB6 4
SB7 B7+4
RJ CTS DISPLAY NFL/NFLE
SX3 X4+6
SA1 F.TCMT
IX1 X1+X3
SA1 X1
PL X5,MCT6.1 IF CM WORD OF MCT ENTRY
LX1 59-47
MCT6.1 SB6 4
SB7 B7+4
RJ CTS DISPLAY MCT RECOVERY BYTE
PRINT CCCH,B7-CCCH
NG X5,MCT1 IF THROUGH WITH ENTRY
RJ SSB CLEAR STRING BUFFER
SB7 PRBF+6
LX5 0-59
SX5 X5+B1
EQ MCT5 PRINT EM WORD OF MCT ENTRY
MCTA DATA 6L CMR
MCTB DATA 6L CP 00
DATA 6LPCP 00
MEMMR SPACE 4,20
*** MEMMR.
* SPECIFIES THAT ALL MEMORY MAINTENANCE REGISTERS
* SHOULD BE DUMPED.
*
* MEMMR,FIRST,LAST.
*
* FIRST SPECIFIES THE FIRST REGISTER (HEX) TO BE DUMPED.
* IF OMITTED, REGISTER 00 IS USED BY DEFAULT.
*
* LAST SPECIFIES THE LAST PLUS ONE REGISTER (HEX) TO BE
* DUMPED. IF OMITTED, FIRST+1 IS USED BY DEFAULT.
*
* THE *MEMMR* DIRECTIVE CAUSES THE MEMORY MAINTENANCE
* REGISTERS TO BE DUMPED. FOR EACH REGISTER, THE REGISTER
* NUMBER, REGISTER CONTENTS, AND REGISTER DESCRIPTION
* ARE PRINTED. FOR REGISTERS CONTAINING ERROR
* INDICATORS, DESCRIPTIONS OF ERROR INDICATORS
* SET ARE PRINTED.
MEMMR DATA 0LMEMMR
SA1 .MMR FETCH MEMORY MAINTENANCE REGISTERS RECORD
RJ RDR
ZR X2,ERR14 IF RECORD NOT FOUND
SX5 /IOU/OIMR OPTIONS INSTALLED REGISTER
RJ SFR
NG X1,ERR14 IF REGISTER NOT FOUND
LX7 8
PL X7,MMR1 IF BIT 12 OF *OIMR* NOT SET
SA1 MMRP CHANGE ADDRESS OF BIT DESCRIPTOR TABLE
BX7 X1
SA7 MMRO
MMR1 SA1 .MMR RECORD ID
SX7 MMRA DESCRIPTOR TABLE ADDRESS
RJ DMR DUMP MAINTENANCE REGISTERS
EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
* DESCRIPTOR FORMAT -
*
*T 9/ REGISTER,17/ MVP,17/ BDTA,17/ DESCRIPTOR PTR
*
* BDTA = BIT DESCRIPTOR TABLE ADDRESS.
* = 0, IF NO TABLE.
* MVP = MAP OF VALID PROCESSORS.
MMRA BSS 0
SXREG SSMR,(STATUS SUMMARY ),MMRB
SXREG EIMR,(ELEMENT ID )
MMRO SXREG OIMR,(OPTIONS INSTALLED ),MMRC
SXREG ECMR,(ENVIRON CONTROL ),MMRF,S1
SXREG ECMR,(ENVIRON CONTROL ),MMRE,S2+S3+THETA
SXREG MBRG,(BOUNDS REG )
SXREG MCEL,(CORR ERR LOG ),,S1+S2+S3
SXREG MCEL,(CORR ERRLOG REG 0 ),,THETA
SXREG MCEL+1,(CORR ERRLOG REG 1 ),,THETA
SXREG MCEL+2,(CORR ERRLOG REG 2 ),,THETA
SXREG MCEL+3,(CORR ERRLOG REG 3 ),,THETA
SXREG MUL1,(UNCORR ERR LOG 1 ),,S1+S2+S3
SXREG MUL1,(UNCOR ERRLOG REG 0),,THETA
SXREG MUL1+1,(UNCOR ERRLOG REG 1),,THETA
SXREG MUL1+2,(UNCOR ERRLOG REG 2),,THETA
SXREG MUL1+3,(UNCOR ERRLOG REG 3),,THETA
SXREG MUL2,(UNCORR ERR LOG 2 ),,S1+S2+S3
SXREG MFRC,(FREE RUN COUNTER )
CON 0
MMRP SXREG OIMR,(OPTIONS INSTALLED ),MMRD
* REGISTER *SSMR* (STATUS SUMMARY) BIT INTERPRETATIONS.
*
* DESCRIPTOR FORMAT -
*
*T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
MMRB BSS 0
S2BIT 58,(CLOCK TUNING MODE )
S2BIT 61,(UNCORRECTED ERROR )
S2BIT 62,(CORRECTED ERROR )
S2BIT 63,(PHYS ENVIRON WARN )
CON 0
* REGISTER *OIMR* (OPTIONS INSTALLED) BIT INTERPRETATIONS.
MMRC BSS 0
S2BIT 0,(1 MEGABYTE MEMORY )
S2BIT 1,(2 MEGABYTE MEMORY )
S2BIT 2,(3 MEGABYTE MEMORY )
S2BIT 3,(4 MEGABYTE MEMORY )
S2BIT 4,(5 MEGABYTE MEMORY )
S2BIT 5,(6 MEGABYTE MEMROY )
S2BIT 6,(7 MEGABYTE MEMORY )
S2BIT 7,(8 MEGABYTE MEMORY )
S2BIT 8,(10 MEGABYTE MEMORY )
S2BIT 9,(12 MEGABYTE MEMORY )
S2BIT 10,(14 MEGABYTE MEMORY )
S2BIT 11,(16 MEGABYTE MEMORY )
S2BIT 16,(MEMORY RECONFIGURED )
S2BIT 17,(SW 1 NOT AT CENTER )
S2BIT 18,(SW 2 NOT AT CENTER )
S2BIT 19,(SW 3 NOT AT CENTER )
S2BIT 20,(SW 4 NOT AT CENTER )
S2BIT 21,(SW 5 NOT AT CENTER )
S2BIT 22,(SW 6 NOT AT CENTER )
CON 0
* REGISTER *OIMR* (OPTIONS INSTALLED) BIT INTERPRETATIONS
* FOR LARGE MEMORY SYSTEMS.
MMRD BSS 0
S2BIT 0,(2048 MEGABYTE MEMORY )
S2BIT 1,(1024 MEGABYTE MEMORY )
S2BIT 2,(512 MEGABYTE MEMORY )
S2BIT 3,(256 MEGABYTE MEMORY )
S2BIT 4,(128 MEGABYTE MEMORY )
S2BIT 5,(64 MEGABYTE MEMROY )
S2BIT 6,(32 MEGABYTE MEMORY )
S2BIT 7,(16 MEGABYTE MEMORY )
S2BIT 8,(8 MEGABYTE MEMORY )
S2BIT 9,(4 MEGABYTE MEMORY )
S2BIT 10,(2 MEGABYTE MEMORY )
S2BIT 11,(1 MEGABYTE MEMORY )
S2BIT 16,(MEMORY RECONFIGURED )
S2BIT 17,(SW 1 NOT AT CENTER )
S2BIT 18,(SW 2 NOT AT CENTER )
S2BIT 19,(SW 3 NOT AT CENTER )
S2BIT 20,(SW 4 NOT AT CENTER )
S2BIT 21,(SW 5 NOT AT CENTER )
S2BIT 22,(SW 6 NOT AT CENTER )
CON 0
* REGISTER *ECMR* (ENVIRONMENTAL CONTROL) - CYBER 835 - 990.
MMRE BSS 0
S2BIT 0,(DISABLE PARITY CHECK )
S2BIT 1,(DISABLE SEC/DED )
S2BIT 2,(ENABLE NONINTLVE MODE)
S2BIT 5,(TIMING MARGINS WIDE ),S2+S3
S2BIT 5,(FORCE TO CORR ERR LOG),THETA
S2BIT 6,(TIMING MARGINS NARROW),S2+S3
S2BIT 32,(DISABLE PORT 0 )
S2BIT 33,(DISABLE PORT 1 )
S2BIT 34,(DISABLE PORT 2 )
S2BIT 35,(DISABLE PORT 3 )
S2BIT 38,(DISABLE CORR ERR RESP)
S2BIT 39,(DISABLE SNGL BIT ERR)
CON 0
* REGISTER *ECMR* (ENVIRONMENTAL CONTROL) - CYBER 810 - 830.
MMRF BSS 0
S2BIT 0,(ENABLE PARITY CHECK )
S2BIT 1,(DISABLE SEC/DED )
S2BIT 2,(ENABLE NONINTLVE MODE)
S2BIT 9,(DISABLE M PORT )
S2BIT 10,(DISABLE 40/41 )
S2BIT 11,(DISABLE CPU PORT )
S2BIT 12,(DISABLE IOU PORT )
S2BIT 13,(DISABLE P PORT )
S2BIT 38,(DISABLE CORR ERR RESP)
S2BIT 39,(DISABLE CORR ERR LOG )
CON 0
MPP SPACE 4,20
*** MPP.
* MOVE ALL PP-S TO THE OTHER BANK.
*
* MPP,N1.
* MOVE ONLY PP00 TO PPN1.
*
* THE LOGICAL POSITION OF PP00 HAS BEEN CHANGED PRIOR TO THE
* FULL DUMP TO TAPE. IF THE PPS-0/PPS-1 (PPU-A) TOGGLE SWITCH
* HAS BEEN TOGGLED, *MPP* SHOULD BE SPECIFIED. WHEN THE
* SYSTEM HAS ONLY 10 PP-S, OR A CYBER 170 SYSTEM HAS .LT. 20
* PP-S, *MPP* HAS NO MEANING. IF PP00 HAS BEEN MOVED TO
* ANOTHER PP VIA A DEADSTART PANEL PROGRAM, *MPP,N1* SHOULD
* BE SPECIFIED. IF N1 IS SPECIFIED WITH VALUE 0, THE
* DIRECTIVE HAS NO MEANING. CORRECT SPECIFICATION OF EITHER
* FORM OF THIS DIRECTIVE CAUSES THE CORRECT LOGICAL PP TO BE
* DUMPED WHEN A SWITCH HAS BEEN MADE.
MPP DATA 0LMPP
* GET INITIAL TABLE ENTRY.
SA1 .NPP FIND TABLE ENTRY FOR FIRST PP
MX0 24
SEARCH TDIR,X1,X0 FIND PP00 TABLE ENTRY
ZR X2,ERR7 IF NOT FOUND
SX6 A2+ SAVE TABLE ENTRY ADDRESS
SA6 PI
* CHECK FOR LEGAL DIRECTIVE.
SA1 CH
SA1 X1+
SX1 X1-1R.
NZ X1,MPP3 IF PP NUMBER ON DIRECTIVE CARD
SA2 F.TCMT
SA4 AC CHECK NUMBER OF PP-S IN SYSTEM
SX7 X4-11
NG X7,ERR25 IF ONLY 10 PP-S
SX6 X4-20
ZR X6,MPP1 IF 20 PP SYSTEM
SA3 AP
ZR X3,ERR25 IF CYBER 170 WITH .LT. 20 PP-S
* SWITCH UPPER AND LOWER BANKS.
MPP1 SA5 PI SET INITIAL TABLE ENTRY ADDRESS
SB2 B0 INITIALIZE ENTRY INDICIES
SB3 X4
AX4 B1
SB4 X4+
SB7 X5+B3
MPP2 SB5 B2+B2 SWITCH BANKS OF PP-S
SX2 X5+B5
SA2 X2+B1
SA3 A2+B3
BX6 X2
BX7 X3
SA6 A3
SA7 A2
SA2 TLPP+B2 SWITCH LOGICAL PP NUMBERS IN BANKS
SA3 A2+B4
BX6 X2
BX7 X3
SA6 A3
SA7 A2
SB2 B2+B1 INCREMENT ENTRY INDEX
SB6 B2-12B
NZ B6,MPP2 IF MORE TO SWITCH
EQ DSD1 PROCESS NEXT DIRECTIVE
* PROCESS MOVE OF PP00 ONLY.
MPP3 SB7 B0 ASSEMBLE PP NUMBER
RJ ASD
NZ X4,ERR6 IF ERROR
ZR X6,ERR25 IF MOVING PP00 TO PP00
SA2 NP CHECK IF VALID PP NUMBER
SX2 X2+6
SX7 X6-12B
NG X7,MPP4 IF IN LOWER BANK
SX7 X6-20B
NG X7,ERR6 IF INCORRECT PP NUMBER
IX1 X6-X2
PL X1,ERR6 IF PP NUMBER .GT. NUMBER OF PP-S
SX6 X6-6 SET INDEX
MPP4 LX7 X6,B1 FIND TABLE ENTRY FOR LOGICAL PP
SA5 PI
IX7 X5+X7
SA2 X7+1 SET ENTRY INDEX FOR PP00
SA1 TLPP+X6 SET LOGICAL PP00 NUMBER IN PP TABLE
BX7 X2
SA7 X5+1
BX6 X1
SA6 TLPP
EQ DSD1 PROCESS NEXT DIRECTIVE
MST SPACE 4,8
*** MST.
* DUMP ALL MASS STORAGE TABLES.
*
* MST,E1,E2,...,EN.
* DUMP SELECTED EQUIPMENT MASS STORAGE TABLES.
*
* DUMP MASS STORAGE AND TRACK RESERVATION TABLES. FOR SHARED
* BUFFERED I/O DEVICES, ALSO DUMP BUFFER STATUS TABLES. EACH
* WORD OF EACH MST IS PRINTED WITH ITS SYSTEXT SYMBOL AND IS
* SPLIT INTO THE APPROPRIATE PARAMETER FIELDS. EACH WORD OF
* EACH TRT INDICATES ITS LINKAGE BYTE ORDINAL, BYTE FORMAT OF
* THE WORD, TRACK BITS(3 GROUPS OF 4 BITS), AND DISPLAY CODE
* INTERPRETATION. EACH BST WORD DISPLAYS THE BUFFER ORDINAL,
* BYTE FORMAT AND DISPLAY CODE INTERPRETATION OF THE WORD.
MST DATA 0LMST
MX6 0
SA6 PI PRESET TO SELECT EQUIPMENT FROM CARD
SA1 CH
SA1 X1+
SX1 X1-1R.
NZ X1,MST1 IF EST ORDINALS ON DIRECTIVE CARD
SX7 NOPE INITIALIZE EST ORDINAL FOR SEARCH
SA7 PI PRESET EST SEARCH POINTER
MST1 RJ SCM SELECT CENTRAL MEMORY
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
MST2 RJ SMT SELECT NEXT UNIT TO DUMP
ZR X6,DSD1 IF NO MORE TO DUMP
RJ //MST DUMP MASS STORAGE TABLE
RJ TRT DUMP TRACK RESERVATION TABLE
RJ MRT DUMP MACHINE RECOVERY TABLE
RJ BST DUMP BUFFER STATUS TABLE
EQ MST2 CONTINUE
MTR SPACE 4,6
*** MTR.
*
* DUMP CPU MONITOR. EXCHANGE PACKAGES WILL BE DUMPED IN
* EXCHANGE PACKAGE FORMAT AND PROGRAM AREA WILL BE DUMPED
* IN INSTRUCTION PARCEL FORMAT WITH DISPLAY CODE
* INTERPRETATION. IF A CYBER 176, THE CPU DEADSTART AND
* REAL TIME CLOCK EXCHANGE PACKAGES WILL ALSO BE DUMPED.
MTR DATA 0LMTR
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT GET FWA CPUMTR
SA2 X1+CMTP
SX6 X2+
SA6 MTRC
RJ SRA SET REFERENCE ADDRESS
RJ SCM SELECT CENTRAL MEMORY
SA1 F.TCMT
SA2 X1+RPLP RESIDENT PP LIBRARY POINTER
LX2 24
SX6 X2
SA1 BA
IX6 X6-X1
MX7 0
SA7 CPRA SET FWA FOR DUMP
SA6 A7+1 SET LWA+1 = FWA OF RPL
SA7 CPRA+4 SET *C* FORMAT CODE
SB2 CPRA
RJ POM POSITION DUMP FILE
RJ LDC LIST DIRECTIVE CARD
SB2 CPRA
RJ PMD PROCESS DUMP
* PRINT *MTR* AND BREAKPOINT XP-S.
SA1 CPRA
SX6 X1+CSXP
SA6 A1+
SB2 CPRA REPOSITION TO RA OF *CPUMTR*
RJ POM POSITION DUMP FILE
GETCM MTRB,2 READ WORD *CXBP* OF *CPUMTR*
SA1 MTRB+1 GET ADDRESS OF *MTR* XP
SA2 MTRC
SX1 X1
IX6 X1-X2 RELATIVE ADDRESS OF *MTR* XP
SA6 CPRA
SB2 A6
RJ POM POSITION DUMP FILE
GETCM BUF,BUFL READ EXCHANGE PACKAGES TO CORE
SA1 PXMC
SB2 /EXPACS/MXP
RJ PXM PRINT EXCHANGE PACKAGE
* PRINT CPU 0 IDLE XP.
SA1 CPRA SET LISTING ADDRESS
SX6 X1-40B+/EXPACS/IXP
SA6 A1
SA1 PXMN
SX6 B1 SET ONE XP FLAG
SB2 /EXPACS/IXP
SA6 PXMM
RJ PXM PRINT EXCHANGE PACKAGE
PRINT (=2C )
SA1 CPRA PRINT THE 3 WORDS FOLLOWING THE XP
SX6 X1
BX1 -X1
SA6 FW SET LISTING ADDRESS
SB2 X1+BUF+/EXPACS/IXP+20B SET CORE ADDRESS
SA1 MTRD
RJ GTD
* PRINT CPU 1 IDLE XP.
SA1 MTRB GET ADDRESS OF IDLE 1 XP
SA2 MTRC
SB2 CPRA
SX1 X1
IX6 X1-X2
SA6 B2+
RJ POM POSITION DUMP FILE TO IDLE 1
GETCM BUF,MXXT
SA1 BUF+DIXT GET ADDRESS OF DUAL CPU XP FOR CPU 1
SA2 MTRC
SB2 CPRA
SX1 X1+
IX6 X1-X2
NG X6,MTR1 IF ONLY ONE CPU
SA6 B2
RJ POM POSITION DUMP FILE TO IDLE 1
GETCM BUF,BUFL
SA1 PXMO
SX6 B1 SET ONE XP FLAG
SB2 B0
SA6 PXMM
RJ PXM PRINT EXCHANGE PACKAGE
PRINT (=2C )
SA1 CPRA PRINT THE 3 WORDS FOLLOWING THE XP
SX6 X1
BX1 -X1
SA6 FW SET LISTING ADDRESS
SB2 BUF+20B+X1 SET CORE ADDRESS
SA1 MTRD
RJ GTD
* PRINT PP EXCHANGE PACKAGES.
MTR1 SA1 MTRB+1 GET MTR XP ADDRESS
SA2 MTRC
SB2 CPRA
SX1 X1+/EXPACS/PXP
IX6 X1-X2
SA6 B2
RJ POM POSITION DUMP FILE
GETCM BUF,BUFL
RJ PXP PRINT PPU EXCHANGE PACKAGES
* PRINT CYBER 176 EXCHANGE PACKAGES.
SA1 CF
NZ X1,DSD1 IF NOT CYBER 176
RJ SEA SET EXCHANGE ADDRESS
RJ SRA SET REFERENCE ADDRESS
RJ SCM SELECT CENTRAL MEMORY
BX6 X6-X6 SET RELATIVE ADDRESS OF CYBER 176 PACKAGES
SA6 CPRA
SB2 A6
SX7 X6+40B
SA7 A6+1
RJ POM POSITION DUMP FILE
GETCM BUF,BUFL READ EXCHANGE PACKAGES TO CORE
SA1 PXMD SET HEADER ADDRESS
SB2 B0+
RJ PXM PRINT CYBER 176 EXCHANGE PACKAGES
SA1 PXMF SET HEADER ADDRESS
SB2 40B SET *BUF* OFFSET
RJ PXM PRINT PACKAGES
SA1 F.TCMT
SA1 X1+BIOL
AX1 24
SX1 X1
ZR X1,DSD1 IF NO 819 DISKS IN SYSTEM
SA1 PXMG SET HEADER FOR CHANNEL 2
SB2 100B
RJ PXM PRINT CHANNEL 2 I/O PACKAGES
SA1 PXMH SET HEADER FOR CHANNEL 3
SB2 140B
RJ PXM PRINT CHANNEL 3 I/O PACKAGES
SA1 PXMI SET HEADER FOR CHANNEL 4
SB2 200B
RJ PXM PRINT CHANNEL 4 I/O PACKAGES
SA1 PXMJ SET HEADER FOR CHANNEL 5
SB2 240B
RJ PXM PRINT CHANNEL 5 I/O PACKAGES
SA1 PXMK SET HEADER FOR CHANNEL 6
SB2 300B
RJ PXM PRINT CHANNEL 6 I/O PACKAGES
SA1 PXML SET HEADER FOR CHANNEL 7
SB2 340B
RJ PXM PRINT CHANNEL 7 I/O PACKAGES
EQ DSD1 PROCESS NEXT DIRECTIVE
MTRA CON 0 FWA OF PP EXCHANGE PACKAGES FROM LOW CORE
MTRB CON 0 WORD *CSXP* OF *CPUMTR* FL
CON 0 WORD *CXBP* OF *CPUMTR* FL
MTRC CON 0 RA OF *CPUMTR*
MTRE CON 0,1,2,3
MTRD VFD 24/0,18/MTRD1,18/MTRD2
MTRD1 BSS 0
FIELD MTRE+0,(STSW WORD ),59,60,I
FIELD MTRE+1,(CWQW WORD ),59,60,I
FIELD MTRE+2,(CSAW WORD ),59,60,I
FIELD MTRE+3,(CTMW WORD ),59,60,I
CON -1 END OF LEFT COLUMN
MTRD2 BSS 0
CON 0 END OF RIGHT COLUMN
MTRD3 EQU *
ERRNG 2*MTRD2-MTRD1-MTRD3 IF RIGHT COLUMN LONGER THAN LEFT
MTRQU SPACE 4,10
*** MTRQUEUE.
* DUMP CPU REQUEST, PP REQUEST, CPUCIO REQUEST,
* AND RECALL QUEUES.
*
* MTRQUEUE,P1,P2.
* DUMP SELECTED QUEUES.
MTRQU DATA 0LMTRQUEUE
BX6 X6-X6 CLEAR *C* FLAG
SA6 MTQB
SA1 CH CHECK SEPARATOR
SA1 X1+
SX1 X1-1R.
ZR X1,MTQ6 IF DUMPING ALL QUEUES
SX6 0 CLEAR SELECTED OPTIONS
SA6 MTQA
MTQ1 RJ ASN GET NEXT PARAMETER
ZR B6,MTQ7 IF NO MORE PARAMETERS
AX1 X6,B6
SX1 X1-1RC
ZR X1,MTQ3 IF *C* SELECTED
SX1 X1-1RP+1RC
ZR X1,MTQ4 IF *P* SELECTED
SX1 X1-1RR+1RP
ZR X1,MTQ5 IF *R* SELECTED
SX1 X1-1RW+1RR
NZ X1,ERR6 IF INVALID PARAMETER
SX6 1 SET *W* SELECTED
MTQ2 SA1 MTQA UPDATE SELECTED OPTIONS
BX6 X6+X1
SA6 A1
EQ MTQ1 GET NEXT PARAMETER
MTQ3 SX6 10B SET *C* SELECTED
JP MTQ2 SAVE SELECTION
MTQ4 SX6 4 SET *P* SELECTED
JP MTQ2 SAVE SELECTION
MTQ5 SX6 2 SET *R* SELECTED
JP MTQ2 SAVE SELECTION
MTQ6 SX6 17B SELECT ALL OPTIONS
SA6 MTQA
* JP MTQ7 PROCESS DUMP
* PROCESS CPU REQUEST QUEUE DUMP.
MTQ7 SA5 NC PRESET QUEUE ENTRY LIMIT
SX6 20B 20B ENTRIES PER CONTROL POINT
SX5 X5+B1
IX6 X5*X6
SA6 CCQA
RJ LDC LIST DIRECTIVE CARD
SA1 MTQA GET OPTIONS
SX2 1
BX2 X2*X1
ZR X2,MTQ10 IF *W* NOT SELECTED
SX6 0 CLEAR QUEUE ENTRY COUNT
SA6 CCQB
PRINT (=2C )
PRINT (=C* CPU REQUEST QUEUE*)
PRINT (=2C )
SA1 F.TCMT GET CORE ADDRESS
SA2 X1+WQRL GET BASE LINK
MTQ8 UX6,B4 X2
ZR B4,MTQ10 IF END OF QUEUE
SA3 NC CHECK IF CPUCIO REQUEST
SX3 X3+B1
LX3 7
IX3 X6-X3
PL X3,MTA9 IF CPUCIO REQUEST
SX6 X6
SA6 FW SAVE CONTROL POINT ADDRESS
SB2 X1
SA1 TCPR
RJ GTD DUMP CPU REQUEST QUEUE WORDS
RJ CCQ
NG X5,MTQ10 IF CIRCULAR QUEUE FOUND
PRINT (=2C )
SA2 FW GET LINK TO NEXT ENTRY
SA1 F.TCMT
SX2 X2+CWQW
IX2 X1+X2
SA2 X2
JP MTQ8 PROCESS NEXT ENTRY
MTA9 MX6 -18 GET ADDRESS OF CPUCIO ENTRY
BX6 -X6*X2
SX6 X6-CWQW
SA6 FW
SA6 CPRA SET FWA
SX7 25B
IX7 X6+X7
SA7 A6+B1 SET LWA
SX6 B0+
RJ SRA SET REFERENCE ADDRESS
RJ SCM SELECT CENTRAL MEMORY
SB2 CPRA
RJ POM POSITION DUMP FILE
GETCM BUF,25B
SA2 FW
SB2 X2 SET CORE ADDRESS
SB2 -B2
SB2 BUF+B2
SA1 TCPR
RJ GTD DUMP CPUCIO REQUEST QUEUE
RJ CCQ
NG X5,MTQ10 IF CIRCULAR QUEUE FOUND
PRINT (=2C )
SA2 BUF+CWQW
JP MTQ8 PROCESS NEXT ENTRY
* PROCESS PP REQUEST QUEUE DUMP.
MTQ10 SA1 MTQA GET OPTIONS
SX2 4
BX2 X2*X1
ZR X2,MTQ12 IF *P* NOT SELECTED
SX6 0 CLEAR QUEUE ENTRY COUNT
SA6 CCQB
PRINT (=2C )
PRINT (=C* PP REQUEST QUEUE*)
PRINT (=2C )
SA1 F.TCMT GET CORE ADDRESS
SA2 X1+PQRL GET BASE LINK
MTQ11 MX6 5
LX6 11-59
BX6 X6*X2 GET START OF CONTROL POINT AREA
ZR X6,MTQ12 IF END OF QUEUE
SA6 FW SAVE CONTROL POINT ADDRESS
MX6 -7
BX6 -X6*X2 GET INDEX INTO RCCW
SA6 TPPRA
SX6 X6+RECW-RCCW GET INDEX INTO RECW
SA6 TPPRB
SX6 X6+REPW-RECW GET INDEX INTO REPW
SA6 TPPRC
SB2 X1
SA1 TPPR
RJ GTD DUMP PP REQUEST QUEUE WORDS
RJ CCQ
NG X5,MTQ12 IF CIRCULAR QUEUE FOUND
SA2 FW GET LINK TO NEXT ENTRY
SA1 F.TCMT
SA3 TPPRA
IX2 X2+X3
IX2 X2+X1
SA2 X2+
JP MTQ11 PROCESS NEXT ENTRY
* PRINT CPUCIO REQUEST QUEUE.
MTQ12 SA1 MTQB
NZ X1,MTQ13 IF BOTH *P* AND *C* PROCESSED
SX6 B1
SA6 A1 SET *C* FLAG
SA1 MTQA
SX2 10B
BX2 X2*X1
ZR X2,MTQ13 IF *C* NOT SELECTED
SX6 0 CLEAR QUEUE ENTRY COUNT
SA6 CCQB
PRINT (=2C )
PRINT (=C* CPUCIO REQUEST QUEUE*)
PRINT (=2C )
SA1 F.TCMT
SA2 X1+CQRL GET BASE INDEX
JP MTQ11 PROCESS ENTRY
* PROCESS RECALL QUEUE DUMP.
MTQ13 SA1 MTQA GET OPTIONS
SX2 2
BX2 X2*X1
ZR X2,MTQ17 IF *R* NOT SELECTED
SX6 0 CLEAR QUEUE ENTRY COUNT
SA6 CCQB
PRINT (=2C )
PRINT (=C* RECALL QUEUE*)
PRINT (=2C )
SA1 F.TCMT GET CORE ADDRESS
SA2 X1+RQRL GET BASE LINK
MTQ14 MX6 5
LX6 11-59
BX6 X6*X2 GET START OF CONTROL POINT AREA
ZR X6,MTQ17 IF END OF QUEUE
SA6 FW SAVE CONTROL POINT ADDRESS
MX6 -7
BX6 -X6*X2
SA6 TPRLA SAVE LINK INDEX
SX5 X6-CRCW
NZ X5,MTQ15 IF PP RECALL
SB2 X1
SA1 TCRL
RJ GTD DUMP CPU RECALL WORD
RJ CCQ
NG X5,MTQ17 IF CIRCULAR QUEUE FOUND
JP MTQ16 GET NEXT ENTRY
MTQ15 SX6 X6+RECW-RCCW GET INDEX INTO RECW
SA6 TPRLB
SX6 X6+REPW-RECW GET INDEX INTO REPW
SA6 TPRLC
SB2 X1
SA1 TPRL
RJ GTD DUMP PP RECALL WORDS
RJ CCQ
NG X5,MTQ17 IF CIRCULAR QUEUE FOUND
MTQ16 PRINT (=2C )
SA1 F.TCMT GET LINK TO NEXT ENTRY
SA2 FW
SA3 TPRLA
IX2 X2+X3
IX2 X2+X1
SA2 X2
JP MTQ14 PROCESS NEXT ENTRY
MTQ17 JP DSD1 RETURN
MTQA CON 0 SELECTED PARAMETERS
MTQB CON 0 *C* PROCESSED FLAG
ODIS SPACE 4,10
*** ODIS.
*
* DUMP THE OPERATOR DISPLAY BUFFER.
ODIS DATA 0LODIS
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+LDSP
AX2 12
SX6 X2-LODS SET DUMP FWA
SX7 X2 SET DUMP LWA+1
SB3 B0
SX4 B0
SX5 =C* OPERATOR-DISPLAY BUFFER*
RJ DTB DUMP BUFFER
EQ DSD1 RETURN
OUTPUT SPACE 4,5
*** OUTPUT,LFN.
* OUTPUT. (*LFN* DEFAULT = *ALTRNT*)
*
* ASSIGN OUTPUT TO ALTERNATE FILE *LFN*. WHEN *LFN* IS
* DISPOSED (SEE DISPOSE), OUTPUT RESUMES ON THE ORIGINAL
* OUTPUT FILE. ONLY ONE ALTERNATE FILE MAY BE ACTIVE AT A TIME.
* *LFN* MAY NOT BE THE SAME AS THE NORMAL OUTPUT FILE NAME.
OUTPUT DATA 0LOUTPUT
SA1 OF
SX1 X1-A
ZR X1,ERR11 IF ALREADY PROCESSING ALTERNATE FILE
RJ ASN ASSEMBLE FILE NAME
NZ X6,OTP1 IF NAME SPECIFIED
SA1 OTPC SET DEFAULT NAME
BX6 X1
SB6 -36 SET SHIFT COUNT
OTP1 SA1 L
MX2 42
BX1 X1-X6
BX1 X1*X2
ZR X1,ERR12 IF SAME AS OUTPUT FILE NAME
SB6 B6+42
NG B6,ERR12 IF NAME TOO LONG
SX7 3
BX6 X6+X7
SA6 A SET ALTERNATE OUTPUT FILE NAME
SA1 A6+B1 READ FIRST
SX6 X1
SA6 A1+B1 SET IN = FIRST
SA6 A6+B1 OUT = FIRST
SX2 A
RJ STF CHECK IF TERMINAL
ZR X6,ERR13 IF TERMINAL FILE
SX6 X2+0
SA6 OF SET OUTPUT FILE FET POINTER
MOVE 6,CC,OTPA SAVE CURRENT LIST CONTROLS
MOVE 6,OTPB,CC RESET CONTROLS FOR NEW FILE
SA1 PRSB
RJ RSP RESET PRINT DENSITY
JP DSD1 RETURN
OTPA BSS 6 LIST CONTROL SAVE AREA
OTPB BSS 0 LIST CONTROL RESET BLOCK
CON 0 CARRIAGE CONTROL CHARACTER
CON 0 NO AUTO EJECT FLAG
CON 100 LINE NUMBER
CON 0 NUMBER OF LINES PER PAGE
CON 1 PAGE NUMBER
CON 0 TERMINAL OUTPUT FLAG
OTPC DATA 6LALTRNT DEFAULT ALTERNATE LIST FILE NAME
P SPACE 4,11
*** P.
* DUMP ALL PPUS IN BLOCK FORMAT.
*
* P,N1,N2,...,NN.
* DUMP SELECTED PPUS.
*
* MEMORY IS DUMPED IN 100B WORD BLOCKS WITH 10B ROWS AND
* 10B COLUMNS. EACH BLOCK IS READ COLUMNWISE. EACH PAGE
* CONTAINS TWO BLOCKS ACROSS THE PAGE AND SIX DOWN.
* ZERO BYTES ARE REPRESENTED AS *----*. REPETITIVE DATA
* IS NOT SUPPRESSED.
P DATA 0LP
SX6 B0 INITIALIZE FOR PPU DUMP
PPS1 RJ IPD
PPS2 RJ SNP SELECT NEXT PPU
ZR X1,DSD1 IF NO MORE PPUS TO DUMP
RJ DPP DUMP PPU IN *P* FORMAT
EQ PPS2 CONTINUE
PCP SPACE 4,10
*** PCP.
*
* DUMP PSEUDO-CONTROL POINTS (PCP-S).
*
* PARAMETERS ARE THE SAME AS FOR THE *CP* DIRECTIVE.
PCP DATA 0LPCP
SA2 F.TCMT
SA2 X2+PCPP
SX2 X2
ZR X2,ERR48 IF NO PCP-S DEFINED
SA1 NC
SX1 X1+2 FIRST PCP NUMBER
LX1 7
IX6 X2-X1
SA6 OP SET PCPA FWA OFFSET
SX7 X2-CPLEN
SA7 FW SET (PCPA FWA)-(CPLEN)
SA1 TF
ZR X1,CPP0 IF PRINTER OUTPUT
SA2 ME SET LWA+1 OF PCPA-S
EQ CPN0 DISPLAY PCPA-S AT TERMINAL
PD SPACE 4,4
*** PD,N.
*
* RESET PRINT LINE DENSITY TO N LINES PER INCH. N MAY BE
* 3, 4, 6 OR 8.
PD DATA 0LPD
RJ ASN ASSEMBLE N
SA6 PRSB SAVE DENSITY SELECTION
BX1 X6
RJ RSP RESET PRINT DENSITY
JP DSD1 RETURN
PF SPACE 4,20
*** PF.
* DUMP ALL FLPPS IN BLOCK FORMAT.
*
* PF,N1,N2,...,NN.
* DUMP SELECTED FLPPS.
*
* MEMORY IS DUMPED IN 100B WORD BLOCKS WITH 10B ROWS AND
* 10B COLUMNS. EACH BLOCK IS READ COLUMNWISE. EACH PAGE
* CONTAINS TWO BLOCKS ACROSS THE PAGE AND SIX DOWN.
* ZERO BYTES ARE REPRESENTED AS *----*. REPETITIVE DATA
* IS NOT SUPPRESSED.
PF DATA 0LPF
SX6 B1 INITIALIZE FOR FLPP DUMP
EQ PPS1 DUMP FLPPS
PLD SPACE 4,3
*** PLD.
*
* DUMP PERIPHERAL LIBRARY DIRECTORY IN *D* FORMAT.
PLD DATA 0LPLD
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+PLDP
LX2 24
SX6 X2 FWA PP LIBRARY DIRECTORY
SA3 X1+PSTP
AX3 12
SX7 X3 LWA+1 PP LIBRARY DIRECTORY
SX5 =C* PERIPHERAL LIBRARY DIRECTORY*
SB3 B1 SET *D* FORMAT
SX4 B0 SET READ FROM DUMP FILE
RJ DTB DUMP PLD
EQ DSD1 RETURN
PMS SPACE 4,20
*** PMS,N1.
* CYBER 170 PP MEMORY SELECT SWITCHES WERE PREVIOUSLY SET
* TO VALUE N1.
*
* THE LOGICAL POSITION OF PP00 HAS BEEN CHANGED PRIOR TO THE
* FULL DUMP TO TAPE. IF THE PP MEMORY SELECT SWITCHES HAVE
* BEEN CHANGED, THIS DIRECTIVE SHOULD BE SPECIFIED WITH THE
* BINARY VALUE OF THE SWITCHES PRIOR TO CHANGING THEM, I.E.,
* 0 - 11B. THE DUMP OF THE S/C REGISTER WILL BE READ TO FIND
* THE CURRENT VALUE OF THE SWITCHES AND DETERMINE THE CORRECT
* LOGICAL PP TO BE DUMPED. IF THE MACHINE IS NOT A CYBER 170
* OR THE VALUE N1 SPECIFIED IS THE SAME AS THE VALUE READ
* FROM THE S/C REGISTER, THIS DIRECTIVE HAS NO MEANING.
PMS DATA 0LPMS
* MOVE TABLES TO TEMPORARY BUFFER.
SA1 .NPP FIND TABLE ENTRY FOR FIRST PP
MX0 24
SEARCH TDIR,X1,X0 FIND PP00 TABLE ENTRY
ZR X2,ERR7 IF NOT FOUND
SX6 A2+ SAVE TABLE ENTRY ADDRESS
SA6 PI
MOVE 40,A2,BUF MOVE TABLE ENTRIES
MOVE 20,TLPP,BUF+40 MOVE LOGICAL PP TABLE
* CHECK FOR LEGAL SELECT SWITCH VALUE.
SA1 CH
SA1 X1+
SX1 X1-1R.
ZR X1,ERR6 IF NO VALUE SPECIFIED
SB7 B0 ASSEMBLE SWITCH VALUE
RJ ASD
NZ X4,ERR6 IF ERROR
SX7 X6-12B
PL X7,ERR6 IF INCORRECT VALUE
SA6 PMSA SAVE OLD VAUE OF SWITCHES
* GET CURRENT VALUE OF SWITCHES.
SA1 .SCR CHECK DIRECTORY FOR *SCR* RECORD
MX0 18
SEARCH TDIR,X1,X0 LOCATE S/C REGISTER RECORD
ZR X2,ERR25 IF NOT A CYBER 170
SA2 A2+2
MX0 24
LX0 -12
SA3 =6L SC16
BX4 X3-X2
BX2 X0*X4
NZ X2,ERR2 IF NO SC16 RECORD FOUND
SA2 A2+B1 SET RANDOM INDEX OF S/C REGISTER
BX6 X2
SA6 RI
SX3 B1 POSITION DUMP FILE
RJ PDF
READW S,BUF,B1 READ S/C REGISTER DATA
SA1 BUF+PMSW* GET PP SELECT SWITCHES CURRENT VALUE
MX0 -4
LX1 7
BX7 -X0*X1
SA2 PMSA GET OLD VALUE
IX4 X2-X7
ZR X4,ERR25 IF OLD SAME AS NEW VALUE
PL X4,PMS1 IF OLD VALUE .GT. NEW
SX4 X4+10 BIAS VALUE DIFFERENCE FOR LOGICAL PP00
* MOVE BANK OF PP ADDRESSES AND LOGICAL PP NUMBERS.
PMS1 SX0 X4 INITIALIZE INDICIES
SA5 PI
SX1 B0
SA0 12B SET END OF LOWER BANK
PMS2 LX2 X0,B1 FIND TABLE ENTRY
LX3 X1,B1
SX2 BUF+X2
SA2 X2+B1 TRANSFER ENTRY
BX7 X2
IX3 X5+X3
SA7 X3+B1
SA2 BUF+40+X0 TRANSFER LOGICAL PP NUMBER
SX7 X2+
SA7 TLPP+X1
SX1 X1+1 INCREMENT INDICIES
SX7 A0
IX6 X1-X7
ZR X6,PMS3 IF END OF BANK
SX0 X0+B1
IX6 X0-X7
NG X6,PMS2 IF NOT WRAP AROUND
SX0 A0-12B WRAP AROUND BANK
EQ PMS2 PROCESS NEXT PP
* CHECK FOR END OF PP-S.
PMS3 SX6 A0-24B
ZR X6,DSD1 IF BOTH BANKS PROCESSED
SA2 NP CHECK FOR 20 PP-S
SX7 X2-20
NZ X7,DSD1 IF NOT 20 PP MACHINE
SX0 X4+12B INITIALIZE INDICIES FOR UPPER BANK
SX1 12B
SA0 24B SET END OF UPPER BANK
EQ PMS2 MOVE UPPER BANK
PMSA CON 0 OLD SELECT SWITCH VALUE
PO SPACE 4,25
*** PO,N1,N2,...,NN.
*
* DUMP 16-BIT PP MEMORY IN OCTAL BLOCK FORMAT.
*
* NI NUMBER OF PP TO BE DUMPED. IF OMITTED, ALL
* PP-S ARE DUMPED.
*
* THE *PO* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED IN
* OCTAL BLOCK FORMAT, WHERE EACH BLOCK REPRESENTS
* 64 WORDS. EACH 16-BIT WORD IS REPRESENTED BY 6
* OCTAL DIGITS UNLESS THE UPPER 4 BITS OF THE WORD
* ARE ZERO. THEN THE WORD IS REPRESENTED BY 4
* OCTAL DIGITS. THE BLOCKS ARE READ BY COLUMN (TOP
* TO BOTTOM), WHERE EACH COLUMN CONTAINS EIGHT
* 16-BIT WORDS NUMBERED 0 THRU 7. THERE ARE EIGHT
* COLUMNS IN EACH BLOCK NUMBERED 0 THRU 7.
* REPETITIVE DATA IS NOT SUPPRESSED AND ZERO WORDS
* ARE REPRESENTED BY FOUR HYPHENS. THE CONTENTS
* OF THE R-REGISTER IN OCTAL PRECEDES THE FIRST
* BLOCK FOR EACH PP. OUTPUT TO THE TERMINAL IS
* NOT PROVIDED.
PO DATA 0LPO
SX6 0 SET OCTAL BLOCK FORMAT
EQ QOD1 DUMP PP/CPP
PP SPACE 4,10
*** PP.
*
* DUMP PPU COMMUNICATION REGISTERS. CONTROL POINT ASSIGNMENT,
* CHANNEL ASSIGNMENT AND MONITOR FUNCTION ARE LISTED WITH
* EACH COMMUNICATION AREA. THE AREAS ARE DUMPED IN BYTE
* FORMAT WITH DISPLAY CODE INTERPRETATION.
*
* FOR TERMINAL OUTPUT, THE PPU NUMBER, EXECUTING PROGRAM
* NAME, CONTROL POINT ASSIGNMENT AND INPUT REGISTER
* ADDRESS ARE LISTED FOR EACH COMMUNICATION AREA.
PP DATA 0LPP
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 TF
NZ X1,PPTN IF TERMINAL OUTPUT
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ SCM SET CENTRAL MEMORY
RJ LDC LIST DIRECTIVE CARD
RJ ICT INITIALIZE CHANNEL RESERVATION TABLE
RJ SSB SPACEFILL STRING BUFFER
SA1 F.TCMT
SA2 NP GET NUMBER OF PP-S
SX2 X2-11
SX7 32B SET LAST PP NUMBER FOR 20 PP CONFIGURATION
PL X2,PPP1 IF 20 PP CONFIGURATION
SX7 12B SET LAST PPU NUMBER
PPP1 MX6 0
SA6 FW INITIALIZE PPU NUMBER
SA7 A6+B1 SET LAST PPU NUMBER
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
SA5 PC GET PP COMMUNICATION AREA POINTER
IX5 X1+X5
SA5 X5 READ FIRST WORD OF PP COMMUNICATION AREA
PPP3 SX1 11B
RJ CPS CHECK PAGE SPACE
RJ FTR FORMAT 2 COMMUNICATION BLOCKS
SA1 FW
SA2 A1+1
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
SX6 X1+2 ADVANCE PPU NUMBER
IX7 X6-X2
PL X7,PPP5 IF LAST PHYSICAL PP PROCESSED
SX7 X6-10
NZ X7,PPP4 IF NOT END OF FIRST BANK
SX6 20B RESET TO BEGINNING OF UPPER BANK
PPP4 SA6 A1+ UPDATE PPU NUMBER
JP PPP3 CONTINUE
PPP5 SA1 C4 NUMBER OF CPP-S
ZR X1,PPP8 IF NO CPP-S
BX6 X1
SA6 LW INITIALIZE LAST CPP NUMBER
SA6 IC SET *CPP* PROCESSING FLAG
SX1 13B
RJ CPS CHECK PAGE SPACE
PRINT (=2C )
PRINT (=C* CONCURRENT PP-S COMMUNICATION AREA*)
PRINT (=2C )
MX6 0 INITIALIZE CPP NUMBER
SA6 FW
SA6 FTRB RESET 2 PP FLAG
PPP6 SX1 11B
RJ CPS CHECK PAGE SPACE
RJ FTR FORMAT 2 COMMUNICATION BLOCKS
SA1 FW
SX6 X1+2 ADVANCE CPP NUMBER
SA2 A1+B1
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
IX7 X6-X2
PL X7,PPP7 IF LAST PHYSICAL CPP PROCESSED
SA6 A1 UPDATE CPP NUMBER
SX0 X7+B1
NZ X0,PPP6 IF EVEN NUMBER OF CPP-S
SX7 1 SET 1 PP FLAG
SA7 FTRB
JP PPP6 CONTINUE
PPP7 BX6 X6-X6 CLEAR PROCESSING CPP FLAG
SA6 IC
PPP8 PRINT (=2C )
PRINT (=C* PSEUDO PP COMMUNICATION AREA*)
PRINT (=2C )
SA1 F.TCMT GET ADDRESS OF FIRST PSEUDO AREA
SA2 PC
SA3 NP GET NUMBER OF PP-S
SX6 B1+
SA6 FTRB SET 1 PSEUDO PP FLAG
BX6 X6-X6
LX3 3
IX3 X2+X3
SA4 C4
LX4 3
IX3 X4+X3
SA6 FW CLEAR PP NUMBER
IX3 X1+X3
SA5 X3+ ADDRESS OF PSEUDO AREA
RJ FTR PROCESS PSEUDO PP-S
JP DSD1 RETURN
* PROCESS TERMINAL OUTPUT.
PPTN SA0 B0 PRESET PPU NUMBER
SA5 PC GET PP COMMUNICATION AREA POINTER
PPT1 PRINT (=2C )
* PRINT PPU NAMES.
SA2 PPTA GET LOOP COUNT
SB2 X2+
SB7 PRBF PRINT STRING ADDRESS
PPT2 SX6 A0+
SA6 //PP SET PPU NUMBER
RJ BPN BUILD PPU NAME
BX2 X6
SB6 7
RJ UPS FORMAT PPU NAME
SB2 B2-B1
SA0 A0+B1 ADVANCE PPU NUMBER
GT B2,B0,PPT2 IF MORE FOR THIS LINE
PRINT PRBF,B7-PRBF
* PRINT EXECUTING PROGRAM NAMES AND CONTROL POINT ASSIGNMENTS.
SB7 PRBF
SB2 X5 PP COMMUNICATION AREA INDEX
MX3 18
SA4 F.TCMT
SA2 PPTA GET LOOP COUNT
SB3 X2+
PPT3 SA2 B2+X4 READ PP INPUT REGISTER
MX1 12
BX1 X1*X2
NZ X1,PPT4 IF PPU ACTIVE
SA2 =4L----
SB6 7
RJ UPS
JP PPT5 CONTINUE
PPT4 BX2 X3*X2 MASK NAME
SB6 3
RJ UPS SET NAME IN PRINT STRING
SX6 1R-
SA6 B7
SB7 B7+B1
SA2 A2 REREAD INPUT REGISTER
MX1 -5
LX2 24
BX1 -X1*X2 CONTROL POINT NUMBER
LX1 -6
SB6 B1+B1
RJ CTS SET CONTROL POINT NUMBER
SB7 B7+1 SPACE 1
PPT5 SB2 B2+10B ADVANCE COMMUNICATION AREA ADDRESS
SB3 B3-1
GT B3,B0,PPT3 IF MORE FOR THIS LINE
PRINT PRBF,B7-PRBF
* PRINT COMMUNICATION AREA ADDRESSES.
SB7 PRBF
SA1 PPTA GET LOOP COUNT
SB2 X1+
PPT6 BX1 X5
LX1 -12
SB6 4
RJ CTS CONVERT ADDRESS
SB6 3
RJ SBL SPACE 3
SX5 X5+10B ADVANCE ADDRESS
SB2 B2-1
GT B2,B0,PPT6 IF MORE FOR THIS LINE
PRINT PRBF,B7-PRBF
SA1 NP
SX2 A0
IX2 X2-X1
SA0 A0-12B+20B ADJUST PP NUMBER FOR UPPER BANK
SA3 PPTA
SX3 X3-2
SA4 IC
NZ X4,PPT7 IF CPP-S ALREADY PROCESSED
NG X3,PPT8 IF PSEUDO PP-S PROCESSED
NG X2,PPT1 IF 10 MORE PPUS
SA2 C4
ZR X2,PPT7 IF NO CPP-S
BX6 X2 RESET COUNT FOR CPP-S
SA6 PPTA
SA6 IC SET *CPP* PROCESSING FLAG
PPT6.1 SA0 0 SET *CPP* NUMBER
JP PPT1 CONTINUE PROCESSING
PPT7 SX6 B1
SA6 PPTA SET COUNT FOR PSEUDO PP
SX6 B0 CLEAR *CPP* PROCESSING FLAG
SA6 IC
JP PPT6.1 PROCESS NEXT LINE
PPT8 SX6 10 RESET LOOP COUNT FOR NEXT CALL
SA6 PPTA
JP DSD1 RETURN
PPTA CON 10 LOOP COUNT
PROBE SPACE 4,10
*** PROBE.
*
* DUMP *PROBE* TABLES IN *D* FORMAT.
PROBE DATA 0LPROBE
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+SSTL
LX2 59-30
NG X2,ERR27 IF PROBE NOT ENABLED
SA2 X1+PRBP
PL X2,ERR26 IF PROBE TABLES INTERLOCKED
SX6 X2 SET FWA OF DUMP
LX2 -24 SET LWA+1 OF DUMP
SX2 X2
IX7 X2+X6
SX5 =C* PROBE TABLES*
SB3 B1 SET *D* FORMAT
SX4 B0 SET READ FROM DUMP FILE
RJ DTB DUMP TABLES
EQ DSD1 RETURN
PROCA SPACE 4,20
*** PROCA.
*
* SPECIFIES THAT THE ENTIRE PROCESSOR OPERAND CACHE
* SHOULD BE DUMPED.
*
* PROCA,FIRST,LAST.
*
* FIRST SPECIFIES THE FIRST WORD (HEX) TO BE DUMPED.
* IF OMITTED, WORD 00 IS USED BY DEFAULT.
*
* LAST SPECIFIES THE LAST+1 WORD (HEX) TO BE DUMPED.
* IF OMITTED, WORD FIRST+1 IS USED BY DEFAULT.
* IF FIRST IS OMITTED, WORD 4095 IS DEFAULT FOR LAST.
*
* THE *PROCA* DIRECTIVE IS APPLICABLE ONLY WHEN DUMPING A
* CYBER 180-990 MAINFRAME, AND CAUSES THE PROCESSOR LOAD/STORE
* UNIT (LSU) OPERAND CACHE MEMORY CONTENTS TO BE DUMPED. THE
* RADIAL MCI IS PRINTED BEFORE PRINTING REGISTER 00. EACH
* ROW CONTAINS THE WORD NUMBER, AND THE CONTENTS OF THE
* CORRESPONDING CONTROL WORD AND DATA WORD.
PROCA DATA 0LPROCA
PCA1 RJ LDC LIST DIRECTIVE CARD
SA1 .POC
SX6 B1+ DISPLAY RADIAL MCI
RJ FPR FIND PROCESSOR RECORD
ZR X2,ERR14 IF RECORD NOT FOUND
SX6 4095 SET DEFAULT LWA+1
RJ SHA SET HEX ADDRESSES
PRINT (=C* CONTROL WORDS DATA WORDS*)
PRINT (=2C )
RJ SSB CLEAR STRING BUFFER
PCA4 SA3 FW GET FWA
LX3 2 CONVERT TO BYTE NUMBER
RJ FBP FIND BYTE POSITION
* READ BLOCK OF 60 64-BIT REGISTER WORDS FROM CONTROL
* WORD AREA AND CORRESPONDING DATA WORD AREA.
SB6 B0+
SB7 240
PCA5 RJ NXB READ 4*60 16-BIT BYTES (64 CM WORDS)
BX6 X1
SA6 BUF+B6 WRITE THEM INTO BUF+0 TO BUF+239
SB6 B6+B1
LT B6,B7,PCA5 IF LESS THAN 60 WORDS READ
SA3 FW GET POSITION
LX3 2
SX3 X3+4096*4 JUMP TO DATA WORD AREA
RJ FBP FIND BYTE POSITION
SB6 0
SB7 240 READ 60 DATA WORDS AND STORE THEM IN BUF
PCA6 RJ NXB
BX6 X1
SA6 BUF+240+B6 SAVE THEM IN BUF RIGHT AFTER CONTROL WORDS
SB6 B6+B1
LT B6,B7,PCA6 IF LESS THAN 60 WORDS READ
SA0 0 INITIALIZE BUFFER POINTER
PCA7 SA1 FW GET CURRENT FWA
SB7 PRBF
SB6 3
LX1 59-11
RJ HTS PLACE ENTRY NUMBER IN OUTPUT FIELD
SA1 BUF+A0-1 READ CONTENTS OF BUFFER
SX5 4
PCA9 SA1 A1+B1
LX1 59-15
SB7 B7+2 READ ONE CONTROL WORD
SB6 4
RJ HTS
SX5 X5-1
NZ X5,PCA9 IF MORE DATA TO READ
SA1 BUF+240-1+A0 READ CORRESPONDING DATA WORD
SB7 B7+2
SX5 4
PCA10 SA1 A1+B1
LX1 59-15
SB7 B7+2
SB6 4
RJ HTS
SX5 X5-1
NZ X5,PCA10 IF MORE DATA TO READ
PRINT CCCH,B7-CCCH+1 PRINT OUT LINE
SA1 FW FWA
SA2 A1+B1 LWA+1
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
IX2 X1-X2
PL X2,PCA11 IF REACHED LWA
SX6 X1+B1 INCREMENT FWA
SA6 A1
SA0 A0+4 INCREMENT BUFFER POINTER
SX1 A0-240
NZ X1,PCA7 IF BUFFER NOT EMPTY
JP PCA4 READ NEXT BLOCK OF WORDS
PCA11 SA1 NR NEXT TABLE ENTRY
ZR X1,DSD1 IF NO MORE RECORDS TO PROCESS
JP PCA1 PROCESS NEXT RECORD
PROCW SPACE 4,10
*** PROCW.
*
* THE *PROCW* DIRECTIVE CAUSES THE PROCESSOR CONTROLWARE
* PART NUMBER AND REVISION LEVEL TO BE DUMPED.
PROCW DATA 0LPROCW
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 .PMR
RJ GID GET ELEMENT ID
SA2 TMNO+X6
BX6 X2
NG X6,ERR14 IF UNUSED MODEL
SA6 PCWA
PCW1 RJ LDC LIST DIRECTIVE
SA1 .PCS
SX6 B0+ SET NO RADIAL MCI DISPLAY
RJ FPR FIND PROCESSOR RECORD
ZR X2,ERR14 IF RECORD NOT FOUND
SA3 PCWA
RJ FBP FIND BYTE POSITION
SA2 =41HCONTROLWARE PART NUMBER/REVISION LEVEL =
SB6 41
SB7 PRBF
RJ UPS UNPACK STRING
SB5 4
PCW4 RJ NXB GET NEXT BYTE
SB6 B1+B1
LX1 -16 POSITION TO TOP OF WORD
BX2 X1
SB5 B5-B1
RJ SAI SET ASCII INTERPRETATION
NZ B5,PCW4 IF MORE ASCII TO CONVERT
PRINT CCCH,B7-CCCH
SA1 NR
ZR X1,DSD1 IF DONE, RETURN TO PROCESS NEXT DIRECTIVE
JP PCW1 PROCESS NEXT CONTROLWARE RECORD
PCWA CON 0 BYTE OFFSET
** TMNO - TABLE OF MODEL NUMBER OFFSETS.
*
*T 12/ OFFSET
*
* OFFSET = NUMBER OF 16-BIT BYTES TO SKIP TO FIND THE START OF
* THE MICROCODE NAME IN THE CONTROL STORE RECORD FOR
* THIS MODEL NUMBER.
* = -1, IF THE MODEL NUMBER IS NOT VALID.
TMNO BSS 0
LOC 0
CON -1 UNUSED
CON 8 P1
CON 12 P2
CON 4 P3
CON 20420 THETA
CON 8 P0
CON -1 UNUSED
CON -1 UNUSED
LOC *O
PROMR SPACE 4,25
*** PROMR.
*
* SPECIFIES THAT ALL PROCESSOR MAINTENANCE REGISTERS
* SHOULD BE DUMPED.
*
* PROMR,FIRST,LAST.
*
* FIRST SPECIFIES THE FIRST REGISTER (HEX) TO BE DUMPED.
* IF OMITTED, REGISTER 00 IS USED BY DEFAULT.
*
* LAST SPECIFIES THE LAST PLUS ONE REGISTER (HEX) TO BE
* DUMPED. IF OMITTED, FIRST+1 IS USED BY DEFAULT.
*
* THE PROMR DIRECTIVE CAUSES THE PROCESSOR MAINTENANCE
* REGISTERS TO BE DUMPED. FOR EACH REGISTER, THE
* REGISTER NUMBER, REGISTER CONTENTS, AND REGISTER
* DESCRIPTION ARE PRINTED. FOR REGISTERS CONTAINING
* ERROR INDICATORS, DESCRIPTIONS OF ERROR INDICATORS
* SET ARE PRINTED. THE RADIAL MAINTENANCE CHANNEL
* INTERFACE (MCI) IS PRINTED BEFORE PRINTING
* REGISTER 00.
PROMR DATA 0LPROMR
PRM1 SA1 .PMR RECORD ID
SX7 PMRA DESCRIPTOR TABLE ADDRESS
RJ DMR DUMP MAINTENANCE REGISTERS
SA1 NR
NZ X1,PRM1 LOOP FOR MORE RECORDS
EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
* DESCRIPTOR FORMAT -
*
*T 9/ REGISTER,17/ BDTA,17/ 0,17/ DESCRIPTOR PTR
*
* BDTA = BIT DESCRIPTOR TABLE ADDRESS.
PMRA BSS 0
SXREG SSMR,(STATUS SUMMARY ),PMRB
SXREG EIMR,(ELEMENT ID )
SXREG PPID,(PROCESSOR ID )
SXREG OIMR,(OPTIONS INSTALLED )
SXREG PVCM,(VM CAPABILITY LIST )
SXREG DEMR,(DEPENDENT ENV CTRL )
SXREG PCSA,(CSA ADDR BEFORE HALT )
SXREG PCSB,(CONTROL MEM BKPT )
SXREG PPRG,(PROGRAM ADDR )
SXREG PMPS,(MTR PROCESS STATE PTR)
SXREG PMCR,(MTR CONDITION REG ),PMRC
SXREG PUCR,(USER CONDITION REG )
SXREG PUPR,(UNTRANSLATABLE PTR )
SXREG PSTL,(SEGMENT TABLE LENGTH )
SXREG PSTA,(SEGMENT TABLE ADDRESS)
SXREG PBCR,(BASE CONSTANT )
SXREG PPTA,(PAGE TABLE ADDRESS )
SXREG PPTL,(PAGE TABLE LENGTH )
SXREG PPSM,(PAGE SIZE MASK )
SXREG PMDF,(MODEL DEPENDENT FLAGS),,S3+THETA
SXREG PMDW,(MODEL DEPENDENT WORD ),,S1+S2
SXREG PMMR,(MTR MASK )
SXREG PJPS,(JOB PROCESS STATE PTR)
SXREG PSIT,(SYS INTERVAL TIMER )
SXREG PPFS,(PROC FAULT STATUS ),,S1+S2
SXREG PPFS,(PROC FAULT STATUS 0 ),,S3+THETA
SXREG PCSP,(CONTROL STORE ERR LOG),,S1
SXREG PCSP,(CONTROL MEMORY PARITY),,S2
SXREG PPFS+1,(PROC FAULT STATUS 1 ),,S3+THETA
SXREG PPFS+2,(PROC FAULT STATUS 2 ),,S3+THETA
SXREG PPFS+3,(PROC FAULT STATUS 3 ),,S3+THETA
SXREG PPFS+4,(PROC FAULT STATUS 4 ),,S3+THETA
SXREG PPFS+5,(PROC FAULT STATUS 5 ),,S3+THETA
SXREG PPFS+6,(PROC FAULT STATUS 6 ),,S3+THETA
SXREG PPFS+7,(PROC FAULT STATUS 7 ),,S3+THETA
SXREG PPFS+8,(PROC FAULT STATUS 8 ),,S3+THETA
SXREG PPFS+9,(PROC FAULT STATUS 9 ),,S3+THETA
SXREG PPFS+10,(PROC FAULT STATUS A ),,THETA
SXREG PPFS+11,(PROC FAULT STATUS B ),,THETA
SXREG PPFS+12,(PROC FAULT STATUS C ),,THETA
SXREG PPFS+13,(PROC FAULT STATUS D ),,THETA
SXREG PPFS+14,(PROC FAULT STATUS E ),,THETA
SXREG PPFS+15,(PROC FAULT STATUS F ),,THETA
SXREG PRCL,(RETRY CORR ERROR LOG ),,S1+S2
SXREG PUCS,(CONTROL STORE ERR LOG),,S1
SXREG PCCL,(CACHE CORR ERR LOG ),,S2
SXREG PMCL,(MAP CORR ERR LOG ),,S1+S2
SXREG PPTM,(PROC TEST MODE ),,S1+S2+S3
SXREG PPTM,(PROC TEST MODE 0 ),,THETA
SXREG PPTM+1,(PROC TEST MODE 1 ),,THETA
SXREG PPTM+2,(PROC TEST MODE 2 ),,THETA
SXREG PPTM+3,(PROC TEST MODE 3 ),,THETA
SXREG PTPE,(TRAP ENABLE )
SXREG PTPE+1,(TRAP ENABLE )
SXREG PTPE+2,(TRAP ENABLE )
SXREG PTPE+3,(TRAP ENABLE )
SXREG PTRP,(TRAP PTR )
SXREG PDLP,(DEBUG LIST PTR )
SXREG PKPM,(KEYPT MASK )
SXREG PKPC,(KEYPT CODE )
SXREG PKCN,(KEYPT CLASS NUMBER )
SXREG PPIT,(PROC INTERVAL TIMER )
SXREG PCCF,(CRITICAL FRAME FLAG )
SXREG PCCF+1,(CRITICAL FRAME FLAG )
SXREG POCF,(ON CONDITION FLAG )
SXREG POCF+1,(ON CONDITION FLAG )
SXREG PDBI,(DEBUG INDEX )
SXREG PDBM,(DEBUG MASK )
SXREG PUSM,(USER MASK )
SXREG PRDM,(REG FILE DUMP ADDRESS),,S1+S2
CON 0
* REG *SSMR* (STATUS SUMMARY) BIT INTERPRETATIONS.
*
* DESCRIPTOR FORMAT -
*
*T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
PMRB BSS 0
S2BIT 58,(EXECUTIVE MONITOR MODE)
S2BIT 59,(SHORT ENVIRON WARNING)
S2BIT 60,(PROCESSOR HALT )
S2BIT 61,(UNCORRECTABLE ERROR )
S2BIT 62,(CORRECTED ERROR )
S2BIT 63,(PHYSICAL ENVIRON WARNING)
CON 0
* REG *PMCR* (MTR COND REG) BIT INTERPRETATIONS.
*
* DESCRIPTOR FORMAT -
*
*T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
PMRC BSS 0
S2BIT 48,(DETECTED UNCORR ERR )
S2BIT 50,(SHORT WARNING )
S2BIT 51,(INSTRUCTION SPEC ERROR)
S2BIT 52,(ADDRESS SPEC ERROR )
S2BIT 53,(C170 EXCHANGE REQUEST)
S2BIT 54,(ACCESS VIOLATION )
S2BIT 55,(ENVIRONMENT SPEC ERROR)
S2BIT 56,(EXTERNAL INTERRUPT )
S2BIT 57,(PAGE TBL SEARCH W/O FIND)
S2BIT 58,(SYSTEM CALL )
S2BIT 59,(SYSTEM INTERVAL TIMER)
S2BIT 60,(INCORRECT SEG/RING 0 )
S2BIT 61,(OUTWARD CALL/INWARD RETURN)
S2BIT 62,(SOFT/CORRECTED ERROR )
S2BIT 63,(TRAP EXCEPTION )
CON 0
*
* SECOND OCCURANCE OF REGISTER 31 DESCRIPTOR.
*
PMRD BSS 0
SXREG PCSA,(CSA ADDR AFTER HALT )
CON 0
PROPM SPACE 4,10
*** PROPM.
*
* DUMP CYBER 180-990 PROCESSOR PAGE MAP.
*
* THE *PROPM* DIRECTIVE IS APPLICABLE ONLY WHEN DUMPING A
* CYBER 180-990 MAINFRAME, AND CAUSES THE PROCESSOR PAGE MAP
* TO BE DUMPED. THE RADIAL MCI IS PRINTED BEFORE PRINTING
* REGISTER 00. THERE ARE NO PARAMETERS. FOR EACH REGISTER,
* THE SET NUMBER, ENTRY NUMBER WITHIN THE SET, AND THE REGISTER
* CONTENTS ARE PRINTED.
PROPM DATA 0LPROPM
SA5 .PPM RECORD ID
SX7 3 MAXIMUM SET NUMBER
EQ PSM1 PROCESS PAGE MAP
PRORF SPACE 4,20
*** PRORF.
*
* SPECIFIES THAT THE ENTIRE PROCESSOR REGISTER FILE
* SHOULD BE DUMPED.
*
* PRORF,FIRST,LAST.
*
* FIRST SPECIFIES THE FIRST REGISTER (HEX) TO BE DUMPED.
* IF OMITTED, REGISTER 00 IS USED BY DEFAULT.
*
* LAST SPECIFIES THE LAST+1 REGISTER (HEX) TO BE DUMPED.
* IF OMITTED, FIRST+1 IS USED BY DEFAULT.
*
* THE *PRORF* DIRECTIVE CAUSES THE PROCESSOR REGISTER
* FILE TO BE DUMPED. THE RADIAL MCI IS PRINTED
* BEFORE PRINTING REGISTER 00. FOR EACH REGISTER,
* THE REGISTER NUMBER AND REGISTER CONTENTS ARE
* PRINTED.
PRORF DATA 0LPRORF
SA1 .PMR
RJ GID GET ELEMENT ID
SX6 X6-4
NZ X6,PRF2 IF NOT CYBER 180-990
RJ TPF
EQ DSD1 RETURN
PRF1 SA1 NR
ZR X1,DSD1 IF NO MORE RECORDS TO PROCESS
PRF2 RJ LDC DISPLAY DIRECTIVE
SA1 .PRF
SX6 1 DISPLAY RADIAL MCI
RJ FPR FIND PROCESSOR RECORD
ZR X2,ERR14 IF RECORD NOT FOUND
MX0 -18 PRESET *LAST* TO ACTUAL NUMBER OF REGS
BX6 -X0*X2
RJ SHA SET HEX ADDRESSES
SA3 FW
LX3 2 CONVERT STARTING REGISTER NUMBER TO BYTE
RJ FBP FIND BYTE POSITION
PRF3 SA1 FW
SX6 X1+B1
SA2 A1+B1 LAST REGISTER+1 TO PRINT
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
SA6 A1 INCREMENT REGISTER NUMBER
IX3 X2-X6
NG X3,PRF1 IF ALL REGISTERS PRINTED
SB7 PRBF
SB6 B1+B1
LX1 59-7
RJ HTS DISPLAY REGISTER NUMBER
RJ DHR DISPLAY REGISTER
EQ PRF3 DISPLAY NEXT REGISTER
PROSM SPACE 4,10
*** PROSM.
*
* DUMP CYBER 180-990 PROCESSOR SEGMENT MAP.
*
* THE *PROSM* DIRECTIVE IS APPLICABLE ONLY WHEN DUMPING A
* CYBER 180-990, AND CAUSES THE PROCESSOR SEGMENT MAP TO BE
* DUMPED. THE RADIAL MCI IS PRINTED BEFORE PRINTING REGISTER
* 00. THERE ARE NO PARAMETERS. FOR EACH REGISTER, THE
* SET NUMBER, ENTRY NUMBER WITHIN THE SET, AND THE REGISTER
* CONTENTS ARE PRINTED.
PROSM DATA 0LPROSM
SA5 .PSM RECORD ID
SX7 B1+ MAXIMUM SET NUMBER
PSM1 SA7 LW SAVE LAST SET NUMBER
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
PSM2 RJ LDC DISPLAY DIRECTIVE
BX1 X5
SX6 B1 DISPLAY RADIAL MCI
RJ FPR FIND PROCESSOR RECORD
ZR X2,ERR14 IF RECORD NOT FOUND
BX7 X7-X7
SX3 B0
SA7 FW INITIALIZE SET NUMBER
RJ FBP POSITION DUMP FILE
SA0 0 INITIALIZE ENTRY NUMBER
PRINT (=C* SET ENTRY CONTENTS *)
PRINT (=2C )
PSM3 SA1 FW DISPLAY SET NUMBER
SX6 X1+1R0
SA6 PRBF+1
SX1 A0 DISPLAY ENTRY NUMBER
SB6 B1+B1
SB7 PRBF+6
RJ CDD
BX2 X6
LX2 59-11
RJ UPS
SA0 A0+1 INCREMENT ENTRY NUMBER
RJ DHR DISPLAY REGISTER
SX3 A0-32D
NG X3,PSM3 IF NOT FINISHED WITH SET
SA2 FW GET SET NUMBER
SA1 A2+B1 GET LAST SET NUMBER
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
IX1 X1-X2
ZR X1,PSM4 IF DONE
SX7 X2+B1 INCREMENT SET NUMBER
SA7 A2
SA0 0 RESET ENTRY NUMBER
EQ PSM3 DISPLAY NEXT SET
PSM4 SA1 NR NEXT TABLE ENTRY
NZ X1,PSM2 IF MORE RECORDS TO PROCESS
EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
PROXP SPACE 4,10
*** PROXP.
*
* DUMP CYBER 170-8X5 EXCHANGE PACKAGE.
*
* THE *PROXP* DIRECTIVE CAUSES THE PROCESSOR EXCHANGE
* PACKAGE TO BE DUMPED. THE RADIAL MCI IS PRINTED BEFORE
* REGISTER *SSMR*. FOR EACH REGISTER, THE REGISTER NUMBER,
* REGISTER CONTENTS, AND DESCRIPTIVE INFORMATION IS PRINTED.
PROXP DATA 0LPROXP
RJ LDC LIST DIRECTIVE CARD
RJ GHA GET HARDWARE ADDRESS
PRX1 SX3 1 DISPLAY RADIAL MCI
RJ PTX POSITION TO EXCHANGE PACKAGE
SX6 51 DISPLAY FULL EXCHANGE PACKAGE
SX1 0
RJ FXA FORMAT EXCHANGE AREA
SA1 NR NEXT DIRECTORY TABLE ENTRY
ZR X1,DSD1 IF NO MORE TO PROCESS
SB6 0 NO ADDRESS SPECIFIED
EQ PRX1 PROCESS NEXT EXCHANGE PACKAGE
PST SPACE 4,10
*** PST.
*
* DUMP PROGRAM STATUS TABLE AND
* ENTRY POINT DIRECTORY IN *D* FORMAT.
PST DATA 0LPST
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+PSTP GET FWA PST
AX2 12
SX6 X2
AX2 24 GET LWA+1 PST
SX7 X2
SX5 =C* PROGRAM STATUS TABLE*
SB3 B1 SET *D* FORMAT
SX4 B0 SET READ FROM DUMP FILE
RJ DTB DUMP PST
SA1 CPRA+1 GET FWA EPD
SA2 F.TCMT GET LWA+1 EPD
SA2 X2+LBDP
AX2 12
BX6 X1
SX7 X2
SB3 B0 SET *D* FORMAT
SX5 =C* ENTRY POINT DIRECTORY*
SX4 0 SET READ FROM DUMP FILE
RJ DTB DUMP EPD
EQ DSD1 RETURN
PUT SPACE 4,10
*** PUT.
* DUMP ALL NONZERO PHYSICAL UNIT TABLE ENTRIES.
*
* PUT,E1,E2,...,EN.
* DUMP SELECTED PHYSICAL UNIT TABLE ENTRIES.
PUT DATA 0LPUT
SX5 =C* PHYSICAL UNIT TABLE*
SX6 TPUE SET FORMAT TABLE POINTERS ADDRESS
SX7 =4HPUT SET TABLE NAME ADDRESS
SB2 /HIO/PUTP SET BUFFERED DEVICE TABLE INDEX
RJ DBT DUMP *PUT*
EQ DSD1 RETURN
PX SPACE 4,25
*** PX,N1,N2,...,NN.
*
* DUMP 16-BIT PP MEMORY IN HEX BLOCK FORMAT.
*
* NI NUMBER OF PP TO BE DUMPED. IF OMITTED,
* ALL PP-S ARE DUMPED.
*
* THE *PX* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED
* IN HEXADECIMAL BLOCK FORMAT WHERE EACH BLOCK
* REPRESENTS 256 WORDS. EACH 16-BIT WORD IS
* REPRESENTED BY 4 HEXADECIMAL DIGITS. THE BLOCKS
* ARE READ BY COLUMN (TOP TO BOTTOM), WHERE EACH
* COLUMN CONTAINS 16 16-BIT WORDS NUMBERED
* 0 THRU F. THERE ARE 16 COLUMNS IN EACH BLOCK
* NUMBERED 0 THRU F. REPETITIVE DATA IS NOT
* SUPPRESSED AND ZERO WORDS ARE REPRESENTED BY
* FOUR HYPHENS. THE CONTENTS OF THE R-REGISTER
* IN HEXADECIMAL PRECEDES THE FIRST BLOCK FOR
* EACH PP. OUTPUT TO THE TERMINAL IS NOT PROVIDED.
PX DATA 0LPX
SX6 1 SET HEX BLOCK FORMAT
EQ QOD1 DUMP PP/CPP
Q SPACE 4,19
*** Q.
* DUMP ALL PPUS IN LINE FORMAT WITH INTERPRETATION.
*
* Q,N1,N2,...,NN.
* DUMP SELECTED PPUS.
*
* EACH LINE CONTAINS 20B BYTES PRINTED IN TWO SETS OF 10B.
* EACH SET OF 10B CONSISTS OF AN ADDRESS, 10B DATA BYTES AND
* 16D DISPLAY CODE CHARACTERS INTERPRETATION. REPETITIVE
* LINES ARE SUPPRESSED. ZERO BYTES ARE PRINTED AS *----*.
*
* FOR TERMINAL OUTPUT, THE DIRECTIVE FORMAT IS -
*
* Q,N,FWA,LWA+1.
*
* DATA IS DUMPED 10B BYTES PER LINE WITH DISPLAY CODE
* INTERPRETATION. ZERO BYTES ARE REPRESENTED AS *----*.
* FWA AND LWA+1 ARE ADJUSTED SO THAT THE DUMP LIMITS
* FALL ON A MULTIPLE OF 10B.
Q DATA 0LQ
SA1 TF
NZ X1,QTN IF TERMINAL OUTPUT
SX6 B0 INITIALIZE FOR PPU DUMP
QPR1 RJ IPD
QPR2 RJ SNP SELECT NEXT PPU
ZR X1,DSD1 IF NO MORE TO DUMP
RJ DPQ DUMP PPU IN *Q* FORMAT
EQ QPR2 CONTINUE
* PROCESS TERMINAL OUTPUT.
QTN SB7 0
RJ ASD ASSEMBLE PPU NUMBER
NZ X4,ERR6 IF ERROR
BX7 X4
SA7 IPDA
SA6 //PP SET PPU NUMBER
SA1 IC+1 GET PP TYPE
BX6 X1
SA6 A1-B1 SET *CPP* PROCESSING FLAG
RJ RPD READ PPU DATA TO CORE
RJ SSB CLEAR PRINT STRING
SB7 B0
RJ ASD ASSEMBLE FWA FOR DUMP
NZ X4,ERR6 IF ERROR
MX7 -3
BX6 X6*X7 ROUND DOWN
SA6 FW SET DUMP FWA
SX6 X6+10B
SA6 LW PRESET LWA+1
RJ ASD ASSEMBLE LWA+1
NZ X4,QTN1 IF NOT SPECIFIED
SA6 LW
QTN1 SA1 FW
SB2 X1+ SET DUMP ADDRESS
SB3 10B LOOP COUNT
SB4 BUF BYTE BUFFER ADDRESS
QTN2 SX1 B2
RJ RPB READ BYTE
SA6 B4 STORE IN BUFFER
SB2 B2+B1
SB4 B4+B1
SB3 B3-B1
GT B3,B0,QTN2 IF MORE BYTES TO READ
SX4 B2-10B SET ADDRESS
SB2 BUF BYTE BUFFER ADDRESS
SB7 PRBF PRINT STRING ADDRESS
RJ DTQ FORMAT TEN BYTES
PRINT PRBF,B7-PRBF
SA1 FW
SA2 LW
SX6 X1+10B
SA6 A1 UPDATE DUMP ADDRESS
IX6 X6-X2
NG X6,QTN1 IF MORE TO DUMP
JP DSD1 RETURN
QF SPACE 4,10
*** QF.
* DUMP ALL FLPPS IN LINE FORMAT WITH INTERPRETATION.
*
* QF,N1,N2,...,NN.
* DUMP SELECTED FLPPS.
*
* EACH LINE CONTAINS 20B BYTES PRINTED IN TWO SETS OF 10B.
* EACH SET OF 10B CONSISTS OF AN ADDRESS, 10B DATA BYTES AND
* 16D DISPLAY CODE CHARACTERS INTERPRETATION. REPETITIVE
* LINES ARE SUPPRESSED. ZERO BYTES ARE PRINTED AS *----*.
QF DATA 0LQF
SX6 B1 INITIALIZE FOR FLPP DUMP
EQ QPR1 DUMP FLPPS
QFT SPACE 4,10
*** QFT.
*
* DUMP QUEUE FILE TABLE WITH INTERPRETATION.
QFT DATA 0LQFT
STBL QFT SET TABLE POINTERS
SX5 =C* QUEUE FILE TABLE*
RJ DTI DUMP TABLE WITH INTERPRETATION
EQ DSD1 RETURN
QOA SPACE 4,25
*** QOA,N1,N2,...,NN. (FOR PRINTER OUTPUT)
*
* QOA,N,FWA,LWA,R. (FOR TERMINAL OUTPUT)
*
* NI NUMBER OF PP TO BE DUMPED.
* IF OMITTED, ALL PP-S ARE DUMPED.
*
* N NUMBER OF PP TO BE DUMPED.
* IF OMITTED, ZERO IS ASSUMED.
*
* FWA FIRST WORD ADDRESS (OCTAL) TO BE DUMPED.
* IF OMITTED, ZERO IS ASSUMED.
*
* LWA LAST WORD ADDRESS + 1 (OCTAL) TO BE DUMPED.
* IF OMITTED, FWA + 1 IS ASSUMED.
*
* R IF PRESENT, SPECIFIES THAT R-REGISTER
* SHOULD BE DUMPED.
*
* THE *QOA* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED IN
* OCTAL LINE FORMAT WITH ASCII CODE INTERPRETATION.
QOA DATA 0LQOA
SX6 3 SET OCTAL LINE ASCII CODE FORMAT
EQ QOD1 DUMP PP MEMORY
QOD SPACE 4,30
*** QOD,N1,N2,...,NN. (FOR PRINTER OUTPUT)
*
* QOD,N,FWA,LWA,R. (FOR TERMINAL OUTPUT)
*
* NI NUMBER OF PP TO BE DUMPED.
* IF OMITTED, ALL PP-S ARE DUMPED.
*
* N NUMBER OF PP TO BE DUMPED.
* IF OMITTED, ZERO IS ASSUMED.
*
* FWA FIRST WORD ADDRESS (OCTAL) TO BE DUMPED.
* IF OMITTED, ZERO IS ASSUMED.
*
* LWA LAST WORD ADDRESS + 1 (OCTAL) TO BE DUMPED.
* IF OMITTED, LWA+10B IS ASSUMED.
*
* R IF PRESENT, SPECIFIES THAT R-REGISTER
* SHOULD BE DUMPED.
*
* THE *QOD* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED
* IN OCTAL LINE FORMAT WITH DISPLAY CODE INTERPRETATION.
* EACH LINE CONTAINS AN OCTAL ADDRESS, THE CONTENTS OF
* EIGHT 16-BIT WORDS, AND DISPLAY CODE CHARACTER
* INTERPRETATION. EACH WORD IS REPRESENTED BY
* 6 OCTAL DIGITS UNLESS THE UPPER 4 BITS OF THE
* WORD ARE ZERO, WHEN THE WORD IS REPRESENTED BY
* 4 OCTAL DIGITS. ZERO WORDS ARE REPRESENTED BY
* 4 HYPHENS. REPETITIVE LINES ARE SUPPRESSED. IF
* SPECIFIED, THE R-REGISTER PRECEDES THE FIRST LINE
* OF THE DUMP.
QOD DATA 0LQOD
SX6 2 SET OCTAL LINE DISPLAY CODE FORMAT
QOD1 SA1 //AP
ZR X1,ERR25 IF NO *IOU* SUBSYSTEM
SA6 CPRA+3 DUMP FORMAT CODE
SA1 PS
BX6 X1
SA6 A6-B1 SET R-REGISTER DUMP
SA6 A6-B1 SET LWA+1
AX1 13
LX7 X1,B1
SA7 K4 SET BUFFER LENGTH
BX6 X6-X6
RJ IPD INITIALIZE FOR 16-BIT PP DUMP
SA1 TF
ZR X1,QOD5 IF PRINTER OUTPUT
BX7 X7-X7 PRESET NOT R-REGISTER DUMP
SB7 B0 ASSEMBLE PP NUMBER
SA7 CPRA+2
RJ ASD
NZ X4,ERR6 IF ERROR
RJ SPD SET UP PP/CPP DUMP
SA1 CPRA+3
SX1 X1-4
PL X1,QOD2 IF HEXADECIMAL ADDRESSES
SB7 B0 ASSEMBLE OCTAL FWA FOR DUMP
RJ ASD
NZ X4,ERR6 IF ERROR
MX7 -2
BX6 X6*X7 ROUND FWA DOWN
SA6 CPRA SET DUMP FWA
SX6 X6+10B
SA6 CPRA+1 PRESET DUMP LWA+1
RJ ASD
EQ QOD4 ASSEMBLE R-REGISTER PARAMETER
QOD2 RJ ASX ASSEMBLE HEX FWA
ZR B6,QOD3 IF END OF DIRECTIVE
NZ X4,ERR6 IF ERROR
MX7 -3
BX6 X6*X7 ROUND FWA DOWN
QOD3 SA6 CPRA SET DUMP FWA
SX6 X6+10B
SA6 CPRA+1 PRESET DUMP LWA+1
RJ ASX
QOD4 ZR B6,QOD6 IF END OF DIRECTIVE
NZ X4,QOD6 IF CONVERSION ERROR
SA6 CPRA+1 SET DUMP LWA+1
RJ ASN ASSEMBLE R-REGISTER PARAMETER
SA6 CPRA+2
EQ QOD6 DUMP PP/CPP
QOD5 RJ SNP SELECT NEXT PP TO DUMP
ZR X1,DSD1 IF NO MORE PP-S
QOD6 RJ CPD COPY PP DATA TO BUFFER
SA1 CPRA DUMP 16-BIT PP
RJ DSP
SA1 TF
ZR X1,QOD5 IF PRINTER OUTPUT
EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
QXA SPACE 4,25
*** QXA,N1,N2,...,NN. (FOR PRINTER OUTPUT)
*
* QXA,N,HFWA,HLWA,R. (FOR TERMINAL OUTPUT)
*
* NI NUMBER OF PP TO BE DUMPED.
* IF OMITTED, ALL PP-S ARE DUMPED.
*
* N NUMBER OF PP TO BE DUMPED.
* IF OMITTED, ZERO IS ASSUMED.
*
* HFWA FIRST WORD ADDRESS (HEX) TO BE DUMPED.
* IF OMITTED, ZERO IS ASSUMED.
*
* HLWA LAST WORD ADDRESS + 1 (HEX) TO BE DUMPED.
* IF OMITTED, FWA + 1 IS ASSUMED.
*
* R IF PRESENT, SPECIFIES THAT R-REGISTER
* SHOULD BE DUMPED.
*
* THE *QXA* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED
* IN HEX LINE FORMAT WITH ASCII CODE INTERPRETATION.
QXA DATA 0LQXA
SX6 5 SET HEX LINE ASCII CODE FORMAT
EQ QOD1 DUMP PP MEMORY
QXD SPACE 4,25
*** QXD,N1,N2,...,NN. (FOR PRINTER OUTPUT)
*
* QXD,N,HFWA,HLWA,R. (FOR TERMINAL OUTPUT)
*
* NI NUMBER OF PP TO BE DUMPED.
* IF OMITTED, ALL PP-S ARE DUMPED.
*
* N NUMBER OF PP TO BE DUMPED.
* IF OMITTED, ZERO IS ASSUMED.
*
* HFWA FIRST WORD ADDRESS (HEX) TO BE DUMPED.
* IF OMITTED, ZERO IS ASSUMED.
*
* HLWA LAST WORD ADDRESS + 1 (HEX) TO BE DUMPED.
* IF OMITTED, FWA + 1 IS ASSUMED.
*
* R IF PRESENT, SPECIFIES THAT R-REGISTER
* SHOULD BE DUMPED.
*
* THE *QXD* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED
* IN HEX LINE FORMAT WITH DISPLAY CODE INTERPRETATION.
QXD DATA 0LQXD
SX6 4 SET HEX LINE DISPLAY CODE FORMAT
EQ QOD1 DUMP PP MEMORY
RA SPACE 4,3
*** RA,NNNNNNN.
*
* RESET REFERENCE ADDRESS TO NNNNNNN.
RA DATA 0LRA
RJ LDC LIST DIRECTIVE CARD
SB7 0 SET OCTAL BASE
RJ ASD ASSEMBLE NNNNNNN
NZ X4,ERR6 IF ASSEMBLY ERROR
SA6 UA SET USER CONTROLLED REFERENCE ADDRESS
RJ SRA SET REFERENCE ADDRESS
SA6 US SET USER CONTROLLED RA (SUBTITLE)
JP DSD1 RETURN
RAC SPACE 4,3
*** RAC,NN.
*
* RESET REFERENCE ADDRESS TO THE RA OF CONTROL POINT NN.
RAC DATA 0LRAC
RJ LDC LIST DIRECTIVE CARD
SB7 0 SET OCTAL BASE
RJ ASD ASSEMBLE CONTROL POINT NUMBER
NZ X4,ERR6 IF ASSEMBLY ERROR
RJ CRA COMPUTE CONTROL POINT REFERENCE ADDRESS
SA6 UA SET USER CONTROLLED REFERENCE ADDRESS
RJ SRA SET REFERENCE ADDRESS
SA6 US SET USER CONTROLLED RA (SUBTITLE)
JP DSD1 RETURN
RCL SPACE 4,3
*** RCL.
*
* DUMP RESIDENT CENTRAL LIBRARY IN *C* FORMAT.
RCL DATA 0LRCL
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ SCM SELECT CENTRAL MEMORY
SA7 RI
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
SA1 F.TCMT
SA2 X1+RCLP GET FWA RCL
LX2 24
SX6 X2
SA6 CPRA SAVE FWA RCL
SB2 A6+
RJ POM POSITION TO PROGRAM LENGTH
GETCM
BX5 X6
ZR X5,ERR31 IF RCL EMPTY
PRINT (=2C )
PRINT (=C* RESIDENT CENTRAL LIBRARY*)
PRINT (=2C )
RCL1 SA3 CPRA SET LWA+1 OF NEXT PROGRAM
IX7 X5+X3
SX7 X7
SA7 A3+B1
RJ PCM POSITION TO RCL
SB2 CPRA
RJ PMD PROCESS MEMORY DUMP
SA2 CPRA+1 SET FWA OF NEXT PROGRAM
SX6 X2
SB2 A2-B1
SA6 CPRA
RJ POM POSITION TO NEXT PROGRAM LENGTH
GETCM
BX5 X6
ZR X5,DSD1 IF NO MORE PROGRAMS - RETURN
PRINT (=2C ) SPACE BETWEEN PROGRAMS
PRINT (=2C )
PRINT (=2C )
PRINT (=2C )
PRINT (=2C )
EQ RCL1 DUMP NEXT PROGRAM
READ SPACE 4,14
*** READ,LFN.
* READ DIRECTIVE INPUT FROM FILE *LFN* UNTIL END OF RECORD.
* RECORDS MUST BE IN TEXT FORMAT WHERE THE FIRST WORD OF THE
* RECORD IS THE NAME.
*
* READ,LFN,NAME.
* READ ONE NAMED RECORD FROM FILE *LFN*. THE FILE IS SEARCHED
* FROM CURRENT POSITION TO END OF FILE OR AN EMPTY RECORD.
*
* READ,LFN,*.
* READ ALL RECORDS TILL EOF OR AN EMPTY RECORD.
*
* AT END OF READ PROCESSING, INPUT RESUMES FROM THE ORIGINAL
* INPUT FILE.
READ DATA 0LREAD
RJ LDC LIST DIRECTIVE CARD
RJ ASN ASSEMBLE FILE NAME
ZR B6,ERR12 IF NULL NAME
SX7 B6+42
NG X7,ERR12 IF NAME TOO LONG
SX7 X7-42
ZR X7,ERR12 IF NULL NAME
SX7 B1
BX6 X6+X7
SA6 J SET FILE NAME IN FET
SA1 A6+B1 READ *FIRST* POINTER
SX6 X1
SA6 A1+B1 IN = FIRST
SA6 A6+B1 OUT = IN
SX2 J CHECK IF TERMINAL FILE
RJ STF
NZ X6,RCN0 IF NOT TERMINAL FILE
SX7 1 SET READ TO EOR
SA7 AF
JP DSD1 RETURN
RCN0 SA1 CH
SA1 X1+
SX6 X1-1R.
ZR X6,RCN1 IF RECORD NAME NOT SPECIFIED
RJ ASN ASSEMBLE RECORD NAME
RCN1 RJ GSR GET SELECTED RECORD
ZR X7,ERR14 IF RECORD NOT FOUND
SA7 AF SET ALTERNATE INPUT FLAG
JP DSD1 RETURN
REWIND SPACE 4,3
*** REWIND,LFN.
*
* REWIND FILE *LFN*.
REWIND DATA 0LREWIND
RJ ASN ASSEMBLE FILE NAME
MX0 42
BX5 X0*X6
SA1 REWA SET FET LIST ADDRESS
REW1 SA2 X1 CHECK FOR NAME IN FET
BX2 X0*X2
BX7 X5-X2
SA1 A1+B1 SET NEXT ENTRY
ZR X7,REW2 IF CORRECT FET FOUND
NZ X1,REW1 IF NOT END OF LIST
RECALL F
SX7 3 SET FILE NAME IN INPUT FET
BX7 X5+X7
SA7 X2
EQ REW3 REWIND FILE
REW2 RECALL A2
REW3 REWIND X2 REWIND FILE
EQ DSD1 RETURN
REWA CON I DIRECTIVE INPUT
CON J ALTERNATE INPUT
CON F BINARY INPUT
CON L LISTING OUTPUT
CON A ALTERNATE LIST
CON S BINARY SCRATCH
CON 0 END OF LIST
SPACE 4,10
*** RHF,OPS.
*
* WHERE OPS IS A STRING OF UP TO 3 CHARACTERS
* SELECTING THE DUMP OPTIONS LISTED BELOW.
*
* A DUMPS RHF DAYFILE BUFFER.
*
* C DUMPS RHF FIELD LENGTH.
*
* P PROVIDES DUMP AND FULL ANALYSIS OF
* PP-S RUNNING *NDR*, *NLD*, AND *RHH*.
*
* *RHF.* IS EQUIVALENT TO *RHF,ACP.* .
RHF DATA 0LRHF
SA5 RHFA
RJ ISS INITIALIZE FOR SUBSYSTEM DUMP
GETCM SSBF,100 READ RHF POINTERS
SA5 RHFB
RJ DSS DUMP SUBSYSTEM
EQ DSD1 RETURN
RHFA VFD 24/0,12/RFSI,24/0
RHFB VFD 60/0LACP
VFD 36/0,6/1RA,18/DHA
VFD 36/0,6/1RC,18/DHC
VFD 36/0,6/1RP,18/DHP
VFD 60/0
RPL SPACE 4,6
*** RPL.
*
* DUMP RESIDENT PERIPHERAL LIBRARY IN BYTE FORMAT WITH
* DISPLAY CODE INTERPRETATION. EACH LINE OF TWO CENTRAL MEMORY
* WORDS INDICATES ITS ORDINAL RELATIVE TO THE FWA OF THE PP.
* THE PP NAME AND BYTE LENGTH IS ALSO LISTED.
RPL DATA 0LRPL
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ SCM SELECT CENTRAL MEMORY
SA7 RI
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
SA1 F.TCMT
SA2 X1+RPLP
LX2 24
SX5 X2 ADDRESS OF FIRST OVERLAY HEADER
SX6 LRPL
SA6 RPLA SET MAXIMUM NUMBER OF OVERLAYS TO DUMP
RPL1 SA1 RPLA
SX6 X1-1
SA6 A1 DECREMENT MAXIMUM OVERLAYS TO DUMP
NG X6,DSD1 IF MAXIMUM DUMPED
SX3 X5
RJ DPO DUMP PP OVERLAY
NZ X6,RPL1 IF MORE PP OVERLAYS TO DUMP
JP DSD1 RETURN
RPLA BSS 1 MAXIMUM NUMBER OF OVERLAYS TO DUMP
SAB SPACE 4,10
*** SAB.
*
* DUMP SYSTEM ATTRIBUTE BLOCK IN *D* FORMAT.
SAB DATA 0LSAB
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT
SA2 X1+EABL+MFEI GET SAB ADDRESSES
MX7 -12
MX6 -18
LX2 0-12
BX7 -X7*X2 LENGTH OF SAB
LX2 0-42+0+12
BX6 -X6*X2 FWA OF SAB
IX7 X6+X7 LWA+1 OF SAB
SB3 B1 SET *D* FORMAT
SX4 B0 SET READ FROM DUMP FILE
SX5 =C* SYSTEM ATTRIBUTE BLOCK*
RJ DTB DUMP BUFFERS
EQ DSD1 RETURN
SC SPACE 4,3
*** SC.
*
* DUMP STATUS AND CONTROL REGISTER FOR CYBER 170,
* 700, AND 865/875 MAINFRAMES.
SC DATA 0LSC
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 =10HSCR
BX6 X1
SA6 SBTL1 SET NAME FOR SUBTITLE
SA6 SCPB SET *SC1* NOT YET PROCESSED
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
RJ SSB CLEAR PRINT STRING
SA1 .SCR
MX0 18
SEARCH TDIR,X1,X0 LOCATE SCR RECORD
ZR X2,ERR2 IF NO SCR RECORD
SCP1 SA5 A2+2
MX0 24
LX0 -12
SA3 =6L SC16
BX4 X3-X5
BX2 X0*X4
NZ X2,ERR2 IF NO SC16 RECORD FOUND
RJ SSB CLEAR PRINT STRING
PRINT (=2C )
SA1 SCPB
NZ X1,SCP2 IF *SC1* NOT YET PROCESSED
SA2 =38HSCR REGISTER 0 AFTER CLEAR(CHANNEL 16)
EQ SCP3 CONTINUE
SCP2 SA2 =38HSTATUS/CONTROL REGISTER 0 (CHANNEL 16)
SCP3 SB7 PRBF+15
SA0 BUF SC REGISTER ADDRESS
RJ SCH SET SC DIRECTIVE HEADER
SA5 A5+1
MX0 24
LX0 -12
SA3 =6L SC36
BX4 X3-X5
BX6 X0*X4
SA6 SCPA SET SC36 PRESET OR NOT
NZ X6,SCP6 IF SC36 RECORD NOT FOUND
SA1 SCPB
NZ X1,SCP4 IF *SC1* NOT YET PROCESSED
SA2 =38HSCR REGISTER 1 AFTER CLEAR(CHANNEL 36)
EQ SCP5 CONTINUE
SCP4 SA2 =38HSTATUS/CONTROL REGISTER 1 (CHANNEL 36)
SCP5 SB7 PRBF+65
SA0 BUF+4 SC REGISTER ADDRESS
RJ SCH SET SC DIRECTIVE HEADER
SCP6 SX1 5
RJ CPS CHECK PAGE SPACE
PRINT CCCH,1+65+38
PRINT (=2C )
* UNPACK SC REGISTER WORDS.
SB4 4 PRESET NUMBER OF WORDS
SA4 SCPA
NZ X4,SCP7 IF SC36 RECORD NOT FOUND
SB4 8
SCP7 SB7 BUF+10 CHARACTER BUFFER
SA1 BUF
SCP8 SA2 =4000005B FORMAT CONTROL
RJ FDW
SB4 B4-1
ZR B4,SCP9 IF NO MORE WORDS TO UNPACK
SA1 A1+B1 READ NEXT WORD
EQ SCP8 CONTINUE
SCP9 SX5 BUF+10 SC16 CHARACTER STRING ADDRESS
SB3 25 NUMBER OF CHARACTERS
SA0 =14HBITS 203 - 144
RJ FSC FORMAT SC REGISTER CONTENTS
SX5 BUF+35
SB3 30
SA0 =14HBITS 143 - 72
RJ FSC FORMAT SC REGISTER CONTENTS
SX5 BUF+65
SB3 30
SA0 =14HBITS 71 - 00
RJ FSC FORMAT SC REGISTER CONTENTS/
SA1 SCPB
ZR X1,DSD1 IF *SC1* PROCESSED, RETURN
SA1 .SC1
MX0 18
SEARCH TDIR,X1,X0 LOCATE SC1 RECORD
ZR X2,DSD1 IF NO *SC1* RECORD, RETURN
BX6 -X2*X2
SA6 SCPB *SC1* PROCESSED
EQ SCP1 CONTINUE
SCPA BSS 1 IF NONZERO, SC36 RECORD NOT FOUND
SCPB BSS 1 IF NONZERO, *SC1* NOT YET PROCESSED
SDA SPACE 4,10
*** SDA.
*
* DUMP STATISTICAL DATA AREA. EACH WORD IS PRINTED
* WITH ITS NOSTEXT SYMBOL AND IS SPLIT INTO THE
* APPROPRIATE PARAMETER FIELDS.
SDA DATA 0LSDA
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ SCM SELECT CENTRAL MEMORY
SA7 RI SET CENTRAL MEMORY RANDOM INDEX
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
SA1 F.TCMT SET STATISTICAL DATA AREA FWA
SA3 X1+SDAP
AX3 36
BX0 -X3 SAVE STATISTICAL DATA AREA FWA
SX6 X3 SET FIRST ADDRESS FOR OUTPUT
SA6 FW
RJ PCM POSITION MEMORY RECORD
GETCM BUF,SDAL READ STATISTICAL DATA AREA
SA1 TFSD SET FIELD DESCRIPTION POINTERS
SB2 X0+BUF SET DATA ADDRESS
RJ GTD GENERATE DETAILED TABLE DUMP
EQ DSD1 RETURN
SPACE 4,10
*** SECDED.
*
* DUMP SECDED ID TABLE IN *D* FORMAT.
SECDED DATA 0LSECDED
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
RJ SCM SELECT CENTRAL MEMORY
SA1 F.TCMT GET ADDRESS OF TABLE
SA2 X1+SCRL
MX6 -18
AX2 36
BX6 -X6*X2
SA6 CPRA SET FWA OF DUMP
SX7 B1 SELECT *D* FORMAT
SA7 CPRA+4
SX6 X6+UIDL*2 SET LWA+1 OF DUMP
SA6 CPRA+1
RJ LDC LIST DIRECTIVE CARD
JP CPR2 PROCESS DUMP
SETCPU SPACE 4,10
** SETCPU,N.
*
* SETS UP THE CYBER 170-8XX PROCESSOR POINTERS FOR
* THE PROCESSOR SPECIFIED BY *N*. DEFAULT IS CPU 0.
SETCPU DATA 0LSETCPU
RJ ASN
ZR X6,STP1 IF DEFAULT
BX5 X6
SB7 0 SET OCTAL BASE
RJ DXB
SA1 STPA
IX1 X1-X6
NG X1,ERR6 IF PARAMETER ERROR
STP1 SA6 SPPB SAVE PROCESSOR NUMBER
RJ SPP SET PROCESSOR POINTERS
EQ DSD1 RETURN
STPA CON 1 MAXIMUM PROCESSOR NUMBER
SETIOU SPACE 4,20
*** SETIOU.
* SET PP SIZE TO 4096 12 BIT WORDS AND PP TYPE TO
* NON-CONCURRENT PP.
*
* SETIOU,P1,P2.
* SET PP SIZE AND TYPE BASED ON THE FOLLOWING PARAMETERS:
*
* C - SET PP SIZE TO 8192 16 BIT WORDS, PP TYPE TO
* CONCURRENT PP SUBSYSTEM.
*
* N - SET PP SIZE TO 4096 16 BIT WORDS, PP TYPE TO
* NON-CONCURRENT PP SUBSYSTEM.
*
* 8K - SET PP SIZE TO 8192 16 BIT WORDS.
*
* 4K - SET PP SIZE TO 4096 16 BIT WORDS - IGNORED IF THE *C*
* PARAMETER IS ALSO SPECIFIED.
*
* NOTE - PARAMETERS *C* AND *N*, AS WELL AS *4K* AND *8K*, ARE
* INCOMPATIBLE AND WILL FORCE AN ERROR IF SPECIFIED TOGETHER.
SETIOU DATA 0LSETIOU
SA1 EF
SX6 B1+
SA0 X1 SAVE EJECT FLAG
SA6 A1 TURN EJECT ON
RJ LDC LIST DIRECTIVE CARD
SX6 A0+
SA6 EF RESTORE EJECT FLAG
SB2 2 SET PARAMETER COUNTER
SX5 4 SET DEFAULT INDEX
SPU1 RJ ASN ASSEMBLE PARAMETER NAME
ZR X6,SPU4 IF NO PARAMETER PRESENT
SB2 B2-1
NG B2,ERR6 IF MORE THAN 2 PARAMETERS
SA1 SPUA-1
SPU2 SA1 A1+B1
ZR X1,ERR6 IF PARAMETER ERROR
MX0 12
BX2 X0*X1
BX7 X6-X2
NZ X7,SPU2 IF NO MATCH
MX0 -4
ZR B2,SPU3 IF SECOND PARAMETER
BX3 -X0*X1 GET COMBINATION MASK
LX1 -44 SET INDEX
BX5 -X0*X1
EQ SPU1 PROCESS NEXT PARAMETER
SPU3 BX4 X3*X1
ZR X4,ERR6 IF INVALID PARAMETER COMBINATION
LX1 -44
BX1 -X0*X1
BX5 X1+X5 COMBINE INDICES
EQ SPU1 CHECK NEXT PARAMETER
SPU4 MX0 -2 SET PP RECORD SIZE
BX2 -X0*X5
SX3 10000B DEFAULT PP RECORD SIZE
IX7 X3*X2
IX7 X7+X3
SA7 PS
AX5 2
ZR X5,DSD1 IF ONLY PP MEMORY SIZE CHANGE
AX6 X5,B1
SA6 IC+1 SET *NPP*/*CPP* FLAG
ZR X6,DSD1 IF NOT SETTING CPP PROCESSING
SA1 IO
NZ X1,ERR6 IF NOT I4A OR I4S IOU
EQ DSD1 RETURN
** SPUA - VALID PARAMETER TABLE.
*
*T 12/ VP,2/ C,2/ S,40/ 0,4/ MSK.
* VP VALID PARAMETER.
* C CONCURRENT PP PROCESSING FLAG.
* S PP RECORD SIZE FLAG.
* MSK PARAMETER COMBINATION MASK.
SPUA VFD 12/2L4K,2/0,2/0,40/0,4/11B
VFD 12/2L8K,2/0,2/1,40/0,4/6B
VFD 12/1LN,2/1,2/0,40/0,4/12B
VFD 12/1LC,2/2,2/1,40/0,4/5B
CON 0 END OF TABLE
SETJPS SPACE 4,10
** SETJPS,RMA.
* SETJPS,PVA.
*
* SET THE S2JPS REGISTER TO AN ARBITRARY VALUE.
SETJPS DATA 0LSETJPS
RJ GHA GET HARDWARE ADDRESS
ZR B6,ERR6 IF NO ADDRESS SPECIFIED
SA6 S2JPS SAVE POSSIBLE RMA
SB2 32
AX7 X6,B2
ZR X7,DSD1 IF JUST RMA SPECIFIED
RJ PVM POSITION VIRTUAL MEMORY
NZ X2,ERR30 IF PAGE IS MISSING
RJ NXB
BX5 X1
LX5 16
RJ NXB
BX6 X1+X5
SA6 S2JPS
JP DSD1 RETURN
SETRMA SPACE 4,10
*** SETRMA,PVA.
*
* DISPLAY THE TRANSLATED REAL MEMORY ADDRESS FOR A PVA.
SETRMA DATA 0LSETRMA
RJ GHA GET HARDWARE ADDRESS
ZR B6,ERR6 IF NO ADDRESS SPECIFIED
RJ PVM POSITION VIRTUAL MEMORY
NZ X2,ERR30 IF PAGE IS MISSING
SA2 =17HTRANSLATED PVA =
SB6 17
SB7 PRBF
RJ UPS UNPACK STRING
SB6 6
SA1 BRMA GET TRANSLATED RMA
BX6 X1
LX1 59-23
SA6 S2RMA SAVE FOR SYMBOL *RMA*
RJ HTS COPY TO BUFFER
PRINT CCCH,B7-CCCH *TRANSLATED PVA = NNNNNN*
JP DSD1 PROCESS NEXT COMMAND
SETVEP SPACE 4,10
** SETVEP,PTA,PTL,PSM,MPS.
*
* SET VE PARAMETERS.
SETVEP DATA C*SETVEP*
RJ ASX
NZ X4,ERR6 IF PARAMETER ERROR
SA6 S2PTA
RJ ASX
NZ X4,ERR6 IF PARAMETER ERROR
SA6 S2PTL
RJ ASX
NZ X4,ERR6 IF PARAMETER ERROR
SA6 S2PSM
RJ ASX
NZ X4,ERR6 IF PARAMETER ERROR
SA6 S2MPS
JP DSD1 RETURN
SST SPACE 4,10
*** SST.
*
* DUMP SUBSYSTEM CONTROL POINT TABLE AND SUBSYSTEM ASSIGNMENT
* TABLE IN *D* FORMAT.
SST DATA 0LSST
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 F.TCMT GET FWA OF SSCT
SA2 X1+SSCP
AX2 12
SX6 X2
SX7 X6+SSCTL GET LWA+1 OF SSCT
SX5 =C* SUBSYSTEM CONTROL POINT TABLE*
SB3 B1 SET *D* FORMAT
IX4 X6+X1 SET ADDRESS OF READ FROM CORE
RJ DTB DUMP SSCT
SB3 -B1 SET NO PAGE EJECT
SA1 CPRA+1 GET FWA OF SSAT
BX6 X1
SX7 X6+SSCTL GET LWA+1 OF SSAT
SX5 =C* SUBSYSTEM ASSIGNMENT TABLE*
SA1 F.TCMT SET ADDRESS OF READ FROM CORE
IX4 X6+X1
RJ DTB DUMP SSAT
EQ DSD1 RETURN
TBDUMP SPACE 4,10
*** TBDUMP,MTR.
* TBDUMP,PPU.
*
* DISPLAY THE SELECTED TRACE BUFFER IN *D* FORMAT.
* THE FUNCTIONS TRACED, ABSOLUTE ADDRESSES SAVED, AND CPA
* ADDRESSES SAVED (*TBDUMP,MTR* ONLY) ARE ALSO DISPLAYED.
TBDUMP DATA 0LTBDUMP
RJ LDC LIST DIRECTIVE CARD
RJ ASN ASSEMBLE PARAMETER
SA1 TBDB
TBD1 ZR X1,ERR6 IF INCORRECT PARAMETER
BX2 X1-X6
SA1 A1+B1
NZ X2,TBD1 IF NO MATCH
SX6 A1-TBDB-1
SA6 TBDA
RJ SCM SET CENTRAL MEMORY
SA7 RI
SA1 F.TCMT
SA3 X1+CMBL
AX3 36
RJ PCM POSITION TO BLOCK NAME TABLE
SA5 =5RTRACE
TBD2 GETCM
SX3 X6
ZR X3,ERR21 IF NO TRACE BLOCK
AX6 30
BX6 X6-X5
NZ X6,TBD2 IF NOT TRACE POINTER
RJ PCM POSITION TO TRACE BLOCK
GETCM TBDC,5 SAVE POINTER WORDS
SA1 TBDA
ZR X1,TBD3 IF MTR
SX1 3
TBD3 SA2 X1+TBDC
SX7 X2
SX6 B1 SET *D* FORMAT
SA7 CPRA SET FWA
SA6 CPRA+4
AX2 18
SX7 X2
SA7 CPRA+1 SET LWA+1
SA3 X1+TBDC+1
RJ PCM GET LIST OF FUNCTIONS TRACED
GETCM
BX5 X6
RJ SSB CLEAR STRING BUFFER
SA2 =19HFUNCTIONS TRACED -
SB7 PRBF
SB6 19
RJ UPS UNPACK STRING
BX1 X5
SA2 =4000005B
RJ FDW FORMAT DATA WORD
SA2 =15H*IN* POINTER -
SB7 B7+5
SB6 15
RJ UPS UNPACK STRING
SA3 CPRA GET *IN* POINTER
SX3 X3-1
RJ PCM POSITION TO *IN* POINTER
GETCM
BX1 X6
LX1 59-17
SB6 6
SB7 PRBF+64
RJ CTS PRINT *IN*
PRINT CCCH,B7-CCCH
RJ SSB CLEAR STRING BUFFER
PRINT (=2C )
SA3 TBDC+2 GET ABS ADDRESS LIST
AX3 18
RJ PCM POSITION TO ABS ADDRESS LIST
SA2 =18HABS WORDS SAVED -
SA5 TBDA
TBD4 SB7 PRBF
SB6 18
RJ UPS UNPACK STRING
GETCM GET ADDRESS OF FIRST WORD SAVED
BX1 X6
LX1 59-17
SB7 PRBF+18
SB6 6
RJ CTS CONVERT ADDRESS
SA0 A1 SAVE FET ADDRESS
LX1 59-41 GET SECOND ADDRESS
SB7 B7+2
SB6 6
RJ CTS CONVERT ADDRESS
PRINT CCCH,B7-CCCH
RJ SSB CLEAR PRINT STRING
PRINT (=2C )
NZ X5,CPR2 IF THROUGH PROCESSING ADDRESS LISTS
SX5 X5+B1 SET UP EXIT
SA2 =18HCPA WORDS SAVED -
SA1 A0 GET CPA ADDRESS LIST
EQ TBD4 DISPLAY CPA ADDRESS LIST
TBDA CON 0 MTR/PPU FLAG
TBDB CON 3LMTR
CON 3LPPU
CON 0
TBDC VFD 24/0,18/0,18/0 *MTR* TRACE BUFFER LWA+1, FWA
VFD 42/0,18/0 *MTR* FUNCTION LIST
VFD 24/0,18/0,18/0 ABS/CPA ADDRESS LISTS
VFD 24/0,18/0,18/0 *PPU* TRACE BUFFER LWA+1, FWA
VFD 42/0,18/0 *PPU* FUNCTION LIST
TRACE SPACE 4,10
** TRACEBK,PVA.
*
* PERFORM TRACEBACK ON EXCHANGE PACKAGE.
TRACE DATA C*TRACEBK*
RJ LDC LIST DIRECTIVE AND EJECT
SA1 TF CHECK TERMINAL FLAG
SX6 51
ZR X1,TRC1 IF PRINTER, DISPLAY FULL STACK FRAMES
SX6 3
TRC1 SA6 TRCA+2 MAXIMUM DISPLAY SIZE
RJ GHA GET HARDWARE ADDRESS
SX3 B0+ SET NO RADIAL MCI DISPLAY
RJ PTX POSITION TO EXCHANGE PACKAGE
SX1 B0
SA2 TRCA+2
BX6 X2
RJ FXA FORMAT EXCHANGE AREA
RJ CSI COLLECT SEGMENT INFORMATION
SA6 TRCA+1
TRC2 PRINT (=2C )
SA1 BUF+3*4+1
SA2 A1+B1
SA3 A2+B1
LX1 32
LX2 16
BX6 X3+X1
BX6 X6+X2
RJ EVA EXPAND VIRTUAL ADDRESS
ZR X2,DSD1 IF END OF THE LINE
SA7 TRCA SAVE THE PVA
SB2 A7
RJ SVA CONVERT TO SVA
SA6 TRCA SAVE SVA
SA2 A6+B1
BX6 X2
RJ DPN DISPLAY PROCEDURE NAME
SA1 TRCA
BX6 X1
RJ PVM POSITION VIRTUAL MEMORY
NZ X2,ERR30 IF PAGE ENTRY NO PRESENT
SA2 TRCA+2
SA1 TRCA EXCHANGE PACKAGE SVA
BX6 X2
RJ FXA FORMAT FIRST THREE WORDS
JP TRC2 PROCESS NEXT STACK FRAME
TRCA CON 0 TRAP PACKAGE SVA
CON 0 EXCHANGE PACKAGE RMA
CON 0,0
UEC SPACE 4,10
*** UEC,FWA.
*
* SET MEMORY TYPE TO *UEC*. SUBSEQUENT C, D, AND E
* DIRECTIVES APPLY TO USER EXTENDED CORE MEMORY.
*
* FWA SPECIFIES THE FIRST WORD ADDRESS/1000B FOR USER ECS.
* IF OMITTED, THE FIRST WORD ADDRESS FOR UEC IS OBTAINED
* FROM RAE IN THE SYSTEM CONTROL POINT *ECSW* WORD. FOR USER
* ECS IN UEM, THE UEM BASE ADDRESS FROM CMR WORD *UEML* IS
* ALSO ADDED TO THE RAE FROM THE SYSTEM CONTROL POINT.
UEC DATA 0LUEC
RJ LDC LIST DIRECTIVE CARD
SA1 F.TCMT
SA2 X1+ECRL
MX3 -12
LX2 -36
BX2 -X3*X2
ZR X2,UEC3 IF NO USER EXTENDED MEMORY DEFINED
RJ SEM SET UNIFIED EXTENDED MEMORY (UEM)
NG X3,UEC1 IF UEM DEFINED
RJ SEC SET EXTENDED CORE STORAGE
UEC1 SA7 UI SET USER CONTROLLED MEMORY RANDOM INDEX
SB7 B0+ SELECT OCTAL BASE
RJ ASD ASSEMBLE FWA FROM UEC DIRECTIVE
LX6 9
NZ X6,UEC2 IF FWA SPECIFIED
SA1 F.TCMT
SA2 NC GET SYSTEM CP RAE
SA3 UE GET USER EM SHIFT COUNT
SX2 X2+B1
LX2 7
IX2 X1+X2
SB2 X3+9
MX6 -24
SA2 X2+ECSW
LX2 -12
BX6 -X6*X2
SA3 MB SET USER EXTENDED MEMORY BASE ADDRESS
LX6 B2
IX6 X3+X6
UEC2 SA6 MB
SA1 =10HUEC SET NAME FOR SUBTITLE
BX6 X1
SA6 SBTL1
SA6 US+1 SET USER CONTROLLED MEMORY NAME
EQ DSD1 RETURN
UEC3 SX7 B1+ SET EXTENDED MEMORY ERROR FLAG
SA7 EE
EQ ERR41 PROCESS *USER EXTENDED MEMORY NOT DEFINED*
W SPACE 4,20
*** W,HFBN,HLBN,ASID.
*
* DUMP 64-BIT MEMORY IN WORD FORMAT.
*
* HFBN FIRST BYTE NUMBER (HEX) TO BE DUMPED.
*
* HLBN LAST BYTE NUMBER + 1 TO BE DUMPED.
* IF OMITTED, HFBN+8 IS ASSUMED.
*
* ASID SPECIFIES THE ACTUAL SEGMENT IDENTIFIER OF THE
* MEMORY TO BE DUMPED. IF ASID=1 THEN HFBN AND
* HLBN ARE ADDRESSES WITHIN THE CYBER 170-8X5 ERROR
* INTERFACE PACKAGE. IF OMMITTED, HFBN AND HLBN
* ARE REAL MEMORY ADDRESSES.
*
* THE *W* DIRECTIVE CAUSES THE SPECIFIED LOCATIONS OF
* CENTRAL MEMORY TO BE DUMPED IN HEXADECIMAL (FOUR
* WORDS PER LINE WITH ASCII CHARACTER EQUIVALENTS).
* OUTPUT TO THE TERMINAL IS NOT PROVIDED.
W DATA 0LW
SX6 2 SET *W* FORMAT CODE
EQ IPR1 DUMP CENTRAL MEMORY
XP SPACE 4,4
*** XP.
*
* DUMP THE CPU(S) EXCHANGE PACKAGE(S) EXECUTING AT THE TIME
* OF DEAD START.
XP DATA 0LXP
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA1 =10HCPR
BX6 X1
SA6 SBTL1 SET NAME FOR SUBTITLE
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
RJ SSB CLEAR PRINT STRING
SA1 .CP0
MX0 24
LX0 -12
SEARCH TDIR,X1,X0 LOCATE CPU0 RECORD
NZ X2,XPP3 IF CPU0 RECORD FOUND
RJ FPX FIND CYBER 170-8X5 EXCHANGE PACKAGE
BX6 X1 SAVE CPU1(800) EXCHANGE PACKAGE POINTER
SA6 XPPD
SA2 =28HCPU0 HARDWARE REGISTERS - ON
SB7 PRBF
SB6 28
RJ UPS SET CPU0 TITLE MESSAGE
SX6 0
SA6 XPPA SET CPU0 PRESENT
SX6 B1
SA6 A6+B1 SET CPU1 NOT PRESENT
ZR X1,XPP4 IF CPU1 EXCHANGE PACKAGE NOT PRESENT
BX2 X1
RJ FPX
NZ X1,XPP1 IF CPU1 IN C170 MODE
BX6 X1
SA6 XPPD
SA2 =46HCPU1 IS IN C180 STATE - USE DIRECTIVE *PROXP.*
SB6 46
EQ XPP2 PRINT MESSAGE
XPP1 SA2 =28HCPU1 HARDWARE REGISTERS - ON
SB6 28
XPP2 SB7 PRBF+45
RJ UPS UNPACK MESSAGE
EQ XPP4 DUMP EXCHANGE PACKAGE
XPP3 SA0 BUF EXCHANGE PACKAGE ADDRESS
SB7 PRBF
SA5 A2+
SA2 =5HCPU0
SB6 5
RJ UPS
RJ XPH SET XP DIRECTIVE HEADER
SA6 XPPA SET CPU0 ON/OFF
SX6 B1
SA6 A6+B1 PRESET CPU1 OFF
SA5 A5+1
MX0 24
LX0 -12
SA3 =6L CPU1
BX4 X3-X5
BX2 X0*X4
NZ X2,XPP4 IF CPU1 RECORD NOT FOUND
SA0 BUF+20B EXCHANGE PACKAGE ADDRESS
SB7 PRBF+45
SA2 =5HCPU1
SB6 5
RJ UPS
RJ XPH SET XP DIRECTIVE HEADER
SA6 XPPB SET CPU1 ON/OFF
XPP4 SX1 19
RJ CPS CHECK PAGE SPACE
PRINT CCCH,100
PRINT (=2C )
SX6 0
SA6 XPPC CLEAR LINE INDEX
SA5 BUF READ FIRST EXCHANGE PACKAGE
XPP5 RJ SSB CLEAR PRINT STRING
SA4 XPPA
ZR X4,XPP6 IF CPU0 ON
SA5 A5+B1
JP XPP7 CHECK CPU1
XPP6 SA1 XPPC LINE INDEX
SB7 PRBF+1
RJ FXW FORMAT EXCHANGE PACKAGE WORD
XPP7 SA5 A5+17B ADVANCE TO NEXT EXCHANGE PACKAGE
SA4 XPPB
ZR X4,XPP8 IF CPU1 ON
SA4 XPPD GET CPU1(800) ON/OFF
NZ X4,XPP8 IF PRESENT
SA5 A5+1
JP XPP9 PRINT EXCHANGE PACKAGE
XPP8 SA1 XPPC LINE INDEX
SB7 PRBF+46
RJ FXW FORMAT EXCHANGE PACKAGE WORD
XPP9 PRINT CCCH,B7-CCCH
SA1 XPPC
SX6 X1+B1
SA6 A1 ADVANCE LINE INDEX
SX7 X6-10B
NZ X7,XPP10 IF NOT END OF A AND B REGISTERS
PRINT (=2C )
XPP10 SA5 A5-20B RESET EXCHANGE PACKAGE
SA1 XPPC
SX1 X1-20B
NG X1,XPP5 IF MORE LINE TO FORMAT
JP DSD1 RETURN
XPPA BSS 1 CPU 0 ON/OFF
XPPB BSS 1 CPU 1 ON/OFF
XPPC BSS 1 EXCHANGE PACKAGE LINE INDEX
XPPD CON 0 POINTER TO CPU1 EXCHANGE PACKAGE
SPACE 4,3
*** *.CCC - CCC
*
* PLACE CCC - CCC IN THE SUBTITLE LINE AS A COMMENT.
*E
Z DATA 0L*
SA1 CH STRING POINTER
SB2 X1+1
SB6 36
SB7 SBTL3
RJ PKS MOVE COMMENT TO SUBTITLE LINE
JP DSD1 RETURN
QUAL *
TITLE BML MAINTENANCE REGISTER FILE SUBROUTINES.
CBF SPACE 4,10
** CBF - CREATE BML MAINTENANCE REGISTER FILE.
*
* USES X - ALL.
* A - 1, 2, 3, 4, 5, 6, 7.
* B - 2, 3, 6.
*
* CALLS DRA, FOM, GDA, GMR, LMB, PBL, RDR, SMR, TBM.
*
* MACROS WRITER, SETFS.
CBF SUBR ENTRY/EXIT
SA1 BF
ZR X1,CBFX IF NO BML FILE SPECIFIED
SA1 F.TCMT GET PACKED DATE AND TIME
SA2 X1+PDTL
MX0 -36
BX6 -X0*X2
SA3 BFMB+1 ADD PACKED DATE AND TIME TO HEADER
BX3 X0*X3
BX6 X3+X6
SA6 A3+
RJ GDA GET DFT/OS BUFFER FWA
ZR X3,CBF2 IF BUFFER NOT FOUND
BX5 X3
BX7 X5
SA7 CBFK
SA3 X5+/DFT/DFMR SAVE FWA OF M/R BUFFERS
RJ DRA
SA6 CBFL
SA3 X5 READ DFT CONTROL WORD
MX2 -8
LX3 0-16 SAVE NUMBER OF M/R BUFFERS
BX6 -X2*X3
SA6 CBFH
LX3 0-24-0+16
BX6 -X2*X3 SAVE LENGTH OF M/R BUFFER
SA6 CBFJ
LX3 0-48-0+24 GET DFT SEQUENCE NUMBER
BX7 -X2*X3
LX3 8 SAVE DFT VERSION LEVEL
BX6 -X2*X3
SA6 CBFO
SA2 BFMB+4 PLACE IN BML HEADER
LX6 53-5
BX6 X6+X2 ADD VERSION LEVEL
BX7 X7+X6 ADD SEQUENCE NUMBER
SA7 A2
AX6 50
ZR X6,CBF0 IF VERSION 3 OR LESS
SA3 X5+/DFT/DFMD SAVE FWA OF MODEL DEPENDENT BUFFERS
RJ DRA
IX6 X6+X1
SA6 CBFM
SA3 X5+/DFT/DFSS SAVE FWA OF SUPPORTIVE STATUS BUFFERS
RJ DRA
SA6 CBFN
SA3 X5+/DFT/DFBC SAVE M/R CONTROL WORD ADDRESS
RJ DRA
BX5 X6
EQ CBF0.1 SAVE M/R CONTROL WORD ADDRESS
CBF0 LX3 40-0
SX1 6 DEFAULT NUMBER OF M/R BUFFERS
MX4 4
BX0 X4*X3
ZR X0,CBF0.1 IF DFT VERSION 1
SB3 4
LX1 X0,B3 NUMBER OF DFT CONTROL WORDS
CBF0.1 IX6 X5+X1 SAVE ADDRESS OF M/R CONTROL WORD
SA6 CBFI
CBF1 RJ FOM FIND OLDEST ENTRY
ZR B3,CBF2 IF NO MORE ENTRIES TO PROCESS
SX7 B0 INITIALIZE SUMMARY STATUS FLAG
SX6 B3 SAVE MRB/SSB ORDINAL
SA7 PBHA
SA6 PBLB
RJ LMB LOCATE M/R BUFFER ENTRY
RJ PBL PROCESS BML
EQ CBF1 PROCESS NEXT ENTRY
* READ MAINTENANCE REGISTER ERROR ELEMENT RECORDS.
CBF2 SA1 CBFA GET NEXT ELEMENT RECORD
SX6 X1+B1 INCREMENT *MRET* INDEX
SA6 A1
SA2 MRET+X1
ZR X2,CBF9 IF END OF ELEMENTS
SA1 X2 RECORD ID
MX3 24
BX7 X3*X2 BML MESSAGE ID / SYMPTOM CODE
AX2 18
SA7 CBFD
SX6 X2 MAINTENANCE REGISTER LIST ADDRESS
SA6 A7-B1
RJ RDR READ DUMP RECORD
ZR X2,ERR42 IF RECORD NOT FOUND
* GET MODEL NUMBER FROM ELEMENT ID REGISTER.
SX5 /IOU/EIMR READ ELEMENT ID REGISTER
RJ GMR
NG X1,ERR42 IF ELEMENT ID REGISTER NOT FOUND
MX6 -4
AX7 16
BX6 -X6*X7 ISOLATE MODEL NUMBER
SA6 CBFB SAVE MODEL NUMBER
* CHECK STATUS SUMMARY REGISTER FOR ERRORS.
CBF5 SX5 /IOU/SSMR READ STATUS SUMMARY REGISTER
RJ GMR
NG X1,ERR42 IF STATUS SUMMARY REGISTER NOT FOUND
BX6 X6+X7
BX7 X7-X7 CLEAR EMPTY BML FILE FLAG
ZR X6,CBF2 IF NO ERRORS FOR ELEMENT
SA7 EB
SA1 BFMB+3
SA2 CBFD GET MESSAGE ID AND SYMPTOM CODE
MX0 -36
BX1 -X0*X1 SET MESSAGE ID/SYMPTOM CODE IN HEADER
BX6 X1+X2
SA6 A1
* PROCESS MAINTENANCE REGISTER LIST.
CBF6 SB6 48 SET OVERFLOW SHIFT COUNT
SX6 B0+ CLEAR UPPER REGISTER BITS WORD
SA6 CBFF
CBF7 SA1 CBFC INCREMENT REGISTER LIST ADDRESS
SX6 X1+B1
SA6 A1
SA2 X6+ GET NEXT REGISTER
ZR X2,CBF8 IF END OF REGISTERS
SA4 CBFB CREATE MODEL NUMBER MASK
SX1 B1+
SB2 X4
LX4 X1,B2
LX4 34 POSITION MASK
BX3 X2*X4
ZR X3,CBF7 IF NOT FOR THIS MODEL
MX0 9
BX5 X0*X2 GET REGISTER NUMBER
LX5 9
RJ GMR GET MAINTENANCE REGISTER
NG X1,CBF7 IF MAINTENANCE REGISTER NOT FOUND
LX6 8
BX6 X1+X6 UPPER REGISTER BITS/REGISTER NUMBER
SA3 CBFF UPDATE UPPER REGISTER BITS WORD
LX6 B6
BX6 X3+X6
SA6 A3
SB6 B6-12 DECREMENT OVERFLOW SHIFT COUNT
BX5 X7
RJ SMR STORE MAINTENANCE REGISTER
GT B6,CBF7 IF OVERFLOW WORD NOT FULL
SA5 CBFF
RJ SMR STORE OVERFLOW WORD
EQ CBF6 PROCESS NEXT REGISTER
CBF8 RJ TBM TERMINATE BML MESSAGE
SA1 NR CHECK NEXT RECORD INDEX
ZR X1,CBF2 IF NO SECOND RECORD
SA1 CBFA
SX6 X1-1
SA6 A1
EQ CBF2 PROCESS SECOND RECORD
CBF9 SA1 EB
NZ X1,CBFX IF EMPTY BML FILE
WRITER B,R
SETFS X2,0 CLEAR OUTPUT FILE STATUS
EQ CBFX RETURN
CBFA DATA 0 *MRET* INDEX
CBFB DATA 0 MODEL NUMBER
CBFC CON 0,0 MAINTENANCE REGISTER LIST ADDRESS
CBFD EQU CBFC+1 MESSAGE ID-S AND SYMPTOM CODES
CBFF DATA 0 UPPER REGISTER BITS WORD
CBFH CON 0 NUMBER OF M/R BUFFERS
CBFI CON 0 ADDRESS OF FIRST CONTROL WORD
CBFJ CON 0 LENGTH OF M/R BUFFER
CBFK CON 0 ADDRESS OF DFT CONTROL WORD
CBFL CON 0 FWA OF M/R BUFFERS
CBFM CON 0 FWA OF MODEL DEPENDENT BUFFERS
CBFN CON 0 FWA OF SUPPORTIVE STATUS BUFFERS
CBFO CON 0 DFT VERSION LEVEL
SPACE 4,10
* ERROR ELEMENT MAINTENANCE REGISTER LISTS.
IMRL BSS 0 IOU MAINTENANCE REGISTER LIST
SXREG EIMR
SXREG SSMR
SXREG OIMR
SXREG DEMR
SXREG ISTR
SXREG IFS1
SXREG IFS2
SXREG ITMR
SXREG IFSM
SXREG IOSB
SXREG OICR,,,I4A
SXREG ECCR,,,I4A
SXREG SRCR,,,I4A
SXREG F1CR,,,I4A
SXREG F2CR,,,I4A
SXREG TMCR,,,I4A
SXREG FMCR,,,I4A
SXREG OBCR,,,I4A
SXREG C0CR,,,I4A+I4S
SXREG C1CR,,,I4A+I4S
SXREG C2CR,,,I4A+I4S
SXREG C3CR,,,I4A+I4S
SXREG C4CR,,,I4A
SXREG C5CR,,,I4A
SXREG C6CR,,,I4A
SXREG C7CR,,,I4A
SXREG C8CR,,,I4A
SXREG C9CR,,,I4A
CON 0
MMRL BSS 0 MEMORY MAINTENANCE REGISTER LIST
SXREG EIMR
SXREG SSMR
SXREG OIMR
SXREG ECMR
SXREG MCEL
SXREG MCEL+1,,,THETA
SXREG MCEL+2,,,THETA
SXREG MCEL+3,,,THETA
SXREG MUL1
SXREG MUL1+1,,,THETA
SXREG MUL1+2,,,THETA
SXREG MUL1+3,,,THETA
SXREG MUL2,,,S1+S2+S3
SXREG MBRG
CON 0
PMRL BSS 0 PROCESSOR MAINTENANCE REGISTER LIST
SXREG EIMR
SXREG SSMR
SXREG OIMR
SXREG DEMR
SXREG PMCL,,,S1
SXREG PCCL,,,S2
SXREG PRCL,,,S1+S2
SXREG PUCS,,,S1
SXREG PPFS
SXREG PPFS+1
SXREG PPFS+2,,,S3+THETA
SXREG PPFS+3,,,S3+THETA
SXREG PPFS+4,,,S3+THETA
SXREG PPFS+5,,,S3+THETA
SXREG PPFS+6,,,S3+THETA
SXREG PPFS+7,,,S3+THETA
SXREG PPFS+8,,,S3+THETA
SXREG PPFS+9,,,S3+THETA
SXREG PPFS+10,,,THETA
SXREG PPFS+11,,,THETA
SXREG PPFS+12,,,THETA
SXREG PPFS+13,,,THETA
SXREG PPFS+14,,,THETA
SXREG PPFS+15,,,THETA
MRET SPACE 4,10
** MRET - MAINTENANCE REGISTER ERROR ELEMENTS TABLE.
*
*T,MRET 12/ MSGID, 12/ SYM, 18/ RL, 18/ RID
*
* MSGID = MESSAGE IDENTIFIER.
* SYM = SYMPTOM CODE.
* RL = LIST OF REGISTERS TO PROCESS.
* RID = ADDRESS OF RECORD ID WORD.
MRET BSS 0 MAINTENANCE REGISTER ERROR ELEMENTS TABLE
VFD 12/HM0250,12/HS1002,18/PMRL-1,18/.PMR
VFD 12/HM0250,12/HS0402,18/MMRL-1,18/.MMR
VFD 12/HM0250,12/HS0002,18/IMRL-1,18/.IMR
CON 0 END OF ELEMENT LIST
DRA SPACE 4,10
** DRA - DERIVE R-FORMAT ADDRESS.
*
* ENTRY (X3) = R-FORMAT ADDRESS.
*
* EXIT (X6) = UNFORMATTED ADDRESS.
* (X7) = LENGTH OF BUFFER.
*
* USES X - 0, 2, 3, 6, 7.
DRA SUBR ENTRY/EXIT
MX0 -12
BX7 -X0*X3 LENGTH OF BUFFER
AX3 16
BX2 -X0*X3 R-LOWER
AX3 16
BX6 -X0*X3 R-UPPER
LX6 12
BX6 X2+X6
AX3 16
BX2 -X0*X3 OFFSET
LX6 6
BX6 X2+X6
EQ DRAX RETURN
FOM SPACE 4,10
** FOM - FIND OLDEST M/R ENTRY.
*
* ENTRY (CBFI) = ADDRESS OF M/R CONTROL WORD.
* (CBFH) = NUMBER OF M/R ENTRIES.
*
* EXIT (B3) = OFFSET OF OLDEST M/R ENTRY.
* (X7) = DFT ANALYSIS CODE.
* (PBLD) .NE. 0 IF MDB DATA PRESENT.
*
* USES X - 0, 1, 2, 3, 4, 6, 7.
* A - 1, 2, 3, 7.
* B - 2, 3.
FOM SUBR ENTRY/EXIT
SB3 B0 OFFSET OF OLDEST ENTRY
BX4 X4-X4 OLDEST SEQUENCE NUMBER
SA1 CBFH
SA2 CBFI ADDRESS OF FIRST M/R CONTROL WORD
SB2 X1+ NUMBER OF ENTRIES TO CHECK
FOM1 SB2 B2-B1 DECREMENT COUNTER FOR M/R ENTRIES
ZR B2,FOMX IF ALL ENTRIES PROCESSED
SA3 X2+B2 GET NEXT M/R CONTROL WORD
MX0 -8
LX3 0-16
BX0 -X0*X3 GET M/R FLAGS
LX0 59-/DFT/MRLG
PL X0,FOM1 IF NO DATA TO LOG
LX0 59-/DFT/MRIL-59+/DFT/MRLG
NG X0,FOM1 IF ENTRY INTERLOCKED
LX3 0-32-0+16
MX0 -12 GET DFT ANALYSIS CODE
BX1 -X0*X3
SX0 X1-3400B
PL X0,FOM1 IF TO IGNORE THIS ENTRY
MX0 -8 GET SEQUENCE NUMBER
LX3 0-24-0+32
BX6 -X0*X3
ZR B3,FOM3 IF NO ENTRY SELECTED YET
IX0 X4-X6 COMPARE OLDEST WITH CURRENT
PL X0,FOM2 IF LOWER THAN PREVIOUS OLDEST
SX0 X0+40B
NG X0,FOM3 IF WRAP AROUND
EQ FOM1 PROCESS NEXT ENTRY
FOM2 SX0 X0-40B
PL X0,FOM1 IF NOT EARLIER ENTRY
FOM3 SB3 B2 UPDATE OLDEST ENTRY OFFSET
LX3 0-22-0+24 GET MDB FLAG
BX4 X6 SEQUENCE NUMBER
BX7 X1 SAVE DFT ANALYSIS CODE
SA7 FOMA
MX0 -1
BX7 -X0*X3
SA7 PBLD
EQ FOM1 PROCESS NEXT ENTRY
FOMA CON 0 DFT ANALYSIS CODE
GMR SPACE 4,15
** GMR - GET MAINTENANCE REGISTER.
*
* ENTRY (X5) = REGISTER NUMBER.
*
* EXIT (X1) = REGISTER NUMBER IF FOUND.
* .LT. 0 IF REGISTER NOT FOUND.
* (X6) = LOWER 4 BITS OF REGISTER (BITS 60-63).
* (X7) = UPPER 60 BITS OF REGISTER (BITS 0-59).
*
* USES X - 2, 3, 6, 7.
* A - 6.
*
* CALLS SFR.
GMR SUBR ENTRY/EXIT
RJ SFR
BX2 X6 REPOSITION BITS
MX3 -4
BX6 -X3*X7 (X6) = BITS 60-63
BX7 X3*X7 CLEAR LOWER BITS
BX7 X2+X7 ADD UPPER BITS
LX7 -4 (X7) = BITS 0-59
EQ GMRX RETURN
LMB SPACE 4,15
** LMB - LOCATE M/R BUFFER.
*
* ENTRY (B3) = OFFSET OF M/R CONTROL WORD.
* (FOMA) = DFT ANALYSIS CODE.
* (CBFI) = FIRST M/R CONTROL WORD ADDRESS.
* (CBFL) = FWA OF M/R BUFFERS.
*
* EXIT POSITIONED TO CORRECT BYTE FOR ROUTINE *NXB*.
* M/R BUFFER CONTROL WORD CLEARED.
*
* USES X - 0, 1, 2, 3, 4, 6, 7.
* A - 1, 2, 3, 4, 6, 7.
*
* CALLS FBP, SCM.
LMB SUBR ENTRY /EXIT
SA1 BFMB+3 SET ANALYSIS CODE INTO BML
MX0 48
LX0 36-0
BX1 X0*X1 CLEAR OLD SYMPTOM CODE
SA2 FOMA DFT ANALYSIS CODE
LX2 36-0
BX7 X1+X2
SA7 A1
SA3 CBFI GET OFFSET TO M/R BUFFER
SA4 X3+B3 M/R BUFFER CONTROL WORD
MX0 -16
BX3 -X0*X4 OFFSET INTO M/R BUFFERS
BX6 X6-X6 CLEAR M/R CONTROL WORD
SA6 A4
SA2 CBFL FWA OF M/R BUFFERS
IX3 X2+X3 LOCATION OF M/R BUFFER
LX3 2 BYTE POSITION OF M/R BUFFER
RJ SCM SET CENTRAL MEMORY
SA7 RI
RJ FBP FIND BYTE POSITION
EQ LMBX RETURN
PBH SPACE 4,10
** PBH - PROCESS BML HEADER.
*
* EXIT (B7) = NUMBER OF REGISTERS TO PROCESS.
* (CBFF) = BML REGISTER NUMBERS ENTERED.
*
* USES X - 1, 3, 6.
* A - 3, 6.
* B - 6, 7.
*
* CALLS NXB.
PBH SUBR ENTRY/EXIT
SB6 48 SHIFT COUNT
SB7 B0+ INITIALIZE REGISTER COUNT
PBH1 RJ NXB READ NEXT BYTE
NZ X1,PBH2 IF REGISTER PRESENT
SA3 PBHA
NZ X3,PBH3 IF NOT STATUS SUMMARY
MX6 1 SET STATUS SUMMARY FLAG
SA6 A3
PBH2 LX1 B6 SHIFT REGISTER NUMBER TO PROPER LOCATION
SA3 CBFF UPDATE BML REGISTER WORD
BX6 X3+X1
SA6 A3
SB7 B7+B1 INCREMENT REGISTER COUNT
PBH3 SB6 B6-12 UPDATE SHIFT COUNT
NZ B6,PBH1 IF NOT COMPLETE
EQ PBHX RETURN
PBHA CON 0 SUMMARY STATUS FLAG
PBL SPACE 4,15
** PBL - PROCESS BML.
*
* ENTRY (CBFJ) = REGISTERS LEFT TO PROCESS.
* (FOMA) = DFT ANALYSIS CODE.
*
* EXIT BML FILE WRITTEN.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 6, 7.
* B - 6, 7.
*
* CALLS DRA, FBP, NXB, PBH, PBR, SMR, SMS.
* PROCESS SSB DATA.
PBL7 SA1 CBFO
SX1 X1-4
NG X1,PBLX IF NOT DFT VERSION 4 OR ABOVE
SX1 B1 SET BIT 54 IN SECOND WORD OF BML MESSAGE
LX1 54-0
SA2 BFMB+4
BX7 X1+X2
SA7 A2
SA1 CBFN SSB FWA
SA2 F.TCMT
IX2 X1+X2
SA2 X2
MX0 -16
BX6 -X0*X2 BUFFER LENGTH
SX1 X1+B1 FWA OF BUFFER DATA
SA3 PBLB MRB/SSB ORDINAL
IX2 X3*X6 OFFSET INTO BUFFER
IX3 X2+X1 FWA OF BLOCK
LX3 2 CONVERT TO BYTE NUMBER
RJ FBP POSITION TO HEADER WORD
RJ NXB
RJ NXB
SB7 X1 NUMBER OF REGISTERS TO PROCESS
RJ NXB
SA2 PBLD
BX6 X6-X6
MX0 -8
ZR X2,PBL8 IF NO MODEL DEPENDENT DATA
BX2 -X0*X1 GET MDB ORDINAL
AX1 8
NZ X1,PBL8 IF NOT VALID DATA
SX6 X2+1 SET ORDINAL+1 (ENSURE NON-ZERO VALUE)
PBL8 SA6 A2+ SET/CLEAR MDB FLAG
RJ NXB
PBL9 SB6 56 INITIALIZE OVERFLOW POSITION
RJ PBR PROCESS AND STORE BML REGISTERS
PL X6,PBL9 IF MORE REGISTERS
* PROCESS MDB DATA.
SA3 PBLD
ZR X3,PBLX IF NO MODEL DEPENDENT DATA
SX7 BFBDAL SET DATA BLOCK LENGTH
SA7 PBLC+0
SX6 4 SET OVERFLOW SHIFT COUNT DECREMENT AMOUNT
SA6 A7+B1
SX1 B1 SET BIT 55 IN BML HEADER
LX1 55-0
SA2 BFMB+4
BX6 X1+X2
SA6 A2
SX6 X7+BFHL-1 SET MDB MESSAGE SIZE
RJ SMS
SA1 CBFM CALCULATE MDB FWA
SX3 X3-1 GET MDB ORDINAL
IX3 X3+X1
SA3 X3
RJ DRA
LX6 2 CONVERT TO BYTE ADDRESS
SX3 X6+3 ADVANCE TO BYTE 3 OF HEADER WORD
RJ FBP
RJ NXB GET DATA BLOCK LENGTH
SB7 X1-1
PBL10 SB6 56 INITIALIZE SHIFT COUNT
RJ PBR PROCESS BLOCK OF REGISTERS
PL X6,PBL10 IF MORE TO PROCESS
PBL SUBR ENTRY/EXIT
SA1 CBFJ NUMBER OF REGISTERS TO PROCESS
BX7 X1
SA7 PBLA
PBL1 SX7 B0+
SA7 EB SET BML ERRORS PRESENT FLAG
PBL2 SA1 PBLA CHECK ENTRIES LEFT TO PROCESS
ZR X1,PBL7 IF ALL ENTRIES PROCESSED
SX6 X1-5 DECREMENT ENTRY COUNT
SA6 A1+
NZ X6,PBL5 IF NOT LAST BLOCK
SA2 FOMA DFT ANALYSIS CODE
* PROCESSING FOR LAST BLOCK OF REPAIRED/UNREPAIRED ERRORS.
SA1 TM9E CHECK FOR SPECIAL MODEL 990 ERRORS
PBL3 ZR X1,PBL5 IF NOT SPECIAL ERROR
IX3 X2-X1
SA1 A1+B1
NZ X3,PBL3 IF NO MATCH
SB7 48 INITIALIZE SHIFT POSITION
RJ NXB
MX0 -12
BX5 -X0*X1 DO NOT SAVE UPPER 4 BITS
LX5 B7 POSITION BYTE IN REGISTER SAVE AREA
PBL4 SB7 B7-16 DECREMENT SHIFT POSITION
RJ NXB
LX1 B7 POSITION BYTE
BX5 X1+X5
NZ B7,PBL4 IF NOT COMPLETE
RJ SMR STORE MAINTENANCE REGISTER
SB7 4 INITIALIZE REGISTER COUNT
EQ PBL6 CONTINUE PROCESSING BML REGISTERS
PBL5 RJ PBH PROCESS BML HEADER REGISTERS
PBL6 SB6 56 INITIALIZE OVERFLOW POSITION
RJ PBR PROCESS AND STORE BML REGISTERS
NG X6,PBL7 IF THROUGH PROCESSING
EQ PBL1 CONTINUE PROCESSING
PBLA CON 0 REGISTERS LEFT TO PROCESS
PBLB CON 0 MRB/SSB ORDINAL
PBLC CON BFBDL DATA BLOCK LENGTH
CON 12 SHIFT COUNT
PBLD CON 0 MODEL DEPENDENT DATA BUFFER FLAG
** TM9E - TABLE OF MODEL 990 SPECIAL ERRORS.
TM9E BSS 0
CON 0#206 REPAIRED ERROR
CON 0#207 UNREPAIRED ERROR
CON 0#205 RETRY IN PROGRESS
CON 0#21B RETRY CONVERTED TO UNCORRECTED ERROR
CON 0#21C RETRY EXHAUSTED
CON 0#21D RETRY EXHAUSTED
CON 0
PBR SPACE 4,10
* PBR - PROCESS AND STORE BLOCK OF BML REGISTERS.
*
* EXIT (X6) = NEGATIVE IF *TBM* CALLED.
*
* USES X - 0, 1, 2, 3, 5, 6.
* A - 0, 3, 5, 6.
* B - 4, 6, 7.
*
* CALLS NXB, SMR, TBM.
PBR3 RJ TBM TERMINATE BML MESSAGE
SX6 -1
PBR SUBR ENTRY/EXIT
PBR1 ZR B7,PBR3 IF NO MORE REGISTERS
SX5 B0+ INITIALIZE BML SAVE AREA
SB4 44 INITIALIZE SHIFT COUNT FOR REGISTERS
PBR2 SA0 B4+
RJ NXB GET NEXT BYTE
SB4 A0+
LX1 B4 CORRECTLY POSITION REGISTER
BX5 X1+X5
SB4 B4-16 DECREMENT SHIFT COUNT
PL B4,PBR2 IF NOT COMPLETE
RJ NXB GET LAST BYTE
MX0 -4 GET LOWER 4 BITS
BX2 -X0*X1
AX1 4
BX5 X1+X5
LX2 B6
SA3 PBLC+1 UPDATE OVERFLOW SHIFT COUNT
SB4 X3
SB6 B6-B4
SA3 CBFF UPDATE BML OVERFLOW WORD
BX6 X2+X3
SA6 A3
SB7 B7-B1 DECREMENT REGISTER COUNT
RJ SMR STORE REGISTER
ZR B6,PBR1 IF ONE MORE SPOT IN MDB OVERFLOW WORD
SA3 PBLC+1
SB4 X3
SB4 B6-B4
PL B4,PBR1 IF OVERFLOW WORD NOT FULL
SA5 CBFF STORE OVERFLOW WORD
RJ SMR
BX6 X6-X6 CLEAR OVERFLOW WORD
SA6 A5
EQ PBRX RETURN
RDB SPACE 4,10
** RDB - RESET DATA BLOCK.
*
* EXIT (BFBI) = 0.
* (BFBD - BFBD+BFBDL) = 0.
*
* USES X - 1, 7.
* A - 1, 7.
* B - 2.
RDB SUBR ENTRY/EXIT
BX7 X7-X7 RESET DATA BLOCK INDEX
SA1 PBLC+0
SB2 X1
SA7 BFBI
RDB1 SB2 B2-1
SA7 BFBD+B2
NZ B2,RDB1 IF NOT END OF BLOCK
EQ RDBX RETURN
SMR SPACE 4,15
** SMR - STORE MAINTENANCE REGISTER.
*
* ENTRY (X5) = WORD TO STORE.
*
* EXIT (BFBI) = (BFBI) + 1.
* (B6) PRESERVED.
* (B7) PRESERVED.
* IF THE DATA BLOCK IS FULL, THE CURRENT MESSAGE BLOCK
* IS WRITTEN TO THE BML FILE AND (X5) IS STORED IN A
* NEW MESSAGE BLOCK.
*
* USES X - 0, 1, 2, 6, 7.
* A - 1, 2, 6, 7.
* B - 6, 7.
*
* CALLS RDB.
*
* MACROS WRITEW.
SMR SUBR ENTRY/EXIT
SA1 BFBI GET DATA BLOCK INDEX
SA2 PBLC+0 DATA BLOCK LENGTH
IX6 X1-X2
NZ X6,SMR1 IF NOT END OF DATA BLOCK
* FLUSH DATA BLOCK.
SX6 B6 SAVE B6, B7
LX6 18
SX7 B7
BX7 X6+X7
SA7 SMRA
SX2 X2+BFHL
WRITEW B,BFMB,X2
SA1 SMRA RESTORE
SB7 X1
AX1 18
SB6 X1
RJ RDB RESET DATA BLOCK
SA1 BFMB SET PREVIOUS BLOCK LENGTH
SA2 PBLC+0
SX6 X2+BFHL
MX0 18
LX6 24
LX0 -18
BX1 -X0*X1
BX6 X1+X6
SA6 A1
SA1 BFMB+4 SET *NOT FIRST BLOCK* FLAG
MX0 1
LX0 39-59
BX6 X0+X1
SA6 A1
SA1 BFBI GET DATA BLOCK INDEX
SMR1 BX7 X5 STORE REGISTER CONTENTS
SA7 BFBD+X1
SX6 X1+B1 ADVANCE DATA BLOCK INDEX
SA6 A1
EQ SMRX RETURN
SMRA CON 0 REGISTER SAVE WORD
SMS SPACE 4,10
** SMS - SET MESSAGE SIZE IN BML HEADER.
*
* ENTRY - (X6) = CURRENT MESSAGE SIZE TO SET.
*
* EXIT CURRENT MESSAGE SIZE FIELDS SET IN BML HEADER WORDS
* 0 AND 1.
*
* USES X - 0, 1, 6, 7.
* A - 1, 7.
SMS SUBR ENTRY/EXIT
SA1 BFMB SET HEADER WORD ONE
MX0 -12
BX1 X0*X1
BX7 X1+X6
SA7 A1
LX6 59-11 POSITION SIZE
LX0 59-11
SA1 A1+B1 SET HEADER WORD TWO
BX1 X0*X1
BX7 X1+X6
SA7 A1
EQ SMSX RETURN
TBM SPACE 4,10
** TBM - TERMINATE BML MESSAGE.
*
* ENTRY (CBFF) = REGISTER BML WORD.
* (PBLC+1) = AMOUNT TO DECREMENT OVERFLOW SHIFT COUNT.
* (B6) = OVERFLOW SHIFT COUNT.
*
* EXIT BML BUFFER FLUSHED.
* CONTINUATION BIT RESET.
*
* USES X - 0, 1, 5, 6, 7.
* A - 1, 5, 6, 7.
* B - 2, 6, 7.
*
* CALLS RDB, SMR, SMS.
*
* MACROS WRITEW.
TBM SUBR ENTRY/EXIT.
SB2 B6-56
ZR B2,TBM2 IF OVERFLOW WORD WRITTEN
SA1 PBLC+1 GET SHIFT COUNT
SB7 X1
SB6 B6-B7
TBM1 BX5 X5-X5 WRITE ZERO WORD
SB6 B6-B7
RJ SMR
GT B6,TBM1 IF NOT THROUGH WITH BLOCK
SA5 CBFF STORE OVERFLOW WORD
BX6 X6-X6 CLEAR OVERFLOW WORD
SA6 A5
RJ SMR
TBM2 SX0 B1 CLEAR CONTINUATION BIT
LX0 38-0
SA1 BFMB+4
BX7 -X0*X1
SA7 A1
* FLUSH MESSAGE BLOCK AND RESET HEADER.
SA1 PBLC+0
SX1 X1+BFHL
WRITEW B,BFMB,X1 WRITE LAST BLOCK OF MESSAGE
RJ RDB RESET DATA BLOCK
SA1 BFMB+4
MX0 2
LX0 55-59 CLEAR MESSAGE CONTENT FLAGS
BX1 -X0*X1
LX0 39-59-55+59 SET CONTINUATION/CLEAR *NOT FIRST BLOCK*
BX7 X0-X1
SA7 A1
SX6 BFMBL RESET CURRENT MESSAGE SIZE
RJ SMS
SX6 BFBDL RESET BML MESSAGE SIZE
SA6 PBLC+0
SX7 12 RESET OVERFLOW SHIFT COUNT
SA7 A6+1
EQ TBMX RETURN
TITLE SUBROUTINES.
APP SPACE 4,7
** APP - ANALYZE PPU.
*
* ENTRY PP = PPU NUMBER.
*
* USES ALL REGISTERS.
*
* CALLS COD, CPN, CPS, DPQ, FEM, FLC, FON, FPL, FPO, GPS, ICT,
* PPO, RPD, SFN, SLP, SSB, UPS.
*
* MACROS PRINT.
APP SUBR
RJ PPO PACK PP OPERATING REGISTERS
SA6 APPH SAVE REGISTER DATA FOUND FLAG
RJ RPD READ PP DATA
SX6 B0+ CLEAR DUMPING PP SAVE AREA DATA FLAG
APP1 SA6 APPF
RJ ICT INITIALIZE CHANNEL TABLE
SA2 EF CHECK AUTO EJECT FLAG
SX1 100 PRESET FOR EJECT
ZR X2,APP2 IF AUTO EJECT ON
SX1 26
APP2 RJ CPS CHECK PAGE SPACE
PRINT (=2C )
SA1 BPNA+1
SA2 =6R, AFTE
BX6 X1
BX7 X1+X2
SA6 APPA+2 SET NAME IN HEADER
SA7 APPB+2
SA2 APPF
ZR X2,APP3 IF NOT DUMPING PP SAVE AREA DATA
SA1 GPSB GET ADDRESS OF PP SAVE BUFFER
RJ COD CONVERT SAVE BUFFER ADDRESS
MX6 48 ENSURE END OF LINE
BX6 X6*X4
BX1 X4
SA6 APPB+7
APP3 SA0 A6+2 SET LOGICAL PP IN MESSAGE
RJ SLP
ZR X6,APP4 IF NO PP SWITCH
RJ SFN SPACE FILL NAME
SA6 A6+ SET SPACE FILLED NAME IN HEADER
APP4 SA1 A6+3 GET FWA OF HEADER
PRINT X1 PRINT HEADER
PRINT (=2C )
RJ SSB CLEAR PRINT STRING
SA3 F.TCMT
SA4 PC GET PP COMMUNICATION AREA POINTER
IX4 X3+X4 ADDRESS OF PP COMMUNICATION AREA
RJ CPN CONVERT PP/CPP NUMBER
LX6 3
IX5 X6+X4
SA5 X5 READ SELECTED INPUT REGISTER
SX6 B0 PRESET LINE INDEX
* FORMAT I/O REGISTERS AND OVERLAY NAMES.
APP7 SA2 PP RELOAD PP NUMBER
SA6 APPE SAVE LINE INDEX
SB4 X6
SB2 X2 SET PPU NUMBER
SB7 PRBF+5 PRINT STRING ADDRESS
RJ FPL FORMAT PPU REGISTER LINE
SB7 PRBF+60
RJ FON FORMAT OVERLAY NAME
PRINT CCCH,B7-CCCH
SA1 APPE
SA2 APPF
SA5 A5+B1 READ NEXT REGISTER WORD
SX6 X1+B1 ADVANCE LINE INDEX
SB4 X6-10B
ZR X2,APP8 IF NOT DUMPING PP SAVE AREA DATA
SA5 X1+1+PSAV GET REGISTER FROM SAVE AREA
APP8 NG B4,APP7 IF MORE TO FORMAT
* FORMAT ENTRY POINT MAP, LOW CORE ANALYSIS AND OPERATING
* REGISTERS.
PRINT (=2C )
RJ SSB
SB7 PRBF PRINT HEADERS
SB6 57
SA2 APPC
RJ UPS
SA5 APPH
ZR X5,APP8.1 IF NO PP REGISTERS
SB7 PRBF+88
SB6 20
SA2 =C*OPERATING REGISTERS*
RJ UPS
APP8.1 PRINT CCCH,B7-CCCH
RJ SSB
SB7 PRBF
SB6 61
SA2 APPD
RJ UPS
ZR X5,APP8.2 IF NO PP REGISTERS
SB7 PRBF+93
SB6 25
SA2 =C*P Q K A*
RJ UPS
APP8.2 PRINT CCCH,B7-CCCH
SX5 0 PRESET LINE INDEX
PRINT (=2C )
APP9 RJ SSB CLEAR PRINT STRING
RJ FEM FORMAT ENTRY POINT
RJ FLC FORMAT LOW CORE ANALYSIS LINE
SB7 PRBF+76
RJ FPO FORMAT OPERATING REGISTERS LINE
PRINT CCCH,B7-CCCH
SX5 X5+1 ADVANCE LINE INDEX
SX6 X5-10
SA1 CE
ZR X1,APP10 IF CME NOT PRESENT
SX6 X6-1 COUNT R-REGISTER LINE
APP10 NG X6,APP9 IF MORE LINES TO FORMAT
* DUMP MEMORY IN *Q* FORMAT.
PRINT (=2C )
PRINT (=C* PPU MEMORY*)
PRINT (=2C )
SX6 B1+
SA6 APPG SET *PBUF*-DEFINED TO TRUE
RJ DPQ DUMP PPU MEMORY
SA3 APPF
NZ X3,APP11 IF DUMPING PP SAVE AREA DATA
RJ GPS GET PP SAVE AREA DATA
SX6 1 SET DUMPING PP SAVE AREA DATA FLAG
NZ X5,APP1 IF PP FOUND IN PP SAVE AREA
APP11 SX6 B0+
SA6 APPF CLEAR DUMPING PP SAVE AREA DATA FLAG
SA6 APPG CLEAR *PBUF*-VALID
JP APPX EXIT
APPA DATA C* ANALYSIS OF PPXX (LOGICAL PPYY)*
CON APPA
APPB DATA 50H RE-ANALYSIS OF PPXX, AFTER RESTORING IT FROM
DATA C*THE PP SAVE AREA AT 000000. (LOGICAL PPYY)*
CON APPB
APPC DATA 50H RESIDENT ENTRY POINTS LOW CORE CON
DATA C*STANTS*
APPD DATA 50H NAME LOC CALLER NAME LOC ACTUA
DATA C*L EXPECTED*
APPE BSS 1 LINE INDEX
APPF CON 0 DUMPING PP SAVE AREA DATA FLAG
APPG CON 0 PP DATA IN *PBUF* FLAG
APPH CON 0 PP REGISTER DATA FLAG
ASD SPACE 4,12
** ASD - ASSEMBLE DIGITS.
*
* ENTRY (B7) = 0, IF OCTAL BASE.
* = NONZERO, IF DECIMAL BASE.
* (CH) = STRING POINTER.
*
* EXIT (X4) = NONZERO, IF CONVERSION ERROR.
* (X6) = CONVERTED DIGITS.
* (B6) = 0, IF AT END OF DIRECTIVE.
* = NONZERO, IF DIGITS PROCESSED.
*
* USES X - 5.
*
* CALLS ASN, DXB.
ASD SUBR ENTRY/EXIT
RJ ASN ASSEMBLE NAME
BX5 X6
RJ DXB CONVERT DISPLAY CODE TO BINARY
EQ ASDX RETURN
ASN SPACE 4,15
** ASN - ASSEMBLE NAME.
* ASSEMBLES UP TO A 10-CHARACTER NAME TO A SEPARATOR.
* LEADING SPACES ARE IGNORED.
*
* ENTRY (CH) = STRING POINTER.
*
* EXIT (X6) = NAME, LEFT-JUSTIFIED AND ZERO-FILLED.
* = 0, IF NULL PARAMETER.
* (B6) = 0, IF AT END OF DIRECTIVE.
* .LT.0, IF SHIFT COUNT TO RIGHT-JUSTIFY.
* .GT.0, IF NULL PARAMETER.
*
* ERROR TO *ERR33*, IF PARAMETER MORE THAN 10 CHARACTERS.
*
* USES X - 1, 6, 7.
* A - 1, 7.
* B - 6.
ASN3 SX7 A1+ STORE ADDRESS OF LAST PARAMETER
SA7 CH
LX6 B6 LEFT-JUSTIFY PARAMETER
ZR X6,ASNX IF NULL PARAMETER
ASN4 SB6 B6-60 CLEAR IF END OF DIRECTIVE
ASN SUBR ENTRY/EXIT
SB6 60 PRESET SHIFT COUNT
SX6 0 PRESET ASSEMBLED NAME
SA1 CH GET FIRST CHARACTER
SA1 X1+
SX7 X1-1R/
NG X7,ASN2 IF FIRST CHARACTER NOT SEPARATOR
SX7 X1-1R.
ZR X7,ASN4 IF END OF DIRECTIVE
ASN1 SA1 A1+1 GET NEXT CHARACTER
ASN2 SX7 X1-1R
ZR X7,ASN1 IF SPACING WITHIN DIRECTIVE
SX7 X1-1R/
PL X7,ASN3 IF END OF PARAMETER
SB6 B6-6
NG B6,ERR33 IF MORE THAN 10 CHARACTERS READ
LX6 6 STORE CHARACTER
BX6 X6+X1
EQ ASN1 GET NEXT CHARACTER
ASP SPACE 4,27
** ASP - ANALYZE SELECTED PPUS.
*
* ENTRY (A0) = RETURN ADDRESS.
* (X6) = PARAMETER BLOCK ADDRESS.
* (PC) = PP COMMUNICATION AREA POINTER.
*
* PARAMETER BLOCK FORMAT -
*
* 18/ NAME,1/ ,5/ NUMBER,1/ OT BIT,18/ ,5/ ORIGIN TYPE,12/
* SECOND ENTRY
* . .
* . .
* . .
* 60/ NEGATIVE WORD TERMINATES BLOCK
*
* NAME = 0 IF ANY ACTIVE PPU ALLOWED.
* = PPU NAME.
* NUMBER = 0 IF ANY CONTROL POINT NUMBER ALLOWED.
* = CONTROL POINT NUMBER THAT MUST MATCH THE
* CONTROL POINT NUMBER ASSOCIATED WITH THE PPU.
* OT BIT = 0 IF ANY ORIGIN TYPE ALLOWED.
* = 1 IF THE ORIGIN TYPE SPECIFIED (BITS 17-12)
* MUST MATCH THE ORIGIN TYPE OF THE CONTROL
* POINT ASSOCIATED WITH THE PPU.
*
* USES X - ALL.
* A - 1, 3, 4, 5, 6, 7.
* B - 2.
*
* CALLS APP, SCM, SPA.
ASP SX7 A0
SA7 ASPA SAVE RETURN ADDRESS
SA6 A7+B1 SAVE PARAMETER BLOCK ADDRESS
SA1 PC GET PP COMMUNICATION AREA POINTER
BX6 X1
SA6 PI SET SEARCH INDEX
ASP1 RJ SPA SELECT NEXT PPU TO ANALYZE
ZR X1,ASP6 IF NO MORE PPUS TO ANALYZE
SA5 F.TCMT
SB2 X6-10B
SA4 X5+B2 READ INPUT REGISTER
SA1 ASPB
SA5 X1-1
ASP2 SA5 A5+1 NEXT ENTRY IN TABLE
NG X5,ASP1 IF END OF TABLE
MX3 18
BX2 X5*X3
ZR X2,ASP3 IF ANY ACTIVE PPU ALLOWED
BX0 X5-X4
BX1 X0*X3
NZ X1,ASP2 IF NAMES DO NOT MATCH
ASP3 MX6 5
LX6 -19
BX1 X5*X6
ZR X1,ASP4 IF ANY CONTROL POINT NUMBER ALLOWED
BX1 X5-X4
BX1 X1*X6
NZ X1,ASP2 IF CONTROL POINT NUMBERS DO NOT MATCH
ASP4 BX2 X5
LX2 24
PL X2,ASP5 IF ANY ORIGIN TYPE ALLOWED
SA1 F.TCMT
SX7 CPLEN
BX3 X4*X6
LX3 24 CONTROL POINT NUMBER
IX3 X3*X7 CONTROL POINT AREA ADDRESS
IX3 X1+X3
SA3 X3+JOTW GET CONTROL POINT AREA ORIGIN TYPE
AX6 24
BX6 X6*X3
BX5 X6*X5 GET ORIGIN TYPE FOR TABLE ENTRY
BX5 X5-X6
NZ X5,ASP2 IF ORIGIN TYPES DO NOT MATCH
ASP5 RJ APP ANALYZE PPU
JP ASP1 CONTINUE
ASP6 RJ SCM SET CENTRAL MEMORY
SA7 RI
SA1 ASPA
SB2 X1
JP B2 RETURN
ASPA BSS 1 RETURN ADDRESS
ASPB BSS 1 PARAMETER BLOCK ADDRESS
ASX SPACE 4,15
** ASX - ASSEMBLE HEXADECIMAL DIGITS.
*
* ENTRY (CH) = STRING POINTER.
*
* EXIT (X4) = NONZERO, IF CONVERSION ERROR.
* (X6) = CONVERTED DIGITS.
* (B6) = 0, IF NO DIGITS ASSEMBLED.
* (ASXA) = NUMBER IN DISPLAY CODE,
* = 0 IF NULL PARAMETER.
*
* USES X - 4, 5.
*
* CALLS ASN, HXB.
ASX SUBR ENTRY/EXIT
SX4 1 PRESET ERROR RESPONSE
RJ ASN ASSEMBLE NAME
SA6 ASXA SAVE NAME
ZR B6,ASXX IF NO DIGITS ASSEMBLED
BX5 X6
RJ HXB CONVERT DISPLAY CODE TO HEX
EQ ASXX RETURN
ASXA CON 0 SAVE RESULT FROM *ASN*
ATC SPACE 4,13
** ATC - ASSEMBLE TRACK CHAIN.
*
* ENTRY (A0) = RETURN ADDRESS.
* (GNFA - GNFA+5) = FILE INFORMATION.
*
* EXIT TRACK LINKS STORED ONE PER WORD RIGHT JUSTIFIED
* IN TABLE *TSC1*. TABLE *TSCR* IS USED TO HOLD THE
* SELECTED TRT DURING THE ASSEMBLY PROCESS.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 0, 1, 2, 3, 5, 6.
* B - 2, 3, 4, 5.
*
* CALLS PCM.
*
* MACROS ADDWRD, ALLOC, GETCM.
ATC SUBR
SA2 GNFA+5 READ EST
MX0 -12
BX3 -X0*X2
LX3 3
SX5 X3 SAVE MST ADDRESS
SX3 X3+TRLL
RJ PCM POSITION TO MST WORD *TRLL*
GETCM
MX0 -18 SAVE FWA OF TRT
BX6 -X0*X6
SA6 ATCA
MX0 -12
SX3 X5+TDGL
RJ PCM POSITION TO TRT ADDRESS
GETCM
AX6 24
SA1 ATCA SET FWA OF TRT
SB3 X1
SA5 A0 SAVE A0
BX5 -X0*X6 TRT LENGTH
SA1 L.TSCR ALLOCATE SCRATCH TABLE SPACE
IX1 X5-X1
ALLOC TSCR,X1
SA0 X2 SAVE TABLE FWA
SX0 X3 SAVE TABLE LENGTH
SX3 B3+
RJ PCM POSITION TO TRT
GETCM A0,X0 READ TRT INTO SCRATCH TABLE
SB5 X0 RESET TABLE LENGTH
SX6 B0
SA6 L.TSC1 CLEAR LINK TABLE
SA3 GNFA+2 READ FST
MX1 -12
AX3 36
BX1 -X1*X3 EXTRACT FIRST TRACK NUMBER
ATC1 ADDWRD TSC1,X1 STORE LINK IN TABLE
SA0 A5+ RESTORE A0
SX2 X1-3777B
ZR X2,ATC2 IF LINKED TO FLAW
LX1 -12
PL X1,ATCX IF EOI REACHED
LX1 12
MX0 -11
BX1 -X0*X1 CLEAR LINKED FLAG
MX2 -2
BX2 -X2*X1 BYTE INDEX
AX1 2 TRT WORD ORDINAL
SB3 X1
GE B3,B5,ATC2 IF LINK BEYOND END OF TRT
SB2 X2
SX3 12
IX3 X2*X3
SB4 X3 SHIFT COUNT
SA2 F.TSCR
IX2 X1+X2
SA1 X2 READ TRT WORD
SX5 10B
AX5 X5,B2
BX4 X5*X1 CHECK RESERVATION
ZR X4,ATC2 IF TRACK NOT RESERVED OR ALREADY LINKED
BX6 -X5*X1 CLEAR RESERVATION
SA6 A1 UPDATE TRT
MX0 12
LX1 X1,B4 POSITION TRT WORD
BX1 X0*X1 EXTRACT NEXT LINK
LX1 12
JP ATC1 ADD TO TABLE
ATC2 SX1 -=C* INCORRECT TRACK LINKAGE*
ADDWRD TSC1,X1 SET ERROR FLAG
SA0 A5 RESTORE A0
JP ATCX EXIT
ATCA CON 0 FWA OF TRT
BCP SPACE 4,9
** BCP - BEGIN CONTROL POINT DUMP.
*
* ENTRY (CH) = DIRECTIVE CARD STRING POINTER.
*
* EXIT (PI) = *TCMT* TABLE INDEX FOR ACTIVE CP SEARCH.
* = 0, IF CONTROL POINT NUMBERS ON DIRECTIVE CARD.
*
* USES X - 1, 6.
* A - 1, 6.
BCP SUBR
SX6 0
SA6 PI PRESET SEARCH INDEX
SA1 CH CHECK LAST SEPARATOR
SA1 X1+
SX1 X1-1R.
NZ X1,BCPX IF NUMBERS SPECIFIED ON DIRECTIVE CARD
SA1 FW CPA/PCPA FWA - CPLEN
SX6 X1+TFSW
SA6 PI PRESET CP AREA SEARCH INDEX
JP BCPX EXIT
BPN SPACE 4,15
** BPN - BUILD PPU NAME.
*
* ENTRY (PP) = PPU NUMBER.
* (IC) = *CPP* RECORD PROCESSING FLAG.
* (IPDA) = PPU/FLPP RECORD FLAG.
*
* EXIT (X0) = MASK FOR PP/CPP/FLPP RECORD SEARCH.
* (X3) = PP NUMBER IN DISPLAY CODE MINUS 3333B.
* (X6) = (BPNA+1) = PP HEADER NAME IN FORM *CPPNN*,
* *PPNN*, OR *FPNN*, LEFT JUSTIFIED.
* (X7) = (BPNA) = PP RECORD NAME IN FORM *DNN*, *PPNN*,
* OR *FPNN*, LEFT JUSTIFIED.
*
* USES X - 0, 1, 2, 3, 6, 7.
* A - 1, 2, 6, 7.
BPN SUBR
SA1 PP
SX2 707B
BX3 X1
LX3 3
BX3 X3+X1
BX3 X3*X2
SA1 IC
LX3 47-11
SA2 IPDA
ZR X1,BPN1 IF NOT CPP
SA1 BPNB
SA2 .CPP GET CPP RECORD ID
IX6 X1+X3
LX6 -6
JP BPN2 SET IN HEADER
BPN1 SA2 .NPP+X2 GET RECORD ID
NO
IX6 X3+X2
BPN2 IX7 X3+X2
LX3 11-47
SA6 BPNA+1 SET PP HEADER NAME
SA7 A6-B1
MX0 24
JP BPNX EXIT
BPNA BSS 1 PP RECORD NAME
BSS 1 PP HEADER NAME
BPNB VFD 60/4LPP00+1RC CPP HEADER NAME
BST SPACE 4,15
** BST - DUMP BUFFER STATUS TABLE.
*
* ENTRY (BUF) = MST FOLLOWED BY TRT OR MRT.
*
* EXIT (BUF) = MST AND BST, IF BST PRESENT.
*
* USES X - 1, 2, 3, 6, 7.
* A - 1, 2, 6, 7.
* B - 2, 5, 6, 7.
*
* CALLS CTS, FDW, POM, P4F, SDI, SRD, SSB.
*
* MACROS GETCM, PRINT.
BST SUBR
SA1 BUF+BDLL FWA OF BST
LX1 -24
SX6 X1
ZR X6,BSTX IF NO BUFFER STATUS TABLE
SA6 CPRA
SA6 FW
SB2 A6
RJ POM POSITION TO BST
SX7 BSTL SET BST LENGTH
SA7 LW SET BST LWA+1
GETCM BUF+MSTXL,X7 READ BST INTO *BUF*
PRINT (=2C )
PRINT (=C* BUFFER STATUS TABLE*)
PRINT (=2C )
MX7 1
SA7 SRDA PRESET FIRST CALL TO *SRD*
SX6 B0
SA6 BSTA CLEAR LINK ORDINAL
SA6 BSTB CLEAR DATA WORD ORDINAL
SA6 SRDC+5 STOP DASHES AFTER 50 CHARACTERS
RJ SSB CLEAR PRINT STRING
BST1 SA1 BSTB SET DATA ADDRESS
SX1 X1+BUF+MSTXL
SB5 1 SET WORD COUNT
RJ SRD SENSE REPEAT DATA
NZ X1,BST2 IF REPEAT SENSED
SA1 FW GET BST ADDRESS
SA2 BSTB
IX1 X1+X2
LX1 -18
SB6 6
SB7 PRBF
RJ CTS CONVERT BST ADDRESS
SB7 B7+B1
SX6 1R+
SA6 B7
SB7 B7+B1
SA1 BSTA BUFFER ORDINAL
LX1 -12
SB6 4
RJ CTS CONVERT BUFFER ORDINAL
SB7 B7+2
SA2 =4000005B
SA1 BSTB READ BST DATA WORD
SA1 X1+BUF+MSTXL
RJ FDW FORMAT DATA WORD
SA2 BSTB RE-READ DATA WORD
SA2 X2+BUF+MSTXL
SB7 B7+2
SB6 10
RJ SDI SET DISPLAY CODE INTERPRETATION
PRINT CCCH,B7-CCCH
BST2 SA1 BSTA
SX6 X1+20B
SA6 A1+ UPDATE BUFFER ORDINAL
SA1 BSTB
SX6 X1+B1
SA6 A1+ UPDATE BST ADDRESS
SA2 LW
IX3 X6-X2
NG X3,BST1 IF MORE TO DUMP
SA1 SRDC+1
BX6 X1
SA6 SRDC+5 RESET DASHES FOR 136 CHARACTERS
JP BSTX EXIT
BSTA BSS 1 TRACK LINK ORDINAL
BSTB BSS 1 BST DATA WORD ORDINAL
CCM SPACE 4,5
** CCM - PROCESS *CCM* (CRITICAL *NOS/VE* MEMORY) RECORDS.
*
* ENTRY VIA UNCONDITIONAL JUMP.
*
* CALLS ERF, RBF.
CCM BSS 0 ENTRY
RJ ERF POSITION TO EOR OF HEADER RECORD
RJ RBF INITIATE READ OF *CCM* DATA RECORD
RJ ERF SKIP TO EOR
EQ RBI2 READ NEXT RECORD
CCQ SPACE 4,10
** CCQ - CHECK FOR CIRCULAR QUEUE.
*
* EXIT (X5) .LT. 0, IF CIRCULAR QUEUE FOUND.
* ELSE, QUEUE ENTRY COUNT IS INCREMENTED.
*
* USES X - 5, 6.
* A - 5, 6.
*
* MACROS PRINT.
CCQ SUBR
SA5 CCQB INCREMENT QUEUE ENTRY COUNT
SX6 X5+1
SA6 CCQB
SA5 CCQA CHECK IF QUEUE ENTRY LIMIT EXCEEDED
IX5 X5-X6
PL X5,CCQX IF QUEUE ENTRY LIMIT NOT REACHED
PRINT (=2C )
PRINT (=C+ *********WARNING - QUEUE ENTRY LIMIT EXCEEDED+)
PRINT (=2C )
EQ CCQX RETURN
CCQA CON 0 QUEUE ENTRY LIMIT
CCQB CON 0 QUEUE ENTRY COUNT
CEA SPACE 4,10
** CEA - CHECK *EI* ADDRESS.
*
* ENTRY (X3) = BYTE ADDRESS.
*
* USES X - 1, 2, 3, 7.
* A - 1, 2, 7.
*
* CALLS PCM.
CEA1 BX7 X1 SET RANDOM ADDRESS
AX3 3
SA7 RI
RJ PCM POSITION CM RECORD
CEA SUBR ENTRY/EXIT
SA2 XB
SA1 MH+1 MEMORY RECORD RANDOM ADDRESS
IX7 X3-X2
NG X7,CEA1 IF NOT *EI* ADDRESS
BX3 X7
SA1 EH+1
EQ CEA1 PROCESS ENVIRONMENTAL INTERFACE ADDRESS
CEP SPACE 4,10
** CEP - CHECK FOR EXTRANEOUS PARAMETERS.
*
* ENTRY (CH) = DIRECTIVE CARD STRING POINTER.
*
* EXIT TO *ERR40* IF EXTRA PARAMETER DETECTED.
*
* USES X - 1.
* A - 1.
CEP SUBR ENTRY/EXIT
SA1 CH GET NEXT CHARACTER
SA1 X1+
SX1 X1-1R.
NG X1,ERR40 IF NOT END OF DIRECTIVE
EQ CEPX RETURN
CKC SPACE 4,12
** CKC - CRACK AND PROCESS DIRECTIVE CARD.
*
* ENTRY (B2) = DIRECTIVE PROCESSOR TABLE ADDRESS.
* DIRECTIVE BEGINS AT ADDRESS *CHAR* IN
* *S* FORMAT.
* (TF) = 0, IF OUTPUT NOT TO TERMINAL.
*
* EXIT (CH) = DIRECTIVE STRING POINTS TO FIRST ARGUMENT.
* TO DIRECTIVE PROCESSOR, IF FOUND IN TABLE AND VALID.
* TO CALLER, IF DIRECTIVE NOT FOUND IN TABLE.
* TO *ERR16*, IF PRINTER DIRECTIVE AND TERMINAL OUTPUT.
* TO *ERR17*, IF TERMINAL DIRECTIVE AND PRINTER OUTPUT.
*
* USES X - 1, 2, 3, 6.
* A - 1, 2, 6.
* B - 2, 3.
*
* CALLS ASN, DIRECTIVE PROCESSORS.
CKC SUBR
SX6 CHAR
SA6 CH SET DIRECTIVE STRING POINTER
RJ ASN ASSEMBLE DIRECTIVE NAME
CKC1 SA1 B2 READ PROCESSOR TABLE
SB2 B2+B1 ADVANCE TABLE POINTER
ZR X1,CKCX IF END OF TABLE
SA2 X1 READ PROCESSOR NAME
BX3 X2-X6
NZ X3,CKC1 IF NO MATCH
SB3 X1+B1 SET EXECUTION ADDRESS
LX3 X1,B1
SA2 TF CHECK TERMINAL FLAG
ZR X2,CKC2 IF OUTPUT NOT TO TERMINAL
NG X1,ERR16 IF DIRECTIVE RESTRICTED TO PRINTER
CKC2 NZ X2,CKC3 IF OUTPUT TO TERMINAL
NG X3,ERR17 IF DIRECTIVE RESTRICTED TO TERMINAL
CKC3 LX1 -18 SET/CLEAR ERROR RETURN ADDRESS
SX6 X1
SA6 ERRC+1
JP B3 EXECUTE SELECTED PROCESSOR
CLE SPACE 4,10
** CLE - CHECK FOR LAST TABLE ENTRY.
*
* ENTRY (X4) = TABLE ENTRY NUMBER.
* (BE) = BUFFERED DEVICE TABLE ENTRY.
*
* EXIT (X0) = ENTRY ADDRESS RELATIVE TO TABLE FWA.
* (X1) = ENTRY LENGTH.
* (X2) = TABLE LENGTH.
* (X3).LT.0, IF ENTRY WITHIN TABLE.
*
* USES X - 0, 1, 2, 3.
* A - 2.
CLE SUBR ENTRY/EXIT
SA2 BE GET TABLE *BDT* ENTRY
LX2 18
MX0 -6
BX1 -X0*X2 ENTRY LENGTH
IX0 X1*X4 ENTRY ADDRESS RELATIVE TO TABLE FWA
AX2 42 TABLE LENGTH
IX3 X0-X2 CHECK IF ENTRY NUMBER WITHIN TABLE
EQ CLEX RETURN
CMB SPACE 4,15
** CMB - CHECK MEMORY BOUNDS.
*
* ENTRY (B2) = DUMP PARAMETER BLOCK ADDRESS.
* (AM) = *ALLMEM* FLAG.
* (AP) = ADVANCED PROCESSOR FLAG.
*
* EXIT TO CALLER IF DUMP PARAMETERS OKAY.
* TO *ERR32* IF PARAMETERS ARE BAD.
*
* USES X - 1, 2.
* A - 1, 2.
CMB SUBR ENTRY/EXIT
SA1 CE
ZR X1,CMBX IF BOUNDS CHECKING NOT REQUIRED
SA1 AM
NZ X1,CMBX IF *ALLMEM* ENABLED
SA1 SBTL1
SA2 =10HCM
BX1 X1-X2
NZ X1,CMBX IF NOT DUMPING CM
SA2 F.TCMT GET CM SIZE
SA1 X2+MABL
MX2 -24
LX1 -12
BX1 -X2*X1
SA2 B2+B1 GET LWA+1 OF DUMP
LX1 6
IX1 X2-X1
NG X1,CMBX IF LWA+1 WITHIN CM BOUNDARY
EQ ERR32 PROCESS BOUNDARY ERROR
CMP SPACE 4,15
** CMP - PROCESS *CM* RECORD.
*
* ENTRY VIA UNCONDITIONAL JUMP.
*
* EXIT TO *RBI2* IF NORMAL.
* TO *PPE* IF PREMATURE EOF.
*
* USES A - 1, 2, 3, 6, 7.
* X - 1, 2, 3, 6, 7.
*
* CALLS CRS, ERS, RBH, WBS.
CMP BSS 0 ENTRY
SA1 BUF DETERMINE NUMBER OF WORDS TO COPY
SX6 X1 GET CM SIZE
PL X6,CMP1 IF NEW CM FORMAT
SX6 X6-1L DELETE UPPER SPACE
CMP1 LX6 9 CONVERT TO WORDS
SA6 CMPA
RJ CRS COPY RECORD TO S
SX7 B0 CLEAR NUMBER OF WORDS COPIED
SA7 CMPB
SA7 ID CLEAR RECORD ID
CMP2 RJ RBH READ BLOCK OR HEADER FROM FILE *F*
NZ X1,PPE IF PREMATURE EOF
NG X1,PPE IF EOR WITH DEFERRED HEADER
SA1 BWCF SET NUMBER OF WORDS TO WRITE
BX6 X1
SA6 BWCS
RJ WBS WRITE BLOCK TO FILE *S*
SA1 CMPB UPDATE COUNT OF WORDS COPIED
SA2 BWCS
IX6 X1+X2
SA6 A1
SA3 CMPA TEST ALL WORDS COPIED
IX6 X6-X3
NG X6,CMP2 IF NOT DONE
RJ ERS END RECORD ON S
SX6 -1 FORCE EOR ON F
SA6 EORF
EQ RBI2 EXIT TO READ NEXT RECORD FROM F
CMPA BSS 1 NUMBER OF WORDS TO COPY
CMPB BSS 1 NUMBER OF WORDS COPIED
CNL SPACE 4,10
** CNL - CHECK NFL LENGTH.
*
* ENTRY (L.TNFL) = NFL/100 OF CURRENT CP.
*
* EXIT (X1) .GE. 0 IF SUFFICIENT NFL SPACE.
* (X1) .LT. 0 IF INSUFFICIENT NFL SPACE.
* WARNING MESSAGE PRINTED.
*
* USES X - 1, 6.
* A - 1.
*
* MACROS PRINT.
CNL SUBR ENTRY/EXIT
SA1 L.TNFL GET NFL/100
SX6 DNFL GET DEFAULT
IX1 X1-X6
PL X1,CNLX IF SUFFICIENT SPACE
PRINT (=2C )
PRINT (=C* INSUFFICIENT NFL SPACE.*)
PRINT (=2C )
MX1 1 SET ERROR STATUS
EQ CNLX RETURN
COF SPACE 4,10
** COF - COMPLETE OUTPUT FILES.
* RESET FIELD LENGTH TO ORIGINAL VALUE IF CHANGED.
*
* ENTRY OF = CURRENT OUTPUT FILE FET ADDRESS.
* FN = INITIAL FIELD LENGTH.
* FM = CURRENT FIELD LENGTH.
* BD = BINARY DUMP FLAG.
*
* USES X - 0, 1, 2, 6, 7.
* A - 1, 2, 6, 7.
*
* CALLS COD.
*
* MACROS MEMORY, RECALL, RETURN, SETFS, WRITER.
COF SUBR
RECALL L
WRITER X2,R
SETFS X2,0 CLEAR OUTPUT FILE ID
SA1 OF
IX2 X1-X2
ZR X2,COF1 IF NO ALTERNATE FILE ACTIVE
RECALL X1
WRITER X2,R
SETFS X2,0 CLEAR ALTERNATE FILE ID
COF1 SA1 BD
ZR X1,COF2 IF NOT BINARY DUMP
RETURN F1 DROP SCRATCH FILE
COF2 SA1 FM CURRENT FIELD LENGTH
RJ COD CONVERT TO DISPLAY CODE
MX0 -36
BX6 -X0*X6
LX6 12
SA2 MSG2A STORE FL USED INTO MESSAGE
BX7 X2+X6
SA7 A2
SA1 FN INITIAL FIELD LENGTH
SA2 FM CURRENT FIELD LENGTH
IX2 X2-X1
ZR X2,COFX IF NO FL CHANGE
LX1 30
BX6 X1
SA6 A1 SET RFL PARAMETER
MEMORY CM,FN,R
JP COFX EXIT
CPC SPACE 4,10
** CPC - CHECK PAGE CHANGE.
*
* CHECK IF THE FWA HAS ENTERED A NEW CM PAGE AND
* IF NECESSARY, POSITION TO THAT NEW PAGE.
*
* ENTRY (B2+0) - SVA TO DUMP NEXT.
*
* EXIT *NXB* - POSITIONED TO CORRECT ADDRESS.
* (X2) = 0, IF PAGE IS PRESENT.
* (X3) < 0, IF PAGE IS VALID.
* (A3) = *PTEVCUM*
*
* USES X - 1, 2, 6.
* A - 1, 2, 6.
*
* SAVES X - 5.
*
* CALLS PSM, SPT.
CPC SUBR ENTRY/EXIT
MX3 1
SA4 B2 ADDRESS TO BE DUMPED
SA1 XM PAGE SIZE MASK
BX6 X4*X1
SX2 B0
AX4 32
BX7 X5 SAVE X5
NZ X6,CPCX IF NO PAGE CHANGE
ZR X4,CPCX IF NOT VIRTUAL MEMORY DUMP
SA7 CPCA SAVE X5
RJ SPT SEARCH PAGE TABLE
NZ X2,CPCX IF PAGE MISSING
SB2 BRMA BYTE REAL MEMORY ADDRESS OF PAGE
RJ PSM POSITION TO THE RMA
SA1 CPCA RESTORE X5
SA3 PTEVCUM
BX5 X1
SX2 B0 DEFINE PAGE AS PRESENT
EQ CPCX RETURN
CPCA CON 0
CPD SPACE 4,10
** CPD - COPY PP DATA TO BUFFER.
*
* ENTRY DUMP FILE POSITIONED TO PROPER PP RECORD.
*
* EXIT PP MEMORY COPIED TO BUFFER *PBUF*.
*
* USES X - 1, 6.
* A - 1, 6.
*
* MACROS READW.
CPD1 READW S,PBUF,IUBUFL1
SX6 IUBUFL1
CPD2 SA6 NXBA
BX6 X6-X6
SA6 A6+B1
SX6 PBUF-1
SA6 A6+1
CPD SUBR ENTRY/EXIT
SA1 IO
NZ X1,CPD1 IF NOT I4A OR I4S IOU
READW S,PBUF,IUBUFL2
SX6 IUBUFL2
EQ CPD2 SET POINTERS FOR *NXB*
CPN SPACE 4,10
** CPN - CONVERT PP/CPP NUMBER.
*
* ENTRY (PP) = PP/CPP NUMBER FROM DUMP.
*
* EXIT (X2) = (PP).
* (X3) .NE. 0 IF DUMPING A CPP.
* (X6) = LOGICAL PP/CPP NUMBER.
*
* USES X - 2, 3, 6.
* A - 2, 3.
CPN SUBR ENTRY/EXIT
SA2 PP GET PP/CPP NUMBER
BX6 X2
SX3 X2-20B
NG X3,CPN1 IF NOT UPPER BANK
SX6 X2-20B+12B CONVERT UPPER BANK PP NUMBER
CPN1 SA3 IC
ZR X3,CPNX IF NOT PROCESSING CPP-S
SA3 NP CONVERT CPP NUMBER
IX6 X2+X3
EQ CPNX RETURN
CPS SPACE 4,12
** CPS - CHECK PAGE SPACE REMAINING.
*
* ENTRY X1 = NUMBER OF LINES DESIRED.
* LC = CURRENT LINE NUMBER.
* PD = NUMBER OF LINES PER FULL PAGE.
*
* EXIT X6 = NUMBER OF LINES AVAILABLE.
* A NEW PAGE IS FORCED IF THERE ARE .LT. (X1)
* LINES LEFT ON THE CURRENT PAGE.
*
* USES X - 2,3,6.
* A - 2,3,6.
CPS SUBR
SA2 LC CURRENT LINE COUNT
SA3 PD
IX6 X3-X2 NUMBER OF LINES LEFT ON THIS PAGE
IX2 X6-X1
PL X2,CPSX IF ENOUGH ROOM REMAINING
BX6 X3
SA6 A2 FORCE NEW PAGE
JP CPSX EXIT
CRA SPACE 4,10
** CRA - COMPUTE CONTROL POINT REFERENCE ADDRESS.
*
* ENTRY (X6) = CONTROL POINT NUMBER.
*
* EXIT (X6) = CONTROL POINT RA.
* (X7) = CONTROL POINT FL.
*
* USES X - 1, 2.
* A - 2.
*
* CALLS GFL.
CRA SUBR
SA2 NC
SX2 X2+B1 ALLOW FOR SYSTEM CONTROL POINT
IX2 X2-X6
NG X2,ERR8 IF INCORRECT CONTROL POINT NUMBER
SX2 CPLEN
IX1 X2*X6
RJ GFL GET RA
JP CRAX EXIT
CRS SPACE 4,10
** CRS - COPY RECORD TO S.
*
* ENTRY (BWCF) = NUMBER OF WORDS TO WRITE IN 1ST BLOCK.
*
* USES A - 1, 6.
* X - 1, 6.
*
* CALLS ERS, RBH, WBS.
CRS2 RJ ERS END RECORD ON S
CRS SUBR ENTRY/EXIT
CRS1 SA1 BWCF SET NUMBER OF WORDS TO WRITE
BX6 X1
SA6 BWCS
RJ WBS WRITE BLOCK TO S
SA1 EORF
NG X1,CRS2 IF EOR
RJ RBH READ BLOCK OR HEADER
NZ X1,PPE IF PREMATURE EOF
NG X1,CRS2 IF EOR WITH DEFERRED HEADER
EQ CRS1 CONTINUE COPY OF RECORD
CSI SPACE 4,10
** CSI - COLLECT SEGMENT INFORMATION.
*
* ENTRY (BUF - BUF+53*4) = C170-8X5 EXCHANGE PACKAGE.
*
* EXIT X6 = 12/0, 16/STL, 32/STA.
*
* USES A - 1, 2, 3.
* X - 1, 2, 3, 6.
CSI SUBR ENTRY/EXIT
SA1 BUF+128/2 SEGMENT TABLE LENGTH
SA2 BUF+272/2 SEGMENT TABLE ADDRESS
SA3 BUF+280/2
LX1 32
LX2 16
BX3 X1+X3
BX6 X3+X2
JP CSIX RETURN
CST SPACE 4,10
** CST - CREATE SUBTITLE LINE.
* READS SYSTEM DATE LINE FROM CM RECORD TO LISTING SUBTITLE.
*
* EXIT (ED) = 0 IF *EDD* DUMP.
* = 1 IF *DROPVE* DUMP.
* = 2 IF NO *CM* RECORD FOUND.
*
* USES X - 0, 1, 2, 3, 6.
* A - 1, 2, 3, 6.
* B - 2, 6, 7.
*
* CALLS PCM, PKS, UPS.
*
* MACROS GETCM, SEARCH.
CST2 SX6 2
SA6 ED ED = 2 IF NO CM RECORD FOUND
CST SUBR
MX0 18
SA1 .CMM
SEARCH TDIR,X1,X0 LOCATE CM RECORD
SA3 A2+3
NZ X2,CST1 IF *CM* RECORD PRESET
SA2 MH
ZR X2,CST2 IF NO CENTRAL MEMORY
LX2 -18
SX6 X2
ZR X6,CST0 IF *EDD* DUMP
SX6 B1+
CST0 SA6 ED ED = 0 IF *EDD* DUMP, = 1 IF *DROPVE* DUMP
SX6 B1
SA3 A2+B1
SA6 AP SET ADVANCED PROCESSOR FLAG
SA6 CE SET CM EXTENSION FLAG
CST1 BX6 X3
ZR X6,ERR4 IF NO CENTRAL MEMORY
SA6 UI
SA6 RI
SA6 CI
SX3 TIML
RJ PCM POSITION DUMP FILE
GETCM CSTA,8 READ SYSTEM DATE/NAME LINE
SA2 CSTA
SB6 80
SB7 PRBF
RJ UPS UNPACK LINE
SB2 PRBF
SB6 80
SB7 SBTL2
RJ PKS REPACK LINE IN SUBTITLE
JP CSTX EXIT
CSTA BSS 8
CTS SPACE 4,12
** CTS - CONVERT TO STRING BUFFER.
*
* ENTRY X1 = BINARY DIGITS LEFT JUSTIFIED.
* B6 = NUMBER OF DIGITS TO CONVERT.
* B7 = ADDRESS OF STRING BUFFER.
*
* EXIT B7 IS UPDATED.
* X1 IS LEFT SHIFTED (B6)*3 PLACES.
*
* SAVES X - 2,3,4,5,6.
* B - 1,2,3,4,5.
* A - 0,1.
CTS SUBR
SX0 7 DIGIT MASK
CTS1 LX1 3 SHIFT ASSEMBLY
BX7 X0*X1
SX7 X7+1R0 CONVERT DIGIT
SA7 B7 SET IN STRING BUFFER
SB7 B7+B1 ADVANCE INDEX
SB6 B6-1 DECREASE COUNT
NZ B6,CTS1 IF MORE DIGITS
JP CTSX EXIT
CVB SPACE 4,10
** CVB - CONVERT *NOS/VE* BUFFER.
*
* CONVERT 64-BIT WORDS IN *FBB* FORMAT TO 60-BIT FORMAT (BYTE 0
* IS TRUNCATED) FOR PROCESSING *DROPVE* DUMPS.
*
* ENTRY (X3) = NUMBER OF WORDS TO CONVERT. MUST BE .GT. 0.
* (CVBA) = CONVERTED BUFFER POINTER.
*
* EXIT (CVBA) UPDATED.
*
* USES X - 0, 1, 2, 3, 6.
* A - 1, 2, 6.
CVB SUBR ENTRY/EXIT
SA1 ED
ZR X1,CVBX IF USING *CM* RECORD
SA1 BUF-1
SA2 CVBA GET POINTER
CVB1 MX0 -28
SA1 A1+B1 GET BYTES 0, 1
BX6 -X0*X1 TRUNCATE BYTE 0
LX6 32
SA1 A1+B1 GET BYTES 3, 4
BX6 X6+X1
SA6 X2 STORE CONVERTED WORD
SX2 X2+B1 UPDATE POINTER
SX3 X3-1
NZ X3,CVB1 IF MORE TO CONVERT
BX6 X2 STORE UPDATED POINTER
SA6 A2
EQ CVBX RETURN
CVBA CON 0 STORAGE ADDRESS
CVE SPACE 4,15
** CVE - CHECK CONTROLLER DATA VERIFICATION ERROR.
*
* ENTRY (B5) = LEFT SHIFT FOR LOGICAL DIFFERENCE.
* (X6) = VERIFICATION ERROR FLAG.
* 0 = NO ERROR.
* 10B = BIT 0 IN ERROR.
* 1-7 = CORRESPONDING BIT IN ERROR.
* 17B = MULTIPLE BIT FAILURE.
*
* EXIT (X6) = 0 IF NO VERIFICATION ERROR.
* (X6) .LT. 0 IF MULTIPLE BIT FAILURE.
* (X6) = SHIFTED LOGICAL DIFFERENCE FOR BIT IN ERROR.
*
* USES X - 6.
* B - 4.
CVE SUBR ENTRY/EXIT
ZR X6,CVEX IF NO ERROR
SB4 X6-10B
MX6 1
GT B4,CVEX IF MULTIPLE BIT FAILURE
SX6 B1
ZR B4,CVE1 IF BIT 0 IN ERROR
SB4 B4+10B VERIFICATION ERROR BIT NUMBER
CVE1 LX6 B4
LX6 B5
EQ CVEX RETURN
DBB SPACE 4,9
** DBB - DUMP BATCHIO BUFFER POINTS.
*
* ENTRY (A0) = RETURN ADDRESS.
* (CN) = CONTROL POINT NUMBER.
* (RC) = CONTROL POINT REFERENCE ADDRESS.
*
* USES X - ALL.
* A - 1, 2, 3, 4, 5, 6, 7.
* B - 2, 3, 4, 5, 6, 7.
*
* CALLS CTS, DFI, FDW, PCM, SDI, SSB, UPS.
*
* MACROS GETCM, PRINT.
DBB PRINT (=2C )
PRINT (=C* BATCHIO BUFFER POINTS*)
* PROCESS AVAILABLE EQUIPMENT TABLE.
SA2 SSBF+/BIO/TEQR
SB6 5*7+4 MAXIMUM NUMBER OF EQUIPMENTS AVAILABLE
SB7 DBBA
LX2 12 SKIP COUNT FIELD
MX0 -12
SB5 4 BYTE COUNT FIRST WORD
JP DBB2 ENTER LOOP
DBB1 SB5 5 BYTE COUNT REMAINING WORDS
DBB2 LX2 12
BX1 -X0*X2 NEXT BYTE
SB5 B5-B1
SB6 B6-B1
ZR X1,DBB3 IF END OF TABLE
NG B6,DBB3 IF MAXIMUM REACHED
AX1 3
BX6 -X0*X2
LX6 9
BX6 -X0*X6
LX6 54-9
BX6 X6+X1
SA6 B7+ STORE ENTRY INTO EQUIPMENT TYPE TABLE
SB7 B7+1
NZ B5,DBB2 IF MORE BYTES IN THIS WORD
SA2 A2+1 READ NEXT WORD
JP DBB1 CONTINUE
DBB3 SX6 B0
SA6 B7 INDICATE END
* CHECK FOR TWO EQUIPMENTS AT SAME ORDINAL.
SB5 DBBA
DBB4 SB7 B7-1
SB6 B7+
LE B7,B5,DBB6 IF NO EQUIPMENTS MATCH
SA1 B7+
DBB5 SB6 B6-B1
SA2 B6
LT B6,B5,DBB4 IF NO MATCH YET
BX3 X1-X2 COMPARE ORDINALS
BX4 -X0*X3
NZ X4,DBB5 IF NO MATCH
PRINT (=2C )
PRINT (=C+ *********WARNING - BATCHIO AVAILABLE EQUIPMENT TA
,BLE ERROR, TWO MATCHING ORDINALS+)
* CLEAR FET ADDRESS TABLE.
DBB6 SB5 DBBB
MX6 1
SB6 DBBB+/BIO/MXEQ
DBB7 SB6 B6-1
LT B6,B5,DBB8 IF FINISHED
SA6 B6+
JP DBB7
* SET ACTIVE BUFFER POINT COUNT.
DBB8 SA2 =3L1CD SET PP NAME MASK
BX0 X2
SX5 0 SET INITIAL COUNT
SB3 /BIO/D1AR SET 1ST DRIVER ASSIGNMENT WORD ADDRESS
DBB9 SA2 RC SET DRIVER WORD ADDRESS
SX7 B3 SAVE ADDRESS
IX3 X2+X7
SA7 DBBI
RJ PCM POSITION TO DRIVER ASSIGNMENT WORD
GETCM
BX3 X0-X6
AX3 42
NZ X3,DBB10 IF *1CD* NOT RUNNING
LX6 36
AX6 48
IX5 X5+X6 ADD INTO COUNT
DBB10 SA2 DBBI CHECK NEXT ASSIGNMENT WORD
SB3 X2+B1
SB6 /BIO/DRQR
NE B3,B6,DBB11 IF THREE WORDS NOT PROCESSED
MX0 -12 SET BUFFER POINT NUMBER MASK
SX7 X5 SAVE COUNT
SA7 DBBH
* SET FET ADDRESS TABLE.
SX5 /BIO/BUFR ADDRESS OF FIRST FET
SX7 /BIO/MXEQ
SA7 DBBC SET MAXIMUM NUMBER OF FETS TO PROCESS
DBB11 SA3 DBBH
ZR X3,DBB16 IF OUT OF FETS
SA2 RC
IX3 X2+X5
SX6 X5
SA6 DBBD SAVE CURRENT FET ADDRESS
RJ PCM
GETCM DBBE,6
SA2 DBBE+5
LX2 12
BX3 -X0*X2 BUFFER POINT INDEX
ZR X3,DBB13 IF NO BUFFER POINT
SX3 X3-/BIO/BFCW+2
AX3 1 BUFFER POINT
SX4 X3-/BIO/MXEQ-1
SB3 X3
NG X4,DBB12 IF VALID BUFFER POINT
PRINT (=2C )
PRINT (=C+ *********WARNING - INVALID BATCHIO FET BUFFER POI
,NT+)
SX7 X5 ADDRESS OF FET
SA1 CN
BX6 X1 CONTROL POINT NUMBER
SX5 -1
RJ DFI DUMP FILE INFORMATION
JP DBB13 ADVANCE FET ADDRESS
DBB12 SX6 X5+
SA6 B3+DBBB SET FET ADDRESS INTO TABLE
DBB13 SA3 DBBE+4
SA5 DBBD CURRENT FET ADDRESS
SX4 X3 NEXT FET ADDRESS
IX1 X5-X4
NG X1,DBB14 IF CORRECT LINKAGE
PRINT (=2C )
PRINT (=C+ *********WARNING - BATCHIO FET LINKAGE ERROR+)
SX7 X5 ADDRESS OF FET
SA1 CN
BX6 X1 CONTROL POINT NUMBER
SX5 -1
RJ DFI DUMP FILE INFORMATION
JP DBB30 TERMINATE DIRECTIVE
DBB14 SX5 X4+ SET FET ADDRESS
SA3 DBBE
MX6 24 CHECK FOR JSN
BX6 X6*X3
ZR X6,DBB15 IF NO JSN IN FET
SA3 DBBH DECREMENT BUFFER POINT COUNT
SX6 X3-1
SA6 A3+
DBB15 SA1 DBBC
SX6 X1-1
SA6 A1+ DECREMENT MAXIMUM NUMBER OF FETS
NZ X6,DBB11 IF MAXIMUM NOT PROCESSED
* FIND LOCATION OF BUFFER POINTS IN NEGATIVE FL.
DBB16 SX6 B0+
SA6 DBBG PRESET BUFFER POINT NUMBER
DBB17 SA1 F.TNFL FORM ADDRESS OF BUFFER POINTS IN *TNFL*
SA2 L.TNFL
SX5 /BIO/BFCW+2
IX1 X1+X2
IX6 X1-X5
SA6 DBBF LOCATION-2 OF BUFFER POINTS
* DUMP BUFFER POINTS.
SA1 DBBG
SX6 X1+1
SA6 A1+
SX2 X6-/BIO/MXEQ-1
SX5 X6+ BUFFER POINT NUMBER
ZR X2,DBB30 IF ALL BUFFER POINTS DUMPED
PRINT (=2C )
RJ SSB CLEAR PRINT STRING
* SET BUFFER POINT, FIRST WORD.
SA2 DBBF
LX0 X5,B1
IX4 X0+X2
SA1 X4
ZR X1,DBB30 IF ALL ACTIVE BUFFER POINTS DUMPED
BX6 X1 SAVE FIRST WORD
SA6 DBBJ
SB7 PRBF+36
SA2 =4000005B FORMAT CONTROL
RJ FDW
BX2 X1
SB6 10
RJ SDI
* SET BUFFER POINT NUMBER.
SB7 PRBF
SA2 =13HBUFFER POINT
SB6 13
RJ UPS
BX1 X5
LX1 -6
SB6 2
RJ CTS CONVERT BUFFER POINT NUMBER
* SET EQUIPMENT TYPE.
SA2 =17HEQUIPMENT TYPE =
SB6 17
SB7 PRBF+74
RJ UPS
* FIND EQUIPMENT TYPE.
MX6 -12
SA3 DBBJ GET FIRST WORD OF BUFFER POINT AREA
AX3 12
BX1 -X6*X3
ZR X1,DBB24 IF EST NOT SPECIFIED
SB4 DBBA-1
DBB18 SB4 B4+B1
SA2 B4
ZR X2,DBB23 IF NOT FOUND
BX3 X1-X2 COMPARE ENTRIES
BX4 -X6*X3
NZ X4,DBB18 IF MATCH NOT FOUND YET
AX2 54
BX3 -X6*X2
SX2 X3-/BIO/LPDT
ZR X2,DBB19 IF PRINTER
SX2 X3-/BIO/CPDT
ZR X2,DBB20 IF CARD PUNCH
SX2 X3-/BIO/CRDT
ZR X2,DBB21 IF CARD READER
SX2 X3-/BIO/NPDT
ZR X2,DBB22 IF NON-IMPACT PRINTER
SA2 =13HINCORRECT
JP DBB25 MOVE NAME TO BUFFER
DBB19 SA2 =13HPRINTER
JP DBB25 MOVE NAME TO BUFFER
DBB20 SA2 =13HCARD PUNCH
JP DBB25 MOVE NAME TO BUFFER
DBB21 SA2 =13HCARD READER
JP DBB25 MOVE NAME TO BUFFER
DBB22 SA2 =13HNIP PRINTER
JP DBB25 MOVE NAME TO BUFFER
DBB23 SA2 =13HNOT FOUND
JP DBB25 MOVE NAME TO BUFFER
DBB24 SA2 =13HNOT SPECIFIED
DBB25 SB6 13
RJ UPS
BX0 X1
PRINT CCCH,B7-CCCH
* SET BUFFER POINT, SECOND WORD.
RJ SSB CLEAR PRINT STRING
BX3 X0
SA2 DBBF
LX0 X5,B1
IX4 X0+X2
SA1 X4+B1
SB7 PRBF+36
SA2 =4000005B FORMAT CONTROL
RJ FDW
BX2 X1
SB6 10
RJ SDI
ZR X3,DBB26 IF NO EST SPECIFIED
* SET EST.
SA2 =6HEST -
SB6 6
SB7 PRBF+74
RJ UPS
SA1 F.TCMT
SB2 X1+
SA2 B2+ESTP
AX2 36
R= X4,ESTE
IX3 X3*X4
IX1 X2+X3 EST ADDRESS
SX1 X1+EQDE
SA3 B2+X1 EST
LX1 -18
SB6 6
RJ CTS
BX1 X3
SB7 B7+2
SA2 =4000005B FORMAT CONTROL
RJ FDW
BX2 X1
SB6 10
RJ SDI
DBB26 PRINT CCCH,B7-CCCH
PRINT (=2C )
* DUMP FET.
MX0 24
SA4 DBBJ GET BUFFER POINT JSN
BX4 X0*X4
ZR X4,DBB17 IF NO ASSOCIATED FET
SX0 /BIO/MXEQ
DBB27 SX0 X0-1 GET JSN OF FET
NG X0,DBB28 IF END OF TABLE
SA5 DBBB+X0
NG X5,DBB27 IF NULL ENTRY PROCESS NEXT ENTRY
NZ X5,DBB29 IF STILL SEARCHING FET ADDRESS TABLE
DBB28 PRINT (=2C )
PRINT (=C+ *********WARNING - EXPECTED FET ADDRESS NOT FOUND
,+)
EQ DBB17 CHECK NEXT BUFFER POINT
DBB29 SA3 RC READ FIRST WORD OF FET
IX3 X5+X3
RJ PCM
GETCM
SA4 DBBJ
BX1 X6-X4
AX1 36
NZ X1,DBB27 IF NO MATCHING JSN
SX7 X5+ SET FET ADDRESS
SA1 CN
BX6 X1 CONTROL POINT NUMBER
SX5 -1
RJ DFI DUMP FILE INFORMATION
JP DBB17 CONTINUE
DBB30 SB2 A0
JP B2 RETURN
DBBA BSS 5*10B EQUIPMENT TYPE TABLE
*T DBBA 6/ TYPE, 42/, 12/ ORD
* TYPE = DEVICE TYPE, SEE *COMSBIO*.
* ORD = EST ORDINAL.
DBBB BSS /BIO/MXEQ FET ADDRESS TABLE
DBBC BSS 1 MAXIMUM NUMBER OF FETS REMAINING
DBBD BSS 1 CURRENT FET ADDRESS
DBBE BSS 6 FET
DBBF BSS 1 LOCATION-2 OF BUFFER POINTS
DBBG BSS 1 CURRENT BUFFER POINT NUMBER
DBBH BSS 1 NUMBER OF ACTIVE BUFFER POINTS
DBBI BSS 1 CURRENT DRIVER ASSIGNMENT WORD ADDRESS
DBBJ BSS 1 FIRST WORD OF CURRENT BUFFER POINT AREA
DBP SPACE 4,7
** DBP - DUMP BATCHIO PPUS.
*
* ENTRY A0 = RETURN ADDRESS.
*
* USES ALL REGISTERS.
*
* CALLS ASP.
DBP SX6 DBPA
JP ASP
DBPA VFD 18/3L1CD,42/0
VFD 18/3L1IO,42/0
VFD 18/3LDSP,42/0
VFD 18/3LQAC,42/0
VFD 18/3LQAP,42/0
VFD 60/-1 END OF PARAMETER BLOCK
DBT SPACE 4,25
** DBT - DUMP BUFFERED DEVICE TABLE.
*
* ENTRY (X5) = TABLE DESCRIPTION ADDRESS.
* (X6) = ADDRESS OF PRINTER FORMAT TABLE POINTERS.
* (X6)+1 = ADDRESS OF TERMINAL FORMAT TABLE POINTERS.
* (X7) = TABLE NAME ADDRESS.
* (B2) = TABLE ENTRY INDEX IN BUFFERED DEVICE TABLE.
*
* ERROR TO *ERR6*, IF CONVERSION ERROR ON SELECTED
* ENTRY NUMBER.
* TO *ERR16*, IF PROCESSING FULL TABLE DUMP WITH
* TERMINAL OUTPUT.
* TO *ERR34*, IF NO BUFFERED DEVICE TABLE ON
* DUMP FILE.
* TO *ERR35*, IF SELECTED ENTRY BEYOND TABLE BOUNDARY.
*
* USES X - 1, 2, 3, 4, 6.
* A - 1, 2, 3, 4, 6, 7.
* B - 2, 6, 7.
*
* CALLS ASD, CLE, GTD, GTE, LDC, PEN, POM, SCM, SRA.
*
* MACROS GETCM, PRINT.
DBT SUBR ENTRY/EXIT
SA6 DBTA STORE FORMAT TABLE POINTERS ADDRESS
SA7 DBTB STORE TABLE NAME ADDRESS
RJ SCM SET CENTRAL MEMORY
SX1 B2 SAVE (B2) ACROSS *LDC* CALL
LX5 18
BX5 X5+X1
RJ LDC LIST DIRECTIVE
SA2 F.TCMT
SB2 X5 RESTORE (B2), (X5)
AX5 18
SA1 X2+BIOL
AX1 24
SX1 X1
ZR X1,ERR34 IF TABLE NOT ON DUMP FILE
SX6 X1+B2
SA6 CPRA
PRINT (=2C )
PRINT X5 PRINT TABLE DESCRIPTION
PRINT (=2C )
PRINT (=2C )
SX6 B0
RJ SRA SET REFERENCE ADDRESS
SB2 CPRA
RJ POM POSITION TO *BDT* ENTRY
GETCM
SA6 BE STORE *BDT* ENTRY FOR TABLE
SB7 B0 ASSUME OCTAL BASE
RJ ASD GET NEXT ENTRY NUMBER
NZ X4,ERR6 IF CONVERSION ERROR
NZ B6,DBT5 IF PROCESSING SELECTED ENTRIES
* PROCESS FULL TABLE DUMP.
SA1 TF
NZ X1,ERR16 IF OUTPUT TO TERMINAL
SX6 -1 PRESET ENTRY NUMBER
SA6 DBTC
DBT1 SA4 DBTC
SX4 X4+1 INCREMENT ENTRY NUMBER
RJ CLE CHECK FOR LAST ENTRY
PL X3,DBTX IF ALL TABLE ENTRIES DUMPED
SX6 X1+ STORE ENTRY LENGTH
SA6 DBTD
SA3 BE GET TABLE FWA
SX3 X3
IX6 X0+X3
SA6 FW SET ENTRY ADDRESS IN DUMP FILE
SX6 X4+
SA6 DBTC STORE ENTRY NUMBER
ZR X4,DBT2 IF DUMPING FIRST ENTRY
SX3 0 CLEAR IF NOT FIRST CALL
DBT2 RJ GTE GET TABLE ENTRY FWA IN CORE
SB2 B0
SA1 DBTD GET ENTRY LENGTH
SB3 X1
DBT3 SA1 X5+B2 GET ENTRY WORD
NZ X1,DBT4 IF NONZERO ENTRY
SB2 B2+B1
LT B2,B3,DBT3 IF MORE WORDS TO CHECK
EQ DBT1 CHECK NEXT ENTRY
DBT4 SB6 4
SA1 DBTC GET ENTRY NUMBER
LX1 -12
SA2 DBTB SET TABLE NAME ADDRESS
SA2 X2
RJ PEN PRINT ENTRY NUMBER
SA1 FW
IX6 X5-X1
SB2 X6 SET DATA ADDRESS IN CORE BUFFER
SA1 DBTA SET FORMAT TABLE POINTERS
SA1 X1+
RJ GTD GENERATE DETAILED TABLE ENTRY DUMP
PRINT (=2C )
EQ DBT1 DUMP NEXT ENTRY
* PROCESS DUMP OF SELECTED TABLE ENTRIES.
DBT5 SX4 X6+
SA6 DBTC SAVE ENTRY NUMBER
RJ CLE CHECK FOR VALID ENTRY NUMBER
PL X3,ERR35 IF ENTRY BEYOND END OF TABLE
SA3 BE
SX3 X3
IX6 X0+X3
SA6 FW SET ENTRY ADDRESS IN DUMP FILE
NZ B6,DBT6 IF FIRST ENTRY TO BE DUMPED
SX3 0 CLEAR IF NOT FIRST ENTRY
DBT6 RJ GTE GET TABLE ENTRY FWA IN CORE
SB6 4
SA1 DBTC GET ENTRY NUMBER
LX1 -12
SA2 DBTB SET TABLE NAME ADDRESS
SA2 X2+
RJ PEN PRINT ENTRY NUMBER
SA1 DBTA GET FORMAT TABLE POINTERS
SA3 TF
ZR X3,DBT7 IF PRINTER OUTPUT
SX1 X1+1 SET FOR TERMINAL OUTPUT
DBT7 SA1 X1
SA3 FW
IX6 X5-X3
SB2 X6 SET DATA ADDRESS IN CORE BUFFER
RJ GTD GENERATE DETAILED TABLE ENTRY DUMP
PRINT (=2C )
SB7 B0 ASSUME OCTAL BASE
RJ ASD GET NEXT ENTRY NUMBER
NZ X4,ERR6 IF CONVERSION ERROR
ZR B6,DBTX IF NO MORE ENTRIES TO DUMP
SB6 B0 SET AS NOT FIRST ENTRY DUMPED
EQ DBT5 DUMP NEXT ENTRY
DBTA BSS 1 FORMAT TABLE POINTERS ADDRESS
DBTB BSS 1 TABLE NAME ADDRESS
DBTC BSS 1 ENTRY NUMBER
DBTD BSS 1 ENTRY LENGTH
DCA SPACE 4,9
** DCA - DUMP JOB DAYFILE POINTERS AND BUFFER.
*
* ENTRY (A0) = RETURN ADDRESS.
* (CN) = CONTROL POINT NUMBER.
* (NC) = NUMBER OF CONTROL POINTS - 1.
*
* USES X - 1, 2.
* A - 1, 2.
* B - 2.
*
* CALLS GDB, PDB, PDP.
*
* MACROS PRINT.
DCA SA1 CN
SA2 NC
SX2 X2+B1
IX1 X2-X1
ZR X1,DCA2 IF SYSTEM CONTROL POINT
PRINT (=2C )
PRINT (=C* DAYFILE POINTERS AND BUFFER*)
PRINT (=2C )
RJ GDB GET DAYFILE BUFFERS
NG X1,DCA2 IF INSUFFICIENT NFL SPACE
RJ PDP PRINT DAYFILE POINTERS
PRINT (=2C )
RJ PDB PRINT DAYFILE BUFFER
DCA2 SB2 A0 GET RETURN ADDRESS
JP B2 RETURN
DCC SPACE 4,15
** DCC - DUMP FIELD LENGTH IN *C* FORMAT.
*
* ENTRY (A0) = RETURN ADDRESS.
* (CN) = CONTROL POINT NUMBER.
* (FW) = CONTROL POINT AREA ADDRESS.
* (NC) = NUMBER OF CONTROL POINTS - 1.
*
* USES X - 1, 2, 3, 6, 7.
* USES X - 1, 2, 6, 7.
* B - 2.
*
* CALLS GFL, PMD, POM, SCM, SRA.
*
* MACROS PRINT.
DCC SX6 0
DCC1 SA1 CN
SA2 NC
SX2 X2+B1
IX1 X2-X1
ZR X1,DCC2 IF SYSTEM CONTROL POINT
SA6 CPRA+4 SET FORMAT CODE IN PARAMETER BLOCK
PRINT (=2C )
PRINT (=C* FIELD LENGTH*)
PRINT (=2C )
SA1 FW CP AREA ADDRESS
RJ GFL GET FL, RA
SB2 CPRA SET PARAMETER BLOCK ADDRESS
SA7 B2+B1 SET LWA+1 OF DUMP
BX7 X7-X7
SA7 B2+ SET FWA
RJ SRA SET REFERENCE ADDRESS
RJ SCM SELECT CM DUMP
DCC1.1 SB2 CPRA
RJ POM POSITION DUMP FILE
SB2 CPRA
RJ PMD PROCESS DUMP
DCC2 SB2 A0
JP B2 RETURN
DCD SPACE 4
** DCD - DUMP FIELD LENGTH IN *D* FORMAT.
DCD SX6 1 FORMAT CODE
JP DCC1 PROCESS DUMP
DCE SPACE 4
** DCE - DUMP FIELD LENGTH IN *E* FORMAT.
DCE SX6 2 FORMAT CODE
JP DCC1 PROCESS DUMP
DCF SPACE 4,10
** DCF - DUMP ATTACHED FILES.
*
* ENTRY (A0) = RETURN ADDRESS.
* (CN) = CONTROL POINT NUMBER.
* (NC) = NUMBER OF CONTROL POINTS - 1.
*
* USES X - 1, 2, 6.
* A - 1, 2, 6.
* B - 2.
*
* CALLS CNL, GNF, PFS.
*
* MACROS PRINT.
DCF SA1 CN
SA2 NC
SX2 X2+B1
IX1 X2-X1
ZR X1,DCF1.1 IF SYSTEM CONTROL POINT
SX6 FNTN
SA6 FI PRESET SEARCH INDEX
PRINT (=2C )
PRINT (=C* ATTACHED FILES*)
PRINT (=2C )
RJ CNL CHECK NFL LENGTH
NG X1,DCF1.1 IF INSUFFICIENT NFL SPACE
DCF1 RJ GNF GET NEXT FILE
NZ X1,DCF2 IF FILE FOUND
DCF1.1 SB2 A0 GET RETURN ADDRESS
JP B2 RETURN
DCF2 RJ PFS PRINT FILE SUMMARY
JP DCF1 CONTINUE
DCG SPACE 4,10
** DCG - DUMP CONTROL POINT AREA IN *C* FORMAT.
*
* ENTRY FW = CONTROL POINT AREA ADDRESS.
* A0 = RETURN ADDRESS.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS PMD,SCM,SRA,WOF.
DCG SX6 0
DCG1 SA6 DCGA+4 SET FORMAT CODE
PRINT (=2C )
PRINT (=C* CONTROL POINT AREA*)
PRINT (=2C )
SA1 FW
SA2 F.TCMT
IX6 X1+X2
BX7 X1
SA6 DCGA+2 CORE ADDRESS OF CP AREA DATA
SA7 DCGA DUMP FWA
SX6 X7+CPLEN
SA6 DCGA+1 DUMP LWA+1
SX6 0
RJ SRA RESET REFERENCE ADDRESS
SB2 DCGA DUMP PARAMETER BLOCK ADDRESS
RJ SCM SELECT CM
RJ PMD PROCESS DUMP
SB2 A0
JP B2 RETURN
DCGA BSS 0 DUMP PARAMETER BLOCK
CON 0 FWA
CON 0 LWA+1
CON 0 CORE ADDRESS
CON 0 NO SUPPRESS FLAG
CON 0 FORMAT CODE
CON 0 COLUMN LENGTH
CON 0 INVERTED ADDRESS
DCI SPACE 4
** DCI - DUMP CONTROL POINT AREA IN *E* FORMAT.
DCI SX6 2 FORMAT CODE
JP DCG1 PROCESS DUMP
DCJ SPACE 4
** DCJ - DUMP CONTROL POINT AREA IN *D* FORMAT.
DCJ SX6 1 FORMAT CODE
JP DCG1 PROCESS DUMP
DCM SPACE 4,20
** DCM - DUMP CONTROL POINT EXTENDED MEMORY (USER ECS)
* IN *D* FORMAT.
*
* ENTRY (A0) = RETURN ADDRESS.
* (CN) = CONTROL POINT NUMBER.
* (FW) = CONTROL POINT AREA ADDRESS.
* (NC) = NUMBER OF CONTROL POINTS - 1.
* (UE) = USER EXTENDED MEMORY SHIFT COUNT.
*
* EXIT (A0) = RETURN ADDRESS.
* TO *DCC1.1* TO PROCESS USER EXTENDED MEMORY FL DUMP.
* TO *DCC2* IF NO USER EXTENDED MEMORY FL TO DUMP.
*
* USES X - 1, 2, 3, 6, 7.
* A - 0, 1, 2, 3, 6, 7.
* B - 2.
*
* CALLS SEC, SEM, SRA.
*
* MACROS PRINT.
DCM SA1 CN
SA2 NC
SA3 UE
SX2 X2+B1
IX1 X2-X1
ZR X1,DCC2 IF SYSTEM CONTROL POINT
SX6 B1 SELECT *D* FORMAT DUMP
SB2 X3+9
SA6 CPRA+4
SA1 F.TCMT
SA2 FW CP AREA ADDRESS
IX2 X1+X2
MX3 -12
SA2 X2+ECSW GET CONTROL POINT RAE AND FLE
BX7 -X3*X2
LX2 -12
ZR X7,DCC2 IF NO USER EXTENDED MEMORY FL
MX6 -24
BX6 -X6*X2 EXTENDED MEMORY RA
LX7 B2
SA7 CPRA+1 SET LWA+1 OF DUMP
BX7 X7-X7
LX6 B2
SA7 A7-B1 SET FWA OF DUMP
SX7 A0+ SAVE RETURN ADDRESS
SA7 DCMA
RJ SRA SET REFERENCE ADDRESS
PRINT (=2C )
PRINT (=C* USER EXTENDED MEMORY FIELD LENGTH*)
PRINT (=2C )
SA1 SBTL1 SAVE SUBTITLE
BX6 X1
SA6 DCMB
RJ SEM SET UNIFIED EXTENDED MEMORY (UEM)
NG X3,DCM1 IF UEM DEFINED
RJ SEC SET EXTENDED CORE STORAGE
DCM1 SA2 =3RUEC SET USER EXTENDED MEMORY SUBTITLE
SA1 DCMB
LX1 -6
MX7 -18
BX1 X7*X1
BX7 X1+X2
LX7 6
SA1 DCMA RESTORE RETURN ADDRESS
SA0 X1
SA7 SBTL1
EQ DCC1.1 PROCESS DUMP
DCMA CON 0 RETURN ADDRESS
DCMB CON 0 CONTROL POINT SUBTITLE
DCN SPACE 4,10
** DCN - DUMP NEGATIVE FIELD LENGTH IN *D* FORMAT.
*
* ENTRY (A0) = RETURN ADDRESS.
* (CN) = CONTROL POINT NUMBER.
* (NC) = NUMBER OF CONTROL POINTS - 1.
* (DCGA - DCGA+6) = DUMP PARAMETER INFORMATION.
*
* USES X - 0, 1, 2, 3, 6, 7.
* A - 1, 2, 6, 7.
* B - 2.
*
* CALLS CNL, PNF, SCM, SRA.
*
* MACROS PRINT.
DCN SA1 CN
SA2 NC
SX2 X2+B1
IX1 X2-X1
ZR X1,DCN2 IF SYSTEM CONTROL POINT
*
DBN BSS 0 *DBN* ENTRY POINT
*
SX6 B1 SET *D* FORMAT
SA6 DCGA+4
PRINT (=2C )
PRINT (=C* NEGATIVE FIELD LENGTH*)
PRINT (=2C )
RJ CNL CHECK NFL LENGTH
NG X1,DCN1 IF INSUFFICIENT NFL SPACE
PRINT (=2C )
PRINT (=C* LOCAL FNT-S*)
PRINT (=2C )
SA1 RC GET RA OF SELECTED CONTROL POINT
BX6 X1
RJ SRA SET REFERENCE ADDRESS = RA OF CONTROL POINT
RJ SCM SELECT CENTRAL MEMORY
SA2 L.TNFL GET NFL
SX3 DAYN SET ORDINAL OF LWA
BX0 X2 SET ORDINAL OF FWA
RJ PNF PRINT FNT AREA
PRINT (=2C )
PRINT (=C* DAYFILE BUFFER (DAYN)*)
PRINT (=2C )
SX3 CSBN SET ORDINAL OF LWA
SX0 DAYN SET ORDINAL OF FWA
RJ PNF PRINT DAYFILE BUFFER AREA
PRINT (=2C )
PRINT (=C* COMMAND BUFFER (CSBN)*)
PRINT (=2C )
SX3 QFBN SET ORDINAL OF LWA
SX0 CSBN SET ORDINAL OF FWA
RJ PNF PRINT COMMAND BUFFER AREA
PRINT (=2C )
PRINT (=C* QUEUED FUNCTION BUFFER (QFBN)*)
PRINT (=2C )
SX3 SSJN SET ORDINAL OF LWA
SX0 QFBN SET ORDINAL OF FWA
RJ PNF PRINT QUEUED FUNCTION BUFFER
PRINT (=2C )
PRINT (=C* SSJ= SCRATCH AREA (SSJN)*)
PRINT (=2C )
SX3 SSDN SET ORDINAL OF LWA
SX0 SSJN SET ORDINAL OF FWA
RJ PNF PRINT SSJ= SCRATCH AREA
PRINT (=2C )
PRINT (=C* SSJ=/DMP= SCRATCH AREA (SSDN)*)
PRINT (=2C )
SX3 DMPN SET ORDINAL OF LWA
SX0 SSDN SET ORDINAL OF FWA
RJ PNF PRINT SSJ=/DMP= SCRATCH AREA
PRINT (=2C )
PRINT (=C* DMP= SCRATCH AREA (DMPN)*)
PRINT (=2C )
SX3 TDFN SET ORDINAL OF LWA
SX0 DMPN SET ORDINAL OF FWA
RJ PNF PRINT DMP= SCRATCH AREA
PRINT (=2C )
PRINT (=C* JOB TAPE DEFAULTS (TDFN)*)
PRINT (=2C )
SX3 ICAN SET ORDINAL OF LWA
SX0 TDFN SET ORDINAL OF FWA
RJ PNF PRINT JOB TAPE DEFAULTS
PRINT (=2C )
PRINT (=C* INTER-CP COMMUNICATION (ICAN)*)
PRINT (=2C )
SX3 PUCN SET ORDINAL OF LWA
SX0 ICAN SET ORDINAL OF FWA
RJ PNF PRINT INTER-CP COMMUNICATION WORD
PRINT (=2C )
PRINT (=C* PF USER NAME CACHE (PUCN)*)
PRINT (=2C )
SX3 SCVN SET ORDINAL OF LWA
SX0 PUCN SET ORDINAL OF FWA
RJ PNF PRINT PF USER NAME CACHE
PRINT (=2C )
PRINT (=C* SERVICE CLASS VALIDATION (SCVN)*)
PRINT (=2C )
SX3 CHGN SET ORDINAL OF LWA
SX0 SCVN SET ORDINAL OF FWA
RJ PNF PRINT SERVICE CLASS VALIDATION
PRINT (=2C )
PRINT (=C* CHARGE/PROJECT NUMBER (CHGN)*)
PRINT (=2C )
SX3 SHCN SET ORDINAL OF LWA
SX0 CHGN SET ORDINAL OF FWA
RJ PNF PRINT CHARGE/PROJECT
PRINT (=2C )
PRINT (=C* SHELL CONTROL (SHCN)*)
PRINT (=2C )
SX3 SLMN SET ORDINAL OF LWA
SX0 SHCN SET ORDINAL OF FWA
RJ PNF PRINT SHELL CONTROL
PRINT (=2C )
PRINT (=C* TERMINAL WORD (SLMN)*)
PRINT (=2C )
SX3 LFCN SET ORDINAL OF LWA
SX0 SLMN SET ORDINAL OF FWA
RJ PNF PRINT TERMINAL WORD
PRINT (=2C )
PRINT (=C* LOCAL FILE COUNT (LFCN)*)
PRINT (=2C )
SX3 RC1N SET ORDINAL OF LWA
SX0 LFCN SET ORDINAL OF FWA
RJ PNF PRINT LOCAL FILE COUNT
PRINT (=2C )
PRINT (=C* RECOVERY WORD 1 (RC1N)*)
PRINT (=2C )
SX3 RC2N SET ORDINAL OF LWA
SX0 RC1N SET ORDINAL OF FWA
RJ PNF PRINT FIRST RECOVERY WORD
PRINT (=2C )
PRINT (=C* RECOVERY WORD 2 (RC2N)*)
PRINT (=2C )
SX3 JPPN SET ORDINAL OF LWA
SX0 RC2N SET ORDINAL OF FWA
RJ PNF PRINT SECOND RECOVERY WORD
PRINT (=2C )
PRINT (=C* JOB PAGE PARAMETERS (JPPN)*)
PRINT (=C* TMS CONTROL (TMSN)*)
PRINT (=2C )
SX3 INSN SET ORDINAL OF LWA
SX0 JPPN SET ORDINAL OF FWA
RJ PNF PRINT JOB PAGE PARAMETERS
PRINT (=2C )
PRINT (=C* INSTALLATION WORDS (INSN)*)
PRINT (=2C )
SX3 DAPN SET ORDINAL OF LWA
SX0 INSN SET ORDINAL OF FWA
RJ PNF PRINT INSTALLATION WORDS
PRINT (=2C )
PRINT (=C* DAYFILE BUFFER POINTERS (DAPN)*)
PRINT (=2C )
SX3 B0 SET ORDINAL OF LWA
SX0 DAPN SET ORDINAL OF FWA
RJ PNF PRINT DAYFILE BUFFER POINTERS
DCN1 BX7 X7-X7 CLEAR INVERTED ADDRESS
SA7 DCGA+6
DCN2 SB2 A0 GET RETURN ADDRESS
JP B2 RETURN
DCP SPACE 4,8
** DCP - DUMP CONTROL POINT.
*
* ENTRY CN = CONTROL POINT NUMBER.
* CL = LIST OPTION CHARACTER STRING LEFT JUSTIFIED.
*
* USES ALL REGISTERS.
*
* CALLS PCH, RNF, SCM, SNO, SRA, LIST OPTION PROCESSORS.
DCP SUBR
RJ PCH PRINT CONTROL POINT HEADER
DCP1 RJ SCM SET CENTRAL MEMORY
SX6 0
RJ SRA SET REFERENCE ADDRESS
SB2 DCPA PROCESSOR TABLE ADDRESS
SA1 CL OPTION STRING
RJ SNO SELECT NEXT LIST OPTION
ZR X3,DCPX IF NO MORE OPTIONS SELECTED
SX6 B3 SAVE (B3)
SA6 DCPB
SA1 OP
SA2 CN
RJ RNF READ NEGATIVE FL FOR SELECTED CP
SA1 DCPB RESTORE (B3)
SB3 X1
SA0 DCP1 SET RETURN ADDRESS
JP B3 EXECUTE SELECTED PROCESSOR
DCPA BSS 0 TABLE OF LIST OPTION PROCESSORS
VFD 36/0,6/1RA,18/DCA
VFD 36/0,6/1RC,18/DCC
VFD 36/0,6/1RD,18/DCD
VFD 36/0,6/1RE,18/DCE
VFD 36/0,6/1RF,18/DCF
VFD 36/0,6/1RG,18/DCG
VFD 36/0,6/1RI,18/DCI
VFD 36/0,6/1RH,18/DCJ
VFD 36/0,6/1RM,18/DCM
VFD 36/0,6/1RN,18/DCN
VFD 36/0,6/1RP,18/DCQ
VFD 36/0,6/1RT,18/DCT
VFD 36/0,6/1RX,18/DCX
VFD 60/0
DCPB CON 0
DCQ SPACE 4,9
** DCQ - DUMP AND ANALYZE ALL ACTIVE PPUS ASSOCIATED WITH
* CONTROL POINT.
*
* ENTRY CN = CONTROL POINT NUMBER.
* A0 = RETURN ADDRESS.
*
* USES ALL REGISTERS.
*
* CALLS ASP.
DCQ SA1 CN
LX1 36
BX6 X1
SA6 DCQA
SX6 DCQA
JP ASP
DCQA VFD 60/0
VFD 60/-1 END OF PARAMETER BLOCK
DCT SPACE 4,11
** DCT - DUMP PARAMETERS IN DETAIL.
*
* ENTRY FW = CONTROL POINT AREA ADDRESS FOR DUMP.
* A0 = RETURN ADDRESS.
* TFCP = FORMAT TABLE POINTERS.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS GTD,WOF.
DCT PRINT (=2C )
PRINT (=C* CONTROL POINT AREA*)
PRINT (=2C )
SA1 F.TCMT
SB2 X1+ SET CORE ADDRESS OF TABLE DATA
SA1 TFCP FORMAT TABLE POINTERS
RJ GTD GENERATE DETAILED TABLE DUMP
SB2 A0
JP B2 RETURN
DCX SPACE 4,18
** DCX - PRINT CONTROL POINT EXCHANGE PACKAGE,
* PARAMETER SUMMARY, AND EJT ENTRY.
*
* ENTRY (A0) = RETURN ADDRESS.
* (BD) = BINARY DUMP FLAG.
* (CN) = CONTROL POINT NUMBER.
* (FW) = CONTROL POINT AREA ADDRESS.
* (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
*
* USES X - ALL.
* A - 1, 2, 3, 5, 6, 7.
* B - 6, 7.
*
* CALLS CPS, CTS, FDW, FPW, FXW, GEE, SDI, SSB, UPS.
*
* MACROS PRINT.
DCX RJ SSB CLEAR PRINT STRING
SX1 19
RJ CPS CHECK PAGE SPACE
SA1 F.TCMT
SA2 FW
IX3 X1+X2 CONTROL POINT AREA ADDRESS
SA5 X3+ READ FIRST WORD OF XP
MX6 0
SA6 DCXA CLEAR LINE INDEX
SX7 -PRBF-1 PRESET TO PRINT ((REGISTERS))
SA7 DCXB SAVE PRINT STRING ADDRESS
SB7 PRBF+9
MX4 24
SA3 A5+6
BX1 X3*X4
LX1 24 MONITOR ADDRESS
BX3 X1-X2
ZR X3,DCX1 IF XP BELONGS TO THIS CONTROL POINT
SA2 BD
NZ X2,DCX1 IF BINARY DUMP
SA2 OP
NZ X2,DCX1 IF PCPA DUMP
SA2 =4HNOT
SB6 4
RJ UPS
SX7 PRBF+1 INDICATE ((REGISTERS)) NOT TO BE PRINTED
SA7 DCXB SAVE PRINT STRING ADDRESS
DCX1 SA2 =2HCP
SB6 2
SA1 OP
ZR X1,DCX2 IF NOT DUMPING PCP-S
SA2 =3HPCP
SB6 3
DCX2 RJ UPS UNPACK STRING
SA1 CN
LX1 -6
SB6 2
RJ CTS CONVERT CONTROL POINT NUMBER
SA2 =17H EXCHANGE PACKAGE
SB6 17
RJ UPS
PRINT CCCH,B7-CCCH
PRINT (=2C )
DCX3 RJ SSB CLEAR PRINT STRING BUFFER
SA1 DCXA LINE INDEX
SA2 A1+B1 GET PRINT STRING ADDRESS
SB7 X2
SX6 X1-10B
ZR X6,DCX5 IF A7 AND B7 JUST PRINTED
NG X6,DCX4 IF STILL DOING CONTROL REGISTERS
SX1 X1-1 CORRECT XP WORD INDEX
DCX4 RJ FXW FORMAT EXCHANGE PACKAGE WORD
DCX5 PRINT CCCH,137
SA1 DCXA
SX6 X1+B1
SA6 A1 ADVANCE LINE INDEX
SX6 X6-17
NZ X6,DCX3 IF MORE EXCHANGE PACKAGE LINES TO DUMP
SA6 DCXA CLEAR LINE INDEX
SA2 BD
NZ X2,DCX8 IF BINARY DUMP
PRINT (=2C* *)
PRINT (=C* PARAMETER SUMMARY*)
PRINT (=2C* *)
DCX6 RJ SSB CLEAR PRINT STRING BUFFER
SA1 DCXA LINE INDEX
RJ FPW FORMAT PARAMETER WORD
PRINT CCCH,137
SA1 DCXA ADVANCE LINE INDEX
SX6 X1+B1
SA6 A1
SX6 X6-17
NZ X6,DCX6 IF MORE PARAMETER LINES TO DUMP
PRINT (=2C )
PRINT (=2C )
PRINT (=C* EJT ENTRY*)
PRINT (=2C )
RJ GEE GET EJT ENTRY
SX3 0 PRESET EJT ENTRY INDEX
DCX7 IX1 X3+X5 FORMAT REFERENCE ADDRESS
LX1 -18
SB7 PRBF
SB6 6
RJ CTS
SA2 =4000005B FORMAT DATA WORD
SA1 X3+BUF
SB7 B7+B1
RJ FDW
SB6 10D SET DISPLAY CODE INTERPRETATION
SA2 X3+BUF
SB7 B7+2
RJ SDI
SX0 X3 SAVE EJT ENTRY INDEX
PRINT CCCH,B7-CCCH
SX3 X0+1 INCREMENT EJT ENTRY INDEX
SX6 X3-EJTE
NZ X6,DCX7 IF MORE TO DUMP
DCX8 SX1 10
RJ CPS FORCE PAGE EJECT IF UNDER 10 LINES LEFT
SB2 A0+
JP B2 RETURN
DCXA BSS 1 LINE INDEX
DCXB BSS 1 PRINT STRING ADDRESS
DDB SPACE 4,15
** DDB - DISPLAY *DFT* BLOCK.
*
* ENTRY (X5) = 0, IF ADDRESS IS SUPPLIED.
* (X5) = 1, IF ADDRESS IS IN R-REGISTER FORMAT.
* (X6) = SUPPLIED ADDERSS.
* (X7) = SUPPLIED LENGTH.
* (X3) = ADDRESS TO CONVERT, IF (X5) = 1.
* (X1) = ADDRESS OF TITLE.
*
* USES X - 6, 7.
* A - 6, 7.
*
* CALLS DRA, DSM.
*
* MACROS PRINT.
DDB SUBR ENTRY/EXIT
ZR X5,DDB1 IF ADDRESS SUPPLIED
RJ DRA CONVERT R-REGISTER ADDRESS
DDB1 LX6 3 SET STARTING BYTE ADDRESS
LX7 3 SET LAST BYTE ADDRESS
ZR X7,DDBX IF NO LENGTH
IX7 X6+X7
SA6 DDBA
SA7 A6+B1
PRINT X1 WRITE TITLE
PRINT (=C* *)
SB2 DDBA
RJ DSM DUMP 64-BIT MEMORY
DDB2 PRINT (=C* *)
EQ DDBX RETURN
DDBA CON 0 FWA TO DUMP
CON 0 LWA+1 TO DUMP
CON 0 *I* FORMAT
DFI SPACE 4,13
** DFI - DUMP FILE INFORMATION.
*
* ENTRY X5 = N IF FET LENGTH IS N+5 WORDS.
* .LT. 0 IF FET LENGTH IS A FUNCTION OF THE CONTENTS
* OF WORD 1, BITS 23-18 OF THE FET.
* X6 = CONTROL POINT NUMBER ASSOCIATED WITH FET.
* X7 = ADDRESS OF FET.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS CRA, CTS, FDW, PCM, PFS, SDI, SSB, UPS.
*
* MACROS GETCM, PRINT.
DFI SUBR
SA6 DFIF SAVE CONTROL POINT NUMBER
SA7 DFIG SAVE FET ADDRESS
RJ CRA COMPUTE REFERENCE ADDRESS
SA3 DFIG
SA6 DFIB
IX3 X6+X3
RJ PCM
GETCM BUF,5
PRINT (=2C )
PL X5,DFI1 IF FET LENGTH-5 SPECIFIED
MX0 -6
SA2 BUF+1
LX2 -18
BX5 -X0*X2 FET LENGTH-5
DFI1 ZR X5,DFI2 IF ENTIRE FET IS IN BUF
GETCM BUF+5,X5
DFI2 SX6 X5+5
SA6 DFIA FET LENGTH
SA1 BUF+4
MX0 12
BX6 X0*X1
LX6 12
SA1 F.TCMT
SB2 X1 TCMT TABLE BASE ADDRESS
SA1 F.TNFL POSITION TO RA IN TNFL
SA2 L.TNFL
IX1 X1+X2
IX1 X1-X6
SA4 X1 READ FNT ENTRY
SA5 A4+B1 READ FST ENTRY
SX7 X6
SA7 GNFA SET FNT ORDINAL
BX6 X4
LX7 X5
SA6 A7+B1 SET FNT
SA7 A6+B1 SET FST
SA1 A5+B1 READ FUT
BX6 X1
SA6 A7+B1 SET FUT
SA1 B2+ESTP EST POINTER WORD
AX1 36
AX7 48
R= X6,ESTE
SX1 X1+EQDE
IX6 X7*X6
IX6 X6+X1
SA6 A6+B1 SET EST ADDRESS
SA1 X6+B2
BX7 X1
SA7 A6+1 SET EST
RJ PFS PRINT FILE SUMMARY
* DUMP FET.
SX5 -1
RJ SSB CLEAR PRINT STRING
SA2 =5HFET -
SB6 5
SB7 PRBF+24
RJ UPS SET HEADER INFORMATION
* SET FET ADDRESS.
SA1 DFIG
SB6 6
SB7 PRBF+9
LX1 -18
RJ CTS
* SET CONTROL POINT NUMBER.
SA2 =2HCP
SB6 2
SB7 PRBF+18
RJ UPS
SA1 DFIF
SB6 2
LX1 -6
RJ CTS
DFI3 SA2 DFIA
SX5 X5+1
IX3 X2-X5
ZR X3,DFI4 IF ENTIRE FET DUMPED
* SET FET ORDINAL.
BX1 X5
SB7 PRBF+30
SX6 1R+
SA6 B7 SET RELATIVE SIGN
SB7 B7+1
LX1 -9
SB6 3
RJ CTS
* SET FET WORD.
SA1 BUF+X5
SB7 B7+2
SA2 =4000005B FORMAT CONTROL
RJ FDW
BX2 X1
SB6 10
RJ SDI
PRINT CCCH,B7-CCCH
RJ SSB CLEAR PRINT STRING
JP DFI3 CONTINUE
* DUMP FET EXTENDED LABELS.
DFI4 SA1 DFIA
SX2 X1-10
NG X2,DFIX IF EXTENDED LABEL WORD IMPOSSIBLE
SA1 BUF+1
LX1 59-41
PL X1,DFIX IF EXTENDED LABEL NOT SET
PRINT (=2C )
SA2 BUF+9
SX6 X2+
SA6 DFIC SET ADDRESS OF EXTENDED LABELS
SX7 100
SA7 DFID SET MAXIMUM NUMBER OF LABELS TO DUMP
DFI5 RJ SSB CLEAR PRINT STRING
SA1 DFIB
SA2 DFIC
IX3 X1+X2
RJ PCM POSITION TO START OF NEXT EXTENDED LABEL
SA2 =28HEXT LABEL CHARACTER COUNT =
SB6 28
SB7 PRBF
RJ UPS
GETCM READ HEADER
SX4 10
MX0 -12
BX1 -X0*X6 NUMBER OF CHARACTERS
ZR X1,DFIX IF NO MORE EXTENDED LABELS
LX1 -12
SB6 4
RJ CTS SET CHARACTER COUNT
SB7 B7+2 SPACE TWO TIMES
SX6 X1+ NUMBER OF CHARACTERS
SA6 DFIE
IX2 X6/X4 NUMBER OF WHOLE WORDS
SX4 10
SX3 X1+
IX0 X4*X2 NUMBER OF CHARACTERS WITHOUT REMAINDER
IX6 X3-X0 REMAINDER
ZR X6,DFI6 IF NO REMAINDER
SX2 X2+1
DFI6 SA1 DFIC
IX4 X1+X2
SX6 X4+B1
SA6 A1+ SET NEXT EXTENDED LABEL ADDRESS
GETCM BUF,10
SA1 DFIE NUMBER OF CHARACTERS
SX3 X1-101
NG X3,DFI7 IF .LE. 100 CHARACTERS
SX1 101
SX6 65B =1R_
LX6 -6 =1L_
SA6 BUF+10 INDICATE OVERFLOW
* SET EXTENDED LABEL.
DFI7 SB6 X1+
SB7 PRBF+34
SA2 BUF
RJ UPS
PRINT CCCH,B7-CCCH
SA1 DFID
SX6 X1-1
SA6 A1+ DECREMENT MAXIMUM NUMBER OF LABELS TO DUMP
NZ X6,DFI5 IF MAXIMUM NOT DUMPED
JP DFIX EXIT
DFIA BSS 1 FET LENGTH
DFIB BSS 1 CONTROL POINT REFERENCE ADDRESS
DFIC BSS 1 ADDRESS OF EXTENDED LABEL
DFID BSS 1 MAXIMUM NUMBER OF LABELS REMAINING TO DUMP
DFIE BSS 1 NUMBER OF CHARACTERS IN LABEL
DFIF BSS 1 CONTROL POINT NUMBER
DFIG BSS 1 FET ADDRESS
DFT SPACE 4,10
** DFT - PROCESS DFT MESSAGE AND DFT/OS BUFFER.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 6, 7.
* B - 2.
*
* CALLS CPS, CVB, DDB, DRA, GDA, ISM.
*
* MACROS SEARCH.
DFT SUBR ENTRY/EXIT
SX1 100 FORCE NEW PAGE
RJ CPS
SA1 ED
ZR X1,DFT1 IF USING *CM* RECORD
SA1 .DFT GET *DFT* RECORD
MX0 18
SEARCH TDIR,X1,X0
ZR X2,DFTX IF NOT FOUND
SA1 A2+2
SX6 X1 GET LENGTH OF DFT RECORD
SA6 EH
SA2 A2+3 POSITION PAST HEADER RECORD
BX6 X2
SA6 A6+B1 SAVE RANDOM INDEX
SA6 EI FORCE *EI* ADDRESSING
SA1 DFTE
BX6 X1
SA2 A1+B1
SA6 DFTF-1+/DFT/DFMD UPDATE POINTER WORD TABLE
BX7 X2
SX6 B0 SET OFFSET
SA7 DFTF-1+/DFT/DFRQ
SA6 AO
SX7 PBUF+20 FWA OF 60-BIT STORAGE BUFFER
SA7 CVBA
EQ DFT2 DISPLAY BUFFER
DFT1 SA1 F.TCMT
SA2 X1+EIBP READ *EICB* POINTER
SX6 X2+/VE/DFCM+1 GET ADDRESS OF DFT MESSAGE
SX7 3 SET LENGTH TO DUMP
SX1 =C* DFT MESSAGE.*
SX5 B0+
RJ DDB DISPLAY DFT BLOCK
RJ GDA GET DFT/OS BUFFER ADDRESS
ZR X3,DFTX IF NO DFT/OS BUFFER POINTER
BX7 X3
DFT2 SA7 DFTA SAVE ADDRESS OF DFT CONTROL WORD IN BUFFER
SA6 A7+B1 SAVE DFT/OS BUFFER ADDRESS
ERRNZ DFTB-DFTA-1 CODE REQUIRES CONTIGUOUS WORDS
SX5 B0
SX7 B1 SET LENGTH TO DUMP
SX1 =C* DFT CONTROL WORD.*
RJ DDB DISPLAY DFT BLOCK
SX3 1 NUMBER OF WORDS TO CONVERT
RJ CVB CONVERT CONTROL WORD
SA3 DFTA READ *DFT* CONTROL WORD
SA3 X3+/DFT/DFCW
LX3 -56
MX0 -4
BX3 -X0*X3 NUMBER OF POINTER WORDS
BX7 X3 SAVE NUMBER OF POINTER WORDS
SA7 DFTD
SX7 /DFT/DFHL-1 DEFAULT NUMBER OF POINTER WORDS
ZR X3,DFT3 IF NUMBER NOT IN CONTROL WORD
SX7 X3-1 SET NUMBER OF POINTER WORDS
DFT3 SX1 =C* DFT POINTER WORDS.*
SA3 DFTB
SX6 X3+B1 ADDRESS OF POINTER WORDS
SX5 B0
RJ DDB DISPLAY DFT BLOCK
SA3 DFTD
RJ CVB CONVERT POINTER WORDS
SA3 DFTA READ *DFT* CONTROL WORD
SA3 X3+/DFT/DFCW
MX0 -8
LX3 -16
BX7 -X0*X3 NUMBER OF BUFFER CONTROL WORDS
LX3 -24
BX3 -X0*X3 *DFT* REVISION LEVEL
SX3 X3-3-1 CHECK FOR *DFT* LEVEL 3
PL X3,DFT5 IF *DFT* VERSION 4 OR ABOVE
* PROCESS *DFT* VERSION 3.
SA3 DFTB
SX6 X3+/DFT/DFHL ADDRESS OF M/R CONTROL WORDS
SX5 B0+
SX1 =C* BUFFER CONTROL WORDS.*
RJ DDB DISPLAY DFT BLOCK
SX1 20
RJ CPS
SA3 DFTA
SA3 X3+/DFT/DFMR M/R BUFFER POINTER
SX1 =C* M/R BUFFERS.*
SX5 B1+
RJ DDB DISPLAY DFT BLOCK
SX1 20
RJ CPS
SA3 DFTA
SA3 X3+/DFT/DFMD MODEL DEPENDENT BUFFER POINTER
ZR X3,DFT4 IF NO MODEL DEPENDENT BUFFER
SX5 B1+
SX1 =C* MODEL DEPENDENT BUFFER.*
RJ DDB DISPLAY DFT BLOCK
DFT4 SA3 DFTA
SA3 X3+/DFT/DFRQ NOS REQUEST AREA POINTER
SX6 /DFT/RQBL INCREMENT LENGTH FIELD
IX3 X3+X6
SX5 B1
SX1 =C* NOS REQUEST AREA.*
RJ DDB DISPLAY *DFT* BLOCK
EQ DFTX RETURN
* PROCESS *DFT* VERSION 4 OR ABOVE.
DFT5 SX6 DFTF SET FIRST TABLE ENTRY ADDRESS
SA6 DFTC
SX6 DDB2 SET ERROR RETURN ADDRESS
SA6 ERRC+1
DFT6 SA1 DFTC GET NEXT TABLE ENTRY ADDRESS
SA2 X1+ GET NEXT TABLE ENTRY
ZR X2,DFT8 IF END OF TABLE
SX6 X1+B1
SA6 A1 ADVANCE TABLE ADDRESS
NG X2,DFT6 IF SPECIAL ENTRY
SX1 X2 SET ADDRESS OF HEADER
AX2 30 SET POINTER OFFSET
SB2 X2+
SA3 DFTA GET POINTER WORD
SA3 X3+B2
SX5 B1
ZR X3,DFT6 IF POINTER NOT PRESENT
SA2 ED
ZR X2,DFT7 IF NOT *DROPVE* DUMP
SA2 DFTD GET BLOCK ADDRESS WITHIN *DFT* RECORD
SX5 B0
MX0 -16
BX7 -X0*X3 GET BLOCK LENGTH
IX6 X7+X2
SA6 A2 UPDATE ADDRESS FOR NEXT BLOCK
BX6 X2 SET CONVERTED ADDRESS
DFT7 RJ DDB DISPLAY *DFT* BLOCK
SX1 20
RJ CPS CHECK PAGE SPACING
EQ DFT6 PROCESS NEXT *DFT* TABLE
* DISPLAY MODEL DEPENDENT BUFFERS.
DFT8 SA1 ED
SX1 X1-1
ZR X1,DFTX IF *DROPVE* DUMP
SA2 DFTA
SA3 X2+/DFT/DFMD MDB POINTER ADDRESS
SX1 =C* MODEL DEPENDENT BUFFER.*
RJ DRA CONVERT ADDRESS
SA6 A2+B1 SAVE MDB POINTER ADDRESS
ERRNZ DFTA-DFTB+1
BX5 X5-X5
RJ DDB DISPLAY MDB POINTER WORDS
SA1 DFTB CALCULATE MDB FWA
SA2 F.TCMT
IX6 X1+X2
SA6 A1
BX6 X6-X6
SA6 A1+B1 MDB ORDINAL
ERRNZ DFTB-DFTC+1
DFT9 SA3 DFTB GET NEXT MDB POINTER
IX3 X3+X6
SA3 X3
SX1 =C* * NO TITLE
SX5 B1+
RJ DDB DISPLAY MODEL DEPENDENT BUFFER
SA1 DFTC UPDATE MDB ORDINAL
SX6 X1+B1
SA6 A1
AX1 1
ZR X1,DFT9 IF NOT THROUGH DISPLAYING MDB
EQ DFT4 DUMP NOS REQUEST AREA
DFTA CON 0 FWA OF DFT/OS BUFFER IN *TCMT*
DFTB CON 0 FWA OF DFT/OS BUFFER
DFTC CON 0 NEXT TABLE ENTRY ADDRESS
DFTD CON 0 *DROPVE* DUMP BLOCK ADDRESS
DFTE VFD 30//DFT/DFMD,30/=C* MODEL DEPENDENT BUFFER POINTERS.*
VFD 30//DFT/DFRQ,30/=C* NOS REQUEST AREA.*
** TABLE OF *DFT* TABLES TO DISPLAY.
*
*T 30/ OFFSET, 30/ ADDRESS
*
* OFFSET = OFFSET OF POINTER IN *DFT/OS* BUFFER.
* ADDRESS = ADDRESS OF HEADER TO DISPLAY.
*
* NOTE - ENTRIES IN THE TABLE MUST BE IN *COMSDFT* ORDER.
* ENTRIES CONSISTING OF *-1* ARE SPECIAL ENTRIES AND
* ARE PROCESSED SEPARATELY.
DFTF BSS 0
VFD 30//DFT/DFSI,30/=C* SECDED ID TABLE.*
VFD 30//DFT/DFMR,30/=C* M/R BUFFERS.*
CON -1
VFD 30//DFT/DFNV,30/=C* NOS/VE BUFFER.*
VFD 30//DFT/DFPS,30/=C* PPR SAVE AREA.*
CON -1
VFD 30//DFT/DFBC,30/=C* BUFFER CONTROL WORDS.*
VFD 30//DFT/DFEC,30/=C* ELEMENT COUNTER BUFFER.*
VFD 30//DFT/DFER,30/=C* ERROR CONTROL RECORD.*
VFD 30//DFT/DFSS,30/=C* SUPPORTIVE STATUS BUFFERS.*
VFD 30//DFT/DFNR,30/=C* NON REGISTER STATUS.*
VFD 30//DFT/DFCA,30/=C* DFT CMR AREA.*
VFD 30//DFT/DFPR,30/=C* PP REGISTER DATA.*
VFD 30//DFT/DFSD,30/=C* DFT SECONDARY BUFFER POINTER.*
CON 0 END OF TABLE
SPACE 4,10
*** DHA - DUMP RHF DAYFILE BUFFER.
*
* ENTRY (CN) = CONTROL POINT NUMBER.
* (A0) = RETURN ADDRESS.
*
* USES X - 1, 6.
* A - 1, 6.
* B - 3.
*
* CALLS DCP.
DHA SA1 =1LA SET OPTION FOR DAYFILE DUMP
DHA1 SX6 A0 SAVE RETURN ADDRESS
SA6 DHAA
BX6 X1
SA6 CL
RJ DCP DUMP DAYFILE BUFFERS
SA1 DHAA GET RETURN ADDRESS
SB3 X1
JP B3 RETURN
DHAA DATA 0 RETURN ADDRESS
SPACE 4,10
** DHC - DUMP RHF FIELD LENGTH.
*
* ENTRY (A0) = RETURN ADDRESS.
*
* EXIT TO DHA1.
*
* USES X - 1.
* A - 1.
DHC SA1 =1LD
JP DHA1 SET TO DUMP FIELD, *D* FORMAT
SPACE 4,10
** DHP - DUMP RHF PPU-S.
*
* ENTRY (A0) = RETURN ADDRESS.
*
* USES ALL REGISTERS.
*
* CALLS ASP.
DHP SX6 DHPA
JP ASP DUMP PPUS
DHPA BSS 0 PARAMETERS FOR *ASP*
VFD 18/3LNDR,42/0
VFD 18/3LNLD,42/0
VFD 18/3LRHH,42/0
VFD 60/-1 END OF PARAMETERS
DHR SPACE 4,15
** DHR - DISPLAY HEX REGISTER.
*
* ENTRY DUMP FILE POSITIONED AT REGISTER TO DISPLAY.
* (B7) = OUTPUT COLUMN POINTER.
*
* USES X - 1, 5.
* B - 6, 7.
*
* CALLS HTS, NXB.
*
* MACROS PRINT.
DHR SUBR ENTRY/EXIT
SX5 4
DHR1 SB7 B7+2
RJ NXB GET NEXT 16 BITS OF REGISTER
SB6 4
LX1 59-15
RJ HTS DISPLAY 4 HEX DIGITS
SX5 X5-1
NZ X5,DHR1 IF MORE DATA TO DISPLAY
PRINT CCCH,B7-CCCH+1
EQ DHRX RETURN
DMB SPACE 4,15
** DMB - DISPLAY MESSAGE BUFFER.
*
* ENTRY (A2) = FWA OF MESSAGE BUFFER.
* (B6) = CHARACTER COUNT.
* (B7) = STRING BUFFER POSITION.
*
* EXIT MESSAGE BUFFER UNPACKED TO STRING BUFFER.
*
* USES X - 0, 1, 3.
* A - 3.
* B - 4, 5, 6.
*
* CALLS UPS.
DMB2 SB6 B5+
ZR B5,DMBX IF EMPTY BUFFER
DMB3 RJ UPS UNPACK MESSAGE
DMB SUBR ENTRY/EXIT
SB5 B0 INITIALIZE CHARACTER COUNTER
MX0 12
SB4 4 INITIALIZE BYTE COUNTER
SA3 A2+ READ FIRST WORD
DMB1 BX1 X0*X3
ZR X1,DMB2 IF EOL
LX0 -12
SB5 B5+2
GT B5,B6,DMB3 IF END OF MESSAGE
SB4 B4-B1
PL B4,DMB1 IF NOT FINISHED WITH WORD
SA3 A3+B1
SB4 4
EQ DMB1 READ NEXT WORD
DMP SPACE 4,7
** DMP - DUMP MAGNET PPUS.
*
* ENTRY A0 = RETURN ADDRESS.
*
* USES ALL REGISTERS.
*
* CALLS ASP.
DMP SX6 DMPA
JP ASP
DMPA VFD 18/3L1MT,42/0
VFD 60/-1 END OF PARAMETER BLOCK
DMQ SPACE 4,9
** DMQ - DUMP MAGNET QUEUE TABLE.
*
* ENTRY A0 = RETURN ADDRESS.
*
* USES X - 1, 2, 3, 4, 5, 6, 7.
* A - 1, 2, 3, 5, 6, 7.
* B - 2.
*
* CALLS DOT, PCM, PCW.
*
* MACROS PRINT.
DMQ PRINT (=2C )
PRINT (=C* MAGNET QUEUE TABLE*)
PRINT (=2C )
SA1 SSBF+/MTX/UQUE
SA2 FC
SX6 X1+ FWA
SA3 SSBF+/MTX/TAJP
ZR X3,DMQ1 IF TAPE ALTERNATE STORAGE NOT ACTIVE
SA2 SSBF+/MTX/TSRP
DMQ1 SX7 X2 LWA+1
ZR X6,DMQ2 IF NO QUEUE TABLE FWA
IX4 X6-X7
PL X4,DMQ2 IF LWA+1 .LE. FWA
SA6 DMQA
SA7 A6+B1
SA2 RC
IX3 X6+X2
RJ PCM POSITION TO QUEUE TABLE
SB2 DMQA
RJ DOT DUMP ORDINAL TABLE
JP DMQ3 RETURN
DMQ2 SA5 DMQB
RJ PCW PRINT CONTENTS OF *UQUE* WORD
DMQ3 SB2 A0
JP B2 RETURN
DMQA VFD 60/0 FWA
VFD 60/0 LWA+1
VFD 60/0 STARTING ORDINAL
VFD 60/2 ORDINAL INCREMENT
VFD 24/0,18/4,18/5 FORMAT CONTROL
DMQB VFD 36/6L*UQUE*,6/0,18//MTX/UQUE
DATA 40HMAGNET QUEUE TABLE FWA
VFD 60/0
DMR SPACE 4,15
** DMR - DUMP MAINTENANCE REGISTERS.
*
* ENTRY (X1) = RECORD ID.
* (X7) = PARAMETER LIST POINTER.
*
* USES A - 1, 2, 4, 5, 6, 7.
* B - 2, 3, 4, 6, 7.
* X - ALL.
*
* CALLS GID, HTS, LDC, RMR, SDT, SHA, SSB, UCS, UPS.
*
* MACROS PRINT.
DMR SUBR ENTRY/EXIT
SA7 DMRB DESCRIPTOR TABLE
SX7 B0
BX6 X1
SA6 DMRA RECORD ID
SA2 NR
ZR X2,DMR1 IF FIRST RECORD
SA7 DMRE RESET REGISTER 31 OCCURRENCE FLAG
DMR1 RJ GID GET ELEMENT ID
SB2 X6
SX1 B1
LX6 X1,B2 FORM BIT MASK OF MODEL NUMBER
SA1 DMRB
SX1 X1-/DIRECT/IMRA
NZ X1,DMR1.1 IF NOT IOU REGISTER DUMP
SX7 X7-0#42
NZ X7,DMR1.1 IF NOT MODEL 42 IOU
SX6 I4S SET BIT MASK FOR MODEL 42 IOU
DMR1.1 SA6 DMRF SET MODEL NUMBER BIT MASK
SX6 /IOU/PRDM+1 PRESET LAST REGISTER NUMBER
RJ SHA SET HEX ADDRESSES
RJ LDC LIST DIRECTIVE CARD
* SKIP TO FIRST REGISTER TO DUMP.
SX6 -1
SA6 LPWA PRESET BYTE AND WORD POSITION IN BUFFER
SX6 X6+B1
SA6 A6+B1
DMR2 RJ RMR READ MAINTENANCE REGISTER
ZR X1,DMRX IF END OF REGISTERS
SA1 RMRB CHECK REGISTER .LT. FIRST REGISTER
SA2 FW
IX6 X1-X2
NG X6,DMR2 IF REGISTER .LT. FIRST REGISTER
* PRINT RADIAL MCI, HEADER.
RJ SSB
PRINT (=2C )
SB7 PRBF
SA2 =13HRADIAL MCI =
SB6 13
RJ UPS
SA2 RDRA
LX2 3*6
SB6 1
RJ UPS UNPACK RADIAL MCI
PRINT CCCH,B7-CCCH
PRINT (=2C )
PRINT (=C* REG CONTENTS DESCRIPTION*)
PRINT (=2C )
* PRINT REGISTER NUMBER AND CONTENTS.
DMR3 RJ SSB SPACE FILL STRING BUFFER
SB7 PRBF+1 PRINT REGISTER NUMBER
SA1 RMRB
SB6 2
LX1 52
RJ HTS
SB7 PRBF+5 PRINT REGISTER CONTENTS
SA1 RMRA
SB4 X1
SB3 MRBF
DMR4 SA1 B3
SB6 2
LX1 52
RJ HTS
SB3 B3+B1
SB4 B4-B1
ZR B4,DMR5 IF REGISTER CONTENTS PRINTED
SA1 B3
SB6 2
LX1 52
RJ HTS
SB7 B7+B1
SB3 B3+B1
SB4 B4-B1
NZ B4,DMR4 IF REGISTER CONTENTS NOT PRINTED
* PRINT REGISTER DESCRIPTION.
DMR5 SA1 RMRB REGISTER NUMBER
SA2 /DIRECT/PMRD CHECK FOR REGISTER 31
SA4 DMRF GET MODEL NUMBER BIT MASK
RJ SDT
ZR X2,DMR5.1 IF NOT REGISTER 31
SA2 DMRE
ZR X2,DMR5.0 IF FIRST OCCURANCE OF REGISTER 31
SA2 /DIRECT/PMRD REGISTER DESCRIPTOR
EQ DMR5.2 PROCESS SECOND OCCURANCE OF REGISTER 31
DMR5.0 SX6 1 SET REGISTER 31 OCCURANCE FLAG
SA6 DMRE
DMR5.1 SA1 RMRB REGISTER NUMBER
SA2 DMRB DESCRIPTOR TABLE POINTER
SA4 DMRF GET MODEL NUMBER BIT MASK
SA2 X2 GET FIRST ENTRY OF TABLE
RJ SDT SEARCH DESCRIPTOR TABLE
ZR X2,DMR8 IF REGISTER NOT FOUND
DMR5.2 MX0 -17
BX6 X2
BX2 -X0*X2
AX6 17 ISOLATE SECONDARY TABLE
BX6 -X0*X6
SA6 DMRD
SA2 X2 GET DESCRIPTOR
SB7 PRBF+30
RJ UCS
PRINT CCCH,B7-CCCH
SA1 DMRD
ZR X1,DMR8 IF NO SECONDARY TABLE
* PRINT BIT NUMBER AND DESCRIPTION FOR SET BITS OF INTEREST.
DMR6 SA5 DMRD FETCH SECONDARY DESCRIPTOR TABLE ENTRY
SA1 X5
ZR X1,DMR8 IF END OF SECONDARY DESCRIPTOR TABLE
SX6 X5+B1 INCREMENT DESCRIPTOR TABLE POINTER
SA6 DMRD
SA4 DMRF GET MODEL NUMBER BIT MASK
LX4 17+17
BX6 X1*X4
ZR X6,DMR6 IF INFORMATION IS NOT FOR THIS MACHINE
MX0 -3 DETERMINE IF SPECIFIED BIT IS SET
BX6 X1
SA6 DMRC
AX1 -9
BX2 -X0*X1
AX1 3
SA1 X1+MRBF
SB2 X2+52
LX1 B2
PL X1,DMR6 IF BIT NOT SET
RJ SSB SPACE FILL STRING BUFFER
SB7 PRBF+18 PRINT *BIT NN*
SA2 =4HBIT
SB6 4
RJ UPS
SA1 DMRC
AX1 -9
BX3 X1
SX2 10
SX6 X2
IX4 X1/X2 CALCULATE UPPER DIGIT
IX1 X4*X6
SX6 X4+1R0
SA6 PRBF+22 STORE UPPER DIGIT
IX2 X3-X1 FORM REMAINDER
SX6 X2+1R0
SA6 A6+B1
SB7 PRBF+26 PRINT DESCRIPTION
SA1 DMRC
SA2 X1
RJ UCS
PRINT CCCH,B7-CCCH
EQ DMR6 CONTINUE PRINTING BIT DESCRIPTIONS
* TEST ALL REGISTERS PROCESSED.
DMR8 RJ RMR READ NEXT MAINTENANCE REGISTER
ZR X1,DMRX IF END OF REGISTERS
SA1 RMRB
SA2 LW
IX6 X1-X2
NG X6,DMR3 IF MORE REGISTERS TO PRINT
EQ DMRX RETURN
DMRA BSS 1 RECORD ID
DMRB BSS 1 DESCRIPTOR TABLE POINTER
DMRC BSS 1 DESCRIPTOR TABLE ENTRY
DMRD BSS 1 SECONDARY DESCRIPTOR TABLE ADDRESS
DMRE BSSZ 1 REGISTER 31 OCCURANCE FLAG
DMRF BSS 1 MODEL NUMBER BIT MASK
DMS SPACE 4,15
** DMS - DUMP MAGNET TAPE PF STAGING TABLES.
*
* ENTRY (A0) = RETURN ADDRESS.
*
* USES X - 2, 3, 4, 6, 7.
* A - 2, 3.
* B - 2.
*
* CALLS DST.
*
* MACROS PRINT.
DMS BSS 0 ENTRY
SA3 SSBF+/MTX/TAJP
ZR X3,DMS1 IF TAPE ALTERNATE STORAGE NOT ACTIVE
PRINT (=2C )
PRINT (=C* ACTIVE STAGING JOB TABLE*)
PRINT (=2C )
SA3 SSBF+/MTX/TAJP
SX6 X3 FWA
AX3 24
SX7 X3 LWA+1
RJ DST DUMP STAGING TABLE
PRINT (=2C )
PRINT (=C* STAGING VSN TABLE*)
PRINT (=2C )
SA3 SSBF+/MTX/TVSP
SX6 X3 FWA
AX3 24
SX7 X3 LWA+1
RJ DST DUMP STAGING TABLE
PRINT (=2C )
PRINT (=C* STAGE REQUEST TABLE*)
PRINT (=2C )
SA3 SSBF+/MTX/TSRP
SA2 FC
SX6 X3 FWA
SX7 X2 LWA+1
RJ DST DUMP STAGING TABLE
DMS1 SB2 A0
JP B2 RETURN
DMU SPACE 4,15
** DMU - DUMP MAGNET UNIT DESCRIPTOR TABLES.
*
* ENTRY (A0) = RETURN ADDRESS.
* (CN) = MAGNET CONTROL POINT NUMBER.
* (NC) = NUMBER OF CONTROL POINTS - 1.
* (RC) = MAGNET CONTROL POINT REFERENCE ADDRESS.
*
* USES X - ALL.
* A - 1, 2, 4, 6, 7.
* B - 2, 3, 6, 7.
*
* CALLS CTS, DFI, GTD, PCM, UPS.
*
* MACRO GETCM, PRINT.
DMU PRINT (=2C )
PRINT (=C* MAGNET UNIT DESCRIPTOR TABLES*)
SX6 A0+ SAVE RETURN ADDRESS
SA6 DMUC
SA1 SSBF+/MTX/UBUF
SX6 X1 FWA OF UDT
AX1 24
SX7 X1 LWA OF UDT
SA6 DMUA SAVE FWA OF FIRST UDT ENTRY
SA7 A6+B1 SAVE LWA OF UDT
DMU1 SA1 A6+B1 GET LWA OF UDT
IX1 X1-X6
ZR X1,DMU4 IF ALL UDTS DUMPED
BX1 X6
SA2 RC
IX3 X1+X2
RJ PCM POSITION TO NEXT UDT
GETCM BUF,/MTX/UNITL READ UDT
PRINT (=2C )
SB7 PRBF
SA2 =4HEST
SB6 4
RJ UPS STORE IN PRINT STRING
SA1 BUF+/MTX/UST1 SET EST ORDINAL
LX1 27
SB6 3
RJ CTS CONVERT EST ORDINAL
PRINT CCCH,B7-CCCH
PRINT (=2C )
SA1 DMUA
BX6 X1
BX2 -X1
SB2 X2+BUF SET CORE ADDRESS OF TABLE DATA
SA6 FW SET PRINT ADDRESS
SA1 TFMU FORMAT TABLE POINTERS
RJ GTD GENERATE DETAILED TABLE DUMP
SA1 DMUA
SX6 X1+/MTX/UNITL
SA6 A1 SET NEXT UDT FWA
JP DMU1
DMU4 SA1 DMUC GET RETURN ADDRESS
SB2 X1
JP B2 RETURN
DMUA BSS 2 FWA, LWA OF UDT
DMUC BSS 1 RETURN ADDRESS
DNN SPACE 4,10
** DNN - PROCESS CPP-S.
*
* ENTRY VIA UNCONDITIONAL JUMP.
*
* EXIT TO *RBI2* IF NORMAL.
* TO *PPE1* IF PREMATURE EOF.
*
* USES X - 1, 7.
* A - 1, 7.
*
* CALLS CRS, ERF, RBF.
DNN BSS 0 ENTRY
RJ ERF POSITION TO EOR ON FILE *F*
RJ RBF READ FIRST PART OF RECORD
NZ X1,PPE1 IF PREMATURE EOF
SA1 ID SHIFT RECORD ID BEFORE ENTRY INTO TABLE
BX7 X1
AX7 6
SA7 A1
RJ CRS COPY RECORD TO FILE *S*
EQ RBI2 EXIT TO READ NEXT RECORD FROM FILE *F*
DOS SPACE 4,15
** DOS - DISPLAY OCTAL DIGITS WITH LEADING ZERO SUPPRESSION.
*
* ENTRY (X1) = DIGITS RIGHT-JUSTIFIED.
* (B4) = NUMBER OF DIGITS TO CONVERT.
* (B7) = STRING BUFFER POINTER.
*
* EXIT DIGITS CONVERTED AND UNPACKED.
* (B4) UNCHANGED.
* (B7) UPDATED TO TWO SPACES PAST LAST DIGIT.
*
* SAVES X - 5.
* A - 0, 1, 3, 5, 7.
* B - 0, 1, 4.
*
* CALLS COD, UPS.
DOS1 AX2 X6,B5 ** LOGICAL SHIFT BY -((B4)*6) **
SB4 A2-B1 RESTORE B4
RJ UPS UNPACK TO STRING BUFFER
DOS SUBR ENTRY/EXIT
SB2 B4+B4
MX3 1
SB2 B2+B4 (B4)*3
SA2 B4+B1 SAVE B4
SB3 B2-B1
SB5 B2+B2 (B4)*6
AX3 B3 CREATE MASK
LX3 B2
SB6 A2+B1 UNPACK (B4) DIGITS + 2 SPACES
BX1 X3*X1 MASK OFF DIGITS
RJ COD CONVERT OCTAL DIGITS
SB5 B5-60
EQ DOS1 UNPACK CONVERTED DIGITS
DOT SPACE 4,20
** DOT - DUMP ORDINAL TABLE.
*
* ENTRY B2 = DUMP PARAMETER BLOCK ADDRESS.
*
* PARAMETER BLOCK FORMAT -
*
*T WORD0 60/FWA OF DUMP
*T WORD1 60/LWA+1 OF DUMP
*T WORD2 60/STARTING ORDINAL
*T WORD3 60/ORDINAL INCREMENT PER LINE OF TWO WORDS
*T WORD4 60/FORMAT CONTROL
* DUMP FILE IS POSITIONED.
*
* EXIT INPUT PARAMETER BLOCK NOT UPDATED.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS CTS, FDW, SDI, SRD, SSB.
*
* MACROS GETCM, MOVE, PRINT.
DOT SUBR
MX6 1
SX7 B0
SA6 SRDA PRESET FIRST CALL TO *SRD*
SA7 SRDC+10 STOP DASHES AFTER 100 CHARACTERS
MOVE 5,B2,DOTA FETCH PARAMETER BLOCK
RJ SSB SPACEFILL STRING BUFFER
DOT1 GETCM BUF,2
SX1 BUF SET DATA ADDRESS
SB5 2 WORD COUNT
RJ SRD SENSE REPEAT DATA
NZ X1,DOT3 IF REPEAT SENSED
SA1 DOTA
LX1 -21
SB6 7
SB7 PRBF
RJ CTS CONVERT ADDRESS
SB7 B7+4 SPACE FOUR
SX6 1R+
SA6 B7 ADD RELATIVE SIGN
SB7 B7+B1
SA1 DOTA+2
LX1 -15
SB6 5
RJ CTS CONVERT ORDINAL
SA1 BUF
SB2 2
DOT2 SB7 B7+4 SPACE FOUR
SA2 DOTA+4 FORMAT CONTROL
RJ FDW FORMAT DATA WORD
SA1 A1+B1
SB2 B2-B1
NZ B2,DOT2 IF MORE TO DUMP
SB7 B7+4 SPACE FOUR
SA2 A1-2
SB6 20
RJ SDI SET DISPLAY CODE INTERPRETATION
PRINT CCCH,B7-CCCH
DOT3 SA1 DOTA FWA
SA2 DOTA+2 ORDINAL
SA3 A2+B1 ORDINAL INCREMENT
SA4 A1+B1 LWA+1
SX6 X1+2
IX7 X2+X3
SA6 A1 UPDATE FWA
SA7 DOTA+2 UPDATE ORDINAL
IX3 X6-X4
NG X3,DOT1 IF MORE TO DUMP
SA1 SRDC+1
BX6 X1
SA6 SRDC+10 RESET DASHES FOR 136 CHARACTERS
JP DOTX EXIT
DOTA BSS 5 DUMP PARAMETER BLOCK
DPB SPACE 4,20
** DPB - DISPLAY PPU BYTE.
*
* PRINT THE 16 BIT PPU BYTE AS EITHER FOUR HEX DIGITS OR
* SIX OCTAL DIGITS. IF THE BYTE IS ZERO, PRINT FOUR DASHES. IF
* THE BYTE IS LESS THEN 10000B AND IS TO BE DISPLAYED IN OCTAL,
* SUPPRESS THE UPPER TWO ZEROS.
*
* ENTRY (X5) = ZERO IF HEXADECIMAL INTERPRETATION,
* NON-ZERO IF DECIMAL INTERPRETATION.
* (X1) = DATA TO DISPLAY.
* (B7) = POSITION TO DISPLAY INFORMATION.
*
* EXIT (B7) = UPDATED DISPLAY INFORMATION POINTER.
*
* USES A - 6.
* B - 6, 7.
* X - 1, 2, 6.
*
* CALLS CTS, HTS.
DPB SUBR ENTRY/EXIT
NZ X5,DPB2 IF OCTAL
SB6 4
LX1 -16
RJ HTS DISPLAY 4 HEX DIGITS
NZ X1,DPBX IF DATA NONZERO
DPB1 SX6 1R- DISPLAY ---- FOR A ZERO
SA6 B7-B1
SA6 A6-B1
SA6 A6-B1
SA6 A6-B1
EQ DPBX RETURN
DPB2 SB6 6
LX1 -12
SX2 X1
LX1 -6
NZ X2,DPB3 IF UPPER 4 BITS ARE NONZERO
LX1 6
SX6 1R
SA6 B7
SA6 B7+B1
SB7 A6+B1
SB6 4 DISPLAY 4 OCTAL DIGIT
DPB3 RJ CTS
ZR X1,DPB1 IF WORD IS ALL ZERO
EQ DPBX RETURN
DPN SPACE 4,10
** DPN - DISPLAY PROCEDURE NAME.
*
* ENTRY (X1) = ADDRESS OF STACK FRAME.
* (X6) = EXCHANGE PACKAGE ADDRESS.
*
* USES A - 0, 1, 2, 6, 7.
* X - 1, 2, 3, 5, 6, 7.
* B - 2, 6, 7.
*
* CALLS EVA, FRV, PVM, RMB, SAI, SVA, UPS.
*
DPN2 PRINT CCCH,13
DPN SUBR ENTRY/EXIT
SA6 DPNA+1 SAVE EXCHANGE PACKAGE ADDRESS
SX2 4*8+2
IX6 X1+X2
SA6 DPNA SAVE STACK FRAME ADDRESS
SA2 =12HSTACK FRAME
SB6 12
SB7 PRBF
RJ UPS UNPACK STRING
SA1 DPNA
RJ FRV FETCH REGISTER VALUE
NZ X2,DPN2 IF NO REGISTER VALUE, RETURN
RJ EVA EXPAND VIRTUAL ADDRESS
ZR X2,DPN2 IF NIL POINTER
SB2 DPNA
SX1 8+2
IX6 X7+X1 OFFSET TO PROCEDURE NAME POINTER
SA6 B2
RJ SVA CONVERT TO SVA
SA2 STSDE FETCH SEGMENT DESCRIPTOR
MX3 2
LX2 59-15+4
BX2 X3*X2
BX3 X3-X2
NZ X3,DPN2 IF NOT A BINDING SECTION
RJ FRV FETCH REGISTER VALUE
NZ X2,DPN2 IF NO REGISTER VALUE, RETURN
ZR X6,DPN2 IF NO PVA GIVEN
RJ EVA EXPAND VIRTUAL ADDRESS
ZR X2,DPN2 IF NIL POINTER
SA7 DPNA
SB2 A7
RJ SVA CONVERT TO SVA
SA6 DPNA SAVE CONVERTED SVA
RJ PVM POSITION VIRTUAL MEMORY
NZ X2,DPN2 IF NO REGISTER VALUE, RETURN
SA1 DPNA
SX6 32/8
RJ RMB READ MEMORY BYTES
SA0 BUF
SX5 32/2
SA1 A0+B1
MX2 -8
BX6 -X2*X1
SX6 X6-0#24 CHECK FOR *$*
NZ X6,DPN2 IF NO *$*, RETURN
SA2 =9HMODULE =
SB6 9
SB7 PRBF+12
RJ UPS UNPACK STRING
DPN1 SA2 A0
SA0 A0+B1
LX2 59-15
SB6 B1+B1
RJ SAI SET ASCII INTERPRETATION
SX5 X5-1
NZ X5,DPN1 IF MORE TO DECODE
PRINT CCCH,B7-CCCH
JP DPNX RETURN
DPNA CON 0 PVA/SVA
CON 0 EXCHANGE PACKAGE
DPO SPACE 4,14
** DPO - DUMP PP OVERLAY.
*
* ENTRY X3 = ABSOLUTE ADDRESS OF OVERLAY HEADER.
* X5 = RELATIVE ADDRESS OF OVERLAY HEADER.
*
* EXIT X6 = 0 IF ALL OVERLAYS DUMPED.
* .NE. 0 IF MORE OVERLAYS TO DUMP.
* X5 = ADDRESS OF NEXT OVERLAY HEADER.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS CTS, DOT, PCM, UPS.
*
* MACROS GETCM, PRINT.
DPO SUBR
SX0 X3 SAVE ABSOLUTE ADDRESS
RJ PCM
GETCM
ZR X6,DPOX IF FINISHED WITH OVERLAYS
SA6 DPOA SAVE OVERLAY HEADER
SX3 X0
RJ PCM POSITION TO OVERLAY HEADER AGAIN
PRINT (=2C )
SA2 DPOA
SB7 PRBF
SB6 3
RJ UPS STORE OVERLAY NAME IN PRINT STRING
SA2 =14H PP LENGTH =
SB6 14
RJ UPS STORE IN PRINT STRING
SA1 DPOA
SX3 X1 CM LENGTH
IX6 X3+X5
ZR X3,ERR19 IF LENGTH EQUALS ZERO
SX7 X5+
SA6 DPOB+1 LWA+1
SA7 A6-B1 FWA
AX1 24
SX6 X1 PP LOAD ADDRESS
SA6 A6+B1 STARTING ORDINAL
SX4 5
IX1 X3*X4 PP LENGTH
LX1 -12
SB6 4
RJ CTS STORE PP LENGTH IN PRINT STRING
PRINT CCCH,B7-CCCH
PRINT (=2C )
SB2 DPOB
RJ DOT DUMP ORDINAL TABLE
SA5 DPOB+1 ADDRESS OF NEXT OVERLAY HEADER
SX6 1 INDICATE MORE OVERLAYS TO DUMP
JP DPOX EXIT
DPOA BSS 1 OVERLAY HEADER
DPOB VFD 60/0 FWA
VFD 60/0 LWA+1
VFD 60/0 STARTING ORDINAL
VFD 60/5*2 ORDINAL INCREMENT
VFD 24/0,18/4,18/5 FORMAT CONTROL
DPP SPACE 4,12
** DPP - DUMP PPU/FLPP IN *P* FORMAT.
*
* ENTRY PD = NUMBER OF LINES PER PAGE.
* DUMP FILE POSITIONED TO CORRECT PPU/FLPP RECORD.
*
* USES X - 1, 2, 5, 6.
* A - 0, 1, 2, 6.
* B - 6, 7.
*
* CALLS CPS, CTS, FOL, RBT, UPS.
*
* MACROS PRINT.
DPP SUBR
BX6 X6-X6
SA6 NXBA INITIALIZE *NXB*
SA6 A6+B1
ERRNZ NXBB-NXBA-1 CODE REQUIRES CONTIGUOUS LOCATIONS
SA6 RBTA INITIALIZE BYTE READING ROUTINE
SA6 FW CLEAR ADDRESS COUNTER
* FORMAT 2 SIDE BY SIDE BLOCKS.
DPP1 SX1 10
RJ CPS CHECK PAGE SPACE
PRINT (=2C )
SA2 DPPA
SB6 121
SB7 PRBF
RJ UPS SET HEADER LINE
SA1 FW ADDRESS COUNTER
LX1 -9
SB6 3
SB7 PRBF+4
RJ CTS SET ADDRESS IN LEFT BLOCK
SX1 X1+B1
LX1 -9
SB6 3
SB7 PRBF+68
RJ CTS SET ADDRESS IN RIGHT BLOCK
PRINT CCCH,122
SA0 200B
RJ RBT READ NEXT 200B BYTES
SX5 0 ROW COUNTER
SX6 1R
SA6 PRBF+4 BLANK OUT ADDRESS CHARACTERS
SA6 A6+B1
SA6 A6+B1
SA6 PRBF+68
SA6 A6+B1
SA6 A6+B1
DPP2 RJ FOL FORMAT ONE LINE
SX5 X5+1
SX6 X5-10B
NG X6,DPP2 IF MORE ROWS TO FORMAT
PRINT (=2C )
SA1 FW
SX6 X1+2
SA6 A1+ ADVANCE ADDRESS COUNTER
SA1 PS PP MEMORY SIZE
AX1 6
IX6 X6-X1
NG X6,DPP1 IF MORE TO FORMAT
EQ DPPX EXIT
DPPA BSS 0 *P* FORMAT HEADER LINE
DATA 50H XX 0X 1X 2X 3X 4X 5X 6
DATA 50HX 7X XX 0X 1X 2X 3X
DATA 21C 4X 5X 6X 7X
DPQ SPACE 4,12
** DPQ - DUMP PPU/FLPP IN *Q* FORMAT.
*
* ENTRY (APPG) = PP DATA IN *PBUF*, IF NONZERO.
*
* USES X - 1, 4, 6.
* A - 0, 4, 6.
* B - 2, 5, 7.
*
* CALLS DTQ, RBT, SRD, SSB.
*
* MACROS PRINT.
DPQ SUBR
RJ SSB CLEAR PRINT STRING BUFFER
BX6 X6-X6
SA6 NXBA INITIALIZE *NXB*
SA6 A6+B1
SA6 RBTA INITIALIZE BYTE READING ROUTINE
SA6 FW CLEAR ADDRESS
SA4 APPG
ZR X4,DPQ0 IF DATA IS NOT IN *PBUF*
SX6 PBUF-1
SA6 RBTB
DPQ0 MX6 1
SA6 SRDA INITIALIZE REPEAT DATA SENSING ROUTINE
DPQ1 SA0 20B
RJ RBT READ 20B BYTES
SB5 20B WORD COUNT
SX1 BUF DATA ADDRESS
RJ SRD SENSE REPEAT DATA
NZ X1,DPQ2 IF REPEAT DATA
SA4 FW SET ADDRESS
SB2 BUF BYTE BUFFER ADDRESS
SB7 PRBF PRINT STRING ADDRESS
RJ DTQ DUMP TEN BYTES *Q* FORMAT
SB7 B7+3 SPACE 3
SX4 X4+10B ADVANCE ADDRESS
RJ DTQ DUMP NEXT TEN BYTES
PRINT CCCH,B7-CCCH
DPQ2 SA1 FW
SX6 X1+20B ADVANCE ADDRESS
SA6 A1
SA1 PS PP MEMORY SIZE
IX6 X6-X1
NG X6,DPQ1 IF MORE TO DUMP
SX6 B0+
SA6 RBTB
JP DPQX EXIT
DRT SPACE 4,10
** DRT - DETERMINE RECORD TYPE.
*
* ENTRY (X1) = RECORD IDENTIFIER.
*
* EXIT (B3) = ADDRESS OF ROUTINE TO PROCESS RECORD.
*
* USES X - 0, 2, 3, 4.
* B - 3, 6.
* A - 2.
DRT SUBR ENTRY/EXIT
MX0 18 SEARCH MASK
SB6 B0 SEARCH INDEX
DRT1 SA2 DRTA+B6
BX3 X2-X1
BX3 X0*X3
BX4 X0*X2
SB6 B6+B1
SB3 X2
ZR X4,DRTX IF LAST TABLE ENTRY
NZ X3,DRT1 IF NO MATCH
EQ DRTX RETURN
DRTA VFD 18/3LCCM,24/0,18/CCM
VFD 18/3LCCR,24/0,18/CCR
VFD 18/3LPSR,24/0,18/PCS
VFD 18/3LCM ,24/0,18/CMP
VFD 18/3LD00,24/0,18/DNN
VFD 18/3LD01,24/0,18/DNN
VFD 18/3LD02,24/0,18/DNN
VFD 18/3LD03,24/0,18/DNN
VFD 18/3LD04,24/0,18/DNN
VFD 18/3LD05,24/0,18/DNN
VFD 18/3LD06,24/0,18/DNN
VFD 18/3LD07,24/0,18/DNN
VFD 18/3LD10,24/0,18/DNN
VFD 18/3LD11,24/0,18/DNN
VFD 18/3LECS,24/0,18/ECS
VFD 18/3LEIC,24/0,18/EIC
VFD 18/3LESM,24/0,18/ESM
VFD 18/3LIMR,24/0,18/IMR
VFD 18/3LI00,24/0,18/INN
VFD 18/3LI01,24/0,18/INN
VFD 18/3LI02,24/0,18/INN
VFD 18/3LI03,24/0,18/INN
VFD 18/3LI04,24/0,18/INN
VFD 18/3LI05,24/0,18/INN
VFD 18/3LI06,24/0,18/INN
VFD 18/3LI07,24/0,18/INN
VFD 18/3LI10,24/0,18/INN
VFD 18/3LI11,24/0,18/INN
VFD 18/3LI20,24/0,18/INN
VFD 18/3LI21,24/0,18/INN
VFD 18/3LI22,24/0,18/INN
VFD 18/3LI23,24/0,18/INN
VFD 18/3LI24,24/0,18/INN
VFD 18/3LI25,24/0,18/INN
VFD 18/3LI26,24/0,18/INN
VFD 18/3LI27,24/0,18/INN
VFD 18/3LI30,24/0,18/INN
VFD 18/3LI31,24/0,18/INN
VFD 18/3LMMR,24/0,18/MMR
VFD 18/3LMEM,24/0,18/MEM
VFD 18/3LPMR,24/0,18/PMR
VFD 18/3LPRF,24/0,18/PRF
VFD 18/3LPCS,24/0,18/PCS
VFD 18/3LPCD,24/0,18/PCS
VFD 18/3LPSC,24/0,18/PCS
VFD 18/3LPDC,24/0,18/PCS
VFD 18/3LPBD,24/0,18/PCS
VFD 18/3LPIS,24/0,18/PCS
VFD 18/3LPCM,24/0,18/PCS
VFD 18/3LPCW,24/0,18/PCS
VFD 18/3LPOC,24/0,18/PCS
VFD 18/3LPPM,24/0,18/PCS
VFD 18/3LPRG,24/0,18/PCS
VFD 18/3LPRH,24/0,18/PCS
VFD 18/3LPSM,24/0,18/PCS
VFD 18/3LPXP,24/0,18/PRX
VFD 18/3LDSB,24/0,18/PCS
VFD 18/0#564F4C/1S6,24/0,18/VOL
VFD 18/0,24/0,18/OTH
DSM SPACE 4,20
** DSM - DUMP SIXTY-FOUR BIT MEMORY.
*
* ENTRY (B2) = ADDRESS OF PARAMETER LIST.
* (B2+0) = FWA OF DUMP.
* (B2+1) = LWA OF DUMP.
* (B2+2) = DUMP FORMAT.
* 0 = I TYPE FORMAT.
* 2 = W TYPE FORMAT.
*
* USES X - ALL.
* A - 0, 1, 2, 3, 4, 6, 7.
* B - 2, 4, 5, 6, 7.
*
* CALLS CPC, FBB, HTS, ISM, NXB, PBB, SAI, SFP, SRD, SSB.
*
* MACROS MOVE, PRINT.
DSM SUBR ENTRY/EXIT
MOVE 3,B2,DSMB
RJ SSB SPACE FILL BUFFER
SA1 DSMB
SA2 A1+B1 COMPARE ADDRESSES
IX7 X1-X2
PL X7,ERR6 IF LWA .LE. FWA
BX6 X1
AX6 32 POSITION ASID
SA3 XB
ZR X6,DSM1 IF NO ASID SPECIFIED
SB4 X6
NE B4,B1,DSM2 IF ASID .NE. 1
MX7 -32
BX6 -X7*X1 CLEAR ASID
BX7 -X7*X2
SA6 A1 UPDATE FWA OF DUMP
SA7 A2
BX6 X3 FORCE RELATIVE *EI* ADDRESSING
SX1 B0
SA6 EI
DSM1 SB2 DSMB SET PARAMETER BLOCK ADDRESS
IX1 X1-X3
BX7 X3
NG X1,DSM2 IF FWA BELOW MEMORY BOUNDS
SA7 AO
DSM2 RJ ISM INITIALIZE FOR 64-BIT DUMP
MX6 1
SA6 SRDA SET INITIAL CALL TO *SRD*
SA3 B2+B1
SA4 A3+B1 FETCH DUMP TYPE
SA2 B2
ZR X4,DSM3 IF I-TYPE DUMP
MX1 -5
BX2 X1*X2
BX6 X2
SA6 A2 ROUND DOWN TO 32 BYTE BLOCK
DSM3 BX6 X2
AX6 32
NZ X6,DSM4 IF ASID SPECIFIED
SA4 XL
IX4 X4-X3
BX1 X4
AX1 60
BX4 X1*X4
IX6 X3+X4 SET ACTUAL MEMORY SIZE IF LWA TOO LARGE
SA6 A3
IX6 X6-X2
NG X6,ERR19.1 IF FWA BEYOND ACTUAL MEMORY SIZE
DSM4 ZR X6,DSMX IF NO MEMORY TO DUMP
RJ SFP SEARCH FOR STARTING PAGE
PL X3,DSMX IF NO MEMORY TO DUMP
SA1 DSMB+2 DUMP TYPE
AX1 1
SB2 X1
NZ B2,DSM6 IF W-TYPE DUMP
* PROCESS I TYPE DUMP.
DSM5 SB2 DSMB PARAMETER BLOCK
RJ FBB FILL BYTE BUFFER
SB2 DSMB PARAMETER BLOCK
RJ PBB PRINT BYTE BUFFER
SA1 DSMB
SA2 A1+B1
IX6 X1-X2
PL X6,DSMX IF NO MORE TO DUMP
SB2 DSMB
RJ CPC CHECK PAGE CHANGE
NG X3,DSM5 IF VALID PAGE
RJ SFP SEARCH FOR PAGE
NG X3,DSM5 IF PAGE FOUND
JP DSMX RETURN
* PROCESS W TYPE DUMP.
DSM6 SA0 0
SX5 -8
DSM7 RJ NXB GET NEXT BYTE
BX0 X1
LX0 16
RJ NXB
BX6 X0+X1
SA6 A0+BUF
SX5 X5+B1
SA1 DSMB INCREMENT BYTE ADDRESS
SX2 4
SA0 A0+B1 ADVANCE BUFFER POINTER
IX6 X2+X1
SA6 A1
NG X5,DSM7 IF MORE BYTES TO COLLECT
SB5 8
SX1 BUF
RJ SRD SENSE FOR REPEATED DATA
NZ X1,DSM9 IF REPEAT DATA
SA1 DSMB
SX2 32
IX1 X1-X2
LX1 -8*4
SB6 8
SB7 PRBF STRING POSITION FOR ADDRESS
RJ HTS DISPLAY HEX ADDRESS
SA1 BUF
SB5 PRBF+80
SB4 4
SB7 B7+2
DSM8 LX1 28
SB6 8
RJ HTS DISPLAY FIRST HALF OF WORD
SA1 A1+B1
LX1 28
SB6 8
RJ HTS DISPLAY SECOND HALF OF WORD
SB2 B7+2
SB7 B5
SB5 B2
SA2 A1-B1 PRINT ASCII REPRESENTATION OF THE WORD
SB6 4
LX2 28
RJ SAI SET ASCII INTERPRETATION
SA2 A2+B1
SB6 4
LX2 28
RJ SAI SET ASCII INTERPRETATION
SB2 B7
SB7 B5
SB5 B2+B1
SB4 B4-B1
SA1 A2+B1
NZ B4,DSM8 IF LINE NOT COMPLETE
PRINT CCCH,B5-CCCH-1
DSM9 SA1 DSMB
SA2 A1+B1
IX3 X1-X2
PL X3,DSMX IF NO MORE LINES TO FORMAT
SB2 DSMB
RJ CPC CHECK PAGE CHANGE
NG X3,DSM6 IF PAGE PRESENT
RJ SFP SEARCH FOR PAGE
PL X3,DSMX IF NO MORE PAGES PRESENT
SX6 -1
SA6 SRDA RESET SRD
EQ DSM6 CONTINUE DUMP
DSMB CON 0 FWA OF DUMP
DATA 0 LWA OF DUMP
DATA 0 DUMP FORMAT
DSP SPACE 4,25
** DSP - DUMP 16-BIT PP.
*
* ENTRY PBUF = ENTIRE PP IMAGE.
* (X1) = FWA TO DUMP.
* (A1) = ADDRESS OF PARAMETER LIST AS FOLLOWS -
* WORD 0 = FWA TO DUMP.
* WORD 1 = LWA+1 TO DUMP.
* WORD 2 = 0 IF NOT R-REGISTER DUMP.
* NONZERO IF R-REGISTER DUMP.
* WORD 3 = DUMP FORMAT CODE.
* 0 = OCTAL BLOCK.
* 1 = HEX BLOCK.
* 2 = OCTAL LINE DISPLAY INTERPRETATION.
* 3 = OCTAL LINE ASCII INTERPRETATION.
* 4 = HEX LINE DISPLAY INTERPRETATION.
* 5 = HEX LINE ASCII INTERPRETATION.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 1, 2, 3, 4, 5, 6.
* B - 2, 6, 7.
*
* CALLS CTS, GRV, HTS, IOQ, IPO, IPX, SSB, UPS.
*
* MACROS MOVE, PRINT.
DSP SUBR ENTRY/EXIT
SB2 A1
MOVE 4,B2,DSPB COPY PARAMETER BLOCK
SA2 DSPB+1 LWA OF DUMP
SA4 K4 CONTROLLER TYPE
SA3 X4+/DIRECT/TCTP
MX0 -18
AX3 18
BX3 -X0*X3
IX1 X3-X2
BX3 X1
AX1 60
BX3 X1*X3
IX6 X2+X3 LWA IS .LE. 20000B
SA6 A2
SA1 A2-B1 FWA OF DUMP
IX6 X1-X6
PL X6,ERR6 IF LWA .LT. FWA
SA1 DSPB+3 DUMP FORMAT
SA5 X1+DSPD CORRESPONDING ASCII/DISPLAY HEX/OCTAL FLAGS
SA2 TF
SX6 8 BYTES PER LINE FOR A PRINTER FILE
ZR X2,DSP1 IF NOT A TERMINAL FILE
SX6 4 BYTES PER LINE FOR TERMINAL
DSP1 SA6 DSPC SET BYTES PER LINE
BX6 X5
SA6 A6+B1 SAVE ASCII/DISPLAY, HEX/OCTAL FLAGS
SA1 A1-B1
ZR X1,DSP5 IF NOT TO DISPLAY THE R REGISTER
RJ SSB
SB7 PRBF
SA2 =C* R REGISTER = *
SB6 14
RJ UPS UNPACK STRING
RJ GRV GET R-REGISTER VALUE
NZ X5,DSP3 IF OCTAL DISPLAY
SB6 6 DISPLAY 6 HEX DIGITS
RJ HTS
EQ DSP4 PRINT REGISTER
DSP3 SB6 8 DISPLAY 8 OCTAL DIGITS
RJ CTS
DSP4 PRINT CCCH,B7-CCCH * R REGISTER = NNNNNN*
DSP5 RJ SSB
SA1 DSPB+3 DUMP FORMAT
SB2 X1
ZR B2,IPO IF IOU DUMP IN OCTAL BLOCK
EQ B2,B1,IPX IF IOU DUMP IN HEX BLOCK
MX6 1 INITIALIZE *SRD*
SA6 SRDA
RJ IOQ DISPLAY IOU IN LINE FORMAT
EQ DSPX RETURN
DSPB BSS 4
DSPC DATA 0 BYTES PER LINE (IOQ)
DATA 0 OCTAL/HEX, ASCII/DISPLAY FLAG
DSPD CON 1 OCTAL FORMAT
CON 0 HEX FORMAT
CON -1 OCTAL AND DISPLAY
CON 1 OCTAL AND ASCII
CON -0 HEX AND DISPLAY
CON 0 HEX AND ASCII
DSS SPACE 4,18
** DSS - DUMP SUB-SYSTEM.
*
* ENTRY (X5) = FIRST ENTRY IN PARAMETER BLOCK.
* (A5) = PARAMETER BLOCK ADDRESS.
*T 60/ DEFAULT LIST OPTIONS
*T 36/ ,6/ OPT,18/ PROCESSOR ADD
*T 36/ ,6/ OPT,18/ PROCESSOR ADD
* . . .
* . . .
* . . .
*T 60/ ZERO WORD TERMINATES BLOCK
* (CH) = DIRECTIVE STRING POINTER.
*
* USES X - 1, 2, 3, 6, 7.
* A - 0, 1, 2, 6, 7.
* B - 2.
*
* CALLS ASN, SNO, LIST OPTION PROCESSORS.
DSS SUBR
BX6 X5 PRESET DEFAULT
SA1 CH
SA2 X1
SX3 X2-1R.
ZR X3,DSS1 IF TERMINATOR ALREADY DETECTED
RJ ASN ASSEMBLE LIST OPTIONS
SA1 CH
SA1 X1
SX2 X1-1R.
NZ X2,ERR6 IF NOT END OF DIRECTIVE
DSS1 SA6 DSSA
SX7 A5+1
SA7 DSSB
DSS2 SA2 DSSB
SB2 X2+
SA1 DSSA
RJ SNO SELECT NEXT LIST OPTION
ZR X3,DSSX IF NO MORE LIST OPTIONS SELECTED
SA0 DSS2 SET RETURN ADDRESS
JP B3 EXECUTE SELECTED PROCESSOR
DSSA BSS 1 OPTIONS TO PROCESS
DSSB BSS 1 PROCESSOR TABLE ADDRESS
DST SPACE 4,15
** DST - DUMP STAGING TABLE.
*
* ENTRY (X6) = (FWA).
* (X7) = (LWA+1).
*
* EXIT TABLE DUMPED.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 2, 6, 7.
* B - 2.
*
* CALLS DOT, PCM.
DST SUBR ENTRY/EXIT
IX4 X7-X6
NG X4,DSTX IF (LWA+1) .LT. (FWA)
NZ X4,DST1 IF (LWA+1) .NE. (FWA)
SX7 X7+1
DST1 SA6 DSTA
SA7 A6+1
SA1 A6
SA2 RC
IX3 X1+X2
RJ PCM POSITION TO TABLE
SB2 DSTA
RJ DOT DUMP ORDINAL TABLE
EQ DSTX RETURN
DSTA VFD 60/0 FWA
VFD 60/0 LWA+1
VFD 60/0 STARTING ORDINAL
VFD 60/2 ORDINAL INCREMENT
VFD 24/0,18/4,18/5 FORMAT CONTROL
DTB SPACE 4,20
** DTB - DUMP TABLE.
*
* ENTRY (X4) = 0, IF READ FROM DUMP FILE.
* = DATA ADDRESS, IF READ FROM CORE.
* (X5) = TABLE DESCRIPTION ADDRESS.
* (X6) = FWA OF TABLE.
* (X7) = LWA+1 OF TABLE.
* (B3) .GE. 0, IF FORMAT CODE.
* = -1, IF NOT FIRST TABLE.
*
* EXIT (CPRA - CPRA+7) SET.
*
* USES X - 6, 7.
* A - 6, 7.
* B - 2.
*
* CALLS LDC, PMD, POM, SCM, SRA.
*
* MACROS PRINT.
DTB SUBR ENTRY/EXIT
SA6 CPRA SET FWA OF TABLE
SA7 CPRA+1 SET LWA+1 OF TABLE
SX6 X4+ SET DUMP DATA LOCATION
SA6 CPRA+2
NG B3,DTB1 IF NOT FIRST TABLE
RJ SCM SET CENTRAL MEMORY
SX6 B3 SET FORMAT CODE
SA6 CPRA+4
BX6 X6-X6
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE CARD
DTB1 PRINT (=2C )
PRINT X5 PRINT TABLE DESCRIPTION
PRINT (=2C )
SB2 CPRA SET FWA OF TABLE
RJ POM POSITION DUMP FILE
SB2 CPRA RESET FWA OF TABLE
RJ PMD PROCESS MEMORY DUMP
EQ DTBX RETURN
DTC SPACE 4,12
** DTC - DUMP IAF COMMAND TABLE.
*
* ENTRY (A0) = RETURN ADDRESS.
* (RC) = CONTROL POINT REFERENCE ADDRESS.
*
* USES X - 1, 2, 3, 4, 5, 6, 7.
* A - 1, 2, 5, 6.
* B - 2, 6, 7.
*
* CALLS CPS, CTS, PCM, PCW, SSB, UPS.
*
* MACROS GETCM, PRINT.
DTC PRINT (=2C )
PRINT (=C* IAF COMMAND TABLE*)
PRINT (=2C )
SA1 SSBF+/REM/VCTP
SX7 X1 LWA+1
AX1 24
SX6 X1 FWA
IX5 X7-X6
NG X5,DTC2 IF (LWA+1) .LT. (FWA)
SA6 DTCA SAVE FWA OF FIRST COMMAND
SX4 X6
AX5 1 NUMBER OF COMMANDS
SA1 RC
IX3 X1+X4
RJ PCM POSITION TO FIRST COMMAND
SX1 3
RJ CPS CHECK PAGE SPACE
PRINT DTCB SET HEADER LINE 1
PRINT DTCC SET HEADER LINE 2
PRINT (=2C )
DTC1 SX5 X5-1
NG X5,DTC3 IF ALL COMMANDS DUMPED
GETCM BUF,2
RJ SSB CLEAR PRINT STRING
* SET ADDRESS OF COMMAND.
SA1 DTCA
LX1 -21
SB6 7
SB7 PRBF
RJ CTS
* SET COMMAND.
SA2 BUF
SB6 7
SB7 PRBF+12
RJ UPS
* SET PROCESSOR ADDRESS.
BX1 X2
SB6 6
SB7 PRBF+25
RJ CTS
* SET FLAGS.
SA1 BUF+1
SB6 2
SB7 PRBF+39
RJ CTS
* SET NUMBER OF PARAMETERS.
SB6 2
SB7 PRBF+52
RJ CTS
* SET SUBSYSTEMS.
SB6 6
SB7 PRBF+64
LX1 12
RJ CTS
* SET OCCURENCES.
SB6 6
SB7 PRBF+79
RJ CTS
PRINT CCCH,B7-CCCH
SA1 DTCA
SX6 X1+2
SA6 A1 UPDATE ADDRESS OF COMMAND
JP DTC1
DTC2 SA5 DTCD
RJ PCW PRINT CONTENTS OF *VCTP* WORD
DTC3 SB2 A0
JP B2 RETURN
DTCA BSS 1 ADDRESS OF COMMAND
DTCB BSS 0 HEADER LINE 1
DATA 50H COMMAND PROCESSOR FLAGS N
DATA 39CUMBER OF SUBSYSTEMS OCCURENCES
DTCC BSS 0 HEADER LINE 2
DATA 50H ADDRESS P
DATA 9CARAMETERS
DTCD VFD 36/6L*VCTP*,6/0,18//REM/VCTP
DATA 40HIAF COMMAND TABLE FWA, LWA+1
VFD 60/0
DTE SPACE 4,9
** DTE - DUMP IAF REENTRY TABLE.
*
* ENTRY A0 = RETURN ADDRESS.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS DOT, PCM, PCW.
*
* MACROS PRINT.
DTE PRINT (=2C )
PRINT (=C* IAF REENTRY TABLE*)
PRINT (=2C )
SA1 SSBF+/REM/VRAP
SX7 X1 LWA+1
AX1 24
SX3 X1 FWA
IX4 X7-X3
NG X4,DTE2 IF (LWA+1) .LT. (FWA)
SX6 X3+B1 START WITH FWA+1 - 1ST TERMINAL NOT NEEDED
IX4 X7-X6
NG X4,DTE3 IF NOTHING TO DUMP
NZ X4,DTE1 IF (LWA+1) .GT. NEW FWA
SX7 X7+1
DTE1 SA6 DTEA
SA7 DTEA+1
SA1 DTEA
SA2 RC
IX3 X1+X2
RJ PCM POSITION TO REENTRY TABLE
SB2 DTEA
RJ DOT DUMP ORDINAL TABLE
JP DTE3
DTE2 SA5 DTEB
RJ PCW PRINT CONTENTS OF *VRAP* WORD
DTE3 SB2 A0
JP B2 RETURN
DTEA VFD 60/0 FWA
VFD 60/0 LWA+1
VFD 60/1 STARTING ORDINAL
VFD 60/2 ORDINAL INCREMENT
VFD 24/0,18/4,18/5 FORMAT CONTROL
DTEB VFD 36/6L*VRAP*,6/0,18//REM/VRAP PARAMETER LIST FOR PCW
DATA 40HIAF REENTRY TABLE FWA, LWA+1
VFD 60/0
DTI SPACE 4,15
** DTI - DUMP TABLE WITH INTERPRETATION.
*
* ENTRY (B2) = TABLE POINTER.
* (X3) = SUBTITLE. MUST BE IN FORM *TBL 0000 *.
* (X5) = TABLE HEADER POINTER.
* (X6) = DESCRIPTOR TABLE POINTER.
* (X7) = TABLE ENTRY LENGTH.
*
* SAVES X - NONE.
* A - 0, 5.
* B - NONE.
*
* CALLS CEP, COD, GTD, LDC, POM, SCM, SRA, UPS.
*
* MACROS GETCM, PRINT.
DTI SUBR ENTRY/EXIT
SA6 DTIB SAVE DESCRIPTOR TABLE POINTER
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
SA7 DTIA SAVE ENTRY LENGTH
SA1 F.TCMT GET POINTER WORD
SA1 X1+B2
LX1 24
SX6 X1 SAVE TABLE FWA
LX1 12
SA6 FW
MX0 -12
BX6 -X0*X1 LAST ORDINAL + 1
SA6 CPRA+1
RJ SCM SET CENTRAL MEMORY
BX6 X3 RESET SUBTITLE
SA6 SBTL1
SX6 0
RJ SRA SET REFERENCE ADDRESS
RJ LDC LIST DIRECTIVE
SB2 FW
RJ POM POSITION TO FWA
SA1 FW
SA2 DTIA INITIALIZE ENTRY FWA FOR SEARCH
SX6 -B1
SA6 CPRA INITIALIZE ORDINAL
IX7 X1-X2
SA7 A1
PRINT X5 PRINT HEADER
DTI1 SA1 CPRA INCREMENT ORDINAL
SX7 X1+B1
SA7 A1
SA1 A1+B1
IX1 X1-X7
ZR X1,DTIX IF ENTIRE TABLE SCANNED
SA1 FW INCREMENT ENTRY FWA
SA2 DTIA
IX6 X1+X2
SA6 A1
GETCM BUF,X2 READ NEXT ENTRY
SA1 BUF
AX1 12
ZR X1,DTI1 IF UNUSED ENTRY
SA1 CPRA RESET SUBTITLE TABLE ORDINAL
SX1 X1+10000B GUARANTEE LEADING ZEROS
RJ COD
LX4 6-1 DISCARD LEADING DIGIT
AX4 24-1
SA1 SBTL1
AX1 36
LX1 36
BX6 X1+X4
SA6 A1
BX2 X6 DISPLAY ORDINAL
SB6 8
SB7 PRBF
RJ UPS
PRINT (=2C )
PRINT CCCH,9
SA1 FW
BX1 -X1
SB2 X1+BUF
SA1 DTIB GET DESCRIPTOR TABLE POINTER
SA1 X1
RJ GTD GENERATE DETAILED TABLE DUMP
EQ DTI1 CHECK NEXT ENTRY
DTIA CON 0 ENTRY LENGTH
DTIB CON 0 FWA OF DESCRIPTOR TABLE
DTL SPACE 4,10
** DTL - DUMP IAF POT LINK TABLE AND POTS.
*
* ENTRY (A0) = RETURN ADDRESS.
*
* USES X - 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 5, 6, 7.
* B - 2, 5, 6, 7.
*
* CALLS CTS, FDW, GFL, LDC, PCM, PMD, SCM, SRA, SRD, SSB, UPS.
*
* MACROS GETCM, PRINT.
DTL BSS 0 ENTRY
RJ SCM SET CENTRAL MEMORY
SX1 CPAS GET IAF FL, RA
RJ GFL
SA7 DTLA SAVE LWA+1 OF IAF FIELD LENGTH
RJ SRA SET IAF CONTROL POINT RA
RJ SSB CLEAR PRINT STRING BUFFER
RJ LDC FORCE PAGE EJECT
* DUMP POT LINK TABLE.
PRINT (=2C )
PRINT (=C* POT LINK TABLE*)
PRINT (=2C )
MX6 1 PRESET FIRST CALL TO *SRD*
SA6 SRDA
SX6 B0
SA6 DTLB CLEAR PLT LINK ORDINAL
SA6 SRDC+4 SET DASHED LINE TO 40 CHARACTERS
SA5 SSBF+/REM/VPLP GET PLT POINTER WORD
SA2 RC GET IAF REFERENCE ADDRESS
SX6 X5 SAVE LWA+1 PLT
SA6 LW
AX5 24 SAVE FWA PLT
SX6 X5
SA6 FW
SX3 X5
IX3 X2+X3
AX5 24
RJ PCM READ PLT INTO CORE
GETCM BUF,X5
DTL1 SA1 DTLB CHECK FOR REPEATED DATA
SX1 X1+BUF
SB5 1
RJ SRD
NZ X1,DTL2 IF REPEAT SENSED
SB6 6 FORMAT PLT WORD ADDRESS
SB7 PRBF
SA1 FW
LX1 -18
RJ CTS
SB7 B7+B1 FORMAT PLT LINK ORDINAL
SX6 1R+
SA6 B7
SB7 B7+B1
SA1 DTLB
LX1 -10
SB6 4
RJ CTS
SB7 B7+2 FORMAT PLT WORD
SA2 =4000005B
AX1 2
SA1 X1+BUF
RJ FDW
PRINT CCCH,B7-CCCH
DTL2 SA1 DTLB INCREMENT PLT INDEX
SX7 X1+B1
SA7 A1
SA1 FW INCREMENT PLT WORD ADDRESS
SX6 X1+1
SA6 A1
SA1 LW CHECK IF ALL OF PLT DUMPED
IX7 X6-X1
NG X7,DTL1 IF MORE TO DUMP
SA1 SRDC+3 RESET DASHED LINE TO 136 CHARACTERS
BX6 X1
SA6 A1+B1
* DUMP POTS IN *E* FORMAT.
PRINT (=2C )
PRINT (=C* POTS*)
PRINT (=2C )
SA3 SSBF+/REM/VBMP GET POT STORAGE FWA
SA2 RC GET IAF REFERENCE ADDRESS
SX6 X3
SA6 CPRA+1
IX3 X2+X3
RJ PCM POSITION TO POT STORAGE
SX6 2
SA6 CPRA+3 SET NO SUPPRESSION OF REPEATED DATA
SA6 A6+B1 SET *E* FORMAT
SX6 B0
SA6 CPRA+5 COMPUTE COLUMN LENGTH
SA6 CPRA+6 SET NO INVERTED ADDRESS
SA6 CPRA+2 SET TO DUMP FROM DUMP FILE
SX6 -1
SA6 DTLB PRESET POT NUMBER
DTL3 SB7 PRBF PRINT POT NUMBER
SA2 =4LPOT
SB6 4
RJ UPS
SB6 4
SA1 DTLB INCREMENT POT NUMBER
SX6 X1+B1
SA6 A1
SX1 X6
LX1 -12
RJ CTS
PRINT CCCH,B7-CCCH
SA1 CPRA+1 SET POT FWA
SX7 X1
SA7 A1-B1
SX6 X1+8 SET POT LWA+1
SA6 A1
SB2 A7
RJ PMD PROCESS MEMORY DUMP
SA2 DTLA LWA+1 OF IAF FL
SA1 CPRA+1 LWA+1 OF LAST DUMPED POT
IX5 X1-X2
ZR X5,DTL4 IF ALL POTS DUMPED
NG X5,DTL3 IF MORE TO DUMP
PRINT (=2C )
SB7 PRBF
SB6 49
SA2 =49L*********WARNING - LAST POT OVERFLOWS IAF FL BY
RJ UPS
SB6 1 PRINT POT OVERFLOW
SX1 X5
LX1 -3
RJ CTS
SA2 =5LWORDS
SB6 5
SB7 B7+B1
RJ UPS
DTL4 SB2 A0
JP B2 RETURN
DTLA BSS 1 LWA+1 OF POT MEMORY (LWA+1 IAF FL)
DTLB BSS 1 PLT INDEX AND LINK ORDINAL/POT NUMBER
DTP SPACE 4,7
** DTP - DUMP IAF PPUS.
*
* ENTRY A0 = RETURN ADDRESS.
*
* USES ALL REGISTERS.
*
* CALLS ASP.
DTP SX6 DTPA
JP ASP
DTPA VFD 18/3LTLX,42/0
VFD 18/3L1TA,42/0
VFD 18/3L1TN,42/0
VFD 18/3L1TO,42/0
VFD 18/3L1RO,6/0,1/1,18/0,5/TXOT,12/0
VFD 18/3L1RI,6/0,1/1,18/0,5/TXOT,12/0
VFD 60/-1 END OF PARAMETER BLOCK
DTQ SPACE 4,13
** DTQ - DUMP TEN BYTES IN *Q* FORMAT.
*
* ENTRY B2 = BYTE BUFFER ADDRESS.
* B7 = PRINT STRING ADDRESS.
* X4 = CURRENT PPU ADDRESS.
*
* EXIT B2 AND B7 ARE UPDATED.
*
* SAVES X - 3,4,5.
* B - NONE.
* A - 0,3,4,5.
*
* CALLS CTS,UPS.
DTQ SUBR
BX1 X4
LX1 -15
SB6 5
RJ CTS CONVERT ADDRESS
SB7 B7+2 SPACE 2
SB4 10B BYTE COUNTER
DTQ1 SA1 B2+ READ BYTE
SB6 4
NZ X1,DTQ2 IF NOT A ZERO BYTE
SA2 =4L----
RJ UPS STORE ZERO INDICATOR
JP DTQ3
DTQ2 RJ CTS CONVERT BYTE
DTQ3 SB7 B7+B1
SB2 B2+B1
SB4 B4-1 COUNT BYTE
NZ B4,DTQ1 IF MORE TO DUMP
* SET INTERPRETATION.
SB5 B2
MX0 -6
SB2 B2-10B
SB7 B7+1
DTQ4 SA1 B2+
SB3 2
DTQ5 LX1 6
BX6 -X0*X1
ZR X6,DTQ6 IF COLON
SX7 X6-60B
NG X7,DTQ7 IF NOT A PRINTER SLOWER DOWNER
DTQ6 SX6 1R
DTQ7 SA6 B7 STORE CHARACTER
SB7 B7+B1
SB3 B3-1
NZ B3,DTQ5 IF ONE MORE CHARACTER
SB2 B2+1
LT B2,B5,DTQ4 IF MORE TO INTERPRET
JP DTQX EXIT
DTT SPACE 4,10
** DTT - DUMP IAF TERMINAL TABLES.
*
* ENTRY (A0) = RETURN ADDRESS.
* (RC) = CONTROL POINT REFERENCE ADDRESS.
* (TFMT) = MESSAGE STATUS TABLE FORMAT POINTERS.
* (TFTT) = TERMINAL TABLE FORMAT POINTERS.
*
* USES X - ALL.
* A - 1, 2, 5, 6, 7.
* B - 2, 6, 7.
*
* CALLS CTS, GTD, PCM, PCW, UPS.
*
* MACROS ALLOC, GETCM, PRINT.
DTT SX6 A0 SAVE RETURN ADDRESS
SA6 DTTF
PRINT (=2C )
PRINT (=C* IAF TERMINAL TABLES*)
* READ MESSAGE STATUS TABLE INTO CORE.
SA2 RC GET FWA MSG STATUS TABLE
SA1 SSBF+/REM/VMST
AX1 24
IX3 X1+X2
SA5 SSBF+/REM/VNTP GET FWA NETWORK ENTRIES
SB2 24D
AX0 X5,B2
SX6 X3+ PRESET FWA NETWORK ENTRIES
SA6 DTTE+1
SX6 X6-1
SA6 A6-B1
RJ PCM POSITION TO FIRST MST NETWORK ENTRY
IX2 X5-X0 SET NETWORK TERMINAL TABLE ENTRY COUNT
SX2 X2+B1
GETCM BUF+/REM/VTTL,X2
* INITIALIZE DUMP OF TERMINAL TABLES.
SA1 SSBF+/REM/VTTP
SX2 X1 LWA+1
AX1 24
SX6 X1 FWA
IX4 X2-X6
NG X4,DTT2 IF (LWA+1) .LT. (FWA)
SX6 X6-/REM/VTTL
SA6 DTTA PRESET FWA OF FIRST TABLE
SX5 /REM/VTTL
IX7 X4/X5
SX6 -1
SA7 DTTB TOTAL TERMINAL TABLES TO DUMP
SA6 DTTC PRESET TERMINAL NUMBER
SA2 RC
IX3 X1+X2
RJ PCM POSITION TO FIRST TERMINAL TABLE
* DUMP ONLY THOSE TERMINAL TABLES WITH IMPORTANT INFORMATION.
DTT1 SA2 DTTC UPDATE TERMINAL NUMBER
SX6 X2+1
SA6 A2
SA1 DTTB
IX3 X6-X1
ZR X3,DTT3 IF ALL TABLES DUMPED
SA1 DTTA SET NEXT TERMINAL FWA
SX6 X1+/REM/VTTL
SA6 DTTA
SA1 DTTE INCREMENT MSG STATUS TABLE INDEX
SX6 X1+B1
SA6 A1
GETCM BUF,/REM/VTTL READ TERMINAL TABLE
SB7 /REM/VTTL CHECK FOR EMPTY TERMINAL TABLE
SB6 -1
DTT1.1 SB6 B6+1
EQ B6,B7,DTT1 IF EMPTY TABLE FOUND
SA1 BUF+B6 READ TABLE ENTRY
SB2 B6-/REM/VROT
NZ B2,DTT1.2 IF NOT STATUS WORD
SX1 X1-1 ALLOW FOR STATUS BIT
DTT1.2 ZR X1,DTT1.1 IF ONLY STATUS BIT SET
PRINT (=2C )
SB7 PRBF
SA2 =5HTERM
SB6 5
RJ UPS STORE IN PRINT STRING
SB6 4
SA1 DTTC
LX1 -12
RJ CTS CONVERT TERMINAL NUMBER
PRINT CCCH,B7-CCCH
PRINT (=2C )
SA1 DTTA
BX6 X1
BX2 -X1
SB2 X2+BUF SET CORE ADDRESS OF TABLE DATA
SA6 FW SET PRINT ADDRESS
SA1 TFTT FORMAT TABLE POINTERS
RJ GTD GENERATE DETAILED TABLE DUMP
* DUMP MESSAGE STATUS TABLE ENTRY, IF NETWORK TERMINAL TABLE.
SA1 SSBF+/REM/VNTP GET FIRST NETWORK TERMINAL NUMBER
SA2 DTTC
AX1 24
SX1 X1+
IX1 X2-X1
NG X1,DTT1 IF MUX TERMINAL TABLE
PRINT (=2C )
SA1 DTTE SET MSG STATUS TABLE ENTRY ADDRESS
SX6 X1+
SA6 FW
SX1 BUF+/REM/VTTL SET CORE ADDRESS OF TABLE DATA
SA2 DTTE+1
IX1 X1-X2
SB2 X1+
SA1 TFMT SET NETWORK FORMAT TABLE POINTERS
RJ GTD GENERATE DETAILED DUMP OF MST WORD
EQ DTT1 DUMP NEXT TERMINAL TABLE
* PRINT TERMINAL TABLE BOUNDARY ADDRESSES, IF NO TABLES FOUND.
DTT2 SA5 DTTD
RJ PCW PRINT CONTENTS OF *VTTP* WORD
DTT3 SA1 DTTF RESTORE RETURN ADDRESS
SB2 X1+
JP B2 RETURN
DTTA BSS 1 FWA OF TERMINAL TABLE
DTTB BSS 1 NUMBER OF TERMINALS TO DUMP
DTTC BSS 1 NUMBER OF TERMINALS DUMPED
DTTD VFD 36/6L*VTTP*,6/0,18//REM/VTTP PARAMETER LIST FOR PCW
DATA 40HIAF TERMINAL TABLE FWA, LWA+1
VFD 60/0
DTTE BSS 1 MSG STATUS TABLE ENTRY ADDRESS
BSS 1 FWA MSG STATUS TABLE
DTTF BSS 1 SAVED RETURN ADDRESS
ECS SPACE 4,10
** ECS - PROCESS *ECS* RECORD.
*
* ENTRY VIA UNCONDITIONAL JUMP.
*
* EXIT TO *CMP1* TO READ THE *ECS* RECORD.
*
* USES X - 1, 6.
* A - 1, 6.
ECS SA1 BUF+1 TRANSFER TITLE
BX6 X1
SA6 TITL2
SA1 BUF GET WORD COUNT
MX6 -12
BX6 -X6*X1 WORD COUNT/1000B
SA2 ECSA 3LESM = ESM RECORD HDR
BX2 X2-X1 COMPARE WITH EDD RECORD HDR
MX0 18D MASK 3 CHARACTERS
BX2 X2*X0 RELEVANT PART OF COMPARE
NZ X2,CMP1 IF NOT *ESM* RECORD
LX6 3 CONVERT WORD COUNT
EQ CMP1 READ *ESM* RECORD
ECSA DATA 3LESM *ESM* RECORD HEADER
ESM EQU ECS
ERF SPACE 4,15
** ERF - POSITION TO EOR ON FILE F.
*
* EXIT TO *PPE1* IF PREMATURE EOF.
*
* USES A - 1.
* X - 1.
*
* CALLS RBH.
ERF SUBR ENTRY/EXIT
ERF1 SA1 EORF
NG X1,ERFX IF AT EOR
RJ RBH READ BLOCK OR HEADER
ZR X1,ERF1 IF NOT EOF
EQ PPE1 PREMATURE EOF
ERS SPACE 4,15
** ERS - END RECORD ON S-FILE.
*
* ENTRY (ID) = RECORD ID.
* (RWCS) = RECORD LENGTH.
*
* EXIT BUFFER WRITTEN TO *S*.
* *TDIR* DIRECTORY ENTRY MADE.
* (RWCS) = 0.
*
* USES A - 1, 2, 5, 6, 7.
* X - 1, 2, 5, 6, 7.
*
* MACROS ADDWORD, WRITER.
ERS SUBR ENTRY/EXIT
WRITER S,R WRITE BUFFER TO FILE
SA1 ID
ADDWRD TDIR,X1 PUT RECORD ID IN DIRECTORY ENTRY
ADDWRD A0,X1-X1 CLEAR DIRECTORY ENTRY WORD 2
SA5 ERSA RANDOM INDEX OF RECORD
SA2 RWCS
LX2 30
BX6 X2+X5
SA6 A6
SX7 B0 RESET RECORD LENGTH
SA7 RWCS
SX6 ERSA
SA6 S+6 GET RANDOM INDEX OF NEXT RECORD
EQ ERSX RETURN
ERSA DATA 1 CURRENT RANDOM INDEX
EVA SPACE 4,10
** EVA - EXPAND VIRTUAL ADDRESS.
*
* ENTRY (X6) = PROCESS VIRTUAL ADDRESS.
*
* EXIT (X6) = SEGMENT NUMBER.
* (X7) = BYTE OFFSET.
* (X2) = 0, IF THE ADDRESS IN X6 IS THE NIL POINTER.
*
* USES X - 1, 2, 6, 7.
* A - 1.
EVA SUBR ENTRY/EXIT
SA1 EVAA
BX2 X6*X1
BX2 X2-X1
ZR X2,EVAX IF NIL POINTER
MX2 -32-12
BX7 -X2*X6 ISOLATE BYTE OFFSET
BX2 X2*X6 ISOLATE RING NUMBER
BX6 X1*X7 ISOLATE SEGMENT NUMBER
BX2 X1*X2
ZR X2,ERR45 IF RING ZERO
JP EVAX RETURN
EVAA DATA 0#FFFF80000000 NIL POINTER
FAC SPACE 4,13
** FAC - FIND ASSIGNED CHANNEL.
*
* ENTRY (B2) = PPU NUMBER.
* (BUF - BUF+MXCH) = CHANNEL RESERVATION BYTES
* FROM CHANNEL STATUS TABLE, ONE BYTE PER WORD,
* LEFT JUSTIFIED.
*
* EXIT (X1) = NUMBER OF ASSIGNED CHANNEL.
* .LT. 0, IF NO MORE CHANNELS ASSIGNED.
*
* USES X - 0, 1, 2, 3, 6.
* A - 1, 3, 6.
* B - 3, 5.
FAC3 MX6 0 CLEAR RESERVATION ENTRY
SA6 B3
SX1 B3-BUF SET ASSIGNED CHANNEL NUMBER
FAC SUBR
SX2 B2 CHANNEL NUMBER
MX0 -6
SX3 X2-20B
SB3 BUF CHANNEL TABLE ADDRESS
SB5 B3+MXCH CHANNEL STATUS TABLE LWA+1
SA1 IC
ZR X1,FAC0 IF NOT CPP
SX2 X2+24B
JP FAC1 PROCESS CHANNELS FOR CPP-S
FAC0 NG X3,FAC1 IF NOT PP 20 - 31
SX2 X2-20B+12B CORRECT PPU INDEX
FAC1 SA3 B3+ READ TABLE
LX3 12
BX3 -X0*X3
ZR X3,FAC2 IF CHANNEL NOT ASSIGNED
BX3 X2-X3
ZR X3,FAC3 IF ASSIGNED TO THIS PPU
FAC2 SB3 B3+B1
LE B3,B5,FAC1 IF MORE TABLE ENTRIES
SX1 -B1 SET NO MORE CHANNELS ASSIGNED
JP FACX EXIT
FBB SPACE 4,25
** FBB - FILL BYTE BUFFER.
*
* ENTRY (B2) = PARAMETER BLOCK ADDRESS.
* +0 = FWA OF DUMP.
* +1 = LWA OF DUMP.
*
* BUFFER CONSISTS OF TWO WORD ENTRIES.
*
* EITHER -
* 28/ADDRESS,16/BYTE1,16/BYTE2
* 28/0 ,16/BYTE3,16/BYTE4
*
* OR FOR REPEATED WORDS -
* 60/-0
* 60/
*
* EXIT (X1) = 2* WORDS IN BUFFER.
* (PARAMETER BLOCK+0) = NEW FWA.
*
* USES X - ALL.
* A - ALL.
*
* CALLS CPC, CPS, NXB.
FBB SUBR ENTRY/EXIT
SX1 10 CHECK FOR MINIMUM OF 10 WORDS
RJ CPS CHECK PAGE SPACE
SX3 6
IX2 X6*X3 MAXIMUM SIZE OF BUFFER FOR SIZE OF PAGE
SA1 B2+B1 LWA+1 OF DUMP
BX6 X1
SA6 FBBA
SA0 B2 SAVE PARAMETER ADDRESS
SX6 BUF BUFFER POINTER
SA6 A6+B1
IX7 X6+X2 MAXIMUM LWA+1 OF BUFFER
SA7 A6+B1
FBB1 RJ NXB GET UPPER PARCEL OF WORD
SA5 A0 CURRENT ADDRESS
SX3 8
MX2 -32
IX6 X3+X5 INCREMENT ADDRESS
BX5 -X2*X5
LX5 16
SA6 A0
IX5 X1+X5 COMBINE ADDRESS WITH DATA
RJ NXB READ SECOND PARCEL OF WORD
LX5 16
BX0 X5+X1
RJ NXB READ THIRD PARCEL OF WORD
BX5 X1
RJ NXB READ LAST PARCEL OF WORD
LX5 16
BX7 X5+X1
SA1 FBBD DATA FROM LAST WORD
SA2 A1+B1
BX6 X0
MX3 -32
SA6 A1 REFRESH FBBD
SA7 A2
BX1 X6-X1
SA4 FBBB BUFFER POINTER
BX2 X7-X2
SA6 X4
SA7 A6+B1
BX1 -X3*X1 DO NOT COMPARE ADDRESSES
IX3 X1+X2
SX6 A7+B1 NEW BUFFER POINTER
SA6 A4
NZ X3,FBB2 IF DATA NOT REPEATED
SX2 X4-BUF
ZR X2,FBB2 IF FIRST DATA IN BUFFER
MX7 1
SA7 X4 STORE FLAG IN BUFFER
SA1 X4-2 CHECK IF FLAG ALREADY SAVED
PL X1,FBB3 IF NO FLAG PRESENT YET
SX6 A7
SA6 A4 RESTORE NEW BUFFER POINTER
FBB2 SA2 A4+B1 MAXIMUM LWA OF BUFFER
IX3 X6-X2
PL X3,FBB4 IF BUFFER FULL
FBB3 SB2 A0
RJ CPC CHECK PAGE CHANGE
PL X3,FBB4 IF PAGE NOT VALID
SA1 FBBA LWA+1 OF DUMP
SA5 A0 CURRENT BYTE ADDRESS
IX6 X5-X1
NG X6,FBB1 IF NOT END OF DATA
FBB4 SA1 FBBB
SA2 A1+B1
SX1 X1-BUF COMPUTE AMOUNT DATA IN BUFFER
EQ FBBX RETURN
FBBA DATA 0 LWA+1 OF DUMP
FBBB DATA 0 BUFFER POINTER
FBBC DATA 0 MAXIMUM LWA+1 OF BUFFER
FBBD BSS 2 PREVIOUS WORD PRINTED
FBP SPACE 4,11
** FBP - FIND BYTE POSITION.
*
* ENTRY (RI) = RANDOM ADDRESS OF CURRENT RECORD.
* (X3) = DESIRED BYTE NUMBER.
*
* EXIT BUFFER POSITIONED AT DESIRED 16 BIT BYTE.
*
* USES X - 2, 3, 4, 5, 6.
* A - 6.
* B - 7.
*
* CALLS PDF, NXB.
FBP SUBR ENTRY/EXIT
SX4 15
BX2 X3
IX3 X3/X4
SX4 15
IX5 X3*X4
IX5 X2-X5 BYTE POSITION WITHIN FOUR WORD GROUP
IX5 X4-X5
LX3 2 WORD OFFSET OF FOUR WORD GROUP
RJ PDF POSITION DUMP FILE
SX6 B0
SA6 NXBA
SA6 A6+B1
RJ NXB
BX6 X5 SAVE BYTE OFFSET INTO FOUR WORD STACK
SA6 NXBB
EQ FBPX RETURN
FDW SPACE 4,11
** FDW - FORMAT DATA WORD.
*
* ENTRY X1 = DATA WORD.
* B7 = PRINT STRING ADDRESS.
* X2 = 24/0,18/DIGITS PER BYTE,18/BYTES PER WORD.
*
* USES X - 0,1,2,6,7.
* B - 5,6,7.
* A - 6,7.
*
* CALLS CTS.
FDW SUBR
SB5 X2 NUMBER OF BYTES
AX2 18
SX6 1R PRESET SPACE
FDW1 SB6 X2+ DIGIT COUNT
RJ CTS CONVERT ONE BYTE
SA6 B7 SPACE 1
SB7 B7+B1
SB5 B5-1
NZ B5,FDW1 IF MORE BYTES
JP FDWX EXIT
FEM SPACE 4,10
** FEM - FORMAT ENTRY POINT MAP LINE.
*
* ENTRY X5 = LINE INDEX.
* PPU DATA IS AT *PBUF*.
*
* SAVES X - 5.
* B - 1.
* A - 0,5.
*
* CALLS CTS,RPB,UPS.
FEM1 ZR X2,FEMX IF NO MESSAGE
SB6 X2-3
PL B6,FEMX IF NO MESSAGE
SA3 APPF
LX7 X2,B1
IX2 X2+X7
ZR X3,FEMX IF NOT DUMPING PP SAVE AREA DATA
SA2 FEMB-3+X2 READ MESSAGE
SB6 28
SB7 PRBF+4
RJ UPS SET NAME IN PRINT STRING
FEM SUBR
SX2 X5-7
PL X2,FEM1 IF END OF ENTRY POINTS.
SA2 X5+FEMA READ ENTRY POINT NAME,ADDRESS
SB6 3
SB7 PRBF+10
RJ UPS SET NAME IN PRINT STRING
BX1 X2
SB6 4
SB7 B7+2
RJ CTS CONVERT LOCATION
MX2 -12
BX1 -X2*X1
SB6 B7 SAVE B7
RJ RPB READ RETURN ADDRESS FROM PPU
SB7 B6+2
SB6 4
BX1 X6
RJ CTS CONVERT RETURN ADDRESS
JP FEMX EXIT
FEMA BSS 0 RESIDENT ENTRY POINT TABLE
LOC 0
VFD 18/3LFTN,12/FTN,30/0
VFD 18/3LDFM,12/DFM,30/0
VFD 18/3LEXR,12/EXR,30/0
VFD 18/3LSMS,12/.SMS,30/0
VFD 18/3LRDS,12/RDS,30/0
VFD 18/3LWDS,12/WDS,30/0
VFD 18/3LEMS,12/.EMS,30/0
LOC *O
FEMB DATA 28H* ENTRY POINTS AND CONSTANTS
DATA 28H MAY NOT HAVE BEEN SAVED.
FFD SPACE 4,10
** FFD - FIND FWA OF DISK BUFFER AREA IN EXTENDED MEMORY.
*
* ENTRY (X5) = MACHINE ID, LEFT-JUSTIFIED AND ZERO-FILLED.
*
* EXIT (DA) = (X6) = FWA OF DISK BUFFER AREA.
*
* ERROR TO *ERR36*, IF INCORRECT MACHINE ID.
*
* USES X - 1, 2, 6.
* A - 1, 6.
* B - 2.
*
* CALLS POM, SEC.
*
* MACROS GETCM.
FFD SUBR ENTRY/EXIT
RJ SEC SET EXTENDED MEMORY
SX6 20B SET EM SECTOR LIMIT
SA1 EM
SB2 X1
LX6 B2
SX6 X6+ETLT*100B+IBDT
SA6 CPRA
SB2 A6
RJ POM POSITION TO FWA *IBDT*
GETCM FFDA,MXMF READ *IBDT* INTO CORE
SB2 MXMF PRESET *IBDT* INDEX
FFD1 SB2 B2-1
NG B2,ERR36 IF AT END OF *IBDT*
SA1 B2+FFDA
BX2 X1-X5
AX2 48
NZ X2,FFD1 IF MACHINE ID NOT FOUND
AX1 12
MX6 -12
BX6 -X6*X1
LX6 9
SA6 DA STORE FWA OF DISK BUFFER AREA
EQ FFDX RETURN
FFDA BSS MXMF CORE BUFFER FOR *IBDT*
FLC SPACE 4,9
** FLC - FORMAT PPU LOW CORE ANALYSIS LINE.
*
* ENTRY (X5) = LINE NUMBER.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 2, 3, 4, 6, 7.
* B - 2, 6, 7.
*
* CALLS CPN, CTS, GRV, RPB, UPS.
FLC7 RJ GRV GET R-REGISTER VALUE
SB7 B7+3
SB6 8
RJ CTS CONVERT AND STORE IN PRINT LINE
BX3 X1 SAVE ACTUAL
SA1 FLCB+3 GET CP ADDRESS
ZR X1,FLC4 IF PPU NOT ATTACHED
SA1 FLCB+5 GET EXPECTED R-REGISTER
MX2 24
LX1 12
BX1 X2*X1
SB6 8
EQ FLC3.1 COMPARE VALUES
FLC SUBR ENTRY/EXIT
SA2 X5+FLCA
SB6 7
SB7 PRBF+35
RJ UPS SET NAME AND LOCATION
LX2 18
SX1 X2 PPU ADDRESS
ZR X1,FLC7 IF R-REGISTER
SB6 B7 SAVE PRINT STRING ADDRESS
RJ RPB READ LOCATION CONTENTS
SB7 B6+3
SB6 4
BX1 X6
RJ CTS CONVERT CONTENTS
ZR X5,FLC1 IF LINE 0
SB2 X5+FLC6-1
JP B2 VERIFY WORD FOR LINES 1 - 9
* COMPUTE EXPECTED LOW CORE VALUES.
FLC1 SA4 PC GET PP COMMUNICATION AREA POINTER
RJ CPN CONVERT PP NUMBER
LX6 3
IX6 X6+X4 PP INPUT REGISTER ADDRESS
SA3 F.TCMT
IX4 X6+X3
SA6 FLCB SAVE
SX7 X6+B1
SA7 A6+B1 SAVE OUTPUT REGISTER ADDRESS
SX6 X7+B1
SA6 A7+B1 SAVE MESSAGE AREA ADDRESS
SA4 X4 READ INPUT REGISTER
MX2 -5
AX4 36
BX6 -X2*X4 CONTROL POINT NUMBER
LX6 7 CONTROL POINT AREA ADDRESS
SA6 A6+B1 SAVE
ZR X6,FLC4 IF PPU NOT ASSIGNED TO CONTROL POINT
IX4 X6+X3
SA2 OP ADD PCPA OFFSET
IX4 X2+X4
SA2 X4+FLSW GET RA/100 AND FL/100
BX6 X2
SA6 A6+B1 SAVE RA/100 AND FL/100
SA3 CE
SA4 A2+B1 GET R-REGISTER
ZR X3,FLC2.1 IF NO CM EXTENSION
SA2 A2+1
FLC2.1 LX2 -12
BX6 X4
SA6 A6+1 SAVE R-REGISTER
* COMPARE ACTUAL AND EXPECTED VALUES.
FLC3 BX3 X1 SAVE ACTUAL DATA
MX1 -12
BX1 -X1*X2 EXPECTED DATA
LX1 -12
SB6 4
FLC3.1 SB7 B7+2
RJ CTS FORMAT EXPECTED DATA
BX1 X1-X3
ZR X1,FLCX IF ACTUAL = EXPECTED
SA2 =27H *** WARNING ***
SB6 27
FLC3.2 RJ UPS SET MESSAGE
JP FLCX EXIT
* PPU NOT ATTACHED - IGNORE CL, RA AND FL.
FLC4 SA2 =4L----
SB6 4
SB7 B7+2
JP FLC3.2 SET MESSAGE
* CHECK CONTROL POINT RELATED DATA.
FLC5 SA3 FLCB+3 READ CONTROL POINT AREA ADDRESS
ZR X3,FLC4 IF PPU NOT ATTACHED
JP FLC3 CHECK VALUE
* SET EXPECTED VALUES.
FLC6 BSS 0
+ SA2 FLCB+4 FL
JP FLC5
+ SX2 1 ON
JP FLC3
+ SX2 100B HN
JP FLC3
+ SX2 1000B TH
JP FLC3
+ SX2 3 TR
JP FLC3
+ SA2 FLCB+3 CP
JP FLC5
+ SA2 FLCB+0 IA
JP FLC5
+ SA2 FLCB+1 OA
JP FLC5
+ SA2 FLCB+2 MA
JP FLC5
FLCA BSS 0
VFD 42/7LRA 55 ,18/RA
VFD 42/7LFL 56 ,18/FL
VFD 42/7LON 70 ,18/ON
VFD 42/7LHN 71 ,18/HN
VFD 42/7LTH 72 ,18/TH
VFD 42/7LTR 73 ,18/TR
VFD 42/7LCP 74 ,18/CP
VFD 42/7LIA 75 ,18/IA
VFD 42/7LOA 76 ,18/OA
VFD 42/7LMA 77 ,18/MA
VFD 42/7LR-REG ,18/0
FLCB BSS 0 EXPECTED LOW CORE DATA
LOC 0
BSS 1 IA
BSS 1 OA
BSS 1 MA
BSS 1 CP
BSS 1 RA/100, FL/100
BSS 1 R-REGISTER
LOC *O
FOL SPACE 4,9
** FOL - FORMAT ONE LINE OF *P* DUMP.
*
* ENTRY X5 = ROW NUMBER.
*
* SAVES X - 5.
* B - NONE.
* A - 5.
*
* CALLS CTS,UPS,WOF.
FOL SUBR
BX1 X5
SB6 2
LX1 -6
SB7 PRBF+7
RJ CTS SET ROW ADDRESS IN LEFT BLOCK
LX1 -6
SB6 B1+B1
SB7 PRBF+71
RJ CTS CONVERT FOR RIGHT BLOCK
SB2 X5+BUF
SB7 PRBF+11
SB3 2
FOL1 SB4 10B
FOL2 SB6 4 DIGIT COUNT
SA1 B2+ READ BYTE
NZ X1,FOL3 IF NOT ZERO
SA2 =4L----
RJ UPS SET ZERO INDICATOR
JP FOL4
FOL3 RJ CTS CONVERT BYTE
FOL4 SB2 B2+10B ADVANCE ADDRESS
SB7 B7+2 SPACE 2
SB4 B4-1 COUNT BYTE
NZ B4,FOL2 IF MORE BYTES IN THIS BLOCK
SB7 B7+16 SPACE TO RIGHT BLOCK
SB3 B3-1
NZ B3,FOL1 IF NOT DONE WITH RIGHT BLOCK
PRINT CCCH,B7-CCCH-18
JP FOLX EXIT
FON SPACE 4,15
** FON - FORMAT PPU OVERLAY NAME LINE.
*
* ENTRY B4 = LINE INDEX.
* PPU DATA IS AT *PBUF*.
*
* USES X - 1, 2, 6, 7.
* A - 1, 2.
* B - 3, 6, 7.
*
* SAVES X - 5.
* A - 0, 5.
* B - 1.
*
* CALLS RPB, UPS.
FON SUBR ENTRY/EXIT
SB3 3
GE B4,B3,FONX IF NO MORE NAMES TO FORMAT
SB7 B7+6 SET PRINT STRING ADDRESS
JP FONA+B4 PROCESS APPROPRIATE LINE
* LIST LAST MAIN PROGRAM LOADED.
FON1 SA2 =27HLAST MAIN PROGRAM LOADED -
SB6 27
RJ UPS
SX1 IR
SB6 B7+ SAVE PRINT STRING ADDRESS
RJ RPB READ INPUT REGISTER BYTE
SX1 IR+1
BX7 X6 SAVE (IR)
RJ RPB
LX6 -12
FON2 BX2 X6+X7 SET PROGRAM NAME
SB7 B6 PRINT STRING ADDRESS
SB6 3
RJ UPS SET NAME IN PRINT STRING
JP FONX EXIT
* LIST LAST OVERLAY LOADED.
FON3 SA2 =27HLAST OVERLAY LOADED -
SB6 27
RJ UPS
SB6 B7+ SAVE B7
SX1 PLLA
RJ RPB READ OVERLAY NAME
SX1 PLLB
BX7 X6
RJ RPB
MX2 6
BX7 -X2*X7
LX7 6
LX6 -6
JP FON2 SET NAME IN PRINT STRING
* LIST LAST MASS STORAGE DRIVER LOADED.
FON4 SA2 =27HLAST MASS STORAGE DRIVER -
SB6 27
RJ UPS
SB6 B7+
SX1 MSD
RJ RPB READ DRIVER IDENTIFICATION BYTE
SX7 B0 ASSUME NO DRIVER
LX6 6 POSITION MASS STORAGE DRIVER INDEX
BX6 X1*X6
LX6 6
ZR X6,FON2 IF NO DRIVER
SA1 TFON-1+X6 INDEX INTO DRIVER DESIGNATOR TABLE
BX6 X1
SX7 1R6
LX7 -6
JP FON2 PROCESS DRIVER NAME
FONA BSS 0 LINE PROCESSOR JUMP TABLE
+ JP FON1 PRINT LINE 0
+ JP FON3 PRINT LINE 1
+ JP FON4 PRINT LINE 2
TFON BSS 0 TABLE OF MASS STORAGE DRIVER DESIGNATORS
LOC 1
ERRNZ /MSP/LA6DI-* ADJUST TABLE IF VALUE CHANGES
VFD 6/0,12/2RDI,42/0 *6DI*
ERRNZ /MSP/LA6DJ-* ADJUST TABLE IF VALUE CHANGES
VFD 6/0,12/2RDJ,42/0 *6DJ*
ERRNZ /MSP/LA6DP-* ADJUST TABLE IF VALUE CHANGES
VFD 6/0,12/2RDP,42/0 *6DP*
ERRNZ /MSP/LA6DE-* ADJUST TABLE IF VALUE CHANGES
VFD 6/0,12/2RDE,42/0 *6DE*
ERRNZ /MSP/LA6DX-* ADJUST TABLE IF VALUE CHANGES
VFD 6/0,12/2RDX,42/0 *6DX*
LOC *O
FPB SPACE 4,22
** FPB - FILL PAGE BUFFER.
*
* ENTRY (B2) = ADDRESS OF DUMP PARAMETERS. PARAMETER BLOCK
* IS DOCUMENTED IN *PMD*.
* (LC) = CURRENT LINE COUNTER.
* (PD) = NUMBER OF LINES PER PAGE.
*
* EXIT (X1) = PAGE BUFFER LENGTH.
* PARAMETER BLOCK IS UPDATED. FOR EACH WORD DUMPED,
* *BUF* CONTAINS A TWO WORD ENTRY -
*
* 36/0,24/ADDRESS
* 60/DATA FOR DATA, OR
*
* 60/MINUS
* 60/GARBAGE FOR REPEAT INDICATOR.
*
* USES X - 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 5, 6, 7.
* B - 5, 7.
*
* CALLS CPS.
*
* MACROS GETCM.
FPB SUBR
SA5 B2+6 SAVE INVERTED ADDRESS FLAG
BX6 X5
SA5 B2
SA6 FPBA
SX1 1
RJ CPS CHECK PAGE SPACE
SX7 -1 SET SKIP FLAG
SX3 6
IX3 X3*X6 PAGE BUFFER LENGTH = 6*LINES
SB5 BUF SET BUFFER POINTER
SB7 B5+X3 SET LWA+1
SA7 FPBA+1
FPB1 SA1 A5+2
ZR X1,FPB2 IF DATA NOT IN CORE
SA2 X1 READ DATA WORD
SX6 X1+B1
SA6 A1 UPDATE CORE ADDRESS
BX6 X2 SET DATA WORD
EQ FPB3 PROCESS WORD
FPB2 GETCM READ DATA FROM DUMP FILE
FPB3 SA3 FPBA CHECK IF INVERTED ADDRESS IS PRESENT
SA2 A5+6
SX1 B1+
ZR X3,FPB3.1 IF INVERTED ADDRESS NOT PRESENT
IX7 X2-X1 UPDATE INVERTED ADDRESS
SA7 A2
FPB3.1 SA2 A5 GET DUMP ADDRESS
IX7 X2+X1
SA7 A2
SA1 A2+3
SA3 FPBA+1
NZ X1,FPB5 IF NO SUPPRESS REQUESTED
NG X3,FPB5 IF FIRST TIME THROUGH LOOP
BX1 X6-X5 COMPARE WITH PREVIOUS WORD
ZR X1,FPB4 IF DATA IS SAME OR LOGICAL OPPOSITE
EQ FPB5 STORE NEW WORD
FPB4 NG X1,FPB5 IF DATA IS LOGICAL OPPOSITE
NZ X3,FPB7 IF REPEAT ALREADY FLAGGED
MX6 1
SA6 B5 STORE REPEAT FLAG
SX6 B1 SET SKIPPING FLAG
SA6 A3
EQ FPB6 CONTINUE
FPB5 BX5 X6 SAVE WORD FOR NEXT COMPARE
SA6 B5+B1 STORE DATA WORD
SX2 B1
IX6 X7-X2
SA1 FPBA GET INVERTED ADDRESS FLAG
SA6 B5
MX7 0 CLEAR SKIP FLAG
SA3 A5+6
SA7 FPBA+1
ZR X1,FPB6 IF NO INVERTED ADDRESS
IX6 X3+X2
SA6 B5 STORE ADDRESS
FPB6 SB5 B5+2 ADVANCE BUFFER ADDRESS
GE B5,B7,FPB8 IF BUFFER FULL
FPB7 SA1 A5+B1 LWA+1
SA2 A5 FWA
IX1 X2-X1
NG X1,FPB1 IF MORE TO DUMP
FPB8 SX1 B5-BUF SET BUFFER LENGTH
EQ FPBX RETURN
FPBA BSS 1 INVERTED ADDRESS FLAG
BSS 1 SKIP FLAG
FPL SPACE 4,15
** FPL - FORMAT PPU COMMUNICATION REGISTER WORD.
*
* ENTRY (A5) = ADDRESS OF REGISTER WORD.
* (X5) = REGISTER WORD.
* (B2) = PPU NUMBER.
* (B4) = LINE INDEX.
* (B7) = PRINT STRING ADDRESS.
* (IC) = *CPP* PROCESSING FLAG.
*
* USES X - 0, 1, 2, 3, 6.
* A - 1, 2, 6.
* B - 6, 7.
*
* CALLS CTS, FAC, FDW, SDI, UPS.
FPL SUBR
JP FPLA+B4 PROCESS SELECTED LINE
FPLA BSS 0
LOC 0
+ JP FPL0
+ JP FPL3
+ JP FPL4
+ JP FPL5
+ JP FPL5
+ JP FPL5
+ JP FPL5
+ JP FPL5
LOC *O
* PROCESS WORD 0.
FPL0 SA2 IC
ZR X2,FPL1 IF NOT PROCESSING A CPP
SX6 1RC
SA6 B7-1
FPL1 SX6 1RP
SA6 B7 *PP* TO PRINT STRING
SA6 A6+B1
SB7 A6+1
SX1 B2
LX1 -6
SB6 2
RJ CTS CONVERT PPU NUMBER
SB7 B7+3 SPACE 3
BX2 X5
SB6 3
RJ UPS PROGRAM NAME TO PRINT STRING
SX6 1R
SA6 B7+
SB7 B7+3
FPL2 BX1 X5 DATA WORD TO PRINT STRING
SA2 =4000005B
RJ FDW FORMAT DATA WORD
SB6 10 CHARACTER COUNT
BX2 X5 DATA WORD
SB7 B7+B1
RJ SDI SET DISPLAY CODE INTERPRETATION
JP FPLX EXIT
* PROCESS WORD 1.
FPL3 SX6 1R BLANK OUT PPU NUMBER
SA6 B7-1 CLEAR *C* FOR CPP-S
SA6 B7
SA6 A6+B1
SA6 A6+B1
SA6 A6+B1
SB7 A6+4
MX0 7
LX0 -5
BX1 X0*X5 EXTRACT MTR FUNCTION CODE
LX1 12
SX0 X1-MXFM-1
SB6 4
NG X0,FPL3.1 IF FUNCTION WITHIN TABLE
SX1 MXFM SET MAXIMUM FUNCTION CODE
FPL3.1 SA2 TFTN+X1 READ CODE NAME FROM *COMDTFN*
RJ UPS MTR FUNCTION NAME TO PRINT STRING
SB7 B7+2
JP FPL2 CONVERT DATA WORD
* PROCESS WORD 2.
FPL4 SX6 1RC *CL* TO PRINT STRING
SA6 B7+7
SX6 1RP
SA1 A5-2 READ WORD 0
MX0 -5
LX1 24
BX1 -X0*X1 CONTROL POINT NUMBER
FPL4.1 SA6 A6+B1
SB7 A6+B1
LX1 -6
SB6 2
RJ CTS CONVERT CONTROL POINT NUMBER ASSIGNMENT
SB7 B7+2
JP FPL2 CONVERT DATA WORD
* PROCESS WORDS 3 - 7.
FPL5 RJ FAC FIND ASSIGNED CHANNEL
NG X1,FPL6 IF NO MORE CHANNELS ASSIGNED
SX6 1RC *CH* TO PRINT STRING
SX3 X1-40B
NG X3,FPL5.1 IF NOT PROCESSING A *CCH*
SA6 B7+6
FPL5.1 SA6 B7+7
SX6 1RH
JP FPL4.1 CONVERT DATA WORD
FPL6 SX6 1R
SA6 B7+6
SA6 A6+B1
SA6 A6+B1
SA6 A6+B1
SA6 A6+B1
SB7 A6+3
JP FPL2 CONVERT DATA WORD
FPO SPACE 4,15
** FPO - FORMAT PP OPERATING REGISTERS LINE.
*
* ENTRY (X5) = LINE NUMBER.
* (B7) = FWA OF STRING BUFFER.
* (CPRA+3) = HEX/OCTAL FLAG.
*
* EXIT (X6) = 0 IF END OF REGISTERS.
*
* USES X - 1, 2, 6.
* A - 1, 2, 6.
* B - 6, 7.
*
* CALLS CTS, HTS, UPS.
FPO3 LX1 59-15 DISPLAY HEX REGISTERS
SB6 4
SB7 B7+B1
RJ HTS
SA1 A1+B1 GET Q-REGISTER
LX1 59-15
SB6 4
SB7 B7+3
RJ HTS
SA1 A1+B1 GET K-REGISTER
LX1 59-15
SB6 4
SB7 B7+4
RJ HTS
SA1 A1+B1 GET A-REGISTER
LX1 59-19
SB6 5
SB7 B7+3
RJ HTS
FPO SUBR ENTRY/EXIT
NZ X5,FPO1 IF NOT FIRST LINE
SX6 B0+ INITIALIZE REGISTER POINTER
SA6 FPOA
FPO1 SA2 FPOA
SX6 X2-4
ZR X6,FPOX IF END OF REGISTERS
SX1 X5-2
ZR X1,FPOX IF BETWEEN REGISTER SETS
SX6 X2+B1
SA6 A2 UPDATE POINTER
LX2 2
SA1 X2+PPOB GET P-REGISTER
NG X1,FPO1 IF NO REGISTERS PRESENT
LX2 -1 SET DESCRIPTOR
ERRNZ FPOBE-2 CODE DEPENDS ON VALUE
SA2 X2+FPOB
SB6 12
RJ UPS
SB7 B7+3
SA2 CPRA+3 GET FORMAT CODE
SX6 2
ZR X2,FPO2 IF OCTAL
BX2 X6*X2
ZR X2,FPO3 IF HEX
FPO2 LX1 59-14 SET P-REGISTER
SB6 5
RJ CTS
SA1 A1+B1 GET Q-REGISTER
LX1 59-14
SB6 5
SB7 B7+2
RJ CTS
SA1 A1+B1 GET K-REGISTER
LX1 59-17
SB6 6
SB7 B7+2
RJ CTS
SA1 A1+B1 GET A-REGISTER
LX1 59-17
SB6 6
SB7 B7+2
RJ CTS
EQ FPOX RETURN
FPOA CON 0 REGISTER SET POINTER
FPOB DATA C* BEFORE IDLE*
FPOBE EQU *-FPOB ENTRY LENGTH
DATA C* AFTER IDLE*
DATA C*DFT BUFFER 1*
DATA C*DFT BUFFER 2*
FPP SPACE 4,13
** FPP - FIND PPU PROGRAM.
*
* ENTRY X4 = PROGRAM NAME.
* FI = 0 IF INITIAL ENTRY.
* = CURRENT SEARCH INDEX IF NOT FIRST ENTRY.
*
* EXIT X6 = PPU NUMBER.
* FI IS UPDATED.
* X1=FI=0 IF NO MORE PPS EXECUTING REQUESTED PROGRAM.
*
* SAVES X - 5.
* B - 1,5,6,7.
* A - 0,5.
FPP SUBR
SA1 NP GET NUMBER OF PP-S
SA2 PC GET PP COMMUNICATION AREA POINTER
SA3 IC
ZR X3,FPP1 IF NOT DUMPING CPP-S
LX1 3
IX2 X1+X2 SET CPP COMMUNICATION AREA POINTER
SA1 C4 GET NUMBER OF CPP-S
FPP1 LX1 3
SB4 X2
SB3 X1+B4 SET LWA+1 OF SEARCH AREA
MX0 18
SA1 FI READ SEARCH INDEX
SA2 F.TCMT
SB2 X1
NZ X1,FPP2 IF NOT INITIAL ENTRY
SB2 B4 PRESET SEARCH INDEX
FPP2 GE B2,B3,FPP3 IF END OF SEARCH
SA1 X2+B2
BX3 X1-X4
BX3 X0*X3
ZR X3,FPP4 IF PROGRAM NAME MATCH
SB2 B2+10B ADVANCE SEARCH
EQ FPP2 CONTINUE SEARCH
FPP3 SX6 0
SA6 FI CLEAR SEARCH INDEX
SX1 0 SET END OF SEARCH
JP FPPX EXIT
FPP4 SX6 B2+10B
SA6 FI UPDATE SEARCH INDEX
SX6 B2-B4
AX6 3 SET PPU NUMBER
SX1 1 SET PPU FOUND
SX7 X6-12B
NG X7,FPPX IF NOT PPUS 20 - 31
SX6 X6+20B-12B CORRECT PPU NUMBER
JP FPPX EXIT
FPR SPACE 4,20
** FPR - FIND PROCESSOR RECORD.
*
* ENTRY (X1) = THREE CHARACTER RECORD ID.
* (X6) = RADIAL MCI FLAG.
*
* EXIT (X2) = FIRST WORD OF TABLE DIRECTORY IF FOUND.
* = 0 IF RECORD NOT FOUND.
* (RI) = RANDOM INDEX.
* RADIAL MCI PRINTED IF (X6) .NE. 0 ON ENTRY.
*
* USES X - 0, 1, 2, 3, 5, 6.
* A - 1, 2, 3, 6.
* B - 6, 7.
*
* CALLS SSB, UPS.
*
* MACROS PRINT, SEARCH.
FPR SUBR ENTRY/EXIT
SA6 FPRA SAVE RADIAL MCI FLAG
SA3 NR NEXT DIRECTIVE TABLE ENTRY
MX0 18
ZR X3,FPR1 IF FIRST RECORD
SA2 X3 GET PREVIOUS RECORD ID
BX3 X1-X2
BX3 X0*X3
ZR X3,FPR2 IF RECORD ID MATCHES PREVIOUS RECORD ID
FPR1 SEARCH TDIR,X1,X0
ZR X2,FPRX IF RECORD ID NOT IN DIRECTORY
FPR2 SA1 A2+C.TDIR CHECK NEXT *TDIR* ENTRY
BX1 X1-X2
BX1 X0*X1
SX6 A1
ZR X1,FPR3 IF RECORD NAMES MATCH
SX6 B0
FPR3 SA6 NR
SA3 A2+B1 SET RANDOM INDEX
BX6 X3
SA6 RI
SA1 FPRA
ZR X1,FPRX IF NOT TO DISPLAY THE RADIAL MCI
BX5 X2 SAVE FIRST WORD OF DIRECTORY ENTRY
MX0 -6 SET RADIAL MCI
AX2 36
BX6 -X0*X2
SA6 PRBF+13
PRINT (=2C )
SB7 PRBF
SA2 =13HRADIAL MCI =
SB6 13
RJ UPS UNPACK MESSAGE
PRINT CCCH,15
RJ SSB CLEAR STRING BUFFER
PRINT (=2C )
BX2 X5 RESTORE FIRST WORD OF ENTRY
EQ FPRX RETURN
FPRA CON 0 RADIAL MCI FLAG
FPW SPACE 4,15
** FPW - FORMAT CONTROL POINT PARAMETER LINE.
*
* ENTRY (X1) = LINE INDEX.
* (CN) = CONTROL POINT NUMBER.
* (FW) = CONTROL POINT AREA ADDRESS.
* (GDBB) = DAYFILE BUFFER LENGTH.
* (NC) = NUMBER OF CONTROL POINTS - 1.
*
* USES X - 0, 1, 2, 3, 4, 6, 7.
* A - 1, 2, 3, 4, 6, 7.
* B - 2, 3, 4, 5, 6, 7.
*
* CALLS CNL, CTS, DMB, DOS, GCS, GDB, GEE, GFL, POM, SCM, UPS.
*
* MACROS GETCM.
FPW SUBR
SB7 PRBF+1 SET PRINT STRING ADDRESS
SA2 F.TCMT
SA3 FW
IX3 X2+X3
SB2 X3 SET CONTROL POINT AREA ADDRESS
SB3 X1+FPWA SET JUMP TABLE ADDRESS
JP B3 EXECUTE SELECTED PROCESSOR
* LINE 0 - USER NAME, SENSE SWITCHES.
FPW1 SA2 =45HUSER NAME SENSE SWITCHES
SB6 45
RJ UPS STORE HEADING
SA2 B2+UIDW READ USER NAME
SB6 7
SB7 PRBF+21
RJ UPS STORE USER NAME
SA1 B2+SNSW READ SENSE SWITCHES
SB6 2
SB7 PRBF+59
LX1 -12
RJ CTS CONVERT SENSE SWITCHES
JP FPWX EXIT
* LINE 1 - PRIMARY FILE NAME, CCL R1.
FPW2 SA2 =45HPRIMARY FILE CCL R1
SB6 45
RJ UPS STORE HEADING
SA1 B2+TFSW READ PRIMARY FILE EST POINTER
SA2 F.TCMT
MX3 -12
AX1 36
BX3 -X3*X1 FST ADDRESS
ZR X3,FPW3 IF NO PRIMARY FILE
IX1 X2+X3
SA2 X1-1 READ FNT
SB6 7
SB7 PRBF+21
RJ UPS SET FILE NAME
FPW3 SA1 B2+JCRW READ CCL REGISTERS
LX1 -18
FPW3.1 SB6 6
SB7 PRBF+55
RJ CTS CONVERT REGISTER
JP FPWX EXIT
* LINE 2 - ORIGIN TYPE, CCL R2.
FPW4 SA2 =45HORIGIN TYPE CCL R2
SB6 45
RJ UPS STORE HEADING
MX0 12 PRESET ORIGIN TYPE MASK
SA1 B2+JOTW GET ORIGIN TYPE
LX0 24
BX1 X0*X1
AX1 12
SA2 X1+FPWB READ ORIGIN TYPE
SB6 4
SB7 PRBF+24
RJ UPS STORE ORIGIN TYPE
SA1 B2+JCRW READ CCL REGISTERS
LX1 -36
JP FPW3.1 CONVERT REGISTER
* LINE 3 - TIME USED, CCL R3.
FPW5 SA2 =45HTIME USED CCL R3
SB6 45
RJ UPS STORE HEADING
SA1 B2+CPTW READ CP ACCOUNTING WORD
SX2 1000
AX1 22 MILLISECONDS USED
IX1 X1/X2 SECONDS USED
LX1 -30
SB6 10
SB7 PRBF+18
RJ CTS CONVERT TIME USED
SA1 B2+JCRW READ CCL REGISTERS
LX1 6
SB6 6
SB7 PRBF+55
RJ CTS CONVERT CCL R3
JP FPWX EXIT
* LINE 4 - TIME REMAINING, CCL ERROR FLAGS.
FPW6 SA2 =45HTIME REMAINING CCL EF
SB6 45
RJ UPS STORE HEADING
SA1 B2+CPTW READ CP ACCOUNTING WORD
SX2 1000
AX1 22 MILLISECONDS USED
IX1 X1/X2 SECONDS USED
SA3 B2+CPLW GET TIME LIMIT
SX2 1000
AX3 22 LIMIT IN MILLISECONDS
IX3 X3/X2 LIMIT IN SECONDS
IX1 X3-X1 SECONDS LEFT
LX1 -30
SB6 10
SB7 PRBF+18
RJ CTS CONVERT TIME REMAINING
SA1 B2+JCRW READ CCL REGISTERS
SB6 2
SB7 PRBF+59
RJ CTS CONVERT ERROR FLAGS
JP FPWX EXIT
* LINE 5 - SUBSYSTEM ID, CPU PRIORITY.
FPW7 SA2 =45HSUBSYSTEM ID CPU PRIORITY
SB6 45
SA1 B2+JCIW READ SUBSYSTEM ID
RJ UPS STORE HEADING
SB6 4
SB7 PRBF+24
LX1 24
MX2 -58
RJ CTS CONVERT SUBSYSTEM ID
SA1 B2+CWQW READ CPU PRIORITY
BX1 -X2*X1
AX1 51
SB7 PRBF+57
SB4 4
RJ DOS CONVERT CPU PRIORITY
JP FPWX EXIT
* LINE 6 - CPU STATUS.
FPW8 SA2 =45HCPU STATUS SERVICE CLASS
SB6 45
SX5 B2
RJ UPS STORE HEADING
SB7 PRBF+27
RJ GCS GET CPU STATUS
RJ GEE GET EJT ENTRY
R= A1,BUF+SCLE GET SERVICE CLASS
MX0 6
BX1 X0*X1
LX1 6
R= A2,X1+SCNT-1 READ SERVICE CLASS MEMONIC
SB6 4
SB7 PRBF+57
RJ UPS STORE SERVICE CLASS
EQ FPWX EXIT
* LINE 8 - MESSAGE 1 LINE.
FPW12 SA2 =28HMESSAGE 1 -
SB6 28
RJ UPS STORE HEADING
SA2 B2+MS1W
SB6 48
RJ DMB STORE MESSAGE
JP FPWX EXIT
* LINE 9 - MESSAGE 2 LINE.
FPW13 SA2 =28HMESSAGE 2 -
SB6 28
RJ UPS STORE HEADING
SA2 B2+MS2W
SB6 28
RJ DMB STORE MESSAGE 2
JP FPWX EXIT
* LINE 11 - CURRENT COMMAND.
FPW14 SA1 CN
SA2 NC
SX2 X2+B1
IX1 X2-X1
ZR X1,FPWX IF SYSTEM CONTROL POINT
SA2 =28HCURRENT COMMAND -
SB6 28
RJ UPS STORE HEADING
RJ CNL CHECK NFL LENGTH
NG X1,FPWX IF INSUFFICIENT NFL SPACE
RJ SCM SELECT CENTRAL MEMORY
SA1 FW
RJ GFL GET RA OF CONTROL POINT
SX1 CSBN SET FWA OF COMMAND BUFFER
IX6 X6-X1
SX7 B2 SAVE B2
MX1 -24
BX6 -X1*X6
SA6 CPRA
SA7 A6+B1
SB2 A6 POSITION DUMP FILE
RJ POM
GETCM BUF,110B READ COMMAND BUFFER
SB7 PRBF+29 RESET PRINT STRING ADDRESS
SA1 CPRA
SB4 BUF FWA OF BUFFER
SA3 A1+B1 RESTORE B2
SX0 X1+CSBN RA OF CONTROL POINT
SB2 X3
SA1 B2+CSPW READ COMMAND BUFFER INDEX
MX2 -12
AX1 12
BX1 -X2*X1
SB3 X1-CSBN
SB3 B4-B3 FORM CURRENT POINTER
EQ B3,B4,FPWX IF BUFFER EMTPY
FPW15 SB3 B3-B1 POINTER TO END OF LAST LINE
SB5 B3 SAVE END OF LINE POINTER
EQ FPW17 ENTER SEARCH LOOP
FPW16 SA1 B3
BX1 -X2*X1
ZR X1,FPW18 IF END OF PREVIOUS LINE
FPW17 SB3 B3-1
GE B3,B4,FPW16 IF NOT BEGINNING OF BUFFER
FPW18 SX1 10
SX2 B5-B3 WORD COUNT FOR LINE
IX2 X1*X2
SB6 X2+ CHARACTER COUNT
GE B3,B4,FPW19 IF NOT FIRST WORD OF BUFFER
SX6 65B =1R_
SA6 B7
SB7 B7+B1
FPW19 SA2 B3+1 READ FIRST WORD OF LINE
RJ UPS STORE LINE IN PRINT STRING
JP FPWX EXIT
* LINE 13 - LAST DAYFILE MESSAGE.
FPW20 SA2 =28HLAST DAYFILE MESSAGE -
SB6 28
RJ UPS STORE HEADING
SA1 CN
SA2 NC
SX2 X2+B1
IX1 X2-X1
ZR X1,FPW20.0 IF SYSTEM CONTROL POINT
RJ CNL CHECK NFL LENGTH
NG X1,FPWX IF INSUFFICIENT NFL SPACE
FPW20.0 RJ GDB GET DAYFILE BUFFER
SA1 GDBD
NZ X1,FPWX IF INACCURATE DAYFILE BUFFER POINTERS
SA1 F.TSC1 GET POINTER ADDRESS
SA1 X1 READ POINTER WORD
MX2 -12
BX3 -X2*X1 DETERMINE *IN* AND *FIRST* POINTERS
SB2 X3 RELATIVE *IN* POINTER
SA4 F.TSCR
IX3 X4+X3
SB6 X3-1 INITIALIZE POINTER FOR SEARCH LOOP
SA3 GDBB GET BUFFER LENGTH
SB7 X3
NZ B2,FPW20.1 IF *IN* .NE. 0
SB6 X4+B7 SET POINTER AT LWA OF DATA
SB6 B6-B1
FPW20.1 SB3 X4 *FIRST* POINTER
SA1 A1+B1 DETERMINE *OUT* POINTER
BX3 -X2*X1
SX6 X3+B2 RELATIVE *IN* + *OUT*
IX3 X4+X3
SB4 X3 *OUT* POINTER
SA1 A1+B1 CHECK DISK ASSIGNMENT
AX1 12
IX6 X1+X6 CHECK *IN* = *OUT* = 0
ZR X6,FPWX IF BUFFER NOT USED
SB5 B1 INITIALIZE WORD COUNTER
SB2 B0 INITIALIZE TOP OF MESSAGE WORD COUNTER
* FIND THE START OF THE LAST MESSAGE.
FPW20.2 NE B6,B3,FPW20.3 IF POINTER .NE. FIRST
SB6 B3+B7 SET POINTER = FIRST + LIMIT
SB2 B5 SET TOP OF MESSAGE COUNT
FPW20.3 SB6 B6-B1 *IN* = *IN* - 1
SA3 B6 CHECK FOR ZERO BYTE TERMINATOR
BX3 -X2*X3
ZR X3,FPW20.5 IF START OF LAST MESSAGE FOUND
SB5 B5+B1 INCREMENT WORD COUNT
EQ B6,B4,FPW20.4 IF *IN* = *OUT* BOTTOM OF MESSAGE
GT B5,B7,FPWX IF LAST MESSAGE CAN NOT BE DETECTED
EQ FPW20.2 CONTINUE SEARCH FOR START OF LAST MESSAGE
* SETUP THE PRINT BUFFER WITH FIRST AND LAST PART OF THE
* MESSAGE IN UNPACKED FORMAT.
FPW20.4 SB6 B6-B1 ADJUST POINTER TO FWA-1
FPW20.5 SX3 B5-B2 CALCULATE WORDS IN BEGINNING OF MESSAGE
SX1 10
IX3 X1*X3 NUMBER OF CHARACTERS IN FIRST OF MESSAGE
SB7 PRBF+29 SET PRINT STRING ADDRESS
GE B6,B3,FPW20.6 IF NOT BEGINNING OF BUFFER
SX6 65B =1R_
SA6 B7
SB7 B7+B1 DESTINATION OF UNPACKED CHARACTERS
FPW20.6 SA2 B6+B1 SOURCE OF PACKED CHARACTERS
SB6 X3 NUMBER OF CHARACTERS TO UNPACK
ZR B6,FPW20.7 IF MESSAGE WORDS CONTIGUOUS IN LAST PART
RJ UPS STORE FIRST PART OF MESSAGE
FPW20.7 ZR B2,FPWX IF MESSAGE WORDS CONTIGUOUS IN FIRST PART
SA2 F.TSCR SOURCE OF PACKED CHARACTERS
SX3 B2 CALCULATE NUMBER OF CHARACTERS IN LAST PART
SA2 X2
IX3 X1*X3
SB6 X3
RJ UPS STORE LAST PART OF MESSAGE
EQ FPWX EXIT
* LINE 15 - SPECIAL ENTRY POINTS.
FPW21 SA1 CN
SA2 NC
SX2 X2+B1
IX1 X2-X1
ZR X1,FPWX IF SYSTEM CONTROL POINT
SA2 =28HSPECIAL ENTRY POINTS -
SB6 28
RJ UPS STORE HEADING
SA1 B2+SEPW READ ENTRY POINT FLAGS
SB3 FPWCL SET NUMBER OF ENTRY POINTS
LX1 59-56 POSITION FIRST ENTRY POINT
FPW22 PL X1,FPW23 IF NO SPECIAL ENTRY POINT
SA2 B3+FPWC-1 READ ENTRY POINT NAME
SB6 5
RJ UPS STORE NAME
FPW23 LX1 1 CHECK NEXT BIT
SB3 B3-B1
NZ B3,FPW22 IF MORE BITS TO CHECK
JP FPWX EXIT
FPWA BSS 0 LINE PROCESSOR JUMP TABLE
LOC 0
+ JP FPW1
+ JP FPW2 PROCESS LINE 1
+ JP FPW4 PROCESS LINE 2
+ JP FPW5 PROCESS LINE 3
+ JP FPW6 PROCESS LINE 4
+ JP FPW7 PROCESS LINE 5
+ JP FPW8 PROCESS LINE 6
+ JP FPWX
+ JP FPW12
+ JP FPW13
+ JP FPWX
+ JP FPW14
+ JP FPWX
+ JP FPW20
+ JP FPWX
+ JP FPW21
+ JP FPWX
LOC *O
FPX SPACE 4,20
** FPX - FIND AND PACK EXCHANGE PACKAGE.
*
* ENTRY (X2) = 0, IF REQUEST FOR FIRST CPU EXCHANGE PACKAGE.
* = ADDRESS OF THE ADDRESS OF THE DIRECTORY TABLE
* ENTRY FOR THE EXCHANGE PACKAGE FOR CPU1.
*
* EXIT (X1) = 0, IF CPU1 NOT PRESENT OR NOT IN C170 MODE.
* = ADDRESS OF THE ADDRESS OF THE DIRECTORY TABLE
* ENTRY FOR THE EXCHANGE PACKAGE FOR CPU1.
* EXCHANGE PACKAGE PACKED AT *BUF*.
* TO *ERR15* IF C170 STATE XP NOT FOUND FOR CPU0.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 0, 1, 2, 3, 4, 6, 7.
* B - 2, 3.
*
* CALLS FPR, PCM.
*
* MACROS GETCM, MOVE.
FPX SUBR ENTRY/EXIT
BX6 X2
SA6 FPXA SAVE CPU1(800) ON/OFF
SX6 B0 DO NOT DISPLAY RADIAL MCI
SA1 .PXP
RJ FPR FIND PROCESSOR RECORD
ZR X2,ERR15 IF PROCESSOR EXCHANGE PACKAGE NOT FOUND
SA1 FPXA
SX6 BUF+20B
NZ X1,FPX0 IF NOT FIRST RECORD
SA2 NR SAVE CPU1 RECORD POINTER
BX6 X2
SA6 A1
SX6 BUF
FPX0 SA6 A1+B1 SET BUFFER POINTER
ERRNZ FPXB-FPXA-1
SX3 B0
RJ PCM POSITION FOR READ
SA4 FPXB
SA0 X4
GETCM A0,33 READ CYBER 170-8X5 EXCHANGE PACKAGE
SA1 A0+B1
AX1 -4
SX1 X1-1
ZR X1,FPX1 IF C170 VMID
SA3 S2JPS
RJ CEA POSITION TO JOB EXCHANGE PACKAGE IN *EI*
SA4 FPXB
SA0 X4
GETCM A0,33 READ JOB EXCHANGE PACKAGE
SA1 A0+B1
AX1 -4
SX1 X1-1
ZR X1,FPX1 IF C170 VMID
SA1 FPXB
SX1 X1-BUF-20B
NZ X1,ERR15 IF CPU0 NOT C170 VMID
EQ FPXX CPU1 NOT C170 VMID
FPX1 MOVE 5,A0+4,A0+1
SA1 A0+3
SA2 A0+B1
BX6 X1
LX7 X2
SA6 A0+6 STORE MA
AX7 32-12
SA7 A1 STORE MODE
SA1 A2-B1 CHANGE P TO A WORD ADDRESS
MX4 -24
BX2 -X4*X2 EXTRACT RA
AX1 3
IX6 X1-X2 FORM RELATIVE P
SA6 A1
SB2 B0
MX6 0
SA6 A0+7
SA6 A0+17
MX3 -18
FPX2 SA1 A0+B2 FORM UPPER 10 WORDS OF XP
SA2 A1+9 GET A-REGISTER
BX6 -X4*X1
BX7 -X3*X2
SA2 A2+8 GET B-REGISTER
LX6 18
BX6 X6+X7
BX7 -X3*X2
LX6 18
BX6 X6+X7
SA6 A1 STORE EXCHANGE PACKAGE WORD
SB2 B2+B1
SB3 10B
NE B3,B2,FPX2 IF MORE TO PACK
MOVE 10B,A0+25,A0+10B MOVE X-REGISTERS
SA1 FPXA GET CPU1(800) ON/OFF
EQ FPXX RETURN
FPXA CON 0 POINTER TO CPU1 EXCHANGE PACKAGE
FPXB CON 0 BUFFER ADDRESS POINTER
FRV SPACE 4,10
** FRV - FETCH REGISTER VALUE.
*
* ENTRY (X1) = SVA OF REGISTER.
*
* EXIT (X6) = 16/0, 12/SEG, 32/BYTE OFFSET.
* (X2) = 0, IF PAGE FOUND.
*
* USES X - 2, 5, 6.
*
* CALLS ISM, NXB, PSM.
FRV SUBR ENTRY/EXIT
BX6 X1
RJ PVM POSITION VIRTUAL MEMORY
NZ X2,FRVX IF PAGE NOT FOUND
RJ NXB
BX5 X1 EXTRACT SEGMENT NUMBER
RJ NXB
LX5 16
BX5 X5+X1
RJ NXB
LX5 16
BX6 X5+X1
SX2 0
JP FRVX RETURN
FSC SPACE 4,11
** FSC - FORMAT STATUS/CONTROL REGISTER CONTENTS.
*
* ENTRY X5 = SC16 CHARACTERS STRING ADDRESS.
* B3 = NUMBER OF CHARACTERS.
* A0 = ADDRESS OF 14 CHARACTER DESCRIPTION.
* SCPA = 0 IF SC36 TO BE PROCESSED(CHARACTER STRING
* WILL BE FOUND AT X5+ 100).
*
* USES ALL REGISTERS.
*
* CALLS MVE=,SSB,UPS,WOF.
FSC SUBR
RJ SSB CLEAR PRINT STRING
SB2 1
SB7 PRBF+15
FSC1 SA2 A0+
SB6 14
RJ UPS
SB7 B7+2 SPACE TWICE
MOVE B3,X5,B7
ZR B2,FSC2 IF DONE WITH SC36
SA4 /DIRECT/SCPA
NZ X4,FSC2 IF SC36 RECORD NOT FOUND
SB2 0
SX5 X5+100 SET SC36 CHARACTER STRING ADDRESS
SB7 PRBF+65
JP FSC1 CONTINUE
FSC2 PRINT CCCH,116
JP FSCX EXIT
FTR SPACE 4,15
** FTR - FORMAT TWO PP COMMUNICATION REGISTERS.
*
* ENTRY A5 = ADDRESS OF FIRST REGISTER WORD.
* X5 = FIRST REGISTER WORD.
* FW = CURRENT PPU NUMBER.
*
* EXIT A5 IS ADVANCED BY 20B.
*
* USES X - 1, 2, 5, 6.
* A - 1, 2, 5, 6.
* B - 2, 4, 7.
*
* CALLS FPL.
*
* MACROS PRINT.
FTR SUBR
SX6 0
SA6 FTRA CLEAR LINE INDEX
PRINT (=2C )
FTR1 SA1 FW
SA2 FTRA
SB2 X1 SET PPU NUMBER
SB4 X2 SET LINE INDEX
SB7 PRBF+7 PRINT STRING ADDRESS
RJ FPL FORMAT PPU REGISTER WORD
SB2 B2+1 ADVANCE PPU NUMBER
SA5 A5+10B READ WORD FROM NEXT AREA
SA1 FTRB
NZ X1,FTR2 IF ONLY 1 AREA TO PRINT
SB7 PRBF+65
RJ FPL FORMAT REGISTER WORD
FTR2 PRINT CCCH,B7-CCCH
SA5 A5-7 READ NEXT WORD OF FIRST REGISTER
SA1 FTRA
SX6 X1+B1
SA6 A1 ADVANCE LINE INDEX
SX6 X6-10B
NG X6,FTR1 IF MORE LINES TO FORMAT
SA5 A5+10B UPDATE POINTER
SX6 B0+ CLEAR 1 AREA FLAG
SA6 FTRB
JP FTRX EXIT
FTRA BSS 1 LINE INDEX
FTRB CON 0 PRINT ONLY 1 AREA FLAG
FXA SPACE 4,10
** FXA - FORMAT EXCHANGE AREA.
*
* ENTRY (X1)= SVA OF EXCHANGE PACKAGE.
* (X6)= NUMBER OF WORDS TO FORMAT.
*
* EXIT DESIRED AMOUNT OF EXCHANGE AREA PRINTED.
*
* USES A - 0, 1, 2, 3, 5, 6, 7.
* X - 1, 2, 3, 5, 6, 7.
* B - 6, 7.
*
* CALLS CDD, HTS, RMB, SSB, UPS.
*
* MACROS PRINT.
FXA SUBR ENTRY/EXIT
SA6 FXAA+1 SAVE TERMINATING CONDITION
SX6 51 READ FULL BUFFER
RJ RMB READ MEMORY BYTES
SX7 0
SA7 FXAA
SA1 BUF+8 FETCH FRAME DESCRIPTOR
SX2 0#F0
SA3 FXAD DESCRIPTOR FOR FULL PACKAGE
BX6 X3
BX7 X1*X2 EXTRACT POSSIBLE ENDING A-REGISTER
SA6 FXAA+2
ZR X7,FXA1 IF EXCHANGE PACKAGE
LX7 18-4
IX3 X3+X7
LX2 4
BX6 X1*X2 EXTRACT STARTING X REGISTER
LX6 12-8
IX3 X6+X3
LX2 -8
BX6 X1*X2 EXTRACT ENDING X REGISTER
LX6 6-0
IX6 X6+X3
LX6 59-23
SA6 A6 SAVE STACK FRAME DESCRIPTOR
FXA1 RJ SSB SPACE FILL BUFFER
SA1 FXAA REGISTER TO DUMP
SA5 FXAB+X1 REGISTER DESCRIPTOR
SX2 X1
LX2 2
SA0 BUF+X2 POINTER TO REGISTER CONTENT
RJ CDD GET DECIMAL REGISTER NUMBER
BX2 X6
LX2 59-11
SB7 PRBF
SB6 2
RJ UPS PLACE REGISTER NUMBER IN OUTPUT LINE
MX2 -17
BX6 -X2*X5 EXTRACT MESSAGE ADDRESS
SA6 FXAC
AX5 17
BX7 -X2*X5 EXTRACT 2 CHARACTER FIELD
SA7 A6+B1
SB7 B7+2
SA2 X6 FETCH MESSAGE
NZ X6,FXA3 IF MESSAGE SPECIFIED
BX2 X7 2 CHARACTER FIELD
LX2 59-11 LEFT JUSTIFY
SB7 PRBF+11
SB6 B1+B1
SX5 B6+B6
RJ UPS DISPLAY REGISTER NAME
FXA2 SB7 B7+2 NEW POSITION IN OUTPUT LINE
SA1 A0
LX1 59-15 LEFT JUSTIFY 16 BIT DATA
SB6 4
RJ HTS DISPLAY 4 HEX DIGITS
SA0 A0+1
SX5 X5-1
NZ X5,FXA2 IF MORE 16 BIT CHUNKS TO DISPLAY
EQ FXA4 PRINT LINE
FXA3 SB6 9
RJ UPS UNPACK MESSAGE TO LINE
SA2 FXAC+1 GET REGISTER NAME
SB6 B1+B1
SX5 B6+B6
ZR X2,FXA2 IF NO REGISTER NAME
SB7 PRBF+25
LX2 59-11
RJ UPS PLACE REGISTER NAME IN LINE
SA1 A0
LX1 59-15
SB7 PRBF+15
SB6 4
RJ HTS DISPLAY 4 HEX DIGITS
SA5 A0+B1
LX5 16
SA1 A0+2
BX5 X5+X1
LX5 16
SA1 A0+3
BX1 X5+X1
LX1 59-47
SB7 PRBF+29
SB6 1
RJ HTS DISPLAY RING NUMBER
SB7 B7+B1
SB6 3
RJ HTS DISPLAY SEGMENT NUMBER
SB7 B7+2
SB6 8
RJ HTS DISPLAY ADDRESS DATA
FXA4 PRINT CCCH,B7-CCCH+1
SA1 FXAA
SA2 A1+B1
SX6 X1+B1 INCREMENT REGISTER NUMBER
SA6 A1
IX2 X1-X2
ZR X2,FXAX IF EXCHANGE PACKAGE DUMP FINISHED
MX2 -6
SA3 A2+B1
BX6 X3
LX6 6
BX3 -X2*X6 ENDING REGISTER NUMBER
IX1 X1-X3
NZ X1,FXA1 IF MORE REGISTERS TO DUMP
LX6 6
SA6 A3 REPLACE DESCRIPTOR
BX6 -X2*X6
SA6 A1 SET NEW STARTING REGISTER
ZR X6,FXAX IF END OF DUMP
PRINT (=2C )
EQ FXA1 DISPLAY NEXT REGISTER
FXAA CON 0 REGISTER NUMBER
CON 0 LAST REGISTER NUMBER
CON 0 DUMP DESCRIPTOR
FXAB BSS 0 REGISTER DESCRIPTORS
P RFDSC 00,(LKEY )
A0 RFDSC 00,(VMID/UVMI)
A1 RFDSC 01,(FLGS/TRAP)
A2 RFDSC 02,(USER MASK)
A3 RFDSC 03,( MTR MASK)
A4 RFDSC 04,(USER COND)
A5 RFDSC 05,( MTR COND)
A6 RFDSC 06,(KYPC/LPID)
A7 RFDSC 07,(KYPT MASK)
A8 RFDSC 08,(KYPT CODE)
A9 RFDSC 09,( )
AA RFDSC 0A,(INTV TIMR)
AB RFDSC 0B,( )
AC RFDSC 0C,(BASE CONS)
AD RFDSC 0D,( )
AE RFDSC 0E,(MODL FLGS)
AF RFDSC 0F,(SEGT LENG)
X0 RFDSC 10
X1 RFDSC 11
X2 RFDSC 12
X3 RFDSC 13
X4 RFDSC 14
X5 RFDSC 15
X6 RFDSC 16
X7 RFDSC 17
X8 RFDSC 18
X9 RFDSC 19
XA RFDSC 1A
XB RFDSC 1B
XC RFDSC 1C
XD RFDSC 1D
XE RFDSC 1E
XF RFDSC 1F
RFDSC 20,(TRACE REG)
UP RFDSC 21,(SEGMENT )
TP RFDSC 22,(TBL ADDR )
DP RFDSC 23,(DB I/DB M)
R1 RFDSC 24,(MAX RING )
R2 RFDSC 25,( )
R3 RFDSC 26,( )
R4 RFDSC 27,( )
R5 RFDSC 28,( )
R6 RFDSC 29,( )
R7 RFDSC 2A,( )
R8 RFDSC 2B,( )
R9 RFDSC 2C,( )
RA RFDSC 2D,( )
RB RFDSC 2E,( )
RC RFDSC 2F,( )
RD RFDSC 30,( )
RE RFDSC 31,( )
RF RFDSC 32,( )
FXAC CON 0 MESSAGE ADDRESS
CON 0 REGISTER NAME
FXAD VFD 6/16,6/17,6/32,6/33,6/51,6/0,6/1,6/17,6/17,6/0
FXC SPACE 4,15
** FXC - FORMAT EXCHANGE PACKAGE REGISTER ADDRESS CONTENTS.
*
* ENTRY (B2) = ADDRESS OF EXCHANGE PACKAGE REGISTER ADDRESS.
* (X5) = STRING BUFFER ADDRESS FOR CONTENTS.
* (FW) = ADDRESS OF CONTROL POINT AREA.
*
* EXIT REGISTER AND CONTENTS PLACED IN STRING BUFFER.
*
* USES A - 1, 2, 6.
* B - 6, 7.
* X - 1, 2, 6.
*
* CALLS FDW, GFL, POM, SDI.
*
* MACROS GETCM.
FXC SUBR ENTRY/EXIT
SA1 FW GET FIELD LENGTH AND REFERENCE ADDRESS
RJ GFL
SA6 BA
SA1 B2 CHECK ADDRESS AGAINST FL
IX2 X1-X7
BX6 X6-X6 CLEAR VALUE
PL X2,FXC1 IF ADDRESS .GE. FL
RJ POM POSITION DUMP FILE
GETCM READ WORD
FXC1 SA2 =4000005B CONVERT REGISTER ADDRESS CONTENTS
SB7 X5
BX1 X6
RJ FDW FORMAT WORD
BX2 X1 SET DATA WORD
SB6 10
RJ SDI SET DISPLAY CODE INTERPRETATION
SX6 B0+ CLEAR REFERENCE ADDRESS
SA6 BA
EQ FXCX RETURN
FXW SPACE 4,16
** FXW - FORMAT EXCHANGE PACKAGE WORD.
*
* ENTRY X1 = WORD INDEX.
* X5 = WORD.
* A5 = WORD ADDRESS.
* B7 = PRINT STRING ADDRESS.
* = COMPLEMENT OF PRINT STRING ADDRESS IF CONTENTS
* OF REGISTER ADDRESSES TO BE DISPLAYED.
*
* EXIT A5 IS ADVANCED.
*
* USES X - 0, 1, 2, 3, 5, 6.
* A - 1, 2, 3, 5, 6, 7.
* B - 2, 4, 6, 7.
*
* CALLS COD, DOS, FDW, FXC, SDI, UPS.
FXW SUBR
BX6 X6-X6
PL B7,FXW1 IF CONTENTS OF ADDRESS NOT TO BE DISPLAYED
SB7 -B7 SET PRINT STRING ADDRESS
SX6 B1 SET DISPLAY CONTENTS FLAG
FXW1 SA6 FXWE
SX2 X1-10B
PL X2,FXW6 IF X-REGISTER
SB4 B7 SAVE B7
SA2 FXWA+X1 READ REGISTER NAME
SA3 CF CHECK IF A CYBER 176
NZ X3,FXW2 IF NOT CYBER 176
LX2 42 READ CYBER 176 REGISTER NAME
* SET REGISTER NAMES.
FXW2 SB6 3 SET CONTROL REGISTER NAME
RJ UPS
NZ X3,FXW3 IF NOT A CYBER 176
LX2 18 SHIFT TO NEXT A REGISTER NAME
FXW3 SB7 B7+11 SET A-REGISTER NAME
SB6 2
RJ UPS
SB7 B7+9 SET B-REGISTER NAME
SB6 2
RJ UPS
* SET A AND B-REGISTER CONTENTS NAMES.
SA1 FXWE
ZR X1,FXW4 IF NOT TO DISPLAY ADDRESS CONTENTS
SA2 FXWB
SB7 B7+9
SB6 5
RJ UPS UNPACK TO STRING BUFFER
SB7 B7+37
SB6 5
RJ UPS UNPACK TO STRING BUFFER
* SET REGISTERS IN STRING BUFFER.
FXW4 SB7 B4+4
BX1 X5
LX1 24 SET CONTROL REGISTER
SB4 8
RJ DOS
MX0 -18
BX7 -X0*X5
SA7 FXWD SAVE B-REGISTER
BX1 X5
LX1 -18 SET A-REGISTER
BX7 -X0*X1
SA7 A7-B1 SAVE A-REGISTER
SB7 B7+3
SB4 6
RJ DOS
BX1 X5 SET B-REGISTER
SB7 B7+3
SX5 PRBF+42
RJ DOS
* FORMAT A AND B-REGISTER CONTENTS.
SA1 FXWE
ZR X1,FXW5 IF NOT TO DISPLAY ADDRESS CONTENTS
SB2 FXWC
RJ FXC
SB2 FXWD
SX5 PRBF+84
RJ FXC
SA1 FXWB
SA2 =100000000010000B
IX6 X1+X2
SA6 A1
FXW5 SA5 A5+B1 READ NEXT WORD
JP FXWX EXIT
* FORMAT X - REGISTER.
FXW6 SA3 FXWB RESET REGISTER NUMBER
SA2 =10H(A0)=(B0)=
BX6 X2
SA6 A3
SA2 FXWA+X1 READ REGISTER NAME
BX1 X5 SET DATA WORD
MX0 -18 SAVE ADDRESS
BX6 -X0*X5
SA6 FXWC
SB6 4
RJ UPS STORE REGISTER NAME
SA3 FXWE
ZR X3,FXW7 IF NOT TO DISPLAY ADDRESS CONTENTS
SB4 B7+ SAVE STRING BUFFER ADDRESS
SB6 5
SB7 B4+37
RJ UPS UNPACK TO STRING BUFFER
SB7 B4+
FXW7 SA2 =4000005B
RJ FDW CONVERT REGISTER WORD
BX2 X1 SET DATA WORD
SB6 10
RJ SDI SET DISPLAY CODE INTERPRETATION
SA1 FXWE
ZR X1,FXW5 IF NOT TO DISPLAY ADDRESS CONTENTS
SB2 FXWC FORMAT X - REGISTER CONTENTS
SX5 B7+7
RJ FXC
EQ FXW5 EXIT
FXWA BSS 0 REGISTER NAMES
DATA 10LP A0B0P
DATA 10LRA A1B1RA
DATA 10LFL A2B2FL
DATA 10LEM A3B3PSD
DATA 10LRAEA4B4RAE
DATA 10LFLEA5B5FLE
DATA 10LMA A6B6MA
DATA 10L A7B7EEA
DATA 10LX0 (X0)=
DATA 10LX1 (X1)=
DATA 10LX2 (X2)=
DATA 10LX3 (X3)=
DATA 10LX4 (X4)=
DATA 10LX5 (X5)=
DATA 10LX6 (X6)=
DATA 10LX7 (X7)=
FXWB DATA 10L(A0)=(B0)= REGISTER CONTENTS NAMES
FXWC CON 0 BINARY A-REGISTER ADDRESS
FXWD CON 0 BINARY B-REGISTER ADDRESS
FXWE CON 0 DISPLAY REGISTER ADDRESS CONTENTS FLAG
GAT SPACE 4,28
** GAT - GET ADDRESS TOKEN.
*
* ENTRY (GATA) = 0 IF PREVIOUS SEPARATOR WAS #.
*
* EXIT (B6) = 0 IF NO TOKEN OBTAINED.
* IF (B6) .NE. 0
* (X4) = TOKEN TYPE FLAG.
* IF (X4) = 0, TOKEN IS A HEX NUMBER.
* (X1) = CHARACTER REPRESENTATION OF TOKEN.
* (X6) = BINARY REPRESENTATION OF HEX NUMBER.
* IF (X4) .LT. 0, TOKEN IS AN XP SYMBOL.
* (X1) = (X6) = ACTUAL RMA VALUE.
* (X2) = REGISTER LIST ENTRY POSITIONED WITH
* *P.RMA* IN BIT 59.
* (A1) = ADDRESS IN *DSDI* OF ACTUAL VALUE IN X1.
* IF (X4) .GT. 0, TOKEN NOT AN XP SYMBOL, BUT IS
* PROBABLY A REGISTER SYMBOL.
* (X1) = CHARACTER REPRESENTATION OF TOKEN.
* (X2) = REGISTER LIST ENTRY POSITIONED WITH
* *P.RMA* IN BIT 59.
* (X6) = ADDRESS WITH *DSDI* WHERE REGISTER
* CAN BE FOUND.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 3, 4, 6.
* B - 6.
*
* CALLS ASX.
GAT SUBR ENTRY/EXIT
MX6 0
SB6 B0
SA4 GATA CHECK TERMINATOR
NZ X4,GATX IF INCORRECT TERMINATOR
RJ ASX GET HEX NUMBER
SA3 CH CHECK TERMINATOR
MX2 1 SET NUMBER FLAG
SA3 X3
SA1 ASXA FETCH IDENTIFIER
SX7 X3-1R#
SA7 GATA *#* FLAG
CX3 X1
SB6 X3
ZR B6,GATX IF NULL TOKEN
ZR X4,GATX IF VALID HEX NUMBER
SA4 A7+B1
ERRNZ GATA+1-GATB CODE ASSUMES VALUE
BX6 X1
SA6 GATC SAVE SEARCH TERMINATOR
GAT1 BX7 X4-X1 COMPARE ENTRIES
SX2 X4
AX7 -24
AX4 18
SX6 X4
SA4 A4+B1 FETCH NEXT LIST ENTRY
NZ X7,GAT1 IF ENTRY NOT YET FOUND
ZR X2,ERR6 IF ENTRY IS INCORRECT
LX2 59-P.RMA
BX4 X2
LX4 59-P.XCH-59+P.RMA
PL X4,GATX IF NOT AN EXCHANGE PACKAGE SYMBOL
SA1 X6
BX6 X1 FETCH ACTUAL RMA VALUE
JP GATX RETURN
GATA CON 0
GATB BSS 0 SYMBOL TABLE
P.XCH EQU 0 XCH FLAG BIT
V.XCH EQU 1S0
P.REG EQU 1 REGISTER FLAG BIT
V.REG EQU 1S1
P.RMA EQU 3 RMA FLAG BIT
V.RMA EQU 1S3
VFD 24/0LPVA,18/S2PVA,18/V.REG
VFD 24/0LP,18/2/2+BUF,18/V.REG
VFD 24/0LRN1,18/298/2+BUF,18/V.REG
VFD 24/0LRN2,18/306/2+BUF,18/V.REG
VFD 24/0LRN3,18/314/2+BUF,18/V.REG
VFD 24/0LRN4,18/322/2+BUF,18/V.REG
VFD 24/0LRN5,18/330/2+BUF,18/V.REG
VFD 24/0LRN6,18/338/2+BUF,18/V.REG
VFD 24/0LRN7,18/346/2+BUF,18/V.REG
VFD 24/0LRN8,18/354/2+BUF,18/V.REG
VFD 24/0LRN9,18/362/2+BUF,18/V.REG
VFD 24/0LRN10,18/370/2+BUF,18/V.REG
VFD 24/0LRN11,18/378/2+BUF,18/V.REG
VFD 24/0LRN12,18/386/2+BUF,18/V.REG
VFD 24/0LRN13,18/394/2+BUF,18/V.REG
VFD 24/0LRN14,18/402/2+BUF,18/V.REG
VFD 24/0LRN15,18/410/2+BUF,18/V.REG
VFD 24/0LRA0,18/10/2+BUF,18/V.REG
VFD 24/0LRA1,18/18/2+BUF,18/V.REG
VFD 24/0LRA2,18/26/2+BUF,18/V.REG
VFD 24/0LRA3,18/34/2+BUF,18/V.REG
VFD 24/0LRA4,18/24/2+BUF,18/V.REG
VFD 24/0LRA5,18/50/2+BUF,18/V.REG
VFD 24/0LRA6,18/58/2+BUF,18/V.REG
VFD 24/0LRA7,18/66/2+BUF,18/V.REG
VFD 24/0LRA8,18/74/2+BUF,18/V.REG
VFD 24/0LRA9,18/82/2+BUF,18/V.REG
VFD 24/0LRAA,18/90/2+BUF,18/V.REG
VFD 24/0LRAB,18/98/2+BUF,18/V.REG
VFD 24/0LRAC,18/106/2+BUF,18/V.REG
VFD 24/0LRAD,18/114/2+BUF,18/V.REG
VFD 24/0LRAE,18/122/2+BUF,18/V.REG
VFD 24/0LRAF,18/130/2+BUF,18/V.REG
VFD 24/0LUTP,18/274/2+BUF,18/V.REG
VFD 24/0LTP,18/282/2+BUF,18/V.REG
VFD 24/0LMPS,18/S2MPS,18/V.RMA+V.XCH
VFD 24/0LJPS,18/S2JPS,18/V.RMA+V.XCH
VFD 24/0LRMA,18/S2RMA,18/V.RMA+V.XCH
VFD 24/0LPXP,18/0,18/V.XCH
GATC CON 0 END OF TABLE
GCS SPACE 4,10
** GCS - GET CPU STATUS.
*
* ENTRY (X5) = FWA OF CPA IN *TCMT*.
* (B7) = STRING BUFFER POINTER.
*
* EXIT CPU PRIORITY PLACED IN STRING BUFFER.
*
* USES X - 0, 1, 2, 6.
* A - 1, 2, 6.
* B - 3.
GCS SUBR ENTRY/EXIT
MX0 3
SA1 X5+STSW
BX1 X0*X1
LX1 4 FORM STATUS*6
SA2 GCSA
SB3 X1
LX1 1
SB3 B3+X1
AX2 B3,X2 SHIFT SELECTED STATUS TO BITS 5-0
MX0 -6
BX6 -X0*X2
SA6 B7 SET IN STRING BUFFER
EQ GCSX RETURN
GCSA DATA 10H IXW BA
GDA SPACE 4,10
** GDA - GET DFT/OS BUFFER FWA (DFT CONTROL WORD).
*
* EXIT (X3) = DFT CONTROL WORD ADDRESS WITHIN BUFFER.
* = 0 IF DFT/OS BUFFER NOT FOUND.
* (X6) = DFT CONTROL WORD ADDRESS.
*
* USES X - 0, 1, 3.
* A - 1, 3.
*
* CALLS DRA.
GDA SUBR ENTRY/EXIT
SA1 F.TCMT
SA3 X1+EIBP POINTER TO *EICB*
MX0 -32
BX3 -X0*X3
ZR X3,GDAX IF NO *EICB*
IX3 X1+X3 GET DFT/OS POINTER
SA3 X3+/VE/DSCM+3
ZR X3,GDAX IF NO DFT/OS BUFFER
RJ DRA GET ADDRESS OF DFT CONTROL WORD
IX3 X1+X6
EQ GDAX RETURN
GDB SPACE 4,14
** GDB - GET DAYFILE BUFFER.
*
* ENTRY (CN) = CONTROL POINT NUMBER.
* = 0, IF SYSTEM DAYFILE.
* = -1, IF ACCOUNTING DAYFILE.
* = -2, IF ERRLOG DAYFILE.
* = -3, IF BML DAYFILE.
* (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
*
* EXIT (GDBB) = DAYFILE BUFFER LENGTH.
* (GDBC) = MEMORY ADDRESS OF POINTERS.
* (GDBD) = NONZERO, IF DAYFILE BUFFER POINTERS EXTEND
* BEYOND MACHINE FL.
* DAYFILE BUFFER POINTERS STORED IN TABLE *TSC1*
* DAYFILE BUFFER STORED IN TABLE *TSCR*.
*
* USES X - 0, 1, 2, 3, 4, 6.
* A - 0, 1, 2, 3, 4, 6, 7.
* B - 2, 5.
*
* CALLS CNL, GFL, PCM, SCM.
*
* MACROS ALLOC, GETCM, PRINT.
GDB5 SX6 B1 SET POINTERS AS INACCURATE
SA6 GDBD
PRINT (=2C )
PRINT (=C+ *********WARNING - INACCURATE DAYFILE BUFFER POIN
,TERS+)
PRINT (=2C )
GDB6 SX1 B0 INDICATE SUFFICIENT NFL SPACE
GDB SUBR ENTRY/EXIT
SX6 0
SA6 GDBD PRESET POINTERS AS ACCURATE
SA1 L.TSC1 GET TABLE LENGTH
SX3 3 LENGTH OF DAYFILE POINTERS
IX1 X3-X1 CHANGE IN LENGTH
SB2 A0 SAVE (A0)
ALLOC TSC1,X1
SA0 B2 RESTORE (A0)
SA4 CN CONTROL POINT NUMBER
SA1 NC
NG X4,GDB1 IF ACCOUNTING, ERRLOG OR BML DAYFILE
ZR X4,GDB2 IF SYSTEM DAYFILE
SX2 X1+B1
BX3 X2-X4
NZ X3,GDB4 IF NOT SYSTEM CONTROL POINT
SX4 B0
EQ GDB2 PROCESS SYSTEM DAYFILE POINTERS
GDB1 BX4 -X4
GDB2 SA1 F.TCMT
SB5 X1 TCMT BASE ADDRESS
SA3 B5+DFPP LOW CORE DAYFILE BUFFER POINTERS POINTER
LX3 24
SX3 X3
SX2 3 CALCULATE POINTER OFFSET
IX4 X4*X2
IX6 X3+X4 ADDRESS OF DAYFILE BUFFER POINTERS
SA6 GDBC
SX1 B5+X6 GET ABSOLUTE ADDRESS OF POINTERS
SA2 F.TSC1 MOVE POINTER WORDS TO TSC1
SA1 X1
BX6 X1
SA6 X2
SA1 A1+B1
BX6 X1
SA6 A6+B1
SA1 A1+B1
BX6 X1
SA6 A6+B1
GDB3 MX1 -12
SA3 F.TSC1 SET FWA OF POINTERS
SA3 X3
SA2 A3+B1 GET DAYFILE BUFFER LENGTH
AX2 24
BX6 -X1*X2
MX2 -24
SA6 GDBB SAVE BUFFER LENGTH
SA1 F.TCMT GET MACHINE FL
SA1 X1+MABL
AX1 12
BX1 -X2*X1
LX1 6
AX3 36 GET BUFFER FWA
IX2 X3-X1
IX2 X2+X6
PL X2,GDB5 IF BUFFER LWA+1 BEYOND MACHINE FL
ZR X6,GDBX IF NO BUFFER
RJ SCM SELECT CM RECORD
SA7 RI
RJ PCM POSITION 60 BIT MEMORY
* ALLOCATE BUFFER SPACE AND READ THE DAYFILE BUFFER.
SA3 GDBB GET BUFFER LENGTH
SA1 L.TSCR
IX1 X3-X1
SB2 A0+ SAVE A0
ALLOC TSCR,X1 ALLOCATE SCRATCH TABLE SPACE
SA0 B2 RESTORE A0
GETCM X2,X3 READ BUFFER TO TABLE
EQ GDB6 INDICATE SUFFICIENT NFL SPACE
GDB4 RJ CNL CHECK NFL LENGTH
NG X1,GDBX IF INSUFFICIENT NFL SPACE
SA2 OP ADD PCPA OFFSET
LX4 7
IX1 X4+X2
RJ GFL GET CONTROL POINT RA
SX3 DAPN
IX3 X6-X3 ABSOLUTE ADDRESS OF POINTER WORDS
BX6 X3
SA6 GDBC
RJ SCM SELECT CM RECORD
SA7 RI
RJ PCM POSITION TO CM RECORD
SA2 F.TSC1 READ POINTER WORDS TO TSC1
GETCM X2,3
SA1 GDBC FORM ABSOLUTE VALUE FOR *FIRST*
SX0 DAYN-DAPN
SA2 F.TSC1
IX6 X1-X0
SA1 X2
LX6 36
BX6 X1+X6
SA6 A1
EQ GDB3 READ DAYFILE BUFFER
GDBB BSS 1 DAYFILE BUFFER LENGTH
GDBC BSS 1 MEMORY ADDRESS OF POINTERS
GDBD BSS 1 INACCURATE BUFFER POINTERS FLAG
GEE SPACE 4,15
** GEE - GET EJT ENTRY.
*
* ENTRY (FW) = CPA FWA.
* (RI) = CM RANDOM INDEX.
*
* EXIT (X1) = 0 IF CONTROL POINT NOT ACTIVE.
* (X5) = FWA OF EJT ENTRY IF ACTIVE.
* EJT ENTRY STORED AT *BUF* IF ACTIVE.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 1, 2, 3, 4.
*
* CALLS PCM.
*
* MACROS GETCM.
GEE2 SX1 0 SET INACTIVE CP
GEE SUBR ENTRY/EXIT
SA2 F.TCMT SET FWA EJT ENTRY
SA1 X2+EJTP
SA4 FW
AX1 36 FWA EJT
IX3 X4+X2 FWA CONTROL POINT AREA
SA3 X3+TFSW
MX0 12
BX6 X0*X3
SX3 EJTE
NZ X6,GEE1 IF ACTIVE CP
SA2 NC CHECK FOR SYSTEM CP
SX2 X2+1
LX2 7
IX2 X2-X4
NZ X2,GEE2 IF INACTIVE CP
GEE1 LX6 12
SA6 GEEA SAVE EJT ORDINAL
IX3 X6*X3
IX3 X1+X3
SX5 X3 SAVE FWA EJT ENTRY
RJ PCM POSITION TO EJT ENTRY
GETCM BUF,EJTE
SX1 1 SET EJT ENTRY FOUND
EQ GEEX RETURN
GEEA CON 0 EJT ORDINAL
GFL SPACE 4,15
** GFL - GET FL AND RA.
*
* ENTRY (X1) = RELATIVE CPA/PCPA ADDRESS.
*
* EXIT (X1) = (X1)+(F.TCMT).
* (X2) = *FLSW* WORD OF CPA/PCPA, RIGHT SHIFTED 12 BITS.
* (X6) = RA.
* (X7) = FL.
*
* USES X - 1, 2, 6, 7.
* A - 2.
GFL SUBR ENTRY/EXIT
SA2 F.TCMT
IX1 X1+X2
MX7 -12
SA2 X1+FLSW
BX7 -X7*X2 FL/100B
AX2 12
MX6 -15
BX6 -X6*X2 RA/100B
LX6 6 RA
LX7 6 FL
EQ GFLX RETURN
GHA SPACE 4,10
** GHA - GET HARDWARE ADDRESS.
*
* ENTRY INPUT LINE OF FORM -
* NNNNN. - REAL MEMORY ADDRESS.
* ASID#NNNNNNNN. - SYSTEM VIRTUAL ADDRESS.
* SEG#NNNNNNNN#EXCH. - PVA.
* REG#EXCH. - PVA FROM EXCHANGE PACKAGE.
* NNNNNNNN#REG#EXCH. - SPECIFIC BYTE OFFSET.
*
* EXIT (X6) = REAL MEMORY ADDRESS/SVA.
* (B6) = 0, IF NO ADDRESS DECODED.
*
* CALLS ASX, FRV, GXA, LTE.
GHA SUBR ENTRY/EXIT
SA1 CHAR
SX2 100B
GHA1 SA1 A1+B1 FLAG THE *+* AND *-* CHARACTERS
SB6 X1-1R+
BX6 X2+X1
NG B6,GHA1 IF NOT A SEPARATOR
SX1 X1-1R.
ZR X1,GHA2 IF LINE TERMINATOR
GT B6,B1,GHA1 IF NOT A *+* OR *-*
SA6 A1
JP GHA1 CHECK NEXT CHARACTER
GHA2 SX6 0
SA6 GATA CLEAR GAT FLAG
RJ GAT GET ADDRESS TOKEN
ZR B6,GHA5 IF NO TOKEN
MX7 -32
SA7 GHAA SET FLAG
PL X2,GHA6 IF NOT A RMA SYMBOL OR A NUMBER
SA6 A7
RJ GAT GET TOKEN
ZR B6,GHA4 IF ONLY RMA OR NUMBER
SA1 GHAA FETCH ASID/SEGMENT
LX1 32
PL X2,GHA6 IF NOT A NUMBER OR RMA SYMBOL
BX6 X1+X6 FORM SVA/PVA
SA6 A1
RJ GXA GET EXCHANGE ADDRESS
ZR B6,GHA4 IF NO SYMBOL SPECIFIED
SA6 GHAB SAVE SEGMENT TABLE LENGTH/ADDRESS
NG X2,GHA8 IF EXCHANGE ADDRESS SPECIFIED
JP ERR6 NOT GOOD AT ALL
GHA3 RJ GAT
GHA4 NZ B6,ERR6 IF BAD SYNTAX
SA1 GHAA FETCH SVA
BX6 X1
SB6 B1
GHA5 SA1 CH CHECK DELIMITER
SA2 X1
SB2 X2-1R+-100B
NG B2,GHAX IF NOT A SPECIAL CHARACTER
SX7 -B2
AX7 1
SA7 GHAB
RJ ASX GET HEX DIGIT
ZR B6,ERR6 IF NO NUMBER GIVEN
NZ X4,ERR6 IF NOT A HEX NUMBER
SA1 GHAA FETCH VALUE TO INCREMENT
SA2 A1+B1 FETCH SIGN
ERRNZ GHAA+1-GHAB
BX6 X2-X6
IX6 X1+X6
SA6 A1
JP GHA5 CHECK FOR END OF ADDRESS
GHA6 LX2 59-P.REG-59+P.RMA
PL X2,ERR6 IF NOT A REGISTER
SA6 GHAB SAVE REGISTER POSITION
RJ GXA GET EXCHANGE ADDRESS
ZR B6,ERR6 IF NOT SPECIFIED
PL X2,ERR6 IF NOT AN EXCHANGE ADDRESS
SA1 GHAB FETCH REGISTER POSITION
SA2 X1
SA6 A1
SB2 X1-BUF
BX6 X2
NG B2,GHA7 IF PSEUDO REGISTER
SA1 A2+B1
SA3 A1+B1
LX1 16
LX2 32
BX6 X1+X3
BX6 X2+X6
GHA7 RJ EVA EXPAND VIRTUAL ADDRESS
SA1 GHAA GET REPLACEMENT BYTE VALUE
ZR X2,ERR44 IF NIL POINTER
SA7 A1 SAVE REGISTER VALUE
NG X1,GHA8 IF NO BYTE REPLACEMENT
BX7 X6+X1
SA7 A1
GHA8 SB2 GHAA (SEGMENT, EXCHANGE ADDRESS)
RJ SVA DETERMINE ASID
SA6 GHAA
JP GHA3 CHECK FOR PROPER ADDRESS TERMINATION
GHAA DATA 0 BYTE OFFSET
GHAB DATA 0 EXCHANGE PACKAGE ADDRESS
GID SPACE 4,10
** GID - GET ELEMENT IDENTIFIER.
*
* ENTRY (X1) = RECORD IDENTIFIER.
*
* EXIT (X6) = ELEMENT ID/0#10.
* (X7) = ELEMENT ID.
*
* USES X - 5, 6, 7.
* A - 6.
*
* CALLS RDR, SFR.
GID SUBR ENTRY/EXIT
RJ RDR READ DUMP RECORD
ZR X2,ERR14 IF RECORD NOT FOUND
SX5 /IOU/EIMR ELEMENT ID REGISTER
RJ SFR SEARCH FOR REGISTER
NG X1,ERR14 IF REGISTER NOT FOUND
MX5 -8
AX7 16
BX7 -X5*X7
BX6 X7
AX6 4
EQ GIDX RETURN
GNF SPACE 4,21
** GNF - GET NEXT FILE.
*
* ENTRY FI = CURRENT FNT INDEX.
* CN = CONTROL POINT NUMBER.
* (RC) = RA OF CURRENT CONTROL POINT.
*
* EXIT X1 = 0 IF END OF FNT.
* .NE.0 IF FILE FOUND.
* FI IS UPDATED.
* GNFA = FILE INFORMATION AS FOLLOWS -
*
* +0 - FNT ORDINAL OF FILE.
* +1 - FNT.
* +2 - FST.
* +3 - FUT.
* +4 - EST ADDRESS.
* +5 - EST.
*
* SAVES X - 5.
* B - 1.
* A - 0,5.
GNF SUBR
SA1 F.TCMT
SB2 X1 TCMT TABLE BASE ADDRESS
SA1 F.TNFL FORM ADDRESS OF RA IN TNFL
SA2 L.TNFL
IX4 X1+X2
SA2 CN
SA1 NC
SX1 X1+B1
BX1 X1-X2
ZR X1,GNFX IF SYSTEM CONTROL POINT
SA5 FI
EQ GNF3 ENTER SEARCH LOOP
GNF2 IX2 X4-X5 READ NEXT FNT ENTRY
SX5 X5+LENF ADVANCE FNT ORDINAL
SA1 X2
NZ X1,GNF4 IF ENTRY PRESENT
GNF3 SA1 L.TNFL
IX1 X1-X5
PL X1,GNF2 IF NOT END OF FNT
SX1 0
JP GNFX EXIT
* SET FILE INFORMATION IN PARAMETER BLOCK.
GNF4 BX6 X5 SAVE FNT ORDINAL FOR NEXT CALL
SA6 FI
IX7 X4-X2
SA7 GNFA SET FNT ORDINAL
BX6 X1 SET FNT CONTENTS
SA6 A7+B1
SA1 A1+B1
BX7 X1 SET FST CONTENTS
SA7 A6+B1
AX7 48
SX0 X7
SA1 A1+B1 READ FUT
BX6 X1 SET FUT
SA6 A7+B1
SA1 B2+ESTP GET EST POINTER WORD
AX1 36
SX1 X1+EQDE
R= X2,ESTE
IX0 X0*X2
IX7 X0+X1
SA7 A6+B1
SA1 X7+B2 READ EST
BX6 X1
SA6 A7+B1
SX1 B1 SET FILE FOUND
JP GNFX EXIT
GNFA BSS 0 FILE PARAMETERS
LOC 0
CON 0 FNT ORDINAL
CON 0 FNT
CON 0 FST
CON 0 FUT
CON 0 EST ADDRESS
CON 0 EST
LOC *O
GPS SPACE 4,15
** GPS - GET PP SAVE AREA ENTRY.
*
* EXIT (X5) = 0, IF PP NOT FOUND IN PP SAVE AREA.
*
* USES X - ALL.
* A - ALL.
* B - 2, 3, 4, 5, 6, 7.
*
* CALLS CPN, PCM, SCM.
*
* MACROS GETCM.
GPS SUBR ENTRY/EXIT
SA1 F.TCMT
SA3 X1+PPSP GET FWA AND NUMBER OF SAVE AREAS POSSIBLE
MX5 -12
BX5 -X5*X3 NUMBER OF SAVE AREA ENTRIES
ZR X5,GPSX IF NO ISHARED DEVICES
SA4 PC FWA OF PP COMMUNICATION AREA
SX4 X4+B1 OUTPUT REGISTER ADDRESS FOR PP 0
LX3 -12
SX6 X3-PPSA FWA OF SAVE AREAS - *PPSA*
SA6 GPSB
RJ CPN GET CONVERTED PP NUMBER
LX6 3
IX6 X6+X4 OUTPUT REGISTER ADDRESS FOR THIS PP
SA6 GPSC
SA4 SBTL1 PRESERVE SUBTITLE
RJ SCM
BX6 X4 RESTORE SUBTITLE
SA7 RI
SA6 A4
* CHECK NEXT ENTRY.
GPS2 ZR X5,GPSX IF PP NOT FOUND
SX7 X5-1
SA3 GPSB GET PP SAVE ENTRY FWA
SA7 GPSA STORE INDEX
SX7 X3+PPSA
SA7 A3
SX3 X7
RJ PCM POSITION DUMP FILE
GETCM GET FWA OF THIS PP BUFFER IN X6
SA1 GPSC GET OUTPUT REGISTER ADDRESS FOR THIS PP
SA5 GPSA RESTORE INDEX
MX3 12
BX3 X3*X6
LX3 12
BX1 X1-X3
NZ X1,GPS2 IF PP DATA NOT FOUND IN PP SAVE AREA
SA6 PSAV SAVE THE FIRST WORD
SA6 GPSD
GETCM PSAV+1,PPSA-1 GET REST OF PP SAVE AREA
* MOVE BLOCKS FROM *PSAV* TO *PBUF*.
SX6 1S1 2**N-1 NUMBER OF BLOCKS TO MOVE
SA4 PSAV+8 FWA OF PP MEMORY IN SAVE BUFFER
SB6 PBUF+4095/5 LAST WORD OF *PBUF*
SA6 GPSA
GPS3 SA2 GPSA
SA3 GPSD
SA0 60 SET CONSTANT
MX5 -24 INSURE EXIT CONDTION
AX7 X2,B1
ZR X2,GPSX IF COMPLETE
SA7 A2
BX6 X3
BX3 -X5*X3
LX6 12 POSITION NEXT PAIR OF BYTES
AX3 12 FIRST BYTE ADDRESS
SA6 A3
SX7 A0
AX6 48 WORD COUNT OF SAVE BLOCK
IX6 X6*X7
SB5 X6 NUMBER OF BITS TO MOVE IN THIS BLOCK
SX5 5
IX0 X3/X5
SX5 5
SB7 X0+PBUF FIRST *PBUF* WORD TO BE PARTIALLY REPLACED
SX3 X3+ CLEAR PACKING DONE BY *IXX/X*
IX0 X0*X5
IX0 X3-X0 NUMBER OF BYTES TO PRESERVE IN FIRST WORD
SX5 12
IX6 X0*X5
SB4 B0 NUMBER OF BITS MOVED
* COMPUTE SHIFT COUNTS AND MASKS.
GPS4 SB2 X6 NUMBER OF BITS TO PRESERVE
SB3 A0
BX7 X4 ALLOW SAVED BLOCK TO START AT 7777B
BX0 X0-X0 SET UP N-BIT MASK FOR BITS TO PRESERVE
ZR B2,GPS5 IF NO OFFSETTING REQUIRED
SA2 B7 GET FIRST *PBUF* WORD TO REPLACE
SB3 B2-B1
MX0 1 SET UP N-BIT MASK FOR BITS TO PRESERVE
AX0 B3
SB3 A0-B2 NUMBER OF BITS TO REPLACE
BX7 X0*X2 BITS TO BE PRESERVED FROM *PBUF* WORD
* MOVE PP BYTES FROM *PSAV* TO *PBUF*.
GPS5 LX4 B3 GET REPLACEMENT BITS
BX1 -X0*X4
BX7 X7+X1
SA7 B7
EQ B7,B6,GPS6 IF LAST WORD OF *PBUF*
SB4 B4+A0 INCREMENT BIT COUNTER
BX7 X0*X4 NEXT WORD-S UPPER BITS
SA4 A4+B1 GET NEXT WORD-S LOWER BITS FROM *PSAV*
SB7 B7+B1 INCR *PBUF* POINTER
LT B4,B5,GPS5 IF MORE BITS TO BE MOVED
* SET THE LAST BYTES FROM *PSAV* IN *PBUF*.
SA3 B7 GET THE UNREPLACED BITS FROM *PBUF*
BX3 -X0*X3
BX7 X7+X3
SA7 B7
NE B7,B6,GPS3 IF NOT LAST WORD OF *PBUF*
* MOVE BYTE 7777B INTO *PBUF*.
GPS6 MX2 12 STORE ONLY BYTE 7777B
BX6 X2*X7
LX7 12 MOVE BYTE 0 TO TOP OF WORD
SA6 B7
SB7 PBUF RESET *PBUF* POINTER
NZ B2,GPS7 IF OFFSETTING WAS REQUIRED
SB2 A0
MX0 60
SA4 A4+B1
SB4 B4+A0
GPS7 SX6 B2-12
SA3 B7 GET ORIGINAL BYTES 0-4
LX4 B2 RESTORE REPLACEMENT BITS
ZR X6,GPS8 IF NO OFFSETTING WILL BE REQUIRED
* MOVE BYTE 0000 TO *PBUF**
BX0 -X2*X0 ADJUST MASK
LX0 12
BX7 X0*X7
BX3 -X0*X3
BX7 X7+X3
SA7 B7
GPS8 LT B4,B5,GPS4 IF MORE BYTES IN BLOCK
EQ GPS3 CHECK NEXT BLOCK
GPSA BSS 1 COUNTER
GPSB BSS 1 FWA OF PP SAVE AREA BUFFER
GPSC BSS 1 OUTPUT REGISTER ADDRESS FOR THIS PP
GPSD BSS 1 SAVED DATA PARAMETERS
GRV SPACE 4,10
** GRV - GET R-REGISTER VALUE.
*
* ENTRY (PBUF) = IOU MEMORY RECORD.
*
* EXIT (X1) = 24/R-REG, 36/0
*
* USES A - 1, 2.
* X - 1, 2, 3, 6.
GRV1 SA1 PBUF+819 FIRST PART OF R-REGISTER (C170-865/875)
SA2 A1+B1 SECOND PART
MX3 -12
BX1 -X3*X1
MX3 12
BX2 X3*X2
BX1 X1+X2
LX1 -12 POSITION R-REGISTER
GRV SUBR ENTRY/EXIT
SA1 AP
ZR X1,GRV1 IF NOT 180 CLASS MACHINE
SA1 IO
ZR X1,GRV2 IF I4A OR I4S IOU
SA1 PBUF+1092 GET R-REGISTER UPPER PART
SA2 A1+B1 LOWER PART
MX3 12 PACK INTO 22 BITS
BX1 -X3*X1
BX2 X3*X2
IX6 X1+X2
LX6 -24
BX1 X3*X6
LX3 -16
BX2 X3*X6
LX2 4
BX1 X1+X2
EQ GRVX RETURN
GRV2 SA1 PBUF+2184 GET R-REGISTER BITS (36-41)
MX3 -6
BX2 -X3*X1
LX2 59-5
SA1 A1+B1 GET REMAINDER OF R-REGISTER (42-57)
MX3 4
BX6 X3*X1
LX6 -6
BX2 X2+X6
MX3 12
LX3 -8
BX6 X3*X1
LX6 -2
BX1 X2+X6
LX1 -2 SHIFT RESULT FOR PROPER FORMAT
EQ GRVX RETURN
GSR SPACE 4,12
** GSR - GET SELECTED RECORD.
*
* ENTRY X6 = REQUESTED RECORD NAME.
* = 0 IF NEXT RECORD REQUESTED.
*
* EXIT X7 = 0 IF RECORD NOT FOUND.
* = 1 IF NAMED RECORD.
* = 2 IF RECORD NAME = -*-.
*
* USES ALL REGISTERS.
*
* CALLS CIO=,RDO=,RDW=,WNB=.
GSR SUBR
BX5 X6 SAVE RECORD NAME
RECALL J
GSR1 READ J
READO X2 READ RECORD NAME
SX7 0 PRESET RECORD NOT FOUND
NZ X1,GSRX IF EMPTY RECORD OR EOF
* REMOVE BLANKS FROM NAME.
MX0 -6
SB2 7
GSR2 LX6 6
BX3 -X0*X6
SX2 X3-1R
SB2 B2-B1
NZ X2,GSR3 IF NOT BLANK
BX6 X0*X6 REMOVE BLANK
GSR3 NZ B2,GSR2 LOOP
LX6 3*6
BX4 X6-X5
SX7 1
ZR X5,GSRX IF NEXT RECORD REQUESTED
SA1 =1L*
SX7 X7+B1
BX1 X1-X5
ZR X1,GSRX IF READ TO EOF REQUESTED
SX7 1
ZR X4,GSRX IF NAMED RECORD FOUND
GSR4 READW J,BUF,BUFL SKIP TO NEXT RECORD
ZR X1,GSR4 IF NOT END OF RECORD
JP GSR1 CHECK NEXT RECORD
GTD SPACE 4,12
** GTD - GENERATE DETAILED TABLE DUMP.
*
* ENTRY (X1) = FORMAT TABLE POINTERS.
* 24/0,18/LEFT COLUMN FWA,18/RIGHT COLUMN FWA
* (B2) = TABLE ADDRESS IN CORE.
* (FW) = TABLE ADDRESS IN DUMP FILE.
*
* USES X - 1, 2, 6, 7.
* A - 1, 2, 6, 7.
* B - 2, 7.
*
* CALLS PTL, SSB.
*
* MACROS PRINT.
GTD SUBR
SX6 X1
SA6 GTDA SET RIGHT COLUMN TABLE POINTER
SX7 B2
SA7 GTDC SAVE DATA ADDRESS
AX1 18
SX6 X1
SA6 GTDB SET LEFT COLUMN TABLE POINTER
RJ SSB CLEAR PRINT STRING
GTD1 SA1 GTDB
SA2 GTDC
SB2 X2+ SET DATA ADDRESS
SB7 PRBF
RJ PTL FORMAT LEFT COLUMN
SA1 GTDA
ZR X1,GTD2 IF ONLY 1 COLUMN TO BE DUMPED
NG X2,GTDX IF END OF DUMP
SB7 PRBF+69
RJ PTL FORMAT RIGHT COLUMN
PRINT CCCH,B7-CCCH PRINT 2 COLUMNS
EQ GTD1 CONTINUE
GTD2 PRINT CCCH,B7-CCCH PRINT ONLY 1 COLUMN
SA1 GTDB
SA2 X1+
ZR X2,GTDX IF END OF DUMP
PL X2,GTD1 IF NOT AT END OF LEFT COLUMN
SX6 X1+B1 BEGIN DUMP OF RIGHT COLUMN
SA6 A1
EQ GTD1 CONTINUE
GTDA BSS 1 RIGHT COLUMN FORMAT TABLE POINTER
GTDB BSS 1 LEFT COLUMN FORMAT TABLE POINTER
GTDC BSS 1 TABLE DATA ADDRESS
GTE SPACE 4,10
** GTE - GET TABLE ENTRY.
*
* ENTRY (X0) = ENTRY FWA RELATIVE TO TABLE FWA
* IN DUMP FILE.
* (X1) = ENTRY LENGTH.
* (X2) = TABLE LENGTH.
* (X3) = TABLE FWA IN DUMP FILE.
* = 0, IF CM BUFFER REQUIRES INITIAL READ.
* (X4) = ENTRY NUMBER.
*
* EXIT (X5) = ABSOLUTE ENTRY FWA IN CM BUFFER.
*
* CM BUFFER CONTAINS NEW TABLE DATA, IF DESIRED
* ENTRY WAS NOT FOUND IN ORIGINAL DATA.
*
* USES X - 2, 3, 5, 6.
* A - 3, 6.
* B - 2.
*
* CALLS POM.
*
* MACROS GETCM.
GTE SUBR ENTRY/EXIT
NZ X3,GTE1 IF FIRST ACCESS OF TABLE
SA3 GTEB GET LAST ENTRY NUMBER
IX3 X3-X4
NG X3,GTE2 IF ENTRY NOT IN CM BUFFER
SA3 GTEA GET FIRST ENTRY NUMBER
IX3 X4-X3
NG X3,GTE2 IF ENTRY NOT IN CM BUFFER
IX3 X3*X1 SET FWA OF ENTRY IN CM BUFFER
SX5 X3+BUF
EQ GTEX RETURN
* READ TABLE ENTRIES INTO CM BUFFER.
GTE1 SX6 X3+
SA6 GTEC STORE FWA OF TABLE
GTE2 SX6 X4+
SA6 GTEA STORE FIRST ENTRY NUMBER
IX2 X2-X0
SX3 X2-BUFL
NG X3,GTE3 IF CM BUFFER NOT FILLED
SX2 BUFL SET BUFFER LENGTH = BUFFER SIZE
GTE3 SX5 X2 SET BUFFER LENGTH = REST OF TABLE
IX3 X2/X1 NUMBER OF ENTRIES THAT FIT IN CM BUFFER
IX3 X4+X3
SX6 X3-1
SA6 GTEB STORE LAST ENTRY NUMBER
SA3 GTEC GET FWA OF TABLE
IX6 X3+X0 FIND FWA OF DESIRED ENTRY
SA6 CPRA
SB2 A6
RJ POM POSITION TO FWA OF ENTRY
GETCM BUF,X5 READ TABLE ENTRIES
SX5 BUF SET FWA OF ENTRY IN CM BUFFER
EQ GTEX RETURN
GTEA BSS 1 FIRST ENTRY NUMBER IN CM BUFFER
GTEB BSS 1 LAST ENTRY NUMBER IN CM BUFFER
GTEC BSS 1 FWA OF TABLE BEING ACCESSED
GXA SPACE 4,15
** GXA - GET EXCHANGE PACKAGE ADDRESS.
*
* CRACK EXCHANGE PACKAGE ADDRESS PARAMETER.
*
* ENTRY DIRECTIVE IN BUFFER.
*
* EXIT (B6) = 0, IF NO TOKEN OBTAINED FROM *GAT*.
* (X2) .LT. 0, IF EXCHANGE PACKAGE ADDRESS FOUND.
* (X6) = 12/0, 16/STL, 32/STA.
*
* USES X - 1, 2, 3, 4, 6.
* B - 6.
*
* CALLS CSI, GAT, PTX, RMB.
GXA SUBR ENTRY/EXIT
RJ GAT GET ADDRESS TOKEN.
ZR B6,GXAX IF NOT SPECIFIED
BX4 X2+X4
SB6 A1
PL X4,GXAX IF NOT A VALID EXCHANGE PACKAGE SYMBOL
SX3 B0+ SET NO RADIAL MCI DISPLAY
RJ PTX POSITION TO EXCHANGE PACKAGE
SX6 51
SX1 0
RJ RMB READ MEMORY BLOCK
RJ CSI COLLECT SEGMENT INFORMATION
SB6 B1
MX2 1
JP GXAX RETURN
HTS SPACE 4,15
** HTS - HEX TO STRING BUFFER.
*
* ENTRY (X1) = HEX DIGITS LEFT JUSTIFIED.
* (B6) = NUMBER OF DIGITS TO CONVERT.
* (B7) = ADDRESS OF STRING BUFFER.
*
* EXIT (B7) IS UPDATED.
* (X1) IS LEFT SHIFTED (B6)*4 PLACES.
*
* USES X - 0, 1, 2, 3, 7.
* A - 7.
* B - 6, 7.
HTS SUBR ENTRY/EXIT
MX0 -4 DIGIT MASK
HTS1 LX1 4
BX3 -X0*X1
SX7 X3+1R0 ASSUME DIGIT .LT. 0#A
SX3 X3-0#A
NG X3,HTS2 IF DIGIT .LT. 0#A
SX7 X3+1RA SET A - F
HTS2 SA7 B7
SB7 B7+B1
SB6 B6-B1
NZ B6,HTS1 IF MORE DIGITS
EQ HTSX RETURN
ICT SPACE 4,8
** ICT - INITIALIZE CHANNEL TABLE.
*
* EXIT (BUF - BUF+CTALL*5) = CHANNEL STATUS TABLE
* RESERVATION BYTES, LEFT JUSTIFIED.
*
* USES X - 0, 1, 2, 6.
* A - 1, 2, 6.
* B - 2, 3, 4, 5.
ICT SUBR
SA1 F.TCMT
SA2 X1+CHTP CHANNEL STATUS TABLE FWA
AX2 12
SB2 X2
SB2 X1+B2
MX0 12
SB5 B2+CTALL CHANNEL STATUS TABLE LWA+1
SB3 BUF
ICT1 SB4 5 BYTE COUNTER
SA2 B2+ READ NEXT TABLE WORD
ICT2 BX6 X0*X2 EXTRACT RESERVATION BYTE
LX2 12
SA6 B3
SB4 B4-B1 COUNT BYTE
SB3 B3+B1
NZ B4,ICT2 IF MORE BYTES IN THIS WORD
SB2 B2+B1 ADVANCE TABLE POINTER
LT B2,B5,ICT1 IF MORE TABLE ENTRIES
JP ICTX EXIT
IMR SPACE 4,15
** IMR - PROCESS IOU MAINTENANCE REGISTER RECORD.
*
* ENTRY VIA UNCONDITIONAL JUMP.
*
* EXIT TO *RBI2* IF NORMAL.
* TO *PPE1* IF PREMATURE EOF.
*
* USES X - 0, 1, 2, 5, 6, 7.
* A - 1, 2, 6, 7.
*
* CALLS CRS, RBF, SFR.
IMR BSS 0 ENTRY
SX6 1
SA6 AP DEFINE ADVANCED PROCESSOR
SA1 ID
SA2 =3LDID
BX6 X1
LX7 X2
SA6 XI SAVE IMR RECORD ID
SA7 A1 SET RECORD ID OF *DID*
RJ CRS COPY RECORD TO FILE *S*
RJ RBF READ IOU MAINTENANCE REGISTERS
NZ X1,PPE1 IF PREMATURE EOF
SA1 XI IMR RECORD ID
BX6 X1
SA6 ID
MX0 -18
SX5 /IOU/IOSB SEARCH FOR OS BOUNDS REGISTER
RJ SFR
NG X1,ERR42 IF NOT IN CURRENT BUFFER
BX6 -X0*X7
LX6 10 SET *NOS* MEMORY SIZE
SA6 MEMB
RJ CRS COPY MAINTENANCE REGISTERS TO FILE *S*
EQ RBI2 EXIT TO READ NEXT RECORD FROM FILE *F*
IPA SPACE 4,15
** IPA - INITIALIZE FOR PPU ANALYSIS.
*
* ENTRY (CH) = DIRECTIVE STRING POINTER.
*
* EXIT (IC) = *CPP* PROCESSING FLAG.
* (PI) = 0 IF PP/CPP NUMBERS AND NAMES IN DIRECTIVE.
* = PP COMMUNICATION AREA INDEX IF DUMPING ALL
* ACTIVE PPUS.
*
* USES X - 1, 2, 6.
* A - 1, 2, 6.
*
* CALLS SRA.
IPA1 BX6 X1
SA6 PI SET SEARCH INDEX
IPA SUBR ENTRY/EXIT
SA1 IC+1 GET *NPP*/*CPP* FLAG
BX6 X1
SA6 A1-B1 SET *CPP* PROCESSING FLAG
SX6 0
SA6 IPDA SET PP FLAG
SA6 PI PRESET SEARCH INDEX
SA6 FI PRESET NAMED PPU SEARCH INDEX
SA6 PP PRESET PP NUMBER
RJ SRA SET REFERENCE ADDRESS
SA1 CH
SA1 X1+
SX1 X1-1R.
NZ X1,IPAX IF NUMBERS AND NAMES ON DIRECTIVE CARD
SA1 PC GET PP COMMUNICATION AREA POINTER
SA2 IC
ZR X2,IPA1 IF NOT PROCESSING CPP-S
SA2 NP
LX2 3
IX1 X2+X1
EQ IPA1 SET SEARCH INDEX
IPD SPACE 4,20
** IPD - INITIALIZE FOR PPU/FLPP DUMP.
*
* ENTRY (X6) = 0 IF PP OR CPP DUMP.
* = 1 IF FLPP DUMP.
* (CH) = CURRENT DIRECTIVE CARD STRING POINTER.
*
* EXIT (IC) = *CPP* PROCESSING FLAG.
* (PI) = 0 IF PP/CPP/FLPP NUMBERS ON DIRECTIVE CARD.
* = *TDIR* TABLE POINTER FOR FIRST PP/CPP/FLPP
* IF DUMPING ALL.
* (PP) = 0.
* (IPDA) = PPU/FLPP DUMP FLAG.
*
* USES X - 0, 1, 5, 6.
* A - 1, 5, 6.
*
* CALLS BPN, SRA.
*
* MACROS SEARCH.
IPD SUBR ENTRY/EXIT
SA6 IPDA SAVE PPU/FLPP FLAG
SA1 IC+1 GET *NPP*/*CPP* FLAG
BX6 X1
SA6 A1-B1 SET *CPP* PROCESSING FLAG
SX6 0
SA6 PI PRESET INDEX
SA6 PP
RJ SRA SET REFERENCE ADDRESS
SA1 CH
SA1 X1+
SX1 X1-1R.
NZ X1,IPDX IF NUMBERS ON DIRECTIVE CARD
SA5 IPDA
RJ BPN
ZR X5,IPD1 IF NOT FLPP DUMP
MX0 15
IPD1 SEARCH TDIR,X7,X0 FIND PPU/FLPP/CPP TABLE ENTRY
ZR X2,ERR7 IF NOT FOUND
SX6 A2
SA6 PI SET DIRECTORY INDEX FOR FIRST PPU/FLPP
EQ IPDX EXIT
IPDA CON 0 PPU/FLPP FLAG
IOQ SPACE 4,20
** IOQ - DISPLAY IOU IN LINE FORMAT.
*
* ENTRY (DSPB ) = FWA OF DUMP.
* (DSPB+1) = LWA OF DUMP.
* (DSPC ) = LINE SIZE.
* (DSPC+1) = HEX/OCTAL, ASCII/DISPLAY FLAGS.
*
* EXIT IOU DISPLAYED IN DESIRED LINE FORMAT.
*
* USES B - 4, 5, 6, 7.
* A - 1, 2, 4, 5, 6.
* X - 0, 1, 2, 3, 4, 5, 6.
*
* CALLS CTS, DPB, HTS, NXB, SAI, SDI, SRD.
*
* MACROS PRINT.
IOQ SUBR ENTRY/EXIT
SA4 DSPC BYTES PER LINE
SA5 A4+B1 HEX/OCTAL, ASCII/DISPLAY FLAGS
IOQ1 SB4 X4
SB5 X4
SA1 K4
SA1 X1+/DIRECT/TCTP
NG X1,IOQ1.1 IF CONTROLLER TYPE WITH 16 BIT ADDRESSES
LX4 B1,X4 SHIFT COUNT TO REFLECT BYTE ADDRESSING
IOQ1.1 SA1 DSPB
SA2 A1+B1
IX3 X1-X2
PL X3,IOQX IF DUMP IS FINISHED
IX6 X1+X4
SA6 A1 REPLACE FWA
IX3 X2-X1
PL X1,IOQ2
IX2 X3+X4
SB4 X2
IOQ2 LX1 -16 POSITION ADDRESS
SB6 4 DISPLAY ADDRESS
SB7 PRBF
SA2 K4 CONTROLLER TYPE
SX2 X2-3
NZ X2,IOQ2.1 IF NOT 63X
LX1 -4 SHIFT LAST DIGIT OF ADDRESS
SB6 B6+B1 DIGIT COUNT
IOQ2.1 SA2 K4
SX0 B1
BX2 X2-X0
NZ X2,IOQ2.2 IF NOT ISD
LX0 13-16 ADD 2000 (HEX) TO ADDRESS IF ISD
IX1 X1+X0
IOQ2.2 RJ HTS
ZR X5,IOQ2.4 IF HEX DUMP REQUESTED
SB6 4
SB7 B7-B6
SA2 K4 CHECK CONTROLLER SIZE
ZR X2,IOQ2.3 IF 4K CONTROLLER
LX1 -3 PROCESS 8K CONTROLLER
SB6 B6+B1
SX2 X2-3
NZ X2,IOQ2.3 IF NOT 63X
LX1 -3 SHIFT LAST DIGIT OF ADDRESS
SB6 B6+B1 DIGIT COUNT
IOQ2.3 LX1 -12
RJ CTS CONVERT OCTAL ADDRESS
IOQ2.4 SB7 B4+
SB6 B5+
IOQ3 RJ NXB COLLECT ONE BYTE
BX6 X1
SA6 BUF+B7
SB7 B7-B1
NZ B7,IOQ3 IF MORE BYTES TO COLLECT
SX1 BUF+1
SB5 B6+ RESTORE B5
RJ SRD
SA4 DSPC BYTES PER LINE
SA5 A4+B1
NZ X1,IOQ1 IF REPEATED DATA
SB7 PRBF+6
SB4 X4
IOQ4 SA1 B4+BUF DISPLAY BYTES IN HEX OR OCTAL
RJ DPB
SB4 B4-B1
SB7 B7+2
NZ B4,IOQ4 IF MORE DIGITS TO DISPLAY
SB4 X4
SB7 B7+B1
IOQ5 SA2 BUF+B4 PRINT CHARACTER REPRESENTATION
SB6 B1+B1
SB4 B4-B1
NG B4,IOQ7 IF NO MORE BYTES TO INTERPRET
NG X5,IOQ6 IF DISPLAY CODE INTERPRETATION
LX2 -16
RJ SAI SET ASCII INTERPRETATION
EQ IOQ5 CHECK FOR MORE BYTES TO CONVERT
IOQ6 SB6 B6+B1 DISPLAY 3 CHARACTERS IN DISPLAY CODE
LX2 -18
RJ SDI SET DISPLAY CODE INTERPRETATION
EQ IOQ5 CHECK FOR MORE BYTES TO CONVERT
IOQ7 PRINT CCCH,B7-CCCH DISPLAY LINE
SA4 DSPC
EQ IOQ1 REPEAT UNTIL ALL BYTES DISPLAYED
IPO SPACE 4,15
** IPO - INSPECT PPU OCTAL BLOCK FORMAT.
*
* ENTRY (DSPB+0) = FWA OF DUMP.
* (DSPB+1) = LWA OF DUMP.
*
* EXIT TO *DSPX*.
*
* USES B - 4, 6, 7.
* A - 1, 2, 6.
* X - 1, 2, 3, 5, 6.
*
* CALLS CPS, CTS, DPB, NXB, UPS.
*
* MACROS PRINT.
IPO BSS 0 ENTRY
SX1 10 ENSURE AT LEAST TEN LINES ON THE PAGE
RJ CPS CHECK PAGE SPACE
PRINT (=2C )
SA2 IPOA
SB7 PRBF
SB6 70
RJ UPS UNPACK HEADER
SA1 DSPB FWA
SB6 3
LX1 60-15
SB7 PRBF
RJ CTS
PRINT CCCH,71
SX6 1R
SA6 PRBF
SA6 A6+B1
SA6 A6+B1
SB7 -100B
IPO2 RJ NXB GET THE NEXT 100 BYTES
BX6 X1
SA6 B7+BUF+100B
SB7 B7+B1
NZ B7,IPO2 IF MORE BYTES NEEDED
SX5 -10B
IPO3 SX6 X5+1R0+10B
SA6 PRBF+4
SB7 PRBF+5
SB4 10B
SA1 X5+BUF+10B
IPO4 SB7 B7+2 INCREMENT STRING POINTER
RJ DPB DISPLAY PPU MEMORY
SA1 A1+10B
SB4 B4-B1
NZ B4,IPO4 IF NOT FINISHED
PRINT CCCH,71
SX5 X5+B1
NZ X5,IPO3 IF NOT FINISHED WITH BLOCK
SA1 DSPB
SX6 X1+100B
SA6 A1
SA2 A1+B1
IX3 X6-X2
NG X3,IPO IF NOT COMPLETE
EQ DSPX RETURN
IPOA DATA 40H 00XX 0X 1X 2X 3X
DATA 30H 4X 5X 6X 7X
SPACE 4,15
** IPX - INSPECT PPU HEX BLOCK FORMAT.
*
* ENTRY (DSPB+0) = FWA OF DUMP.
* (DSPB+1) = LWA OF DUMP.
*
* EXIT TO *DSPX*.
*
* USES B - 3, 4, 6, 7.
* A - 1, 2, 6.
* X - 1, 2, 3, 5, 6.
*
* CALLS CPS, DPB, HTS, NXB, UPS.
*
* MACROS PRINT.
IPX BSS 0 ENTRY
IPX1 SX1 18
RJ CPS ENSURE AT LEAST 18 LINES ON PAGE
PRINT (=2C )
SA2 IPXA * NXX 0X 1X ...*
SB6 102
SB7 PRBF
RJ UPS UNPACK STRING
SA1 DSPB FWA
LX1 -16
SB6 B1+B1
SB7 PRBF+1
RJ HTS
PRINT CCCH,102
SB7 0#100
SB4 BUF
IPX3 RJ NXB GET 100(16) BYTES
BX6 X1
SA6 B4
SB4 B4+B1
SB7 B7-B1
NZ B7,IPX3 IF MORE BYTES TO GET
SX1 0
IPX4 LX1 -4
SB6 B1
SB7 PRBF+4
SX6 1R
SA6 PRBF+1
SA6 A6+B1
RJ HTS
SB3 0#10
SX6 X1+B1
SB4 B3
SA1 X1+BUF
SA6 IPXB
MX5 0
IPX5 SB7 B7+2
RJ DPB DISPLAY PPU BYTE
SA1 A1+B3
SB4 B4-B1
NZ B4,IPX5 IF BLOCK NOT COMPLETE
PRINT CCCH,B7-CCCH
SA1 IPXB LOOP COUNT
SX6 X1-0#10
NZ X6,IPX4
SA1 DSPB
SX6 X1+0#100
SA6 A1
SA2 A1+B1
IX3 X6-X2
NG X3,IPX1 IF MORE PP MEMORY TO DUMP
EQ DSPX RETURN TO *DSPX*
IPXA DATA 50H LXX 0X 1X 2X 3X 4X 5X 6X
DATA 50H 7X 8X 9X AX BX CX DX EX F
DATA 2CX
IPXB DATA 0
ISD SPACE 4,15
** ISM - INITIALIZE FOR SIXTY-FOUR BIT MEMORY PROCESSING.
*
* ENTRY (AO) = ADDRESS OFFSET FOR *EI* ADDRESS.
* (EI) .NE. 0 IF FORCING *EI* ADDRESSING.
*
* EXIT (AO) = 0.
* (XH) = MEMORY RECORD VALID FWA.
* (XI) = MEMORY RECORD RANDOM INDEX.
* (XL) = MEMORY RECORD VALID LWA+1.
* (XM) = MEMORY RECORD PAGE SIZE MASK.
*
* USES X - 1, 2, 3, 6, 7.
* A - 1, 2, 3, 6, 7.
ISM SUBR ENTRY/EXIT
SA3 AO
SA2 EH
NZ X3,ISM1 IF *EI* ADDRESS
SA1 EI
NZ X1,ISM1 IF FORCED *EI* ADDRESSING
SA2 MH
ISM1 ZR X2,ERR14 IF MEMORY RECORD NOT ON DUMP FILE
SX6 X2 NUMBER OF WORDS DUMPED
AX2 18 START OF MEMORY
SX7 X2
IX6 X7+X6
LX6 12 CONVERT TO A BYTE ADDRESS
IX6 X3+X6 APPEND ADDRESS OFFSET
SA6 XL
LX7 12
IX7 X3+X7 APPEND ADDRESS OFFSET
SA7 XH
SA2 A2+B1 *MEM* RANDOM INDEX
BX6 X2
SA6 XI
SA1 S2PSM GENERATE THE PAGE SIZE MASK
LX1 9
SX6 X1-1
BX6 -X1*X6
SA6 XM
BX6 X6-X6 CLEAR ADDRESS OFFSET
SA6 A3
EQ ISMX RETURN
ISS SPACE 4,16
** ISS - INITIALIZE FOR SUB-SYSTEM DUMP.
*
* ENTRY (X5) = 24/ ,12/SUBSYSTEM ID,6/ ,18/CP NUMBER
* CP NUMBER = 0 IF ANY CONTROL POINT ALLOWED.
* .GT. 0, SUBSYSTEM MUST BE AT GIVEN
* CONTROL POINT UNLESS
* SUBSYSTEM ID = 0.
* (CN) = CONTROL POINT NUMBER.
* (NC) = NUMBER OF CONTROL POINTS - 1.
* (RC) = CONTROL POINT REFERENCE ADDRESS.
*
* EXIT (RI) = RANDOM ADDRESS OF DUMPED SUBSYSTEM.
* BINARY DUMP FILE IS POSITIONED AT CONTROL POINT RA.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 3, 4, 6, 7.
* B - 2, 3, 7.
*
* CALLS LDC, PCM, RNF, SCM, SRA.
ISS SUBR
RJ LDC LIST DIRECTIVE
MX7 12 SET SUBSYSTEM ID MASK
LX7 36
SX3 X5+ GET CP NUMBER
SA4 F.TCMT
SB7 CPLEN INCREMENTAL INDEX
NZ X3,ISS2 IF SPECIFIC CONTROL POINT REQUIRED
BX3 X7*X5
SA1 NC
SB2 X1+
SA1 X4+CPAS+JCIW GET FIRST CP SUBSYSTEM ID
BX2 X3-X1 COMPARE ENTRIES
SB3 B0 PRESET CONTROL POINT NUMBER
ISS1 SB3 B3+B1
BX6 X7*X2
GT B3,B2,ERR10 IF CONTROL POINT NUMBER .GT. NCPL
SA1 A1+B7 GET NEXT CP SUBSYSTEM ID
BX2 X3-X1 COMPARE ENTRIES
NZ X6,ISS1 IF NO MATCH
JP ISS3
ISS2 SX1 CPAS
IX2 X1*X3
SB3 X3 SET CONTROL POINT NUMBER
IX6 X2+X4
SA1 X6+JCIW GET CP SUBSYSTEM ID
BX3 X7*X5 GET REQUESTED SUBSYSTEM ID
BX2 X3-X1 COMPARE ENTRIES
ZR X3,ISS3 IF ANY SUBSYSTEM ALLOWED
BX6 X7*X2
NZ X6,ERR10 IF NO MATCH ON ENTRIES
ISS3 SX6 B3
SA6 CN
BX2 X6
SA1 OP
RJ RNF READ NEGATIVE FL FOR SELECTED SUB-SYSTEM
SA1 L.TNFL GET NFL/100
SX6 DNFL GET DEFAULT
IX1 X1-X6
NG X1,ERR28 IF INSUFFICIENT NFL SPACE
SA1 RC GET RA
BX6 X1
RJ SRA SET REFERENCE ADDRESS
RJ SCM SET CENTRAL MEMORY
SA7 RI
SA3 RC
RJ PCM
JP ISSX EXIT
LDC SPACE 4,10
** LDC - LIST DIRECTIVE CARD.
*
* ENTRY EF = 0 SET PAGE EJECT AND DONT LIST DIRECTIVE.
* .NE. 0 LIST DIRECTIVE AND CURRENT RECORD NAME.
*
* SAVES X - 0,5.
* B - 1.
* A - 0.
*
* CALLS PKS,WOF.
LDC SUBR
SA1 EF
NZ X1,LDC1 IF NO EJECT SELECTED
SX6 100
SA6 LC FORCE EJECT
JP LDCX EXIT
* LIST DIRECTIVE AND RECORD NAME.
LDC1 SA1 =10H
SA2 SBTL1
BX6 X1
SA6 BUF LEADING SPACES FOR LIST LINE
BX7 X2
SA7 A6+B1 STORE RECORD NAME
SB2 CHAR
SB7 A7+B1
SB6 78
RJ PKS PACK DIRECTIVE CARD
PRINT (=2C )
PRINT BUF
PRINT (=2C )
JP LDCX EXIT
LDD SPACE 4,8
** LDD - LOAD DUMP DIRECTORY.
*
* EXIT (X1) .NE. 0 IF FILE NOT IN RANDOM FORMAT.
* = 0 IF DIRECTORY TABLE LOADED.
* *S* FILE NAME IS CHANGED TO NAME OF *F* FILE.
*
* USES X - 1, 3, 6.
* A - 1, 3, 6.
LDD SUBR ENTRY/EXIT
OPEN F,READNR,R
SA1 X2+B1
NG X1,LDDX IF NOT ON MASS STORAGE
SA1 RBIA
NZ X1,LDDX IF NO REWIND SET
SKIPEI X2 CHECK DIRECTORY RECORD
SKIPB X2,2
READ X2
READO X2 READ FIRST WORD
LX6 18
SX1 X6-770000B
NZ X1,LDDX IF NOT IDENT TABLE
LX6 6 SET TABLE LENGTH
READW X2,BUF,X6 DISCARD IDENT TABLE
READO X2 READ DIRECTORY TABLE LENGTH WORD
MX1 42D
SA3 =0LDUMP
BX3 X3-X6
BX1 X1*X3
NZ X1,LDDX IF NOT EDD DUMP DIRECTORY RECORD
ALLOC TDIR,X6 ALLOCATE TABLE SPACE
READW F,X2,X3 READ DIRECTORY TABLE TO CORE
NZ X1,ERR24 IF BAD DIRECTORY TABLE
RECALL X2
SA1 X2
BX6 X1
SA6 S RESET SCRATCH FILE NAME
SX1 0 SET DIRECTORY LOADED
JP LDDX EXIT
LPW SPACE 4,15
** LPW - LOAD 12 BIT WORD.
*
* ENTRY (LPWA+0) = RELATIVE ADDRESS OF WORD IN LPWB.
* (LPWA+1) = ADDRESS IN BUFFER TO CONTINUE UNPACKING.
*
* EXIT (LPWA) = UPDATED.
* (X6) = 12 BIT WORD.
*
* USES X - 1, 2, 3, 6.
* A - 1, 2, 6.
* B - 2.
LPW SUBR ENTRY/EXIT
SA2 LPWA POSITION OF NEXT 12 BIT BYTE
SA1 X2+LPWB
SX6 X2-1 UPDATE LPWA
SA6 A2
SX6 X1
PL X2,LPWX IF VALID BYTE
SB2 4
SX6 B2-B1
SA2 A2+B1 POSITION IN BUFFER OF NEXT WORD
SA6 A6
MX3 -12
SX6 X2+B1
SA1 X2+BUF
SA6 A2 UPDATE LPWA+1
LPW1 LX1 12
BX6 -X3*X1 EXTRACT 12 BIT BYTE
SA6 LPWB+B2
SB2 B2-B1
PL B2,LPW1 IF MORE BYTES TO UNPACK
SA1 LPWB+4
SX6 X1
EQ LPWX RETURN
LPWA CON 0 NEXT BYTE IN BUFFER LPWB
CON 0 NEXT WORD IN BUF
LPWB BSS 5
MEM SPACE 4,15
** MEM - PROCESS CENTRAL MEMORY RECORD.
*
* ENTRY VIA UNCONDITIONAL JUMP.
*
* EXIT TO *RBI2* IF NORMAL.
* TO *PPE* IF PREMATURE EOF.
*
* USES A - 1, 3, 6.
* X - 1, 2, 3, 6.
*
* CALLS ERS, RBH, WBS.
MEM SA1 BUF GET MEMORY SIZE
MX2 -18
BX6 -X2*X1
SA3 MEMB
LX6 9
SA6 A3
ZR X3,MEM1 IF NO SIZE FROM OS BOUNDS REGISTER
IX2 X6-X3
NO
NG X2,MEM1 IF SIZE FROM HEADER IS SMALLER
SA1 VE
NZ X1,MEM1 IF *NOS V/E* MEMORY SPACE REQUIRED
BX6 X3
SA6 A3
MEM1 RJ RBH READ BLOCK OR HEADER FROM FILE *F*
NZ X1,PPE IF PREMATURE EOF
NG X1,PPE IF PREMATURE EOR
SA1 BWCF SET WORD COUNT FOR FILE *S*
BX6 X1
SA6 BWCS
RJ WBS WRITE BLOCK TO FILE *S*
SA1 BWCF INCREMENT WORD COUNT
SX2 15
IX6 X1*X2
AX6 4
SA1 MEMA
SA3 A1+B1
IX6 X6+X1 COUNT OF 64 BIT WORDS PROCESSED
SA6 A1
IX2 X6-X3 COMPARE WITH CM SIZE
NG X2,MEM1 IF NOT DONE
AX3 9
MX2 42
SA1 ID FETCH RECORD ID
BX1 X2*X1
BX6 X1+X3 ENSURE MEMORY SIZE CORRECT IN DIRECTORY
SA6 A1
SX2 15 SIZE * 16 / 15
LX3 9+4
IX6 X3/X2 FORM RECORD LENGTH
SA6 RWCS
RJ ERS END RECORD ON FILE *S*
SA1 VE
ZR X1,RBI3 IF *NOS/VE* MEMORY SPACE NOT REQUIRED
EQ RBI2 EXIT TO READ NEXT RECORD ON FILE *F*
MEMA CON 0 COUNT OF 64-BIT WORDS PROCESSED
MEMB CON 0 64-BIT MEMORY SIZE
MRT SPACE 4,15
** MRT - DUMP MACHINE RECOVERY TABLE.
*
* ENTRY (EQ) = *EQDE* WORD OF EST ENTRY.
* (BUFF) = MST AND TRT.
*
* EXIT MRT DUMPED IF PRESENT.
* (BUFF) = MST FOLLOWED BY TRT OR MRT.
*
* USES X - 1, 2, 6, 7.
* A - 1, 2, 6, 7.
* B - 2, 5, 6, 7.
*
* CALLS CPS, CTS, GTD, POM, UPS.
*
* MACROS GETCM, PRINT.
MRT SUBR
SA1 EQ *EQDE* WORD OF EST
SX2 1020B SHARED AND ISHARED FLAGS
LX1 12
BX2 X1*X2
ZR X2,MRTX IF NOT A SHARED DEVICE
PRINT (=2C )
PRINT (=C* MACHINE RECOVERY TABLE*)
PRINT (=2C )
SA1 BUF+TRLL SET FWA OF TRT
SX6 X1
SA1 BUF+TDGL SET TRT LENGTH
MX7 -12
AX1 24
BX7 -X7*X1
IX6 X6+X7 MRT ADDRESS
SA6 CPRA
SA6 FW
SX7 X7+7
AX7 3 MRT LENGTH
SA7 LW
SB2 A6
RJ POM POSITION TO MRT
SA1 LW MRT LENGTH
GETCM BUF+MSTXL,X1 READ MRT INTO *BUF*
MX7 1
SA7 SRDA PRESET FIRST CALL TO *SRD*
SX6 B0
SA6 MRTA CLEAR LINK ORDINAL
SA6 MRTB CLEAR DATA WORD ORDINAL
SA6 SRDC+10 STOP DASHES AFTER 80 CHARACTERS
RJ SSB CLEAR PRINT STRING
MRT1 SA1 MRTB SET DATA ADDRESS
SX1 X1+BUF+MSTXL
SB5 1 SET WORD COUNT
RJ SRD SENSE REPEAT DATA
NZ X1,MRT3 IF REPEAT SENSED
SA1 FW GET MRT ADDRESS
SA2 MRTB
IX1 X1+X2
LX1 -18
SB6 6
SB7 PRBF
RJ CTS CONVERT MRT ADDRESS
SB7 B7+B1
SX6 1R+
SA6 B7
SB7 B7+B1
SA1 MRTA LINK ORDINAL
LX1 -12
SB6 4
RJ CTS CONVERT LINK ORDINAL
SB7 B7+2
SA2 =4000005B
SA1 MRTB READ MRT DATA WORD
SA1 X1+BUF+MSTXL
RJ FDW FORMAT DATA WORD
SB7 B7+B1
LX1 28
SB6 8
MRT2 SB6 B6-1
RJ P4F LIST TRACK BITS
SB7 B7+1
NZ B6,MRT2
SA2 MRTB RE-READ DATA WORD
SA2 X2+BUF+MSTXL
SB7 B7+2
SB6 10
RJ SDI SET DISPLAY CODE INTERPRETATION
PRINT CCCH,B7-CCCH
MRT3 SA1 MRTA
SX6 X1+32
SA6 A1+ UPDATE TRACK ORDINAL
SA1 MRTB
SX6 X1+B1
SA6 A1+ UPDATE MRT ADDRESS
SA2 LW
IX3 X6-X2
NG X3,MRT1 IF MORE TO DUMP
SA1 SRDC+1
BX6 X1
SA6 SRDC+10 RESET DASHES FOR 136 CHARACTERS
JP MRTX EXIT
MRTA BSS 1 TRACK ORDINAL
MRTB BSS 1 MRT DATA WORD ORDINAL
MST SPACE 4,15
** MST - DUMP MASS STORAGE TABLE.
*
* ENTRY (X6) = MST ADDRESS.
* (FI) = EST ORDINAL TO BE DUMPED.
*
* EXIT MST DUMPED.
*
* USES X - 1, 2.
* A - 1, 2, 6.
* B - 2, 5, 6, 7.
*
* CALLS CPS, CTS, GTD, POM, UPS.
*
* MACROS GETCM, PRINT.
MST SUBR
SA6 FW STORE MST ADDRESS
SA6 CPRA
SB2 A6
RJ POM POSITION TO MST
GETCM BUF,MSTXL READ FULL MST INTO *BUF*
SA2 EF
SX1 100 FORCE PAGE EJECT
ZR X2,MST1 IF AUTO EJECT SELECTED
SX1 3
MST1 RJ CPS CHECK PAGE SPACE
PRINT (=2C )
SA2 =40HEQUIPMENT - MASS STORAGE TABLE
SB6 34
SB7 PRBF
RJ UPS SET HEADING
SB5 B7+ SAVE PRINT STRING ADDRESS
SA1 FI SET EST ORDINAL
LX1 -9
SB6 3
SB7 PRBF+10
RJ CTS CONVERT EST ORDINAL
PRINT CCCH,B5-CCCH
PRINT (=2C )
SA1 FW SET BASE ADDRESS
SB2 X1-BUF
SB2 -B2
SA1 TFMS ASSUME TABLE FOR NON-819 DISK
RJ GTD GENERATE DETAILED DUMP
EQ MSTX RETURN
NPE SPACE 4,10
** NPE - NEXT PAGE ENTRY.
*
* ENTRY (X4) = STARTING OFFSET INTO PAGE TABLE.
* (X4) < 0 THEN GET NEXT CONSECUTIVE PAGE ENTRY.
*
* EXIT (X3) = (PTEVCUM ) = VALID, CONTINUE, USED,
* MODIFIED BITS.
* (X5) = (PTEPD ) = REMAINDER OF PAGE DESCRIPTOR.
* (A3) = *PTEVCUM*.
*
* USES X - 1, 2, 3, 4, 5, 6, 7.
* A - 2, 3, 4, 6.
* B - 2.
*
* CALLS NXB, PSM.
NPE SUBR ENTRY/EXIT
SA3 S2PTL OBTAIN PAGE TABLE LENGTH
MX2 -12
LX3 12
BX3 -X2+X3 FORM BYTE ADDRESS MASK
SX7 32 DEFAULT PAGE ENTRIES TO SEARCH
MX5 0
SA1 NPEA GET CURRENT PAGE ENTRY ADDRESS
PL X4,NPE1 IF SETTING INITIAL PAGE ENTRY
SX6 8
SA2 A1+B1
IX6 X1+X6
SA6 A1
BX4 X6*X3 ISOLATE PAGE TABLE INDEX
SX6 X2-1
SA6 PTEVCUM CLEAR VALID CONTINUE BITS
SA6 NPEA+1
ZR X6,NPE3 IF SEARCHED TOO MANY ENTRIES
NZ X4,NPE2 IF WRAP AROUND HAS NOT HAPPENED
NPE1 SA2 S2PTA PAGE TABLE ADDRESS
BX4 X3*X4 ISOLATE PAGE TABLE INDEX
IX6 X2+X4
SA6 A1 SAVE PAGE ENTRY ADDRESS
SA7 A1+B1
SB2 A6
RJ PSM POSITION TO PAGE ENTRY
NPE2 RJ NXB GET UPPER 16 BITS OF DESCRIPTOR
MX2 4-16
BX5 -X2*X1
BX6 X2*X1
LX6 59-15
SA6 PTEVCUM VALID, CONTINUE, USED, MODIFIED BITS
RJ NXB GET BITS 16-31
LX5 16
BX5 X5+X1
RJ NXB GET BITS 32-47
LX5 16
BX5 X5+X1
RJ NXB GET BITS 48-63
LX5 16
BX5 X5+X1
BX6 X5
NPE3 SA6 PTEPD SAVE REMAINDER OF PAGE DESCRIPTOR
SA3 PTEVCUM FETCH PTE BITS
JP NPEX RETURN
NPEA DATA 0 PAGE ENTRY BYTE ADDRESS
DATA 32 PAGE ENTRIES TO SEARCH
NXB SPACE 4,15
** NXB - GET NEXT BYTE FROM RECORD.
*
* ENTRY (NXBA) = WORDS OF DATA IN PBUF.
* (NXBB) = OFFSET TO NEXT BYTE IN UBUF.
* (NXBC) = NEXT WORD TO UNPACK.
*
* EXIT (X1) = NEXT 16 BIT BYTE.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 2, 3, 6.
* B - 2, 3.
*
* MACROS READW.
NXB SUBR ENTRY/EXIT
SA2 NXBB
SA1 X2+UBUF-1 NEXT BYTE FROM BUFFER
SX6 X2-1
SA3 A2-B1
SA6 A2 UPDATE BYTE POINTER
PL X6,NXBX IF VALID BYTE
ZR X3,NXB3 IF PBUF IS EMPTY
SA2 A2+B1 NEXT WORD OF DATA
SX6 X3-4
SA6 A3 DECREMENT WORD COUNT
NXB0 SA1 X2
MX2 16
SB2 60+16
SB3 14
NXB1 BX6 X1*X2 EXTRACT BYTE
PL X2,NXB2 IF BYTE CONTAINED WITHIN THIS WORD
SA1 A1+B1 GET REMAINING PART OF BYTE
MX3 30
SB2 B2-60
BX6 -X3*X6
BX4 X3*X1
IX7 X4+X6
BX6 X2*X7
NXB2 LX6 B2 POSITION BYTE TO LOWER 16 BITS OF WORD
SB2 B2+16
LX2 -16
SA6 UBUF+B3 SAVE BYTE
SB3 B3-B1
SX6 A1
PL B3,NXB1 IF UNPACKING NOT COMPLETE
SA1 UBUF+14 RETURN THIS BYTE
SA6 A2 UPDATE UBUF
SX6 14
SA6 A2-B1
EQ NXBX RETURN
NXB3 SX6 B7 SAVE B6 AND B7
SX1 B6
LX6 18
BX6 X6+X1
SA6 A2+B1
READW S,PBUF,16
SX6 12
SA6 NXBA RESET NXBA
SA2 NXBC
SB6 X2 RESTORE B6 AND B7
AX2 18
SB7 X2
SX2 PBUF-1
EQ NXB0 UNPACK FIRST 4 WORDS OF BYTES
NXBA DATA 0 WORDS OF DATA REMAINING IN PBUF
NXBB DATA 0 OFFSET INTO BYTE BUFFER
NXBC CON PBUF-1 ADDRESS-1 OF NEXT DATA WORD IN PBUF
OTH SPACE 4,10
** OTH - PROCESS MISCELLANEOUS RECORD.
*
* ENTRY VIA UNCONDITIONAL JUMP.
*
* EXIT TO *RBI2*.
*
* CALLS CRS.
OTH BSS 0
SA1 ID
LX1 12
MX0 12
SA2 OTHA
BX0 X0*X1
BX2 X0-X2
ZR X2,OTH1 IF *PP* RECORD
SA2 A2+B1
BX2 X0-X2
NZ X2,OTH2 IF NOT *FLPP* RECORD
OTH1 BX7 X1
SA7 A1
OTH2 RJ CRS COPY RECORD TO FILE *S*
EQ RBI2 EXIT TO READ NEXT RECORD
OTHA CON 2LPP
CON 2LFP
PBB SPACE 4,16
** PBB - PRINT BYTE BUFFER
*
* ENTRY (X1) = NUMBER OF WORDS*2 IN BUFFER.
* (B2) = PARAMETER BLOCK ADDRESS.
* +0 = FWA OF DUMP.
* +1 = LWA OF DUMP.
*
* EXIT ONE PAGE WRITTEN.
*
* USES B - 3, 4, 6, 7.
* A - 1, 2, 4, 6, 7.
* X - 1, 2, 4, 6, 7.
*
* CALLS HTS, SAI, UPS.
*
* MACROS PRINT.
PBB SUBR ENTRY/EXIT
SX6 BUF
IX7 X6+X1 LWA+1 OF DATA IN BUF
SA6 PBBA FWA OF DATA IN BUF
SX2 6 COMPUTE ROW INCREMENT = 2*(WORDS+2)/3
SX1 X1+4
IX6 X1/X2
LX6 1
SA6 A6+B1 ROW INCREMENT
SA7 A6+B1 PRINT BUFFER LWA+1
SA1 TF
ZR X1,PBB1 IF NOT A TERMINAL FILE
SX6 X7-BUF
SA6 A6 SET ROW INCREMENT FOR TERMINAL FILE
PBB1 SA1 PBBA NEXT DATA WORD TO DUMP
SA4 A1+B1 ROW INCREMENT
SA2 A4+B1 DATA LWA+1
SB3 X1
SB4 X2
SB7 PRBF PRINT STRING ADDRESS
PBB2 GE B3,B4,PBB4 IF NOT BEYOND END OF BUFFER
SA1 B3+
PL X1,PBB3 IF DATA NOT DUPLICATED
SA2 =40H-----------------------------------
SB6 40
RJ UPS STORE REPEAT INDICATOR IN PRINT LINE
SB3 B3+X4 ADVANCE PAGE BUFFER ADDRESS
EQ PBB2 PROCESS NEXT WORD
PBB3 SB6 7 HEX DIGITS IN ADDRESS
SX6 1R
RJ HTS CONVERT ADDRESS
SA6 B7
SA6 A6+B1
SB7 A6+B1 SPACE ONE
SB6 4 UNPACK 4 DIGITS
RJ HTS UNPACK FIRST BYTE
SA6 B7 INSERT SPACE
SB7 B7+B1
SB6 4
RJ HTS UNPACK SECOND BYTE
SA1 A1+B1
SB6 4
SA6 B7
SB7 B7+B1
LX1 28
RJ HTS UNPACK THIRD BYTE
SA6 B7
SB7 B7+B1
SB6 4
RJ HTS UNPACK FOURTH BYTE
SB6 4
SA6 B7
SB7 B7+B1
SA2 A1-B1
LX2 28
RJ SAI SET ASCII INTERPRETATION
SA2 A2+B1
SB6 4
LX2 28
RJ SAI SET ASCII INTERPRETATION
SB7 B7+3
SB3 B3+X4 ADVANCE PAGE BUFFER ADDRESS
EQ PBB2 CONTINUE PROCESSING THIS LINE
PBB4 PRINT CCCH,B7-CCCH-2
SA1 PBBA ADVANCE POSITION IN DATA BUFFER
SA2 A1+1
SX2 X2+BUF
SX6 X1+2
SA6 A1
IX6 X6-X2
NG X6,PBB1 IF ROOM FOR ANOTHER LINE ON PAGE
EQ PBBX RETURN
PBBA DATA 0 CURRENT BUFFER POSITION
DATA 0 ROW INCREMENT
DATA 0 LWA+1 OF DATA IN BUFFER
PBC SPACE 4,15
** PBC - PACK BUFFER CONTROLLER.
*
* ENTRY DUMP FILE POSITIONED TO BEGINNING OF RECORD.
*
* EXIT (PBUF) CONTAINS CONTROLLER MEMORY.
*
* USES X - 0, 1, 2, 5, 6, 7.
* A - 1, 2, 6, 7.
*
* CALLS RBC.
*
* DEFINE (X5) = PBUF INDEX.
PBC SUBR ENTRY/EXIT
SX5 0 INITIALIZE PBUF INDEX
* READ 3 CM WORDS OF THE FORM- 20/0,8/B1,8/B2,8/B3,8/B4,8/B5
PBC1 RJ RBC
NZ X1,PBCX IF TRANSFER NOT COMPLETE
SA7 PBUF+X5 SAVE WORD 1
RJ RBC
NZ X1,PBCX IF TRANSFER NOT COMPLETE
SA7 PBUF+1+X5 SAVE WORD 2
RJ RBC
NZ X1,PBCX IF TRANSFER NOT COMPLETE
SA1 PBUF+X5 GET WORD 1
SA2 A1+B1 GET WORD 2
* CONVERT 3 CM WORDS TO 2 CM WORDS WITH THE FORMAT-
* 8/B1,8/B2,8/B3,8/B4,8/B5,8/B6,8/B7,4/B8
* 4/B8,8/B9,8/B10,8/B11,8/B12,8/B13,8/B14,8/B15
MX0 -20 FORM WORD 1
BX0 -X0*X2 SAVE BITS FOR WORD 2
LX1 20
AX2 20
BX6 X1+X2
LX0 40 FORM WORD 2
BX7 X0+X7
SA6 PBUF+X5 SAVE WORD 1
SA7 A6+1 SAVE WORD 2
SX5 X5+2 UPDATE INDEX
SX6 X5-IUBUFL1-4
NG X6,PBC1 IF MORE MEMORY TO PACK
EQ PBCX RETURN
PBD SPACE 4,25
*** PBD - PREPROCESS BINARY DUMP FILE.
*
* THIS SUBROUTINE IS USED WHEN THE *DMB* PARAMETER
* IS PRESENT. THE FILE PRODUCED BY THE *DMB* OR
* *LOADBC* UTILITY IS CONVERTED TO A FORMAT THAT
* CAN BE PROCESSED BY *DSDI*. FOR THE FILE FROM
* *DMB*, THE FIELD LENGTH DUMPED IS MADE TO
* APPEAR AS THOUGH IT RESIDED AT CONTROL POINT ONE.
* ONLY THE PORTION OF *CMR* NEEDED BY *DSDI*
* IS SET UP.
*
* ENTRY (BD) = BINARY DUMP FLAG.
* (RBIA) = REWIND FLAG.
*
* EXIT (BD) = DUMP NUMBER IF IN *BD* MODE.
*
* USES X - ALL.
* A - 1, 2, 3, 4, 5, 6, 7.
* B - 2, 7.
*
* CALLS SFN.
*
* MACROS ALLOC, MESSAGE, READ, READO, READW, RECALL,
* RETURN, REWIND, WRITEF, WRITEO, WRITER,
* WRITEW.
PBD SUBR ENTRY/EXIT
SA1 BD
ZR X1,PBDX IF NOT BINARY DUMP MODE
RECALL F
RETURN F1,R DROP SCRATCH FILE
MESSAGE (=C* REFORMATTING FILE.*),1
SA1 RBIA
NZ X1,PBD1 IF NO REWIND REQUESTED
REWIND F,R
PBD1 READ F
ALLOC TCMT,DMBCM LENGTH OF *CMR* (MULTIPLE OF 100)
SA2 L.TCMT CLEAR WORKING SPACE
SA1 F.TCMT
SB2 X2-1
SX7 0
PBD2 SA7 X1+B2
SB2 B2-B1
PL B2,PBD2 IF MORE TO CLEAR
READO F
NZ X1,ERR39 IF FORMAT ERROR
SA3 RBIB
BX1 X6 SAVE POSSIBLE DUMP NUMBER
BX3 X6-X3
NZ X3,PBD3 IF NOT 7700 TABLE
LX6 -36 SKIP 7700 TABLE
SB7 X6
READW X2,BUF,B7
NZ X1,ERR39 IF FORMAT ERROR
READO X2
NZ X1,ERR39 IF FORMAT ERROR
BX1 X6 DUMP NUMBER
PBD3 RJ SFN
SA6 BD
READO F
NZ X1,ERR39 IF FORMAT ERROR
BX1 X6
SB7 X6
AX1 48
SX1 X1-2RID
NZ X1,ERR39 IF NOT *ID* TABLE
READW X2,BUF,B7
NZ X1,ERR39 IF FORMAT ERROR
* BUILD NEEDED *CMR* INFORMATION.
SA5 F.TCMT
SA3 BUF GET SYSTEM VERSION
SA4 A3+B1
BX6 X3
BX7 X4
SA6 X5+SVNL
SA7 A6+B1
SA3 A4+B1 DATE
SA4 A3+B1 TIME
BX6 X3
BX7 X4
SA6 X5+DTEL
SA7 X5+TIML
SX6 B1+B1 NUMBER OF CONTROL POINTS
LX6 47-11
SA6 X5+CFGL
SX7 DMBCM/100B SET CMR SIZE
SA7 X5+CMRL
LX7 6 SET FWA OF JCA
SX7 X7-100B
LX7 59-23
SA7 X5+JBCP
READO X2
NZ X1,ERR39 IF FORMAT ERROR
BX1 X6
AX6 48
SX0 X6-2RBC
ZR X0,PBD3.1 IF FILE FROM *LOADBC*
SX7 3RDMM SET HEADER LABEL
SX0 X1 SAVE WORD COUNT
LX7 -18
SA7 PBDA
SX6 X6-2RXP
NZ X6,ERR39 IF FORMAT ERROR
READW X2,X5+CPAS,20B READ EXCHANGE PACKAGE
SX0 X0-20B
NG X0,ERR39 IF FORMAT ERROR
NZ X1,ERR39 IF FORMAT ERROR
MX6 6 MARK CONTROL POINT ACTIVE
LX6 -6
SA6 X5+CPAS+TFSW
READW X2,BUF,X0 SKIP UNUSED WORDS
NZ X1,ERR39 IF FORMAT ERROR
* SET RA AND FL IN CP 1 *FLSW* WORD.
READO X2
SX0 X6 SAVE CMFL / 100B
AX6 48
SX6 X6-2RCM
NZ X1,ERR39 IF FORMAT ERROR
NZ X6,ERR39 IF FORMAT ERROR
SA3 L.TCMT SET RA / 100 OF CP 1
LX3 12-6
BX7 X3+X0 COMBINE RA / 100 AND FL / 100
SA7 X5+CPAS+FLSW
* WRITE REFORMATTED FILE.
PBD3.1 WRITEW F1,PBDA,B1 WRITE HEADER ONE
WRITEW X2,X5+DTEL,B1
WRITEW X2,X5+TIML,B1
WRITEW X2,BD,B1
WRITER X2,R
SA3 L.TCMT *CMR* LENGTH
LX0 6 CONVERT CM / 100B TO WORDS
IX1 X0+X3 MEMORY SIZE
SX1 X1+777B ROUND UP TO 1000B BLOCKS
AX1 9
SX3 3RCM
LX3 59-17
BX6 X3+X1
LX1 9 SAVE ROUNDED FL
BX7 X1 SET MACHINE CHARACTERISTICS
SX3 4372B SET 170-700 MAINFRAME
LX7 12-6 CM SIZE / 100
LX3 47-11
BX7 X7+X3
SA7 X5+MABL
BX5 X1
WRITEO X2 WRITE HEADER TWO
SB2 77B CLEAR BUFFER SPACE
SX6 0
PBD4 SA6 BUF+B2
SB2 B2-1
PL B2,PBD4 IF MORE TO CLEAR
WRITEW X2,BUF,3
WRITER X2,R
SA3 L.TCMT
SA1 F.TCMT
IX5 X5-X3 SUBTRACT *CMR* WORDS
WRITEW X2,X1,X3 WRITE CMR PORTION
NZ X5,PBD5 IF CONTROL POINT FL TO COPY
SA1 PBDA
AX1 42
SX1 X1-3RLBC
NZ X1,PBD7 IF NOT FILE FROM *LOADBC*
* COPY CONTROLLER MEMORY FOR FILE FROM *LOADBC*.
WRITER F1,R WRITE EOR FOR CMR PORTION
READW F,BUF,100B
SA2 BD ENTER CHANNEL DISPLAY IN CONTROLLER DUMP
MX6 24
BX2 X6*X2
SA3 BUF
LX6 -12
BX6 -X6*X3
LX2 -12
BX6 X6+X2
SA6 A3
SX0 X1 SAVE READ STATUS
PBD4.1 SB7 B6-BUF
WRITEW F1,BUF,B7
NZ X0,PBD9 IF COPY COMPLETE
READW F,BUF,100B
SX0 X1 SAVE READ STATUS
EQ PBD4.1 CONTINUE CONTROLLER DATA TRANSFER
* COPY CM DUMP FROM FILE.
PBD5 READW F,BUF+100B,100B
NZ X1,ERR39 IF FORMAT ERROR
WRITEW F1,BUF+100B,100B
SX0 X0-100B
SX5 X5-100B
NZ X0,PBD5 IF MORE TO COPY
PBD6 ZR X5,PBD7 IF PAD WORDS WRITTEN
WRITEW F1,BUF,100B
SX5 X5-100B
EQ PBD6 WRITE MORE PAD WORDS
* COPY EXTENDED MEMORY DUMP FROM FILE.
PBD7 READO F CHECK FOR ECS DUMP RECORD
NZ X1,PBD9 IF NOT ECS
SA6 BUF
SX1 3RECS
SX0 X6 ECS LENGTH
AX6 42
LX0 9
BX1 X1-X6
NZ X1,PBD9 IF NOT EXTENDED MEMORY
ZR X0,PBD9 IF NOTHING TO TRANSFER
WRITER F1,R
WRITEW X2,BUF,4 EXTENDED MEMORY DUMP HEADER
WRITER X2,R
PBD8 ZR X0,PBD9 IF COPY COMPLETE
READW F,BUF+100B,100B COPY DUMP RECORD
NZ X1,ERR39 IF END OF RECORD
WRITEW F1,BUF+100B,100B
SX0 X0-100B
EQ PBD8 GET NEXT BLOCK
PBD9 WRITEF F1,R TERMINATE FILE
RECALL F
SA1 F1 SWAP FILE NAMES
MX3 42
MX6 -2
BX1 X3*X1
BX6 -X6+X1
SA6 F
REWIND A6,R
SA1 L.TCMT DROP TABLE SPACE
BX1 -X1
ALLOC TCMT,X1
EQ PBDX RETURN
PBDA CON 3LLBC
PCH SPACE 4,12
** PCH - PRINT CONTROL POINT DUMP HEADING.
*
* ENTRY (CN) = CONTROL POINT NUMBER.
* (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
*
* EXIT (FW) = CONTROL POINT AREA ADDRESS.
* (LW) = CONTROL POINT AREA LWA+1.
*
* USES X - 1, 2, 6, 7.
* A - 1, 2, 6, 7.
* B - 6, 7.
*
* CALLS CPS, CTS, UPS.
*
* MACROS PRINT.
PCH SUBR
SA2 EF CHECK AUTO EJECT FLAG
SX1 100 PRESET FOR EJECT
ZR X2,PCH1 IF AUTO EJECT SELECTED
SX1 3
PCH1 RJ CPS CHECK PAGE SPACE
PRINT (=2C )
SA1 CN CONTROL POINT NUMBER
SA2 OP ADD PCPA OFFSET
LX1 7
IX6 X1+X2
SA6 FW SAVE ADDRESS
SX7 X6+CPLEN
SA7 LW SET LWA+1
BX1 X6
LX1 -12
SB6 4
SB7 PRBF
RJ CTS CONVERT ADDRESS
SA2 =18H - CONTROL POINT
SB6 17
SA1 OP
ZR X1,PCH2 IF NOT DUMPING PCP-S
SA2 =25H - PSEUDO-CONTROL POINT
SB6 24
PCH2 RJ UPS UNPACK STRING
SA1 CN
LX1 -6
SB6 B1+B1
RJ CTS CONVERT CONTROL POINT NUMBER
PRINT CCCH,B7-CCCH
PRINT (=2C )
JP PCHX EXIT
PCM SPACE 4,10
** PCM - POSITION CYBER MEMORY.
*
* ENTRY X3 - CM ADDRESS.
*
* EXIT DUMP FILE POSITIONED FOR *GETCM*
*
* USES A - 1, 6.
* X - 1, 2, 3, 6.
*
* CALLS PDF, UPW.
PCM SUBR ENTRY/EXIT
SA1 MT
NZ X1,PCM1 IF MEMORY TYPE IS ESM
SA1 AP
NZ X1,PCM2 IF ADVANCED PROCESSOR PRESENT
PCM1 RJ PDF POSITION DUMP FILE
EQ PCMX RETURN
PCM2 BX1 X3
SX2 15
IX3 X3/X2
SX2 15
IX6 X2*X3
IX2 X1-X6
SX6 X2-15
LX3 4
SA6 BI DESIRED POSITION WITHIN 15 WORD BLOCK
RJ PDF POSITION DUMP FILE
RJ UPW UNPACK 64-60 BIT WORDS
EQ PCMX RETURN
PCS SPACE 4,10
** PCS - PROCESSOR CONTROL STORE.
*
* ENTRY VIA UNCONDITIONAL JUMP.
*
* EXIT TO *RBI2* IF NORMAL.
* TO *PPE1* IF PREMATURE EOF.
*
* CALLS CRS, ERF, RBF.
PCS BSS 0 ENTRY
RJ ERF POSITION TO EOR ON FILE *F*
RJ RBF READ FIRST PART OF CONTROL STORE
NZ X1,PPE1 IF PREMATURE EOF
RJ CRS COPY CONTROL STORE TO FILE *S*
EQ RBI2 EXIT TO READ NEXT RECORD FROM FILE *F*
EIC EQU PCS PROCESS ENVIRONMENTAL INTERFACE RECORD
PMR EQU PCS PROCESS PROCESSOR MAINTENANCE REGISTERS
PRF EQU PCS PROCESS PROCESSOR REGISTER FILE
MMR EQU PCS PROCESS MEMORY MAINTENANCE REGISTERS
INN EQU PCS PROCESS IOU MAINTENANCE REGISTERS
CCR EQU PCS PROCESS CCH CHANNEL REGISTER RECORD
PRX EQU PCS PROCESS PROCESSOR EXCHANGE PACKAGES.
PCV SPACE 4,15
** PCV - PROCESS CONTROLLER DATA VERIFICATION.
*
* ENTRY (X1) = OCTAL/HEX DUMP FORMAT FLAG.
* (X2) = DIRECTORY ENTRY ADDRESS FOR CONTROLLER DATA.
*
* EXIT CONTROLLER DUMP VERIFICATION ERROR DATA WRITTEN.
*
* USES X - ALL.
* A - ALL.
* B - 2, 3, 4, 5, 6, 7.
*
* CALLS CTS, CVE, HTS, PDF, SSB, UPS.
*
* MACROS PRINT, READO.
PCV SUBR ENTRY/EXIT
SA4 X2+B1 GET RANDOM INDEX OF CONTROLLER RECORD
BX7 X1 SAVE OCTAL/HEX FORMAT FLAG
SA7 PCVA
BX6 X4
SA6 RI
BX7 X7-X7
SA7 A7+B1
ERRNZ PCVB-PCVA-1 CODE DEPENDS ON CONSECUTIVE LOCATIONS
SX3 B1+B1 POSITION TO THIRD WORD OF RECORD
RJ PDF
PRINT (=2C )
PRINT CDVH1 WRITE CONTROLLER DATA VERIFICATION HEADERS
PRINT CDVH2
PRINT (=2C )
RJ SSB SPACE FILL LINE BUFFER
PCV1 SA1 PCVB ADVANCE CONTROLLER MEMORY ADDRESS
SX6 X1+5
SA6 A1
READO S
NZ X1,PCVX IF END OF RECORD
SA6 PCVC SAVE FIRST WORD OF PAIR
READO S
ZR X1,PCV2 IF SECOND WORD TRANSFERRED
BX6 X6-X6
PCV2 SA5 PCVC GET FIRST WORD OF PAIR
SA3 PCVD GET VERIFICATION ERROR MASK
SA6 A5 SAVE SECOND WORD OF PAIR
BX1 X3*X6
BX4 X3*X5
BX1 X1+X4
ZR X1,PCV1 IF NO ERROR
SA1 PCVB GET CONTROLLER MEMORY ADDRESS
SB7 PRBF PRINT STRING BUFFER
SB6 4
LX1 -16
RJ HTS CONVERT ADDRESS TO HEX DISPLAY
SA2 PCVA
SA0 PRBF+10
SB2 10
NZ X2,PCV3 IF NOT OCTAL DUMP
SB7 PRBF
SB6 5
LX1 -15
RJ CTS CONVERT ADDRESS TO DISPLAY
PCV3 MX0 -4
SB3 4
MX3 8
LX5 4
BX6 -X0*X5 VERIFICATION ERROR FLAG
BX1 X3*X5 CONTROLLER DATA (FIRST HALF OF BYTE)
LX5 12
SB5 B3+B3
RJ CVE CHECK FOR VERIFICATION ERROR
BX4 X6 SAVE FIRST HALF BYTE VERIFICATION STATUS
SB2 B2-2
NE B2,B3,PCV4 IF NOT AT END OF FIRST WORD OF PAIR
SA5 A5 GET SECOND WORD OF PAIR
LX5 4
PCV4 BX6 -X0*X5 VERIFICATION ERROR FLAG
SB5 B0
RJ CVE CHECK FOR VERIFICATION ERROR
BX3 X3*X5 CONTROLLER DATA (SECOND HALF OF BYTE)
LX3 -8
BX1 X1+X3
LX5 8
SB7 A0
SA2 PCVA GET OCTAL/HEX DUMP FORMAT FLAG
SB6 B3
ZR X2,PCV5 IF OCTAL DUMP
RJ HTS CONVERT ACTUAL VALUE TO HEX DIGITS
SB6 B3
SB7 A0+52-10
BX2 X6*X4
SB4 B3
NG X2,PCV7 IF MULTIPLE BIT FAILURE IN BOTH HALVES
BX1 X1-X6 CALCULATE EXPECTED VALUE
BX1 X1-X4
LX1 -16
RJ HTS CONVERT EXPECTED VALUE TO HEX DIGITS
BX1 X4+X6 CALCULATE LOGICAL DIFFERENCE
LX1 -16
SB7 A0+94-10
SB6 B3
RJ HTS CONVERT DIFFERENCE TO HEX DIGITS
SB4 B1+B1
SB3 B1+B1
EQ PCV6 PROCESS MULTIPLE BIT FAILURE
PCV5 SB3 B3-1
SB6 B3+B3
LX1 -2
RJ CTS CONVERT ACTUAL VALUE TO OCTAL DIGITS
SB7 A0+52-10
SB6 B3+B3
BX2 X4*X6
SB4 B6
NG X2,PCV7 IF MULTIPLE BIT FAILURE IN BOTH HALVES
BX1 X1-X6 CALCULATE EXPECTED VALUE
BX1 X1-X4
LX1 -18
RJ CTS CONVERT EXPECTED VALUE TO OCTAL DIGITS
SB6 B3+B3
BX1 X4+X6 CALCULATE LOGICAL DIFFERENCE
SB4 B3+B1
LX1 -18
SB7 A0+94-10
RJ CTS CONVERT DIFFERENCE TO OCTAL DIGITS
PCV6 PL X1,PCV9 IF NO MULTIPLE BIT ERROR
SB7 A0+52-10
SB6 B4+
NG X4,PCV7 IF MULTIPLE BIT ERROR IN FIRST HALF
SB6 B3
SB7 B7+B6
PCV7 SA2 =6L******
RJ UPS UNPACK CHARACTERS TO PRINT LINE
SB7 A0+94-10
SB6 B4+
NG X4,PCV8 IF MULTIPLE BIT ERROR IN FIRST HALF
SB6 B3
SB7 B7+B6
PCV8 SA2 =6L******
RJ UPS UNPACK CHARACTERS TO PRINT LINE
PCV9 SA0 A0+8
NZ B2,PCV3 IF MORE BYTES IN WORD PAIR
PRINT CCCH,136 PRINT VERIFICATION ERROR LINE
EQ PCV1 CONTINUE DUMP VERIFICATION
PCVA CON 0 0 = OCTAL DUMP, 1 = HEX DUMP FORMAT
PCVB CON 0 CONTROLLER MEMORY ADDRESS
PCVC CON 0 CONTROLLER DATA WORD
PCVD VFD 4/17B,8/0,4/17B,8/0,4/17B,8/0,4/17B,8/0,4/17B,8/0
CDVH1 BSS 0 CONTROLLER DATA VERIFICATION HEADER LINE 1
DATA 50H ACTUAL VALUE
DATA 40H EXPECTED VALUE
DATA C* LOGICAL DIFFERENCE*
CDVH2 BSS 0 CONTROLLER DATA VERIFICATION HEADER LINE 2
DATA 50H ADDRESS +0 +1 +2 +3 +4
DATA 40H +0 +1 +2 +3 +4
DATA C* +0 +1 +2 +3 +4*
PCW SPACE 4,17
** PCW - PRINT CONTENTS OF SUB-SYSTEM WORDS.
*
* ENTRY A5 = ADDRESS OF DESCRIPTOR BLOCK.
*T 24/ FIRST WORD LABEL,6/ ,18/ REL WORD ADD
* 240/ 40 CHARACTER DESCRIPTION OF WORD
*T 24/ SECOND WORD LABEL,6/ ,18/ REL WORD ADD
* 240/ 40 CHARACTER DESCRIPTION OF WORD
* . . . .
* . . . .
* . . . .
*T 60/ ZERO WORD TERMINATES BLOCK
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS FDW,UPS,WOF.
PCW SUBR
PRINT (=2C )
SA5 A5-5
PCW1 SA5 A5+5
ZR X5,PCW2 IF THROUGH DESCRIPTOR BLOCK
SB7 PRBF
SA2 =12HCONTENTS OF
SB6 12
RJ UPS
SA2 A5+
SB6 6
RJ UPS STORE WORD LABEL
SA2 =3H =
SB6 3
RJ UPS
SA1 SSBF+X5 GET WORD TO DUMP
SA2 =4000005B FORMAT CONTROL
RJ FDW FORMAT DATA WORD
SX6 1R-
SX7 1R
SA6 B7
SA7 B7+B1
SB7 B7+2
SA2 A5+1
SB6 40
RJ UPS
PRINT CCCH,B7-CCCH
JP PCW1
PCW2 PRINT (=2C )
JP PCWX EXIT
PDB SPACE 4,10
** PDB - PRINT DAYFILE BUFFER.
*
* ENTRY (GDBB) = DAYFILE BUFFER LENGTH.
* (GDBD) = INACCURATE DAYFILE BUFFER POINTERS FLAG.
* (NC) = NUMBER OF CONTROL POINTS.
* (CN) = CONTROL POINT NUMBER.
* = 0 OR (NC)+1 IF SYSTEM DAYFILE.
* = -1 IF ACCOUNT DAYFILE.
* = -2 IF ERRLOG DAYFILE.
* = -3 IF BML DAYFILE.
* DAYFILE BUFFER STORED IN TABLE *TSCR*.
* DAYFILE BUFFER POINTERS STORED IN TABLE *TSC1*.
*
* USES X - ALL.
* A - 1, 2, 3, 4, 5, 6, 7.
* B - 2, 6, 7.
*
* CALLS PMD, SDI.
*
* MACROS PRINT.
PDB8 PRINT (=2C )
PRINT (=C* DAYFILE NOT DEFINED.*)
PRINT (=2C )
PDB SUBR
SA1 GDBD
NZ X1,PDBX IF INACCURATE DAYFILE BUFFER POINTERS
SA1 F.TSC1 READ POINTERS ADDRESS
SA2 GDBB GET BUFFER LENGTH
BX0 X2
ZR X2,PDB8 IF DAYFILE NOT DEFINED
SA1 X1 ACCESS *FIRST* AND *IN*
MX2 -12
SA4 F.TSCR FIRST OF DAYFILE BUFFER
BX6 -X2*X1 *IN*
* SET POINTERS AND LENGTH FOR THE DAYFILE MESSAGE LIST.
IX6 X4+X6 SET CURRENT POINTER AS *IN*
SA6 PDBB
IX7 X4+X0 BUFFER LWA+1 IN MANAGED TABLE
SA7 A6+B1
SX7 X0 WORDS REMAINING = BUFFER LENGTH
SA7 A7+B1
* RESET POINTERS AND LENGTH IF BUFFER HAS NOT BEEN USED.
SA3 A1+B1 ACCESS *OUT*
BX7 -X2*X3
IX7 X7+X4 BIAS *OUT*
BX3 X6-X7
SA5 A3+B1 CHECK DEVICE ASSIGNMENT
BX7 X5
MX2 12
AX7 36
NZ X7,PDB1 IF EQUIPMENT ASSIGNED
NZ X3,PDB1.1 IF DAYFILE USED
SX6 B0 SET ZERO WORDS TO LIST
SA6 A7
EQ PDB2 CONTINUE FOR BUFFER DUMP
PDB1 LX2 -12
BX6 X2*X5
LX2 -12
AX6 12
BX7 X2*X5
BX6 X6-X7
NZ X6,PDB2 IF BUFFER HAS BEEN FLUSHED
LX2 -12
BX6 X2*X5
SX6 X6-10000B
NZ X6,PDB2 IF BUFFER HAS BEEN FLUSHED
PDB1.1 BX7 X4 SET CURRENT WORD POINTER AT BASE
MX2 -12
SA7 PDBB
BX6 -X2*X1 SET LWA+1 AS *IN*
IX7 X7+X6
SA7 A7+B1
SA6 A7+B1 SET WORDS REMAINING = *IN*
* SET BUFFER MANAGE TABLE, *PDBA*, FOR MEMORY DUMP.
PDB2 MX2 -24 CALCULATE FWA OF DAYFILE BUFFER
AX1 36
BX7 -X2*X1
IX6 X0+X7
SA7 PDBA SET DAYFILE BUFFER FWA
SA6 A7+B1 SET DAYFILE BUFFER LWA+1
SB2 A7
BX6 X4
SA2 CN
SA6 A6+B1 SET FWA DAYFILE BUFFER IN MANAGED TABLE
PDB3 RJ PMD PROCESS MEMORY DUMP
SA1 CN CHECK FOR BINARY MAINTANENCE LOG (BML)
SX1 X1+3
ZR X1,PDBX IF BML DAYFILE
SA1 PDBB+2
ZR X1,PDBX IF NO LINES IN BUFFER
PRINT (=2C )
PRINT (=C* DAYFILE LINES IN BUFFER*)
PRINT (=2C )
PDB4 SA4 PDBB GET CURRENT WORD POINTER
SA3 A4+B1 GET LWA+1 DAYFILE BUFFER IN MANAGED TABLE
BX2 X2-X2
SA5 A3+B1 GET NUMBER OF WORDS REMAINING
MX0 -12
ZR X5,PDBX IF END OF WORDS IN BUFFER
PDB5 IX6 X4-X3
NZ X6,PDB6 IF NO WRAP REQUIRED
SA4 F.TSCR
PDB6 SA1 X4 GET NEXT WORD IN DAYFILE BUFFER
LX7 X1
SX5 X5-1
BX6 -X0*X1
SA7 BUF+X2 BUILD LINE
SX2 X2+B1
ZR X5,PDB7 IF LAST WORD PROCESSED
SX4 X4+B1
NZ X6,PDB5 IF NOT END OF LINE
PDB7 SX1 10 CALCULATE CHARACTERS IN LINE
BX6 X4
IX1 X2*X1
SA6 PDBB SAVE CURRENT WORD POINTER
BX7 X5
SB6 X1
SA7 PDBB+2 SAVE WORDS REMAINING
SA2 BUF SET LINE BUFFER ADDRESS
SB7 PRBF SET STRING BUFFER ADDRESS
RJ SDI SET DISPLAY CODE INTERPRETATION
PRINT CCCH,B7-CCCH
EQ PDB4 CONTINUE PRINTING DAYFILE LINES
PDBA BSS 0 DUMP PARAMETERS
LOC 0
CON 0 FWA
CON 0 LWA+1
CON 0 CORE ADDRESS
CON 0 NO SUPPRESS FLAG
CON 2 *E* FORMAT CODE
CON 0 COLUMN LENGTH
CON 0 INVERTED ADDRESS
LOC *O
PDBB BSS 0 MESSAGE PROCESSING PARAMETERS
LOC 0
CON 0 CURRENT WORD POINTER IN MANAGED TABLE
CON 0 LWA+1 DAYFILE BUFFER IN MANAGED TABLE
CON 0 WORDS REMAINING IN DAYFILE BUFFER
LOC *O
PDF SPACE 4,12
** PDF - POSITION DUMP FILE.
*
* ENTRY RI = RANDOM ADDRESS OF CURRENT RECORD.
* X3 = DESIRED WORD ADDRESS.
*
* EXIT BINARY DUMP FILE IS POSITIONED AT DESIRED WORD.
*
* SAVES X - 0,5.
* B - 1.
* A - 0,5.
*
* CALLS CIO=,RDW=,WNB=.
PDF SUBR
NG X3,ERR18 IF WORD ADDRESS INCORRECT
RECALL S
SA1 RI
BX6 X1
AX6 30 RECORD WORD COUNT
IX4 X3-X6
PL X4,ERR18 IF WORD ADDRESS NOT IN RECORD
BX6 X3
MX3 -6
BX3 -X3*X6 WORD OFFSET
AX6 6 RELATIVE PRU NUMBER
MX4 -30
BX1 -X4*X1 RECORD RANDOM ADDRESS
IX6 X1+X6
SA6 S+6 SET RANDOM ADDRESS FOR READ
SA1 X2+B1 READ FIRST
SX6 X1
SA6 A1+B1 IN = FIRST
SA6 A6+B1 OUT = FIRST
READ X2 BEGIN READ
ZR X3,PDFX IF READ BEGINS ON PRU BOUNDARY
READW X2,PDFA,X3 READ TO DESIRED WORD
JP PDFX EXIT
PDFA BSS 64 GARBAGE BUFFER
PDP SPACE 4,9
** PDP - PRINT DAYFILE POINTERS.
*
* ENTRY (GDBC) = MEMORY ADDRESS OF POINTERS.
* DAYFILE BUFFER POINTERS STORED IN TABLE *TSC1*.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS PMD.
PDP SUBR
SA1 F.TSC1
SA2 F.TCMT
BX6 X1
SA6 PDPA+2 SET CORE ADDRESS OF POINTERS
SA1 GDBC GET ADDRESS OF POINTERS
BX6 X1
SX2 3
SA6 PDPA SET FWA
IX6 X6+X2 FORM LWA+1
SA6 A6+B1
SB2 A6-B1
RJ PMD PROCESS MEMORY DUMP
JP PDPX EXIT
PDPA BSS 0 DUMP PARAMETERS
CON 0 FWA
CON 0 LWA+1
CON 0 CORE ADDRESS
CON 1 NO SUPPRESS FLAG
CON 1 *D* FORMAT CODE
CON 3 COLUMN LENGTH
CON 0 INVERTED ADDRESS
PEC SPACE 4,10
** PEC - PRINT EIGHT CONTROL POINTS.
*
* ENTRY (X5) = CONTROL POINT AREA POINTER.
* (LW) = LWA+1 OF CPA/PCPA.
* (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
*
* EXIT (X5) = UPDATED CONTROL POINT AREA POINTER.
*
* USES X - ALL.
* A - 1, 2, 4, 6.
* B - 2, 3, 4, 5, 6, 7.
*
* CALLS CTS, POM, SBL, UPS.
*
* MACROS GETCM, PRINT.
PEC SUBR
SB2 X5 CONTROL POINT AREA ADDRESS
SB7 PRBF PRINT STRING ADDRESS
SB3 B2+8*CPLEN LIMIT ADDRESS
SA1 LW
SB4 X1 LWA+1 OF CONTROL POINT AREA
* PRINT CONTROL POINT NUMBERS.
PEC1 SA2 =10HCP
SB6 3
SA1 OP
ZR X1,PEC1.1 IF NOT DUMPING PCPA-S
SA2 =10HPCP
PEC1.1 RJ UPS UNPACK STRING
SX1 B2
SA2 OP
IX1 X1-X2 SUBTRACT OFF PCPA OFFSET
LX1 -13
SB6 2
RJ CTS SET CONTROL POINT NUMBER
SB6 4
RJ SBL SPACE 4
SB2 B2+CPLEN ADVANCE CONTROL POINT ADDRESS
GE,B2,B3,PEC2 IF END OF LINE
LT B2,B4,PEC1 IF MORE CONTROL POINTS TO PROCESS
PEC2 PRINT PRBF,B7-PRBF
* PRINT JOB SEQUENCE NUMBERS.
SB7 PRBF PRESET PRINT STRING ADDRESS
SB2 X5+ SET CONTROL POINT AREA ADDRESS
SX6 B2+8*CPLEN SET CONTROL POINT AREA LIMIT ADDRESS
SA6 PECB
SA1 LW SET CONTROL POINT AREA LWA+1
BX6 X1
SA6 PECA
SB4 X6
PEC3 SA4 F.TCMT READ EJT ORDINAL
SX2 X4+B2
SA2 X2+TFSW
MX3 12 SET EJT ORDINAL MASK
BX2 X3*X2
NZ X2,PEC3.1 IF CONTROL POINT ACTIVE
SB6 9 SPACE 9 IF CONTROL POINT NOT ACTIVE
SB5 B2+CPLEN
LT B5,B4,PEC4 IF NOT SYSTEM CONTROL POINT
PEC3.1 SA1 X4+EJTP GET FWA EJT
MX0 24
BX1 X0*X1
LX1 24
LX2 12 FIND EJT ENTRY ADDRESS
SX6 EJTE
IX2 X2*X6
IX6 X2+X1 SET ADDRESS INTO DUMP FILE
SA6 CPRA
SA0 B2+ SAVE CONTROL POINT AREA ADDRESS
SX0 B7 SAVE PRINT STRING ADDRESS
SB2 A6
RJ POM
GETCM READ FIRST WORD OF EJT ENTRY
SB7 X0+ RESTORE PRINT STRING ADDRESS
MX0 24
BX2 X0*X6 SET JOB SEQUENCE NUMBER
SB6 4
RJ UPS
SB2 A0+ RESTORE CONTROL POINT AREA ADDRESS
SB6 5 SPACE 5
PEC4 RJ SBL
SB2 B2+CPLEN
SA4 PECB GET CONTROL POINT AREA LIMIT ADDRESS
SA2 PECA GET CONTROL POINT AREA LWA+1
SB4 X2
SB3 X4
GE B2,B3,PEC5 IF END OF LINE
LT B2,B4,PEC3 IF MORE CONTROL POINTS
PEC5 PRINT PRBF,B7-PRBF
* PRINT CONTROL POINT AREA ADDRESS.
SB7 PRBF RESET PRINT STRING ADDRESS
SA1 LW
SB2 X5 CONTROL POINT AREA ADDRESS
SB3 B2+8*CPLEN LIMIT ADDRESS FOR THIS LINE
SB4 X1 CONTROL POINT AREA LWA+1
SB5 -4 -(ADDRESS DIGIT COUNT)
SA2 OP
ZR X2,PEC6 IF NOT DUMPING PCPA-S
SB5 -5
PEC6 SX1 B2
SB6 B5+60
LX1 B6 SHIFT ADDRESS
SB2 B2+CPLEN ADVANCE CPA/PCPA ADDRESS
LX1 B6
LX1 B6
SB6 -B5
RJ CTS CONVERT ADDRESS
SB6 B5+9
RJ SBL SPACE TO NEXT CPA/PCPA
GE B2,B3,PEC7 IF END OF LINE
LT B2,B4,PEC6 IF MORE CONTROL POINTS
PEC7 SX5 B2+ UPDATE CONTROL POINT AREA ADDRESS
PRINT PRBF,B7-PRBF
JP PECX EXIT
PECA BSS 1 SAVED CONTROL POINT AREA ADDRESS
PECB BSS 1 SAVED CONTROL POINT AREA LIMIT ADDRESS
PEN SPACE 4,12
** PEN - PRINT BUFFERED DEVICE TABLE ENTRY NUMBER.
*
* ENTRY (X1) = ENTRY NUMBER, LEFT-JUSTIFIED.
* (X2) = TABLE NAME IN DISPLAY CODE, LEFT-JUSTIFIED
* AND SPACE-FILLED.
* (B6) = TABLE NAME CHARACTER COUNT.
*
* USES B - 6, 7.
*
* CALLS CTS, UPS.
*
* MACROS PRINT.
PEN SUBR ENTRY/EXIT
SB7 PRBF
RJ UPS STORE TABLE NAME IN STRING BUFFER
SB6 4
RJ CTS STORE ENTRY NUMBER IN STRING BUFFER
PRINT CCCH,B7-CCCH
PRINT (=2C )
EQ PENX RETURN
PER SPACE 4,7
** PER - PROCESS ERROR EXIT.
*
* ENTRY (RPVB+7) = ERROR EXIT INFORMATION.
*
* EXIT IF AN ARITHMETIC ERROR IS ENCOUNTERED,
* PROCESSING IS RESUMED AT *ERR19.1*. IF
* ANY OTHER ERROR IS ENCOUNTERED *DSDI*
* IS ABORTED AND THE ERROR IS REPORTED.
*
* USES X - 0, 1, 2, 3, 6, 7.
* A - 1, 2, 6, 7.
*
* MACROS REPRIEVE.
PER SA2 RPVB+7 ERROR FLAG
MX0 -12
BX3 -X0*X2 EXTRACT ERROR FLAG
SX3 X3-ARET
ZR X3,PER1 IF ARITHMETIC ERROR
REPRIEVE RPVB,RESET,001
PER1 SA1 PERA RESTORE REPRIEVE BLOCK
SA2 A1+B1
BX6 X1
BX7 X2
SA6 RPVB
SA7 A6+B1
REPRIEVE RPVB,SET,001
EQ ERR19.1 * BAD SYSTEM POINTER.*
PERA VFD 36/0,12/31B,12/0
VFD 30/0,30/PER
PFS SPACE 4,9
** PFS - PRINT FILE SUMMARY.
*
* ENTRY FILE INFORMATION IS AT *GNFA*.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS ATC,CTS,FDW,PTC,SDI,SSB,UPS,WOF.
PFS SUBR
RJ SSB CLEAR PRINT STRING
SA2 =10HFNT -FUT -
SB6 5
SB7 PRBF+24
RJ UPS SET HEADER INFORMATION
SB6 5
SB7 PRBF+74
RJ UPS
* SET FILE ORDINAL.
SA1 GNFA
SB6 4
SB7 PRBF+3
LX1 -12
RJ CTS
* SET FILE NAME.
SA2 GNFA+1
SB6 7
SB7 PRBF+9
RJ UPS
* SET FILE TYPE.
LX2 6
MX1 6
BX2 X1*X2
LX2 6 TYPE CODE
SX3 5 CALCULATE WORD ORDINAL
BX4 X2
SX7 X3
IX0 X2/X3
IX3 X0*X7
SA1 PFSA+X0 GET WORD IN FILE TYPE MICRO
IX4 X4-X3 CALCULATE SHIFT COUNT
SX3 12
MX0 12
IX4 X3*X4
SB2 X4+
LX1 X1,B2
BX2 X0*X1
SB6 2
SB7 PRBF+18
RJ UPS
* SET FNT.
SA1 GNFA+1
SB7 PRBF+30
SA2 =4000005B FORMAT CONTROL
RJ FDW
BX2 X1
SB6 10
RJ SDI
* SET FUT.
SA1 GNFA+3
SB7 PRBF+80
SA2 =4000005B FORMAT CONTROL
RJ FDW
BX2 X1
SB6 10
RJ SDI
PRINT CCCH,B7-CCCH
* LINE 2.
RJ SSB CLEAR PRINT STRING
SA2 =10HFST -EST -
SB6 5
SB7 PRBF+24
RJ UPS
SB6 5
SB7 PRBF+74
RJ UPS
* SET FST.
SA1 GNFA+2
SB7 PRBF+30
SA2 =4000005B FORMAT CONTROL
RJ FDW
BX2 X1
SB6 10
RJ SDI
* SET EST ADDRESS.
SA1 GNFA+4
LX1 -18
SB6 6
SB7 PRBF+80
RJ CTS
* SET EST.
SA1 GNFA+5
SB7 B7+2
SA2 =4000005B FORMAT CONTROL
RJ FDW
BX2 X1
SB6 10
RJ SDI
PRINT CCCH,B7-CCCH
SA1 GNFA+5
PL X1,PFS1 IF NOT MASS STORAGE
PRINT (=C* TRACK CHAIN -*)
RJ ATC ASSEMBLE TRACK CHAIN
RJ PTC PRINT TRACK CHAIN
PFS1 PRINT (=2C )
JP PFSX EXIT
PFSA DATA H*"NMFT"* FILE TYPE NAMES
PIO SPACE 4,5
** PIO - PRESET INPUT AND OUTPUT FILES.
*
* USES ALL REGISTERS.
*
* CALLS CIO=,RSP,STF,WNB=.
PIO SUBR
* CHECK OUTPUT FILE.
SX2 L
RJ STF CHECK IF TERMINAL
NZ X6,PIO1 IF NOT A TERMINAL
SA1 =0LOUTPUT
BX6 X1+X2
SA6 B1+B1 SET OUTPUT FILE FET POINTER
SX6 15B
BX6 X1+X6
SA6 X2 SET NON-BUSY WRITE CODE IN FET
SX6 1R
SA6 CCCH SET CARRIAGE CONTROL CHARACTER
SX6 1
SA6 TF SET TERMINAL OUTPUT FLAG
JP PIO2 PROCESS INPUT FILE
PIO1 SA1 PRSB
RJ RSP RESET PRINT DENSITY
* PRESET INPUT FILE.
PIO2 SA1 ZF
NZ X1,PIOX IF DIRECTIVES ON COMMAND
SA4 I
ZR X4,PIOX IF ZERO FET
SX2 A4
RJ STF CHECK IF TERMINAL
NZ X6,PIO3 IF NOT A TERMINAL
SA1 TF
ZR X1,PIO3 IF OUTPUT NOT TO A TERMINAL
PRINT (=C*ENTER DIRECTIVES--*)
PIO3 RECALL I
READ X2 BEGIN INPUT READ
JP PIOX EXIT
PKS SPACE 4,11
** PKS - PACK CHARACTERS FROM STRING BUFFER.
*
* ENTRY B2 = FWA OF STRING BUFFER.
* B6 = NUMBER OF CHARACTERS TO PACK.
* B7 = FWA OF PACKED BUFFER.
*
* EXIT B2 AND B7 ARE UPDATED.
*
* USES X - 1,6.
* B - 2,5,6,7.
* A - 1,6.
PKS SUBR
PKS1 SX6 0 CLEAR ASSEMBLY
SB5 60 LEFT JUSTIFICATION SHIFT COUNT
PKS2 SA1 B2 READ STRING
LX6 6
SB6 B6-1 COUNT CHARACTER
SB2 B2+B1 ADVANCE STRING POINTER
SB5 B5-6 DECREASE SHIFT COUNT
BX6 X6+X1 MERGE NEW CHARACTER
ZR B5,PKS3 IF FULL WORD ASSEMBLED
NZ B6,PKS2 IF MORE CHARACTERS TO PACK
PKS3 LX6 X6,B5 LEFT JUSTIFY LAST WORD
SA6 B7 STORE PACKED DATA
SB7 B7+1 ADVANCE OUTPUT POINTER
NZ B6,PKS1 IF MORE CHARACTERS TO PACK
JP PKSX EXIT
PMD SPACE 4,36
** PMD - PROCESS MEMORY DUMP.
*
* ENTRY B2 = DUMP PARAMETER BLOCK ADDRESS.
*
* PARAMETER BLOCK FORMAT -
*
*T WORD0 60/FWA OF DUMP
*T WORD1 60/LWA+1 OF DUMP
*T WORD2 60/CORE ADDRESS
*T WORD3 60/NO SUPPRESS FLAG
*T WORD4 60/FORMAT CODE
*T WORD5 60/COLUMN LENGTH
*T WORD6 60/INVERTED ADDRESS
*
* WHERE -
*
* CORE ADDRESS = ADDRESS OF DATA IF DUMPING FROM MEMORY.
* = 0 IF DUMPING FROM DUMP FILE.
*
* NO SUPPRESS FLAG = 0 TO SUPPRESS REPEAT DATA.
* .NE.0 IF NO SUPPRESSION REQUESTED.
*
* FORMAT CODE = 0 FOR *C* FORMAT.
* = 1 FOR *D* FORMAT.
* = 2 FOR *E* FORMAT.
*
* COLUMN LENGTH = 0 - COMPUTE COLUMN LENGTH.
* = L - FORCE COLUMNS TO BE L WORDS LONG.
* INVERTED ADDRESS USED TO INDICATE ADDRESS ON
* THE DUMP SHOULD DECREMENT.
*
* EXIT INPUT PARAMETER BLOCK NOT UPDATED.
* B2 = ADDRESS OF UPDATED PARAMETER BLOCK.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS CTS, FPB, PPB, SDI, SRD, SSB.
*
* MACROS GETCM, MOVE, PRINT.
PMD SUBR
MOVE 7,B2,PMDB MOVE PARAMETER BLOCK
RJ SSB SPACEFILL STRING BUFFER
MX6 1
SA6 SRDA PRESET FIRST CALL TO *SRD*
SA1 PMDB+4 FORMAT CODE
SB2 X1+
JP B2+PMDA EXECUTE SELECTED PROCESSOR
PMDA BSS 0
LOC 0
+ JP PMD1 *C* FORMAT
+ JP PMD1 *D* FORMAT
+ JP PMD2 *E* FORMAT
LOC *O
* PROCESS C AND D FORMAT.
PMD1 SB2 PMDB
RJ FPB FILL PAGE BUFFER
SB2 PMDB
RJ PPB PRINT PAGE BUFFER
SA1 PMDB FWA
SA2 A1+B1 LWA+1
IX2 X1-X2
NG X2,PMD1 IF MORE TO DUMP
SB2 PMDB
JP PMDX EXIT
* PROCESS E FORMAT.
PMD2 SA1 PMDB+2
NZ X1,PMD3 IF DUMPING FROM CORE
GETCM BUF,4
SX1 BUF SET DATA ADDRESS
PMD3 SA2 PMDB+3
NZ X2,PMD4 IF NO SUPPRESS REQUESTED
SB5 4 WORD COUNT
RJ SRD SENSE REPEAT DATA
NZ X1,PMD7 IF REPEAT SENSED
PMD4 SA1 PMDB+6
NZ X1,PMD4.1 IF INVERTED ADDRESS TO BE USED
SA1 PMDB GET NORMAL ADDRESS
PMD4.1 LX1 -24 LEFT JUSTIFY BINARY DIGITS
SB6 8 NUMBER OF DIGITS
SB7 PRBF
RJ CTS CONVERT ADDRESS
SA1 PMDB+2
SB7 B7+1
NZ X1,PMD5 IF DUMPING FROM CORE
SX1 BUF
PMD5 SA1 X1+ READ FIRST DATA WORD
SB2 4 WORD COUNT
PMD6 SB6 20
RJ CTS CONVERT DATA WORD
SB7 B7+1
SA1 A1+B1
SB2 B2-B1
NZ B2,PMD6 IF MORE TO DUMP
SA2 A1-4
SB6 40
RJ SDI SET DISPLAY CODE INTERPRETATION
PRINT CCCH,B7-CCCH
PMD7 SA1 PMDB+2
ZR X1,PMD8 IF DUMPING FROM FILE
SX6 X1+4
SA6 A1+ UPDATE CORE ADDRESS
PMD8 SA1 PMDB+6
SX6 4
ZR X1,PMD9 IF NO INVERTED ADDRESS
IX7 X1-X6
SA7 A1
PMD9 SA1 PMDB
IX6 X1+X6
SA6 A1 UPDATE ADDRESS
SA2 A1+B1 LWA+1
IX6 X6-X2
NG X6,PMD2 IF MORE TO DUMP
SB2 PMDB UPDATED PARAMETER BLOCK ADDRESS
JP PMDX EXIT
PMDB BSS 7 DUMP PARAMETER BLOCK
PNF SPACE 4,15
** PNF - PRINT NEGATIVE FL AREA.
*
* ENTRY (X3) = NEGATIVE FIELD LENGTH ORDINAL OF LWA+1.
* (X0) = NEGATIVE FIELD LENGTH ORDINAL OF FWA.
* (RC) = RA OF CONTROL POINT.
* (L.TNFL) = NFL OF CONTROL POINT.
* TABLE *TNFL* CONTAINS NFL MEMORY.
*
* USES DCGA - DCGA+6.
* X - 1, 2, 6, 7.
* A - 1, 2, 6, 7.
* B - 2.
*
* CALLS PMD.
PNF SUBR ENTRY/EXIT
SA1 RC GET RA
SA2 L.TNFL GET NFL
IX7 X1-X0 FORM ABSOLUTE FWA
IX6 X1-X3 FORM ABSOLUTE LWA+1.
SA7 DCGA
SA6 A7+B1
SA1 F.TNFL GET BASE ADDRESS OF DATA
IX7 X2-X0 FORM INDEX
IX7 X1+X7 FORM ADDRESS OF DATA IN CORE
SA7 A6+B1
SB2 A6-B1 SET BASE ADDRESS OF DUMP PARAMETERS
BX7 X0 SAVE INVERTED ADDRESS
SA7 DCGA+6
RJ PMD PROCESS DUMP
JP PNFX RETURN
POM SPACE 4,10
** POM - POSITION CM/EXTENDED MEMORY.
*
* ENTRY MI = MEMORY BLOCK RANDOM INDEX.
* B2 = ADDRESS OF DUMP PARAMETER BLOCK.
*
* SAVES X - 0,5.
* B - 1.
* A - 0,5.
*
* CALLS PCM.
POM SUBR
SA1 MI
BX6 X1
SA1 B2 FWA OF DUMP
SA6 RI SET RANDOM INDEX FOR CURRENT MEMORY BLOCK
SA2 MB MEMORY BASE ADDRESS
IX3 X1+X2
SA2 BA RA OF DUMP
IX3 X3+X2
RJ PCM POSITION DUMP FILE
JP POMX EXIT
PPB SPACE 4,11
** PPB - PRINT PAGE BUFFER.
*
* ENTRY X1 = BUFFER LENGTH.
* B2 = DUMP PARAMETER BLOCK ADDRESS.
* PAGE BUFFER IS AT *BUF*.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS CTS,FDW,SDI,UPS,WOF.
PPB SUBR
SX6 BUF
IX7 X6+X1
SA6 PPBA SAVE PAGE BUFFER FWA
SA4 B2+5 COLUMN LENGTH
ZR X4,PPB1 IF COLUMN LENGTH NOT SPECIFIED
LX6 X4,B1
JP PPB2 SET ROW INCREMENT
PPB1 SX2 6 COMPUTE ROW INCREMENT = 2*(WORDS+2)/3
SX1 X1+4
IX6 X1/X2
LX6 1
PPB2 SA6 A6+B1 SAVE PRINT ROW INCREMENT
SA7 A6+B1 SAVE PRINT BUFFER LWA+1
SA5 B2+4 FORMAT CODE
SA5 X5+PPBB FORMAT CONTROL PARAMETERS
* FORMAT ONE ROW.
PPB3 SA1 PPBA
SA3 A1+B1 ROW INCREMENT
SA2 A3+B1
SB3 X1 SET BUFFER POINTER
SB4 X2 BUFFER LWA+1
SX4 3 LOOP COUNT
SB7 PRBF PRINT STRING ADDRESS
* PROCESS ONE WORD.
PPB4 LT B3,B4,PPB5 IF NOT BEYOND END OF BUFFER
SA2 =50H
JP PPB6 BLANK THIS PORTION OF PRINT LINE
PPB5 SA1 B3+ READ PAGE BUFFER ENTRY
PL X1,PPB7 IF VALID DATA
SA2 =50H-------------------------------------------
PPB6 SB6 X5+39 NUMBER OF CHARACTERS
RJ UPS STORE REPEAT DATA INDICATOR IN PRINT LINE
JP PPB8 PROCESS NEXT WORD
* FORMAT DATA WORD.
PPB7 SB6 8 NUMBER OF DIGITS
LX1 -24 LEFT JUSTIFY BINARY DIGITS
RJ CTS CONVERT ADDRESS TO PRINT STRING
SX6 1R
SA6 B7
SB7 B7+B1 SPACE ONE
SA1 A1+B1 READ DATA WORD
BX2 X5 SET FORMAT CONTROL
RJ FDW FORMAT DATA WORD
SB6 10
BX2 X1 SET DATA WORD FOR *SDI*
RJ SDI SET DISPLAY CODE INTERPRETATION
PPB8 SB3 B3+X3 ADVANCE PAGE BUFFER ADDRESS
SB7 B7+2 SPACE 2
SX4 X4-1
NZ X4,PPB4 IF MORE TO FORMAT IN THIS ROW
PRINT CCCH,B7-CCCH-2
SA1 PPBA ADVANCE PAGE BUFFER POINTER
SA2 A1+1
SX2 X2+BUF LWA+1 OF END OF FIRST COLUMN
SX6 X1+2
SA6 A1 UPDATE POINTER
IX7 X6-X2
NG X7,PPB3 IF MORE TO DUMP
JP PPBX EXIT
PPBA BSS 1 PAGE BUFFER POINTER
BSS 1 PAGE ROW INCREMENT
BSS 1 PAGE BUFFER LWA+1
PPBB BSS 0 FORMAT CONTROL PARAMETERS
VFD 24/0,18/5,18/4 *C* FORMAT
VFD 24/0,18/4,18/5 *D* FORMAT
PPE SPACE 4,10
** PPE - PROCESS PREMATURE EOF.
*
* ENTRY TO *PPE* TO END CURRENT RECORD AND ISSUE MESSAGE.
* TO *PPE1* TO ISSUE MESSAGE ONLY.
*
* EXIT TO *RBI2*.
*
* CALLS ERS.
*
* MACROS MESSAGE.
PPE BSS 0 ENTRY
RJ ERS END RECORD ON FILE *S*
PPE1 MESSAGE MSG5,,R * WARNING - INCOMPLETE DUMP FILE.*
EQ RBI2 READ NEXT RECORD
PPO SPACE 4,20
** PPO - PACK PP OPERATING REGISTERS.
*
* ENTRY (PP) = PP NUMBER.
*
* EXIT (X6) = 0 IF NO REGISTERS FOUND.
* (PPOB - PPOB+7) = REGISTERS CAPTURED AT TIME OF DUMP,
* BEFORE AND AFTER AN *IDLE* WAS ISSUED TO THE PP/CPP
* (I4A OR I4S IOU ONLY).
* (PPOB+8 - PPOB+15) = REGISTERS CAPTURED BY *DFT*.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 6, 7.
* B - 6, 7.
*
* CALLS CPN, DRA, FBP, GDA, NXB, RDR, RPB.
*
* MACROS MOVE.
PPO3 RJ GDA GET DFT/OS BUFFER FWA
BX6 X5
ZR X3,PPOX IF NO DFT/OS BUFFER
SA2 X3 GET DFT CONTROL WORD
MX0 4
BX2 X0*X2 GET NUMBER OF POINTER WORDS
SA1 CI SET RANDOM INDEX OF CM RECORD
BX7 X1
LX2 4
SX2 X2-/DFT/DFPR-1
NG X2,PPOX IF NO PP REGISTERS POINTER WORD
SA7 RI
SA3 X3+/DFT/DFPR
RJ DRA GET PP REGISTER DATA POINTER
SX6 X6+B1 SKIP HEADER WORD
SA2 PPOA GET PP/CPP NUMBER
LX2 2
IX3 X6+X2 PP REGISTER DATA FWA
LX3 2 CONVERT TO BYTE NUMBER
RJ FBP FIND BYTE POSITION
SB6 PPOB+8-1
SB7 7
PPO4 RJ NXB GET NEXT REGISTER
LX1 16
BX5 X1
RJ NXB
BX7 X5+X1
SB6 B6+B1
SA7 B6
SB7 B7-B1
PL B7,PPO4 IF NOT THROUGH GETTING REGISTERS
SX6 1 SET REGISTER DATA FOUND
PPO SUBR ENTRY/EXIT
SX5 0 SET NO REGISTER DATA FOUND
RJ CPN CONVERT PP/CPP NUMBER
SA1 .PSR
NZ X3,PPO1 IF DUMPING A CPP
SA3 TLPP+X6 CHECK FOR PP SWITCH
SX7 X3-20B
BX2 X3-X2
ZR X2,PPO1 IF NO SWITCH
BX6 X3
NG X7,PPO1 IF NOT UPPER BANK
SX6 X3-20B+12B
PPO1 SA6 PPOA SAVE LOGICAL PP NUMBER
RJ RDR READ DUMP RECORD
ZR X2,PPO3 IF RECORD NOT FOUND
SA1 RI MOVE DATA TO *PBUF*
AX1 30
MOVE X1,BUF,PBUF
SA1 PPOA CALCULATE STARTING BYTE IN RECORD
SX2 18D
IX5 X1*X2
SX0 -452452B BIT MASK FOR NUMBER OF BYTES TO READ
SB6 A1
ERRNZ PPOB-1-PPOA *PPOA* AND *PPOB* MUST BE CONTIGUOUS
SX7 B0+ CLEAR ASSEMBLY REGISTER
PPO2 BX1 X5
RJ RPB READ REGISTER BYTE
LX6 4
BX7 X7+X6
LX7 8
SX5 X5+B1 ADVANCE BYTE ADDRESS
LX0 -1
NG X0,PPO2 IF NOT THROUGH READING A REGISTER
SB6 B6+B1 STORE REGISTER
SA7 B6
BX7 X7-X7 CLEAR ASSEMBLY REGISTER
SX0 X0+
NZ X0,PPO2 IF NOT THROUGH READING ALL REGISTERS
EQ PPO3 CHECK FOR DFT BUFFER
PPOA CON 0 LOGICAL PP NUMBER
PPOB BSS 0 UNPACKED REGISTERS
DUP 16,1
CON 1S59
PRS SPACE 4,5
** PRS - PRESET PROGRAM.
*
* USES ALL REGISTERS.
*
* CALLS ARG, ZAP.
*
* MACROS DATE, REPRIEVE.
PRS SUBR
REPRIEVE RPVB,SET,001
SX6 A0+
SX1 X6-MFL=
PL X1,PRS0.0 IF SUFFICIENT FIELD LENGTH
MEMORY CM,,R,MFL=
SX6 MFL=+77B ROUND UP BY 100B
AX6 6
LX6 6
PRS0.0 SA6 FN SAVE INITIAL FIELD LENGTH
SA6 FM SET CURRENT FIELD LENGTH
SX6 X6-10B
SA6 F.TEND INITIALIZE TABLE SPACE
GETPP PRSE,PRSD,PRSC JOBS DEFAULT PRINT INFORMATION
SA1 =1LS
SA2 PRSC
BX2 X1-X2
NZ X2,PRS0 IF NOT 6 LINES PER INCH (1LS)
SA1 =1L6 SET 6 LINES PER INCH
EQ PRS0.1 SET JOBS DEFAULT PRINT DENSITY
PRS0 SA1 =1L8 SET 8 LINES PER INCH
PRS0.1 BX6 X1
SA6 PRSB JOBS DEFAULT PRINT DESITY SELECTION
SA1 ACTR
SB4 X1+ ARGUMENT COUNT
ZR B4,PRS1 IF NO ARGUMENTS
SB5 PRSA ARGUMENT TABLE ADDRESS
SA4 ARGR READ FIRST ARGUMENT
RJ ARG PROCESS COMMAND ARGUMENTS
NZ X1,ERR1 IF ARGUMENT ERROR
SA1 F
ZR X1,ERR1 IF F=0 SPECIFIED
SA1 BF
ZR X1,PRS1 IF *B* NOT SPECIFIED
SA2 B SET BML FILE NAME IN FET
MX0 -18
BX6 -X0*X2
BX6 X1+X6
SA6 A2
SA6 EB SET EMPTY BML FILE FLAG
SA1 BD
NZ X1,ERR43 IF BINARY DUMP
PRS1 SA1 ZF
ZR X1,PRS2 IF *Z* ARGUMENT NOT SELECTED
SX2 I SET INPUT FET ADDRESS
SB6 80 SET STRING BUFFER LENGTH
RJ ZAP PROCESS *Z* ARGUMENT
PRS2 DATE DATE SET DATE
SX6 1R.
SA6 CHAR+80 GUARANTEE TERMINATOR ON DIRECTIVES
SA3 BD
ZR X3,PRS3 IF NOT BINARY DUMP
SX6 1RX CHANGE CPO DIRECTIVE DEFAULT
SA1 =10H(DMB MODE) SET MODE IN HEADER
LX6 59-5
BX7 X1
SA6 CO
SA7 TITL2+2
PRS3 SA1 DR
SA2 S
MX3 42
BX6 X3*X1
ZR X6,PRSX IF NO RANDOM FILE NAME SPECIFIED
BX2 -X3*X2
BX6 X6+X2
SX7 -1
SA6 A2
SA7 A1
JP PRSX EXIT
PRSA BSS 0 COMMAND ARGUMENT TABLE
I ARG I,I
F ARG F,F
L ARG L,L
B ARG BF,BF
D ARG =1,DR
DMB ARG -=1,BD
NR ARG -=1,RBIA
FULL ARG -=1,VE
PD ARG =0L8,PRSB
P ARG -=1,PF
Z ARG -=1,ZF
VFD 60/0
PRSB CON 0 PRINT DESITY SELECTION
PRSC CON 0 PRINT DESITY FORMAT CONTROL CHARACTER
PRSD CON 0 PAGE LINE LIMIT
PRSE CON 0,0 *GETPP* REPLY BUFFER
PSM SPACE 4,10
** PSM - POSITION SIXTY-FOUR BIT MEMORY.
*
* ENTRY (B2) = POINTER TO 64-BIT MEMORY ADDRESS.
*
* EXIT *NXB* SET TO GET NEXT BYTE.
*
* USES X - 1, 2, 3, 6, 7.
* A - 1, 2, 3, 6, 7.
*
* CALLS FBP, ISM.
PSM SUBR ENTRY/EXIT
SA1 B2 64 BIT MEMORY BYTE ADDRESS
BX7 X7-X7
SA2 XB FETCH MEMORY BOUNDS
IX1 X1-X2
NG X1,PSM1 IF NOT *EI* ADDRESS
BX7 X2
PSM1 SA7 AO DETERMINE 64-BIT MEMORY RECORD
RJ ISM
SA1 XI SET CM RANDOM INDEX
BX6 X1
SA1 B2
SA6 RI
SA3 XH
IX6 X1-X3 64 BIT WORD OFFSET WITHIN RECORD
AX3 X6,B1
RJ FBP FIND BYTE POSITION
EQ PSMX RETURN
PTC SPACE 4,11
** PTC - PRINT TRACK CHAIN.
*
* ENTRY TRACK LINKS IN TABLE *TSC1* ONE PER WORD RIGHT
* JUSITIFIED. A NEGATIVE TABLE ENTRY IS AN ERROR
* MESSAGE ADDRESS.
*
* USES X - 1, 2, 3, 5.
* A - 1, 2, 3.
* B - 2, 3, 4, 6, 7.
*
* CALLS CTS, SSB.
*
* MACROS PRINT.
PTC4 BX1 -X1
PRINT X1 PRINT ERROR MESSAGE
PTC SUBR
SX5 0 PRESET TABLE INDEX
RJ SSB CLEAR PRINT STRING
PTC1 SA2 F.TSC1 LINK TABLE BASE ADDRESS
SA3 L.TSC1
SB2 X5 SET CURRENT INDEX
SB3 X3 TABLE LENGTH
GE B2,B3,PTCX IF FINISHED
SB7 PRBF+24 PRINT STRING ADDRESS
SB4 21 LOOP COUNT
PTC2 SA1 X2+B2 READ NEXT ENTRY
NG X1,PTC4 IF ERROR
LX1 -12
SB6 4
RJ CTS CONVERT TRACK LINK
SB7 B7+B1
SB2 B2+B1 ADVANCE INDEX
SB4 B4-1 LOOP COUNT
GE B2,B3,PTC3 IF END OF CHAIN REACHED
GE B4,B0,PTC2 IF MORE SPACE IN THIS LINE
PTC3 SX5 B2+ SAVE INDEX
PRINT CCCH,B7-CCCH
JP PTC1 CONTINUE
PTL SPACE 4,16
** PTL - PRINT TABLE LINE.
*
* ENTRY X1 = FORMAT TABLE POINTER.
* A1 = ADDRESS OF FORMAT TABLE POINTER.
* B2 = BASE ADDRESS OF TABLE DATA IN CORE.
* FW = BASE ADDRESS OF TABLE IN DUMP.
* B7 = PRINT STRING ADDRESS.
*
* EXIT FORMAT TABLE POINTER IS UPDATED.
* X2.LT.0 IF END OF DUMP.
*
* SAVES X - NONE.
* B - 1,2.
* A - 0.
*
* CALLS CTS,SBL,SDI,UPS.
PTL SUBR
SA2 X1+ READ FORMAT TABLE
NG X2,PTLX IF END OF DUMP
NZ X2,PTL1 IF DATA TO DUMP
SB6 68
RJ SBL BLANKFILL LINE
JP PTLX EXIT
PTL1 SX6 X1+4
SA6 A1 UPDATE FORMAT TABLE POINTER
SB3 X2 WORD ORDINAL IN TABLE
AX2 18
SB4 X2 FIRST DIGIT POSITION OF FIELD
AX2 18
SX4 X2 NUMBER OF DIGITS IN FIELD
AX2 18
ZR X2,PTL2 IF NOT INDIRECT PROCESSING
SA1 B3
SB3 X1+ WORD ORDINAL IN TABLE
PTL2 SA2 A2+1 READ FIRST WORD OF FIELD DESCRIPTION
SB6 28
RJ UPS STORE IN PRINT STRING
NZ B4,PTL3 IF NOT FIRST FIELD IN WORD
SA1 FW
SX1 X1+B3 FORM WORD ADDRESS
SB6 6
LX1 -18
RJ CTS CONVERT WORD ADDRESS
SB7 B7+B1
JP PTL4 PROCESS FIELD DATA
PTL3 SB6 7
RJ SBL BLANK OUT ADDRESS CHARACTERS
PTL4 SX5 B7+21 SAVE ADDRESS OF END OF DATA FIELD
SA1 FW
SB6 B2+B3
SA1 X1+B6 READ DATA WORD FROM TABLE
SX6 1R
SB3 B4+ SAVE FIRST DIGIT NUMBER
PTL5 ZR B4,PTL6 IF FIRST DIGIT POSITION REACHED
LX1 3 SHIFT DATA
SA6 B7 SPACEFILL TO FIRST DIGIT POSITION
SB7 B7+B1
SB4 B4-B1
EQ PTL5 CONTINUE
PTL6 SB6 X4 DIGIT COUNT FOR THIS FIELD
RJ CTS CONVERT FIELD
SB6 X5
SB6 B6-B7
RJ SBL SPACEFILL TO END OF DATA FIELD
SX2 0 PRESET FOR NO INTERPRETATION
SB6 10
NZ B3,PTL7 IF NOT FIRST FIELD OF WORD
SA2 A1+ READ DATA WORD TO INTERPRET
PTL7 RJ SDI STORE DISPLAY CODE INTERPRETATION FOR WORD
SX2 0 CLEAR END OF DUMP INDICATOR
JP PTLX EXIT
PTX SPACE 4,15
** PTX - POSITION TO EXCHANGE PACKAGE.
*
* ENTRY (B6) = LIVE EXCHANGE PACKAGE FLAG.
* 0 = USE LIVE EXCHANGE PACKAGE.
* (X3) = RADIAL MCI FLAG.
* (X6) = ADDRESS OF EXCHANGE PACKAGE.
*
* EXIT (X2) = DIRECTORY ADDRESS OF LIVE EXCHANGE PACKAGE.
* 0 = CM RESIDENT EXCHANGE PACKAGE.
* *NXB* PARAMETERS SET TO READ NEXT BYTE.
*
* USES X - 1, 2, 3, 6, 7.
* A - 1, 2, 3, 6, 7.
*
* CALLS FBP, FPR, PVM.
PTX1 SA6 PXPA SAVE SVA
RJ PVM POSITION VIRTUAL MEMORY
NZ X2,ERR30 IF PAGE NOT FOUND
PTX1.1 SA1 PTXA
SX2 0
PTX SUBR ENTRY/EXIT
SA1 S2LPS
ZR B6,PTX2 IF NO ADDRESS GIVEN
BX1 X1-X6
NZ X1,PTX1 IF NOT SAME AS LIVE EXCHANGE
SX7 B1 SET PARAMETER FLAG
SA7 PTXB
SA2 SPPB
BX7 X2
SA7 PTXC SAVE CPU NUMBER
PTX2 SA1 .PXP
BX6 X3 RADIAL MCI FLAG
RJ FPR FIND PROCESSOR RECORD
ZR X2,ERR14 IF RECORD NOT FOUND
SA3 PTXC
ZR X3,PTX4.1 IF CPU-0 EXCHANGE PACKAGE
SA2 NR
SA2 X2 CPU-1 RANDOM ADDRESS POINTER
BX3 X3-X3
PTX4.1 BX6 X2
SA6 PTXA SAVE DIRECTORY ENTRY
RJ FBP POSITION DUMP FILE
SX6 B0+
SA3 PTXB
ZR X3,PTX5 IF NO PARAMETERS
SA6 NR CLEAR NEXT EXCHANGE PACKAGE ENTRY
PTX5 SA6 PTXB CLEAR FLAG
SA3 PTXC
SA6 PTXC CLEAR FLAG
NZ X3,PTX1.1 IF CPU-1 EXCHANGE PACKAGE
SA2 PTXA DIRECTORY ENTRY
JP PTXX RETURN
PTXA DATA 0
PTXB CON 0
PTXC CON 0
PVM SPACE 4,10
** PVM - POSITION VIRTUAL MEMORY.
*
* ENTRY (X6) = SYSTEM VIRTUAL ADDRESS.
*
* EXIT (X1) = (BRMA) = BYTE REAL MEMORY ADDRESS.
* (X2) = 0, IF PAGE FOUND.
*
* USES A - 6.
* X - 2.
* B - 2.
*
* CALLS PSM, SPT.
PVM SUBR ENTRY/EXIT
SA6 BRMA SAVE POSSIBLE RMA
SB2 BRMA
RJ SPT SEARCH PAGE TABLE
NZ X2,PVMX IF PAGE NOT FOUND
SB2 BRMA
RJ PSM POSITION 64-BIT MEMORY
SX2 0
JP PVMX RETURN
PXH SPACE 4,12
** PXH - PRINT PPU XP HEADING.
*
* EXIT (X1) = 0 IF NO MORE XP-S TO PROCESS.
* (X5) = 0 IF ONLY ONE XP TO PROCESS.
*
* USES X - 1, 5.
* B - 7.
*
* CALLS CPS, SXH.
*
* MACROS PRINT.
PXH SUBR
SB7 PRBF SET PRINT STRING ADDRESS
RJ SXH SET LEFT HEADING
ZR X1,PXHX IF NO MORE XPS TO PROCESS
SX1 20
RJ CPS CHECK PAGE SPACE
PRINT (=2C )
SB7 PRBF+45
RJ SXH SET RIGHT HEADING
NZ X1,PXH1 IF BOTH XPS ARE PRESENT
SX5 B0 SET ONE XP FLAG
PXH1 PRINT CCCH,B7-CCCH
PRINT (=2C )
SX1 1 ENSURE X1 NON-ZERO
JP PXHX EXIT
PXM SPACE 4,20
** PXM - PRINT MULTIPLE EXCHANGE PACKAGES.
*
* PRINT A PAIR OF EXCHANGE PACKAGES WITH THE HEADER
* POINTED TO BY THE CONTENTS OF X1.
*
* ENTRY (X1) = EXCHANGE PACKAGE HEADER ADDRESS.
* (PXMM) = PRINT 1 XP FLAG
* (B2) = DATA BUFFER OFFSET.
* (CPRA) = ADDRESS OF FIRST EXCHANGE PACKAGE.
* XP DATA IS IN *BUF*.
*
* EXIT CPRA IS UPDATED.
* (PXMM) = 0.
* (PXMP) = 0.
*
* USES ALL REGISTERS.
*
* CALLS CPS,CTS,FXW,SSB,UPS,WOF.
PXM SUBR
SX7 X1+ SAVE HEADER ADDRESS
SA7 PXME
SX6 BUF+B2
SA6 PXMB SET EXCHANGE PACKAGE DATA ADDRESS
* PRINT HEADINGS.
SX1 20
RJ CPS CHECK REMAINING PAGE SPACE
RJ SSB CLEAR PRINT STRING
SA2 PXME
SA2 X2+ READ FIRST WORD OF HEADER
SB6 90
SB7 PRBF
RJ UPS SET HEADING
* SET EXCHANGE PACKAGE ADDRESSES.
SA1 CPRA
LX1 -15
SB6 5
SB7 PRBF
RJ CTS CONVERT ADDRESS
SA2 PXMM
NZ X2,PXM0 IF ONLY 1 XP
SX1 X1+20B ADVANCE FOR SECOND PACKAGE
LX1 -15
SB6 5
SB7 PRBF+45
RJ CTS
PXM0 SX6 X1+20B
SA6 CPRA UPDATE XP ADDRESS
PRINT (=2C )
PRINT CCCH,90
PRINT (=2C )
* FORMAT TWO EXCHANGE PACKAGES.
SX6 0
SA6 PXMA CLEAR LINE INDEX
SA5 PXMB
SA5 X5+ READ FIRST XP WORD
PXM1 RJ SSB CLEAR PRINT STRING
SB7 PRBF+1
SA1 PXMA LINE INDEX
RJ FXW FORMAT EXCHANGE PACKAGE WORD
SA2 PXMM
NZ X2,PXM1.1 IF ONLY 1 XP
SA5 A5+17B ADVANCE TO NEXT EXCHANGE PACKAGE
SA1 PXMA LINE INDEX
SB7 PRBF+46
RJ FXW
SA5 A5-20B
PXM1.1 PRINT CCCH,B7-CCCH
SA1 PXMA
SX6 X1+B1
SA6 A1 ADVANCE LINE INDEX
SX7 X6-10B
NZ X7,PXM2 IF NOT END OF A AND B REGISTERS
PRINT (=2C )
PXM2 SA1 PXMA
SX1 X1-20B
NG X1,PXM1 IF MORE LINES TO FORMAT
BX6 X6-X6
SA6 PXMM CLEAR 1 XP FLAG
JP PXMX EXIT
PXMA BSS 1 EXCHANGE PACKAGE LINE INDEX
PXMB BSS 1 EXCHANGE PACKAGE DATA ADDRESS
PXMM CON 0 PRINT 1 XP FLAG
PXMC CON =90H - PP MONITOR XP
,- BREAKPOINT / HANG XP
PXMN CON =90H - IDLE 0 XP
,
PXMO CON =90H - IDLE 1 XP
,
PXMD CON =90H - CPU DEADSTART XP
,- REAL TIME CLOCK XP
PXMF CON =90H - ERROR EXIT XP
,- UNUSED XP
PXME CON 0 EXCHANGE PACKAGE HEADER ADDRESS
PXMG CON =90H - CHANNEL 2 INPUT XP
,- CHANNEL 2 OUTPUT XP
PXMH CON =90H - CHANNEL 3 INPUT XP
,- CHANNEL 3 OUTPUT XP
PXMI CON =90H - CHANNEL 4 INPUT XP
,- CHANNEL 4 OUTPUT XP
PXMJ CON =90H - CHANNEL 5 INPUT XP
,- CHANNEL 5 OUTPUT XP
PXMK CON =90H - CHANNEL 6 INPUT XP
,- CHANNEL 6 OUTPUT XP
PXML CON =90H - CHANNEL 7 INPUT XP
,- CHANNEL 7 OUTPUT XP
PXP SPACE 4,8
** PXP - PRINT PPU EXCHANGE PACKAGES.
*
* ENTRY CPRA = XP ADDRESS.
*
* USES ALL REGISTERS.
*
* CALLS FXW,PXH,SSB,WOF.
PXP SUBR
SX7 BUF PRESET PP EXCHANGE PACKAGE ADDRESS
SA7 FW
SX6 1
SA6 PP CLEAR PPU NUMBER
SA5 X7+ READ FIRST EXCHANGE PACKAGE WORD
PXP1 RJ PXH PRINT XP HEADING
ZR X1,PXPX IF NO MORE TO DUMP
NZ X5,PXP1.1 IF ONLY ONE XP LEFT
BX6 X5
SA6 PXPB
PXP1.1 SX6 0
SA6 PXPA CLEAR XP LINE INDEX
PXP2 SA1 PXPA
RJ SSB CLEAR PRINT STRING
SB7 PRBF+1
RJ FXW FORMAT LEFT XP
SA1 PXPB
ZR X1,PXP2.1 IF AT LAST XP
SA5 A5+20B READ DATA FROM NEXT XP
SA1 PXPA
SB7 PRBF+46
RJ FXW FORMAT RIGHT XP
SA5 A5-21B RESET FOR PREVIOUS XP
PXP2.1 PRINT CCCH,B7-CCCH
SA1 PXPA
SX6 X1+B1
SA6 A1 ADVANCE LINE INDEX
SX6 X6-10B
NZ X6,PXP3 IF NOT END OF A AND B REGISTERS
PRINT (=2C )
PXP3 SA1 PXPA
SX1 X1-20B
NG X1,PXP2 IF MORE LINES
SA5 A5+22B ADVANCE TO NEXT XP PAIR
JP PXP1 CONTINUE
PXPA BSS 1 XP LINE INDEX
PXPB CON 1 LAST XP FLAG
P4F SPACE 4,11
** P4F - PRINT FOUR BIT FLAGS.
*
* ENTRY X1 = FLAG BITS LEFT JUSTIFIED.
* B7 = PRINT STRING ADDRESS.
*
* EXIT X1 SHIFTED LEFT FOUR PLACES.
* B7 IS UPDATED.
*
* USES X - 1,6.
* B - 5,7.
* A - 6.
P4F SUBR
SB5 4 LOOP COUNT
P4F1 PL X1,P4F3 IF FLAG NOT SET
SX6 1R1 *ON* INDICATOR
P4F2 SA6 B7 STORE INDICATOR
SB7 B7+B1 ADVANCE PRINT STRING
SB5 B5-B1
LX1 1 SHIFT FLAGS
GT B5,B0,P4F1 IF MORE TO PRINT
JP P4FX EXIT
P4F3 SX6 1R- *OFF* INDICATOR
JP P4F2
RBC SPACE 4,15
** RBC - READ BUFFER CONTROLLER MEMORY.
*
* ENTRY DUMP FILE POSITIONED TO CORRECT WORD
*
* EXIT (X1) .EQ. 0 IF TRANSFER COMPLETE.
* .NE. 0 IF TRANSFER NOT COMPLETE.
* (X7) = 20/0,8/B1,8/B2,8/B3,8/B4,8/B5.
*
* USES X - 0, 1, 6, 7.
* B - 2.
*
* MACROS READO.
*
* NOTES THE X7 EXIT CONDITION WILL BE SET ONLY IF THE
* TRANSFER COMPLETED NORMALLY (X1 .EQ. 0). IF THE
* TRANSFER COMPLETED NORMALLY, THE DUMP FILE WILL BE
* ADVANCED TO THE NEXT WORD.
RBC SUBR ENTRY/EXIT
READO S READ NEXT WORD
NZ X1,RBCX IF TRANSFER NOT COMPLETE
MX0 -8
BX7 X7-X7 CLEAR ASSEMBLY REGISTER
SB2 5 SET LOOP COUNT
* CONVERT 8/12 FORMAT- 4/0,8/B1,4/0,8/B2 ...
RBC1 LX6 12
LX7 8
BX1 -X0*X6
BX7 X7+X1
SB2 B2-1
NZ B2,RBC1 IF WORD NOT PACKED
BX1 X1-X1 INDICATE TRANSFER COMPLETE
EQ RBCX RETURN
RBF SPACE 4,15
** RBF - READ UP TO 512 WORDS OR TO EOR FROM FILE F.
*
* EXIT (X1) = NONZERO IF EOF.
* (EOFF) = NONZERO IF EOF.
* (EORF) = NEGATIVE IF EOR.
* (BWCF) = BLOCK WORD COUNT.
* (RWCF) = RECORD WORD COUNT.
*
* USES A - 1, 2, 6, 7.
* X - 0, 1, 2, 3, 5, 6, 7.
*
* MACROS READW.
RBF SUBR ENTRY/EXIT
SA1 RBHA CHECK FOR DEFERRED HEADER
SX0 BUF ADDRESS TO READ DATA
SA2 RBFA FILE TO READ
ZR X1,RBF1 IF NO DEFERRED HEADER
SX6 B0+ CLEAR HEADER WORD COUNT
BX5 X1
SA6 A1
EQ RBF1.1 PROCESS HEADER
RBF1 READW X2,CONW,B1 READ HEADER CONTROL WORD
BX6 X1 SAVE EOF INFORMATION
SA6 EOFF
NZ X1,RBFX IF EOF
SA1 CONW COMPUTE WORD COUNT FOR PRU
SX6 5
SX3 X1+4
IX5 X3/X6
READW X2,X0,X5+B1 READ DATA PLUS TRAILER CONTROL WORD
ZR X5,RBF1 IF ZERO LENGTH PRU
RBF1.1 IX0 X0+X5 INCREMENT BUFFER ADDRESS
SA1 CONW CHECK FOR SHORT PRU (EOR)
AX1 36
SX1 X1
IX6 X5-X1
MX1 0 CLEAR EOF FLAG
NG X6,RBF2 IF SHORT PRU (EOR)
SX6 X0-BUF-512 CHECK FOR 512 WORDS READ
NG X6,RBF1 IF NOT 512 WORDS
RBF2 SA6 EORF SET/CLEAR EOR
SX7 X0-BUF NUMBER OF WORDS IN BLOCK
SA7 BWCF
EQ RBFX RETURN
RBFA CON F INITIAL FILE TO READ
BWCF CON 0 BLOCK WORD COUNT
EOFF CON 0 NONZERO IF EOF
RBH SPACE 4,15
** RBH - READ BLOCK OR HEADER RECORD.
*
* EXIT (X1) .EQ. +0, IF NOT EOF OR DEFERRED HEADER EOR.
* .NE. 0, IF EOF.
* .EQ. -0, IF EOR WITH DEFERRED HEADER.
* (EOFF) = NONZERO IF EOF.
* (EORF) = NEGATIVE IF EOR.
* = NEGATIVE ZERO IF EOR WITH DEFERRED HEADER.
* (BWCF) = BLOCK WORD COUNT.
* (RWCF) = RECORD WORD COUNT.
* (RBHA) = WORD COUNT OF DEFERRED HEADER.
*
* USES A - 1, 6, 7.
* X - 1, 6, 7.
*
* CALLS DRT, RBF.
RBH SUBR ENTRY/EXIT
RJ RBF READ BLOCK OF UP TO 512 WORDS
NZ X1,RBHX IF EOF
SA1 EORF
ZR X1,RBHX IF NOT EOR
SA1 BWCF CHECK FOR HEADER
SX6 0 PRESET FOR EXIT CONDITION
SX1 X1-4
NZ X1,RBH1 IF NOT RIGHT SIZE FOR HEADER
SA1 BUF
RJ DRT DETERMINE RECORD TYPE
ZR X4,RBH1 IF NO MATCH ON RECORD TYPE
SA1 BWCF SAVE HEADER WORD COUNT
MX6 60 SET HEADER DEFERRED STATUS
BX7 X1
SA6 EORF
SA7 RBHA
RBH1 BX1 X6 SET EXIT CONDITION
EQ RBHX RETURN
RBHA CON 0 DEFERRED HEADER WORD COUNT
RBI SPACE 4,10
** RBI - RANDOMIZE BINARY INPUT FILE.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 5, 6, 7.
*
* CALLS BPN, DRT, LDD, RBF, RDR, SFR.
*
* MACROS ADDWRD, MESSAGE, READ, READW, READCW, RECALL, RENAME,
* RETURN, REWIND, SEARCH, SETFS, WRITEF, WRITEO, WRITER,
* WRITEW.
RBI10 BX6 X1 PLACE DUMP NUMBER IN HEADER
SA6 TITL2
RBI SUBR
RJ LDD LOAD DUMP DIRECTORY
ZR X1,RBI6 IF DUMP INPUT RANDOM
* INITIALIZE FOR RANDOM FILE GENERATION.
SETFET F,ERP=E
RECALL F
SA1 DR
NG X1,RBI0 IF RANDOM FILE NAME SPECIFIED
RETURN S,R DELETE BINARY SCRATCH FILE
EQ RBI0.1 INITIATE COPY
RBI0 REWIND S,R REWIND EXISTING SCRATCH FILE, IF PRESENT
RBI0.1 MESSAGE (=C* COPYING DUMP TO RANDOM FILE.*),1,R
SA1 RBIA
NZ X1,RBI1 IF NO REWIND REQUESTED
REWIND F,R
RBI1 SA2 RBFA INITIATE READ OF INPUT FILE
READCW X2,17B
* PROCESS INPUT FILE.
RBI2 RJ RBF READ UP TO 512 WORD BLOCK
NZ X1,RBI3 IF END OF FILE
RBI2.1 SA1 BUF SET RECORD ID = 1ST WORD OF RECORD
BX7 X1
SA7 ID
RJ DRT DETERMINE RECORD TYPE
JP B3 BRANCH ON RECORD TYPE
* PROCESS END OF FILE.
RBI3 SA1 DR
ZR X1,RBI3.1 IF *D* NOT SPECIFIED
NG X1,RBI3.1 IF *D=FILE* SPECIFIED
RETURN F
RBI3.1 SX6 B0+ MAKE *PP* ENTRIES FOR ALL IOU-S
SA6 PP
RBI4 RJ BPN BUILD PP NAME
SA1 .IPP
MX0 18
LX3 42 FORM RECORD ID
SA2 PP
SX6 X2+B1
SA6 A2 INCREMENT PP NUMBER
SX2 X2-32B
ZR X2,RBI5 IF END OF POSSIBLE IOU-S
IX6 X1+X3
SEARCH TDIR,X6,X0
ZR X2,RBI4 IF IOU NOT FOUND
SA1 BPNA
SA5 A2+B1 FETCH SECOND WORD OF ENTRY
ADDWRD TDIR,X1
ADDWRD TDIR,X5
EQ RBI4 PROCESS NEXT IOU
RBI5 WRITEW S,RBIB,RBIBL WRITE 7700 TABLE
SA1 L.TDIR
SA3 =0LDUMP
BX6 X1+X3
WRITEO X2 WRITE DIRECTORY LENGTH WORD
SA1 F.TDIR
WRITEW X2,X1,X6 WRITE DIRECTORY TABLE
WRITER X2,R
WRITEF X2,R TERMINATE DUMP FILE
SA1 DR
NG X1,RBI5.1 IF *D=FILE* SPECIFIED
ZR X1,RBI6 IF *D* NOT SPECIFIED
RENAME S,F RENAME SCRATCH FILE
RBI5.1 SETFS S,0
RBI6 ADDWRD TDIR,X6-X6 TERMINATE DIRECTORY TABLE
ADDWRD A0,X6-X6
SA1 .EIC LOOK FOR *EIC* RECORD
MX0 18
SEARCH TDIR,X1,X0
ZR X2,RBI7 IF RECORD NOT FOUND
BX6 X2
SA3 A2+B1
SA6 EH SAVE RECORD HEADER
BX7 X3 SAVE RANDOM ADDRESS
SA7 A6+B1
RBI7 SA1 .MEM LOOK FOR *MEM* RECORD
SEARCH TDIR,X1,X0
ZR X2,RBI9 IF RECORD NOT FOUND
BX6 X2
SA3 A2+B1
SA6 MH SAVE RECORD HEADER
BX7 X3 SAVE RANDOM ADDRESS
SA7 A6+B1
SA1 .MMR LOCATE *MMR* RECORD
RJ RDR
ZR X2,ERR42 IF RECORD NOT FOUND
SX5 /IOU/MBRG ASSEMBLE MEMORY BOUNDS
RJ SFR
NG X1,ERR42 IF REGISTER NOT FOUND
MX0 -16
BX7 -X0*X7 UPPER BOUND
LX7 12 CONVERT TO FWA OF EI
SA7 XB
RBI9 SX6 0 CLEAR RANDOM ADDRESS IN FET
SA6 S+6
* SET EXPRESS DUMP NUMBER IN TITLE LINE.
REWIND S,R
SA1 X2+B1 RESET FET
SX6 X1
SA6 A1+B1 IN = FIRST
SA6 A6+B1 OUT = FIRST
READ X2 READ FIRST LABEL BLOCK
READW X2,BUF,4 READ DUMP HEADER
SA1 BUF+3 DUMP NUMBER FROM *EDD*
SA2 BD
NZ X2,RBI10 IF BINARY DUMP
SA2 =8R DUMP
MX3 12
BX6 X3*X1
BX6 X6+X2
LX6 18
SA6 TITL2 SET DUMP NUMBER IN HEADER
JP RBIX EXIT
RBIA CON 0 NO REWIND FLAG
RBIB DATA 77000016000000000000B
DATA 0LDUMP
BSSZ 15B
RBIBL EQU *-RBIB
CONW CON 0 HEADER CONTROL WORD
EORF VFD 1/1,59/0 EOR FLAG
RBT SPACE 4,11
** RBT - READ DATA IN BYTE FORMAT.
*
* ENTRY (A0) = NUMBER OF BYTES TO READ.
* (APPG) = PP DATA IN *PBUF* FLAG.
* (RBTA) = CURRENT BYTE NUMBER.
* (RBTA+1) = CURRENT WORD.
*
* EXIT BYTES STORED LEFT JUSTIFIED AT *BUF*.
*
* USES X - 0, 1, 5, 6, 7.
* A - 0, 1, 6, 7.
* B - 3, 4, 5.
*
* CALLS NXB.
*
* MACROS READO.
RBT9 SX7 B5
SA7 RBTA SAVE BYTE COUNTER
SA6 A7+B1 SAVE CURRENT WORD
RBT SUBR
SA1 RBTA
SB5 X1 SET CURRENT BYTE COUNTER
SA1 A1+B1
BX6 X1 SET CURRENT WORD
MX0 12
SB3 BUF
SB4 B3+A0 BUFFER LIMIT
SA1 APPG
NZ X1,RBT6 IF DATA IS IN *PBUF*
SA1 AP
NZ X1,RBT4 IF 16-BIT PP
JP RBT3 ENTER READ LOOP
* GET 12-BIT BYTES FROM FILE.
RBT1 SB5 5 RESET BYTE COUNTER
READO S READ NEXT WORD
RBT2 BX7 X0*X6
SA7 B3 STORE NEXT BYTE
SB5 B5-B1 COUNT BYTE
LX6 12
SB3 B3+1 ADVANCE BUFFER ADDRESS
EQ B3,B4,RBT9 IF NO MORE TO READ
RBT3 NZ B5,RBT2 IF NOT END OF WORD
JP RBT1 READ NEXT WORD
* GET 16-BIT BYTES FROM FILE. BYTES STORED 4 PER 64 BITS.
RBT4 SX5 A0 SAVE BYTE COUNT
SA0 BUF NEXT ADDRESS TO STORE
MX0 12 PP BYTE MASK
RBT5 RJ NXB READ NEXT IOU BYTE
LX1 59-11
BX6 X0*X1 EXTRACT PP BYTE
SA6 A0
SA0 A0+B1
SX5 X5-1
NZ X5,RBT5 IF MORE BYTES TO READ
EQ RBTX RETURN
* GET 12-BIT BYTES FROM *PBUF*.
RBT6 SA1 RBTB GET CURRENT *PBUF* ADDRESS
SA1 X1+
RBT7 NZ B5,RBT8 IF NOT END OF WORD
SA1 A1+1 READ NEXT WORD
SB5 5 RESET BYTE COUNTER
BX6 X1
RBT8 BX7 X0*X6
SB5 B5-B1 COUNT BYTE
SA7 B3 STORE NEXT BYTE
SB3 B3+B1 ADVANCE BUFFER ADDRESS
LX6 12
LT B3,B4,RBT7 IF MORE TO COPY
SX7 A1
SA7 RBTB SAVE CURRENT *PBUF* ADDRESS
EQ RBT9 RETURN
RBTA BSS 2 PARAMETER SAVE
RBTB CON 0 PBUF-1 OR LAST *PBUF* WORD READ
RCM SPACE 4,15
** RCM - READ 60-BIT CM.
*
* ENTRY (B6) = FWA OF BLOCK TO READ CM.
* (B7) = LENGTH OF BLOCK.
*
* EXIT 60-BIT CM WORDS READ FROM FILE.
*
* USES X - 1, 6.
* A - 1, 6.
* B - 5, 6, 7.
*
* CALLS RCW.
*
* MACROS READO, READW.
RCM SUBR ENTRY/EXIT
SA1 MT
NZ X1,RCM0 IF MEMORY TYPE IS ESM
SA1 AP
NZ X1,RCM2 IF ADVANCED PROCESSOR PRESENT
RCM0 ZR B6,RCM1 IF READING ONE WORD
READW S,B6,B7
EQ RCMX RETURN
RCM1 READO S
EQ RCMX RETURN
RCM2 NZ B6,RCM3 IF MULTIPLE WORD TRANSFER
RJ RCW READ CYBER WORD
EQ RCMX RETURN
RCM3 SB5 B6 SAVE CM ADDRESS
RJ RCW READ CYBER WORD
NZ X1,RCMX IF EOR
SA6 B5
SB6 B5+B1
SB7 B7-B1
NZ B7,RCM3 IF BLOCK NOT READ
EQ RCMX RETURN
RCW SPACE 4,15
** RCW - READ CYBER WORD.
*
* ENTRY UBUF CONTAINS UNPACKED 60 BIT WORDS.
* BI = INDEX INTO UBUF.
*
* EXIT (X6) = NEXT CM WORD.
* (X1) = DUMP FILE STATUS.
* UBUF UPDATED.
*
* USES X - 1, 2, 3, 6, 7.
* A - 2, 3, 6, 7.
* B - 5, 7.
*
* CALLS UPW.
RCW SUBR ENTRY/EXIT
SA3 BI
SA2 UBUF+16+X3
SX7 X3+B1
SA7 A3
MX1 0
BX6 X2
NZ X7,RCWX IF NOT END OF BUFFER
SA6 RCWA
SX6 B7
SA6 A6+B1
SX6 B5
SA6 A6+B1
RJ UPW READ AND UNPACK WORDS
SX6 -15
SA6 BI SET WORD INDEX
SA3 RCWA
SA2 A3+B1
SB7 X2
SA2 A2+B1
SB5 X2
BX6 X3
EQ RCWX RETURN
RCWA BSS 3 SAVE AREA
RDC SPACE 4,12
** RDC - READ DIRECTIVE INPUT CARD.
*
* ENTRY AF = 0 READ FROM REGULAR INPUT FILE.
* = 1 READ FROM ALTERNATE FILE TO EOR.
* = 2 READ FROM ALTERNATE FILE TO EOF.
*
* EXIT X1.NE.0 IF END OF DIRECTIVES SENSED.
* DIRECTIVE READ IN 80R1 FORMAT TO *CHAR*.
*
* USES ALL REGISTERS.
*
* CALLS CIO=,PKS,RDS=,RDO=.
RDC SUBR
SA1 AF
NZ X1,RDC3 IF READING FROM ALTERNATE INPUT
SX1 B1+ SET END OF DIRECTIVES
SA2 I
ZR X2,RDCX IF ZERO FET
RDC1 READS I,CHAR,80
NZ X1,RDCX IF END OF RECORD SENSED
RDC2 SB6 50
SB7 TITL1
SB2 CHAR
RJ PKS MOVE DIRECTIVE TO TITLE LINE
SA1 DP
SX6 X1+B1
SA6 A1 ADVANCE DIRECTIVES PROCESSED COUNTER
MX1 0
JP RDCX EXIT
RDC3 READS J,CHAR,80 READ ALTERNATE INPUT FILE
ZR X1,RDC2 IF NOT END OF RECORD
NG X1,RDC4 IF END OF FILE
SA3 AF
SX3 X3-2
NZ X3,RDC4 IF READING ONLY 1 RECORD
READ X2 READ NEXT RECORD
READO X2 READ RECORD NAME
JP RDC3 CONTINUE
RDC4 SX6 0
SA6 AF CLEAR ALTERNATE INPUT FLAG
JP RDC1 RETURN TO NORMAL INPUT FILE
RDR SPACE 4,15
** RDR - READ DUMP RECORD.
*
* ENTRY (X1) = RECORD ID TO READ.
*
* EXIT (X2) = FIRST WORD OF RECORD.
* = 0, IF RECORD NOT FOUND.
*
* USES X - 1, 2, 3, 6.
* A - 1, 2, 6.
*
* CALLS FPR, PDF.
*
* MACROS READW.
RDR SUBR ENTRY/EXIT
SX6 B0+ SET NO RADIAL MCI DISPLAY
RJ FPR FIND RECORD
ZR X2,RDRX IF RECORD NOT FOUND
BX6 X2 SAVE FIRST WORD OF TABLE ENTRY
SX3 B0
SA6 RDRA
RJ PDF POSITION DUMP FILE
SA1 RI READ MAINTENANCE REGISTERS RECORD
AX1 30
BX6 X6-X6
SA6 BUF+X1
SA6 BUF+1+X1
READW S,BUF,X1
SA2 RDRA RETURN FIRST WORD OF TABLE ENTRY
EQ RDRX RETURN
RDRA DATA 0 FIRST WORD OF DIRECTORY TABLE ENTRY
RMB SPACE 4,10
** RMB - READ MEMORY BYTES.
*
* ENTRY (X1) = SVA OF BYTES TO READ.
* (X6) = NUMBER OF WORDS OF BYTES TO READ.
*
* EXIT (BUF - BUF+X6*4-1) = 16 BIT DATA CHUNKS.
*
* USES A - 0, 2, 3, 6, 7.
* X - 4, 6.
* B - 2.
*
* CALLS CPC, NXB.
RMB SUBR ENTRY/EXIT
SA6 RMBA SAVE NUMBER OF WORDS TO READ
BX6 X1
SA6 A6+B1 SAVE CURRENT SVA
SA0 BUF+1
RMB1 SB2 RMBA+1 CHECK IF CROSSING A PAGE BOUNDARY
RJ CPC
NZ X2,ERR30 IF PAGE ENTRY NOT PRESENT
RJ NXB GET NEXT 16 BITS
BX6 X1
SA6 A0-B1
RJ NXB AND THE NEXT
BX6 X1
SA6 A0
RJ NXB AND THE NEXT
BX6 X1
SA6 A0+B1
RJ NXB AND THE LAST
SA2 RMBA FETCH SVA
SA3 A2+B1
BX6 X1
SA6 A0+2
SX6 X2-1
SX4 8
SA0 A0+4
IX7 X4+X3
SA6 A2
SA7 A3 INCREMENT SVA
NZ X2,RMB1 IF MORE WORDS TO READ
JP RMBX RETURN
RMBA BSS 2
RMR SPACE 4,15
** RMR - READ MAINTENANCE REGISTER.
*
* ENTRY (LPWA+1) = WORD OFFSET.
*
* EXIT (X1) = 0 IF END OF REGISTERS.
* (RMRA) = REGISTER LENGTH.
* (RMRB) = REGISTER NUMBER.
* (MRBF,MRBF+7) = 1ST 64 BITS OF REGISTER.
*
* USES B - 3, 4.
* A - 6, 7.
* X - 1, 7.
*
* CALLS LPW.
RMR SUBR ENTRY/EXIT
RJ LPW GET REGISTER LENGTH
ZR X1,RMRX IF END OF REGISTERS
SX7 X6
RJ LPW GET REGISTER NUMBER
SA7 RMRA
SA6 A7+B1
SB4 B0
SB3 X7
RMR1 RJ LPW GET ANOTHER 8 BITS OF REGISTER
SA6 MRBF+B4
SB4 B4+B1
MX1 1
NE B3,B4,RMR1 IF MORE BYTES TO GET
EQ RMRX RETURN
RMRA CON 0 REGISTER LENGTH
RMRB CON 0 REGISTER NUMBER
RNF SPACE 4,20
** RNF - READ NEGATIVE FL OF CONTROL POINT.
*
* ENTRY (X2) = CONTROL POINT NUMBER.
* (X1) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
*
* EXIT (RC) = RA.
* (FC) = FL.
* TABLE TNFL CONTAINS NFL DATA.
*
* ERROR TO *ERR8*, IF CONTROL POINT NUMBER IS ZERO.
*
* USES X - 1, 2, 6, 7.
* A - 1, 2, 6, 7.
* B - 2.
*
* CALLS GFL, POM.
*
* MACROS ALLOC, GETCM.
RNF SUBR ENTRY/EXIT
ZR X2,ERR8.1 IF CONTROL POINT ZERO
LX2 7
IX1 X1+X2
RJ GFL GET FL, RA
SA7 FC
SA6 RC
AX2 36 GET NFL
MX6 -12
BX6 -X6*X2
LX6 6
SA2 L.TNFL ALLOCATE SPACE FOR NFL
IX1 X6-X2
ALLOC TNFL,X1
SA1 RC POSITION DUMP FILE
SA2 L.TNFL
IX7 X1-X2
SA7 CPRA
SB2 A7
RJ POM POSITION TO CM WORD
SA2 L.TNFL LENGTH TO READ
SA1 F.TNFL BUFFER ADDRESS
ZR X2,RNFX IF NO NFL TO READ
GETCM X1,X2
EQ RNFX RETURN
RPB SPACE 4,10
** RPB - READ PPU BYTE.
*
* ENTRY X1 = PPU ADDRESS TO READ.
* PPU DATA IS AT *PBUF*.
*
* EXIT X6 = PPU BYTE READ LEFT JUSTIFIED.
*
* USES X - 1,2,3,6.
* B - 7.
* A - 2.
RPB SUBR
BX3 X1
SX2 5
IX2 X3/X2 CPU WORD ORDINAL = AD/5
SX3 5
IX3 X2*X3 COMPUTE BYTE POS = AD-(AD/5)*5
IX3 X1-X3
SX1 12
IX1 X1*X3
SB7 X1 SHIFT COUNT
MX1 12
SA2 X2+PBUF READ WORD
LX2 X2,B7 POSITION TO BYTE
BX6 X1*X2 EXTRACT BYTE
JP RPBX EXIT
RPD SPACE 4,12
** RPD - READ PPU DATA TO CORE.
*
* ENTRY (PP) = PPU NUMBER.
*
* EXIT ALL OF REQUESTED PPU STORED AT *PBUF*.
* (BPNA) = PPU NAME.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 1, 2, 3, 6.
* B - 2, 6, 7.
*
* CALLS BPN, CPD, CPN, NXB, PDF, SFN.
*
* MACROS READW, SEARCH.
RPD SUBR
RJ BPN BUILD PPU NAME
SA1 F.TCMT
SB2 X1 SET TCMT TABLE ADDRESS
MX4 24
SA1 PC GET PP COMMUNICATION AREA POINTER
RJ CPN CONVERT PP/CPP NUMBER
ZR X3,RPD1 IF *CPP* RECORDS NOT CHOSEN
MX4 30
RPD1 LX6 3
IX1 X1+X6
SA2 X1+B2
MX3 18
BX1 X3*X2 EXTRACT PROGRAM NAME
RJ SFN SPACEFILL NAME
LX6 24
SA1 BPNA+1
BX6 -X4*X6
BX6 X6+X1 MERGE PP AND PROGRAM NAMES
SA1 A1-B1 GET PP RECORD NAME
SA6 SBTL1 STORE IN SUBTITLE LINE
SEARCH TDIR,X1,X0
ZR X2,ERR7 IF NO SUCH PPU
SA1 A2+B1
BX6 X1
SA6 RI SET RANDOM ADDRESS OF REQUESTED PPU
SX3 0
RJ PDF POSITION DUMP FILE
SA3 AP
NZ X3,RPD2 IF IOU TO BE READ
READW X2,PBUF,PBUFL READ ENTIRE PPU TO CORE
JP RPDX EXIT
RPD2 RJ CPD COPY PP DATA TO BUFFER
SB7 B0 STORING INDEX INTO PBUF
MX0 -12
RPD3 SB6 5
SX5 B0+
RPD4 RJ NXB GET FIRST BYTE OF DATA
LX5 12
BX2 -X0*X1
SB6 B6-B1
BX5 X5+X2
NZ B6,RPD4 IF MORE BYTES TO COLLECT
SA1 PS BYTES IN PP (4096 OR 8192)
BX6 X5
SX5 B7+B1 WORDS MOVED
SB7 B7+B1
LX5 2
SA6 PBUF-1+B7 SAVE PP BYTES
SX6 X5+B7 BYTES MOVED
IX6 X6-X1
NG X6,RPD3 IF MORE TO MOVE
EQ RPDX RETURN
RSP SPACE 4,14
** RSP - RESET PRINT DENSITY SELECTION.
*
* ENTRY X1 = 1L3 FOR 3 LINES PER INCH.
* 1L4 FOR 4 LINES PER INCH.
* 1L6 FOR 6 LINES PER INCH.
* 1L8 FOR 8 LINES PER INCH.
*
* EXIT CCCH = 1R0 FOR 3 OR 4 LINES PER INCH.
* 1R FOR 6 OR 8 LINES PER INCH.
* PD = NUMBER OF LINES PER PAGE.
*
* USES ALL REGISTERS.
*
* CALLS WTO=.
RSP SUBR
SB2 RSPA OPTION TABLE ADDRESS
MX0 6
RSP1 SA2 B2 READ OPTION TABLE
SB2 B2+B1
ZR X2,ERR9 IF OPTION NOT IN TABLE
BX3 X1-X2
BX3 X3*X0
NZ X3,RSP1 IF NO MATCH
SX6 X2
AX2 18
NG X6,ERR9 IF VALUE UNUSABLE
ZR X6,ERR9 IF VALUE UNUSABLE
SA6 PD SET NUMBER OF LINES PER PAGE
SX6 X2+
SA6 CCCH SET CARRIAGE CONTROL CHARACTER
SA6 CC
SA1 TF
NZ X1,RSPX IF TERMINAL OUTPUT
AX2 18
SX6 X2
LX6 -18
SA2 OF
WRITEO X2 OUTPUT DENSITY SELECTION CONTROL CHAR
JP RSPX EXIT
RSPA BSS 0 PRINT DENSITY OPTION TABLE
VFD 6/1L3,18/1LS,18/1R0,18/RSPC
VFD 6/1L4,18/1LT,18/1R0,18/RSPD
VFD 6/1L6,18/1LS,18/1R ,18/RSPB
VFD 6/1L8,18/1LT,18/1R ,18/RSPE
VFD 60/0
RSPB EQU LINP-3 6 LINES PER INCH DENSITY
RSPC EQU RSPB/2 3 LINES PER INCH DENSITY
RSPD EQU RSPB*2/3 4 LINES PER INCH DENSITY
RSPE EQU RSPB*4/3 8 LINES PER INCH DENSITY
RST SPACE 4,20
** RST - READ SYSTEM TABLES.
*
* READS ALL TABLES THROUGH THE SECDED ID TABLE
* FROM THE DUMP FILE TO TABLE *TCMT*.
*
* ENTRY (PF) = 0, IF TO READ LOW CORE WORDS FROM DUMP FILE.
* ELSE, READ LOW CORE WORDS FROM RUNNING SYSTEM.
*
* EXIT (CF) = NONZERO, IF CYBER 176.
* (ME) = NUMBER OF MEMORY CONTROL TABLE (MCT) ENTRIES.
* (NC) = NUMBER OF CONTROL POINTS - 1.
* (NP) = NUMBER OF PPU-S IN SYSTEM.
* (PC) = PP COMMUNICATION AREA POINTER.
*
* USES X - 0, 1, 2, 3, 6, 7.
* A - 1, 2, 3, 6, 7.
*
* CALLS GID, PCM.
*
* MACROS ALLOC, GETCM, SEARCH, SYSTEM.
RST SUBR
ALLOC TCMT,CPAS ALLOCATE LOW CORE POINTER SPACE
SA1 PF
NZ X1,RST6 IF POINTERS TO COME FROM RUNNING SYSTEM
SX3 0
RJ PCM
SA1 F.TCMT
SA2 L.TCMT
GETCM X1,X2
RST1 SA1 F.TCMT
SA1 X1+JBCP READ JOB CONTROL AREA POINTER
LX1 24
SX1 X1-CPAS LENGTH OF REMAINING CM TABLES
SX2 X1-110000B CHECK IF CMR SIZE REASONABLE
NG X1,RST2 IF UNREASONABLE SIZE
NG X2,RST3 IF SIZE WITHIN MAXIMUM
RST2 SX1 20000B SELECT LOAD LENGTH IF CMR BASHED
RST3 ALLOC TCMT,X1 ALLOCATE REMAINDER OF TABLE
GETCM X2+CPAS,X1
SA1 F.TCMT
SA2 X1+NCPL READ NUMBER OF CONTROL POINTS FROM SYSTEM
MX0 -12
SA3 X1+PPCP SET PP COMMUNICATION AREA POINTER
BX7 -X0*X3
LX2 24
LX3 36 SET EXTENDED MEMORY SHIFT COUNTS
ERRNZ MEFL-PPCP CODE ASSUMES SAME WORD
SA7 PC
BX7 -X0*X3
AX7 5
MX6 -2
BX6 -X6*X7
SA6 EM
AX7 4
SA7 UE
BX6 -X0*X2 EXTRACT NUMBER OF CONTROL POINTS
SX7 X6-/DSL/NCPS
NG X7,RST4 IF NOT MAXIMUM OR BAD POINTER
SX6 /DSL/NCPS SET MAXIMUM NUMBER OF CONTROL POINTS
RST4 SA6 NC
SA3 X1+MCTP SET NUMBER OF MCT ENTRIES
AX3 24
BX6 -X0*X3
SA6 ME
SX6 B0+
SA6 IO INITIALIZE *I4A OR I4S IOU* FLAG
SA1 BD
NZ X1,RST5 IF *DMB* FILE, SKIP PP CHECKS
SA1 .NPP
MX0 12
SEARCH TDIR,X1,X0
ZR X2,ERR7 IF FIRST PP RECORD NOT FOUND
SX6 0
SA3 =2LPP
MX0 12
RST4.1 SX6 X6+B1
SA2 A2+2 GET NEXT DIRECTORY ENTRY
BX2 X0*X2
IX2 X3-X2
ZR X2,RST4.1 IF MORE PP RECORDS
SA6 AC NUMBER OF PP-S ON DUMP TAPE
SX7 X6-10D
ZR X7,RST5 IF 10 PP SYSTEM
SX6 MAXP SET MAXIMUM NUMBER OF PPU-S
RST5 SA6 NP SET NUMBER OF PP COMMUNICATION AREAS
SA1 .CPP
MX0 24
SEARCH TDIR,X1,X0
SX6 0
ZR X2,RST5.2 IF NO *CPP* RECORDS
MX0 12
SA3 .CPP
BX3 X0*X3
RST5.1 SX6 X6+1
SA2 A2+2 CHECK NEXT RECORD
BX2 X0*X2
IX2 X3-X2
ZR X2,RST5.1 IF CPP RECORD
RST5.2 SA6 C4 NUMBER OF CPP-S AND CPP COMM. AREAS
SA1 F.TCMT
SA2 X1+MABL GET HARDWARE OPTIONS
MX7 -2 SET CYBER 176 FLAG
LX2 0-45
BX6 -X7*X2
BX6 -X7-X6
SA6 CF
SX7 B1+
LX2 0-47-0+45
BX6 X7*X2
NZ X6,RSTX IF NOT CYBER 8X5
SA7 CE SET CM EXTENSION
LX2 59-42-0+47-60
PL X2,RSTX IF CYBER 170-865/875
SA1 =3LIMR CHECK FOR *I4* IOU
RJ GID
SX6 X6-4
SA6 IO SAVE *I4A OR I4S IOU* FLAG
SX7 X7-0#44
ZR X5,ERR47 IF *I4C* IOU
EQ RSTX RETURN
* READ LOW CORE FROM RUNNING SYSTEM.
RST6 SA1 F.TCMT
SX6 -B1
SA6 X1 PRESET BUFFER FOR ABSOLUTE MEMORY READ
SA6 A6+100B
SA2 RSTA
SA3 RSTB UPDATE BUFFER ADDRESS IN *RSB* CALLS
IX6 X2+X1
IX7 X3+X1
SA6 A2
SA7 A3
SYSTEM RSB,R,RSTA
SYSTEM RSB,R,RSTB
SX3 CPAS
RJ PCM POSITION DUMP FILE PAST POINTER AREA
JP RST1 READ REST OF CM TABLES
RSTA VFD 12/0,12/100B,18/0,18/0 *RSB* CALL PARAMETERS
RSTB VFD 12/0,12/100B,18/100B,18/100B
RUC SPACE 4,11
** RUC - RESET USER SELECTED CONTROLS.
* RESTORES REFERENCE ADDRESS, SUBTITLE AND MEMORY TYPE
* TO THOSE SELECTED BY THE USER.
*
* ENTRY UA = USER SELECTED REFERENCE ADDRESS.
* UI = USER SELECTED MEMORY INDEX.
* US = SUBTITLE DISPLAY OF USER SELECTED RA.
* US+1 = SUBTITLE MEMORY BLOCK NAME.
*
* USES X - 1,2,6,7.
* A - 1,2,6,7.
RUC SUBR
SA1 UA
SA2 UI
BX6 X1
LX7 X2
SA6 BA RESTORE REFERENCE ADDRESS
SA7 MI RESTORE MEMORY BLOCK RANDOM INDEX
SA1 US
SA2 A1+1
BX6 X1
LX7 X2
SA6 SBTL RESTORE SUBTITLE
SA7 SBTL1
JP RUCX EXIT
SAI SPACE 4,15
** SAI - SET ASCII INTERPRETATION.
*
* ENTRY (X2) = ASCII 8 BIT CHARACTERS.
* (B6) = NUMBER OF CHARACTERS TO CONVERT.
* (B7) = POSITION TO PLACE CHARACTERS.
*
* EXIT (X1) = SHIFTED (B6)*8 BITS.
* (B7) = UPDATED.
*
* USES X - 1, 2, 3, 6, 7.
* A - 3, 7.
* B - 6, 7.
SAI SUBR ENTRY/EXIT
MX1 -7 STRIP PARITY BIT FROM CHARACTER
SAI1 LX2 8
BX6 -X1*X2 EXTRACT CHARACTER
SA3 X6+/COMTVDT/TVXD GET DISPLAY CODE EQUIVALENT
SX7 X3
PL X3,SAI2 IF CHARACTER IS PRINTABLE
SX7 1R CHANGE TO A SPACE
SAI2 SX6 X7 CHECK FOR 74/76 ESCAPE
AX6 6
SB6 B6-B1 DECREMENT CHARACTER COUNT
LX6 6
IX7 X7-X6 REMOVE ANY 74/76 ESCAPE
SA7 B7
SB7 B7+B1
NZ B6,SAI1 IF MORE CHARACTERS TO UNPACK
EQ SAIX RETURN
SBC SPACE 4,20
** SBC - SELECT NEXT BUFFER CONTROLLER CHANNEL.
*
* ENTRY (BCDA) = LAST DIRECTORY ENTRY ADDRESS.
* (PI) = 0, IF DUMPING ALL CHANNELS.
* (SBCB) = OPTION SELECTION IF DUMPING ALL CHANNELS.
*
* EXIT (X1) = 0, IF NO MORE CHANNELS TO DUMP.
* (A2) = DIRECTORY ENTRY ADDRESS.
* (SBCA) = CHANNEL NUMBER SELECTED.
* (SBCB) = PARAMETERS SELECTED FOR NEXT CHANNEL.
*
* USES X - 0, 1, 2, 6.
* A - 1, 2, 6.
* B - 7.
*
* CALLS ASD, ASN.
*
* MACROS SEARCH.
SBC SUBR ENTRY/EXIT
SA1 PI
NZ X1,SBC2 IF CHANNELS ON DIRECTIVE
SA1 /DIRECT/BCDA GET ADDRESS OF LAST DIRECTORY ENTRY
SA2 X1+2 GET NEXT ENTRY
SX1 2RCH CHECK IF STILL BUFFER CONTROLLER RECORD
LX1 -24
MX0 12
LX0 -12
BX2 X0*X2
BX2 X1-X2
ZR X2,SBC1 IF BUFFER CONTROLLER CHANNEL
MX1 0 FLAG END OF DUMP
EQ SBCX RETURN
SBC1 SA2 A2 FORM CHANNEL NUMBER
AX2 24
MX0 -6
BX1 -X0*X2
AX2 6
BX2 -X0*X2
SX1 X1-1R0
SX2 X2-1R0
LX2 3
IX6 X2+X1
SA6 SBCA SAVE CHANNEL NUMBER
SX1 B1 FLAG CHANNEL FOUND
EQ SBCX RETURN
* PROCESS PARAMETERS FROM DIRECTIVE.
SBC2 SB7 0 SET OCTAL BASE
RJ ASD ASSEMBLE CHANNEL NUMBER
SX1 B6+
ZR X1,SBCX IF NO MORE TO DUMP
NZ X4,ERR6 IF CONVERSION ERROR
SA6 SBCA SAVE CHANNEL NUMBER
SA1 CH CHECK IF OPTIONS PRESENT
SA1 X1+
SX1 X1-1R/
SX6 2RHD SET DEFAULT OPTIONS
NZ X1,SBC3 IF NO PARAMETERS
RJ ASN ASSEMBLE PARAMETERS
AX6 B6
SBC3 SA6 SBCB SAVE PARAMETERS
SA1 SBCA FORM RECORD HEADER FOR SEARCH
MX0 -3
BX2 -X0*X1
AX1 3
BX1 -X0*X1
LX1 6
BX1 X1+X2
SA2 .BCH
LX1 24
MX0 24
IX6 X2+X1
LX0 -12
SEARCH TDIR,X6,X0
ZR X2,ERR6 IF CHANNEL NOT FOUND
SX1 1 FLAG CHANNEL FOUND
EQ SBCX RETURN
SBCA CON 0 CHANNEL NUMBER
SBCB CON 0 SELECTED PARAMETERS FOR DUMP
SBL SPACE 4,10
** SBL - STORE BLANKS IN PRINT LINE.
*
* ENTRY B6 = NUMBER OF BLANKS DESIRED.
* B7 = CURRENT PRINT STRING ADDRESS.
*
* EXIT B7 IS UPDATED.
*
* USES X - 6.
* B - 6,7.
* A - 6.
SBL SUBR
SX6 1R
SBL1 SA6 B7
SB7 B7+1
SB6 B6-B1
NZ B6,SBL1 IF MORE SPACES TO STORE
JP SBLX EXIT
SCH SPACE 4,13
** SCH - SET SC DIRECTIVE HEADER.
*
* ENTRY X5 = CURRENT SC DIRECTORY WORD.
* A5 = ADDRESS OF CURRENT SC DIRECTORY WORD.
* A0 = ADDRESS OF WHERE TO STORE SC REGISTERS.
* A2 = ADDRESS OF 38 CHARACTER HEADER MESSAGE.
* B7 = PRINT STRING ADDRESS.
*
* EXIT A5 IS UPDATED TO RANDOM INDEX WORD.
*
* USES ALL REGISTERS.
*
* CALLS PDF,RDW=,UPS.
SCH SUBR
SB6 38
RJ UPS
SA5 A5+1
BX6 X5
SX3 B1
SA6 RI
RJ PDF POSITION TO SC REGISTERS
READW S,A0,4
JP SCHX EXIT
SCM SPACE 4,7
** SCM - SET CENTRAL MEMORY.
*
* EXIT X6 = SBTL1 = CENTRAL MEMORY NAME FOR SUBTITLE.
* X7 = MI = CENTRAL MEMORY BLOCK RANDOM INDEX.
*
* USES X - 1, 2, 6, 7.
* A - 1, 2, 6, 7.
SCM1 SA2 =4R CLEAR POSSIBLE *UEC *
AX1 24
LX1 24
BX6 X1-X2
SA6 A1
SCM SUBR
SA2 CI
LX7 X2
SX6 B0 CLEAR MEMORY BASE ADDRESS
SA7 MI SET RANDOM INDEX OF CM
SA6 MB
SA6 MT SET MEMORY TYPE
SA1 SBTL1
MX6 12
BX2 X6*X1
LX2 12
SX6 X2-2RCP
ZR X6,SCM1 IF DUMPING CONTROL POINTS
SX6 X2-2RPC
ZR X6,SCM1 IF DUMPING PSEUDO-CONTROL POINTS
SA2 =10HCM
BX6 X2
SA6 A1 SET NAME FOR SUBTITLE
JP SCMX EXIT
SCP SPACE 4,21
** SCP - SELECT NEXT CONTROL POINT/PSEUDO-CONTROL POINT TO DUMP.
*
* ENTRY (CH) = ADDRESS OF NEXT CHARACTER IN DIRECTIVE.
* (CO) = DEFAULT LIST OPTIONS FOR CONTROL POINT DUMP.
* (NC) = NUMBER OF CONTROL POINTS - 1.
* (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
* (PI) = 0, IF NEXT CP NUMBER TO BE FROM DIRECTIVE CARD.
* ELSE, CP AREA INDEX FOR ACTIVE CP SEARCH.
*
* EXIT (X1) = 0, IF NO MORE CONTROL POINTS TO DUMP.
* (CL) = LIST OPTIONS SELECTED.
* (CN) = SELECTED CONTROL POINT NUMBER.
* (PI) = UPDATED CP SEARCH INDEX.
*
* ERROR TO *ERR8*, IF INCORRECT CONTROL POINT NUMBER.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 2, 6, 7.
* B - 2, 3, 4, 7.
*
* CALLS ASD, ASN.
SCP6 SA6 SBTL1
SX1 1 SET CONTROL POINT SELECTED FLAG
SCP SUBR
SA1 PI
NZ X1,SCP3 IF DUMPING ALL ACTIVE CONTROL POINTS
* SELECT NEXT CONTROL POINT NUMBER FROM DIRECTIVE CARD.
SB7 B0 SET OCTAL BASE
RJ ASD ASSEMBLE CP NUMBER
SX1 B6+
ZR X1,SCPX IF END OF DIRECTIVE
NZ X4,ERR8 IF CONVERSION NOT OK
ZR X6,ERR8.1 IF CONTROL POINT ZERO
SA6 CN SAVE NUMBER
SA1 NC
IX7 X1-X6
SX7 X7+B1 ALLOW FOR SYSTEM CONTROL POINT
SA1 OP
ZR X1,SCP1 IF NOT DUMPING PSEUDO-CONTROL POINTS
PL X7,ERR8.1 IF INCORRECT PCP NUMBER
SA1 ME NUMBER OF MCT ENTRIES
SX7 X6+B1
IX7 X1-X7
SCP1 NG X7,ERR8.1 IF INCORRECT CONTROL POINT NUMBER
SA1 CH CHECK SEPARATOR
SA1 X1+
SX1 X1-1R/
SA2 CO
BX6 X2 SET DEFAULT LIST OPTIONS
NZ X1,SCP2 IF SEPERATOR NOT */*
RJ ASN ASSEMBLE LIST OPTIONS
SCP2 SA6 CL SET LIST OPTIONS
SA1 CN SET CP/PCP NUMBER IN SUBTITLE LINE
RJ COD
SX1 2RCP&2R
BX6 X4-X1
LX6 -12
SA1 OP
ZR X1,SCP6 IF NOT DUMPING PCP-S
SX1 1RP&1R
BX6 X6-X1
LX6 -6
EQ SCP6 SET SUBTITLE
* FIND NEXT ACTIVE CONTROL POINT.
SCP3 SB2 X1 SET SEARCH INDEX
SA2 NC LAST CONTROL POINT NUMBER-1
SX2 X2+B1
MX4 12
SA3 OP
ZR X3,SCP3.1 IF NOT DUMPING PCP-S
SA2 ME
SCP3.1 LX2 7
IX2 X2+X3 ADD PCPA OFFSET
SB3 X2+TFSW
SA2 F.TCMT
SB4 X2 SET TCMT TABLE BASE ADDRESS
SX1 B0 PRESET NO MORE TO DUMP FLAG
SCP4 SB2 B2+CPLEN ADVANCE SEARCH POINTER
LT B2,B3,SCP4.1 IF NOT AT SYSTEM CP OR LAST PCP+1
SA2 OP
NZ X2,SCPX IF ALL THROUGH DUMPING PCP-S
EQ B2,B3,SCP5 IF SYSTEM CP
SA3 F.TCMT CHECK FOR PCP-S TO DUMP
SA3 X3+PCPP
SX2 B2-TFSW SET PCPA OFFSET
SX3 X3
ZR X3,SCPX IF NO PCP-S TO DUMP
IX6 X3-X2
SA6 A2
SB2 B2+X6 ADVANCE SEARCH POINTER TO PCPA-S
SA2 ME SET LAST PCPA+1 TO DUMP
LX2 7
IX2 X2+X6
SB3 X2+TFSW
SCP4.1 SA2 B2+B4 READ NEXT EJT ORDINAL
BX2 X4*X2
ZR X2,SCP4 IF CONTROL POINT NOT ACTIVE
SCP5 SX1 B2-TFSW
SA2 OP SUBTRACT OFF PCPA OFFSET
IX7 X1-X2
AX7 7
SA7 CN SET CONTROL POINT NUMBER
SX6 B2
SA6 A1 UPDATE SEARCH POINTER
SA1 CO DEFAULT LIST OPTIONS
BX6 X1
EQ SCP2 SET LIST OPTIONS
SDI SPACE 4,13
** SDI - SET DISPLAY CODE INTERPRETATION.
* COLONS AND DISPLAY CODE CHARACTERS ABOVE 57B ARE
* REPLACED WITH SPACES IN ORDER NOT TO SLOW DOWN THE LINE
* PRINTER.
*
* ENTRY A2 = ADDRESS OF FIRST DATA WORD.
* X2 = FIRST DATA WORD.
* B6 = NUMBER OF CHARACTERS.
* B7 = STRING BUFFER ADDRESS.
*
* USES X - 0,2,6,7.
* B - 5,6,7.
* A - 2,6.
SDI SUBR
SDI1 SX0 77B
SB5 10 CHARACTER COUNT
SDI2 LX2 6 POSITION NEXT CHARACTER
BX6 X0*X2
ZR X6,SDI3 IF COLON
SX7 X6-60B
NG X7,SDI4 IF NOT A SPECIAL CHARACTER
SDI3 SX6 1R
SDI4 SA6 B7 STORE CHARACTER IN STRING
SB7 B7+1
SB6 B6-B1 COUNT CHARACTER
ZR B6,SDIX IF NO MORE TO CONVERT
SB5 B5-1
NZ B5,SDI2 IF NOT END OF WORD
SA2 A2+1 READ NEXT WORD
EQ SDI1 CONTINUE
SDT SPACE 4,15
** SDT - SEARCH DESCRIPTOR TABLE.
*
* ENTRY (X1) = SEARCH ARGUMENT (LOWER 8 BITS).
* (A2) = ADDRESS OF DESCRIPTOR TABLE.
* (X2) = FIRST ENTRY IN DESCRIPTOR TABLE.
* (X4) = MODEL NUMBER BIT MASK.
*
* EXIT (X2) = 0 IF NO FIND.
* = TABLE ENTRY IF FIND.
* (A2) = ADDRESS OF DESCRIPTOR TABLE ENTRY.
*
* USES X - 0, 1, 2, 3, 4.
* A - 2.
SDT SUBR ENTRY/EXIT
MX0 9
LX1 51
LX4 34
SDT1 BX3 X0*X2
BX3 X3-X1
NZ X3,SDT2 IF NO MATCH
BX3 X2*X4
NZ X3,SDTX IF VALID FOR THIS MODEL
SDT2 SA2 A2+B1
NZ X2,SDT1 IF NOT END OF DESCRIPTOR TABLE
EQ SDTX RETURN
SEA SPACE 4,10
** SEA - SET EXCHANGE ADDRESS FOR CYBER 176.
*
* EXIT (X6) = REFERENCE ADDRESS.
*
* USES X - 1, 2, 3, 6.
* A - 1.
SEA SUBR ENTRY/EXIT
SA1 F.TCMT GET EST FWA AND SIZE
SA1 X1+ESTP
AX1 24
MX6 -12
BX2 -X6*X1
AX1 12 GET FWA EST
R= X3,ESTE
IX3 X2*X3
IX6 X1+X3
SX6 X6+777B ROUND UP TO NEXT 1000B
AX6 9
LX6 9
EQ SEAX RETURN
SEC SPACE 4,8
** SEC - SET EXTENDED CORE STORAGE.
*
* EXIT X6 = SBTL1 = EXTENDED MEMORY NAME FOR SUBTITLE.
* X7 = MI = EXTENDED MEMORY BLOCK RANDOM INDEX.
*
* USES X - 0, 1, 2, 3, 6, 7.
* A - 1, 2, 3, 6, 7.
*
* CALLS COD.
*
* MACROS SEARCH.
SEC SUBR
BX7 X7-X7 CLEAR EXTENDED MEMORY ERROR FLAG
SA7 EE
SA7 MB CLEAR MEMORY BASE ADDRESS
SA1 .ECS
MX0 18
SEARCH TDIR,X1,X0
NZ X2,SEC0 IF ECS RECORD FOUND
SA1 .ESM
MX0 18
SEARCH TDIR,X1,X0
ZR X2,SEC2 IF NO ESM RECORD FOUND
SEC0 SA1 CF CHECK IF A CYBER 176
SA3 =10REC SET HEADER FOR NO FLAG REGISTER
BX6 X3
ZR X1,SEC1 IF CYBER 176
SA1 A2 READ FLAG REGISTER FROM TDIR ENTRY
SA3 =10000000B
MX0 -18
LX1 -12
BX1 -X0*X1
IX1 X1+X3 GUARANTEE LEADING ZEROS
RJ COD CONVERT FLAG REGISTER
SA3 =4L EC
MX0 -36
BX6 -X0*X6
BX6 X6+X3
LX6 6
SEC1 SA6 SBTL1 SET NAME AND FLAG REGISTER FOR SUBTITLE
SA2 A2+3 READ RANDOM INDEX
ZR X2,SEC2 IF NO EXTENDED MEMORY RECORD
BX7 X2
SA7 MT SET MEMORY TYPE
SA7 MI SET RANDOM INDEX OF EXTENDED MEMORY
JP SECX EXIT
SEC2 SX7 B1 SET EXTENDED MEMORY ERROR FLAG
SA7 EE
JP ERR5 *EXTENDED MEMORY RECORD NOT FOUND*
SEM SPACE 4,10
** SEM - SET UNIFIED EXTENDED MEMORY.
*
* EXIT (X3) = *UEML* WORD SHIFTED 59-1.
* (X6) = (SBTL1) = UEM NAME FOR SUBTITLE.
* (X7) = (MI) = CENTRAL MEMORY BLOCK RANDOM INDEX.
*
* USES A - 1, 2, 3, 6, 7.
* X - 1, 2, 3, 6, 7.
SEM SUBR ENTRY/EXIT
SA1 F.TCMT
SA3 X1+UEML
MX6 12
BX7 X7-X7
BX6 X6*X3
LX3 59-1
SA7 EE CLEAR EXTENDED MEMORY ERROR FLAG
SA7 MT SET MEMORY TYPE
LX6 12+9
SA6 MB SET MEMORY BASE ADDRESS TO UEM ADDRESS
SA1 =10HUEM
SA2 CI
BX6 X1
LX7 X2
SA6 SBTL1 SET NAME FOR SUBTITLE
SA7 MI SET RANDOM INDEX OF CM
EQ SEMX RETURN
SFP SPACE 4,10
** SFP - SEARCH FOR PAGE.
*
* ENTRY (DSMB, DSMB+1) = FWA, LWA OF DUMP.
*
* EXIT DSMB UPDATED.
* (X3) < 0, IF PAGES FOUND.
*
* USES A - 1, 2, 3, 6.
* X - 2, 3, 6.
* B - 2, 6, 7.
*
* CALLS CPC, HTS, PSM, SPT, SSB, UPS.
SFP SUBR ENTRY/EXIT
RJ SSB SPACE FILL BUFFER
SA2 SFPA * PAGE ENTRY IS MISSING.*
SB7 PRBF
SB6 23
RJ UPS UNPACK STRING
SB2 DSMB
RJ SPT CHECK PAGE CHANGE
NG X3,SFP3 IF INITIAL PAGE IS PRESENT
ZR X2,SFP2 IF PAGE IS NOT REALLY MISSING
PRINT (=2C )
PRINT CCCH,24
SFP1 SA1 DSMB INCREMENT TO NEXT PAGE
SA2 XM
SX2 X2+B1
IX6 X2+X1
SA6 A1
SA3 A1+B1
IX6 X6-X3
PL X6,SFP4 IF NO MORE TO DUMP
SB2 DSMB
RJ CPC CHECK PAGE CHANGE
SFP2 NZ X2,SFP1 IF PAGE MISSING
SB7 PRBF+15 FETCH UPPER 4 BITS
SA1 A3 FETCH VALID BITS
SB6 B1
RJ HTS
SA1 A1+B1
SB6 15
RJ HTS
PRINT (=2C )
PRINT CCCH,32
PRINT (=2C )
SFP3 SB2 BRMA BYTE RMA OF PAGE
RJ PSM POSITION DUMP FILE
RJ SSB SPACE FILL BUFFER
MX3 1
JP SFPX RETURN
SFP4 MX3 0 DEFINE MISSING PAGE/END OF DUMP
JP SFPX RETURN
SFPA DATA H* PAGE ENTRY IS MISSING.*
SFR SPACE 4,15
** SFR - SEARCH FOR REGISTER.
*
* ENTRY (X5) = REGISTER NUMBER.
*
* EXIT (X1) = REGISTER NUMBER IF FOUND.
* = NEGATIVE IF NOT FOUND.
* (X6) = UPPER 4 BITS OF REGISTER (BITS 0-3).
* (X7) = LOWER 60 BITS OF REGISTER (BITS 4-63).
*
* USES B - 2.
* A - 1, 2.
* X - 1, 2, 3, 6, 7.
* LPWA - LPWA+1.
*
* CALLS RMR.
SFR SUBR ENTRY/EXIT
SX6 -1
SA6 LPWA PRESET BUFFER POINTERS FOR *LPW*
SX6 X6+B1
SA6 A6+B1
SFR1 RJ RMR READ MAINTENANCE REGISTER
BX2 X1
MX1 1
ZR X2,SFRX IF END OF REGISTERS
SA1 RMRA+1 GET REGISTER NUMBER
IX6 X5-X1
NZ X6,SFR1 IF NOT SELECTED REGISTER
SA2 MRBF FWA OF REGISTER VALUE
MX3 -4
BX7 -X3*X2
AX2 4
SX6 X2
SB2 7
SFR2 SA2 A2+B1 PACK INTO 60 BIT VALUE
LX7 8
BX7 X7+X2
SB2 B2-B1
NZ B2,SFR2 IF MORE BYTES TO INCLUDE
EQ SFRX RETURN
SHA SPACE 4,12
** SHA - SET HEX ADDRESSES.
*
* ENTRY (X6) = MAXIMUM ADDRESS TO DUMP.
* (NR) = NEXT RECORD FLAG.
*
* EXIT (FW) AND (LW) SET.
*
* USES X - 0, 1, 6.
* A - 1, 6.
*
* CALLS ASX.
SHA2 SA1 NR
ZR X1,SHAX IF NO SECOND RECORD EXISTS
SA1 FW SAVE FWA, LWA+1
BX6 X1
SA1 A1+B1
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
SHA3 SA6 SHAA
BX6 X1
SA6 A6+B1
SHA SUBR ENTRY/EXIT
SA1 SHAA+1
ZR X1,SHA1 IF FIRST RECORD
SA1 SHAA RESTORE FWA, LWA+1
BX6 X1
SA1 A1+B1
SA6 FW
BX6 X1
SA6 A6+B1
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
SX1 B0
SX6 B0
EQ SHA3 CLEAR SAVE AREA
SHA1 SA6 LW PRESET LWA+1
BX0 X6 SAVE MAXIMUM
SX6 B0 PRESET FWA
SA6 FW
RJ ASX ASSEMBLE FWA
NZ X4,SHA2 IF NO ADDRESSES SPECIFIED
SA6 FW SET FWA
SX6 X6+B1 RESET LWA+1
SA6 A6+B1
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
RJ ASX ASSEMBLE LWA+1
NZ X4,SHA2 IF NOT SPECIFIED
SA6 LW SET NEW LWA+1
IX6 X0-X6
PL X6,SHA2 IF LWA+1 NOT TOO LARGE
BX6 X0
SA6 A6+ RESET LWA+1
EQ SHA2 CHECK NEXT RECORD
SHAA CON 0 FWA
CON 0 LWA+1
SLP SPACE 4,12
** SLP - SET LOGICAL PP IN MESSAGE.
*
* ENTRY (A0) = MESSAGE WORD ADDRESS.
* (PP) = PP BEING DUMPED.
*
* EXIT (X6) = 0 IF NO PP SWITCH.
*
* USES X - 0, 2, 3, 4, 6, 7.
* A - 2, 3, 7.
*
* CALLS CPN.
SLP1 SX6 0 SET NO PP SWITCH
SLP SUBR ENTRY/EXIT
RJ CPN CONVERT PP/CPP NUMBER
NZ X3,SLP1 IF CPP
SA3 TLPP+X6
BX6 X3-X2
ZR X6,SLPX IF NO PP SWITCH
BX4 X3
SX2 707B CONVERT LOGICAL NUMBER TO DISPLAY CODE
LX3 3
BX3 X3+X4
BX3 X3*X2
SX6 X3+2R00
SA2 A0 SET LOGICAL NUMBER IN HEADER
LX6 36
MX0 12
LX0 -12
BX2 -X0*X2
BX7 X2+X6
SA7 A0
EQ SLPX RETURN
SMT SPACE 4,16
** SMT - SELECT MASS STORAGE TABLE TO DUMP.
*
* ENTRY (CH) = ADDRESS OF NEXT CHARACTER IN DIRECTIVE.
* (PI) = EST SEARCH ORDINAL.
* (PI) = 0 IF MST-S ARE SPECIFIED ON THE DIRECTIVE.
*
* EXIT (X6) = MST ADDRESS.
* 0, IF NO MORE MST-S TO DUMP.
* (EQ) = *EQDE* WORD OF EST ENTRY.
* (FI) = EST ORDINAL TO DUMP.
* (PI) ADVANCED.
*
* USES X - 1, 2, 3, 4, 5, 6, 7.
* A - 1, 2, 3, 4, 6, 7.
* B - 2, 7.
*
* CALLS ASD, COD.
SMT3 SA6 EQ SAVE EST ENTRY WORD FOR *MRT*
SA1 FI CONVERT EST ORDINAL
RJ COD
SX1 3REST&3R CREATE SUBTITLE
MX6 -18
BX1 -X6*X1
LX1 6
BX6 X4-X1 ADD CONVERTED ORDINAL
LX6 -24
SA6 SBTL1
BX6 X5 RESTORE MST ADDRESS
LX6 3
SMT SUBR ENTRY/EXIT
SA1 PI
NZ X1,SMT1 IF DUMPING ALL MSTS
* READ NEXT DEVICE NUMBER FROM DIRECTIVE CARD.
SB7 B0
RJ ASD ASSEMBLE NEXT EST ORDINAL
ZR X6,SMTX IF END OF DIRECTIVE
NZ X4,ERR6 IF ERROR
SA1 F.TCMT READ EST POINTERS
SA2 X1+ESTP
MX3 -12
AX2 12
BX7 -X3*X2 SET LAST MASS STORAGE ORDINAL + 1
AX2 24
IX7 X6-X7
PL X7,ERR6 IF INCORRECT EST ORDINAL
SA6 FI SAVE EST ORDINAL
R= X7,ESTE
IX7 X6*X7
IX2 X2+X7
SX2 X2+EQDE
IX2 X2+X1
SA2 X2 READ EST ENTRY
PL X2,ERR23 IF NOT MASS STORAGE
BX5 -X3*X2 SET MST ADDRESS
BX6 X2
JP SMT3 EXIT
* SEARCH FOR NEXT MASS STORAGE DEVICE.
SMT1 SA2 F.TCMT
SA4 X2+ESTP READ EST POINTER WORD
SB2 X2+
MX6 0 PRESET MST ADDRESS
MX2 -12
AX4 12
BX7 -X2*X4 LAST MASS STORAGE ORDINAL + 1
AX4 12
BX3 -X2*X4 LAST EST ORDINAL + 1
AX4 12
SB2 B2+X4 SET (B2) = FWA OF EST IN *TCMT*
SX4 X3 VERIFY LAST MASS STORAGE .LE. LAST EST
IX2 X7-X4
PL X2,SMT2 IF MAXIMUM MS DEVICES OR POINTERS BAD
SX4 X7+
SMT2 IX2 X1-X4
PL X2,SMTX IF END OF MASS STORAGE EST-S
R= X3,ESTE
IX2 X1*X3
SX2 X2+EQDE
SA3 X2+B2 READ EST ENTRY
SX1 X1+B1
PL X3,SMT2 IF NOT A MASS STORAGE DEVICE
BX6 X1
SA6 A1 UPDATE EST POINTER
SX6 X1-1
SA6 FI SAVE FOR *MST*
MX2 -12
BX5 -X2*X3 SET MST ADDRESS
BX6 X3
JP SMT3 EXIT
SNO SPACE 4,13
** SNO - SELECT NEXT LIST OPTION.
*
* ENTRY (X1) = OPTION CHARACTER STRING LEFT JUSTIFIED.
* (A1) = ADDRESS OF OPTION STRING.
* (B2) = OPTION PROCESSOR ADDRESS TABLE.
*
* EXIT (X3) = 0 IF OPTION STRING EMPTY.
* (B3) = PROCESSOR ADDRESS IF FOUND.
* OPTION STRING IS UPDATED.
*
* USES X - 1, 2, 3, 6.
* A - 2, 6.
* B - 2, 3.
SNO SUBR
LX1 6 POSITION NEXT OPTION CHARACTER
MX2 -6
BX3 -X2*X1 EXTRACT NEXT CHARACTER
BX6 X2*X1
SA6 A1+ UPDATE STRING
ZR X3,SNOX IF END OF OPTIONS
SNO1 SA2 B2 READ PROCESSOR ADDRESS
ZR X2,ERR22 IF END OF TABLE
SB3 X2 SET PROCESSOR ADDRESS
AX2 18
BX2 X2-X3
ZR X2,SNOX IF MATCH FOUND
SB2 B2+B1
EQ SNO1 CHECK NEXT TABLE ENTRY
SNP SPACE 4,13
** SNP - SELECT NEXT PPU/FLPP TO DUMP.
*
* ENTRY (PI) = *TDIR* TABLE POINTER IF DUMPING ALL PPUS/FLPPS.
* = 0 IF NEXT PPU/FLPP NUMBER IS ON DIRECTIVE CARD.
*
* EXIT (X1) = 0, IF NO MORE PP-S/FLPP-S TO DUMP.
* (PI) = UPDATED.
* DUMP FILE IS POSITIONED.
*
* USES X - 0, 1, 2, 3, 5, 6.
* A - 1, 2, 5, 6.
* B - 7.
*
* CALLS ASD, SPD.
SNP SUBR
SA5 PI
ZR X5,SNP2 IF NEXT NUMBER IS ON DIRECTIVE CARD
SA1 BPNA
SA2 X5
MX0 12
BX3 X2-X1
BX3 X0*X3
SX1 B0+ PRESET NO MORE TO DUMP
NZ X3,SNPX IF NO MORE TO DUMP
SX6 X5+2
SA6 A5 ADVANCE TABLE POINTER
LX2 12 SET *PP* FROM TABLE ENTRY
BX2 X0*X2
LX2 12
SX3 X2-2R00
MX0 -3
BX2 -X0*X3
AX3 3
BX6 X2+X3
SNP1 RJ SPD SET UP PP/CPP/FLPP DUMP
SX1 1 SET PPU/FLPP SELECTED
EQ SNPX EXIT
* SELECT NEXT PPU/FLPP FROM DIRECTIVE CARD.
SNP2 SB7 0 ASSUME OCTAL BASE
RJ ASD CONVERT NEXT NUMBER FROM DIRECTIVE
SX1 B6+
ZR X1,SNPX IF NO MORE PP/FLPP NUMBERS
NZ X4,ERR6 IF CONVERSION ERROR
EQ SNP1 SET NAME AND POSITION FILE
SPA SPACE 4,17
** SPA - SELECT NEXT PPU TO ANALYZE.
*
* ENTRY (FI) = NAMED PP SEARCH INDEX.
* (PI) = PP COMMUNICATION AREA SEARCH POINTER.
* = 0, IF NEXT PP NUMBER IS ON DIRECTIVE.
*
* EXIT (X1) = 0, IF NO MORE PP-S TO DUMP.
* (PI) = UPDATED, IF DUMPING ALL ACTIVE PP-S.
* (PP) = NUMBER OF PP SELECTED.
*
* USES X - ALL.
* A - 1, 2, 3, 4, 5, 6, 7.
* B - 2, 3, 7.
*
* CALLS ASN, DXB, FPP.
*
* MACROS PRINT.
SPA9.1 SX7 1 SET PROGRAM FOUND
SA7 SPAA
SPA10 SA6 PP SET PPU NUMBER
SX1 1 SET PPU SELECTED
SPA SUBR
SA1 PI
NZ X1,SPA4 IF DUMPING ALL ACTIVE PPU-S
* SELECT NEXT PPU FROM DIRECTIVE CARD.
SA1 FI
NZ X1,SPA2 IF SEARCHING FOR NAMED PPUS
SPA1 SB7 0 SET OCTAL BASE
RJ ASN ASSEMBLE NEXT PP NUMBER
SX1 B6
ZR X1,SPAX IF END OF DIRECTIVE
BX7 X7-X7
SA6 SPAB STORE PP NUMBER/NAME
SA7 SPAA CLEAR NAMED PPU FOUND FLAG
BX5 X6
RJ DXB CONVERT NUMBER TO OCTAL
ZR X4,SPA10 IF NO CONVERSION ERROR
* SEARCH FOR NAMED PPU.
SPA2 SA4 SPAB READ NAME
MX2 18
BX2 -X2*X4
NZ X2,ERR49 IF NAME LONGER THAN 3 CHARACTERS
RJ FPP FIND PPU PROGRAM
NZ X1,SPA9.1 IF PPU FOUND
SA2 SPAA
NZ X2,SPA1 IF PROGRAM ALREADY FOUND AND DISPLAYED
SA1 SPAB GET PROGRAM NAME
EQ ERR50 *PROGRAM NOT FOUND - XXX*
* SELECT NEXT ACTIVE PPU.
SPA4 SA3 F.TCMT
SA2 PC GET PP COMMUNICATION AREA POINTER
SA4 NP NUMBER OF PPUS IN THE SYSTEM
SA5 IC
ZR X5,SPA4.1 IF NOT DUMPING CPP-S
LX4 3 SET CPP COMMUNICATION AREA POINTER
IX2 X4+X2
SA4 C4 NUMBER OF CPP COMMUNICATION AREAS
SPA4.1 SB2 X1 SET SEARCH INDEX
LX4 3
SB3 X4
SB3 B3+X2 LWA+1 OF COMMUNICATION AREA
GE B2,B3,SPA7 IF END OF SEARCH
SPA5 SA4 B2+X3 READ INPUT REGISTER
MX0 18
BX1 X0*X4
ZR X1,SPA6 IF PPU NOT ACTIVE
SA4 =3R***
LX1 18 CHECK FOR UNAVAILABLE PPU
BX6 X1-X4
NZ X6,SPA8 IF PPU AVAILABLE
SPA6 SB2 B2+10B ADVANCE SEARCH
LT B2,B3,SPA5 IF NOT END OF PPU-S
SPA7 MX1 0 SET END OF SEARCH
BX6 X1
SA6 A1+ CLEAR SEARCH INDEX
JP SPAX EXIT
SPA8 SX6 B2+ COMPUTE PPU NUMBER
IX6 X6-X2
AX6 3
SX7 X6-12B
NG X7,SPA9 IF NOT PPU-S 20-31
SX6 X6+20B-12B CORRECT PPU NUMBER
SPA9 SA6 PP STORE PPU NUMBER
SX6 B2+10B
SA6 A1 UPDATE SEARCH INDEX
SX1 B1 SET PPU FOUND
JP SPAX EXIT
SPAA CON 0 PROGRAM FOUND FLAG
SPAB BSS 1 PP NUMBER OR NAME READ FROM DIRECTIVE
SPD SPACE 4,15
** SPD - SET UP PP/CPP/FLPP DUMP
*
* ENTRY (X6) = PP/CPP/FLPP NUMBER.
*
* EXIT DUMP FILE IS POSITIONED.
* SUBTITLE LINE PRINTED.
* PP OPERATING REGISTERS PRINTED, IF PRESENT.
*
* USES X - 1, 2, 3, 5, 6.
* A - 0, 1, 2, 6.
* B - 7.
*
* CALLS BPN, FPO, LDC, PDF, PPO, SFN, SLP, SSB.
*
* MACROS PRINT, SEARCH.
SPD SUBR ENTRY/EXIT
SA6 PP SAVE PP/CPP/FLPP NUMBER
RJ PPO PACK PP OPERATING REGISTERS
BX5 X6 SAVE REGISTERS NOT FOUND FLAG
RJ BPN BUILD PP NAME
SEARCH TDIR,X7,X0 FIND SELECTED PP
ZR X2,ERR7 IF NOT FOUND
SA2 A2+B1
BX6 X2
SA6 RI SET RANDOM INDEX
SA1 BPNA+1
RJ SFN SPACE FILL NAME
SA6 SBTL1 SET IN SUBTITLE
RJ LDC LIST DIRECTIVE CARD
SA0 SPDA+2 SET LOGICAL PP IN MESSAGE
RJ SLP
ZR X6,SPD1 IF NO PP SWITCH
PRINT (=2C )
PRINT SPDA PRINT LOGICAL PP NUMBER
PRINT (=2C )
SPD1 SX3 B0+
RJ PDF POSITION DUMP FILE
ZR X5,SPDX IF NO OPERATING REGISTERS FOUND
PRINT SPDB
SX5 0 INITIALIZE LINE COUNTER
SPD2 RJ SSB CLEAR PRINT STRING BUFFER
SB7 PRBF
RJ FPO FORMAT PP OPERATING REGISTERS
ZR X6,SPDX IF FINISHED DISPLAYING REGISTERS
PRINT CCCH,B7-CCCH
SX5 X5+1 INCREMENT LINE COUNTER
EQ SPD2 LOOP
SPDA DATA C* (LOGICAL PPXX)*
SPDB DATA C* P Q K A*
SPP SPACE 4,10
** SPP - SET CYBER 170-8X5 PROCESSOR POINTERS.
*
* EXIT *S2MPS* - *S2JPS* PRESET.
*
* USES X - 1, 4, 5, 6, 7.
* A - 1, 5, 6.
* B - 6.
*
* CALLS RDR, SFR.
SPP2 SX5 0 READ PROCESSOR SUMMARY STATUS
RJ SFR SEARCH FOR REGISTER
NG X1,SPPX IF NOT FOUND
SA1 S2MPS
BX6 X1
LX7 59-63+58 C180 MONITOR MODE
SA1 A1+B1 GET JPS
SA6 A1+B1 SET S2LPS TO (S2MPS)
NG X7,SPPX IF PROCESSOR IN MONITOR MODE
BX6 X1
SA6 A6 SET S2LPS TO (S2JPS)
SPP SUBR ENTRY/EXIT
SA1 .PMR
RJ RDR LOCATE *PMR* RECORD
ZR X2,SPPX IF RECORD NOT FOUND
SA1 SPPB CPU NUMBER
ZR X1,SPP0 IF CPU 0
SA1 NR
ZR X1,ERR6 IF NO OTHER CPU RECORDS
RJ RDR POSITION TO NEXT CPU-S *PMR* RECORD
SPP0 SA5 SPPA START OF TABLE
SPP1 SB6 X5 ADDRESS TO SAVE REGISTER VALUE
ZR X5,SPP2 IF END OF REGISTER
AX5 30 REGISTER NUMBER
RJ SFR SEARCH FOR REGISTER
SA5 A5+B1
NG X1,SPP1 IF REGISTER NOT FOUND
MX4 -30
BX6 -X4*X7 USE LOWER 30 BITS OF REGISTER
SA6 B6
JP SPP1 SEARCH FOR NEXT REGISTER
SPPA BSS 0
VFD 30//IOU/PMPS,30/S2MPS MONITOR PROCESS POINTER
VFD 30//IOU/PSTL,30/S2STL SEGMENT TABLE LENGTH
VFD 30//IOU/PSTA,30/S2STA SEGMENT TABLE ADDRESS
VFD 30//IOU/PPTA,30/S2PTA PAGE TABLE ADDRESS
VFD 30//IOU/PPTL,30/S2PTL PAGE TABLE LENGTH
VFD 30//IOU/PPSM,30/S2PSM PAGE SIZE MASK
VFD 30//IOU/PJPS,30/S2JPS JOB PROCESS STATE POINTER
CON 0 END OF LIST
SPPB CON 0 CPU NUMBER
SPT SPACE 4,15
** SPT - SEARCH CYBER 170-8X5 PAGE TABLE.
*
* ENTRY ((B2)) = 12/0, 16/ASID, 32/BYTE OFFSET
*
* EXIT (BRMA) = REAL MEMORY ADDRESS.
* (X2) = 0, IF PAGE ENTRY FOUND.
* (X3) < 0, IF PAGE ENTRY IS VALID.
* (A3) = *PTEVCUM*.
*
* USES X - 1, 2, 3, 4, 5, 6, 7.
* A - 1, 2, 3, 6, 7.
* B - 2, 3.
*
* CALLS NPE.
SPT SUBR ENTRY/EXIT
SA2 B2 GET SVA (ASID AND BYTE OFFSET)
SA5 XM PAGE SIZE MASK
MX3 -32
BX6 -X3*X2 ISOLATE BYTE OFFSET
SA6 BRMA
AX2 32
ZR X2,SPTX IF NO ASID SPECIFIED
CX7 X5
SB3 X7
AX4 X6,B3 EXTRACT INFORMATION FOR HASH
MX3 -6 GET RIGHTMOST SIX BITS FOR EXPANDED OFFSET
BX5 -X3*X4
BX7 -X5*X6 EXTRACT PAGE NUMBER
AX7 9
BX4 X2-X4
LX2 22
BX7 X2+X7 CREATE SVA
BX6 X6*X5
AX2 22+10 GET LEFTMOST SIX BITS OF ASID FOR OFFSET
SA7 SPTA SAVE PAGE NUMBER + ASID
SA6 A7+B1
BX5 X5-X2
LX5 16 POSITION EXPANDED OFFSET FIELD
BX4 X4+X5
LX4 4
SPT1 RJ NPE FETCH NEXT PAGE ENTRY
SA2 SPTA SVA OF PAGE TO FIND
MX4 -22
BX6 -X4*X5 EXTRACT RMA OF PAGE
BX5 X4*X5
LX5 -22
BX2 X2-X5 COMPARE SVA-S
LX6 9
SA1 A2+B1 BYTE OFFSET INTO PAGE
BX6 X6+X1 RMA OF PAGE
SA6 BRMA
ZR X2,SPTX IF PAGE FOUND
LX4 X3,B1
SX3 B0
NG X4,SPT1 IF CONTINUE BIT IS SET
JP SPTX RETURN WITH PAGE NOT FOUND
SPTA CON 0
SPTB CON 0
SRA SPACE 4,11
** SRA - SET REFERENCE ADDRESS.
*
* ENTRY X6 = NEW REFERENCE ADDRESS.
*
* EXIT X6 = SBTL = REFERENCE ADDRESS FOR SUBTITLE.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS COD.
SRA SUBR
SA6 BA SET NEW REFERENCE ADDRESS
SA1 =10000000B
IX1 X1+X6 GUARANTEE LEADING ZEROS
RJ COD CONVERT TO DISPLAY CODE
MX0 42
SA1 =3R
LX4 6 DISCARD LEADING DIGIT
BX6 X0*X4 EXTRACT RA
BX6 X1+X6 SPACEFILL
LX6 -6
SA6 SBTL STORE IN SUBTITLE
JP SRAX EXIT
SRD SPACE 4,16
** SRD - SUPPRESS REPEATED DATA.
*
* ENTRY B5 = NUMBER OF WORDS TO CHECK, MAXIMUM = 20B.
* X1 = DATA ADDRESS.
* SRDA = MINUS, IF FIRST CALL.
* = ZERO, PRINT DASHES IF REPEAT SENSED.
* = NON-ZERO IF DASHES HAVE BEEN PRINTED,
* EXIT IF REPEAT SENSED.
*
* EXIT X1.NE.0 IF REPEAT SENSED.
*
* SAVES X - NONE.
* B - 1.
* A - 0.
*
* CALLS MVE=,WOF.
SRD SUBR
SA3 SRDA
NG X3,SRD3 IF FIRST CALL
* COMPARE DATA WITH DATA FROM LAST CALL.
SB2 0
SRD1 SA2 X1+B2 READ DATA WORD
SA3 SRDB+B2
BX3 X2-X3
ZR X3,SRD2 IF DATA IS SAME OR IS LOGICAL OPPOSITE
JP SRD3
SRD2 NG X3,SRD3 IF DATA IS LOGICAL OPPOSITE
SB2 B2+1
NE B2,B5,SRD1 IF MORE DATA TO CHECK
* PROCESS REPEATED DATA.
SA2 SRDA
SX1 B1
NZ X2,SRDX IF DASHES ALREADY PRINTED
SX6 B1
SA6 A2+ SET REPEAT IN PROCESS FLAG
PRINT SRDC PRINT DASHES
SX1 B1 SET REPEAT PROCESSED
JP SRDX EXIT
* SAVE CURRENT BLOCK TO COMPARE WITH NEXT.
SRD3 MX6 0
SA6 SRDA CLEAR REPEAT FLAG
BX2 X1 SET DATA ADDRESS
MOVE B5,X2,SRDB
SX1 0 SET NO REPEAT SENSED
JP SRDX EXIT
SRDA BSS 1 REPEAT PROCESSING FLAG
SRDB BSS 20B PREVIOUS DATA BLOCK BUFFER
SRDC DATA 50H -------------------------------------------------
DATA 50H--------------------------------------------------
DATA 36C------------------------------------
SSB SPACE 4,7
** SSB - SPACEFILL STRING BUFFER.
*
* USES B - 6, 7.
*
* CALLS SBL.
SSB SUBR
SB6 136
SB7 PRBF
RJ SBL STORE BLANKS
JP SSBX EXIT
SVA SPACE 4,10
** SVA - GET ASID FROM SEGMENT TABLE OF XP.
*
* ENTRY ((B2)+0) = PVA.
* ((B2)+1) = EXCHANGE PACKAGE ADDRESS.
*
* EXIT (X6) = SVA.
* (X1) = SVA.
*
* USES A - 1, 2, 6.
* X - 1, 2, 6, 7.
* B - 2.
*
* CALLS NXB, PVM.
SVA SUBR ENTRY/EXIT
SA1 B2 GET SEGMENT NUMBER
SA2 B2+B1 GET EXCH PACKAGE ADDRESS
MX6 -32
BX7 -X6*X2
BX6 -X6*X1
SA6 SVAA SAVE BYTE OFFSET
AX2 32
AX1 32
IX6 X2-X1
NG X6,ERR44 IF BAD SEGMENT NUMBER
LX1 3
IX6 X7+X1 RMA OF SEGMENT DESCRIPTOR
RJ PVM POSITION VIRTUAL MEMORY
NZ X2,ERR30 IF PAGE NOT FOUND
RJ NXB GET NEXT BYTE
BX6 X1
SA6 STSDE SEGMENT TABLE DESCRIPTOR ENTRY
LX1 59-15
PL X1,ERR44 IF VALID BIT NOT SET FOR SEGMENT
RJ NXB GET ASID
SA2 SVAA GET BYTE OFFSET
ZR X1,ERR44 IF ASID IS ZERO
LX1 32
BX6 X1+X2 FORM SVA
BX1 X6
JP SVAX RETURN
SVAA DATA 0 BYTE OFFSET
SXH SPACE 4,14
** SXH - SET PPU XP HEADING IN PRINT STRING.
*
* ENTRY (B7) = PRINT STRING ADDRESS.
* (PP) = NUMBER OF LAST PP PROCESSED.
* (CPRA) = CURRENT XP ADDRESS.
*
* EXIT (X1) = 0 IF NO MORE TO PROCESS.
* PP, CPRA, AND B7 ARE UPDATED.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 2, 4, 6, 7.
* B - 6, 7.
*
* CALLS BPN, CTS, SBL, UPS.
SXH SUBR
SA1 PP
SA2 AC
BX3 X2
SA4 C4
IX2 X2+X4 ADD CPP-S
SX6 X1+B1 ADVANCE PPU NUMBER
IX1 X6-X2
ZR X1,SXHX IF NO MORE TO PROCESS
SX4 X6+ SAVE PPU NUMBER
SX7 X6-10
NG X7,SXH4 IF NOT UPPER 10 PPUS
SX3 X3-11
PL X3,SXH1 IF 20 PPU SYSTEM
SX6 X6+10 ADJUST FOR 10 PPU SYSTEM
EQ SXH2 PROCESS *CPP-S*
SXH1 SX7 X7-12B
NG X7,SXH3 IF NOT A *CPP*
SXH2 SX7 1
SA7 IC
SX6 X6-20-6 ADJUST FOR *CPP-S*
SXH3 SX6 X6+6 ADJUST FOR PP 20 - 30
SXH4 SA6 A1+ UPDATE PPU NUMBER
RJ BPN BUILD PPU NAME
SX6 X4+ RESET PPU NUMBER
SA6 PP
SA1 CPRA
SB6 5
SX6 X1+21B
SA6 A1 UPDATE XP ADDRESS
LX1 -15
RJ CTS CONVERT XP ADDRESS
SX6 1R
SX7 1R-
SA6 B7
SB7 B7+B1
SA7 B7
SB7 B7+B1
SA6 B7
SB7 B7+B1
SA2 BPNA+1 READ PP NAME
SB6 5
RJ UPS
SA2 =10H XP
SB6 3
RJ UPS
SB6 32
RJ SBL
SX1 1
JP SXHX EXIT
TOV SPACE 4,14
** TOV - PROCESS MANAGED TABLE OVERFLOW.
*
* ENTRY (B5) = -(NUMBER OF WORDS NEEDED).
* (B6) = RETURN ADDRESS.
* (FM) = CURRENT FIELD LENGTH.
* (F.TEND) = CURRENT END OF TABLE SPACE.
*
* EXIT FM, F.TEND ARE UPDATED.
*
* USES X - 0, 1, 6, 7.
* A - 1, 6, 7.
*
* MACROS MEMORY.
TOV SX6 -B5 NUMBER OF WORDS NEEDED
SX6 X6+1010B ROUND UP TO NEXT 1000 WORDS
MX0 -9
BX6 X0*X6
SA1 FM READ CURRENT FIELD LENGTH
IX7 X1+X6
ZR X6,ERR19 IF (B5) DESTROYED
SX6 X7-10B
SA7 A1 UPDATE CURRENT FIELD LENGTH
LX7 30
SA6 F.TEND UPDATE END OF TABLE SPACE POINTER
SA7 TOVA SET RFL REQUEST WORD
MEMORY CM,TOVA,R
JP B6 RETURN TO TABLE ALLOCATOR
TOVA BSS 1 RFL PARAMETER
TPF SPACE 4,15
** TPF - CYBER 180-990 PROCESSOR FILE.
*
* ENTRY ONLY IF ON A CYBER 180-990.
*
* EXIT DIRECTIVE PRORF PROCESSED; RECORDS PRF, PRG, AND
* PRH DISPLAYED.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 0, 1, 2, 3, 5, 6, 7.
* B - 3, 6, 7.
*
* CALLS CDD, CEP, DHR, FBP, FPR, HTS, LDC, NXB, SSB, UPS.
*
* MACROS PRINT.
TPF17 SA1 NR
NZ X1,TPF1 IF MORE RECORDS TO DISPLAY
TPF SUBR ENTRY/EXIT
RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
TPF1 RJ LDC LIST DIRECTIVE CARD
SA5 TPFA INITIALIZE RECORD TABLE POINTER
SX6 1 DISPLAY RADIAL MCI
* GET NEXT RECORD.
TPF2 SA1 A5 SET/CLEAR RECORD POINTER
MX0 18
BX7 X1
SA7 NR
SA1 A5+TPFE-TPFA GET RECORD ID
BX1 X0*X1
RJ FPR FIND PROCESSOR RECORD
ZR X2,ERR14 IF RECORD ID NOT IN DIRECTORY
SA1 NR SAVE POINTER TO SECOND RECORD
BX6 X1
SA6 A5
SA5 A5+B1 ADVANCE RECORD POINTER
SX3 B0
RJ FBP POSITION DUMP FILE
PRINT (=2C )
SA1 A5+TPFE-1-TPFA
RJ SSB SPACE FILL STRING BUFFER
SB3 X1
JP B3 PROCESS RECORD
* PROCESS *PRF* RECORD.
TPF3 PRINT (=C* IDU CURRENT INSTRUCTION REGISTER*)
SX6 -8
SA6 FW
TPF4 SX6 X6+8+1R0 DISPLAY REGISTER NUMBER
SA6 PRBF+5
SB7 PRBF+9
RJ DHR DISPLAY REGISTER
SA1 FW INCREMENT REGISTER NUMBER
SX6 X1+B1
SA6 A1
NZ X6,TPF4 IF NOT THROUGH WITH FIRST SEVEN WORDS
* PRINT NEXT HEADER.
RJ SSB
PRINT (=2C )
PRINT (=C* EXECUTING WORDS OF SOFT CONTROL MEMORIES*)
* PRINT NEXT 13 WORDS FROM PRF FILE.
TPF5 SA1 FW
SX6 X1+B1
SA6 A1
SA2 TPFB+X1 GET DESCRIPTOR
ZR X2,TPF6 IF AT END OF TABLE
SB7 PRBF
SB6 7+2
RJ UPS
RJ DHR DISPLAY REGISTER
JP TPF5 CHECK NEXT WORD
* PRINT NEXT HEADER.
TPF6 RJ SSB
PRINT (=2C )
PRINT (=C* ERROR INFORMATION TABLE *)
* PRINT NEXT 16 WORDS FROM PRF FILE.
SA0 16
TPF7 SX6 A0
BX6 -X6
SA6 FW
TPF8 SB7 PRBF+4
SB6 2
SX1 A0
IX1 X1+X6
RJ CDD
BX2 X6
LX2 59-11
RJ UPS
SB7 B7+3
RJ DHR DISPLAY REGISTER
SA1 FW
SX6 X1+B1
SA6 A1
NG X6,TPF8 IF MORE WORDS TO DISPLAY
EQ TPF2 GET NEXT RECORD
* PROCESS INSTRUCTION BUFFER STACK (*PIS*) RECORD.
TPF9 PRINT (=C* INSTRUCTION BUFFER STACK*)
SA0 64
EQ TPF7 DISPLAY RECORD
* PROCESS PROCESSOR REGISTER UNIT (*PRG*) RECORD.
TPF10 PRINT (=C* REGISTER UNIT*)
SX6 B0
SA6 FW INITIALIZE DIGIT
SA6 A6+B1 INITIALIZE DESCRIPTOR SHIFT COUNT
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
TPF11 SA1 LW GET SHIFT COUNT
SA2 TPFC GET DESCRIPTOR
SB3 X1
LX2 B3 POSITION DESCRIPTOR
SB6 B1+B1
SA1 A1-B1 GET DIGIT
SB7 PRBF+3
RJ UPS
LX1 59-3
SB6 B1
RJ HTS
SB7 B7+3
RJ DHR DISPLAY REGISTER
SA1 FW INCREMENT DIGIT
SX6 X1+B1
SA6 A1
SX7 X6-16
NZ X7,TPF11 IF LAST DIGIT .LE. F (HEX)
SA1 A1+B1 INCREMENT SHIFT COUNT
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
SX6 X1+12
SA6 A1
SX6 X6-48
ZR X6,TPF2 IF END OF REGISTERS
SX2 X6+24
SX6 8 SET FIRST DIGIT FOR *SA* OR *SX* REGISTERS
SA6 FW
NZ X2,TPF11 IF NOT *X* REGISTERS NEXT
SA7 A6
JP TPF11 CHECK NEXT WORD
* PROCESS PROCESSOR HISTORY FILE (*PRH*) RECORD.
TPF12 PRINT (=C* HISTORY FILE*)
SX6 B0
SA6 LW REGISTER NUMBER
SA6 A6-B1 TABLE POINTER
TPF13 SA2 FW
SX7 X2-3
NZ X7,TPF15 IF NOT END OF REGISTER
SA2 A2+B1 REGISTER NUMBER
ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
SX6 X2+B1 INCREMENT REGISTER NUMBER
SX3 X2-15
ZR X3,TPF17 IF END OF TABLE
SA6 A2
SA7 A6-B1 RESET TABLE POINTER
SB6 6
TPF14 RJ NXB SKIP 6*16 BITS OF ZEROS
SB6 B6-B1
NZ B6,TPF14 IF NOT THROUGH SKIPPING
TPF15 SA1 LW REGISTER NUMBER
SB7 PRBF
SB6 B1
LX1 59-3
RJ HTS HEX TO STRING
SA1 FW TABLE POINTER
SA2 TPFD+X1
SX6 X1+B1 INCREMENT POINTER
SA6 A1
SB7 PRBF+3
SB6 5+2
RJ UPS
SX5 3
NZ X1,TPF16 IF *A* OR *P* REGISTER
SX5 4
TPF16 SB7 B7+2
RJ NXB
SB6 4
LX1 59-15
SX5 X5-1
RJ HTS
NZ X5,TPF16 IF MORE REGISTER DATA TO DISPLAY
PRINT CCCH,B7-CCCH+1
JP TPF13 READ NEXT WORD IN TABLE
TPFA CON 0 SECOND *PRF* POINTER
CON 0 SECOND *PIS* POINTER
CON 0 SECOND *PRG* POINTER
CON 0 SECOND *PRH* POINTER
TPFB DATA C*ACU M2 *
DATA C*ACU M3 *
DATA C*ACU M4 *
DATA C*BDP *
DATA C* *
DATA C*EPN SCM*
DATA C*EPN ETM*
DATA C*IDU CS *
DATA C* *
DATA C*INU MAP*
DATA C*INU IBS*
DATA C*LSU *
DATA C*SVA BN *
CON 0
TPFC DATA C* ASA XSX*
TPFD DATA C*X-REG*
DATA C*A-REG*
DATA C*P, N *
CON 0
TPFE VFD 18/3LPRF,24/0,18/TPF3
VFD 18/3LPIS,24/0,18/TPF9
VFD 18/3LPRG,24/0,18/TPF10
VFD 18/3LPRH,24/0,18/TPF12
TRT SPACE 4,15
** TRT - DUMP TRACK RESERVATION TABLE.
*
* ENTRY (BUF) = MST WORDS.
*
* EXIT BUF CONTAINS MST AND TRT.
*
* USES X - 1, 2, 3, 6, 7.
* A - 1, 2, 6, 7.
* B - 2, 5, 6, 7.
*
* CALLS CTS, FDW, POM, P4F, SDI, SRD, SSB.
*
* MACROS GETCM, PRINT.
TRT SUBR
PRINT (=2C )
PRINT (=C* TRACK RESERVATION TABLE*)
PRINT (=2C )
SA1 BUF+TRLL SET FWA OF TRT
SX6 X1
SA6 CPRA
SA6 FW
SB2 A6
RJ POM POSITION TO TRT
SA1 BUF+TDGL SET TRT LENGTH
MX7 -12
AX1 24
BX7 -X7*X1
SA7 LW SET TRT LWA+1
GETCM BUF+MSTXL,X7 READ TRT INTO *BUF*
MX7 1
SA7 SRDA PRESET FIRST CALL TO *SRD*
SX6 B0
SA6 TRTA CLEAR LINK ORDINAL
SA6 TRTB CLEAR DATA WORD ORDINAL
SA6 SRDC+7 STOP DASHES AFTER 70 CHARACTERS
RJ SSB CLEAR PRINT STRING
TRT1 SA1 TRTB SET DATA ADDRESS
SX1 X1+BUF+MSTXL
SB5 1 SET WORD COUNT
RJ SRD SENSE REPEAT DATA
NZ X1,TRT2 IF REPEAT SENSED
SA1 FW GET TRT ADDRESS
SA2 TRTB
IX1 X1+X2
LX1 -18
SB6 6
SB7 PRBF
RJ CTS CONVERT TRT ADDRESS
SB7 B7+B1
SX6 1R+
SA6 B7
SB7 B7+B1
SA1 TRTA LINK ORDINAL
LX1 -12
SB6 4
RJ CTS CONVERT LINK ORDINAL
SB7 B7+2
SA2 =4000005B
SA1 TRTB READ TRT DATA WORD
SA1 X1+BUF+MSTXL
RJ FDW FORMAT DATA WORD
SB7 B7+B1
LX1 -12
RJ P4F LIST FIRST TRACK DIRECT FILE FLAGS
SB7 B7+1
RJ P4F LIST INTERLOCK FLAGS
SB7 B7+1
RJ P4F LIST RESERVATION FLAGS
SA2 TRTB RE-READ DATA WORD
SA2 X2+BUF+MSTXL
SB7 B7+2
SB6 10
RJ SDI SET DISPLAY CODE INTERPRETATION
PRINT CCCH,B7-CCCH
TRT2 SA1 TRTA
SX6 X1+4
SA6 A1+ UPDATE TRACK ORDINAL
SA1 TRTB
SX6 X1+B1
SA6 A1+ UPDATE TRT ADDRESS
SA2 LW
IX3 X6-X2
NG X3,TRT1 IF MORE TO DUMP
SA1 SRDC+1
BX6 X1
SA6 SRDC+7 PRESET DASHES FOR 136 CHARACTERS
JP TRTX EXIT
TRTA BSS 1 TRACK LINK ORDINAL
TRTB BSS 1 TRT DATA WORD ORDINAL
UCS SPACE 4,15
** UCS - UNPACK CHARACTER STRING.
* STRING IS DELIMITED BY 00 CHARACTER.
*
* ENTRY (A2) = FWA OF PACKED DATA.
* (X2) = FIRST WORD OF PACKED DATA.
* (B7) = FWA OF STRING BUFFER.
*
* EXIT (A2) = UPDATED.
* (B7) = UPDATED.
*
* USES X - 0, 2, 6.
* B - 5, 7.
* A - 2, 6.
UCS SUBR ENTRY/EXIT
UCS1 SX0 77B CHARACTER MASK
SB5 10 CHARACTER COUNT
UCS2 LX2 6
BX6 X0*X2
ZR X6,UCSX IF DELIMITER
SB5 B5-B1
SA6 B7 STORE CHARACTER
SB7 B7+B1 ADVANCE OUTPUT STRING POINTER
NZ B5,UCS2 IF MORE CHARACTERS IN THIS WORD
SA2 A2+1 READ NEXT WORD OF PACKED DATA
EQ UCS1 CONTINUE UNPACKING CHARACTER STRING
UPS SPACE 4,13
** UPS - UNPACK CHARACTERS TO STRING BUFFER.
* COLONS ARE REPLACED WITH SPACES.
*
* ENTRY A2 = FWA OF PACKED BUFFER.
* X2 = FIRST WORD OF PACKED DATA.
* B6 = NUMBER OF CHARACTERS TO UNPACK.
* B7 = FWA OF STRING BUFFER.
*
* EXIT A2 AND B7 ARE UPDATED.
*
* USES X - 0,2,6.
* B - 5,6,7.
* A - 2,6.
UPS SUBR
UPS1 SX0 77B CHARACTER MASK
SB5 10 CHARACTER COUNTER
UPS2 LX2 6
BX6 X0*X2
SB6 B6-B1 DECREASE COUNT
SB5 B5-B1
NZ X6,UPS3 IF NOT COLON CODE
SX6 1R REPLACE COLON WITH SPACE
UPS3 SA6 B7 STORE CHARACTER
SB7 B7+B1 ADVANCE OUTPUT STRING POINTER
ZR B6,UPSX IF NO MORE CHARACTERS TO UNPACK
NZ B5,UPS2 IF MORE CHARACTERS IN THIS WORD
SA2 A2+1 READ NEXT WORD OF PACKED DATA
EQ UPS1 CONTINUE
UPW SPACE 4,15
** UPW - UNPACK 60 BIT WORDS FROM 64 BIT WORDS.
*
* ENTRY FILE POSITIONED AT NEXT 16 WORD BLOCK.
*
* EXIT UBUF FILLED WITH 60 BIT WORDS.
* (X1) = FILE STATUS.
*
* USES X - 2, 3, 6, 7.
* A - 3, 6.
* B - 2.
*
* MACROS READW.
UPW SUBR ENTRY/EXIT
READW S,UBUF,16
SB2 B0
MX2 4
SA3 UBUF
UPW1 BX6 -X2*X3
SA3 A3+B1 GET SECOND PART OF WORD
BX7 X2*X3
BX6 X6+X7 FORM 60-BIT WORD
SB2 B2+4
LX6 B2
SA6 A3
ZR X2,UPWX IF BLOCK UNPACKED
AX2 4
EQ UPW1 EXTRACT NEXT 60-BIT WORD
VOL SPACE 4,10
** VOL - CHECK RECORD FOR TAPE VOLUME HEADER.
*
* ENTRY FROM *DRT*.
*
* EXIT TO *OTH* IF NOT FIRST RECORD.
* TO ERR46 IF FIRST RECORD.
VOL BSS 0
SA1 L.TDIR
NZ X1,OTH IF NOT FIRST RECORD
EQ ERR46 DISPLAY MESSAGE AND ABORT
WBS SPACE 4,15
** WBS - WRITE BLOCK TO FILE *S*.
*
* ENTRY (BWCS) = NUMBER OF WORDS TO WRITE.
*
* EXIT (RWCS) = UPDATED.
*
* USES A - 1, 5, 6.
* X - 1, 5, 6.
*
* MACROS WRITEW.
WBS SUBR ENTRY/EXIT
SA5 BWCS WORD COUNT
WRITEW S,BUF,X5 WRITE BLOCK
SA1 RWCS UPDATE RECORD SIZE
IX6 X1+X5
SA6 A1
EQ WBSX RETURN
BWCS CON 0 BLOCK WORD COUNT
RWCS CON 0 RECORD WORD COUNT
WOF SPACE 4,12
** WOF - WRITE LINE TO OUTPUT.
*
* ENTRY X1 = FWA OF LINE.
* X2 = WORD COUNT IF LINE IS IN *S* FORMAT.
* = 0 IF LINE IS IN *C* FORMAT.
* CCCH = CARRIAGE CONTROL CHARACTER RIGHT JUSTIFIED.
*
* SAVES X - 0,5.
* B - NONE.
* A - 0,5.
*
* CALLS CDD.
*
* MACROS CLOCK, WRITEC, WRITES, WRITEW.
WOF SUBR
SA3 TF CHECK FOR TERMINAL OUTPUT
ZR X3,WOF1 IF NOT TO TERMINAL
ZR X2,WOF3 IF *C* FORMAT
SB7 X2 CHARACTER COUNT
SA2 OF
WRITES X2,X1,B7
SX6 1R
SA6 CCCH
EQ WOFX RETURN
WOF1 SA3 LC ADVANCE LINE COUNT
SX6 X3+B1
SA6 A3
SA4 PD NUMBER OF LINES PER PAGE
IX7 X3-X4
NG X7,WOF2 IF BOTTOM OF PAGE NOT REACHED
BX6 X1 SAVE REQUEST
LX7 X2
SA6 WOFA
SA7 A6+1
SA1 PN ADVANCE PAGE NUMBER
SX6 B1 RESET LINE COUNT
SX7 X1+B1
SA6 A3
SA7 A1
RJ CDD CONVERT PAGE NUMBER
MX1 -12
LX6 4*6 STORE PAGE NUMBER
BX6 X1*X6
SA6 PAGE
CLOCK TIMM
SA2 OF
WRITEW X2,TITL,TITLL
WRITEW X2,SBTL,SBTLL
SA1 WOFA RESTORE REQUEST
SA2 A1+1
WOF2 NZ X2,WOF4 IF *S* FORMAT
SA2 CCCH CARRIAGE CONTROL CHARACTER
SA3 X1 READ FIRST WORD OF OUTPUT LINE
MX4 6
BX6 -X4*X3
LX2 -6
BX6 X6+X2 MERGE CARRIAGE CONTROL CHARACTER
SA6 X1+ UPDATE OUTPUT LINE
WOF3 SA2 OF
WRITEC X2,X1
JP WOFX EXIT
WOF4 SB7 X2
SA2 OF
WRITES X2,X1,B7
JP WOFX EXIT
WOFA DATA 0,0
XPH SPACE 4,13
** XPH - SET XP DIRECTIVE HEADER.
*
* ENTRY X5 = CURRENT CPU DIRECTORY WORD.
* A5 = ADDRESS OF CURRENT CPU DIRECTORY WORD.
* A0 = ADDRESS OF WHERE TO STORE EXCHANGE PACKAGE.
* B7 = PRINT STRING ADDRESS.
*
* EXIT X6 = CPU ON/OFF FLAG.
* A5 IS UPDATED TO RANDOM INDEX WORD.
*
* USES ALL REGISTERS.
*
* CALLS PDF,RDW=,UPS.
XPH SUBR
SA2 =21HHARDWARE REGISTERS -
SB6 21
RJ UPS
SX6 X5
SA5 A5+B1
ZR X6,XPH1 IF CPU IS ON
SA2 =3HOFF
SB6 3
RJ UPS
JP XPH2
XPH1 SA2 =2HON
SB6 2
RJ UPS
BX6 X5
SX3 B1
SA6 RI
RJ PDF POSITION TO EXCHANGE PACKAGE
READW S,A0,20B
XPH2 SA1 A5-B1
SX6 X1 SET CPU ON/OFF
JP XPHX EXIT
TITLE TABLES.
TLPP SPACE 4,10
** TLPP - TABLE OF LOGICAL PP NUMBERS.
*
* ONE WORD ENTRY FOR EACH PP CONTAINING THE CURRENT LOGICAL
* PP NUMBER FOR THAT PP.
TLPP CON 0 PP00
CON 1 PP01
CON 2 PP02
CON 3 PP03
CON 4 PP04
CON 5 PP05
CON 6 PP06
CON 7 PP07
CON 10B PP10
CON 11B PP11
CON 20B PP20
CON 21B PP21
CON 22B PP22
CON 23B PP23
CON 24B PP24
CON 25B PP25
CON 26B PP26
CON 27B PP27
CON 30B PP30
CON 31B PP31
SPACE 4
USE END FORCE LITERALS
IDENT
SEG
END BSS 0 END OF PROGRAM BINARY
TITLE BUFFERS AND TABLE SPACE.
BUFFERS SPACE 4
** MISCELLANEOUS WORKING BUFFERS.
BUF BSS 1002B BINARY WORKING BUFFER
BUFL EQU *-BUF
USBB BSS 0 STRING BUFFER
CHAR BSS 81 DIRECTIVE CARD STRING BUFFER
PBUF BSS 10000B/5+1 PPU DATA BUFFER
PBUFL EQU *-PBUF
IUBUFL1 EQU 0#1000*16/60+4 4K PRINT BUFFER LENGTH
IUBUFL2 EQU 0#2000*16/60+2 8K PRINT BUFFER LENGTH
IUBUFL3 EQU 0#10600*16/60+2
IUBUFL4 EQU 0#4000*16/60+2 16K PRINT BUFFER LENGTH
BSS IUBUFL2-PBUFL
MRBF BSS 8
PSAV BSS PPSA
CCCH BSS 1 CARRIAGE CONTROL CHARACTER
PRBF BSS 136 OUTPUT PRINT STRING BUFFER
SSBF BSS 0 SUBSYSTEM LOW CORE WORKING BUFFER
SSBFL MAX /BIO/BUFR+1,/MTX/TVSP+1,/REM/TXORG+1
BSS SSBFL
UBUF BSS 16 UNPACK BUFFER
SPACE 4
** FILE BUFFERS AND TABLE SPACE.
IBUF BSS IBUFL DIRECTIVE INPUT FILE BUFFER
JBUF BSS JBUFL ALTERNATE INPUT FILE BUFFER
OBUF BSS OBUFL LIST OUTPUT FILE BUFFER
ABUF BSS ABUFL ALTERNATE OUTPUT FILE BUFFER
FBUF BSS FBUFL DUMP INPUT FILE BUFFER
SBUF BSS SBUFL BINARY SCRATCH FILE BUFFER
BBUF BSS BBUFL BML MAINTENANCE REGISTER FILE BUFFER
MEML BSS TMIN+10B MANAGED TABLE SPACE
MFL= BSS 0 MINIMUM FL NEEDED FOR EXECUTION
ORG END
SPACE 4
END