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