Table of Contents

DSDI

Table Of Contents

  • [00011] DSDI - EXPRESS DEAD START DUMP INTERPRETER.
  • [00013] EXPRESS DEAD START DUMP INTERPRETER.
  • [00299] ASSEMBLY CONSTANTS.
  • [00326] SUB-SYSTEM COMMON DECKS.
  • [00403] MACRO DEFINITIONS.
  • [00405] CARD - GENERATE DIRECTIVE PROCESSOR TABLE ENTRY.
  • [00424] FIELD - GENERATE TABLE FIELD DESCRIPTOR.
  • [00482] GETCM - READ 60-BIT CM WORDS FROM DUMP FILE.
  • [00501] PRINT - PRINT LINE.
  • [00520] RFDSC - REGISTER FILE DESCRIPTOR BUILDER.
  • [00547] SCLASS - DEFINE SERVICE CLASS TABLE.
  • [00573] STBL - SET TABLE POINTERS.
  • [00593] S2BIT - CREATE BIT DEFINITIONS FOR THE CYBER 170-8×5.
  • [00612] SXREG - CREATE MAINTENANCE REGISTER TABLE ENTRYS FOR THE
  • [00650] FETS AND CONTROL STORAGE.
  • [00680] BFMB - BML FILE MESSAGE BLOCK.
  • [00910] MANAGED TABLES.
  • [00912] TCMT - CENTRAL MEMORY TABLES.
  • [00921] TDIR - BINARY DUMP FILE RANDOM DIRECTORY.
  • [00930] TNFL - NEGATIVE FIELD LENGTH TABLE.
  • [00936] TSCR - SCRATCH TABLE.
  • [00943] TSC1 - SCRATCH TABLE.
  • [00947] MAIN PROGRAM.
  • [00949] MAIN PROGRAM.
  • [01127] ERROR PROCESSORS.
  • [01297] PNE - PROCESS NON-FATAL ERROR.
  • [01362] COMMON DECKS.
  • [01395] OPERATING SYSTEM TABLE DESCRIPTORS.
  • [01410] TFLC - LOW CORE POINTER DESCRIPTORS.
  • [01800] TFCP - CONTROL POINT AREA FIELD DESCRIPTORS.
  • [02110] TFEJ - EXECUTING JOB TABLE FIELD DESCRIPTORS.
  • [02144] TFES - EQUIPMENT STATUS TABLE FIELD DESCRIPTORS.
  • [02170] TFFN - SYSTEM FILE NAME TABLE FIELD DESCRIPTORS.
  • [02194] TFMS - MASS STORAGE TABLE FIELD DESCRIPTORS.
  • [02315] TFJC - JOB CONTROL AREA FIELD DESCRIPTORS.
  • [02380] TFEB - FIELD DESCRIPTORS FOR THE EI COMMUNICATIONS
  • [02487] TFQF - QUEUED FILE TABLE FIELD DESCRIPTORS.
  • [02523] TFSD - STATISTICAL DATA AREA FIELD DESCRIPTIONS.
  • [02578] TSCT - SERVICE CLASS CONTROL TABLE.
  • [02629] TCPR - CPU REQUEST QUEUE FIELD DESCRIPTORS.
  • [02655] TPPR - PP REQUEST QUEUE FIELD DESCRIPTORS.
  • [02677] TCRL - CPU RECALL QUEUE FIELD DESCRIPTORS.
  • [02696] TPRL - PP RECALL QUEUE FIELD DESCRIPTORS
  • [02719] TFTT - IAF TERMINAL TABLE FIELD DESCRIPTORS.
  • [02773] TFMT - IAF MESSAGE STATUS TABLE FIELD DESCRIPTORS.
  • [02795] TFMU - MAGNET UNIT DESCRIPTOR TABLE FIELD DESCRIPTORS.
  • [02925] TLCW - *BDT* LIST CONTROL WORD FIELD DESCRIPTORS.
  • [02958] TIBS - I/O BUFFER STATISTICS TABLE FIELD DESCRIPTORS.
  • [02978] TPLT - PP LINK TABLE FIELD DESCRIPTORS.
  • [03014] TCBE - CONTROL BUFFER TABLE FIELD DESCRIPTORS.
  • [03075] TCCE - CHANNEL CONTROL TABLE FIELD DESCRIPTORS.
  • [03108] TFTE - FUNCTION TIMEOUT TABLE FIELD DESCRIPTORS.
  • [03129] THAE - HASH TABLE FIELD DESCRIPTORS.
  • [03150] TPUE - PHYSICAL UNIT TABLE FIELD DESCRIPTORS.
  • [03238] DIRECTIVE PROCESSING - MAIN ROUTINES.
  • [03673] TCTP - TABLE OF CONTROLLER TYPE PARAMETERS.
  • [07064] TMNO - TABLE OF MODEL NUMBER OFFSETS.
  • [08260] SPUA - VALID PARAMETER TABLE.
  • [08750] BML MAINTENANCE REGISTER FILE SUBROUTINES.
  • [08752] CBF - CREATE BML MAINTENANCE REGISTER FILE.
  • [09017] MRET - MAINTENANCE REGISTER ERROR ELEMENTS TABLE.
  • [09033] DRA - DERIVE R-FORMAT ADDRESS.
  • [09058] FOM - FIND OLDEST M/R ENTRY.
  • [09118] GMR - GET MAINTENANCE REGISTER.
  • [09143] LMB - LOCATE M/R BUFFER.
  • [09182] PBH - PROCESS BML HEADER.
  • [09215] PBL - PROCESS BML.
  • [09345] TM9E - TABLE OF MODEL 990 SPECIAL ERRORS.
  • [09406] RDB - RESET DATA BLOCK.
  • [09425] SMR - STORE MAINTENANCE REGISTER.
  • [09489] SMS - SET MESSAGE SIZE IN BML HEADER.
  • [09514] TBM - TERMINATE BML MESSAGE.
  • [09572] SUBROUTINES.
  • [09574] APP - ANALYZE PPU.
  • [09725] ASD - ASSEMBLE DIGITS.
  • [09747] ASN - ASSEMBLE NAME.
  • [09792] ASP - ANALYZE SELECTED PPUS.
  • [09879] ASX - ASSEMBLE HEXADECIMAL DIGITS.
  • [09905] ATC - ASSEMBLE TRACK CHAIN.
  • [09999] BCP - BEGIN CONTROL POINT DUMP.
  • [10022] BPN - BUILD PPU NAME.
  • [10070] BST - DUMP BUFFER STATUS TABLE.
  • [10155] CCM - PROCESS *CCM* (CRITICAL *NOS/VE* MEMORY) RECORDS.
  • [10168] CCQ - CHECK FOR CIRCULAR QUEUE.
  • [10194] CEA - CHECK *EI* ADDRESS.
  • [10218] CEP - CHECK FOR EXTRANEOUS PARAMETERS.
  • [10235] CKC - CRACK AND PROCESS DIRECTIVE CARD.
  • [10277] CLE - CHECK FOR LAST TABLE ENTRY.
  • [10301] CMB - CHECK MEMORY BOUNDS.
  • [10334] CMP - PROCESS *CM* RECORD.
  • [10381] CNL - CHECK NFL LENGTH.
  • [10406] COF - COMPLETE OUTPUT FILES.
  • [10453] CPC - CHECK PAGE CHANGE.
  • [10496] CPD - COPY PP DATA TO BUFFER.
  • [10523] CPN - CONVERT PP/CPP NUMBER.
  • [10547] CPS - CHECK PAGE SPACE REMAINING.
  • [10571] CRA - COMPUTE CONTROL POINT REFERENCE ADDRESS.
  • [10594] CRS - COPY RECORD TO S.
  • [10618] CSI - COLLECT SEGMENT INFORMATION.
  • [10638] CST - CREATE SUBTITLE LINE.
  • [10694] CTS - CONVERT TO STRING BUFFER.
  • [10719] CVB - CONVERT *NOS/VE* BUFFER.
  • [10755] CVE - CHECK CONTROLLER DATA VERIFICATION ERROR.
  • [10784] DBB - DUMP BATCHIO BUFFER POINTS.
  • [11145] DBP - DUMP BATCHIO PPUS.
  • [11164] DBT - DUMP BUFFERED DEVICE TABLE.
  • [11307] DCA - DUMP JOB DAYFILE POINTERS AND BUFFER.
  • [11338] DCC - DUMP FIELD LENGTH IN *C* FORMAT.
  • [11379] DCD - DUMP FIELD LENGTH IN *D* FORMAT.
  • [11385] DCE - DUMP FIELD LENGTH IN *E* FORMAT.
  • [11391] DCF - DUMP ATTACHED FILES.
  • [11426] DCG - DUMP CONTROL POINT AREA IN *C* FORMAT.
  • [11468] DCI - DUMP CONTROL POINT AREA IN *E* FORMAT.
  • [11474] DCJ - DUMP CONTROL POINT AREA IN *D* FORMAT.
  • [11480] DCM - DUMP CONTROL POINT EXTENDED MEMORY (USER ECS)
  • [11554] DCN - DUMP NEGATIVE FIELD LENGTH IN *D* FORMAT.
  • [11716] DCP - DUMP CONTROL POINT.
  • [11762] DCQ - DUMP AND ANALYZE ALL ACTIVE PPUS ASSOCIATED WITH
  • [11783] DCT - DUMP PARAMETERS IN DETAIL.
  • [11806] DCX - PRINT CONTROL POINT EXCHANGE PACKAGE,
  • [11929] DDB - DISPLAY *DFT* BLOCK.
  • [11966] DFI - DUMP FILE INFORMATION.
  • [12167] DFT - PROCESS DFT MESSAGE AND DFT/OS BUFFER.
  • [12412] DHC - DUMP RHF FIELD LENGTH.
  • [12425] DHP - DUMP RHF PPU-S.
  • [12443] DHR - DISPLAY HEX REGISTER.
  • [12468] DMB - DISPLAY MESSAGE BUFFER.
  • [12503] DMP - DUMP MAGNET PPUS.
  • [12518] DMQ - DUMP MAGNET QUEUE TABLE.
  • [12567] DMR - DUMP MAINTENANCE REGISTERS.
  • [12758] DMS - DUMP MAGNET TAPE PF STAGING TABLES.
  • [12801] DMU - DUMP MAGNET UNIT DESCRIPTOR TABLES.
  • [12866] DNN - PROCESS CPP-S.
  • [12890] DOS - DISPLAY OCTAL DIGITS WITH LEADING ZERO SUPPRESSION.
  • [12926] DOT - DUMP ORDINAL TABLE.
  • [13005] DPB - DISPLAY PPU BYTE.
  • [13054] DPN - DISPLAY PROCEDURE NAME.
  • [13132] DPO - DUMP PP OVERLAY.
  • [13196] DPP - DUMP PPU/FLPP IN *P* FORMAT.
  • [13268] DPQ - DUMP PPU/FLPP IN *Q* FORMAT.
  • [13318] DRT - DETERMINE RECORD TYPE.
  • [13403] DSM - DUMP SIXTY-FOUR BIT MEMORY.
  • [13570] DSP - DUMP 16-BIT PP.
  • [13660] DSS - DUMP SUB-SYSTEM.
  • [13705] DST - DUMP STAGING TABLE.
  • [13741] DTB - DUMP TABLE.
  • [13783] DTC - DUMP IAF COMMAND TABLE.
  • [13891] DTE - DUMP IAF REENTRY TABLE.
  • [13942] DTI - DUMP TABLE WITH INTERPRETATION.
  • [14029] DTL - DUMP IAF POT LINK TABLE AND POTS.
  • [14173] DTP - DUMP IAF PPUS.
  • [14193] DTQ - DUMP TEN BYTES IN *Q* FORMAT.
  • [14250] DTT - DUMP IAF TERMINAL TABLES.
  • [14389] ECS - PROCESS *ECS* RECORD.
  • [14416] ERF - POSITION TO EOR ON FILE F.
  • [14433] ERS - END RECORD ON S-FILE.
  • [14467] EVA - EXPAND VIRTUAL ADDRESS.
  • [14494] FAC - FIND ASSIGNED CHANNEL.
  • [14537] FBB - FILL BYTE BUFFER.
  • [14637] FBP - FIND BYTE POSITION.
  • [14669] FDW - FORMAT DATA WORD.
  • [14694] FEM - FORMAT ENTRY POINT MAP LINE.
  • [14754] FFD - FIND FWA OF DISK BUFFER AREA IN EXTENDED MEMORY.
  • [14798] FLC - FORMAT PPU LOW CORE ANALYSIS LINE.
  • [14960] FOL - FORMAT ONE LINE OF *P* DUMP.
  • [15003] FON - FORMAT PPU OVERLAY NAME LINE.
  • [15098] FPB - FILL PAGE BUFFER.
  • [15195] FPL - FORMAT PPU COMMUNICATION REGISTER WORD.
  • [15316] FPO - FORMAT PP OPERATING REGISTERS LINE.
  • [15404] FPP - FIND PPU PROGRAM.
  • [15459] FPR - FIND PROCESSOR RECORD.
  • [15520] FPW - FORMAT CONTROL POINT PARAMETER LINE.
  • [15887] FPX - FIND AND PACK EXCHANGE PACKAGE.
  • [15987] FRV - FETCH REGISTER VALUE.
  • [16014] FSC - FORMAT STATUS/CONTROL REGISTER CONTENTS.
  • [16047] FTR - FORMAT TWO PP COMMUNICATION REGISTERS.
  • [16095] FXA - FORMAT EXCHANGE AREA.
  • [16290] FXC - FORMAT EXCHANGE PACKAGE REGISTER ADDRESS CONTENTS.
  • [16328] FXW - FORMAT EXCHANGE PACKAGE WORD.
  • [16477] GAT - GET ADDRESS TOKEN.
  • [16598] GCS - GET CPU STATUS.
  • [16628] GDA - GET DFT/OS BUFFER FWA (DFT CONTROL WORD).
  • [16653] GDB - GET DAYFILE BUFFER.
  • [16789] GEE - GET EJT ENTRY.
  • [16837] GFL - GET FL AND RA.
  • [16863] GHA - GET HARDWARE ADDRESS.
  • [16968] GID - GET ELEMENT IDENTIFIER.
  • [16994] GNF - GET NEXT FILE.
  • [17081] GPS - GET PP SAVE AREA ENTRY.
  • [17239] GRV - GET R-REGISTER VALUE.
  • [17294] GSR - GET SELECTED RECORD.
  • [17341] GTD - GENERATE DETAILED TABLE DUMP.
  • [17392] GTE - GET TABLE ENTRY.
  • [17456] GXA - GET EXCHANGE PACKAGE ADDRESS.
  • [17488] HTS - HEX TO STRING BUFFER.
  • [17516] ICT - INITIALIZE CHANNEL TABLE.
  • [17547] IMR - PROCESS IOU MAINTENANCE REGISTER RECORD.
  • [17585] IPA - INITIALIZE FOR PPU ANALYSIS.
  • [17625] IPD - INITIALIZE FOR PPU/FLPP DUMP.
  • [17672] IOQ - DISPLAY IOU IN LINE FORMAT.
  • [17777] IPO - INSPECT PPU OCTAL BLOCK FORMAT.
  • [17843] IPX - INSPECT PPU HEX BLOCK FORMAT.
  • [17918] ISM - INITIALIZE FOR SIXTY-FOUR BIT MEMORY PROCESSING.
  • [17963] ISS - INITIALIZE FOR SUB-SYSTEM DUMP.
  • [18034] LDC - LIST DIRECTIVE CARD.
  • [18070] LDD - LOAD DUMP DIRECTORY.
  • [18111] LPW - LOAD 12 BIT WORD.
  • [18153] MEM - PROCESS CENTRAL MEMORY RECORD.
  • [18216] MRT - DUMP MACHINE RECOVERY TABLE.
  • [18320] MST - DUMP MASS STORAGE TABLE.
  • [18367] NPE - NEXT PAGE ENTRY.
  • [18433] NXB - GET NEXT BYTE FROM RECORD.
  • [18505] OTH - PROCESS MISCELLANEOUS RECORD.
  • [18533] PBB - PRINT BYTE BUFFER
  • [18631] PBC - PACK BUFFER CONTROLLER.
  • [18922] PCH - PRINT CONTROL POINT DUMP HEADING.
  • [18973] PCM - POSITION CYBER MEMORY.
  • [19006] PCS - PROCESSOR CONTROL STORE.
  • [19031] PCV - PROCESS CONTROLLER DATA VERIFICATION.
  • [19192] PCW - PRINT CONTENTS OF SUB-SYSTEM WORDS.
  • [19243] PDB - PRINT DAYFILE BUFFER.
  • [19400] PDF - POSITION DUMP FILE.
  • [19441] PDP - PRINT DAYFILE POINTERS.
  • [19478] PEC - PRINT EIGHT CONTROL POINTS.
  • [19603] PEN - PRINT BUFFERED DEVICE TABLE ENTRY NUMBER.
  • [19626] PER - PROCESS ERROR EXIT.
  • [19660] PFS - PRINT FILE SUMMARY.
  • [19789] PIO - PRESET INPUT AND OUTPUT FILES.
  • [19833] PKS - PACK CHARACTERS FROM STRING BUFFER.
  • [19863] PMD - PROCESS MEMORY DUMP.
  • [19989] PNF - PRINT NEGATIVE FL AREA.
  • [20022] POM - POSITION CM/EXTENDED MEMORY.
  • [20046] PPB - PRINT PAGE BUFFER.
  • [20134] PPE - PROCESS PREMATURE EOF.
  • [20151] PPO - PACK PP OPERATING REGISTERS.
  • [20249] PRS - PRESET PROGRAM.
  • [20348] PSM - POSITION SIXTY-FOUR BIT MEMORY.
  • [20379] PTC - PRINT TRACK CHAIN.
  • [20421] PTL - PRINT TABLE LINE.
  • [20498] PTX - POSITION TO EXCHANGE PACKAGE.
  • [20559] PVM - POSITION VIRTUAL MEMORY.
  • [20583] PXH - PRINT PPU XP HEADING.
  • [20612] PXM - PRINT MULTIPLE EXCHANGE PACKAGES.
  • [20729] PXP - PRINT PPU EXCHANGE PACKAGES.
  • [20778] P4F - PRINT FOUR BIT FLAGS.
  • [20805] RBC - READ BUFFER CONTROLLER MEMORY.
  • [20842] RBF - READ UP TO 512 WORDS OR TO EOR FROM FILE F.
  • [20895] RBH - READ BLOCK OR HEADER RECORD.
  • [20936] RBI - RANDOMIZE BINARY INPUT FILE.
  • [21083] RBT - READ DATA IN BYTE FORMAT.
  • [21168] RCM - READ 60-BIT CM.
  • [21209] RCW - READ CYBER WORD.
  • [21252] RDC - READ DIRECTIVE INPUT CARD.
  • [21298] RDR - READ DUMP RECORD.
  • [21333] RMB - READ MEMORY BYTES.
  • [21380] RMR - READ MAINTENANCE REGISTER.
  • [21416] RNF - READ NEGATIVE FL OF CONTROL POINT.
  • [21462] RPB - READ PPU BYTE.
  • [21490] RPD - READ PPU DATA TO CORE.
  • [21561] RSP - RESET PRINT DENSITY SELECTION.
  • [21614] RST - READ SYSTEM TABLES.
  • [21758] RUC - RESET USER SELECTED CONTROLS.
  • [21786] SAI - SET ASCII INTERPRETATION.
  • [21818] SBC - SELECT NEXT BUFFER CONTROLLER CHANNEL.
  • [21904] SBL - STORE BLANKS IN PRINT LINE.
  • [21924] SCH - SET SC DIRECTIVE HEADER.
  • [21950] SCM - SET CENTRAL MEMORY.
  • [21985] SCP - SELECT NEXT CONTROL POINT/PSEUDO-CONTROL POINT TO DUMP.
  • [22100] SET DISPLAY CODE INTERPRETATION.
  • [22133] SDT - SEARCH DESCRIPTOR TABLE.
  • [22161] SEA - SET EXCHANGE ADDRESS FOR CYBER 176.
  • [22184] SEC - SET EXTENDED CORE STORAGE.
  • [22237] SEM - SET UNIFIED EXTENDED MEMORY.
  • [22266] SFP - SEARCH FOR PAGE.
  • [22324] SFR - SEARCH FOR REGISTER.
  • [22366] SHA - SET HEX ADDRESSES.
  • [22426] SLP - SET LOGICAL PP IN MESSAGE.
  • [22462] SMT - SELECT MASS STORAGE TABLE TO DUMP.
  • [22558] SNO - SELECT NEXT LIST OPTION.
  • [22589] SNP - SELECT NEXT PPU/FLPP TO DUMP.
  • [22638] SPA - SELECT NEXT PPU TO ANALYZE.
  • [22740] SPD - SET UP PP/CPP/FLPP DUMP
  • [22794] SPP - SET CYBER 170-8×5 PROCESSOR POINTERS.
  • [22850] SPT - SEARCH CYBER 170-8×5 PAGE TABLE.
  • [22912] SRA - SET REFERENCE ADDRESS.
  • [22939] SRD - SUPPRESS REPEATED DATA.
  • [23000] SSB - SPACEFILL STRING BUFFER.
  • [23013] SVA - GET ASID FROM SEGMENT TABLE OF XP.
  • [23058] SXH - SET PPU XP HEADING IN PRINT STRING.
  • [23126] TOV - PROCESS MANAGED TABLE OVERFLOW.
  • [23159] TPF - CYBER 180-990 PROCESSOR FILE.
  • [23385] TRT - DUMP TRACK RESERVATION TABLE.
  • [23478] UCS - UNPACK CHARACTER STRING.
  • [23506] UPS - UNPACK CHARACTERS TO STRING BUFFER.
  • [23537] UPW - UNPACK 60 BIT WORDS FROM 64 BIT WORDS.
  • [23567] VOL - CHECK RECORD FOR TAPE VOLUME HEADER.
  • [23579] WBS - WRITE BLOCK TO FILE *S*.
  • [23603] WOF - WRITE LINE TO OUTPUT.
  • [23675] XPH - SET XP DIRECTIVE HEADER.
  • [23713] TABLES.
  • [23715] TLPP - TABLE OF LOGICAL PP NUMBERS.
  • [23746] BUFFERS AND TABLE SPACE.

Source Code

DSDI.txt
  1. IDENT DSDI,I
  2. ABS
  3. SST
  4. SYSCOM B1
  5. ENTRY DSDI
  6. ENTRY MFL=
  7. ENTRY SSJ=
  8. NOREF .BI,.OW,.NW
  9. *COMMENT DSDI - DEAD START DUMP INTERPRETER.
  10. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  11. TITLE DSDI - EXPRESS DEAD START DUMP INTERPRETER.
  12. DSDI SPACE 4,10
  13. *** DSDI - EXPRESS DEAD START DUMP INTERPRETER.
  14. *
  15. * J.E. LAKE 75/01/31.
  16. * J.R. HILDEBRAND 75/07/15.
  17. * M.A. DOLCE 81/12/01.
  18. DSDI SPACE 4,10
  19. *** *DSDI* READS AN EXPRESS DEADSTART DUMP TAPE AND FORMATS
  20. * SELECTED PORTIONS FOR LISTING. THE OUTPUT FORMAT IS
  21. * CONTROLLED BY DIRECTIVES READ FROM A DIRECTIVE INPUT FILE.
  22. SPACE 4,10
  23. *** COMMAND FORMAT.
  24. *
  25. * DSDI(P1,P2,...,PN)
  26. *
  27. * WHERE PN MAY BE ANY OF THE FOLLOWING-
  28. *
  29. * I OMITTED READ DIRECTIVES FROM FILE *INPUT*.
  30. * I=NAME READ DIRECTIVES FROM FILE *NAME*.
  31. *
  32. * F OMITTED READ EXPRESS DUMP FROM FILE *DUMP*.
  33. * F=NAME READ EXPRESS DUMP FROM FILE *NAME*.
  34. *
  35. * B OMITTED NO BML FILE IS CREATED.
  36. * B=NAME BML MAINTENANCE REGISTER MESSAGES ARE
  37. * ON FILE *NAME*.
  38. *
  39. * L OMITTED LISTING IS ON FILE *OUTPUT*.
  40. * L=NAME LISTING IS ON FILE *NAME*.
  41. *
  42. * NR OMITTED DUMP FILE IS REWOUND BEFORE PROCESSING.
  43. * NR DUMP FILE IS NOT REWOUND.
  44. *
  45. * PD OMITTED PRINT DENSITY IS 6 LINES PER INCH.
  46. * PD PRINT DENSITY IS 8 LINES PER INCH.
  47. * PD=N PRINT DENSITY IS N LINES PER INCH WHERE N
  48. * MAY BE 3, 4, 6 OR 8.
  49. *
  50. * D D IF THE DUMP FILE IS NOT IN RANDOM
  51. * FORMAT ON MASS STORAGE, IT IS COPIED
  52. * TO A SCRATCH FILE WITH A RANDOM DIR-
  53. * ECTORY. THE SCRATCH FILE IS THEN
  54. * RENAMED WITH THE NAME OF THE ORIGINAL
  55. * DUMP FILE AND THE ORIGINAL FILE IS
  56. * RETURNED.
  57. * D=NAME PROCESSING IS IDENTICAL EXCEPT THAT THE
  58. * RANDOM DUMP FILE IS WRITTEN TO FILE
  59. * *NAME*, AND THE ORIGINAL DUMP FILE IS NOT
  60. * RETURNED.
  61. *
  62. * DMB NEEDED IF FILE FROM THE *DMB* OR *LOADBC*
  63. * UTILITY IS TO BE ANALYZED. (SEE NOTE)
  64. *
  65. * FULL NEEDED IF *NOS V/E* AREA OF MEMORY
  66. * IS TO BE ANALYZED. (SEE NOTE)
  67. *
  68. * P USE LOW CORE POINTERS FROM RUNNING SYSTEM
  69. * RATHER THAN THOSE IN DUMP FILE.
  70. *
  71. * Z DIRECTIVES ARE ONLY ON THE COMMAND.
  72. * THIS OVERRIDES THE *I* PARAMETER IF
  73. * SPECIFIED. THE COMMAND FORMAT IS -
  74. *
  75. * DSDI(...)TDDDDTDDDDTDDDD...
  76. *
  77. * *T* IS THE DIRECTIVE SEPERATOR. IT IS THE
  78. * FIRST CHARACTER FOLLOWING THE COMMAND
  79. * TERMINATOR AND MAY BE ANY CHARACTER THAT
  80. * WILL NOT BE USED IN A DIRECTIVE.
  81. * *DDDD* REPRESENTS ANY LEGAL DSDI DIRECTIVE.
  82. *
  83. * NOTE ON THE *DMB* PARAMETER-
  84. * *DSDI* MAY BE USED TO ANALYZE A FILE PRODUCED BY THE
  85. * *DMB* OR *LOADBC* UTILITY WHEN THIS PARAMETER IS PRESENT.
  86. *
  87. * ONLY THE *BCDUMP* DIRECTIVE CAN BE USED TO ANALYZE
  88. * THE CONTROLWARE DUMP FILE FROM *LOADBC*.
  89. *
  90. * TO ANALYZE THE FILE FROM THE *DMB* UTILITY, USE
  91. * DIRECTIVES AS THOUGH THE JOB HAD BEEN RUNNING AT
  92. * CONTROL POINT ONE. SINCE *DMB* DOES NOT CARRY ALL
  93. * SYSTEM INFORMATION, ONLY THE EXCHANGE PACKAGE,
  94. * THE FIELD LENGTH OF THE DUMPED CONTROL POINT AND DUMPED
  95. * USER EXTENDED MEMORY ARE AVAILABLE. USE THE FOLLOWING
  96. * DIRECTIVES-
  97. * CP,1 TO DUMP EXCHANGE PACKAGE
  98. * RAC,1/C,FWA,LWA TO DUMP CM IN *C* FORMAT
  99. * RAC,1/D,FWA,LWA TO DUMP CM IN *D* FORMAT
  100. * RA,0/EC/C,FWA,LWA DUMPS EXTENDED MEMORY IN *C* FORMAT
  101. * RA,0/EC/D,FWA,LWA DUMPS EXTENDED MEMORY IN *D* FORMAT
  102. *
  103. * NOTE ON THE *FULL* PARAMETER-
  104. * *FULL* MUST BE PRESENT IN ORDER TO PROCESS DUMP RECORDS
  105. * BEYOND THE *NOS* PORTION OF MEMORY FROM 180-CLASS MACHINES.
  106. * BESIDES THE *NOS V/E* PORTION OF MEMORY, THIS ALSO INCLUDES
  107. * EXTERNAL EXTENDED MEMORY (ESM OR *STORNET*) AND BUFFER
  108. * CONTROLLER DUMP RECORDS.
  109. SPACE 4,10
  110. *** ERROR PROCESSING.
  111. *
  112. * ARITHMETIC (RANGE) ERRORS ARE INTERCEPTED
  113. * BY *REPRIEVE* AND JOB EXECUTION IS RESUMED
  114. * AT *ERR19*.
  115. DSDI SPACE 4,10
  116. *** DAYFILE MESSAGES.
  117. *
  118. * * B PARAMETER NOT ALLOWED WITH DMB DUMP FILE.*
  119. * IF THE DUMP FILE TO BE ANALYZED IS FROM THE
  120. * *DMB* UTILITY, A BML FILE CANNOT BE CREATED.
  121. *
  122. * * CM RECORD NOT FOUND.*
  123. * CENTRAL MEMORY RECORD NOT FOUND IN DUMP FILE.
  124. *
  125. * * DIRECTORY TABLE BAD.*
  126. * DIRECTORY TABLE ON RANDOM FILE NOT CORRECT LENGTH.
  127. *
  128. * * DSDI ARGUMENT ERROR.*
  129. * AN UNKNOWN KEYWORD WAS ENCOUNTERED.
  130. *
  131. * * DSDI ERROR LIMIT EXCEEDED.*
  132. * TOO MANY ERRORS WERE DETECTED.
  133. *
  134. * * EXPRESS DUMP COMPLETE (FL USED XXXXXXB)*
  135. * DUMP COMPLETED NORMALLY.
  136. *
  137. * * MAINTENANCE REGISTER RECORD NOT FOUND.*
  138. * MAINTENANCE REGISTER RECORD NOT FOUND IN DUMP FILE.
  139. *
  140. * * NO ERRORS REPORTED IN MAINTENANCE REGISTERS.*
  141. * NO BML MESSAGES WERE WRITTEN TO THE BML MAINENANCE
  142. * REGISTER MESSAGE FILE BECAUSE NO ERRORS WERE
  143. * REPORTED IN THE STATUS SUMMARY REGISTERS.
  144. *
  145. * * WARNING - INCOMPLETE DUMP FILE.*
  146. * AN UNEXPECTED EOF WAS DETECTED WHILE COPYING
  147. * THE EDD FILE TO A RANDOM FILE DURING INITIALIZATION.
  148. * PROCESSING WILL CONTINUE USING THE DATA COPIED SO FAR.
  149. DSDI SPACE 4,10
  150. *** ERROR MESSAGES.
  151. *
  152. * *ALTERNATE FILE ACTIVE*
  153. * ALTERNATE FILE WAS ALREADY BEING PROCESSED.
  154. *
  155. * *ALTERNATE OUTPUT TO TERMINAL INCORRECT*
  156. * ALTERNATE FILE WAS SPECIFIED TO TERMINAL.
  157. *
  158. * *BAD SYSTEM POINTER*
  159. * A BAD SYSTEM POINTER WAS DETECTED IN DUMP FILE.
  160. *
  161. * *DIRECTIVE NOT MEANINGFUL.*
  162. * THE *MPP.* DIRECTIVE WAS ENTERED WHEN ONLY 10 PPU-S
  163. * EXIST OR WHEN THE MACHINE IS A CYBER 170 WITH LESS
  164. * THAN 20 PPU-S, THE *MPP,N1.* DIRECTIVE WAS ENTERED
  165. * WITH N1=0, THE *PMS* DIRECTIVE WAS ENTERED ON A
  166. * NON-CYBER 170, OR THE VALUE N1 ON THE *PMS,N1.*
  167. * DIRECTIVE WAS THE SAME AS THE CURRENT VALUE OF THE
  168. * SELECT SWITCHES IN THE S/C REGISTER.
  169. *
  170. * *DIRECTIVE PARAMETER ERROR*
  171. * AN ERROR WAS DETECTED IN A DIRECTIVE PARAMETER.
  172. *
  173. * *DIRECTIVE RESTRICTED TO PRINTER OUTPUT*
  174. * A DIRECTIVE THAT IS RESTRICTED TO PRINTER OUTPUT WAS
  175. * SPECIFIED.
  176. *
  177. * *DIRECTIVE RESTRICTED TO TERMINAL OUTPUT*
  178. * A DIRECTIVE THAT IS RESTRICTED TO TERMINAL OUTPUT WAS
  179. * SPECIFIED.
  180. *
  181. * *DIRECTIVE SHOULD HAVE NO PARAMETERS.*
  182. * NO PARAMETER VALUES ARE USED BY THE
  183. * INDICATED DIRECTIVE.
  184. *
  185. * * DMB FILE FORMAT ERROR.*
  186. * THE FILE BEING ANALYZED WITH THE *DMB* PARAMETER
  187. * PRESENT IS NOT IN THE CORRECT FORMAT.
  188. *
  189. * *EXTENDED MEMORY RECORD NOT FOUND*
  190. * EXTENDED CORE STORAGE RECORD NOT FOUND IN DUMP FILE.
  191. *
  192. * *HARDWARE REGISTERS NOT FOUND*
  193. * HARDWARE REGISTERS RECORD NOT FOUND IN DUMP FILE.
  194. *
  195. * *INCORRECT CONTROL POINT NUMBER*
  196. * SPECIFIED CONTROL POINT NUMBER WAS GREATER THAN
  197. * SYSTEM CONTROL POINT NUMBER, OR THE NUMERIC FORMAT
  198. * WAS INCORRECT.
  199. *
  200. * *INCORRECT FILE NAME*
  201. * AN INCORRECT FILE NAME WAS SPECIFIED.
  202. *
  203. * *INCORRECT PRINT DENSITY SELECTION*
  204. * AN INCORRECT PRINT DENSITY WAS SPECIFIED OR THE SYSTEM
  205. * VALUE FOR LINES PER PAGE IS SO SMALL THAT IT CAUSES
  206. * THE SPECIFIED DENSITY TO BE UNUSABLE.
  207. *
  208. * *INCORRECT PRINT OPTION SELECTION*
  209. * AN INCORRECT PRINT OPTION WAS SPECIFIED.
  210. *
  211. * *INSUFFICIENT NFL SPACE.*
  212. * CONTROL POINT BEING DUMPED WITH *CP* DIRECTIVE
  213. * HAS A NEGATIVE FIELD LENGTH OF LESS THAN THE
  214. * DEFAULT VALUE.
  215. *
  216. * *INCORRECT DISK BUFFER NUMBER.*
  217. * THE DISK BUFFER NUMBER ON THE DIRECTIVE
  218. * WAS GREATER THAN THAT OF THE LAST DISK BUFFER
  219. * WITH THE SPECIFIED MACHINE ID.
  220. *
  221. * *INCORRECT MACHINE ID.*
  222. * THE MACHINE ID USED TO SEARCH THE I/O
  223. * BUFFER DEFINITION TABLE IN EXTENDED MEMORY
  224. * WAS NOT FOUND.
  225. *
  226. * *NO ACTIVE DISK BUFFERS.*
  227. * NO DISK BUFFERS IN EXTENDED MEMORY HAVE NONZERO
  228. * ACTIVITY COUNTS IN THEIR CORRESPONDING CONTROL
  229. * BUFFER TABLE ENTRIES.
  230. *
  231. * *NO BUFFERED DEVICES DEFINED.*
  232. * DISK BUFFERS ARE NOT DEFINED ON THE DUMP FILE.
  233. *
  234. * *PAGE DESCRIPTOR ENTRY NOT FOUND.*
  235. * THE CYBER 170-8XX PAGE DESCRIPTOR ENTRY FOR A CM
  236. * ADDRESS WAS NOT FOUND.
  237. *
  238. * *PARAMETER CHARACTER COUNT EXCEEDED.*
  239. * MORE THAN TEN CHARACTERS WERE USED WITH ONE PARAMETER.
  240. *
  241. * *PPU NOT FOUND*
  242. * REQUESTED PPU RECORD NOT FOUND IN DUMP FILE.
  243. *
  244. * * PVA WITH RING = 0.*
  245. * A CM ADDRESS FOR A CYBER 170-8XX HAS AN INCORRECT RING
  246. * VALUE. THE VALUE MUST BE IN THE RANGE OF 1 TO 15.
  247. *
  248. * *RECORD NOT FOUND*
  249. * SPECIFIED RECORD NAME NOT FOUND IN SPECIFIED FILE.
  250. *
  251. * *REQUESTED MEMORY NOT FOUND*
  252. * REQUESTED MEMORY WAS NOT FOUND IN DUMP FILE.
  253. *
  254. * *RESIDENT CENTRAL LIBRARY EMPTY.*
  255. * NO PROGRAMS WERE FOUND IN THE RESIDENT CENTRAL
  256. * LIBRARY IN THE DUMP FILE.
  257. *
  258. * * SEGMENT MISSING.*
  259. * THE SEGMENT ID PART OF A CYBER 170-8XX ADDRESS IS
  260. * INCORRECT OR THE SEGMENT CANNOT BE FOUND IN THE
  261. * SEGMENT TABLE.
  262. *
  263. * *SELECTED DEVICE NOT MASS STORAGE.*
  264. * AN EST ORDINAL SPECIFIED WITH THE *MST*
  265. * DIRECTIVE WAS NOT THAT OF A MASS STORAGE DEVICE.
  266. *
  267. * *SELECTED ENTRY BEYOND TABLE BOUNDARY.*
  268. * THE ENTRY NUMBER SELECTED TO BE DUMPED FROM
  269. * THE DESIRED BUFFERED DEVICE TABLE WAS
  270. * GREATER THAN THAT OF THE LAST TABLE ENTRY.
  271. *
  272. * *STATUS/CONTROL REGISTERS NOT FOUND*
  273. * STATUS/CONTROL REGISTERS RECORD NOT FOUND IN DUMP
  274. * FILE.
  275. *
  276. * *SUBSYSTEM NOT FOUND*
  277. * A SUBSYSTEM WAS NOT FOUND IN DUMP FILE.
  278. *
  279. * *TAPE MUST BE REQUESTED AS LABELED*
  280. * AN *EDD* TAPE WAS REQUESTED AS UNLABELED.
  281. *
  282. * *UNRECOGNIZABLE DIRECTIVE*
  283. * AN UNRECOGNIZABLE DIRECTIVE WAS ENCOUNTERED.
  284. *
  285. * *USER EXTENDED MEMORY NOT DEFINED*
  286. * NO USER EXTENDED MEMORY SPACE WAS DEFINED IN THE CMR
  287. * WORD *ECRL*.
  288. *
  289. * *WORD ADDRESS NOT FOUND*
  290. * WORD ADDRESS SPECIFIED NOT FOUND IN SPECIFIED RECORD
  291. * ON DUMP FILE.
  292. *
  293. * *PROBE TABLE NOT AVAILABLE.*
  294. * THE PROBE TABLE IS IN AN INDETERMINANT STATE BECAUSE
  295. * IT WAS INTERLOCKED AT THE TIME OF THE DUMP.
  296. *
  297. * *PROBE NOT ENABLED.*
  298. * PROBE WAS NOT ENABLED AT DEADSTART TIME.
  299. TITLE ASSEMBLY CONSTANTS.
  300. SPACE 4
  301. **** ASSEMBLY CONSTANTS.
  302.  
  303.  
  304. TMIN EQU 16000B MINIMUM TABLE SPACE TO RUN
  305. IBUFL EQU 200B DIRECTIVE INPUT FILE BUFFER LENGTH
  306. OBUFL EQU 1001B OUTPUT FILE BUFFER LENGTH
  307. ABUFL EQU 1001B ALTERNATE OUTPUT FILE BUFFER LENGTH
  308. FBUFL EQU 3007B DUMP INPUT FILE BUFFER LENGTH
  309. JBUFL EQU 200B ALTERNATE INPUT FILE BUFFER LENGTH
  310. SBUFL EQU 1000B BINARY SCRATCH FILE BUFFER LENGTH
  311. BBUFL EQU 1001B BML FILE BUFFER LENGTH
  312. CPLEN EQU 200B LENGTH OF EACH CONTROL POINT AREA
  313. LRCL EQU 100B NUMBER OF RCL ENTRIES
  314. LRPL EQU 400B NUMBER OF RPL ENTRIES
  315. NERR EQU 50 NUMBER OF ERRORS ALLOWED
  316. MAXP EQU 20 MAXIMUM NUMBER OF PPU-S
  317. DMBCM EQU 1000B CMR SIZE IN WORDS FOR DMB MODE
  318. ****
  319. SPACE 4,10
  320. * *DSP* FLAG BIT EQUIVALENCES.
  321.  
  322.  
  323. FRCS EQU 2 ROUTE TO CENTRAL SITE
  324. FRTI EQU 4 TID OR FM/UN
  325. FRDC EQU 20B DISPOSITION CODE
  326. TITLE SUB-SYSTEM COMMON DECKS.
  327. ORG 110B
  328. SPACE 4
  329. ** SYMBOLIC COMMON DECKS.
  330.  
  331.  
  332. *CALL COMCCMD
  333. *CALL COMCMAC
  334. *CALL COMCMTM
  335.  
  336.  
  337. QUAL BIO
  338. BASE M
  339. *CALL COMSBIO
  340. BASE *
  341. QUAL *
  342.  
  343. QUAL DFT
  344. *CALL COMSDFT
  345. QUAL *
  346.  
  347. QUAL$S EQU 0
  348. *CALL COMSDFS
  349.  
  350. QUAL HIO
  351. *CALL,COMSHIO
  352. QUAL *
  353.  
  354. QUAL IOU
  355. *CALL COMSIOU
  356. QUAL *
  357.  
  358. *CALL,COMSMMF
  359.  
  360. QUAL VE
  361. *CALL COMSDST
  362. QUAL *
  363.  
  364. *CALL COMSMSC
  365. *CALL COMSMTR
  366.  
  367. QUAL MSP
  368. *CALL COMSMSP
  369. QUAL *
  370.  
  371. QUAL MTX
  372. *CALL COMSMTX
  373. QUAL *
  374.  
  375. QUAL REM
  376. *CALL COMSREM
  377. QUAL *
  378.  
  379. *CALL COMSSCR
  380.  
  381. *CALL,COMSSSD
  382.  
  383. QUAL SSJ
  384. *CALL COMSSSJ
  385. QUAL *
  386.  
  387. QUAL 1DS
  388. *CALL COMS1DS
  389. QUAL *
  390.  
  391. QUAL COMS176
  392. *CALL COMS176
  393. QUAL *
  394.  
  395. QUAL DSL MUST FOLLOW *COMSMTX* CALL
  396. *CALL COMSDSL
  397. QUAL *
  398. SPACE 4,10
  399. ** COMMON DECK EQUIVALENCES.
  400.  
  401.  
  402. DSDL EQU /1DS/DSDL
  403. TITLE MACRO DEFINITIONS.
  404. CARD SPACE 4,6
  405. ** CARD - GENERATE DIRECTIVE PROCESSOR TABLE ENTRY.
  406. *
  407. * CARD R,NAME,ERR
  408. * R = RESTRICTIONS - *P* IF ONLY FOR PRINTER OUTPUT.
  409. * *T* IF ONLY FOR TERMINAL.
  410. * NAME = DIRECTIVE NAME.
  411. * ERR = ERROR RETURN ADDRESS.
  412.  
  413.  
  414. NOREF /DIRECT/.A
  415. CARD MACRO R,NAME,ERR
  416. .A SET 0
  417. IFC EQ,*R*P*,1
  418. .A SET 40B
  419. IFC EQ,*R*T*,1
  420. .A SET 20B
  421. VFD 6/.A,18/0,18/ERR,18/NAME
  422. ENDM
  423. FIELD SPACE 4,20
  424. ** FIELD - GENERATE TABLE FIELD DESCRIPTOR.
  425. *
  426. * DESCRIPTOR FORMAT -
  427. *
  428. *T WORD0 6/ IND,18/ DIGIT WIDTH,18/ FIRST DIGIT,18/ WORD ORDINAL
  429. *T WORD1 60/ DISPLAY CODE DESCRIPTION OF FIELD
  430. *T WORD2 60/ *
  431. *T WORD3 60/ *
  432. *
  433. * FIELD O,( DESCRIPTION ),F,W,I
  434. *
  435. * *DESCRIPTION* MUST BE 27 CHARACTERS LONG.
  436. * O = WORD ORDINAL.
  437. * F = FIRST BIT NUMBER (LEFTMOST BIT IS 59).
  438. * W = FIELD WIDTH IN BITS.
  439. * I - NON-BLANK IF WORD ORDINAL CONTAINS A POINTER TO
  440. * WORD CONTAINING WORD ORDINAL IN BITS 17-0.
  441. *
  442. * FIELD BOUNDARIES MUST BE ON 3 BIT DIGIT
  443. * BOUNDARIES.
  444.  
  445.  
  446. NOREF .A,.B
  447. FIELD MACRO O,D,F,W,I
  448. .A SET 59D-F
  449. ERRNZ .A-.A/3*3 STARTING BIT NOT ON 3-BIT BOUNDARY
  450. ERRNZ W-W/3*3 DIGIT WIDTH NOT ON 3-BIT BOUNDARY
  451. IFC NE,$I$$,2
  452. .B SET 1
  453. SKIP 1
  454. .B SET 0
  455. .C MICRO 1,1,$O$
  456. IFC LT,$".C"$0$,1
  457. SKIP 5
  458. IFC GT,$".C"$9$,1
  459. SKIP 3
  460. VFD 6/.B,18/W/3,18/.A/3,18/O_B
  461. .BA MICRO 1,, B
  462. SKIP 2
  463. VFD 6/.B,18/W/3,18/.A/3,18/O
  464. .BA MICRO 1,,
  465. DATA 27H_D
  466. .1 IFC EQ,/I//
  467.  
  468. * VALIDATE WORD AND BIT PARAMETERS.
  469.  
  470. .NW SET O".BA"
  471. .BI IFEQ F,59D
  472. ERRNZ .NW-.OW-1 SEQUENCE ERROR - WORD O
  473. ERRNZ .BI SEQUENCE ERROR - WORD O, BIT F
  474. .BI ELSE
  475. ERRNZ F-.BI SEQUENCE ERROR - WORD O, BIT F
  476. .BI ENDIF
  477. .OW SET .NW
  478. .BI MAX F-W,0
  479. .1 ENDIF
  480. ENDM
  481. GETCM SPACE 4,10
  482. ** GETCM - READ 60-BIT CM WORDS FROM DUMP FILE.
  483. *
  484. * GETCM FWA,N
  485. *
  486. * IF *FWA,N* IS MISSING, ONE WORD IS READ TO X6.
  487. *
  488. * CALLS RCM.
  489.  
  490.  
  491. GETCM MACRO FWA,N
  492. .A IFC NE,*FWA**
  493. R= B6,FWA
  494. R= B7,N
  495. .A ELSE
  496. SB6 B0
  497. .A ENDIF
  498. RJ RCM READ CM
  499. ENDM
  500. PRINT SPACE 4,8
  501. ** PRINT - PRINT LINE.
  502. *
  503. * PRINT FWA,N
  504. *
  505. * IF *N* IS MISSING, LINE IS IN *C* FORMAT.
  506. * IF *N* IS PRESENT, LINE IS IN *S* FORMAT.
  507. *
  508. * CALLS WOF.
  509.  
  510.  
  511. PRINT MACRO FWA,N
  512. R= X1,FWA
  513. IFC NE,*N**,1
  514. R= X2,N
  515. IFC EQ,*N**,1
  516. SX2 B0
  517. RJ WOF
  518. ENDM
  519. RFDSC SPACE 4,15
  520. ** RFDSC - REGISTER FILE DESCRIPTOR BUILDER.
  521. *
  522. * DSC2 RFDSC RN,DSC1
  523. *
  524. * RN = REGISTER NUMBER.
  525. * DSC1 = LARGE DESCRIPTOR.
  526. * DSC2 = TWO CHARACTER REGISTER NAME.
  527. *
  528. * CREATES A WORD OF THE FORM:
  529. *
  530. * VFD 9/RN,17/0,17/2RDSC2,17/DSC1
  531.  
  532.  
  533. MACRO RFDSC,D2,RN,D1
  534. VFD 9/0#_RN,17/0
  535. .A IFC NE,$D2$$
  536. VFD 17/2R_D2
  537. .A ELSE
  538. VFD 17/0
  539. .A ENDIF
  540. .B IFC NE,$D1$$
  541. VFD 17/=C*D1*
  542. .B ELSE
  543. VFD 17/0
  544. .B ENDIF
  545. ENDM
  546. SCLASS SPACE 4,15
  547. ** SCLASS - DEFINE SERVICE CLASS TABLE.
  548. *
  549. * SCLASS NM,MN,DF,ST,TX
  550. *
  551. * ENTRY *NM* = SERVICE CLASS NAME.
  552. * *MN* = TWO CHARACTER MNEMONIC.
  553. * *DF* = DAYFILE MESSAGE CHARACTER.
  554. * *ST* = SHORT TEXT FOR *QFTLIST*.
  555. * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
  556. *
  557. * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
  558. * THIS MACRO.
  559.  
  560.  
  561. PURGMAC SCLASS
  562.  
  563. SCLASS MACRO NM,MN,DF,ST,TX
  564. .SCL RMT
  565. DATA 10L_NM TX
  566. .SCL RMT
  567. SCLASS ENDM
  568.  
  569.  
  570. SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
  571. *CALL COMSSCD
  572. STBL SPACE 4,10
  573. ** STBL - SET TABLE POINTERS.
  574. *
  575. * STBL TBL
  576. *
  577. * TBL = TABLE NAME.
  578. *
  579. * EXIT (B2) = TABLE POINTER.
  580. * (X3) = SUBTITLE.
  581. * (X6) = TABLE DESCRIPTOR POINTER.
  582. * (X7) = TABLE ENTRY LENGTH.
  583.  
  584.  
  585. STBL MACRO TBL
  586. R= B2,TBL_P
  587. SA3 =10H_TBL 0000
  588. R= X7,TBL_E
  589. .A MICRO 1,2,$TBL$
  590. R= X6,TF_".A"
  591. ENDM
  592. S2BIT SPACE 4,10
  593. ** S2BIT - CREATE BIT DEFINITIONS FOR THE CYBER 170-8X5.
  594. *
  595. * S2BIT POS,DESC,FLAGS
  596. *
  597. * POS = BIT POSITION TO BE DESCRIBED (OCTAL).
  598. * DESC = DESCRIPTION OF THE BIT.
  599. * FLAGS = MACHINES ON WHICH THE DESCRIPTION IS VALID.
  600. *
  601. * CREATES A WORD OF THE FORM
  602. *
  603. * VFD 9/POS,17/FLAGS,17/0,17/=C*DESC*
  604.  
  605.  
  606. S2BIT MACRO POS,DESC,F
  607. LOCAL FLG
  608. FLG EQU F 77B
  609. VFD 9/POS,17/FLG,34/=C*DESC*
  610. ENDM
  611. SXREG SPACE 4,15
  612. ** SXREG - CREATE MAINTENANCE REGISTER TABLE ENTRYS FOR THE
  613. * C170-SX MAINFRAMES.
  614. *
  615. * SXREG REG,DEFMSG,BITDEF,FLAGS
  616. *
  617. * REG = MAINTENANCE REGISTER NUMBER.
  618. * DEFMSG = DESCRIPTION OF THE MAINTENANCE REGISTER.
  619. * BITDEF = LIST OF BIT DEFINITIONS FOR REGISTER.
  620. * FLAGS = LIST OF VALID PROCESSORS.
  621. *
  622. * CREATES A WORD OF THE FORM:
  623. *
  624. * VFD 9/REG,17/FLAGS,17/BITDEF,17/DEFMSG
  625.  
  626.  
  627. SXREG MACRO R,D,B,F
  628. LOCAL FLG
  629. FLG EQU F 77B
  630. VFD 9//IOU/_R,17/FLG
  631. .A IFC NE,$B$$
  632. VFD 17/B
  633. .A ELSE
  634. VFD 17/0
  635. .A ENDIF
  636. .B IFC NE,$D$$
  637. VFD 17/=C*D*
  638. .B ELSE
  639. VFD 17/0
  640. .B ENDIF
  641. ENDM
  642.  
  643. S1 EQU 1S1
  644. S2 EQU 1S2
  645. I2 EQU S2
  646. S3 EQU 1S3
  647. THETA EQU 1S4
  648. I4A EQU 1S4 MODEL 40 IOU
  649. I4S EQU 1S5 MODEL 42 IOU
  650. TITLE FETS AND CONTROL STORAGE.
  651. ORG 110B
  652. FETS SPACE 4
  653. ** FILE ENVIRONMENT TABLES.
  654.  
  655.  
  656. I BSS 0 DIRECTIVE INPUT FILE
  657. INPUT FILEC IBUF,IBUFL,(FET=6)
  658.  
  659. J BSS 0 ALTERNATE INPUT FILE
  660. ALTINP FILEC JBUF,JBUFL,(FET=6)
  661.  
  662. F BSS 0 BINARY INPUT FILE
  663. DUMP FILEB FBUF,FBUFL,(FET=7)
  664.  
  665. F1 BSS 0 REFORMATTING SCRATCH FILE
  666. ZZZZZG1 FILEB SBUF,SBUFL,(FET=8)
  667.  
  668. L BSS 0 LISTING OUTPUT FILE
  669. OUTPUT FILEC OBUF,OBUFL,(FET=6)
  670.  
  671. A BSS 0 ALTERNATE LIST FILE
  672. ALTRNT FILEC ABUF,ABUFL,(FET=8)
  673.  
  674. S BSS 0 BINARY SCRATCH FILE
  675. ZZZZZG0 RFILEB SBUF,SBUFL,(FET=8)
  676.  
  677. B BSS 0 BML MAINTENANCE REGISTER FILE
  678. BML FILEB BBUF,BBUFL,(FET=8)
  679. BFMB SPACE 4,30
  680. ** BFMB - BML FILE MESSAGE BLOCK.
  681. *
  682. * NOTE - REVISION C OF THE BML INTERFACE SPECIFICATIONS
  683. * WAS FOLLOWED.
  684. *
  685. *T,BFMB 1/P, 17/ 0, 18/ PMS, 6/ 0, 18/ CMS
  686. *T 12/ CMS, 12/ 0, 36/ PDT
  687. *T 60/ JOBID
  688. *T 12/ MSGID, 12/ SYM, 6/ 0, 6/ 17B, 12/ 0, 12/ SEQ
  689. *T 6/ M, 6/ D, 6/ 0, 6/ F, 36/ 0
  690. *T 60/ DATA
  691. *T 60/ DATA
  692. *T 60/ DATA
  693. *T 60/ DATA
  694. *
  695. * P = PARITY FLAG.
  696. * PMS = PREVIOUS MESSAGE SIZE.
  697. * CMS = CURRENT MESSAGE SIZE.
  698. * PDT = PACKED DATE AND TIME.
  699. * JOBID = JOB IDENTIFICATION.
  700. * MSGID = MESSAGE IDENTIFICATION.
  701. * SYM = SYMPTOM CODE.
  702. * SEQ = DFT SEQUENCE NUMBER.
  703. * M = MESSAGE CONTENT FLAGS.
  704. * BIT 54 SET INDICATES SUPPORTIVE STATUS BUFFER DATA.
  705. * BIT 55 SET INDICATES MODEL DEPENDENT BUFFER DATA.
  706. * D = DFT REVISION LEVEL.
  707. * F = FLAG FIELD.
  708. * DATA = BML MAINTENANCE REGISTERS.
  709. *
  710. * NOTE - IF THE BLOCK LENGTH (*BFMBL*) CHANGES, *P*
  711. * MAY NEED TO BE SET TO MAINTAIN ODD PARITY.
  712.  
  713.  
  714. BFMB BSS 0 BML FILE MESSAGE BLOCK
  715.  
  716. VFD 1/0,17/0,18/0,6/0,18/BFMBL
  717. VFD 12/BFMBL,12/0,36/0
  718. VFD 60/10H SYS S.
  719. VFD 12/HM0250,12/0,6/0,6/17B,12/0,12/0
  720. VFD 6/0,6/0,6/0,6/4,36/0
  721. BFHL EQU *-BFMB HEADER LENGTH
  722.  
  723. BFBD BSS 4 DATA BLOCK
  724. BFBDL EQU *-BFBD DATA BLOCK LENGTH
  725.  
  726. BFMBL EQU *-BFMB-1 BML FILE MESSAGE BLOCK LENGTH
  727.  
  728. BFBDA BSS 48-4 ADDITIONAL MODEL DEPENDENT DATA BLOCK
  729. BFBDAL EQU *-BFBD DATA BLOCK LENGTH
  730.  
  731. BFBI BSS 1 DATA BLOCK INDEX
  732. SPACE 4,10
  733. ** REPRIEVE PARAMETER BLOCK.
  734. SPACE 2,10
  735. RPVB VFD 36/0,12/31B,12/0
  736. VFD 30/0,30/PER
  737. BSSZ 27B
  738. CONTROL SPACE 4
  739. ** CONTROL STORAGE CELLS.
  740.  
  741.  
  742. AC CON 0 ACTUAL NUMBER OF PPU-S IN SYSTEM
  743. AF CON 0 ALTERNATE INPUT ACTIVE FLAG
  744. AM CON 0 *ALLMEM* FLAG
  745. AO CON 0 ADDRESS OFFSET
  746. AP CON 0 ADVANCED PROCESSOR
  747. BA CON 0 REFERENCE ADDRESS FOR DUMP
  748. BD CON 0 BINARY DUMP MODE FLAG
  749. BE CON 0 HIGH-SPEED DEVICE I/O TABLE ENTRY IN *BDT*
  750. BF CON 0 BML MAINTENANCE REGISTER FILE NAME
  751. BI CON 0 INDEX INTO UBUF
  752. CE CON 0 CM EXTENSION ON MAINFRAME
  753. CF CON 1 ZERO IF CYBER 176 MAINFRAME
  754. CH CON 0 INPUT DIRECTIVE STRING BUFFER POINTER
  755. CI CON 0 CENTRAL MEMORY BLOCK RANDOM INDEX
  756. CL CON 0 CONTROL POINT DUMP LIST OPTIONS
  757. CN CON 0 CONTROL POINT NUMBER UNDER ANALYSIS
  758. CO DATA 0LXTAF DEFAULT LIST OPTIONS FOR CP/PCP DUMP
  759. C4 CON 0 NUMBER OF CCP-S OR CCH-S
  760. DA CON 0 FWA OF DISK BUFFER AREA
  761. DP CON 0 NUMBER OF DIRECTIVES PROCESSED
  762. DR CON 0 CONVERT DUMP INPUT FILE TO RANDOM FILE
  763. EB CON 0 EMPTY BML FILE FLAG
  764. EC CON 0 ERROR COUNTER
  765. ED CON 0 *EDD* DUMP
  766. EE CON 0 EXTENDED MEMORY SELECTION ERROR FLAG
  767. EH CON 0,0 *EIC* RECORD HEADER + RANDOM INDEX
  768. EI CON 0 *EI* RELATIVE ADDRESS FLAG
  769. EM CON 0 EXTENDED MEMORY SHIFT COUNT
  770. EQ CON 0 *EQDE* WORD FROM EST ENTRY
  771. FI CON 0 POINTER FOR FNT SEARCH
  772. FC CON 0 FL OF CONTROL POINT UNDER ANALYSIS
  773. FM CON 0 CURRENT FIELD LENGTH
  774. FN CON 0 INITIAL FIELD LENGTH
  775. FW CON 0 FIRST WORD ADDRESS FOR DUMP
  776. LW CON 0 LAST WORD ADDRESS+1 FOR DUMP
  777. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  778. IC CON 0,0 *CPP* PROCESSING FLAG / *NPP*/*CPP* FLAG
  779. ID CON 0 RECORD ID
  780. IO CON 1 IOU TYPE (0 = I4A OR I4S IOU)
  781. K4 CON 0 FLAG FOR CONTROLLER SIZE
  782. MB CON 0 MEMORY BASE ADDRESS (FOR ECM)
  783. ME CON 0 NUMBER OF MCT ENTRIES
  784. MH CON 0,0 *MEM* RECORD HEADER + RANDOM INDEX
  785. MI CON 0 MEMORY BLOCK RANDOM INDEX
  786. MT CON 0 MEMORY TYPE (NON-ZERO = ESM)
  787. NC CON 0 NUMBER OF CONTROL POINTS IN SYSTEM
  788. NP CON 0 NUMBER OF PP COMMUNICATION AREAS IN SYSTEM
  789. NR CON 0 NEXT RECORD POINTER
  790. OP CON 0 PCPA OFFSET
  791. PC CON 0 PP COMMUNICATION AREA POINTER
  792. PF CON 0 LOW CORE POINTER FLAG
  793. PI CON 0 SEARCH POINTER FOR PPU/CONTROL POINT DUMPS
  794. PP CON 0 NUMBER OF PPU TO ANALYZE
  795. PS CON 4096 PP MEMORY SIZE
  796. RC CON 0 RA OF CONTROL POINT UNDER ANALYSIS
  797. RI CON 0 RANDOM ADDRESS FOR RECORD BEING DUMPED
  798. SSJ= EQU /SSJ/SSJP DEFINE *SSJ=* PRIVILEGES
  799. UA CON 0 USER CONTROLLED REFERENCE ADDRESS
  800. UE CON 0 USER EXTENDED MEMORY SHIFT COUNT
  801. UI CON 0 USER CONTROLLED MEMORY BLOCK RANDOM INDEX
  802. US DATA 10H 0000000 USER CONTROLLED SUBTITLE
  803. DATA 10HCM
  804. VE CON 0 *NOS V/E* MEMORY PRESENT
  805. XB CON 0 MEMORY BOUNDS REAL BYTE ADDRESS
  806. XH CON 0 MEMORY RECORD VALID FWA
  807. XI CON 0 MEMORY RECORD RANDOM INDEX
  808. XL CON 0 MEMORY RECORD VALID LWA+1
  809. XM CON 0 MEMORY RECORD PAGE SIZE MASK
  810. ZF CON 0 COMMAND DIRECTIVES FLAG
  811.  
  812. * OUTPUT LIST CONTROLS - ORDER MUST BE PRESERVED.
  813.  
  814. OF CON L LIST FILE FET POINTER
  815. CC DATA 1R CARRIAGE CONTROL CHARACTER
  816. EF CON 0 NO AUTO EJECT FLAG
  817. LC CON 100 LINE NUMBER
  818. PD CON LINP-3 NUMBER OF LINES PER PAGE
  819. PN CON 1 PAGE NUMBER
  820. TF CON 0 TERMINAL FLAG
  821. LISTING SPACE 4
  822. ** LISTING TITLE LINES.
  823.  
  824.  
  825. TITL BSS 0 LISTING TITLE LINE
  826. DATA 10H1RA =
  827. TITL1 DATA 50H
  828. TITL2 DATA 10H
  829. DATA 20H DSDI
  830. DATE DATA 10H
  831. TIMM DATA 10H
  832. DATA 10H PAGE
  833. PAGE DATA 10H
  834. TITLL EQU *-TITL
  835.  
  836. SBTL BSS 0 LISTING SUBTITLE LINE
  837. DATA 10H
  838. SBTL1 DATA 10H
  839. SBTL2 DATA 50H
  840. DATA 30H
  841. SBTL3 DATA 36C
  842. DATA 2C
  843. SBTLL EQU *-SBTL
  844. SPACE 4,10
  845. ** CYBER 170-8X5 PROCESSOR POINTERS.
  846.  
  847.  
  848. S2STL CON 0 SEGMENT TABLE LENGTH
  849. S2STA CON 0 SEGMENT TABLE ADDRESS
  850. S2PTA CON 0 PAGE TABLE ADDRESS
  851. S2PTL CON 0 PAGE TABLE LENGTH
  852. S2PSM CON 0 PAGE SIZE MASK
  853. S2MPS CON 0 MONITOR PROCESS STATE REGISTER
  854. S2JPS CON 0 JOB PROCESS STATE POINTER
  855. S2LPS CON 0 LIVE PROCESSOR STATE ADDRESS
  856. S2RMA CON 0 SAVED RMA
  857. S2PVA CON 0 SAVED PVA
  858.  
  859. PTEVCUM CON 0 PAGE TABLE ENTRY (VALID, CONT, USED, MOD)
  860. PTEPD CON 0 PAGE DESCRIPTOR
  861. STSDE CON 0 SEGMENT TABLE DESCRIPTOR ENTRY
  862. BRMA CON 0 BYTE REAL MEMORY ADDRESS
  863. SPACE 4,10
  864. ** DUMP FILE RECORD NAMES.
  865.  
  866.  
  867. .NPP DATA 0LPP00 C170 NORMAL PP MEMORY
  868. .FPP DATA 0LFP00 FIRST LEVEL PP MEMORY
  869. ERRNZ .NPP+1-.FPP CODE DEPENDS ON VALUE
  870.  
  871. .BCD VFD 12/0,12/0LBC,36/0 BUFFER CONTROLLER HEADER
  872. .BCH VFD 12/0,24/0LCH00,24/0 BUFFER CONTROLLER MEMORY
  873. .CCR DATA 0LCCR CIO CHANNEL REGISTERS
  874. .CMM DATA 3LCM C170 CENTRAL MEMORY (60 BIT)
  875. .CPP VFD 6/0,18/0LD00,36/0 CIO PP MEMORY
  876. .CP0 VFD 12/0,24/0LCPU0,24/0 CPU HARDWARE EXCHANGE PACHAGE
  877. .DFT DATA 0LDFT DFT BLOCK
  878. .DSB DATA 0LDSB DUAL STATE BLOCK
  879. .ECS DATA 0LECS EXTENDED CORE STORAGE
  880. .EIB DATA 0LEIB ENVIRONMENTAL INTERFACE (OLD NAME)
  881. .EIC DATA 0LEIC ENVIRONMENTAL INTERFACE
  882. .ESM DATA 0LESM EXTENDED SEMI-CONDUCTOR MEMORY
  883. .IMR DATA 0LIMR IOU MAINTENANCE REGISTERS
  884. .IPP DATA 0LI00 C180 NORMAL PP MEMORY
  885. .MEM DATA 0LMEM C180 CENTRAL MEMORY (64 BIT)
  886. .MMR DATA 0LMMR MEMORY MAINTENANCE REGISTERS
  887. .PCS DATA 0LPCS PROCESSOR CONTROL STORE
  888. .PIS DATA 0LPIS C180-99X INSTRUCTION BUFFER STACK
  889. .PMR DATA 0LPMR PROCESSOR MAINTENANCE REGISTERS
  890. .POC DATA 0LPOC C180-99X PROCESSOR OPERAND CACHE
  891. .PPM DATA 0LPPM C180-99X PROCESSOR PAGE MAP
  892. .PRF DATA 0LPRF C180-99X PROCESSOR REGISTER FILE
  893. .PRG DATA 0LPRG C180-99X PROCESSOR RGU REGISTERS
  894. .PRH DATA 0LPRH C180-99X PROCESSOR HISTORY FILE
  895. .PSM DATA 0LPSM C180-99X PROCESSOR SEGMENT MAP
  896. .PSR DATA 0LPSR I4 IOU OPERATING REGISTERS
  897. .PXP DATA 0LPXP PROCESSOR EXCHANGE PACKAGES
  898. .SCR DATA 0LSCR C170 STATUS/CONTROL REGISTERS
  899. .SC1 DATA 0LSC1 C170 S/C REGISTERS AFTER CLEAR
  900. SPACE 4,10
  901. ** MISCELLANEOUS CONSTANTS.
  902.  
  903.  
  904. K4BFL EQU 10000B 4K BUFFER CONTROLLER SIZE (4096D)
  905. K8BFL EQU 20000B 8K BUFFER CONTROLLER SIZE (8192D)
  906. K16BFL EQU 40000B 16K BUFFER CONTROLLER SIZE
  907. KIBFL EQU 106000B 63X ADAPTOR SIZE
  908. K4RBFL EQU K4BFL/40*40+40 4K BUFFER SIZE, ROUNDED UP
  909. K4WBFL EQU K4RBFL/5*2 NUMBER OF WORDS TO CONTAIN *K4RBFL* BYTES
  910. TITLE MANAGED TABLES.
  911. TCMT SPACE 4,5
  912. ** TCMT - CENTRAL MEMORY TABLES.
  913. * CONTAINS CM TABLES FROM LOCATION 0 THROUGH THE END OF THE
  914. * SECDED ID TABLE AS DEFINED IN LOW CORE. LOW CORE MAY COME
  915. * FROM THE DUMP FILE OR THE RUNNING SYSTEM DEPENDING UPON THE
  916. * COMMAND *P* OPTION.
  917.  
  918.  
  919. TCMT TABLE
  920. TDIR SPACE 4,5
  921. ** TDIR - BINARY DUMP FILE RANDOM DIRECTORY.
  922. * ENTRY 2 WORDS PER RECORD.
  923. *
  924. *T WORD0 60/FIRST WORD OF RECORD
  925. *T WORD1 30/WORD COUNT,30/RANDOM ADDRESS
  926.  
  927.  
  928. TDIR TABLE 2
  929. SPACE 4,10
  930. ** TNFL - NEGATIVE FIELD LENGTH TABLE.
  931. * CONTAINS THE NEGATIVE FL FOR THE CURRENT CONTROL POINT.
  932.  
  933.  
  934. TNFL TABLE
  935. TSCR SPACE 4,3
  936. ** TSCR - SCRATCH TABLE.
  937. * USED TO HOLD VARIOUS TABLES AND BUFFERS FROM THE DUMP FILE
  938. * DURING PROCESSING.
  939.  
  940.  
  941. TSCR TABLE
  942. TSC1 SPACE 4
  943. ** TSC1 - SCRATCH TABLE.
  944.  
  945.  
  946. TSC1 TABLE
  947. TITLE MAIN PROGRAM.
  948. DSDI SPACE 4
  949. ** DSDI - MAIN PROGRAM.
  950.  
  951.  
  952. DSDI SB1 1 (B1) = 1 THROUGHOUT PROGRAM
  953. RJ PRS PRESET DSDI
  954. RJ PBD PREPROCESS BINARY DUMP
  955. RJ RBI RANDOMIZE BINARY INPUT
  956. RJ PIO PRESET INPUT AND OUTPUT FILES
  957. RJ CST CREATE SUBTITLE LINE
  958. RJ RST READ SYSTEM TABLES
  959. RJ SPP SET C180 PROCESSOR POINTERS
  960. MESSAGE MSG1,1,R * PROCESSING INPUT DIRECTIVES.*
  961.  
  962. * PROCESS INPUT DIRECTIVE STATEMENTS. DIRECTIVE PROCESSORS ARE
  963. * CALLED BY *CKC* AND EXIT TO *DSD1*.
  964.  
  965. DSD1 RJ RDC READ NEXT DIRECTIVE
  966. NZ X1,DSD2 IF END OF DIRECTIVES
  967. RJ RUC RESET USER SELECTED CONTROLS
  968. BX6 X6-X6 CLEAR DUMP CONTROL BLOCK
  969. SA6 CPRA FWA
  970. SA6 A6+B1 LWA+1
  971. SA6 A6+B1 CORE ADDRESS
  972. SA6 A6+B1 SUPPRESS REPEAT DATA FLAG
  973. SA6 A6+B1 FORMAT CODE
  974. SA6 A6+B1 COLUMN LENGTH
  975. SA6 CPRA+6 INVERTED ADDRESS
  976. SA6 EI FORCED *EI* ADDRESSING
  977. SA6 NR NEXT RECORD POINTER
  978. SA6 IC *CPP* PROCESSING FLAG
  979. SB2 DSDA DIRECTIVE PROCESSOR TABLE
  980. RJ CKC CRACK AND PROCESS DIRECTIVE
  981. JP ERR3 ERROR - UNRECOGNIZABLE DIRECTIVE
  982.  
  983. DSD2 RJ CBF CREATE BML MAINTENANCE REGISTER FILE
  984. RJ COF COMPLETE OUTPUT FILES, RESET FL
  985. MESSAGE MSG2,,R * EXPRESS DUMP COMPLETE (FL USED )*
  986. SA1 DP
  987. NZ X1,DSD3 IF DIRECTIVES PROCESSED
  988. SA1 I CHECK INPUT FILE NAME
  989. MX0 42
  990. BX1 X0*X1
  991. ZR X1,DSD3 IF *I=0* SPECIFIED
  992. MESSAGE MSG3,,R * NO DIRECTIVES PROCESSED.*
  993. DSD3 SA1 EB
  994. ZR X1,DSD4 IF NOT EMPTY BML FILE
  995. MESSAGE MSG4,,R NO ERRORS IN MAINTENANCE REGISTERS
  996. DSD4 ENDRUN
  997.  
  998. DSDA BSS 0 CONTROL DIRECTIVE PROCESSOR TABLE
  999. QUAL DIRECT
  1000.  
  1001. CARD P,ACCOUNT
  1002. CARD ,ALLMEM
  1003. CARD ,B
  1004. CARD P,AP,APR1
  1005. CARD P,BATCHIO
  1006. CARD P,BIO
  1007. CARD ,BCDUMP
  1008. CARD ,BUFF
  1009. CARD ,C
  1010. CARD ,CBT
  1011. CARD ,CCT
  1012. CARD ,CM
  1013. CARD ,CP,CPP1
  1014. CARD ,CPO
  1015. CARD P,CT
  1016. CARD ,D
  1017. CARD P,DAYFILE
  1018. CARD P,DB,DBR4
  1019. CARD ,DBW
  1020. CARD P,DDB
  1021. CARD ,DISPOSE
  1022. CARD P,DP
  1023. CARD P,E
  1024. CARD ,EC
  1025. CARD P,EICB
  1026. CARD P,EJ
  1027. CARD ,EJOFF
  1028. CARD ,EJON
  1029. CARD P,EJT
  1030. CARD P,EPB
  1031. CARD P,ERRLOG
  1032. CARD P,EST
  1033. CARD ,FMFREG
  1034. CARD P,FNT
  1035. CARD P,FOT
  1036. CARD ,FTT
  1037. CARD ,HAT
  1038. CARD P,IAF
  1039. CARD ,II
  1040. CARD ,IOUCR
  1041. CARD ,IOUMR
  1042. CARD P,JC
  1043. CARD P,LC
  1044. CARD P,LDIS
  1045. CARD P,LIDT
  1046. CARD ,LPVA
  1047. CARD P,MAG
  1048. CARD P,MAGNET
  1049. CARD P,MAINLOG
  1050. CARD ,MCT
  1051. CARD ,MEMMR
  1052. CARD ,MPP
  1053. CARD P,MST
  1054. CARD P,MTR
  1055. CARD P,MTRQU
  1056. CARD P,ODIS
  1057. CARD ,OUTPUT
  1058. CARD P,P
  1059. CARD ,PCP
  1060. CARD ,PD
  1061. CARD P,PF
  1062. CARD P,PLD
  1063. CARD ,PMS
  1064. CARD P,PO
  1065. CARD ,PP
  1066. CARD P,PROBE
  1067. CARD ,PROCA
  1068. CARD ,PROCW
  1069. CARD ,PROMR
  1070. CARD ,PROPM
  1071. CARD ,PRORF
  1072. CARD ,PROSM
  1073. CARD ,PROXP
  1074. CARD P,PST
  1075. CARD ,PUT
  1076. CARD P,PX
  1077. CARD ,Q
  1078. CARD P,QF
  1079. CARD P,QFT
  1080. CARD ,QOA
  1081. CARD ,QOD
  1082. CARD ,QXA
  1083. CARD ,QXD
  1084. CARD ,RA
  1085. CARD ,RAC
  1086. CARD P,RCL
  1087. CARD ,READ
  1088. CARD ,REWIND
  1089. CARD P,RHF
  1090. CARD P,RPL
  1091. CARD P,SAB
  1092. CARD P,SC
  1093. CARD P,SDA
  1094. CARD P,SECDED
  1095. CARD ,SETCPU
  1096. CARD ,SETIOU
  1097. CARD ,SETJPS
  1098. CARD ,SETRMA
  1099. CARD ,SETVEP
  1100. CARD P,SST
  1101. CARD ,TBDUMP
  1102. CARD ,TRACE
  1103. CARD ,UEC
  1104. CARD P,W
  1105. CARD P,XP
  1106. CARD ,Z
  1107. DATA 0
  1108.  
  1109. QUAL
  1110. DAYFILE SPACE 4
  1111. ** DAYFILE MESSAGES.
  1112.  
  1113.  
  1114. MSG1 DATA 29C PROCESSING INPUT DIRECTIVES.
  1115.  
  1116. MSG2 DATA 30H EXPRESS DUMP COMPLETE (FL USE
  1117. MSG2A VFD 12/2LD
  1118. VFD 36/0 MEMORY USED
  1119. VFD 12/2LB)
  1120. DATA 0
  1121.  
  1122. MSG3 DATA C* NO DIRECTIVES PROCESSED.*
  1123.  
  1124. MSG4 DATA C* NO ERRORS REPORTED IN MAINTENANCE REGISTERS.*
  1125.  
  1126. MSG5 DATA C* WARNING - INCOMPLETE DUMP FILE.*
  1127. TITLE ERROR PROCESSORS.
  1128. ERRORS SPACE 4
  1129. ** ERROR PROCESSORS.
  1130.  
  1131.  
  1132. ERR1 SX5 =C* DSDI ARGUMENT ERROR.*
  1133. EQ PFE PROCESS FATAL ERROR
  1134.  
  1135. ERR2 SX5 =C*STATUS/CONTROL REGISTERS NOT FOUND.*
  1136. EQ PNE1 PROCESS NON-FATAL ERROR
  1137.  
  1138. ERR3 SX5 =C*UNRECOGNIZABLE DIRECTIVE.*
  1139. EQ PNE PROCESS NON-FATAL ERROR
  1140.  
  1141. ERR4 SX5 =C* CM RECORD NOT FOUND.*
  1142. EQ PFE PROCESS FATAL ERROR
  1143.  
  1144. ERR5 SX5 =C*EXTENDED MEMORY RECORD NOT FOUND.*
  1145. EQ PNE1 PROCESS NON-FATAL ERROR
  1146.  
  1147. ERR6 SX5 =C*DIRECTIVE PARAMETER ERROR.*
  1148. EQ PNE PROCESS NON-FATAL ERROR
  1149.  
  1150. ERR7 SX5 =C*PPU NOT FOUND.*
  1151. EQ PNE1 PROCESS NON-FATAL ERROR
  1152.  
  1153. ERR8 SX5 =C*INCORRECT CONTROL POINT NUMBER.*
  1154. EQ PNE PROCESS NON-FATAL ERROR
  1155.  
  1156. ERR8.1 SX6 1 CHECK ERROR RETURN ADDRESS
  1157. SA6 ERRC
  1158. EQ ERR8 SET ERROR MESSAGE
  1159.  
  1160. ERR9 SX5 =C*INCORRECT PRINT DENSITY SELECTION.*
  1161. EQ PNE PROCESS NON-FATAL ERROR
  1162.  
  1163. ERR10 SX5 =C*SUBSYSTEM NOT FOUND.*
  1164. EQ PNE PROCESS NON-FATAL ERROR
  1165.  
  1166. ERR11 SX5 =C*ALTERNATE FILE ACTIVE.*
  1167. EQ PNE PROCESS NON-FATAL ERROR
  1168.  
  1169. ERR12 SX5 =C*INCORRECT FILE NAME.*
  1170. EQ PNE PROCESS NON-FATAL ERROR
  1171.  
  1172. ERR13 SX5 =C*ALTERNATE OUTPUT TO TERMINAL INCORRECT.*
  1173. EQ PNE PROCESS NON-FATAL ERROR
  1174.  
  1175. ERR14 SX5 =C*RECORD NOT FOUND.*
  1176. EQ PNE PROCESS NON-FATAL ERROR
  1177.  
  1178. ERR15 SX5 =C*HARDWARE REGISTERS NOT FOUND.*
  1179. EQ PNE1 PROCESS NON-FATAL ERROR
  1180.  
  1181. ERR16 SX5 =C*DIRECTIVE RESTRICTED TO PRINTER OUTPUT.*
  1182. EQ PNE1 PROCESS NON-FATAL ERROR
  1183.  
  1184. ERR17 SX5 =C*DIRECTIVE RESTRICTED TO TERMINAL OUTPUT.*
  1185. EQ PNE PROCESS NON-FATAL ERROR
  1186.  
  1187. ERR18 SX6 1 CHECK ERROR RETURN ADDRESS
  1188. SA6 ERRC
  1189. SX5 =C*WORD ADDRESS NOT FOUND.*
  1190. EQ PNE PROCESS NON-FATAL ERROR
  1191.  
  1192. ERR19 SX5 =C*BAD SYSTEM POINTER.*
  1193. EQ PNE PROCESS NON-FATAL ERROR
  1194.  
  1195. ERR19.1 SX6 1 CHECK ERROR RETURN ADDRESS
  1196. SA6 ERRC
  1197. EQ ERR19 SET ERROR MESSAGE
  1198.  
  1199. ERR20 SX5 =C* DSDI ERROR LIMIT EXCEEDED.*
  1200. EQ PFE PROCESS FATAL ERROR
  1201.  
  1202. ERR21 SX5 =C*REQUESTED MEMORY NOT FOUND.*
  1203. EQ PNE PROCESS NON-FATAL ERROR
  1204.  
  1205. ERR22 SX5 =C*INCORRECT PRINT OPTION SELECTION.*
  1206. EQ PNE PROCESS NON-FATAL ERROR
  1207.  
  1208. ERR23 SX5 =C*SELECTED DEVICE NOT MASS STORAGE.*
  1209. EQ PNE1 PROCESS NON-FATAL ERROR
  1210.  
  1211. ERR24 SX5 =C* DIRECTORY TABLE BAD.*
  1212. EQ PFE PROCESS FATAL ERROR
  1213.  
  1214. ERR25 SX5 =C*DIRECTIVE NOT MEANINGFUL.*
  1215. EQ PNE PROCESS NON-FATAL ERROR
  1216.  
  1217. ERR26 SX5 =C*PROBE TABLE NOT AVAILABLE.*
  1218. EQ PNE PROCESS NON-FATAL ERROR
  1219.  
  1220. ERR27 SX5 =C*PROBE NOT ENABLED.*
  1221. EQ PNE PROCESS NON-FATAL ERROR
  1222.  
  1223. ERR28 SX5 =C* INSUFFICIENT NFL SPACE.*
  1224. EQ PNE PROCESS NON-FATAL ERROR
  1225.  
  1226. ERR30 SX5 =C* PAGE DESCRIPTOR ENTRY NOT FOUND.*
  1227. EQ PNE PROCESS NON-FATAL ERROR
  1228.  
  1229. ERR31 SX5 =C*RESIDENT CENTRAL LIBRARY EMPTY.*
  1230. EQ PNE PROCESS NON-FATAL ERROR
  1231.  
  1232. ERR32 SX5 =C* MEMORY ADDRESS BEYOND CM BOUNDARY.*
  1233. EQ PNE PROCESS NON-FATAL ERROR
  1234.  
  1235. ERR33 SX5 =C*PARAMETER CHARACTER COUNT EXCEEDED.*
  1236. EQ PNE PROCESS NON-FATAL ERROR
  1237.  
  1238. ERR34 SX5 =C*NO BUFFERED DEVICES DEFINED.*
  1239. EQ PNE PROCESS NON-FATAL ERROR
  1240.  
  1241. ERR35 SX5 =C*SELECTED ENTRY BEYOND TABLE BOUNDARY.*
  1242. EQ PNE PROCESS NON-FATAL ERROR
  1243.  
  1244. ERR36 SX5 =C*INCORRECT MACHINE ID.*
  1245. EQ PNE PROCESS NON-FATAL ERROR
  1246.  
  1247. ERR37 SX5 =C*NO ACTIVE DISK BUFFERS.*
  1248. EQ PNE PROCESS NON-FATAL ERROR
  1249.  
  1250. ERR38 SX6 1 CHECK ERROR RETURN ADDRESS
  1251. SA6 ERRC
  1252. SX5 =C*INCORRECT DISK BUFFER NUMBER.*
  1253. EQ PNE PROCESS NON-FATAL ERROR
  1254.  
  1255. ERR39 SX5 =C* DMB FILE FORMAT ERROR.*
  1256. EQ PFE PROCESS FATAL ERROR
  1257.  
  1258. ERR40 SX5 =C*DIRECTIVE SHOULD HAVE NO PARAMETERS.*
  1259. EQ PNE PROCESS NON-FATAL ERROR
  1260.  
  1261. ERR41 SX5 =C* USER EXTENDED MEMORY NOT DEFINED.*
  1262. EQ PNE1 PROCESS ERROR
  1263.  
  1264. ERR42 SX5 =C* MAINTENANCE REGISTER RECORD NOT FOUND.*
  1265. EQ PFE PROCESS FATAL ERROR
  1266.  
  1267. ERR43 SX5 =C* B PARAMETER NOT ALLOWED WITH DMB DUMP FILE.*
  1268. EQ PNE PROCESS NON-FATAL ERROR
  1269.  
  1270. ERR44 SX5 =C* SEGMENT MISSING.*
  1271. EQ PNE PROCESS NON-FATAL ERROR
  1272.  
  1273. ERR45 SX5 =C* PVA WITH RING = 0.*
  1274. EQ PNE PROCESS NON-FATAL ERROR
  1275.  
  1276. ERR46 SX5 =C* TAPE MUST BE REQUESTED AS LABELED. *
  1277. EQ PFE PROCESS FATAL ERROR
  1278.  
  1279. ERR47 SX5 =C$ CANNOT PROCESS IOU TYPE, USE *ANAD* ON NOS/VE.$
  1280. EQ PNE PROCESS ERROR
  1281.  
  1282. ERR48 SX5 =C* NO PSEUDO-CONTROL POINTS DEFINED.*
  1283. EQ PNE PROCESS NON-FATAL ERROR
  1284.  
  1285. ERR49 SX6 1 CHECK ERROR RETURN ADDRESS
  1286. SA6 ERRC
  1287. SX5 =C* INCORRECT PPU PROGRAM NAME.*
  1288. EQ PNE1 PROCESS NON-FATAL ERROR
  1289.  
  1290. ERR50 SX6 1 CHECK ERROR RETURN ADDRESS
  1291. SA6 ERRC
  1292. SX5 =C*PROGRAM NOT FOUND - .*
  1293. BX6 X1 SET PROGRAM NAME IN MESSAGE
  1294. SA6 X5+2
  1295. EQ PNE1 PROCESS NON-FATAL ERROR
  1296. PNE SPACE 4,10
  1297. ** PNE - PROCESS NON-FATAL ERROR.
  1298. *
  1299. * ENTRY AT PNE, LIST CURRENT DIRECTIVE CARD.
  1300. * AT PNE1, DO NOT LIST CURRENT DIRECTIVE CARD.
  1301. * (X5) = MESSAGE ADDRESS.
  1302.  
  1303.  
  1304. PNE SA1 TF
  1305. NZ X1,PNE1 IF CURRENT OUTPUT IS TO TERMINAL
  1306. SA1 EF
  1307. SA0 X1 SAVE EJECT FLAG
  1308. SX6 B1
  1309. SA6 A1 TURN EJECT ON
  1310. RJ LDC LIST DIRECTIVE
  1311. SX6 A0
  1312. SA6 EF RESTORE EJECT FLAG
  1313.  
  1314. * CHECK FOR ACTIVE TERMINAL.
  1315.  
  1316. PNE1 SX2 L SET TERMINAL FILE
  1317. RJ STF
  1318. NZ X6,PNE2 IF LIST OUTPUT NOT TO TERMINAL
  1319. WRITE L,* SET WRITE CODE IN FET
  1320. WRITEC L,X5 WRITE MESSAGE TO TERMINAL
  1321. PNE2 SA1 TF
  1322. NZ X1,PNE4 IF CURRENT OUTPUT TO TERMINAL
  1323. SB2 ERRB BUILD PRINT MESSAGE
  1324. SB3 B0
  1325. MX2 -12
  1326. PNE3 SA1 X5+B3 MOVE MESSAGE
  1327. BX6 X1
  1328. SA6 B2
  1329. SB2 B2+B1
  1330. SB3 B3+B1
  1331. BX6 -X2*X6
  1332. NZ X6,PNE3 IF NOT END OF MESSAGE
  1333. PRINT (=2C )
  1334. PRINT ERRA
  1335. PNE4 SA1 EC ADVANCE ERROR COUNT
  1336. SX6 X1+B1
  1337. SA6 A1
  1338. SX6 X6-NERR
  1339. PL X6,ERR20 IF ERROR LIMIT EXCEEDED
  1340. SA1 ERRC
  1341. ZR X1,DSD1 IF NOT TO CHECK FOR ERROR RETURN ADDRESS
  1342. BX6 X6-X6 CLEAR FLAG
  1343. SA6 A1
  1344. SA1 A1+B1 GET RETURN ADDRESS
  1345. SB3 X1
  1346. ZR B3,DSD1 IF NONE SPECIFIED
  1347. JP B3 CONTINUE PROCESSING DIRECTIVE
  1348.  
  1349.  
  1350. ERRA DATA 20H *********WARNING -
  1351. ERRB BSS 6
  1352. ERRC CON 0 CHECK ERROR RETURN FLAG
  1353. CON 0 ERROR RETURN ADDRESS
  1354. PFE SPACE 4,10
  1355. ** PROCESS FATAL ERRORS.
  1356. *
  1357. * ENTRY (X5) = MESSAGE ADDRESS.
  1358.  
  1359. PFE MESSAGE X5,,R
  1360. RJ COF COMPLETE OUTPUT FILES
  1361. ABORT
  1362. TITLE COMMON DECKS.
  1363. COMMON SPACE 4
  1364. ** COMMON DECKS.
  1365.  
  1366.  
  1367. *CALL COMCARG
  1368. *CALL COMCCDD
  1369. *CALL COMCCMD
  1370. ERP1$ EQU 1 SELECT ERROR PROCESSING
  1371. *CALL COMCCIO
  1372. *CALL COMCCOD
  1373. *CALL COMCCPM
  1374. *CALL COMCDXB
  1375. *CALL COMCHXB
  1376. *CALL COMCLFM
  1377. *CALL COMCMTP
  1378. *CALL COMCMVE
  1379. *CALL COMCRDC
  1380. *CALL COMCRDO
  1381. *CALL COMCRDS
  1382. *CALL COMCRDW
  1383. *CALL COMCSFN
  1384. *CALL COMCSTF
  1385. *CALL COMCSYS
  1386. USBL$ EQU 1 SELECT VARIABLE STRING LENGTH OPTION
  1387. *CALL COMCUSB
  1388. *CALL COMCWTC
  1389. *CALL COMCWTO
  1390. *CALL COMCWTS
  1391. *CALL COMCWTW
  1392. *CALL COMCZAP
  1393. *CALL COMDTFN
  1394. *CALL COMTVDT
  1395. TITLE OPERATING SYSTEM TABLE DESCRIPTORS.
  1396. SPACE 4,5
  1397. ** THIS SECTION CONTAINS TABLES WHICH DESCRIBE THE KRONOS/NOS
  1398. * OPERATING SYSTEM TABLES.
  1399. *
  1400. * EACH TABLE SHOULD HAVE THE LEFT COLUMN EQUAL TO OR LONGER
  1401. * THAN THE RIGHT COLUMN. THE FIELD DESCRIPTION LEFT
  1402. * PARENTHESIS SHOULD BE IN COLUMN 30 AND THE FIELD 27
  1403. * CHARACTERS LONG. ALSO, EACH ENTRY SHOULD BE IN THE FORM -
  1404. *
  1405. * FIELD WORD,( 27 CHARACTER DESCRIPTION ),SB,NB
  1406. *
  1407. * WHERE SB IS THE STARTING BIT OF THE FIELD AND NB IS THE
  1408. * NUMBER OF BITS IN THE FIELD (MUST BE A MULTIPLE OF 3 BITS).
  1409. TFLC SPACE 4
  1410. ** TFLC - LOW CORE POINTER DESCRIPTORS.
  1411.  
  1412.  
  1413. TFLC VFD 24/0,18/TFLC1,18/TFLC2
  1414. .OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
  1415. .BI SET 0
  1416.  
  1417. TFLC1 BSS 0
  1418. FIELD 0,(RESERVED ),59,60
  1419. FIELD 1,( ),59,60
  1420. FIELD 2,( ),59,60
  1421. FIELD 3,( ),59,60
  1422. FIELD 4,( ),59,60
  1423. FIELD REML,(RESERVED REML),59,48
  1424. FIELD REML,(ERROR FLAGS ),11,12
  1425. FIELD DSAL,(DEADSTART ASSISTANT PP DSAL),59,12
  1426. FIELD DSAL,(SYSTEM CONSOLE DRIVER PP ),47,12
  1427. FIELD DSAL,(RESERVED ),35,12
  1428. FIELD DSAL,(CEL PRESENT FLAG ),23,12
  1429. FIELD DSAL,(DEADSTART CHANNEL ),11,12
  1430. FIELD DSCL,(ACTIVATE ASSISTANT PP DSCL),59,3
  1431. FIELD DSCL,(RESERVED ),56,3
  1432. FIELD DSCL,(ASSISTANT CHANNEL ),53,6
  1433. FIELD DSCL,(RESERVED ),47,48
  1434. FIELD IN0L,(INSTALLATION WORD 0 IN0L),59,60
  1435. FIELD IN1L,(INSTALLATION WORD 1 IN1L),59,60
  1436. FIELD IN2L,(INSTALLATION WORD 2 IN2L),59,60
  1437. FIELD IN3L,(INSTALLATION WORD 3 IN3L),59,60
  1438. FIELD IN4L,(INSTALLATION WORD 4 IN4L),59,60
  1439. FIELD IN5L,(INSTALLATION WORD 5 IN5L),59,60
  1440. FIELD IN6L,(INSTALLATION WORD 6 IN6L),59,60
  1441. FIELD IN7L,(INSTALLATION WORD 7 IN7L),59,60
  1442. FIELD 20,(RESERVED ),59,60
  1443. FIELD JSNL,(ZERO JSNL),59,12
  1444. FIELD JSNL,(RESERVED ),47,24
  1445. FIELD JSNL,(JOB SEQUENCE NUMBER ),23,24
  1446. FIELD ACML,(AVAILABLE CM/100B ACML),59,24
  1447. FIELD AECL,(AVAILABLE XM/*UEBS* AECL),35,24
  1448. FIELD ACML,(RESERVED ),11,12
  1449. FIELD CMRL,(ZERO CMRL),59,12
  1450. FIELD CMRL,(RESERVED ),47,12
  1451. FIELD CMRL,(RA/100B FOR CP ZERO ),35,24
  1452. FIELD CMRL,(CMR SIZE/100B ),11,12
  1453. FIELD CMRL+1,(ZERO ),59,12
  1454. FIELD CMRL+1,(RA/100B FOR CP ZERO ),47,24
  1455. FIELD CMRL+1,(4000B ),23,12
  1456. FIELD CMRL+1,(FL/100B FOR CP ZERO ),11,12
  1457. FIELD ECRL,(ZERO ECRL),59,12
  1458. FIELD ECRL,(NUMBER OF *UEBS* BLOCKS ),47,12
  1459. FIELD ECRL,(EM RA/*UEBS* FOR CP 0 ),35,24
  1460. FIELD ECRL,(EM FL/*UEBS* FOR CP 0 ),11,12
  1461. FIELD PPXL,(PP EXCHANGE PENDING PPXL),59,60
  1462. FIELD MSCL,(RECALL REDUCTION LIMIT MSCL),59,12
  1463. FIELD MSCL,(CPU RECALL DELAY ),47,12
  1464. FIELD MSCL,(PP/AUTO RECALL DELAY ),35,12
  1465. FIELD MSCL,(RESERVED ),23,12
  1466. FIELD MSCL,(MEMORY PAD FOR *RSTM* ),11,12
  1467. FIELD JDAL,(JULIAN DATE JDAL),59,60
  1468. FIELD PDTL,(ZERO PDTL),59,24
  1469. FIELD PDTL,(YEAR - BIASED BY 1970 ),35,6
  1470. FIELD PDTL,(MONTH ),29,6
  1471. FIELD PDTL,(DAY ),23,6
  1472. FIELD PDTL,(HOURS ),17,6
  1473. FIELD PDTL,(MINUTES ),11,6
  1474. FIELD PDTL,(SECONDS ),5,6
  1475. FIELD TIML,(TIME OF DAY (DSD) TIML),59,60
  1476. FIELD DTEL,(DATE (DSD) DTEL),59,60
  1477. FIELD SYTL,(SYSTEM TITLE LINE SYTL),59,60
  1478. FIELD SYTL+1,( ),59,60
  1479. FIELD SYTL+2,( ),59,60
  1480. FIELD SYTL+3,( ),59,60
  1481. FIELD SVNL,(SYSTEM VERSION NAME SVNL),59,60
  1482. FIELD SVNL+1,( ),59,60
  1483. FIELD SSML,(RESERVED SSML),59,3
  1484. FIELD SSML,(OUTPUT QUEUE HANDLING LEVEL),56,3
  1485. FIELD SSML,(RESERVED ),53,3
  1486. FIELD SSML,(SYSTEM SECURITY MODE ),50,3
  1487. FIELD SSML,(RESERVED ),47,15
  1488. FIELD SSML,(SECURITY ACCESS CATEGORIES ),32,33
  1489. FIELD JSCL,(SCHEDULER ACTIVE FLAG JSCL),59,3
  1490. FIELD JSCL,(RESERVED ),56,9
  1491. FIELD JSCL,(INPUT FILE SCHED INTERVAL ),47,12
  1492. FIELD JSCL,(SCHEDULER CYCLE INTERVAL ),35,12
  1493. FIELD JSCL,(SCHEDULER RECALL TIME ),23,24
  1494. FIELD IPRL,(CPU1 MULTIPLIER INDEX IPRL),59,6
  1495. FIELD IPRL,(CPU0 MULTIPLIER INDEX ),53,6
  1496. FIELD IPRL,(SEC ROLLOUT SCTR THRESHOLD ),47,12
  1497. FIELD IPRL,(ASSUMED KEYPUNCH MODE ),35,3
  1498. FIELD IPRL,(RESERVED ),32,6
  1499. FIELD IPRL,(ASSUMED CHAR SET CONV ),26,3
  1500. FIELD IPRL,(ASSUMED CONV MODE ),23,12
  1501. FIELD IPRL,(ASSUMED NT TAPE DENSITY ),11,6
  1502. FIELD IPRL,(TRACK TYPE/MT DENSITY ),5,6
  1503. FIELD SSTL,(AUTOR/CM CLR/SEC LOCK SSTL),59,3
  1504. FIELD SSTL,(LOCK/DISABLE MSS M,CART PFS),56,3
  1505. FIELD SSTL,(DISABLE USER ECS, PF/MS VAL),53,3
  1506. FIELD SSTL,(DISABLE MS VAL,MSE M,SP DWN),50,3
  1507. FIELD SSTL,(RES/DISABLE FORCED FORM/RES),47,3
  1508. FIELD SSTL,(DISABLE HFI,TAPE PFS,REMOVE),44,3
  1509. FIELD SSTL,(DISABLE DSK VL,SEC USER,SCP),41,3
  1510. FIELD SSTL,(RESERVED ),38,3
  1511. FIELD SSTL,(DISABLE SUB-CP/RESERVED ),35,3
  1512. FIELD SSTL,(RESERVED/DISABLE PROBE ),32,3
  1513. FIELD SSTL,(DISABLE TRACE/RESERVED ),29,3
  1514. FIELD SSTL,(RESERVED/DISABLE TMS ),26,3
  1515. FIELD SSTL,(*VE=*/DISABLE FMP, DDP RO ),23,3
  1516. FIELD SSTL,(RESIDENT/PRIVILEGED RDF ),20,3
  1517. FIELD SSTL,(DISABLE STACK/LOG/SIM SCR ),17,3
  1518. FIELD SSTL,(ENGR/SYS DEBUG/DEBUG STATUS),14,3
  1519. FIELD SSTL,(RESERVED FOR INSTALLATION ),11,12
  1520. FIELD SSSL,(SUBSYSTEM STATUS SSSL),59,60
  1521. FIELD DFPP,(FWA DAYFILE BUF PTRS DFPP),59,24
  1522. FIELD DFPP,(FWA DAYFILE DUMP BUFFER ),35,24
  1523. FIELD DFPP,(DAYFILE DUMP BUF INTERLOCK ),11,12
  1524. FIELD IPPL,(6 LPI CHARGE IPPL),59,12
  1525. FIELD IPPL,(8 LPI CHARGE ),47,12
  1526. FIELD IPPL,(SYSTEM PD/PS/PW DEFAULTS ),35,24
  1527. FIELD IPPL,(RESERVED ),11,12
  1528. FIELD PPRL,(CPP *MTR* REQ FLAG PPRL),59,12
  1529. FIELD PPRL,(RPL FLAG ),47,6
  1530. FIELD PPRL,(CMR ADDRESS OF IDLE LOOP ),41,18
  1531. FIELD PPRL,(LENGTH OF IDLE LOOP ),23,12
  1532. FIELD PPRL,(IDLE LOOP LOAD ADDRESS ),11,12
  1533. FIELD PPAL,(ZERO PPAL),59,12
  1534. FIELD PPAL,(FREE PP-S, PP0 - PP10 ),47,9
  1535. FIELD PPAL,(FREE PP-S, PP11,PP31 - PP20),38,12
  1536. FIELD PPAL,(ZERO ),26,9
  1537. FIELD PPAL,(FREE CPP COUNT ),17,6
  1538. FIELD PPAL,(FREE PP COUNT ),11,12
  1539. FIELD MSEL,(MS ERR PROC. LOAD CODE MSEL),59,12
  1540. FIELD MSEL,(CRD CM ),47,12
  1541. FIELD MSEL,(LDD CM ),35,12
  1542. FIELD MSEL,(NJN LMSE ),23,12
  1543. FIELD MSEL,(LDD T1 ),11,12
  1544. FIELD MSEL+1,(STD CM+3 ),59,12
  1545. FIELD MSEL+1,(LDN 1R7 ),47,12
  1546. FIELD MSEL+1,(STD CM+2 ),35,12
  1547. FIELD MSEL+1,(MONITOR SPLM ),23,24
  1548. FIELD MSEL+2,(MONITOR SPLM (LOW 12 BITS) ),59,12
  1549. FIELD MSEL+2,(LDD CM+4 ),47,12
  1550. FIELD MSEL+2,(LJM PLL4 ),35,24
  1551. FIELD MSEL+2,(CON LMSE-1 ),11,12
  1552. FIELD BMLL,(DEADSTART FLAG BMLL),59,12
  1553. FIELD BMLL,(FWA ERROR MSG BUFFER EMBP),47,24
  1554. FIELD BMLL,(MESSAGE LINK ),23,24
  1555. FIELD CMCL,(CP FOR STORAGE MOVE CMCL),59,12
  1556. FIELD CMCL,(INTERNAL TO MTR ),47,48
  1557. FIELD ACPL,(CPU 0 OFF/CPU 0 RA ACPL),59,24
  1558. FIELD ACPL,(CPU 0 TIME SLICE OF SUB CP ),35,36
  1559. FIELD ACPL+1,(CPU 1 OFF/CPU 1 RA ),59,24
  1560. FIELD ACPL+1,(CPU 1 TIME SLICE OF SUB CP ),35,36
  1561. FIELD CSWL,(CPU 0 SWITCH REQ CSWL),59,6
  1562. FIELD CSWL,(PTR TO BYPASS WQ ENTRY ),53,18
  1563. FIELD CSWL,(CPU 0 SWITCH TIME ),35,36
  1564. FIELD CSWL+1,(CPU 1 SWITCH REQ ),59,6
  1565. FIELD CSWL+1,(PTR TO BYPASS WQ ENTRY ),53,18
  1566. FIELD CSWL+1,(CPU 1 SWITCH TIME ),35,36
  1567. FIELD PXPP,(RESERVED PXPP),59,36
  1568. FIELD PXPP,(ADDRESS OF PP2 XP ),23,24
  1569. FIELD PXPP+1,(FIRST WORD OF PP XP ),59,60
  1570. FIELD ZERL,(ZERO LOCATION ZERL),59,60
  1571. FIELD SMRL,(STORAGE MOVE INC. SMRL),59,12
  1572. FIELD SMRL,(PREVIOUS CPU STATUS ),47,3
  1573. FIELD SMRL,(RESERVED ),44,6
  1574. FIELD SMRL,(ECS ERROR OCCURED ),38,3
  1575. FIELD SMRL,(RESERVED ),35,24
  1576. FIELD SMRL,(NUMBER OF MOVING CP/PCP ),11,12
  1577. FIELD NCHL,(MAXIMUM CHANNEL NUMBER NCHL),59,12
  1578. FIELD NCPL,(NUMBER OF CONTROL PTS NCPL),47,12
  1579. FIELD PPUL,(NUMBER OF PP-S PPUL),35,12
  1580. FIELD CFGL,(WALL CLK/EM MODE/7255 CFGL),23,3
  1581. FIELD CFGL,(ISD ONLY/RESERVED ),20,3
  1582. FIELD CPPL,(NUMBER OF CCH-S AND CPP-S ),17,6
  1583. FIELD EXML,(RESERVED ),11,3
  1584. FIELD EXML,(EM EQUIPMENT, CPU PATH EXML),8,9
  1585. FIELD EIBP,(FLAGS - 2CPU W/CACHE EIBP),59,3
  1586. FIELD EIBP,(RESERVED ),56,6
  1587. FIELD EIBP,(MTR XP ADDR - 2CPU W/CACHE ),50,18
  1588. FIELD EIBP,(*EICB* POINTER ),32,33
  1589. FIELD ESTP,(FWA EST ESTP),59,24
  1590. FIELD ESTP,(SIZE EST / LAST ORD + 1 ),35,12
  1591. FIELD ESTP,(LAST MS ORDINAL + 1 ),23,12
  1592. FIELD DSSL,(LIBDECK NUMBER DSSL),11,6
  1593. FIELD DSSL,(RES / MICRO/EI STATUS ),5,3
  1594. FIELD DSSL,(D/S FLAG / RECOVERY LEVEL ),2,3
  1595. FIELD FNTP,(FWA SYSTEM FNT FNTP),59,24
  1596. FIELD FNTP,(MAX FNT ENTRIES ),35,12
  1597. FIELD FNTP,(COUNT OF FREE FNT ENTRIES ),23,12
  1598. FIELD FNTP,(NEXT AVAILABLE FNT ENTRY ),11,12
  1599. FIELD EJTP,(FWA EJT EJTP),59,24
  1600. FIELD EJTP,(MAX EJT ENTRIES ),35,12
  1601. FIELD EJTP,(COUNT OF FREE EJT ENTRIES ),23,12
  1602. FIELD EJTP,(NEXT AVAILABLE EJT ENTRY ),11,12
  1603. FIELD QFTP,(FWA QFT QFTP),59,24
  1604. FIELD QFTP,(MAX QFT ENTRIES ),35,12
  1605. FIELD QFTP,(COUNT OF FREE QFT ENTRIES ),23,12
  1606. FIELD QFTP,(NEXT AVAILABLE QFT ENTRY ),11,12
  1607. CON -1 END OF LEFT COLUMN
  1608.  
  1609. TFLC2 BSS 0
  1610. FIELD CPSL,(EQ CPSL CPSL),59,30
  1611. FIELD CPSL,(PS 0 ),29,30
  1612. FIELD PPCP,(FWA EXT. PP COMM. BLK. PPCP),59,24
  1613. FIELD MEFL,(USER EM SHIFT COUNT ),35,3
  1614. FIELD MEFL,(EXTENDED ADDRESSING FIELDS ),32,6
  1615. FIELD MEFL,(RESERVED MEFL),26,3
  1616. FIELD MEFL,(EM SIZE/*EMBS* ),23,12
  1617. FIELD PPCP,(FWA PP COMM AREA PPCP),11,12
  1618. FIELD SFIL,(SCOPE STAT INTERLOCK SFIL),59,60
  1619. FIELD CLTP,(FWA CLT CLTP),59,24
  1620. FIELD CLTP,(MAX CLT ENTRIES ),35,12
  1621. FIELD CLTP,(COUNT OF FREE CLT ENTRIES ),23,12
  1622. FIELD CLTP,(NEXT ),11,12
  1623. FIELD SDAP,(FWA STAT DATA AREA SDAP),59,24
  1624. FIELD PPSP,(FWA PP SAVE AREA PPSP),35,24
  1625. FIELD PPSP,(MAX PP SAVE AREAS ),11,12
  1626. FIELD CECL,(UNCORRECTED CPU ERROR CECL),59,12
  1627. FIELD CECL,(CORRECTED CPU0 COUNT ),47,12
  1628. FIELD CECL,(CORRECTED CPU1 COUNT ),35,12
  1629. FIELD CECL,(CM SECDED ERROR COUNT ),23,12
  1630. FIELD CECL,(LCME SECDED ERROR COUNT ),11,12
  1631. FIELD 104,(RESERVED FOR INSTALLATION ),59,60
  1632. FIELD 105,( ),59,60
  1633. FIELD RTCL,(RT CLOCK IMAGE - SECS RTCL),59,24
  1634. FIELD RTCL,(RT CLOCK IMAGE - MSECS ),35,36
  1635. FIELD PFNL,(DEFAULT PACK TYPE PFNL),59,18
  1636. FIELD PFNL,(RESERVED ),41,18
  1637. FIELD PFNL,(EST ORD OF DEFAULT FAM ),23,12
  1638. FIELD PFNL,(CPU TRANSFER THRESHOLD ),11,12
  1639. FIELD RDSL,(SECS TILL LABEL CHECK RDSL),59,12
  1640. FIELD RDSL,(SECONDS TILL *1CK* CALL ),47,12
  1641. FIELD RDSL,(RESERVED ),35,36
  1642. FIELD SCRL,(ERROR/EMERGENCY FLAGS SCRL),59,3
  1643. FIELD SCRL,(EMER STEP/MANUAL STEP/RES ),56,3
  1644. FIELD SCRL,(FWA OF SECDED ID TABLE ),53,18
  1645. FIELD SCRL,(*1CK* ADDR IF FROM *1MB* ),35,12
  1646. FIELD SCRL,(RESERVED ),23,24
  1647. FIELD SABL,(FWA SAB SABL),59,24
  1648. FIELD SABL,(SAB LENGTH ),35,12
  1649. FIELD SABL,(RESERVED ),23,12
  1650. FIELD SABL,(LAST EJT ORDINAL SCHEDULED ),11,12
  1651. FIELD MABL,(RESERVED MABL),59,12
  1652. FIELD MABL,(OPTIONS INSTALLED ),47,12
  1653. FIELD MABL,(CM SIZE/100B ),35,24
  1654. FIELD MABL,(PP SPEED ),11,12
  1655. FIELD EABL+CPEI,(CPU 0 DESCRIPTOR ADDR EABL),59,18
  1656. FIELD EABL+CPEI,(CPU 1 DESCRIPTOR ADDR ),41,18
  1657. FIELD EABL+CPEI,(CPU 0 CONNECT CODE ),23,12
  1658. FIELD EABL+CPEI,(CPU 1 CONNECT CODE ),11,12
  1659. FIELD EABL+CMEI,(CENTRAL MEMORY DESCRIPTOR ),59,18
  1660. FIELD EABL+CMEI,(EXTENDED MEMORY DESCRIPTOR ),41,18
  1661. FIELD EABL+CMEI,(CENTRAL MEMORY CONNECT CODE),23,12
  1662. FIELD EABL+CMEI,(RESERVED ),11,12
  1663. FIELD EABL+IOEI,(IOU DESCRIPTOR ADDR ),59,18
  1664. FIELD EABL+IOEI,(RESERVED ),41,18
  1665. FIELD EABL+IOEI,(IOU CONNECT CODE ),23,12
  1666. FIELD EABL+IOEI,(RESERVED ),11,12
  1667. FIELD EABL+MFEI,(MAINFRAME DESCRIPTOR ADDR ),59,18
  1668. FIELD EABL+DCEI,(DISPLAY CONSOLE DESCRIPTOR ),41,18
  1669. FIELD EABL+MFEI,(SAB LENGTH ),23,12
  1670. FIELD EABL+MFEI,(RESERVED ),11,12
  1671. FIELD UEML,(UEM BASE ADDR/1000B UEML),59,12
  1672. FIELD UEML,(UEM FL/*UEBS* ),47,12
  1673. FIELD UEML,(UEM EQUIPMENT ),35,12
  1674. FIELD UEML,(RESERVED ),23,21
  1675. FIELD UEML,(*UEM* PRESENT ),2,3
  1676. FIELD CMBL,(FWA BLOCK NAME TABLE CMBL),59,24
  1677. FIELD CMBL,(RESERVED ),35,12
  1678. FIELD CMBL,(FWA BREAKPOINT TABLE ),23,24
  1679. FIELD MMFL,(MACHINE IDENTIFICATION MMFL),59,12
  1680. FIELD MMFL,(ISD/LSPMMF/BIOMMF FLAGS ),47,3
  1681. FIELD MMFL,(LINK DEVICE EQ ),44,9
  1682. FIELD MMFL,(FLAG REG RECOVERY INTERLOCK),35,3
  1683. FIELD MMFL,(INITIALIZED EQ COUNT ),32,9
  1684. FIELD MMFL,(MACHINES MASK ),23,12
  1685. FIELD MMFL,(MACHINE INDEX ),11,12
  1686. FIELD EFRL,(MACHINE STATE TBL PTR EFRL),59,24
  1687. FIELD EFRL,(RESERVED ),35,12
  1688. FIELD EFRL,(DISPLAY FLAG REGISTER IF 0 ),23,6
  1689. FIELD EFRL,(FLAG REGISTER IMAGE ),17,18
  1690. FIELD INWL,(RESERVED INWL),59,6
  1691. FIELD INWL,(RES/MDD DEDICATED/CM WRITE ),53,3
  1692. FIELD INWL,(MR WRT/MX CH HNG/MNT CH HNG),50,3
  1693. FIELD INWL,(RESERVED ),47,24
  1694. FIELD INWL,(ACTIVE MREC COUNT ),23,6
  1695. FIELD INWL,(RESERVED/DEADSTART JOB ),17,3
  1696. FIELD INWL,(LIMITS CHG/DIS SCHEDULE/RES),14,3
  1697. FIELD INWL,(RESERVED ),11,6
  1698. FIELD INWL,(RES/CKPT/WALL CLOCK RESET ),5,3
  1699. FIELD INWL,(CPD/FATAL ERR/SUBSYS ABORT ),2,3
  1700. FIELD 125,(RESERVED ),59,60
  1701. FIELD 126,(RESERVED ),59,60
  1702. FIELD 127,(RESERVED ),59,60
  1703. FIELD OSTP,(OPTICAL STATUS TBL FWA OSTP),59,24
  1704. FIELD OSTP,(NUMBER OF OPTICAL DEVICES ),35,12
  1705. FIELD OSTP,(RESERVED ),23,12
  1706. FIELD OSTP,(OPTICAL SCANNER CONTROL ),11,12
  1707. FIELD ORTP,(OPTICAL REQ. TABLE FWA ORTP),59,24
  1708. FIELD ORTP,(OPTICAL REQ. TABLE LENGTH ),35,12
  1709. FIELD ORTP,(OPTICAL REQ. ENTRIES AVAIL.),23,12
  1710. FIELD ORTP,(NEXT OPTICAL REQUEST ENTRY ),11,12
  1711. FIELD PRBP,(PROBE TABLE INTERLOCK PRBP),59,3
  1712. FIELD PRBP,(RESERVED ),56,15
  1713. FIELD PRBP,(PROBE TABLE AREA LENGTH ),41,18
  1714. FIELD PRBP,(FWA PROBE TABLE AREA ),23,24
  1715. FIELD EVTP,(EVENT TABLE FWA EVTP),59,24
  1716. FIELD INBP,(INSTALLATION BLOCK FWA INBP),35,24
  1717. FIELD INBP,(INST. BLOCK LENGTH INBP),11,12
  1718. FIELD MCTP,(FWA MCT MCTP),59,24
  1719. FIELD MCTP,(MAX MCT ENTRIES ),35,12
  1720. FIELD PCPP,(FWA PCP AREA PCPP),23,24
  1721. FIELD MSAP,(FWA MS ALLOC TABLE MSAP),59,24
  1722. FIELD SSCP,(FWA SSCT SSCP),35,24
  1723. FIELD TFML,(TMS STATUS BYTE TFML),11,12
  1724. FIELD OPRL,(OPERATOR MSG PRESENT OPRL),59,3
  1725. FIELD OPRL,(RESERVED ),56,42
  1726. FIELD OPRL,(RESERVED/LOW SPACE ),14,3
  1727. FIELD OPRL,(ERR ALERT/CH DWN/EM DIS ),11,3
  1728. FIELD OPRL,(TRACK, BML, ACC SIZE LIMIT ),8,3
  1729. FIELD OPRL,(ERRLOG, DAYFIL LIM/EJT FULL),5,3
  1730. FIELD OPRL,(QFT, FNT, FOT FULL ),2,3
  1731. FIELD FOTP,(FWA FOT FOTP),59,24
  1732. FIELD FOTP,(MAX FOT ENTRIES ),35,12
  1733. FIELD FOTP,(COUNT OF FREE FOT ENTRIES ),23,12
  1734. FIELD FOTP,(NEXT AVAILABLE FOT ENTRY ),11,12
  1735. FIELD LIDP,(FWA LID TABLE LIDP),59,24
  1736. FIELD LIDP,(LENGTH OF LID TABLE ),35,12
  1737. FIELD LIDP,(NUMBER OF FREE ENTRIES ),23,12
  1738. FIELD LIDP,(RESERVED ),11,9
  1739. FIELD LIDP,(INTERLOCK ),2,3
  1740. FIELD CHTP,(RESERVED CHTP),59,24
  1741. FIELD CHTP,(FWA CHANNEL TABLES ),35,24
  1742. FIELD NVOL,(NOS/VE EJT ORDINAL ),11,12
  1743. FIELD RPLP,(FWA RPL RPLP),59,24
  1744. FIELD LDSP,(FWA L-DISPLAY BUFFER LDSP),35,24
  1745. FIELD VEBL,(NOS/VE BYPASS LIMIT VEBL),11,12
  1746. FIELD RCLP,(FWA RCL RCLP),59,24
  1747. FIELD SCDP,(FWA SCD PARAMETERS SCDP),35,24
  1748. FIELD SCDP,(RESERVED ),11,12
  1749. FIELD PLDP,(FWA PLD PLDP),59,24
  1750. FIELD LBDP,(FWA LBD LBDP),35,24
  1751. FIELD LBDP,(RESERVED ),11,12
  1752. FIELD EPDP,(FWA EPD EPDP),59,24
  1753. FIELD PSTP,(FWA PST PSTP),35,24
  1754. FIELD PSTP,(RESERVED ),11,12
  1755. FIELD EDBP,(FWA EM DISPLAY BUFFER EDBP),59,24
  1756. FIELD EDBP,(RESERVED ),35,12
  1757. FIELD EPBP,(ECS/PP BUFFER COUNT EPBP),23,6
  1758. FIELD EPBP,(FWA ECS/PP BUFFER ),17,18
  1759. FIELD BIOL,(CPUMLD LOAD ADDR/100B BIOL),59,12
  1760. FIELD BIOL,(FWA BUFFERED I/O TABLES ),47,24
  1761. FIELD CMTP,(FWA CPUMTR CMTP),23,24
  1762. FIELD JBCP,(FWA JOB CONTROL BLOCKS JBCP),59,24
  1763. FIELD JBCP,(RESERVED ),35,36
  1764. FIELD JBCP+1,(RESERVED ),59,60
  1765. FIELD CPAL,(CPU0 EXPACK TYPE CPAL),59,18
  1766. FIELD CPAL,(CP ADDR OF JOB IN CPU0 ),41,18
  1767. FIELD CPAL,(XP ADDR OF JOB IN CPU0 ),23,24
  1768. FIELD CPAL+1,(CPU1 EXPACK TYPE ),59,18
  1769. FIELD CPAL+1,(CP ADDR OF JOB IN CPU1 ),41,18
  1770. FIELD CPAL+1,(XP ADDR OF JOB IN CPU1 ),23,24
  1771. FIELD BQRL,(BUF MGR RCL QUEUE PTR BQRL),59,60
  1772. FIELD RQRL,(MTR RECALL QUEUE PTR RQRL),59,60
  1773. FIELD CQRL,(CPUCIO REQUEST Q PTR CQRL),59,60
  1774. FIELD PQRL,(PP REQUEST QUEUE PTR PQRL),59,60
  1775. FIELD WQRL,(WQ QUEUE POINTER WQRL),59,60
  1776. FIELD TSCL,(CPU0 JOB PRIORITY TSCL),59,12
  1777. FIELD TSCL,(RESERVED ),47,12
  1778. FIELD TSCL,(CPU0 RECALL EXPIRATION ),35,36
  1779. FIELD TSCL+1,(CPU1 JOB PRIORITY ),59,12
  1780. FIELD TSCL+1,(RESERVED ),47,12
  1781. FIELD TSCL+1,(CPU1 RECALL EXPIRATION ),35,36
  1782. FIELD DSDL+0,(DSD - 1DS PARAMETER BLOCK ),59,60
  1783. FIELD DSDL+1,( ),59,60
  1784. FIELD DSDL+2,( ),59,60
  1785. FIELD DSDL+3,( ),59,60
  1786. FIELD DSDL+4,( ),59,60
  1787. FIELD DSDL+5,( ),59,60
  1788. FIELD DSDL+6,( ),59,60
  1789. FIELD DSDL+7,( ),59,60
  1790. FIELD DSDL+10B,( ),59,60
  1791. FIELD DSDL+11B,( ),59,60
  1792. FIELD DSDL+12B,( ),59,60
  1793. FIELD DSDL+13B,( ),59,60
  1794. FIELD DSDL+14B,( ),59,60
  1795. CON 0 END OF RIGHT COLUMN
  1796.  
  1797. TFLC3 EQU *
  1798. ERRNG 2*TFLC2-TFLC1-TFLC3 IF RIGHT LONGER THAN LEFT
  1799. TFCP SPACE 4
  1800. ** TFCP - CONTROL POINT AREA FIELD DESCRIPTORS.
  1801.  
  1802.  
  1803. TFCP VFD 24/0,18/TFCP1,18/TFCP2
  1804. .OW SET STSW-1 INITIALIZE *FIELD* MACRO CHECKS
  1805. .BI SET 0
  1806.  
  1807. TFCP1 BSS 0
  1808. FIELD STSW,(CPU STATUS STSW),59,3
  1809. FIELD STSW,(CPU SUB-CP ACTIVE ),56,3
  1810. FIELD STSW,(NUMBER PPS ASSIGNED ),53,6
  1811. FIELD STSW,(ERROR FLAGS ),47,12
  1812. FIELD STSW,(RESERVED ),35,3
  1813. FIELD STSW,(ROLLOUT CONTROL ),32,9
  1814. FIELD STSW,(RESERVED ),23,12
  1815. FIELD STSW,(RECALL CONTROL ),11,12
  1816. FIELD CWQW,(CPU PRIORITY/FLAGS CWQW),59,12
  1817. FIELD CWQW,(SLICE/RECALL FLAGS ),47,3
  1818. FIELD CWQW,(SERVICE CYCLE NUMBER ),44,9
  1819. FIELD CWQW,(CPU SCHED SERVICE INDEX ),35,9
  1820. FIELD CWQW,(CPU FLAGS/RES/EXPACK TYPE ),26,9
  1821. FIELD CWQW,(*WQ* LINKAGE ),17,18
  1822. FIELD CSAW,(ZERO CSAW),59,6
  1823. FIELD CSAW,(CPU TIME THRESHOLD ),53,18
  1824. FIELD CSAW,(RECALL SLICE ACCUMULATOR ),35,18
  1825. FIELD CSAW,(CPU SLICE ACCUMULATOR ),17,18
  1826. FIELD FLSW,(NEGATIVE FL/100B FLSW),59,12
  1827. FIELD FLSW,(*SET* RECOVERY NFL ),47,12
  1828. FIELD FLSW,(RA/100B ),35,24
  1829. FIELD FLSW,(FL/100B ),11,12
  1830. FIELD FLSW+1,(ZERO ),59,12
  1831. FIELD FLSW+1,(RA/100B - NFL/100B ),47,24
  1832. FIELD FLSW+1,(4000B + NFL/100B ),23,12
  1833. FIELD FLSW+1,(FL/100B ),11,12
  1834. FIELD ECSW,(ZERO ECSW),59,12
  1835. FIELD ECSW,(ECXM INTERLOCK/RESERVED ),47,3
  1836. FIELD ECSW,(RESERVED ),44,9
  1837. FIELD ECSW,(EM RA/*UEBS* ),35,24
  1838. FIELD ECSW,(EM FL/*UEBS* ),11,12
  1839. FIELD JCIW,(RESERVED JCIW),59,18
  1840. FIELD JCIW,(RESV/RESV/CPUPFM ACTIVE ),41,3
  1841. FIELD JCIW,(RESERVED/CPU SELECTION ),38,3
  1842. FIELD JCIW,(SUBSYSTEM ID ),35,12
  1843. FIELD JCIW,(JOB CONTROL/*DIS* FLAGS ),23,3
  1844. FIELD JCIW,(USER PRIVACY, PRESERVE EM ),20,3
  1845. FIELD JCIW,(RESERVED ),17,18
  1846. FIELD EOJW,(JOB TERMINATION OPTION EOJW),59,3
  1847. FIELD EOJW,(QUEUE FILE DISPOSITION ),56,3
  1848. FIELD EOJW,(RESERVED ),53,21
  1849. FIELD EOJW,(PROJ PRLG/EPLG TERM OPTION ),32,3
  1850. FIELD EOJW,(PROJ PRLG/EPLG NEST LVL-1 ),29,6
  1851. FIELD JOTW,(JOB ORIGIN TYPE JOTW),23,12
  1852. FIELD OAEW,(OPER ASSIGNED EQUIP OAEW),11,12
  1853. FIELD SNSW,(PUNCH MODE/OVERRIDE SNSW),59,3
  1854. FIELD SNSW,(RESERVED ),56,21
  1855. FIELD SNSW,(RESERVED-INSTALLATION ),35,12
  1856. FIELD SNSW,(PP PAUSE FLAGS ),23,12
  1857. FIELD SNSW,(SENSE SWITCHES ),11,6
  1858. FIELD SNSW,(RESERVED ),5,6
  1859. FIELD MS1W,(MESSAGE 1 AREA MS1W),59,60
  1860. FIELD MS1W+1,( ),59,60
  1861. FIELD MS1W+2,( ),59,60
  1862. FIELD MS1W+3,( ),59,60
  1863. FIELD MS1W+4,( ),59,60
  1864. FIELD MS2W,(MESSAGE 2 AREA MS2W),59,60
  1865. FIELD MS2W+1,( ),59,60
  1866. FIELD MS2W+2,( ),59,60
  1867. FIELD IN0W,(INSTALLATION WORD 0 IN0W),59,60
  1868. FIELD IN1W,(INSTALLATION WORD 1 IN1W),59,60
  1869. FIELD IN2W,(INSTALLATION WORD 2 IN2W),59,60
  1870. FIELD IN3W,(INSTALLATION WORD 3 IN3W),59,60
  1871. FIELD IN4W,(INSTALLATION WORD 4 IN4W),59,60
  1872. FIELD IN5W,(INSTALLATION WORD 5 IN5W),59,60
  1873. FIELD IN6W,(INSTALLATION WORD 6 IN6W),59,60
  1874. FIELD IN7W,(INSTALLATION WORD 7 IN7W),59,60
  1875. FIELD ACTW,(LIMIT FLAGS ACTW),59,6
  1876. FIELD SRUW,(RESERVED SRUW),53,3
  1877. FIELD SRUW,(OVERFLOW/CONTROL FLAGS ),50,9
  1878. FIELD SRUW,(SRU ACCUMULATOR/OVERFLOW ),41,42
  1879. FIELD CPTW,(CP ACCUM (NANOUNITS/4) CPTW),59,60
  1880. FIELD IOAW,(IO ACCUMULATORS IOAW),59,60
  1881. FIELD MP1W,(M13 = M1 * M3 MP1W),59,18
  1882. FIELD MP1W,(M14 = M1 * M4 ),41,18
  1883. FIELD ADAW,(RESERVED ),23,3
  1884. FIELD ADAW,(ADDER ACCUMULATOR ADAW),20,21
  1885. FIELD MP2W,(M1 * 1000 MP2W),59,18
  1886. FIELD MP2W,(M12 = M1 * M2 ),41,18
  1887. FIELD MP2W,(RESERVED ),23,24
  1888. FIELD MP3W,(DISABLE SRU ACCUM, CPM MP3W),59,30
  1889. FIELD MP3W,(IOM ),29,30
  1890. FIELD STLW,(SRU ACCOUNT BLOCK LMT STLW),59,18
  1891. FIELD STLW,(COMPUTED SRU JOB STEP LIMIT),41,42
  1892. FIELD SRJW,(SRU MESSAGE TRIGGER SRJW),59,12
  1893. FIELD SRJW,(SRU JOB STEP LIMIT ),47,18
  1894. FIELD SRJW,(SRU ACCUM AT JOB STEP START),29,30
  1895. FIELD CPJW,(RESERVED CPJW),59,12
  1896. FIELD CPJW,(CP TIME JOB STEP LIMIT ),47,18
  1897. FIELD CPJW,(CP ACCUM AT JOB STEP START ),29,30
  1898. FIELD FPFW,(CHARGE/ACCOUNTING FLGS FPFW),59,6
  1899. FIELD FPFW,(RESERVED ),53,6
  1900. FIELD FPFW,(SRU VALIDATION LIMIT ),47,12
  1901. FIELD FPFW,(FNT ORDINAL OF PROFILE FILE),35,12
  1902. FIELD FPFW,(LEVEL-3 BLOCK TRACK ),23,12
  1903. FIELD FPFW,(LEVEL-3 BLOCK SECTOR ),11,12
  1904. FIELD FLCW,(MAX FL FOR JOB STEP FLCW),59,12
  1905. FIELD FLCW,(LAST COMMAND FL (NFL) ),47,12
  1906. FIELD FLCW,(MAXIMUM FL FOR ENTIRE JOB ),35,12
  1907. FIELD FLCW,(RESERVED ),23,24
  1908. FIELD ELCW,(JOB STEP MAX EM FL ELCW),59,12
  1909. FIELD ELCW,(LAST CARD EM FL (NFL) ),47,12
  1910. FIELD ELCW,(JOB MAX EXTENDED MEMORY FL ),35,12
  1911. FIELD ELCW,(RESERVED ),23,24
  1912. FIELD EACW,(EQUIP ASSIGNED COUNT EACW),59,12
  1913. FIELD FLIW,(RESERVED FLIW),47,9
  1914. FIELD FLIW,(SCHEDULER STATUS ),38,3
  1915. FIELD FLIW,(NEGATIVE FL FOR ROLLIN ),35,12
  1916. FIELD FLIW,(EXTENDED MEMORY FL REQUEST ),23,12
  1917. FIELD FLIW,(CM FL REQUEST ),11,12
  1918. FIELD TXSW,(TXOT SUBSYSTEM TXSW),59,6
  1919. FIELD TXSW,(RESERVED ),53,6
  1920. FIELD TTNW,(TERMINAL NUMBER TTNW),47,12
  1921. FIELD TIAW,(TERMINAL INT ADDR TIAW),35,18
  1922. FIELD TIOW,(OUTPUT POINTER TIOW),17,18
  1923. FIELD PFCW,(RESERVED PFCW),59,24
  1924. FIELD PFCW,(*PUCN* USER LIMITS ),35,12
  1925. FIELD PFCW,(EST ORD OF FAMILY DEVICE ),23,12
  1926. FIELD PFCW,(LIMIT FOR SIZE OF DAF ),11,3
  1927. FIELD PFCW,(LIMIT FOR NUMBER OF PF ),8,3
  1928. FIELD PFCW,(LIMIT CUMM SIZE IAPF ),5,3
  1929. FIELD PFCW,(LIMIT FOR SIZE OF IAPF ),2,3
  1930. FIELD UIDW,(USER NAME UIDW),59,42
  1931. FIELD UIDW,(RESERVED, USER INDEX ),17,18
  1932. FIELD EECW,(NO EXIT FLAG EECW),59,3
  1933. FIELD EECW,(RESERVED ),56,6
  1934. FIELD EECW,(RESERVED/TL EXTENDED ),50,3
  1935. FIELD EECW,(REPRIEVE DATA ),47,12
  1936. FIELD TINW,(TERMINAL INPUT POINTER TINW),35,18
  1937. FIELD EECW,(REPRIEVE DATA ),17,18
  1938. FIELD TFSW,(EJT ORDINAL OF JOB TFSW),59,12
  1939. FIELD TFSW,(PRIMARY FILE FNT OFFSET ),47,12
  1940. FIELD TFSW,(RESERVED ),35,6
  1941. FIELD TERW,(ROLLOUT TIME TERW),29,9
  1942. FIELD TERW,(EVENT DESCRIPTOR ),20,21
  1943. FIELD CSPW,(RESERVED CSPW),59,6
  1944. FIELD CSPW,(DIS EMSG/RESERVED/EPLG REQ ),53,3
  1945. FIELD CSPW,(CHG REQ/PR USER/INHIB DECR ),50,3
  1946. FIELD CSPW,(EOR FLAG/CS COUNT ),47,24
  1947. FIELD CSPW,(NEXT COMMAND INDEX ),23,12
  1948. FIELD CSPW,(LIMIT INDEX ),11,12
  1949. FIELD CSSW,(INPUT/SKIP FLAGS CSSW),59,3
  1950. FIELD CSSW,(EST ORDINAL ),56,9
  1951. FIELD CSSW,(FIRST TRACK ),47,12
  1952. FIELD CSSW,(CURRENT TRACK ),35,12
  1953. FIELD CSSW,(CURRENT SECTOR ),23,12
  1954. FIELD CSSW,(OVERLAP WORD COUNT ),11,12
  1955. FIELD RFCW,(RESERVED RFCW),59,24
  1956. FIELD RFCW,(COMMAND ADDRESS ),35,18
  1957. FIELD RFCW,(DEMAND FILE RANDOM INDEX ),17,18
  1958. FIELD ALMW,(ORIGINAL MAX SRU LIMIT ALMW),59,6
  1959. FIELD ALMW,(MAX UNITS PLOTTED ),53,6
  1960. FIELD ALMW,(MAX MAGNETIC TAPES ),47,3
  1961. FIELD ALMW,(MAX REMOVABLE PACKS ),44,3
  1962. FIELD ALMW,(MAX DEFER BATCH JOBS ),41,3
  1963. FIELD ALMW,(RESERVED ),38,3
  1964. FIELD ALMW,(MAX TIME LIMIT ),35,6
  1965. FIELD ALMW,(MAX SRU LIMIT ),29,6
  1966. FIELD ALMW,(MAX FIELD LENGTH ),23,6
  1967. FIELD ALMW,(MAX EM FIELD LENGTH ),17,6
  1968. FIELD ALMW,(MAX LINES PRINTED ),11,6
  1969. FIELD ALMW,(MAX CARDS PUNCHED ),5,6
  1970. CON -1 END OF LEFT COLUMN
  1971.  
  1972. TFCP2 BSS 0
  1973. FIELD ACLW,(REPRIEVE LIMIT ACLW),59,12
  1974. FIELD ACLW,(DAYFILE MESSAGES COUNT ),47,12
  1975. FIELD ACLW,(COMMANDS CNT ),35,12
  1976. FIELD ACLW,(RESERVED ),23,6
  1977. FIELD ACLW,(MS PRUS COUNT ),17,18
  1978. FIELD AACW,(ACCOUNT ACCESS WORD AACW),59,60
  1979. FIELD MPMW,(MAP MULTIPLIER * M1 MPMW),59,18
  1980. FIELD ODAW,(OPTICAL ACCUMULATOR ODAW),41,21
  1981. FIELD MPAW,(MAP ACCUMULATOR MPAW),20,21
  1982. FIELD AUCW,(RESERVED AUCW),59,30
  1983. FIELD AUCW,(AUC ACCUMULATOR ),29,30
  1984. FIELD AUCW+1,(RESERVED ),59,60
  1985. FIELD AUCW+2,(RESERVED ),59,60
  1986. FIELD SEPW,(SPEC ENTRY POINT FLAG SEPW),59,3
  1987. FIELD SEPW,(UTL=/LDR=/CLB= EN PT FLAGS ),56,3
  1988. FIELD SEPW,(ARG=/DMP=/SDM= EN PT FLAGS ),53,3
  1989. FIELD SEPW,(SSJ=/VAL=/SSM= EN PT FLAGS ),50,3
  1990. FIELD SEPW,(DPA= /RESERVED ),47,9
  1991. FIELD SEPW,(RESERVED / ENABLE SSJ ),38,3
  1992. FIELD SEPW,(RESTART/SUPPRESS DMP= FLAGS),35,3
  1993. FIELD SEPW,(DM* FILE/RESOURCE FLAGS ),32,3
  1994. FIELD SEPW,(DMP= FL/100 (0 = ENTIRE FL)),29,12
  1995. FIELD SEPW,(SSJ= PARAMETER BLK ADDRESS ),17,18
  1996. FIELD SPCW,(SYSTEM PROC CALL WORD SPCW),59,60
  1997. FIELD JCDW,(CCL - EFF JCDW),59,6
  1998. FIELD JCDW,(CCL - R1G ),53,18
  1999. FIELD JCDW,(CCL - DATA ),35,6
  2000. FIELD JCDW,(PROCEDURE NESTING LEVEL ),29,6
  2001. FIELD JCDW,(RESERVED ),23,24
  2002. FIELD JCRW,(CCL - EF JCRW),59,6
  2003. FIELD JCRW,(CCL - R3 ),53,18
  2004. FIELD JCRW,(CCL - R2 ),35,18
  2005. FIELD JCRW,(CCL - R1 ),17,18
  2006. FIELD DBAW,(SEC MEM/K DIS FLAGS DBAW),59,3
  2007. FIELD DBAW,(EM AND CM CMM MODE FLAGS ),56,3
  2008. FIELD DBAW,(INPUT BUFFER ADDRESS ),53,18
  2009. FIELD DBAW,(RIGHT SCREEN BFR ADD ),35,18
  2010. FIELD DBAW,(LEFT SCREEN BFR ADD ),17,18
  2011. FIELD LB1W,(MAP OPTIONS/LIB FLAG LB1W),59,6
  2012. FIELD LB1W,(REDUCE/LOADER FLAGS ),53,6
  2013. FIELD LB1W,(RESERVED FOR LOADER ),47,12
  2014. FIELD LB1W,(INTERACTIVE DEBUG CONTROL ),35,12
  2015. FIELD LB1W,(GLOBAL LIB INDICATORS ),23,24
  2016. FIELD LB2W,(SECOND LIB/GLOBAL IND LB2W),59,60
  2017. FIELD LB3W,(FIRST LIB/GLOBAL IND LB3W),59,60
  2018. FIELD EOCW,(FNT ADDR LAST FIL EXEC EOCW),59,12
  2019. FIELD PPDW,(EM FL FOR DMP= CALL PPDW),47,12
  2020. FIELD PPDW,(FL FOR DMP= CALL ),35,12
  2021. FIELD PPDW,(DUMP WORD COUNT ),23,6
  2022. FIELD PPDW,(FWA OF DUMP ),17,18
  2023. FIELD SSOW,(RESERVED ),59,48
  2024. FIELD SSOW,(OUTSTANDING CONNECT COUNT ),11,12
  2025. FIELD SSCW,(SCP INDEX SSCW),59,6
  2026. FIELD SSCW,(RES/ROLLOUT/CONNECTION ),53,3
  2027. FIELD SSCW,(WAIT RESPONSES ),50,3
  2028. FIELD SSCW,(SCP INDEX ),47,6
  2029. FIELD SSCW,(RES/ROLLOUT/CONNECTION ),41,3
  2030. FIELD SSCW,(WAIT RESPONSES ),38,3
  2031. FIELD SSCW,(SCP INDEX ),35,6
  2032. FIELD SSCW,(RES/ROLLOUT/CONNECTION ),29,3
  2033. FIELD SSCW,(WAIT RESPONSES ),26,3
  2034. FIELD SSCW,(SCP INDEX ),23,6
  2035. FIELD SSCW,(RES/ROLLOUT/CONNECTION ),17,3
  2036. FIELD SSCW,(WAIT RESPONSES ),14,3
  2037. FIELD SSCW,(SCP INDEX ),11,6
  2038. FIELD SSCW,(RES/ROLLOUT/CONNECTION ),5,3
  2039. FIELD SSCW,(WAIT RESPONSES ),2,3
  2040. FIELD CPLW,(COMPUTED CP TIME LIMIT CPLW),59,60
  2041. FIELD LOFW,(LIST OF FILES INDEX LOFW),59,12
  2042. FIELD LOFW,(RESERVED ),47,6
  2043. FIELD LOFW,(LIST OF FILES ADDRESS ),41,18
  2044. FIELD LOFW,(RESERVED ),23,18
  2045. FIELD AALW,(APPL ACCESS LEVEL AALW),5,6
  2046. FIELD TSCW,(CM RESIDENCE TIME LMT TSCW),59,24
  2047. FIELD TSCW,(RESERVED ),35,3
  2048. FIELD TSCW,(INIT TIME SLICE OCCUR FLAG ),32,3
  2049. FIELD TSCW,(CPU TIME SLICE LIMIT ),29,30
  2050. FIELD JSCW,(ADMIN/DIAG/USER PW EXP JSCW),59,3
  2051. FIELD JSCW,(PF PW EXP/LOWER JAL/FAL ),56,3
  2052. FIELD JSCW,(WRITE DOWN/UNLABELED TAPES ),53,3
  2053. FIELD JSCW,(RESERVED ),50,3
  2054. FIELD JSCW,(JOB ACCESS LEVEL ),47,3
  2055. FIELD JSCW,(USER ACCESS LEV VALIDATION ),44,9
  2056. FIELD JSCW,(JOB ACCESS LEVEL LIMIT ),35,3
  2057. FIELD JSCW,(USER ACCESS CATEGORY SET ),32,33
  2058. FIELD PKNW,(DEFAULT PACK NAME PKNW),59,42
  2059. FIELD PKNW,(DEFAULT PACK TYPE ),17,18
  2060. FIELD CRCW,(RECALL CRITERION NO. CRCW),59,12
  2061. FIELD CRCW,(RECALL CRITERION PARAMS ),47,36
  2062. FIELD CRCW,(NEXT RECALL STACK ENTRY ),11,12
  2063. FIELD RCCW,(RECALL CRITERION RCCW),59,60
  2064. FIELD RCCW+1,(RECALL CRITERION ),59,60
  2065. FIELD RCCW+2,(RECALL CRITERION ),59,60
  2066. FIELD RCCW+3,(RECALL CRITERION ),59,60
  2067. FIELD RCCW+4,(RECALL CRITERION ),59,60
  2068. FIELD RCCW+5,(RECALL CRITERION ),59,60
  2069. FIELD RCCW+6,(RECALL CRITERION ),59,60
  2070. FIELD RCCW+7,(RECALL CRITERION ),59,60
  2071. FIELD RCCW+8,(RECALL CRITERION ),59,60
  2072. FIELD RCCW+9,(RECALL CRITERION ),59,60
  2073. FIELD RCCW+10,(RECALL CRITERION ),59,60
  2074. FIELD RCCW+11,(RECALL CRITERION ),59,60
  2075. FIELD RCCW+12,(RECALL CRITERION ),59,60
  2076. FIELD RCCW+13,(RECALL CRITERION ),59,60
  2077. FIELD RECW,(RECALL REQUESTS IR-S RECW),59,60
  2078. FIELD RECW+1,(RECALL REQUESTS IR-S ),59,60
  2079. FIELD RECW+2,(RECALL REQUESTS IR-S ),59,60
  2080. FIELD RECW+3,(RECALL REQUESTS IR-S ),59,60
  2081. FIELD RECW+4,(RECALL REQUESTS IR-S ),59,60
  2082. FIELD RECW+5,(RECALL REQUESTS IR-S ),59,60
  2083. FIELD RECW+6,(RECALL REQUESTS IR-S ),59,60
  2084. FIELD RECW+7,(RECALL REQUESTS IR-S ),59,60
  2085. FIELD RECW+8,(RECALL REQUESTS IR-S ),59,60
  2086. FIELD RECW+9,(RECALL REQUESTS IR-S ),59,60
  2087. FIELD RECW+10,(RECALL REQUESTS IR-S ),59,60
  2088. FIELD RECW+11,(RECALL REQUESTS IR-S ),59,60
  2089. FIELD RECW+12,(RECALL REQUESTS IR-S ),59,60
  2090. FIELD RECW+13,(RECALL REQUESTS IR-S ),59,60
  2091. FIELD REPW,(RECALL REQUESTS MB-S REPW),59,60
  2092. FIELD REPW+1,(RECALL REQUESTS MB-S ),59,60
  2093. FIELD REPW+2,(RECALL REQUESTS MB-S ),59,60
  2094. FIELD REPW+3,(RECALL REQUESTS MB-S ),59,60
  2095. FIELD REPW+4,(RECALL REQUESTS MB-S ),59,60
  2096. FIELD REPW+5,(RECALL REQUESTS MB-S ),59,60
  2097. FIELD REPW+6,(RECALL REQUESTS MB-S ),59,60
  2098. FIELD REPW+7,(RECALL REQUESTS MB-S ),59,60
  2099. FIELD REPW+8,(RECALL REQUESTS MB-S ),59,60
  2100. FIELD REPW+9,(RECALL REQUESTS MB-S ),59,60
  2101. FIELD REPW+10,(RECALL REQUESTS MB-S ),59,60
  2102. FIELD REPW+11,(RECALL REQUESTS MB-S ),59,60
  2103. FIELD REPW+12,(RECALL REQUESTS MB-S ),59,60
  2104. FIELD REPW+13,(RECALL REQUESTS MB-S ),59,60
  2105. CON 0 END OF RIGHT COLUMN
  2106.  
  2107. TFCP3 EQU *
  2108. ERRNG 2*TFCP2-TFCP1-TFCP3 IF RIGHT LONGER THAN LEFT
  2109. TFEJ SPACE 4,10
  2110. ** TFEJ - EXECUTING JOB TABLE FIELD DESCRIPTORS.
  2111.  
  2112.  
  2113. TFEJ VFD 24/0,18/TFEJ1,18/TFEJ2
  2114. .OW SET JSNE-1
  2115. .BI SET 0
  2116.  
  2117. TFEJ1 BSS 0
  2118. FIELD JSNE,(JSN JSNE),59,24
  2119. FIELD JSNE,(FAMILY ORDINAL ),35,6
  2120. FIELD JSNE,(USER INDEX ),29,18
  2121. FIELD JSNE,(SCP/CS/JOB ADVANCE ),11,6
  2122. FIELD JSNE,(JOB STATUS/INTERLOCK ),5,6
  2123. FIELD SCHE,(STATUS DEPENDENT SCHE),59,24
  2124. FIELD SCHE,(NORERUN/JOB TERMINATION ),35,3
  2125. FIELD SCHE,(RESERVED ),32,3
  2126. FIELD SCHE,(SCHEDULING DATA ),29,30
  2127. CON -1 END OF LEFT COLUMN
  2128.  
  2129. TFEJ2 BSS 0
  2130. FIELD PRFE,(INSTALLATION RESERVED PRFE),59,12
  2131. FIELD PRFE,(ERROR FLAGS ),47,12
  2132. FIELD PRFE,(RESERVED/JOB ACCESS LVLS ),35,12
  2133. FIELD PRFE,(STATUS DEPENDENT ),23,24
  2134. FIELD SCLE,(SERVICE CLASS SCLE),59,6
  2135. FIELD SCLE,(FORCED RI/FORCED RO/OT ),53,6
  2136. FIELD SCLE,(ROUTING INFORMATION ),47,24
  2137. FIELD SCLE,(EM FL ),23,12
  2138. FIELD SCLE,(CM FL ),11,12
  2139. CON 0 END OF RIGHT COLUMN
  2140.  
  2141. TFEJ3 EQU *
  2142. ERRNG 2*TFEJ2-TFEJ1-TFEJ3 IF RIGHT LONGER THAN LEFT
  2143. TFES SPACE 4,10
  2144. ** TFES - EQUIPMENT STATUS TABLE FIELD DESCRIPTORS.
  2145.  
  2146.  
  2147. TFES VFD 24/0,18/TFES1,18/TFES2
  2148. .OW SET EQDE-1
  2149. .BI SET 0
  2150.  
  2151. TFES1 BSS 0
  2152. FIELD EQDE,(MS/DEVICE DEP/STATUS EQDE),59,12
  2153. FIELD EQDE,(CHANNEL 1 DATA ),47,12
  2154. FIELD EQDE,(CHANNEL 2 DATA ),35,12
  2155. FIELD EQDE,(DEVICE TYPE ),23,12
  2156. FIELD EQDE,(DEVICE DEPENDENT ),11,12
  2157. CON -1 END OF LEFT COLUMN
  2158.  
  2159. TFES2 BSS 0
  2160. FIELD EQAE,(INSTALLATION RESERVED EQAE),59,12
  2161. FIELD EQAE,(RESERVED FOR CDC ),47,12
  2162. FIELD EQAE,(DEVICE DEPENDENT ),35,12
  2163. FIELD EQAE,(RES/ACCESS LEVELS ),23,12
  2164. FIELD EQAE,(ASSIGNED EJT ORDINAL ),11,12
  2165. CON 0 END OF RIGHT COLUMN
  2166.  
  2167. TFES3 EQU *
  2168. ERRNG 2*TFES2-TFES1-TFES3 IF RIGHT LONGER THAN LEFT
  2169. TFFN SPACE 4,10
  2170. ** TFFN - SYSTEM FILE NAME TABLE FIELD DESCRIPTORS.
  2171.  
  2172.  
  2173. TFFN VFD 24/0,18/TFFN1,18/TFFN2
  2174. .OW SET FNTG-1
  2175. .BI SET 0
  2176.  
  2177. TFFN1 BSS 0
  2178. FIELD FNTG,(FILE NAME FNTG),59,42
  2179. FIELD FNTG,(RES/FAT INDEX ),17,6
  2180. FIELD FNTG,(FILE TYPE ),11,6
  2181. FIELD FNTG,(RESERVED/INTERLOCK ),5,6
  2182. CON -1 END OF LEFT COLUMN
  2183.  
  2184. TFFN2 BSS 0
  2185. FIELD FSTG,(EST ORDINAL FSTG),59,12
  2186. FIELD FSTG,(FIRST TRACK ),47,12
  2187. FIELD FSTG,(USER COUNT FOR MOD/APP/RD ),35,24
  2188. FIELD FSTG,(ATTACH MODE/UPDATE COUNT ),11,12
  2189. CON 0 END OF RIGHT COLUMN
  2190.  
  2191. TFFN3 EQU *
  2192. ERRNG 2*TFFN2-TFFN1-TFFN3 IF RIGHT LONGER THAN LEFT
  2193. TFMS SPACE 4
  2194. ** TFMS - MASS STORAGE TABLE FIELD DESCRIPTORS.
  2195.  
  2196.  
  2197. TFMS VFD 24/0,18/TFMS1,18/TFMS2
  2198. .OW SET TDGL-1 INITIALIZE *FIELD* MACRO CHECKS
  2199. .BI SET 0
  2200.  
  2201. TFMS1 BSS 0
  2202. FIELD TDGL,(NUMBER OF TRACKS TDGL),59,12
  2203. FIELD TDGL,(PF INTERLOCK / COUNTS ),47,12
  2204. FIELD TDGL,(LENGTH OF TRT ),35,12
  2205. FIELD TDGL,(FIRST AVAIL TRACK PTR ),23,12
  2206. FIELD TDGL,(NUM AVAILABLE TRACKS ),11,12
  2207. FIELD ACGL,(CTI/DS FILE/CT TRK OVF ACGL),59,3
  2208. FIELD ACGL,(RESERVED ),56,3
  2209. FIELD ACGL,(DAS MMF PARITY ACCESS MASK ),53,6
  2210. FIELD ACGL,(OFFLINE DAS PARITY UNIT ),47,6
  2211. FIELD ACGL,(DAS RESTORE CYL/100B ),41,6
  2212. FIELD ACGL,(DIRECT ACCESS FILE CNT ),35,12
  2213. FIELD ACGL,(FIRST TRACK IQFT ),23,12
  2214. FIELD ACGL,(REDEFINITION STATUSES ),11,6
  2215. FIELD ACGL,(ALL MF UNLOADED/ERROR IDLE ),5,3
  2216. FIELD ACGL,(DAS ERROR/PARITY FLAGS ),2,3
  2217. FIELD SDGL,(FLAG/MST LINK DEV ADDR SDGL),59,24
  2218. FIELD SDGL,(MST/TRT UPDATE COUNT ),35,30
  2219. FIELD SDGL,(MF INDEX/CPUMTR INTERLOCKS ),5,6
  2220. FIELD ALGL,(FIRST TRACK IAPF ALGL),59,12
  2221. FIELD ALGL,(LABEL TRACK ),47,12
  2222. FIELD ALGL,(FIRST TRACK PERMITS ),35,12
  2223. FIELD ALGL,(NUMBER CATALOG TRACKS ),23,12
  2224. FIELD ALGL,(FIRST TRACK DAT ),11,12
  2225. FIELD PFGL,(FAMILY OR PACK NAME PFGL),59,42
  2226. FIELD PFGL,(DEVICE NUMBER ),17,6
  2227. FIELD PFGL,(DEVICE AL LIMIT LOWER/UPPER),11,6
  2228. FIELD PFGL,(REL UNIT MULTIUNIT DEV ),5,3
  2229. FIELD PFGL,(NUM UNIT MULTIUNIT DEV ),2,3
  2230. FIELD PUGL,(USER NUM PRIVATE PACK PUGL),59,42
  2231. FIELD PUGL,(CONT LBL TRK/DEV RES MASKS ),17,18
  2232. FIELD MDGL,(FLAGS AND DAT INDEX MDGL),59,12
  2233. FIELD MDGL,(HT FLAG / S.U. SECTOR LIMIT),47,12
  2234. FIELD MDGL,(DRIVER NAME ),35,12
  2235. FIELD MDGL,(RESERVED ),23,6
  2236. FIELD MDGL,(DRIVER INDEX ),17,6
  2237. FIELD MDGL,(SECTOR LIMIT ),11,12
  2238. FIELD NVGL,(TRACK TO BE FLAWED NVGL),59,12
  2239. FIELD NVGL,(BAT EM ADDRESS ),47,24
  2240. FIELD NVGL,(BAT TRACK CHAIN - LINK DEV.),23,12
  2241. FIELD NVGL,(RESERVED UNIT FLAGS ),11,12
  2242. FIELD ISGL,(GLOBAL INSTAL AREA ISGL),59,60
  2243. FIELD I2GL,( I2GL),59,60
  2244. FIELD DALL,(RES/DEVICE STATE DALL),59,3
  2245. FIELD DALL,(SUSPECT/RESTR. ACTIVITY ),56,3
  2246. FIELD DALL,(OUTSTANDING REQUESTS ),53,6
  2247. FIELD DALL,(UNIT INTERLOCKS ),47,12
  2248. FIELD DALL,(CYLINDER NUMBER ),35,12
  2249. FIELD DALL,(PRIORITY PP NUMBER ),23,12
  2250. FIELD DALL,(CHANNEL 2 ),11,6
  2251. FIELD DALL,(CHANNEL 1 ),5,6
  2252. FIELD DILL,(ALLOCATION FLAGS DILL),59,12
  2253. FIELD DILL,(CH 2 ACCESS 7154 FLAG ),47,6
  2254. FIELD DILL,(CH 1 ACCESS 7154 FLAG ),41,6
  2255. FIELD DILL,(*PUT* ORD OF FIRST UNIT ),35,12
  2256. FIELD DILL,(DEVICE FLAGS ),23,3
  2257. FIELD DILL,(MEMORY TYPE - 3 BIT VALUE ),20,3
  2258. FIELD DILL,(CPU TYPE - 3 BIT VALUE ),17,3
  2259. FIELD DILL,(PP PATH TYPE - 3 BIT VALUE ),14,3
  2260. FIELD DILL,(RESERVED ),11,6
  2261. FIELD DILL,(ALGORITHM INDEX ),5,6
  2262. CON -1 END OF LEFT COLUMN
  2263.  
  2264. TFMS2 BSS 0
  2265. FIELD DULL,(2ND LABEL/TRT SECTOR DULL),59,12
  2266. FIELD DULL,(PF INTERLOCK / COUNTS ),47,12
  2267. FIELD DULL,(RESERVED ),35,6
  2268. FIELD DULL,(MACHINE INDEX - 1 ),29,6
  2269. FIELD DULL,(CKPT FLG/SYSTEM TABLE TRACK),23,12
  2270. FIELD DULL,(FAMILY IDLE STAT/ACT COUNT ),11,12
  2271. FIELD STLL,(LOCAL STATUS FLAGS STLL),59,18
  2272. FIELD STLL,(ERROR STATUS ),41,6
  2273. FIELD STLL,(MACHINE ID ),35,12
  2274. FIELD STLL,(CURRENT USER COUNT DAF ),23,12
  2275. FIELD STLL,(NEXT EST ORDINAL IN CHAIN ),11,9
  2276. FIELD STLL,(LOCAL STATUS ),2,3
  2277. FIELD DDLL,(REDEF IN PROG/NULL EQ DDLL),59,3
  2278. FIELD DDLL,(EQUIPMENT NUMBER ),56,3
  2279. FIELD DDLL,(ORIGINAL NO. OF UNITS - 1 ),53,3
  2280. FIELD DDLL,(CURRENT NO. OF UNITS - 1 ),50,3
  2281. FIELD DDLL,(UNIT LIST ),47,48
  2282. FIELD ISLL,(LOCAL INSTAL AREA ISLL),59,60
  2283. FIELD SCLL,(SWEEP CYLINDER SCLL),59,12
  2284. FIELD SCLL,(SWEEP TIME STAMP ),47,12
  2285. FIELD SCLL,(STARTING CYLINDER SCYL),35,12
  2286. FIELD SCLL,(RESERVED ),23,06
  2287. FIELD TRLL,(FWA OF TRT TRLL),17,18
  2288. FIELD THLL,(VERIF FAILURE THRESHOLD ),59,12
  2289. FIELD THLL,(RESTRICT ACTIVITY THRESHOLD),47,12
  2290. FIELD THLL,(LOW SPACE THRESHOLD ),35,12
  2291. FIELD THLL,(RECOVERED ERROR THRESHOLD ),23,12
  2292. FIELD THLL,(UNRECOVERED ERROR THRESHOLD),11,12
  2293. FIELD CTLL,(VERIFIFICATION FAILURE CNT ),59,12
  2294. FIELD CTLL,(RESERVED ),47,24
  2295. FIELD CTLL,(RECOVERED ERROR COUNT ),23,12
  2296. FIELD CTLL,(UNRECOVERED ERROR COUNT ),11,12
  2297. FIELD EDLL,(RESERVED ),59,24
  2298. FIELD EDLL,(ERROR DATE/TIME ),35,36
  2299. FIELD MCLL,(RESERVED FOR CDC MCLL),59,24
  2300. FIELD MCLL,(MRT WRITE FLAG ),35,12
  2301. FIELD MCLL,(PP INTERLOCK BIT MASK ),23,24
  2302. FIELD BDLL,(DAS/9853 FLAGS BDLL),59,12
  2303. FIELD BDLL,(BST ADDRESS ),47,24
  2304. FIELD BDLL,(DAS MMF FLAGS ),23,6
  2305. FIELD BDLL,(READ BUFFER COUNT ),17,6
  2306. FIELD BDLL,(READ-AHEAD TRIGGER ),11,6
  2307. FIELD BDLL,(READ BUFFER THRESHOLD ),5,6
  2308. FIELD 26,(RESERVED ),59,60
  2309. FIELD 27,(RESERVED ),59,60
  2310. CON 0 END OF RIGHT COLUMN
  2311.  
  2312. TFMS3 EQU *
  2313. ERRNG 2*TFMS2-TFMS1-TFMS3 IF RIGHT LONGER THAN LEFT
  2314. TFJC SPACE 4
  2315. ** TFJC - JOB CONTROL AREA FIELD DESCRIPTORS.
  2316.  
  2317.  
  2318. TFJC VFD 24/0,18/TFJC1,18/TFJC2
  2319. .OW SET INQT-1 INITIALIZE *FIELD* MACRO CHECKS
  2320. .BI SET 0
  2321.  
  2322. TFJC1 BSS 0
  2323. FIELD INQT,(RESERVED INQT),59,12
  2324. FIELD INQT,(LOWER BOUND PRIORITY ),47,12
  2325. FIELD INQT,(UPPER BOUND PRIORITY ),35,12
  2326. FIELD INQT,(WEIGHTING FACTOR ),23,12
  2327. FIELD INQT,(RESERVED ),11,12
  2328. FIELD EXQT,(INIT LWR BND PRIORITY EXQT),59,12
  2329. FIELD EXQT,(LOWER BOUND PRIORITY ),47,12
  2330. FIELD EXQT,(UPPER BOUND PRIORITY ),35,12
  2331. FIELD EXQT,(WEIGHTING FACTOR ),23,12
  2332. FIELD EXQT,(INIT EXEC JOB PRIORITY ),11,12
  2333. FIELD OTQT,(RESERVED OTQT),59,12
  2334. FIELD OTQT,(LOWER BOUND PRIORITY ),47,12
  2335. FIELD OTQT,(UPPER BOUND PRIORITY ),35,12
  2336. FIELD OTQT,(WEIGHTING FACTOR ),23,12
  2337. FIELD OTQT,(RESERVED ),11,12
  2338. FIELD SVJT,(RESERVED SVJT),59,12
  2339. FIELD SVJT,(CP TIME SLICE - SECS ),47,12
  2340. FIELD SVJT,(CM TIME SLICE - SECS/10B ),35,12
  2341. FIELD SVJT,(MAX NUMBER JOBS FOR CLASS ),23,12
  2342. FIELD SVJT,(TIMEOUT DELAY FOR SUSP JOBS),11,12
  2343. FIELD MCMT,(CP SLICE PRIORITY MCMT),59,12
  2344. FIELD MCMT,(BASE PRTY FOR INT JOBS ),47,12
  2345. FIELD MCMT,(MAX CM FL FOR ANY JOB ),35,12
  2346. FIELD MCMT,(MAX CM FL FOR ALL JOBS ),23,24
  2347. FIELD MECT,(RESERVED MECT),59,24
  2348. FIELD MECT,(MAX XM FL FOR ANY JOB ),35,12
  2349. FIELD MECT,(RESERVED ),23,12
  2350. FIELD MECT,(MAX XM FL FOR ALL JOBS ),11,12
  2351. CON -1 END OF LEFT COLUMN
  2352.  
  2353. TFJC2 BSS 0
  2354. FIELD PFCT,(LIMIT FOR SIZE OF DAF PFCT),59,3
  2355. FIELD PFCT,(LIMIT FOR NUMBER OF PF ),56,3
  2356. FIELD PFCT,(LIMIT CUMM SIZE IAPF ),53,3
  2357. FIELD PFCT,(LIMIT FOR SIZE OF IAPF ),50,3
  2358. FIELD PFCT,(RESERVED FOR CDC ),47,36
  2359. FIELD PFCT,(SERVICE CLASS ON DETACH ),11,12
  2360. FIELD CSJT,(CPU PRIORITY CSJT),59,12
  2361. FIELD CSJT,(SYSTEM I/O CPU THRESHOLD ),47,12
  2362. FIELD CSJT,(CPU SLICE EXTENSION ),35,12
  2363. FIELD CSJT,(RECALL CPU SLICE ),23,12
  2364. FIELD CSJT,(UNEXTENDED CPU SLICE ),11,12
  2365. FIELD CSAT,(RESERVED CSAT),59,6
  2366. FIELD CSAT,(CONVERTED SLICE EXTENSION ),53,18
  2367. FIELD CSAT,(CONVERTED RECALL SLICE ),35,18
  2368. FIELD CSAT,(CONVERTED US+SE-RS ),17,18
  2369. FIELD CSBT,(RESERVED CSBT),59,42
  2370. FIELD CSBT,(CONVERTED I/O THRESHOLD ),17,18
  2371. FIELD JCTT,(CURRENT JOB COUNT JCTT),59,12
  2372. FIELD JCTT,(JOBS WAITING ),47,12
  2373. FIELD JCTT,(RESERVED ),35,36
  2374. FIELD CTMT,(TOTAL CPU ACCUMULATOR CTMT),59,60
  2375. CON 0 END OF RIGHT COLUMN
  2376.  
  2377. TFJC3 EQU *
  2378. ERRNG 2*TFJC2-TFJC1-TFJC3 IF RIGHT LONGER THAN LEFT
  2379. TFEB SPACE 4
  2380. ** TFEB - FIELD DESCRIPTORS FOR THE EI COMMUNICATIONS
  2381. * BLOCK.
  2382.  
  2383.  
  2384. TFEB VFD 24/0,18/TFEB1,18/TFEB2
  2385. .OW SET /VE/D7TY-1 INITIALIZE *FIELD* MACRO CHECKS
  2386. .BI SET 0
  2387.  
  2388. TFEB1 BSS 0
  2389. FIELD /VE/D7TY,(RESERVED D7TY),59,6
  2390. FIELD /VE/D7TY,(DATE POINTER ),53,18
  2391. FIELD /VE/D7TY,(TIME POINTER ),35,18
  2392. FIELD /VE/D7TY,(170 OS TYPE ),17,6
  2393. FIELD /VE/D7TY,(170 INTERFACE VERSION ),11,6
  2394. FIELD /VE/D7TY,(170 INTERFACE LEVEL ),5,6
  2395. FIELD /VE/D7JP,(JOB UNIQUE ID D7JP),59,36
  2396. FIELD /VE/D7JP,(TRAP 180 VALIDATION ),23,9
  2397. FIELD /VE/D7JP,(170 CPU PRIORITY ),14,15
  2398. FIELD /VE/D7JP+1,(JOB UNIQUE ID ),59,36
  2399. FIELD /VE/D7JP+1,(TRAP 180 VALIDATION ),23,9
  2400. FIELD /VE/D7JP+1,(170 CPU PRIORITY ),14,15
  2401. FIELD /VE/D7ST,(OPERATING MODES D7ST),59,3
  2402. FIELD /VE/D7ST,(OPERATOR FLAGS ),56,3
  2403. FIELD /VE/D7ST,(CHECKPOINT COMPLETE ),53,3
  2404. FIELD /VE/D7ST,(CHECKPOINT IN PROGRESS ),50,3
  2405. FIELD /VE/D7ST,(RESERVED ),47,9
  2406. FIELD /VE/D7ST,(DROP NOS/VE ),38,3
  2407. FIELD /VE/D7ST,(FWA MLST/MLI STATUS TABLE ),35,18
  2408. FIELD /VE/D7ST,(LENGTH OF MLST ),17,6
  2409. FIELD /VE/D7ST,(RESERVED ),11,12
  2410. FIELD /VE/D7RS,(RESERVED D7RS),59,60
  2411. FIELD /VE/D7RS+1,(RESERVED ),59,60
  2412. FIELD /VE/D7RS+2,(RESERVED ),59,27
  2413. FIELD /VE/D7RS+2,(FWA SCD PARAMETER TABLE ),32,33
  2414. FIELD /VE/D7CM,(RESERVED D7CM),59,12
  2415. FIELD /VE/D7CM,(MINCM/1000B ),47,24
  2416. FIELD /VE/D7CM,(NVE STATIC CM SIZE/1000B ),23,24
  2417. FIELD /VE/D7CM+1,(RESERVED ),59,12
  2418. FIELD /VE/D7CM+1,(NOS/VE CM FWA/1000B ),47,24
  2419. FIELD /VE/D7CM+1,(NOS/VE CM LWA+1/1000B ),23,24
  2420. FIELD /VE/D7SV,(LAST 180 CP TIME CPU0 D7SV),59,60
  2421. FIELD /VE/D7SV+1,(LAST 180 CP TIME CPU1 ),59,60
  2422. FIELD /VE/D7SV+2,(SYSTEM VERSION NAME POINTER),59,60
  2423. FIELD /VE/D7SV+3,(SYSTEM TITLE LINE POINTER ),59,60
  2424. FIELD /VE/D7SV+4,(RESERVED ),59,60
  2425. FIELD /VE/D7SV+5,(RESERVED ),59,60
  2426. FIELD /VE/D8TY,(RESERVED D8TY),59,33
  2427. FIELD /VE/D8TY,(EI VERSION ),26,9
  2428. FIELD /VE/D8TY,(180 OS TYPE ),17,6
  2429. FIELD /VE/D8TY,(180 INTERFACE VERSION ),11,6
  2430. FIELD /VE/D8TY,(180 INTERFACE LEVEL ),5,6
  2431. FIELD /VE/D8TM,(ACCUM 180 CPU0 TIME D8TM),59,60
  2432. FIELD /VE/D8TM+1,(ACCUM 180 CPU1 TIME ),59,60
  2433. FIELD /VE/D8JP,(RESERVED D8JP),59,36
  2434. FIELD /VE/D8JP,(CPU0 ACTIVE OS ),23,9
  2435. FIELD /VE/D8JP,(NOS/VE CPU0 PRIORITY ),14,15
  2436. FIELD /VE/D8JP+1,(RESERVED ),59,36
  2437. FIELD /VE/D8JP+1,(CPU1 ACTIVE OS ),23,9
  2438. FIELD /VE/D8JP+1,(NOS/VE CPU1 PRIORITY ),14,15
  2439. CON -1 END OF LEFT COLUMN
  2440.  
  2441. TFEB2 BSS 0
  2442. FIELD /VE/D8ST,(OPERATING MODES D8ST),59,3
  2443. FIELD /VE/D8ST,(OPERATOR FLAG ),56,3
  2444. FIELD /VE/D8ST,(CHECKPOINT COMPLETE ),53,3
  2445. FIELD /VE/D8ST,(CHECKPOINT IN PROGRESS ),50,3
  2446. FIELD /VE/D8ST,(RESERVED ),47,18
  2447. FIELD /VE/D8ST,(VPB LOGICAL PP NUMBER ),29,6
  2448. FIELD /VE/D8ST,(SVP PORT NUMBER ),23,6
  2449. FIELD /VE/D8ST,(SCD LOGICAL PP NUMBER ),17,6
  2450. FIELD /VE/D8ST,(RESERVED ),11,12
  2451. FIELD /VE/D8DS,(NVE DEADSTART STATUS D8DS),59,30
  2452. FIELD /VE/D8DS,(NVE DEADSTART INTRLK ),29,30
  2453. FIELD /VE/D8DS+1,(EI STACK FRAME ADDRESS ),59,30
  2454. FIELD /VE/D8DS+1,(C170 EXCHANGE ADDRESS ),29,30
  2455. FIELD /VE/D8DS+2,(ALT STACK FRAME ADDRESS ),59,30
  2456. FIELD /VE/D8DS+2,(ALT EXCHANGE ADDRESS ),29,30
  2457. FIELD /VE/D8SV,(ADDRESS OF SPAA D8SV),59,60
  2458. FIELD /VE/D8SV+1,(SSR POINTER WORD ),59,60
  2459. FIELD /VE/D8SV+2,(RESERVED ),59,60
  2460. FIELD /VE/D8SV+3,(RESERVED ),59,60
  2461. FIELD /VE/D8SV+4,(SCD WORD 1 ),59,60
  2462. FIELD /VE/D8SV+5,(SCD WORD 2 ),59,60
  2463. FIELD /VE/DSCM,(MAINFRAME ERROR INFO DSCM),59,60
  2464. FIELD /VE/DSCM+1,(ZERO ),59,60
  2465. FIELD /VE/DSCM+2,(CTI DIRECTORY POINTER ),59,60
  2466. FIELD /VE/DSCM+3,(DFT/OS BUFFER POINTER ),59,60
  2467. FIELD /VE/DSCM+4,(RESERVED ),59,60
  2468. FIELD /VE/DFCM,(RESERVED DFCM),59,12
  2469. FIELD /VE/DFCM,(MESSAGE LENGTH ),47,18
  2470. FIELD /VE/DFCM,(RESERVED ),29,12
  2471. FIELD /VE/DFCM,(MESSAGE SEQUENCE NUMBER ),17,18
  2472. FIELD /VE/DFCM+1,(DFT MESSAGE WORD 1 ),59,60
  2473. FIELD /VE/DFCM+2,(DFT MESSAGE WORD 2 ),59,60
  2474. FIELD /VE/DFCM+3,(DFT MESSAGE WORD 3 ),59,60
  2475. FIELD /VE/DFCM+4,(RESERVED ),59,60
  2476. FIELD /VE/DFCM+5,(RESERVED ),59,60
  2477. FIELD /VE/DFCM+6,(RESERVED ),59,60
  2478. FIELD /VE/DFCM+7,(RESERVED ),59,60
  2479. FIELD /VE/DFCM+8,(RESERVED ),59,60
  2480. FIELD /VE/DFCM+9,(RESERVED ),59,60
  2481. FIELD /VE/DFCM+10,(RESERVED ),59,60
  2482. CON 0 END OF RIGHT COLUMN
  2483.  
  2484. TFEB3 EQU *
  2485. ERRNG 2*TFEB2-TFEB1-TFEB3 RIGHT COLUMN LONGER THAN LEFT
  2486. TFQF SPACE 4,10
  2487. ** TFQF - QUEUED FILE TABLE FIELD DESCRIPTORS.
  2488.  
  2489.  
  2490. TFQF VFD 24/0,18/TFQF1,18/TFQF2
  2491. .OW SET JSNQ-1
  2492. .BI SET 0
  2493.  
  2494. TFQF1 BSS 0
  2495. FIELD JSNQ,(JSN JSNQ),59,24
  2496. FIELD JSNQ,(FAMILY ORDINAL ),35,6
  2497. FIELD JSNQ,(USER INDEX ),29,18
  2498. FIELD JSNQ,(DISPOSITION TYPE ),11,6
  2499. FIELD JSNQ,(STATUS ),5,6
  2500. FIELD ENTQ,(EST ORDINAL ENTQ),59,12
  2501. FIELD ENTQ,(FIRST TRACK ),47,12
  2502. FIELD ENTQ,(RESERVED ),35,9
  2503. FIELD ENTQ,(FILE SIZE INDEX ),26,3
  2504. FIELD ENTQ,(ENTRY TIME ),23,24
  2505. CON -1 END OF LEFT COLUMN
  2506.  
  2507. TFQF2 BSS 0
  2508. FIELD INSQ,(INSTALLATION RESERVED INSQ),59,12
  2509. FIELD INSQ,(DESTINATION LID ),47,18
  2510. FIELD INSQ,(RESERVED ),29,12
  2511. FIELD INSQ,(FILE ACCESS LVL/LIMIT/RES ),17,12
  2512. FIELD INSQ,(REPEAT COUNT ),5,6
  2513. FIELD SCLQ,(SERVICE CLASS SCLQ),59,6
  2514. FIELD SCLQ,(FILE ORIGIN TYPE ),53,6
  2515. FIELD SCLQ,(LOCAL PRINTER ID/FO-UI ),47,24
  2516. FIELD SCLQ,(RES/FILE CHARACTERISTICS ),23,12
  2517. FIELD SCLQ,(FORMS CODE ),11,12
  2518. CON 0 END OF RIGHT COLUMN
  2519.  
  2520. TFQF3 EQU *
  2521. ERRNG 2*TFQF2-TFQF1-TFQF3 IF RIGHT LONGER THAN LEFT
  2522. TFSD SPACE 4,10
  2523. ** TFSD - STATISTICAL DATA AREA FIELD DESCRIPTIONS.
  2524.  
  2525.  
  2526. TFSD VFD 24/0,18/TFSD1,18/TFSD2
  2527. .OW SET JS0S-1 INITIALIZE *FIELD* MACRO CHECKS
  2528. .BI SET 0
  2529.  
  2530. TFSD1 BSS 0
  2531. FIELD JS0S,(EJT SCANS JS0S),59,24
  2532. FIELD JS0S,(SCHEDULABLE JOBS ),35,36
  2533. FIELD JS1S,(RESERVED FOR CDC JS1S),59,12
  2534. FIELD JS1S,(JOBS PREEMPTED ),47,24
  2535. FIELD JS1S,(JOBS SCHEDULED ),23,24
  2536. FIELD JS2S,(RESERVED FOR CDC JS2S),59,12
  2537. FIELD JS2S,(JOBS SCHED NO CONSTRAINTS ),47,24
  2538. FIELD JS2S,(EJT SCANS INSUFFICIENT CM ),23,24
  2539. FIELD JS3S,(RESERVED FOR CDC JS3S),59,12
  2540. FIELD JS3S,(EJT SCANS INSUFFICIENT EM ),47,24
  2541. FIELD JS3S,(EJT SCANS NO CP ),23,24
  2542. FIELD PF0S,(RESERVED FOR CDC PF0S),59,12
  2543. FIELD PF0S,(ROLLOUTS FOR RES LIMITS ),47,24
  2544. FIELD PF0S,(TIME SLICES ),23,24
  2545. FIELD MTRS,(RESERVED FOR CDC MTRS),59,12
  2546. FIELD MTRS,(MTR CLOCK UPDATES MISSED ),47,12
  2547. FIELD MTRS,(MTR WORST CASE MXN TIME ),35,12
  2548. FIELD MTRS,(WORST CASE MTR CYCLE TIME ),23,12
  2549. FIELD MTRS,(CURRENT MTR CYCLE TIME ),11,12
  2550. FIELD CMMS,(CM STORAGE MOVES CMMS),59,60
  2551. FIELD EMMS,(EM STORAGE MOVES EMMS),59,60
  2552. FIELD DMMS,(DIRECT MOVES DMMS),59,60
  2553. CON -1 END OF LEFT COLUMN
  2554.  
  2555. TFSD2 BSS 0
  2556. FIELD CBNS,(COM BUFFER NOT AVAIL CBNS),59,60
  2557. FIELD PRXS,(PP PRIORITY EXCHANGES PRXS),59,60
  2558. FIELD ROTS,(MASS STORAGE ROLLOUTS ROTS),59,60
  2559. FIELD POTS,(PSEUDO-ROLLOUTS POTS),59,60
  2560. FIELD PCTS,(PCP ROLLOUTS PCTS),59,60
  2561. FIELD SOTS,(ROLLOUTS TO SEC DEV SOTS),59,60
  2562. FIELD NROS,(SECTORS ROLLED OUT NROS),59,60
  2563. FIELD NSRS,(SEC ROLLED TO SEC DEV NSRS),59,60
  2564. FIELD PCNS,(NO PCP AVAILABLE PCNS),59,60
  2565. FIELD DM1S,(CURRENT BRT ENTRIES DM1S),59,12
  2566. FIELD DM1S,(WORST CASE BRT ENTRIES ),47,12
  2567. FIELD DM1S,(BRT ENTRIES REJECTED ),35,12
  2568. FIELD DM1S,(TOTAL BRT ENTRIES ),23,24
  2569. FIELD DM2S,(CURRENT MTE CYCLE TIME DM2S),59,12
  2570. FIELD DM2S,(WORST CASE MTE CYCLE TIME ),47,12
  2571. FIELD DM2S,(BAT INTERLOCK UNAVAIL. ),35,12
  2572. FIELD DM2S,(TOTAL BAT REQUESTS ),23,24
  2573. CON 0 END OF RIGHT COLUMN
  2574.  
  2575. TFSD3 EQU *
  2576. ERRNG 2*TFSD2-TFSD1-TFSD3 IF RIGHT LONGER THAN LEFT
  2577. TSCT SPACE 4,10
  2578. ** TSCT - SERVICE CLASS CONTROL TABLE.
  2579.  
  2580.  
  2581. TSCT VFD 24/0,18/TSCT1,18/TSCT2
  2582. .OW SET SYOT-1 INITIALIZE *FIELD* MACRO CHECKS
  2583. .BI SET 0
  2584.  
  2585. TSCT1 BSS 0
  2586. FIELD SYOT,(RESERVED FOR INSTALLATIONS ),59,12
  2587. FIELD SYOT,(RESERVED FOR CDC ),47,6
  2588. FIELD SYOT,(ACCESS LEVEL LOWER LIMIT ),41,3
  2589. FIELD SYOT,(ACCESS LEVEL UPPER LIMIT ),38,3
  2590. FIELD SYOT,(VALIDATION MASK FOR SYOT ),35,36
  2591. FIELD BCOT,(RESERVED FOR INSTALLATIONS ),59,12
  2592. FIELD BCOT,(RESERVED FOR CDC ),47,6
  2593. FIELD BCOT,(ACCESS LEVEL LOWER LIMIT ),41,3
  2594. FIELD BCOT,(ACCESS LEVEL UPPER LIMIT ),38,3
  2595. FIELD BCOT,(VALIDATION MASK FOR BCOT ),35,36
  2596. FIELD EIOT,(RESERVED FOR INSTALLATIONS ),59,12
  2597. FIELD RBOT,(RESERVED FOR CDC ),47,6
  2598. FIELD RBOT,(ACCESS LEVEL LOWER LIMIT ),41,3
  2599. FIELD RBOT,(ACCESS LEVEL UPPER LIMIT ),38,3
  2600. FIELD RBOT,(VALIDATION MASK FOR RBOT ),35,36
  2601. FIELD IAOT,(RESERVED FOR INSTALLATIONS ),59,12
  2602. FIELD IAOT,(RESERVED FOR CDC ),47,6
  2603. FIELD IAOT,(ACCESS LEVEL LOWER LIMIT ),41,3
  2604. FIELD IAOT,(ACCESS LEVEL UPPER LIMIT ),38,3
  2605. FIELD IAOT,(VALIDATION MASK FOR IAOT ),35,36
  2606. FIELD MXOT-2,(RESERVED FOR FUTURE OT ),59,60
  2607. FIELD MXOT-1,(RESERVED FOR FUTURE OT ),59,60
  2608. CON -1 END OF LEFT COLUMN
  2609.  
  2610. TSCT2 BSS 0
  2611. FIELD PLSC,(P0 SERVICE CLASS ),59,12
  2612. FIELD PLSC,(P1 SERVICE CLASS ),47,12
  2613. FIELD PLSC,(P2 SERVICE CLASS ),35,12
  2614. FIELD PLSC,(P3 SERVICE CLASS ),23,12
  2615. FIELD PLSC,(P4 SERVICE CLASS ),11,12
  2616. FIELD PLSC+1,(P5 SERVICE CLASS ),59,12
  2617. FIELD PLSC+1,(P6 SERVICE CLASS ),47,12
  2618. FIELD PLSC+1,(P7 SERVICE CLASS ),35,12
  2619. FIELD PLSC+1,(RESERVED FOR CDC ),23,24
  2620. FIELD PLSC+2,(RESERVED FOR INSTALLATION ),59,60
  2621. FIELD PLSC+3,(RESERVED FOR CDC ),59,60
  2622. FIELD PLSC+4,(RESERVED FOR CDC ),59,60
  2623. FIELD PLSC+5,(RESERVED FOR CDC ),59,60
  2624. CON 0 END OF RIGHT COLUMN
  2625.  
  2626. TSCT3 EQU *
  2627. ERRNG 2*TSCT2-TSCT1-TSCT3 IF RIGHT LONGER THAN LEFT
  2628. TCPR SPACE 4,10
  2629. ** TCPR - CPU REQUEST QUEUE FIELD DESCRIPTORS.
  2630.  
  2631.  
  2632. TCPR VFD 24/0,18/TCPR1,18/TCPR2
  2633. .OW SET CWQW-1 INITIALIZE *FIELD* MACRO CHECKS
  2634. .BI SET 0
  2635.  
  2636. TCPR1 BSS 0
  2637. FIELD CWQW,(CPU PRIORITY/FLAGS CWQW),59,12
  2638. FIELD CWQW,(SLICE/RECALL FLAGS ),47,3
  2639. FIELD CWQW,(SERVICE CYCLE NUMBER ),44,9
  2640. FIELD CWQW,(CPU SCHED SERVICE INDEX ),35,9
  2641. FIELD CWQW,(CPU FLAGS/RES/EXPACK TYPE ),26,9
  2642. FIELD CWQW,(*WQ* LINKAGE ),17,18
  2643. CON -1 END OF LEFT COLUMN
  2644.  
  2645. TCPR2 BSS 0
  2646. FIELD CSAW,(ZERO CSAW),59,6
  2647. FIELD CSAW,(CPU TIME THRESHOLD ),53,18
  2648. FIELD CSAW,(RECALL SLICE ACCUMULATOR ),35,18
  2649. FIELD CSAW,(CPU SLICE ACCUMULATOR ),17,18
  2650. CON 0 END OF RIGHT COLUMN
  2651.  
  2652. TCPR3 EQU *
  2653. ERRNG 2*TCPR2-TCPR1-TCPR3 IF RIGHT LONGER THAN LEFT
  2654. TPPR SPACE 4,10
  2655. ** TPPR - PP REQUEST QUEUE FIELD DESCRIPTORS.
  2656.  
  2657.  
  2658. TPPR VFD 24/0,18/TPPR1,18/TPPR2
  2659.  
  2660. TPPR1 BSS 0
  2661. FIELD TPPRA,(RESERVED RCCW),59,48,I
  2662. FIELD TPPRA,(LINK TO NEXT ENTRY ),11,12,I
  2663. CON -1 END OF LEFT COLUMN
  2664.  
  2665. TPPR2 BSS 0
  2666. FIELD TPPRB,(PP INPUT REGISTER RECW),59,60,I
  2667. FIELD TPPRC,(PP MESSAGE BUFFER REPW),59,60,I
  2668. CON 0 END OF RIGHT COLUMN
  2669.  
  2670. TPPR3 EQU *
  2671. ERRNG 2*TPPR2-TPPR1-TPPR3 IF RIGHT LONGER THAN LEFT
  2672.  
  2673. TPPRA CON 0 ACTUAL RCCW ADDRESS
  2674. TPPRB CON 0 ACTUAL RECW ADDRESS
  2675. TPPRC CON 0 ACTUAL REPW ADDRESS
  2676. TCRL SPACE 4,10
  2677. ** TCRL - CPU RECALL QUEUE FIELD DESCRIPTORS.
  2678.  
  2679.  
  2680. TCRL VFD 24/0,18/TCRL1,18/TCRL2
  2681. .OW SET CRCW-1 INITIALIZE *FIELD* MACRO CHECKS
  2682. .BI SET 0
  2683.  
  2684. TCRL1 BSS 0
  2685. FIELD CRCW,(RECALL CRITERION NO. CRCW),59,12
  2686. FIELD CRCW,(RECALL CRITERION PARMS. ),47,36
  2687. FIELD CRCW,(LINK TO NEXT ENTRY ),11,12
  2688. CON -1 END OF LEFT COLUMN
  2689.  
  2690. TCRL2 BSS 0
  2691. CON 0 END OF RIGHT COLUMN
  2692.  
  2693. TCRL3 EQU *
  2694. ERRNG 2*TCRL2-TCRL1-TCRL3 IF RIGHT LONGER THAN LEFT
  2695. TPRL SPACE 4,10
  2696. ** TPRL - PP RECALL QUEUE FIELD DESCRIPTORS
  2697.  
  2698.  
  2699. TPRL VFD 24/0,18/TPRL1,18/TPRL2
  2700.  
  2701. TPRL1 BSS 0
  2702. FIELD TPRLA,(RECALL CRITERION NO. RCCW),59,12,I
  2703. FIELD TPRLA,(RECALL CRITERION PARMS. ),47,36,I
  2704. FIELD TPRLA,(LINK TO NEXT ENTRY ),11,12,I
  2705. CON -1 END OF LEFT COLUMN
  2706.  
  2707. TPRL2 BSS 0
  2708. FIELD TPRLB,(PP INPUT REGISTER RECW),59,60,I
  2709. FIELD TPRLC,(PP MESSAGE BUFFER REPW),59,60,I
  2710. CON 0 END OF RIGHT COLUMN
  2711.  
  2712. TPRL3 EQU *
  2713. ERRNG 2*TPRL2-TPRL1-TPRL3 IF RIGHT LONGER THAN LEFT
  2714.  
  2715. TPRLA CON 0 ACTUAL RCCW ADDRESS
  2716. TPRLB CON 0 ACTUAL RECW ADDRESS
  2717. TPRLC CON 0 ACTUAL REPW ADDRESS
  2718. TFTT SPACE 4
  2719. ** TFTT - IAF TERMINAL TABLE FIELD DESCRIPTORS.
  2720.  
  2721.  
  2722. TFTT VFD 24/0,18/TFTT1,18/TFTT2
  2723. .OW SET /REM/VUIT-1 INITIALIZE *FIELD* MACRO CHECKS
  2724. .BI SET 0
  2725.  
  2726. TFTT1 BSS 0
  2727. FIELD /REM/VUIT,(USER NAME VUIT),59,42
  2728. FIELD /REM/VUIT,(FAMILY ORDINAL ),17,6
  2729. FIELD /REM/VUIT,(EJT ORDINAL ),11,12
  2730. FIELD /REM/VFNT,(PRIMARY FILE NAME VFNT),59,42
  2731. FIELD /REM/VFNT,(MODE ),17,6
  2732. FIELD /REM/VFNT,(RESERVED ),11,12
  2733. FIELD /REM/VFST,(JOB SEQUENCE NUMBER VFST),59,24
  2734. FIELD /REM/VFST,(TOTAL I/O OVERFLOW COUNT ),35,12
  2735. FIELD /REM/VFST,(SMF STATE CODE ),23,6
  2736. FIELD /REM/VFST,(SM TIMEOUT/NEXT OP INDEX ),17,6
  2737. FIELD /REM/VFST,(EXTRA POT POINTER ),11,12
  2738.  
  2739. FIELD /REM/VROT,(NEXT OPER INDICATOR VROT),59,6
  2740. FIELD /REM/VROT,(PREPROCESSOR INDEX ),53,6
  2741. FIELD /REM/VROT,(CONT STMNT POT POINTER ),47,12
  2742. FIELD /REM/VROT,(*1TO* STATUS ),35,12
  2743. FIELD /REM/VROT,(SUB-STATUS ),23,12
  2744. FIELD /REM/VROT,(STATUS ),11,12
  2745. FIELD /REM/VDPT,(FIRST POT VDPT),59,12
  2746. FIELD /REM/VDPT,(CURRENT POT ),47,12
  2747. FIELD /REM/VDPT,(POT POSITION ),35,12
  2748. FIELD /REM/VDPT,(CONTROL FLAGS ),23,12
  2749. FIELD /REM/VDPT,(ROUTINE ADDRESS ),11,12
  2750. CON -1 END OF LEFT COLUMN
  2751.  
  2752. TFTT2 BSS 0
  2753. FIELD /REM/VCHT,(REENTRY ADDRESS VCHT),59,12
  2754. FIELD /REM/VCHT,(12 BIT (X7) ),47,12
  2755. FIELD /REM/VCHT,((B3) ),35,12
  2756. FIELD /REM/VCHT,(INPUT CHARACTER COUNT ),23,12
  2757. FIELD /REM/VCHT,(OUTPUT CHARACTER COUNT ),11,12
  2758. FIELD /REM/VDCT,(DRIVER FLAGS VDCT),59,12
  2759. FIELD /REM/VDCT,(CONTROL INFORMATION ),47,12
  2760. FIELD /REM/VDCT,(AUTO ),35,12
  2761. FIELD /REM/VDCT,(ACCESS LEVEL ),23,12
  2762. FIELD /REM/VDCT,(NEXT MESSAGE ),11,12
  2763. FIELD /REM/VSTT,(GENERAL FLAGS VSTT),59,12
  2764. FIELD /REM/VSTT,(FIRST POT SOURCE ),47,12
  2765. FIELD /REM/VSTT,(POT COUNT ),35,12
  2766. FIELD /REM/VSTT,(INIT CHAR SET/CURR SYS ),23,12
  2767. FIELD /REM/VSTT,(QUEUED OUTPUT POT POINTER ),11,12
  2768. CON 0 END OF RIGHT COLUMN
  2769.  
  2770. TFTT3 EQU *
  2771. ERRNG 2*TFTT2-TFTT1-TFTT3 IF RIGHT LONGER THAN LEFT
  2772. TFMT SPACE 4,10
  2773. ** TFMT - IAF MESSAGE STATUS TABLE FIELD DESCRIPTORS.
  2774.  
  2775.  
  2776. TFMT VFD 24/0,18/TFMT1,18/TFMT2
  2777. .OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
  2778. .BI SET 0
  2779.  
  2780. TFMT1 BSS 0
  2781. FIELD 0,(FLAGS/DEVICE TYPE VMST),59,24
  2782. FIELD 0,(UNACKNOW DWNSTRM BLOCK CNT ),35,3
  2783. FIELD 0,(APPLICATION BLOCK LIMIT ),32,3
  2784. FIELD 0,(RESERVED ),29,6
  2785. FIELD 0,(NUMBER OF OUTPUT POTS ),23,6
  2786. FIELD 0,(SUPERVISORY MSG POT PNTR ),17,18
  2787. CON -1 END OF LEFT COLUMN
  2788.  
  2789. TFMT2 BSS 0
  2790. CON 0 END OF RIGHT COLUMN
  2791.  
  2792. TFMT3 EQU *
  2793. ERRNG 2*TFMT2-TFMT1-TFMT3 IF RIGHT LONGER THAN LEFT
  2794. TFMU SPACE 4
  2795. ** TFMU - MAGNET UNIT DESCRIPTOR TABLE FIELD DESCRIPTORS.
  2796.  
  2797.  
  2798. TFMU VFD 24/0,18/TFMU1,18/TFMU2
  2799. .OW SET /MTX/UXRQ-1 INITIALIZE *FIELD* MACRO CHECKS
  2800. .BI SET 0
  2801.  
  2802. TFMU1 BSS 0
  2803. FIELD /MTX/UXRQ,(RETURN STATUS RS UXRQ),59,12
  2804. FIELD /MTX/UXRQ,(FUNCTION NUMBER FN ),47,12
  2805. FIELD /MTX/UXRQ,(MODE MD ),35,12
  2806. FIELD /MTX/UXRQ,(PARAMETER A PA ),23,12
  2807. FIELD /MTX/UXRQ,(PARAMETER B PB ),11,12
  2808. FIELD /MTX/UFRQ,(FILE REQUEST UFRQ),59,12
  2809. FIELD /MTX/UFRQ,(FILE REQUEST STATUS ),47,12
  2810. FIELD /MTX/UFRQ,(RESERVED ),35,24
  2811. FIELD /MTX/UFRQ,(TAPE FILE FNT ADDRESS ),11,12
  2812. FIELD /MTX/UCIA,(INTERNAL CIO CODE UCIA),59,12
  2813. FIELD /MTX/UCIA,(FET LENGTH ),47,6
  2814. FIELD /MTX/UCIA,(SKIP COUNT ),41,18
  2815. FIELD /MTX/UCIA,(FET ADDRESS ),23,24
  2816. FIELD /MTX/UCIB,(RCL/DATA/EXT CIO CODE UCIB),59,12
  2817. FIELD /MTX/UCIB,(USER FET OPTIONS ),47,12
  2818. FIELD /MTX/UCIB,(LEVEL NUMBER ),35,6
  2819. FIELD /MTX/UCIB,(MLRS FOR S OR L FORMAT ),29,30
  2820. FIELD /MTX/UCIC,(JOB FIELD LENGTH UCIC),59,12
  2821. FIELD /MTX/UCIC,(FIRST ),47,24
  2822. FIELD /MTX/UCIC,(LIMIT ),23,24
  2823. FIELD /MTX/UST1,(EQUIP DESCRIPTION ED UST1),59,12
  2824. FIELD /MTX/UST1,(HARDWARE OPTIONS HP ),47,12
  2825. FIELD /MTX/UST1,(EST ORDINAL EO ),35,12
  2826. FIELD /MTX/UST1,(EXTENDED STATUS ES ),23,12
  2827. FIELD /MTX/UST1,(DEVICE STATUS DS ),11,12
  2828. FIELD /MTX/UST2,(ERROR ITERATION EI UST2),59,12
  2829. FIELD /MTX/UST2,(BLOCK ID WINDOW POINTER ),47,12
  2830. FIELD /MTX/UST2,(TAPE BLOCK COUNT BC ),35,24
  2831. FIELD /MTX/UST2,(USER OPTIONS UP ),11,12
  2832. FIELD /MTX/UST3,(LAST GOOD RECORD LG UST3),59,24
  2833. FIELD /MTX/UST3,(ERROR PARAMETERS EP ),35,24
  2834. FIELD /MTX/UST3,(REQUEST ERROR CODE EC ),11,12
  2835. FIELD /MTX/UST4,(LABEL TYPE, FLAGS LT UST4),59,12
  2836. FIELD /MTX/UST4,(SOFTWARE OPTIONS SP ),47,12
  2837. FIELD /MTX/UST4,(FORMAT/NOISE DEF EO ),35,12
  2838. FIELD /MTX/UST4,(BLOCK WORD COUNT WC ),23,12
  2839. FIELD /MTX/UST4,(CHUNK COUNT OV ),11,12
  2840. FIELD /MTX/UST5,(DENSITY/CONV MODE UST5),59,12
  2841. FIELD /MTX/UST5,(ERROR SUB-CODE ),47,12
  2842. FIELD /MTX/UST5,(RESERVED ),35,36
  2843. FIELD /MTX/UDS1,(DETAILED STATUS UDS1),59,60
  2844. FIELD /MTX/UDS2,(DETAILED STATUS UDS2),59,60
  2845. FIELD /MTX/UDS3,(DETAILED STATUS UDS2),59,60
  2846. FIELD /MTX/UDS4,(DET STAT/FORMAT PARAM UDS4),59,60
  2847. FIELD /MTX/UDS5,(DET STAT/BID WINDOW UDS5),59,24
  2848. FIELD /MTX/UDS6,(DET STAT/BID WINDOW UDS6),35,36
  2849. FIELD /MTX/UERC,(LATE DATA ERRORS UERC),59,18
  2850. FIELD /MTX/UERC,(WRITE ERRORS ),41,18
  2851. FIELD /MTX/UERC,(RESERVED ),23,6
  2852. FIELD /MTX/UERC,(READ ERRORS ),17,18
  2853. FIELD /MTX/UBLC,(BLOCKS READ COUNT UBLC),59,24
  2854. FIELD /MTX/UBLC,(BLOCKS WRITTEN COUNT ),35,24
  2855. FIELD /MTX/UBLC,(BLOCKS SKIPPED COUNT ),11,12
  2856. FIELD /MTX/ULRQ,(LAST PP REQUEST ULRQ),59,60
  2857. FIELD /MTX/UMSG,(TMS MESSAGE UMB1),59,60
  2858. FIELD /MTX/UMSG+1,(TMS MESSAGE ),59,60
  2859. FIELD /MTX/UMSG+2,(TMS MESSAGE ),59,60
  2860. FIELD /MTX/UMSG+3,(TMS MESSAGE ),59,60
  2861. CON -1 END OF LEFT COLUMN
  2862.  
  2863. TFMU2 BSS 0
  2864. FIELD /MTX/UREQ,(ZERO UREQ),59,6
  2865. FIELD /MTX/UREQ,(SHIFT COUNT ),53,6
  2866. FIELD /MTX/UREQ,(PROCESSOR ADDRESS ),47,12
  2867. FIELD /MTX/UREQ,(PARAMETER ),35,36
  2868. FIELD /MTX/UFLA,(MAGNET FLAGS UFLA),59,12
  2869. FIELD /MTX/UFLA,(PP REQUEST TO REISSUE ),47,48
  2870. FIELD /MTX/UTIM,(TIME OF LABEL READ UTIM),59,24
  2871. FIELD /MTX/UTIM,(RESERVED ),35,36
  2872. FIELD /MTX/UVRI,(EJT ORDINAL UVRI),59,12
  2873. FIELD /MTX/UVRI,(FLAGS ),47,6
  2874. FIELD /MTX/UVRI,(VSN FILE RANDOM ADDRESS ),41,18
  2875. FIELD /MTX/UVRI,(REEL NUMBER ),23,12
  2876. FIELD /MTX/UVRI,(FLAGS ),11,12
  2877. FIELD /MTX/UTMS,(TFM REQUEST UTMS),59,12
  2878. FIELD /MTX/UTMS,( ),47,12
  2879. FIELD /MTX/UTMS,(WRITE REEL ),35,12
  2880. FIELD /MTX/UTMS,(WAIT UNIT GO FLAGS ),23,12
  2881. FIELD /MTX/UTMS,(TMS RETURN STATUS ),11,12
  2882. FIELD /MTX/UTCI,(FNT ORDINAL UTCI),59,12
  2883. FIELD /MTX/UTCI,(POSMF CATALOG ),47,24
  2884. FIELD /MTX/UTCI,(CURRENT CATALOG ),23,24
  2885. FIELD /MTX/UESN,(EXTERNAL VSN UESN),59,36
  2886. FIELD /MTX/UESN,(RESOURCE MNEMONIC ),23,12
  2887. FIELD /MTX/UESN,(PREVIEW DISPLAY FLAGS ),11,12
  2888. FIELD /MTX/UISN,(INTERNAL VSN UISN),59,36
  2889. FIELD /MTX/UISN,(PREVIEW DISPLAY FLAGS ),23,6
  2890. FIELD /MTX/UISN,(PREV DISP MESSAGE CODE ),17,6
  2891. FIELD /MTX/UISN,(PREV DISP MESSAGE EST ),11,12
  2892. FIELD /MTX/UUFN,(USER NAME UUFN),59,42
  2893. FIELD /MTX/UUFN,(FAMILY ORDINAL ),17,6
  2894. FIELD /MTX/UUFN,(SPECIFIED FILE ACCESS ),11,6
  2895. FIELD /MTX/UUFN,(RESERVED ),5,6
  2896. FIELD /MTX/UVSN,(VOLUME SERIAL NUMBER UVSN),59,36
  2897. FIELD /MTX/UVSN,(LABEL PROCESSING FLAGS ),23,12
  2898. FIELD /MTX/UVSN,(RESERVED ),11,12
  2899. FIELD /MTX/UFID,(FILE IDENTIFIER UFID),59,60
  2900. FIELD /MTX/UFSN,(FILE ID CONTINUED UFSN),59,42
  2901. FIELD /MTX/UFSN,(FILE SECTION NUMBER ),17,18
  2902. FIELD /MTX/USID,(SET IDENTIFIER USID),59,36
  2903. FIELD /MTX/USID,(FILE ACCESSIBILITY ),23,6
  2904. FIELD /MTX/USID,(FILE SEQUENCE NUMBER ),17,18
  2905. FIELD /MTX/UGNU,(RESERVED UGNU),59,12
  2906. FIELD /MTX/UGNU,(EST ORDINAL WRITTEN ON ),47,12
  2907. FIELD /MTX/UGNU,(VOLUME ACCESSIBILITY ),35,6
  2908. FIELD /MTX/UGNU,(GENERATION VERSION ),29,12
  2909. FIELD /MTX/UGNU,(GENERATION NUMBER ),17,18
  2910. FIELD /MTX/UDAT,(CREATION DATE UDAT),59,30
  2911. FIELD /MTX/UDAT,(EXPIRATION DATE ),29,30
  2912. FIELD /MTX/UMST,(ACS VSN UMST),59,36
  2913. FIELD /MTX/UMST,(CONTROL PATH DATA ),23,12
  2914. FIELD /MTX/UMST,(FLAGS, MOUNT STATUS ),11,12
  2915. FIELD /MTX/UARP,(RESERVED, REQUEST ID UARP),59,18
  2916. FIELD /MTX/UARP,(ACS REQUEST CODE ),41,6
  2917. FIELD /MTX/UARP,(ACS RESPONSE CODE ),35,6
  2918. FIELD /MTX/UARP,(RESERVED ),29,6
  2919. FIELD /MTX/UARP,(TIME OF REQUEST TIMEOUT ),23,24
  2920. CON 0 END OF RIGHT COLUMN
  2921.  
  2922. TFMU3 EQU *
  2923. ERRNG 2*TFMU2-TFMU1-TFMU3 IF RIGHT LONGER THAN LEFT
  2924. TLCW SPACE 4,10
  2925. ** TLCW - *BDT* LIST CONTROL WORD FIELD DESCRIPTORS.
  2926.  
  2927.  
  2928. TLCW VFD 24/0,18/TLCW1,18/TLCW2
  2929. .OW SET /HIO/EMTP-1 INITIALIZE *FIELD* MACRO CHECKS
  2930. .BI SET 0
  2931.  
  2932. TLCW1 BSS 0
  2933. FIELD /HIO/EMTP,(RESERVED EMTP),59,6
  2934. FIELD /HIO/EMTP,(EMPTY BUFFER COUNT ),53,18
  2935. FIELD /HIO/EMTP,(EMPTY BUFFER - LAST ORDINAL),35,18
  2936. FIELD /HIO/EMTP,(EMPTY BUFFER - 1ST ORDINAL ),17,18
  2937. FIELD /HIO/DWTP,(RESERVED DWTP),59,6
  2938. FIELD /HIO/DWTP,(DATA WRITTEN BUFFER COUNT ),53,18
  2939. FIELD /HIO/DWTP,(DATA WRT BUF - LAST ORDINAL),35,18
  2940. FIELD /HIO/DWTP,(DATA WRT BUF - 1ST ORDINAL ),17,18
  2941. FIELD /HIO/DRDP,(RESERVED DRDP),59,6
  2942. FIELD /HIO/DRDP,(READ DATA BUFFER COUNT ),53,18
  2943. FIELD /HIO/DRDP,(RD DATA BUF - LAST ORDINAL ),35,18
  2944. FIELD /HIO/DRDP,(RD DATA BUF - 1ST ORDINAL ),17,18
  2945. FIELD /HIO/WRTP,(RESERVED WRTP),59,6
  2946. FIELD /HIO/WRTP,(WRITE DATA BUFFER COUNT ),53,18
  2947. FIELD /HIO/WRTP,(WRT DATA BUF - LAST ORDINAL),35,18
  2948. FIELD /HIO/WRTP,(WRT DATA BUF - 1ST ORDINAL ),17,18
  2949. FIELD /HIO/IORQP,(I/O REQUEST IORQP),59,60
  2950. CON -1 END OF LEFT COLUMN
  2951.  
  2952. TLCW2 BSS 0
  2953. CON 0 END OF RIGHT COLUMN
  2954.  
  2955. TLCW3 EQU *
  2956. ERRNG 2*TLCW2-TLCW1-TLCW3 IF RIGHT LONGER THAN LEFT
  2957. TIBS SPACE 4,10
  2958. ** TIBS - I/O BUFFER STATISTICS TABLE FIELD DESCRIPTORS.
  2959.  
  2960.  
  2961. TIBS VFD 24/0,18/TIBS1,18/TIBS2
  2962. .OW SET /HIO/EMTBC-1 INITIALIZE *FIELD* MACRO CHECKS
  2963. .BI SET 0
  2964.  
  2965. TIBS1 BSS 0
  2966. FIELD /HIO/EMTBC,(REALLOC EMPTY BUFS EMTBC),59,60
  2967. FIELD /HIO/DWTBC,(REALLOC DATA WRT BUFS DWTBC),59,60
  2968. FIELD /HIO/DRDBC,(REALLOC RD DATA BUFS DRDBC),59,60
  2969. FIELD /HIO/WRTBC,(REALLOC WRT DATA BUFS WRTBC),59,60
  2970. CON -1 END OF LEFT COLUMN
  2971.  
  2972. TIBS2 BSS 0
  2973. CON 0 END OF RIGHT COLUMN
  2974.  
  2975. TIBS3 EQU *
  2976. ERRNG 2*TIBS2-TIBS1-TIBS3 IF RIGHT LONGER THAN LEFT
  2977. TPLT SPACE 4,10
  2978. ** TPLT - PP LINK TABLE FIELD DESCRIPTORS.
  2979.  
  2980.  
  2981. TPLT VFD 24/0,18/TPLT1,18/TPLT2
  2982. .OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
  2983. .BI SET 0
  2984.  
  2985. TPLT1 BSS 0
  2986. FIELD 0,(CONTROL BUF ORDINAL - PP 0 ),59,60
  2987. FIELD 1,( PP 1 ),59,60
  2988. FIELD 2,( PP 2 ),59,60
  2989. FIELD 3,( PP 3 ),59,60
  2990. FIELD 4,( PP 4 ),59,60
  2991. FIELD 5,( PP 5 ),59,60
  2992. FIELD 6,( PP 6 ),59,60
  2993. FIELD 7,( PP 7 ),59,60
  2994. FIELD 10,( PP 10),59,60
  2995. FIELD 11,( PP 11),59,60
  2996. FIELD 12,( PP 20),59,60
  2997. FIELD 13,( PP 21),59,60
  2998. FIELD 14,( PP 22),59,60
  2999. FIELD 15,( PP 23),59,60
  3000. FIELD 16,( PP 24),59,60
  3001. FIELD 17,( PP 25),59,60
  3002. FIELD 20,( PP 26),59,60
  3003. FIELD 21,( PP 27),59,60
  3004. FIELD 22,( PP 30),59,60
  3005. FIELD 23,( PP 31),59,60
  3006. CON -1 END OF LEFT COLUMN
  3007.  
  3008. TPLT2 BSS 0
  3009. CON 0 END OF RIGHT COLUMN
  3010.  
  3011. TPLT3 EQU *
  3012. ERRNG 2*TPLT2-TPLT1-TPLT3 IF RIGHT LONGER THAN LEFT
  3013. TCBE SPACE 4,10
  3014. ** TCBE - CONTROL BUFFER TABLE FIELD DESCRIPTORS.
  3015.  
  3016.  
  3017. TCBE VFD 24/0,18/TCBE1,18/TCBE2 PRINTER OUTPUT
  3018. VFD 24/0,18/TCBE1,18/0 TERMINAL OUTPUT
  3019. .OW SET /HIO/PAD1-1 INITIALIZE *FIELD* MACRO CHECKS
  3020. .BI SET 0
  3021.  
  3022. TCBE1 BSS 0
  3023. FIELD /HIO/PAD1,( RESERVED PAD1),59,6
  3024. FIELD /HIO/PAD1,( PHYS UNIT NUMBER ),53,6
  3025. FIELD /HIO/PAD1,( PHYS CYL NUMBER ),47,12
  3026. FIELD /HIO/PAD1,( PHYS TRACK NUMBER ),35,6
  3027. FIELD /HIO/PAD1,( PHYS SECTOR NUMBER),29,6
  3028. FIELD /HIO/PAD1,( DATA FLAGS ),23,12
  3029. FIELD /HIO/PAD1,( NEXT SECTOR LINK ),11,12
  3030. FIELD /HIO/PAD2,( RESERVED PAD2),59,6
  3031. FIELD /HIO/PAD2,( PHYS UNIT NUMBER ),53,6
  3032. FIELD /HIO/PAD2,( PHYS CYL NUMBER ),47,12
  3033. FIELD /HIO/PAD2,( PHYS TRACK NUMBER ),35,6
  3034. FIELD /HIO/PAD2,( PHYS SECTOR NUMBER),29,6
  3035. FIELD /HIO/PAD2,( DATA FLAGS ),23,12
  3036. FIELD /HIO/PAD2,( NEXT SECTOR LINK ),11,12
  3037. FIELD /HIO/PAD3,( RESERVED PAD3),59,6
  3038. FIELD /HIO/PAD3,( PHYS UNIT NUMBER ),53,6
  3039. FIELD /HIO/PAD3,( PHYS CYL NUMBER ),47,12
  3040. FIELD /HIO/PAD3,( PHYS TRACK NUMBER ),35,6
  3041. FIELD /HIO/PAD3,( PHYS SECTOR NUMBER),29,6
  3042. FIELD /HIO/PAD3,( DATA FLAGS ),23,12
  3043. FIELD /HIO/PAD3,( NEXT SECTOR LINK ),11,12
  3044. FIELD /HIO/PAD4,( RESERVED PAD4),59,6
  3045. FIELD /HIO/PAD4,( PHYS UNIT NUMBER ),53,6
  3046. FIELD /HIO/PAD4,( PHYS CYL NUMBER ),47,12
  3047. FIELD /HIO/PAD4,( PHYS TRACK NUMBER ),35,6
  3048. FIELD /HIO/PAD4,( PHYS SECTOR NUMBER),29,6
  3049. FIELD /HIO/PAD4,( DATA FLAGS ),23,12
  3050. FIELD /HIO/PAD4,( NEXT SECTOR LINK ),11,12
  3051. CON -1 END OF LEFT COLUMN
  3052.  
  3053. TCBE2 BSS 0
  3054. FIELD /HIO/FSTC,(FST INFORMATION FSTC),59,60
  3055. FIELD /HIO/IOLK,(GENERAL FLAGS IOLK),59,12
  3056. FIELD /HIO/IOLK,(UNIT I/O QUEUE BACK LINK ),47,12
  3057. FIELD /HIO/IOLK,(UNIT I/O QUEUE FORWARD LINK),35,12
  3058. FIELD /HIO/IOLK,(I/O BUFFER ADDRESS ),23,24
  3059. FIELD /HIO/HSLK,(I/O ERROR INFORMATION HSLK),59,12
  3060. FIELD /HIO/HSLK,(HASH LIST BACK LINK ),47,12
  3061. FIELD /HIO/HSLK,(HASH LIST FORWARD LINK ),35,12
  3062. FIELD /HIO/HSLK,(BUFFER RESID LIST INDEX ),23,3
  3063. FIELD /HIO/HSLK,(BUFFER HASH INDEX ),20,9
  3064. FIELD /HIO/HSLK,(*PUT* ORDINAL ),11,12
  3065. FIELD /HIO/LSLK,(ACTIVITY COUNT LSLK),59,12
  3066. FIELD /HIO/LSLK,(BUFFER LIST BACKWARD LINK ),47,12
  3067. FIELD /HIO/LSLK,(BUFFER LIST FORWARD LINK ),35,12
  3068. FIELD /HIO/LSLK,(CONTROL POINT NUMBER ),23,6
  3069. FIELD /HIO/LSLK,(RECALL ENTRY ADDRESS ),17,18
  3070. CON 0 END OF RIGHT COLUMN
  3071.  
  3072. TCBE3 EQU *
  3073. ERRNG 2*TCBE2-TCBE1-TCBE3 IF RIGHT LONGER THAN LEFT
  3074. TCCE SPACE 4,10
  3075. ** TCCE - CHANNEL CONTROL TABLE FIELD DESCRIPTORS.
  3076.  
  3077.  
  3078. TCCE VFD 24/0,18/TCCE1,18/TCCE2 PRINTER OUTPUT
  3079. VFD 24/0,18/TCCE1,18/0 TERMINAL OUTPUT
  3080. .OW SET /HIO/CREQ-1 INITIALIZE *FIELD* MACRO CHECKS
  3081. .BI SET 0
  3082.  
  3083. TCCE1 BSS 0
  3084. FIELD /HIO/CREQ,(CHANNEL BUSY FLAG CREQ),59,12
  3085. FIELD /HIO/CREQ,(RETRY REQUEST ),47,24
  3086. FIELD /HIO/CREQ,(PENDING REQUEST ),23,12
  3087. FIELD /HIO/CREQ,(ACTIVE REQUEST ),11,12
  3088. FIELD /HIO/CCNT,(REQUEST INIT FLAGS CCNT),59,12
  3089. FIELD /HIO/CCNT,(SECOND CHANNEL ),47,6
  3090. FIELD /HIO/CCNT,(FIRST CHANNEL ),41,6
  3091. FIELD /HIO/CCNT,(REQUESTS PROCESSED COUNT ),35,36
  3092. CON -1 END OF LEFT COLUMN
  3093.  
  3094. TCCE2 BSS 0
  3095. FIELD /HIO/CUN1,(*PUT* ORD FOR UNIT 3 CUN1),59,24
  3096. FIELD /HIO/CUN1,( UNIT 2 ),35,12
  3097. FIELD /HIO/CUN1,( UNIT 1 ),23,12
  3098. FIELD /HIO/CUN1,( UNIT 0 ),11,12
  3099. FIELD /HIO/CUN2,(*PUT* ORD FOR UNIT 7 CUN2),59,24
  3100. FIELD /HIO/CUN2,( UNIT 6 ),35,12
  3101. FIELD /HIO/CUN2,( UNIT 5 ),23,12
  3102. FIELD /HIO/CUN2,( UNIT 4 ),11,12
  3103. CON 0 END OF RIGHT COLUMN
  3104.  
  3105. TCCE3 EQU *
  3106. ERRNG 2*TCCE2-TCCE1-TCCE3 IF RIGHT LONGER THAN LEFT
  3107. TFTE SPACE 4,10
  3108. ** TFTE - FUNCTION TIMEOUT TABLE FIELD DESCRIPTORS.
  3109.  
  3110.  
  3111. TFTE VFD 24/0,18/TFTE1,18/TFTE2 PRINTER OUTPUT
  3112. VFD 24/0,18/TFTE1,18/0 TERMINAL OUTPUT
  3113. .OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
  3114. .BI SET 0
  3115.  
  3116. TFTE1 BSS 0
  3117. FIELD 0,(RESERVED ),59,12
  3118. FIELD 0,(TIMEOUT INCREMENT ),47,12
  3119. FIELD 0,(EXPECTED STATUS ),35,12
  3120. FIELD 0,(TIMEOUT VALUE ),23,24
  3121. CON -1 END OF LEFT COLUMN
  3122.  
  3123. TFTE2 BSS 0
  3124. CON 0 END OF RIGHT COLUMN
  3125.  
  3126. TFTE3 EQU *
  3127. ERRNG 2*TFTE2-TFTE1-TFTE3 IF RIGHT LONGER THAN LEFT
  3128. THAE SPACE 4,10
  3129. ** THAE - HASH TABLE FIELD DESCRIPTORS.
  3130.  
  3131.  
  3132. THAE VFD 24/0,18/THAE1,18/THAE2 PRINTER OUTPUT
  3133. VFD 24/0,18/THAE1,18/0 TERMINAL OUTPUT
  3134. .OW SET 0-1 INITIALIZE *FIELD* MACRO CHECKS
  3135. .BI SET 0
  3136.  
  3137. THAE1 BSS 0
  3138. FIELD 0,(LOGICAL TRACK HATL),59,12
  3139. FIELD 0,(FIRST SECTOR ),47,12
  3140. FIELD 0,(LAST SECTOR ),35,12
  3141. FIELD 0,(ORD OF 1ST CONTROL BUFFER ),23,24
  3142. CON -1 END OF LEFT COLUMN
  3143.  
  3144. THAE2 BSS 0
  3145. CON 0 END OF RIGHT COLUMN
  3146.  
  3147. THAE3 EQU *
  3148. ERRNG 2*THAE2-THAE1-THAE3 IF RIGHT LONGER THAN LEFT
  3149. TPUE SPACE 4,10
  3150. ** TPUE - PHYSICAL UNIT TABLE FIELD DESCRIPTORS.
  3151.  
  3152.  
  3153. TPUE VFD 24/0,18/TPUE1,18/TPUE2 PRINTER OUTPUT
  3154. VFD 24/0,18/TPUE1,18/0 TERMINAL OUTPUT
  3155. .OW SET /HIO/UNCT-1 INITIALIZE *FIELD* MACRO CHECKS
  3156. .BI SET 0
  3157.  
  3158. TPUE1 BSS 0
  3159. FIELD /HIO/UNCT,(UNIT INTERLOCK UNCT),59,3
  3160. FIELD /HIO/UNCT,(EQUIPMENT NUMBER ),56,3
  3161. FIELD /HIO/UNCT,(PHYSICAL UNIT NUMBER ),53,6
  3162. FIELD /HIO/UNCT,(ASSIGNED EST ORDINAL ),47,12
  3163. FIELD /HIO/UNCT,(UNIT QUEUE SIZE ),35,12
  3164. FIELD /HIO/UNCT,(CURRENT *CB* ORDINAL ),23,12
  3165. FIELD /HIO/UNCT,(FIRST *CB* ORDINAL ),11,12
  3166. FIELD /HIO/HSCT,(SECTORS PER I/O BUFFER HSCT),59,6
  3167. FIELD /HIO/HSCT,(HASH MASK ),53,12
  3168. FIELD /HIO/HSCT,(FWA *HAT* FOR THIS UNIT ),41,18
  3169. FIELD /HIO/HSCT,(REQUESTS PROCESSED ),23,12
  3170. FIELD /HIO/HSCT,(*PUT* ORDINAL OF NEXT UNIT ),11,12
  3171. FIELD /HIO/RDST,(RESERVED RDST),59,24
  3172. FIELD /HIO/RDST,(SECTORS READ ),35,36
  3173. FIELD /HIO/WTST,(RESERVED WTST),59,24
  3174. FIELD /HIO/WTST,(SECTORS WRITTEN ),35,36
  3175. CON -1 END OF LEFT COLUMN
  3176.  
  3177. TPUE2 BSS 0
  3178. FIELD /HIO/ACRJ,(EVICTED READ *HAT* ENT ACRJ),59,12
  3179. FIELD /HIO/ACRJ,(EVICTED WRITE *HAT* ENTRIES),47,12
  3180. FIELD /HIO/ACRJ,(FULL HASH TABLE REJECTS ),35,12
  3181. FIELD /HIO/ACRJ,(BUFFER BUSY REJECTS ),23,24
  3182. FIELD /HIO/ACST,(RECALL REQUEST REPLIES ACST),59,24
  3183. FIELD /HIO/ACST,(BUFFER REQUESTS PROCESSED ),35,36
  3184. FIELD /HIO/INST,(I/L BUFFER REJECT INST),59,24
  3185. FIELD /HIO/INST,(I/L BUFFER COMPLETE ),35,36
  3186. FIELD /HIO/PILL,(ERROR FLAGS PILL),59,12
  3187. FIELD /HIO/PILL,(ERROR UNIT NUMBER ),47,6
  3188. FIELD /HIO/PILL,(RESERVED ),41,18
  3189. FIELD /HIO/PILL,(SPECIAL REQUEST FLAGS ),23,12
  3190. FIELD /HIO/PILL,(*OR* ADDRESS OF I/L PP ),11,12
  3191. CON 0 END OF RIGHT COLUMN
  3192.  
  3193. TPUE3 EQU *
  3194. ERRNG 2*TPUE2-TPUE1-TPUE3 IF RIGHT LONGER THAN LEFT
  3195. FPWB SPACE 4,2
  3196. ** JOB ORIGIN TYPE NAMES.
  3197. * USED BY ROUTINE *FPW*.
  3198.  
  3199.  
  3200. FPWB BSS 0 TABLE OF ORIGIN TYPE NAMES
  3201. LOC 0
  3202. DATA 10LSYOT
  3203. DATA 10LBCOT
  3204. DATA 10LEIOT
  3205. DATA 10LTXOT
  3206. LOC *O
  3207. FPWC SPACE 4,3
  3208. ** SPECIAL ENTRY POINT NAMES. NAMES CORRESPOND TO BITS
  3209. * IN THE *SEPW* WORD IN THE CONTROL POINT AREA. TABLE
  3210. * ORDER MUST BE PRESERVED. USED BY ROUTINE *FPW*.
  3211.  
  3212.  
  3213. FPWC BSS 0
  3214. DATA 10LDPA= BIT 47
  3215. DATA 10LSSM= BIT 48
  3216. DATA 10LVAL= BIT 49
  3217. DATA 10LSSJ= BIT 50
  3218. DATA 10LSDM= BIT 51
  3219. DATA 10LDMP= BIT 52
  3220. DATA 10LARG= BIT 53
  3221. DATA 10LCLB= BIT 54
  3222. DATA 10LLDR= BIT 55
  3223. DATA 10LUTL= BIT 56
  3224. FPWCL EQU *-FPWC TABLE OF SPECIAL ENTRY POINTS LENGTH
  3225. SCNT SPACE 4,10
  3226. ** SERVICE CLASS NAMES.
  3227. * USED BY *JC* PROCESSOR.
  3228.  
  3229.  
  3230. SCNT BSS 0 TABLE OF SERVICE CLASS NAMES
  3231. LOC 1
  3232. LIST D
  3233. .SCL HERE
  3234. LIST *
  3235. LOC *O
  3236.  
  3237. SEG
  3238. TITLE DIRECTIVE PROCESSING - MAIN ROUTINES.
  3239. QUAL DIRECT
  3240. SPACE 4
  3241. *** DSDI INPUT DIRECTIVES.
  3242. *
  3243. * THE FOLLOWING NOTES AND RULES APPLY TO ALL INPUT DIRECTIVES-
  3244. *
  3245. * 1. ANY CHARACTER WITH A DISPLAY CODE GREATER THAN OR
  3246. * EQUAL TO 50B (*/* CODE) IS CONSIDERED A SEPARATOR.
  3247. *
  3248. * 2. THE EXPLICIT COMMAND TERMINATOR IS *.*. ANYTHING BEYOND
  3249. * THE TERMINATOR IS IGNORED.
  3250. *
  3251. * 4. DIRECTIVES WHICH REQUIRE A FIXED NUMBER OF PARAMETERS
  3252. * WILL IGNORE EVERYTHING BEYOND THE SEPARATOR FOR THE LAST
  3253. * LEGAL PARAMETER.
  3254. ACCOUNT SPACE 4,3
  3255. *** ACCOUNT.
  3256. *
  3257. * DUMP THE ACCOUNT DAYFILE BUFFER IN *E* FORMAT.
  3258. * ALSO, DUMP THE CURRENT BUFFER LINE BY LINE.
  3259.  
  3260.  
  3261. ACCOUNT DATA 0LACCOUNT
  3262.  
  3263. SX7 -1
  3264. ACN1 SA7 CN
  3265. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  3266. SX6 0
  3267. RJ SRA SET REFERENCE ADDRESS
  3268. RJ GDB GET DAYFILE BUFFER
  3269. RJ LDC LIST DIRECTIVE
  3270. RJ PDP PRINT DAYFILE POINTERS
  3271. PRINT (=2C )
  3272. RJ PDB PRINT DAYFILE BUFFER
  3273. JP DSD1 RETURN
  3274. ALLMEM SPACE 4,10
  3275. *** ALLMEM.
  3276. *
  3277. * ALLOW CM DUMPS TO EXTEND PAST THE CM BOUNDARY ON MACHINES
  3278. * WITH CENTRAL MEMORY EXTENSION (CME).
  3279.  
  3280.  
  3281. ALLMEM DATA 0LALLMEM
  3282.  
  3283. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  3284. SA1 CE
  3285. ZR X1,ERR25 IF NOT CM EXTENSION ON MAINFRAME
  3286. SX6 1 SET *ALLMEM* FLAG
  3287. SA6 AM
  3288. EQ DSD1 RETURN
  3289. AP SPACE 4,13
  3290. *** AP.
  3291. * DUMP AND ANALYZE ALL ACTIVE PPUS.
  3292. *
  3293. * AP,N1,N2,...,NN.
  3294. * DUMP AND ANALYZE SELECTED PPUS. NN MAY BE A PPU NUMBER
  3295. * OR A PROGRAM NAME. IF IT IS A PROGRAM NAME, ALL PPUS
  3296. * EXECUTING THAT PROGRAM ARE DUMPED. A WARNING IS ISSUED
  3297. * IF AN ILLEGAL NUMBER IS DETECTED OR IF A NAMED PROGRAM IS NOT
  3298. * FOUND IN ANY PPU.
  3299. *
  3300. * PPU MEMORY IS DUMPED IN *Q* FORMAT. THE ASSOCIATED
  3301. * COMMUNICATION REGISTERS ARE DUMPED. RESIDENT ENTRY
  3302. * POINT CALL ADDRESSES ARE LISTED. LOW CORE READ-ONLY
  3303. * CONSTANTS ARE VERIFIED AND FLAGGED IF WRONG.
  3304.  
  3305.  
  3306. AP DATA 0LAP
  3307.  
  3308. RJ IPA INITIALIZE FOR PPU DUMP
  3309. RJ LDC LIST DIRECTIVE
  3310. APR1 RJ SPA SELECT NEXT PPU TO ANALYZE
  3311. ZR X1,DSD1 IF NO MORE TO DUMP
  3312. RJ APP ANALYZE PPU
  3313. JP APR1 CONTINUE
  3314. B SPACE 4,5
  3315. ** B.
  3316. *
  3317. * DISPLAY BRIEF STATUS FOR ALL CONTROL POINTS IN A FORMAT
  3318. * SIMILAR TO THE *DSD* *B,A* DISPLAY.
  3319.  
  3320.  
  3321. B DATA 0LB
  3322.  
  3323. RJ LDC DISPLAY DIRECTIVE
  3324. RJ SCM SET CENTRAL MEMORY
  3325. SA7 RI
  3326. SX6 0 SET FWA
  3327. SA6 FW
  3328. SA1 NC SET LWA
  3329. SX6 X1+2
  3330. LX6 7
  3331. SA6 A6+B1
  3332. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  3333. PRINT (=2C )
  3334. PRINT (=C* CP JSN SC PR FL CPU MS1W*)
  3335. PRINT (=C* EJT SCPR FLE SS MS2W*)
  3336. BDS1 RJ SSB
  3337. PRINT (=2C )
  3338. SA1 FW INCREMENT CPA ADDRESS
  3339. SX6 X1+CPLEN
  3340. SA6 A1
  3341. SA2 A1+B1
  3342. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  3343. IX2 X6-X2
  3344. BX1 X6
  3345. PL X2,DSD1 IF ALL CONTROL POINTS DISPLAYED
  3346. AX1 7
  3347. SB4 B1+B1
  3348. SB7 PRBF+4 DISPLAY CP NUMBER
  3349. RJ DOS
  3350. RJ GEE GET EJT ENTRY
  3351. NZ X1,BDS2 IF ACTIVE CP
  3352. PRINT CCCH,10
  3353. PRINT (=2C )
  3354. EQ BDS1 CHECK NEXT CP
  3355.  
  3356. BDS2 SA2 BUF+JSNE DISPLAY JSN
  3357. SB6 4
  3358. SB7 PRBF+9
  3359. RJ SDI
  3360. SA1 BUF+SCLE GET SERVICE CLASS, CM FL
  3361. MX0 6
  3362. BX2 X0*X1
  3363. LX2 6
  3364. SA2 X2+SCNT-1 DISPLAY SERVICE CLASS MNEMONIC
  3365. BX6 X0*X2
  3366. LX6 6
  3367. SA6 PRBF+16
  3368. SA1 FW
  3369. RJ GFL GET CM FL
  3370. BX5 X1 SAVE BUFFER ADDRESS OF CPA FWA
  3371. BX1 X7
  3372. LX1 -6 DISPLAY FL/100B
  3373. SB4 4
  3374. SB7 PRBF+27
  3375. RJ DOS DISPLAY CM FL
  3376. SA1 X5+CWQW GET CPU PRIORITY
  3377. MX0 2
  3378. BX1 -X0*X1
  3379. AX1 51
  3380. SB7 PRBF+19
  3381. RJ DOS DISPLAY CPU PRIORITY
  3382. SB7 PRBF+34
  3383. RJ GCS DISPLAY CPU STATUS
  3384. SA2 X5+MS1W DISPLAY *MS1W*
  3385. SB6 48
  3386. SB7 PRBF+38
  3387. RJ DMB
  3388. PRINT CCCH,B7-CCCH+1
  3389. SA1 GEEA GET EJT ORDINAL
  3390. RJ SSB CLEAR PRINT BUFFER
  3391. SB4 4
  3392. SB7 PRBF+13
  3393. RJ DOS DISPLAY EJT ORDINAL
  3394. SA1 BUF+SCHE DISPLAY SCHEDULING PRIORITY
  3395. RJ DOS
  3396. SA1 X5+ECSW
  3397. MX0 -12
  3398. BX1 -X0*X1
  3399. SA2 UE GET FLE
  3400. SB3 X2
  3401. LX1 B3
  3402. SB4 6
  3403. RJ DOS DISPLAY FLE
  3404. SA1 X5+SNSW
  3405. SA2 X5+STSW
  3406. SA3 BUF+SCLE
  3407. SA4 F.TCMT
  3408. SA4 X4+CMCL
  3409. SX6 1RI
  3410. SX7 1RS
  3411. LX1 59-15
  3412. LX2 59-56
  3413. LX3 59-52
  3414. PL X1,BDS3 IF SUBSYSTEM IDLEDOWN NOT SET
  3415. SA6 B7 DISPLAY *SUBSYSTEM IDLEDOWN* FLAG
  3416. BDS3 PL X2,BDS4 IF NO SUBCONTROL POINTS ACTIVE
  3417. SA7 B7+1 DISPLAY *SUBCONTROL POINTS ACTIVE* FLAG
  3418. BDS4 SX6 1RL
  3419. SX7 1RM
  3420. PL X3,BDS5 IF NOT FORCED ROLLIN
  3421. SA6 B7+2 DISPLAY *FORCED ROLLIN* FLAG
  3422. BDS5 MX0 -12
  3423. LX4 12
  3424. SA2 FW
  3425. AX2 7
  3426. BX4 -X0*X4
  3427. BX4 X2-X4
  3428. NZ X4,BDS6 IF CONTROL POINT NOT MOVING
  3429. SA7 B7+3 DISPLAY *CONTROL POINT MOVING* FLAG
  3430. BDS6 SA2 X5+MS2W DISPLAY *MS2W*
  3431. SB6 28
  3432. SB7 PRBF+38
  3433. RJ DMB
  3434. PRINT CCCH,B7-CCCH+1
  3435. EQ BDS1 CHECK NEXT CP
  3436. BATCHIO SPACE 4,20
  3437. *** BATCHIO,OPS.
  3438. * BIO,OPS.
  3439. *
  3440. * WHERE OPS IS A STRING OF UP TO 3 CHARACTERS SELECTING
  3441. * VARIOUS DUMP OPTIONS AS FOLLOWS-
  3442. *
  3443. * B EACH OF THE ACTIVE BATCHIO BUFFER POINTS ARE ANALYZED
  3444. * WITH ASSOCIATED FET, EST, EQUIPMENT TYPE, AND FNT/FST.
  3445. *
  3446. * N DUMP NEGATIVE FIELD LENGTH IN *D* FORMAT.
  3447. *
  3448. * P ALL COPIES OF 1CD, 1IO, DSP, QAC, AND QAP ARE ANALYZED.
  3449. *
  3450. *
  3451. * BATCHIO. OR BIO.
  3452. *
  3453. * IS EQUIVALENT TO *BATCHIO,PBN.*.
  3454.  
  3455.  
  3456. BATCHIO DATA 0LBATCHIO
  3457. EQ BIO1 PROCESS LIKE *BIO* DIRECTIVE
  3458.  
  3459. BIO DATA 0LBIO
  3460.  
  3461. BIO1 SA5 BIOA
  3462. RJ ISS INITIALIZE FOR SUB-SYSTEM DUMP
  3463. GETCM SSBF,/BIO/BUFR+1
  3464. SA5 BIOB
  3465. RJ DSS DUMP BATCHIO SUB-SYSTEM
  3466. JP DSD1 RETURN
  3467.  
  3468. BIOA VFD 24/0,12/BISI,24/0
  3469.  
  3470. BIOB VFD 60/0LPBN
  3471. VFD 36/0,6/1RB,18/DBB
  3472. VFD 36/0,6/1RN,18/DBN
  3473. VFD 36/0,6/1RP,18/DBP
  3474. VFD 60/0
  3475. BCDUMP SPACE 4,35
  3476. *** BCDUMP.
  3477. *
  3478. * DUMP EACH CONTROLLER RECORD FOUND WITH DEFAULT OPTIONS.
  3479. *
  3480. * BCDUMP/OPS.
  3481. *
  3482. * DUMP EACH CONTROLLER RECORD FOUND WITH SPECIFIED OPTIONS.
  3483. *
  3484. * BCDUMP,CC,CC.
  3485. *
  3486. * DUMP SPECIFIED CHANNELS WITH DEFAULT OPTIONS.
  3487. *
  3488. * BCDUMP,CC/OPS,CC/OPS.
  3489. *
  3490. * DUMP SPECIFIED CHANNELS WITH SPECIFIED OPTIONS.
  3491. *
  3492. * CONTROLLER MEMORY IS DUMPED IN HEXADECIMAL LINE FORMAT
  3493. * WITH DISPLAY CODE INTERPRETATION BY DEFAULT, WITH NO
  3494. * VERIFICATION DATA. IF OTHER THAN THE DEFAULT SELECTION
  3495. * IS REQUIRED, THE *OPS* STRING OF CHARACTERS MAY BE SPECIFIED
  3496. * TO SELECT ALTERNATE DUMP OPTIONS AS FOLLOWS -
  3497. *
  3498. * A SELECT 7-BIT ASCII CODE INTERPRETATION.
  3499. *
  3500. * D SELECT 6-BIT DISPLAY CODE INTERPRETATION.
  3501. *
  3502. * H DUMP CONTROLLER MEMORY IN HEXADECIMAL LINE FORMAT.
  3503. *
  3504. * O DUMP CONTROLLER MEMORY IN OCTAL LINE FORMAT.
  3505. *
  3506. * V LIST VERIFICATION INFORMATION IN ADDITION TO
  3507. * CONTROLLER MEMORY DUMP (FOR USE WITH CONTROLWARE DUMP
  3508. * FILE PRODUCED BY *LOADBC* UTILITY).
  3509.  
  3510.  
  3511. BCDUMP DATA 0LBCDUMP
  3512.  
  3513. RJ LDC LIST DIRECTIVE
  3514. SA1 .BCH SEARCH FOR FIRST BUFFER CONTROLLER RECORD
  3515. MX0 12
  3516. LX0 -12
  3517. SEARCH TDIR,X1,X0
  3518. ZR X2,ERR14 IF RECORD NOT FOUND
  3519. SX6 A2-2 SAVE ADDRESS OF DIRECTORY ENTRY
  3520. SA6 BCDA
  3521. SA1 CH CHECK SEPARATOR
  3522. SA1 X1+
  3523. SX6 X1-1R.
  3524. SA6 PI SAVE PARAMETER PRESENT FLAG
  3525. SX6 2RHD
  3526. SA6 SBCB
  3527. SX6 X1-1R/
  3528. NZ X6,BCD1 IF NOT OPTION SELECTION
  3529. RJ ASN ASSEMBLE OPTIONS
  3530. SA1 CH CHECK SEPARATOR
  3531. AX6 B6
  3532. SA1 X1
  3533. SA6 SBCB SET ALTERNATE OPTION SELECTION
  3534. SX6 X1-1R.
  3535. SA6 PI
  3536. NZ X6,ERR6 IF NOT END OF DIRECTIVE
  3537. BCD1 RJ SBC SELECT NEXT BUFFER CONTROLLER CHANNEL
  3538. ZR X1,DSD1 IF END OF CHANNELS TO DUMP
  3539. SX6 A2 SAVE ADDRESS OF DIRECTORY ENTRY
  3540. MX0 -6
  3541. SA6 BCDA
  3542. SA1 SBCB GET OPTIONS
  3543. SX6 4 SET DEFAULT OPTIONS (HEX AND DISPLAY CODE)
  3544. SA3 TBOP-1
  3545. BCD2 SA3 A3+B1 GET *BCDUMP* OPTION TABLE ENTRY
  3546. ZR X3,ERR6 IF INCORRECT OPTION
  3547. BX7 X1-X3
  3548. BX7 -X0*X7
  3549. NZ X7,BCD2 IF NO MATCH
  3550. AX3 6 SELECT DUMP FORMAT
  3551. SX7 X3
  3552. BX6 -X7*X6
  3553. AX3 18
  3554. BX6 X6+X3
  3555. AX1 6
  3556. SA3 TBOP-1
  3557. SX7 X6
  3558. NZ X1,BCD2 IF MORE OPTIONS SPECIFIED
  3559. SA7 BCDB+3 SET FORMAT OF DUMP
  3560. SA6 BCDC SAVE VERIFY OPTION
  3561. PRINT (=2C )
  3562. SB7 PRBF SET HEADING
  3563. SA2 =17H CHANNEL NUMBER
  3564. SB6 17
  3565. RJ UPS
  3566. SA1 SBCA GET CHANNEL NUMBER
  3567. LX1 -6
  3568. SB6 B1+B1
  3569. RJ CTS
  3570. PRINT CCCH,B7-CCCH
  3571. PRINT (=2C )
  3572. SA2 BCDA
  3573. SA2 X2+1 GET RANDOM INDEX
  3574. BX6 X2
  3575. SA6 RI SET RANDOM INDEX OF NEXT RECORD
  3576. BX6 X6-X6 SET FWA
  3577. SA6 BCDB
  3578. SA6 BCDD
  3579. BCD3 SA3 BCDD POSITION DUMP FILE
  3580. RJ PDF
  3581. RJ PBC PACK BUFFER CONTROLLER MEMORY
  3582. SA2 BCDD
  3583. NZ X2,BCD4 IF NOT BEGINNING OF DUMP
  3584. SA1 PBUF GET FIRST WORD OF CONTROLWARE
  3585. MX0 8D
  3586. BX1 X1*X0 MASK OUT CHANNEL TYPE
  3587. LX1 8D SHIFT INTO POSITION
  3588. BX6 X1 SAVE CHANNEL TYPE
  3589. SA6 K4
  3590. SA1 X6+TCTP GET DUMP LWA+1
  3591. AX1 18
  3592. SX6 X1
  3593. SA6 BCDE
  3594. SX7 K4RBFL SET INITIAL LWA+1
  3595. SA7 BCDB+1
  3596. IX7 X6-X7
  3597. PL X7,BCD4 IF NOT 4K CONTROLLER
  3598. SA6 A7 RESET LWA+1
  3599. BCD4 SX6 X2+K4WBFL UPDATE DUMP RECORD FWA
  3600. SA6 A2
  3601. BX7 X7-X7 INITIALIZE *NXB* POINTERS
  3602. SX6 IUBUFL1+4
  3603. SA6 NXBA
  3604. SA7 A6+B1
  3605. SX6 PBUF-1 SET STARTING ADDRESS -1
  3606. SA6 A7+B1
  3607. SA1 BCDB SET CONTROL BLOCK ADDRESS
  3608. RJ DSP PROCESS DUMP
  3609. SA2 BCDB+1
  3610. SA3 BCDE GET DUMP LWA+1
  3611. IX7 X3-X2
  3612. ZR X7,BCD5 IF DUMP LWA+1
  3613. BX6 X2 UPDATE FWA
  3614. SA6 A2-B1
  3615. SX7 X6+K4RBFL UPDATE LWA+1
  3616. SA7 A2
  3617. IX2 X3-X7
  3618. PL X2,BCD3 IF NOT TOO BIG
  3619. SX7 X3
  3620. SA7 A2 SET LWA+1 TO DUMP LWA+1
  3621. EQ BCD3 READ NEXT BLOCK
  3622.  
  3623. BCD5 SA1 BCDC
  3624. PL X1,BCD1 IF NOT VERIFY OPTION
  3625. SX1 X1
  3626. AX1 2 OCTAL OR HEX FORMAT OPTION
  3627. SA2 BCDA GET CONTROLLER MEMORY DIRECTORY ENTRY
  3628. RJ PCV PROCESS CONTROLLER VERIFICATION DATA
  3629. EQ BCD1 PROCESS NEXT CHANNEL
  3630.  
  3631.  
  3632. BCDA CON 0 DIRECTORY INDEX
  3633. BCDB CON 0 FWA TO DUMP
  3634. CON 0 LWA+1 TO DUMP
  3635. CON 0
  3636. CON 4 HEX - LINE - DISPLAY CODE
  3637. BCDC CON 0 VERIFICATION OPTION
  3638. BCDD CON 0 DUMP RECORD ADDRESS
  3639. BCDE CON 0 DUMP LWA+1
  3640.  
  3641.  
  3642. TBOP BSS 0 TABLE OF *BCDUMP* OPTIONS
  3643. VFD 36/1,18/1,6/1RA 7-BIT ASCII CODE
  3644. VFD 36/0,18/1,6/1RD 6-BIT DISPLAY CODE
  3645. VFD 36/4,18/6,6/1RH HEX LINE FORMAT
  3646. VFD 36/2,18/6,6/1RO OCTAL LINE FORMAT
  3647. VFD 1/1,35/0,18/0,6/1RV VERIFICATION DATA
  3648. CON 0 END OF TABLE
  3649. SPACE 4,10
  3650. *** BUFF.
  3651. *
  3652. * DUMP 819 BUFFER TABLES.
  3653.  
  3654.  
  3655. BUFF DATA 0LBUFF
  3656.  
  3657. RJ LDC LIST DIRECTIVE
  3658. BX6 X6-X6 SET REFERENCE ADDRESS
  3659. RJ SRA
  3660. RJ SCM SET CENTRAL MEMORY
  3661. SA1 F.TCMT
  3662. SA1 X1+BIOL GET BUFFER POINTERS
  3663. SX7 X1 GET LWA+1
  3664. AX1 24
  3665. SX6 X1 GET FWA
  3666. ZR X6,ERR34 IF NO BUFFERED DEVICES
  3667. SA6 CPRA FWA
  3668. SA7 A6+B1 LWA
  3669. SX6 B1
  3670. SA6 CPRA+4 *D* FORMAT
  3671. JP CPR2 PROCESS DUMP
  3672. TCTP SPACE 4,15
  3673. ** TCTP - TABLE OF CONTROLLER TYPE PARAMETERS.
  3674. * INDEXED BY CONTROLLER TYPE.
  3675. *
  3676. *T 1/W,23/0,18/LA,18/BS
  3677. *
  3678. * W CONTROLLER WORD SIZE FLAG.
  3679. * 0 = 8 BIT WORD SIZE.
  3680. * 1 = 16 BIT WORD SIZE.
  3681. * LA LWA+1 TO DUMP.
  3682. * BS CM WORDS OF DATA IN PBUF.
  3683.  
  3684.  
  3685. TCTP BSS 0
  3686. VFD 1/1,23/0,18/K4BFL,18/IUBUFL1
  3687. VFD 1/0,23/0,18/K16BFL,18/IUBUFL2
  3688. VFD 1/1,23/0,18/K8BFL,18/IUBUFL2
  3689. VFD 1/0,23/0,18/KIBFL,18/IUBUFL3
  3690. VFD 1/1,23/0,18/K16BFL,18/IUBUFL4
  3691. C SPACE 4,8
  3692. *** C,FWA,LWA+1.
  3693. *
  3694. * DUMP MEMORY IN INSTRUCTION PARCEL FORMAT WITH DISPLAY
  3695. * CODE INTERPRETATION. WORDS ARE LISTED COLUMNWISE WITH
  3696. * THREE COLUMNS PER PAGE. REPETITIVE DATA IS SUPPRESSED.
  3697. *
  3698. * FOR TERMINAL OUTPUT, DATA IS LISTED ONE WORD PER LINE WITH
  3699. * DISPLAY CODE INTERPRETATION AND NO PAGINATION IS PROCESSED.
  3700.  
  3701.  
  3702. C DATA 0LC
  3703.  
  3704. SA1 EE
  3705. NZ X1,ERR5 IF EXTENDED MEMORY ERROR FLAG SET
  3706. SA1 TF
  3707. NZ X1,CTN IF OUTPUT IS TO TERMINAL
  3708. SX6 0 SET *C* FORMAT CODE
  3709. CPR1 SA6 CPRA+4 SET FORMAT CODE
  3710. RJ LDC LIST DIRECTIVE
  3711. SB7 0 SET OCTAL BASE
  3712. RJ ASD ASSEMBLE FWA
  3713. NZ X4,ERR6 IF ERROR IN CONVERSION
  3714. SA6 CPRA SET FWA
  3715. SX6 X6+B1
  3716. SA6 A6+B1 PRESET LWA+1
  3717. RJ ASD ASSEMBLE LWA+1
  3718. NZ X4,CPR2 IF NOT SPECIFIED
  3719. SA6 CPRA+1 SET LWA+1
  3720. CPR2 SB2 CPRA
  3721. RJ CMB CHECK MEMORY BOUNDS
  3722. RJ POM POSITION DUMP FILE
  3723. SB2 CPRA
  3724. RJ PMD PROCESS DUMP
  3725. JP DSD1 RETURN
  3726.  
  3727. QUAL
  3728. CPRA BSS 0 DUMP PARAMETERS
  3729. CON 0 FWA
  3730. CON 0 LWA+1
  3731. CON 0
  3732. CON 0
  3733. CON 0 FORMAT CODE
  3734. CON 0
  3735. CON 0 INVERTED ADDRESS
  3736. QUAL *
  3737.  
  3738. * PROCESS TERMINAL OUTPUT.
  3739.  
  3740. CTN SA1 =5000004B
  3741. CTN1 BX6 X1
  3742. SA6 CPRA+4 SET FORMAT PARAMETERS
  3743. RJ SSB CLEAR PRINT STRING
  3744. SB7 0
  3745. RJ ASD ASSEMBLE FWA
  3746. NZ X4,ERR6 IF CONVERSION ERROR
  3747. SA6 CPRA SET FWA
  3748. SX6 X6+B1
  3749. SA6 A6+B1 PRESET LWA+1
  3750. RJ ASD
  3751. NZ X4,CTN2 IF LWA+1 NOT SPECIFIED
  3752. SA6 CPRA+1
  3753. CTN2 SB2 CPRA
  3754. RJ CMB CHECK MEMORY BOUNDS
  3755. RJ POM POSITION MEMORY
  3756. CTN3 SA1 CPRA
  3757. SB6 8 NUMBER OF DIGITS
  3758. SB7 PRBF
  3759. LX1 -24 LEFT JUSTIFY BINARY DIGITS
  3760. RJ CTS CONVERT ADDRESS
  3761. SB7 B7+B1
  3762. GETCM
  3763. NZ X1,CTN4 IF END OF RECORD
  3764. BX1 X6
  3765. SA2 CPRA+4
  3766. RJ FDW FORMAT DATA WORD
  3767. BX2 X1
  3768. SB6 10
  3769. RJ SDI SET DISPLAY CODE INTERPRETATION
  3770. PRINT PRBF,B7-PRBF
  3771. SA1 CPRA
  3772. SA2 A1+B1
  3773. SX6 B1
  3774. IX6 X1+X6
  3775. SA6 A1 ADVANCE ADDRESS
  3776. IX6 X6-X2
  3777. NG X6,CTN3 IF MORE TO DUMP
  3778. JP DSD1 RETURN
  3779.  
  3780. CTN4 PRINT (=C*-- END OF RECORD --*)
  3781. JP DSD1 RETURN
  3782. CBT SPACE 4,10
  3783. *** CBT.
  3784. * DUMP ALL NONZERO CONTROL BUFFER TABLE ENTRIES.
  3785. *
  3786. * CBT,E1,E2,...,EN.
  3787. * DUMP SELECTED CONTROL BUFFER TABLE ENTRIES.
  3788.  
  3789.  
  3790. CBT DATA 0LCBT
  3791.  
  3792. SX5 =C* CONTROL BUFFER TABLE*
  3793. SX6 TCBE SET FORMAT TABLE POINTERS ADDRESS
  3794. SX7 =4HCBT SET TABLE NAME ADDRESS
  3795. SB2 /HIO/CBTP SET BUFFERED DEVICE TABLE INDEX
  3796. RJ DBT DUMP *CBT*
  3797. EQ DSD1 RETURN
  3798. CCT SPACE 4,10
  3799. *** CCT.
  3800. * DUMP ALL NONZERO CHANNEL CONTROL TABLE ENTRIES.
  3801. *
  3802. * CCT,E1,E2,...,EN.
  3803. * DUMP SELECTED CHANNEL CONTROL TABLE ENTRIES.
  3804.  
  3805.  
  3806. CCT DATA 0LCCT
  3807.  
  3808. SX5 =C* CHANNEL CONTROL TABLE*
  3809. SX6 TCCE SET FORMAT TABLE POINTERS ADDRESS
  3810. SX7 =4HCCT SET TABLE NAME ADDRESS
  3811. SB2 /HIO/CCTP SET BUFFERED DEVICE TABLE INDEX
  3812. RJ DBT DUMP *CCT*
  3813. EQ DSD1 RETURN
  3814. CM SPACE 4,4
  3815. *** CM.
  3816. *
  3817. * SET MEMORY TYPE TO *CM*. SUBSEQUENT C, D AND E DIRECTIVES
  3818. * APPLY TO CENTRAL MEMORY.
  3819.  
  3820.  
  3821. CM DATA 0LCM
  3822.  
  3823. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  3824. RJ LDC LIST DIRECTIVE
  3825. RJ SCM SELECT CENTRAL MEMORY
  3826. SA6 US+1 SET USER CONTROLLED MEMORY NAME (SUBTITLE)
  3827. SA7 UI SET USER CONTROLLED MEMORY RANDOM INDEX
  3828. BX7 X7-X7 CLEAR EXTENDED MEMORY ERROR FLAG
  3829. SA7 EE
  3830. JP DSD1 RETURN
  3831. CP SPACE 4,54
  3832. *** CP.
  3833. * DUMP ALL ACTIVE CONTROL POINT AND PSEUDO-CONTROL POINT AREAS.
  3834. *
  3835. * CP,N1,N2,...,NN.
  3836. * DUMP SELECTED CONTROL POINT (ONLY) AREAS.
  3837. *
  3838. * NN = CONTROL POINT NUMBER. NN MAY BE OF THE
  3839. * FORM *NN/OPS* WHERE OPS IS A STRING OF UP TO 10 CHARACTERS
  3840. * SELECTING UP TO 10 OF THE FOLLOWING 11 LIST OPTIONS AT ONE
  3841. * TIME-
  3842. *
  3843. * X DUMP EXCHANGE PACKAGE, PARAMETER SUMMARY,
  3844. * AND EJT ENTRY.
  3845. *
  3846. * T PRINT DETAILED DUMP OF CONTROL POINT AREA. AN
  3847. * ENGLISH DESCRIPTION OF EACH PARAMETER FIELD
  3848. * IS PRINTED. EACH WORD IS LISTED WITH ITS SYSTEXT
  3849. * TAG.
  3850. *
  3851. * A DUMP THE JOB DAYFILE BUFFER IN *E* FORMAT.
  3852. * ALSO, DUMP THE CURRENT BUFFER LINE BY LINE.
  3853. *
  3854. * F PRINT THE FNT/FST, EST AND MASS STORAGE TRACK CHAIN
  3855. * (IF ANY) FOR ALL FILES ATTACHED TO THIS CONTROL
  3856. * POINT.
  3857. *
  3858. * C DUMP THE CONTROL POINTS FIELD LENGTH IN *C* FORMAT.
  3859. *
  3860. * D DUMP FIELD LENGTH IN *D* FORMAT.
  3861. *
  3862. * E DUMP FIELD LENGTH IN *E* FORMAT.
  3863. *
  3864. * G DUMP THE CONTROL POINT AREA IN *C* FORMAT.
  3865. *
  3866. * H DUMP THE CONTROL POINT AREA IN *D* FORMAT.
  3867. *
  3868. * I DUMP THE CONTROL POINT AREA IN *E* FORMAT.
  3869. *
  3870. * M DUMP USER EXTENDED MEMORY FIELD LENGTH IN *D* FORMAT.
  3871. *
  3872. * N DUMP NEGATIVE FIELD LENGTH IN *D* FORMAT.
  3873. *
  3874. * P DUMP AND ANALYZE ALL ACTIVE PPUS ASSOCIATED WITH THE
  3875. * CONTROL POINT.
  3876. *
  3877. * IF OPS IS NOT SPECIFIED, THE DEFAULT VALUE *XTAF* IS USED.
  3878. * THE DEFAULT MAY BE CHANGED WITH THE *CPO* DIRECTIVE. WHEN
  3879. * SPECIFIED, OPS APPLIES ONLY TO THE CONTROL POINT NUMBER
  3880. * WITH WHICH IT IS ASSOCIATED ON THE DIRECTIVE STATEMENT.
  3881. *
  3882. * FOR TERMINAL OUTPUT, THE COMMAND FORMAT IS -
  3883. *
  3884. * CP.
  3885. *
  3886. * CP/PCP NUMBER AND CPA/PCPA ADDRESS ARE LISTED FOR EACH
  3887. * CONTROL POINT AND PSEUDO-CONTROL POINT.
  3888. *
  3889. * NONE OF THE LIST OPTIONS ARE EXCLUSIVE, I.E., IF BOTH *D* AND
  3890. * *E* ARE SPECIFIED, FIELD LENGTH IS DUMPED TWICE, ONCE IN *D*
  3891. * FORMAT AND ONCE IN *E* FORMAT.
  3892.  
  3893.  
  3894. CP DATA 0LCP
  3895.  
  3896. SX6 0
  3897. SA6 FW SET CPA FWA - CPLEN
  3898. SA6 OP SET NO OFFSET
  3899. SA1 TF
  3900. NZ X1,CPTN IF TERMINAL OUTPUT
  3901. CPP0 RJ BCP BEGIN CONTROL POINT DUMP
  3902. RJ LDC
  3903. CPP1 RJ SCP SELECT NEXT CONTROL POINT TO DUMP
  3904. ZR X1,DSD1 IF NO MORE TO DUMP
  3905. SA1 PI
  3906. BX6 X1
  3907. SA6 CPPA SAVE POINTER INDEX
  3908. RJ DCP DUMP SELECTED CONTROL POINT
  3909. SA1 CPPA
  3910. BX6 X1
  3911. SA6 PI RESTORE POINTER INDEX
  3912. JP CPP1 CONTINUE
  3913.  
  3914. CPPA BSS 1 POINTER INDEX
  3915.  
  3916. * TERMINAL OUTPUT PROCESSOR.
  3917.  
  3918. CPTN SA2 NC SET LAST CP NUMBER + 1
  3919. SX2 X2+2
  3920. CPN0 LX2 7 COMPUTE CPA/PCPA LWA+1
  3921. IX6 X6+X2 ADD PCPA OFFSET
  3922. SA6 LW
  3923. SA5 FW PRESET CONTROL POINT AREA ADDRESS
  3924. SX5 X5+CPLEN
  3925. CPN1 PRINT (=2C )
  3926. RJ PEC PRINT EIGHT CONTROL POINTS
  3927. SA1 LW
  3928. IX1 X5-X1
  3929. NG X1,CPN1 IF MORE CONTROL POINTS TO PROCESS
  3930. SA2 OP
  3931. NZ X2,DSD1 IF THROUGH DUMPING PCP-S
  3932. SA1 F.TCMT GET PCPA FWA
  3933. SA1 X1+PCPP
  3934. SA3 LW SET PCPA OFFSET
  3935. SX5 X1
  3936. IX6 X5-X3
  3937. ZR X5,DSD1 IF NO PCP-S DEFINED
  3938. SA6 A2
  3939. SA2 ME SET NEW LWA+1
  3940. LX2 7
  3941. IX6 X2+X6 ADD PCPA OFFSET
  3942. SA6 A3
  3943. EQ CPN1 DISPLAY PCP-S
  3944. CPO SPACE 4,4
  3945. *** CPO,OPS.
  3946. *
  3947. * RESET THE DEFAULT LIST OPTION STRING FOR CONTROL POINT
  3948. * DUMPS TO *OPS*.
  3949.  
  3950.  
  3951. CPO DATA 0LCPO
  3952.  
  3953. RJ ASN ASSEMBLE OPTION STRING
  3954. SA6 CO UPDATE DEFAULT OPTION LIST
  3955. JP DSD1 RETURN
  3956. CT SPACE 4,10
  3957. *** CT.
  3958. *
  3959. * DUMP CHANNEL TABLES IN *D* FORMAT.
  3960.  
  3961.  
  3962. CT DATA 0LCT
  3963.  
  3964. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  3965. SA1 F.TCMT GET FWA OF CTIL TABLE
  3966. SA2 X1+CHTP
  3967. AX2 12
  3968. SX6 X2
  3969. SX7 X6+CTALL GET LWA+1 OF CTIL TABLE
  3970. SX5 =C* CHANNEL STATUS TABLE*
  3971. SB3 B1 SET *D* FORMAT
  3972. IX4 X6+X1 SET ADDRESS OF READ FROM CORE
  3973. RJ DTB DUMP CTIL TABLE
  3974. SB3 -B1 SET NO PAGE EJECT
  3975. SA1 CPRA+1 GET FWA OF EJTA TABLE
  3976. BX6 X1
  3977. SX7 X6+CTALL GET LWA+1 OF EJTA TABLE
  3978. SX5 =C* EJT ASSIGNMENT TABLE*
  3979. SA1 F.TCMT SET ADDRESS OF READ FROM CORE
  3980. IX4 X6+X1
  3981. RJ DTB DUMP EJTA TABLE
  3982. SB3 -B1 SET NO PAGE EJECT
  3983. SA1 CPRA+1 GET FWA OF CCTL TABLE
  3984. BX6 X1
  3985. SX7 X6+CTALL GET LWA+1 OF CCTL TABLE
  3986. SX5 =C* CHANNEL CONTROLWARE TABLE*
  3987. SA1 F.TCMT SET ADDRESS OF READ FROM CORE
  3988. IX4 X6+X1
  3989. RJ DTB DUMP CCTL TABLE
  3990. EQ DSD1 RETURN
  3991. D SPACE 4,9
  3992. *** D,FWA,LWA+1.
  3993. *
  3994. * DUMP MEMORY IN BYTE FORMAT WITH DISPLAY CODE INTERPRETATION.
  3995. * WORDS ARE LISTED COLUMNWISE WITH THREE COLUMNS PER
  3996. * PAGE. REPETITIVE DATA IS SUPPRESSED.
  3997. *
  3998. * FOR TERMINAL OUTPUT, DATA IS LISTED ONE WORD PER LINE
  3999. * WITH DISPLAY CODE INTERPRETATION AND NO PAGINATION IS
  4000. * PROCESSED.
  4001.  
  4002.  
  4003. D DATA 0LD
  4004.  
  4005. SA1 EE
  4006. NZ X1,ERR5 IF EXTENDED MEMORY ERROR FLAG SET
  4007. SA1 TF
  4008. NZ X1,DTN IF TERMINAL OUTPUT
  4009. SX6 1 *D* FORMAT CODE
  4010. JP CPR1 PROCESS DUMP
  4011.  
  4012. * TERMINAL OUTPUT PROCESSOR.
  4013.  
  4014. DTN SA1 =4000005B FORMAT PARAMETERS
  4015. JP CTN1 PROCESS DUMP
  4016. DAYFILE SPACE 4,10
  4017. *** DAYFILE.
  4018. *
  4019. * DUMP THE SYSTEM DAYFILE BUFFER IN *E* FORMAT.
  4020. * ALSO, DUMP THE CURRENT BUFFER LINE BY LINE.
  4021.  
  4022.  
  4023. DAYFILE DATA 0LDAYFILE
  4024.  
  4025. SX7 B0
  4026. EQ ACN1 DUMP SYSTEM DAYFILE
  4027. DB SPACE 4,10
  4028. *** DB.
  4029. * DUMP ALL ACTIVE DISK BUFFERS, USING MACHINE ID FROM LOW CORE
  4030. * ON DUMP FILE.
  4031. *
  4032. * DB,ID.
  4033. * DUMP ALL ACTIVE DISK BUFFERS, USING MACHINE ID ON DIRECTIVE.
  4034. *
  4035. * DB,,D1,D2,...,DN.
  4036. * DUMP SELECTED DISK BUFFERS, USING MACHINE ID FROM LOW CORE
  4037. * ON DUMP FILE.
  4038. *
  4039. * DB,ID,D1,D2,...,DN.
  4040. * DUMP SELECTED DISK BUFFERS, USING MACHINE ID ON DIRECTIVE.
  4041.  
  4042.  
  4043. DB DATA 0LDB
  4044.  
  4045. RJ LDC LIST DIRECTIVE
  4046. RJ SCM SET CENTRAL MEMORY
  4047. SX6 B0
  4048. RJ SRA SET REFERENCE ADDRESS
  4049. SA2 F.TCMT
  4050. SA1 X2+BIOL
  4051. AX1 24
  4052. SX1 X1
  4053. ZR X1,ERR34 IF NO BUFFERED DEVICES DEFINED
  4054. SX6 X1+/HIO/CBTP
  4055. SA6 CPRA
  4056. SB2 A6
  4057. RJ POM POSITION TO *BDT* ENTRY
  4058. GETCM
  4059. SA6 BE STORE *BDT* ENTRY FOR *CBT*
  4060. RJ ASN GET NEXT PARAMETER
  4061. BX5 X6
  4062. NG B6,DBR1 IF MACHINE ID ON DIRECTIVE
  4063. SA2 F.TCMT
  4064. SA1 X2+MMFL GET MACHINE ID FROM LOW CORE
  4065. MX0 12
  4066. BX5 X0*X1
  4067. DBR1 RJ FFD FIND FWA OF DISK BUFFER AREA
  4068. SX6 B1 SET *D* FORMAT
  4069. SA6 CPRA+4
  4070. SB7 B0 ASSUME OCTAL BASE
  4071. RJ ASD GET NEXT PARAMETER
  4072. SX5 0 PRESET FOR NO ACTIVE DISK BUFFERS
  4073. NG B6,DBR5 IF SELECTED DISK BUFFERS TO BE DUMPED
  4074. GT B6,ERR6 IF NULL DISK BUFFER NUMBER
  4075.  
  4076. * DUMP ALL ACTIVE DISK BUFFERS.
  4077.  
  4078. SX6 0
  4079. SA6 DBRA PRESET ENTRY NUMBER
  4080. DBR2 SA3 DBRA INCREMENT ENTRY NUMBER
  4081. SX6 X3+B1
  4082. SA6 A3
  4083. RJ SCM SET CENTRAL MEMORY
  4084. SA4 A3 GET NEXT ENTRY NUMBER
  4085. RJ CLE CHECK IF LAST ENTRY
  4086. NG X3,DBR3 IF MORE BUFFERS TO DUMP
  4087. NZ X5,DSD1 IF ACTIVE DISK BUFFERS DUMPED
  4088. EQ ERR37 *NO ACTIVE DISK BUFFERS.*
  4089.  
  4090. DBR3 SA3 BE GET FWA OF *CBT* ENTRY
  4091. SX3 X3
  4092. IX6 X0+X3
  4093. SA6 CPRA
  4094. SB2 A6+
  4095. RJ POM POSITION TO *CBT* ENTRY
  4096. GETCM BUF,/HIO/CBTL READ ENTRY INTO CORE
  4097.  
  4098. * THE FOLLOWING TEST MUST BE CHANGED TO DUMP
  4099. * DISK BUFFERS UNDER DIFFERENT CONDITIONS.
  4100.  
  4101. SA1 BUF+/HIO/LSLK TEST ACTIVE COUNT IN *CBT* ENTRY
  4102. AX1 48
  4103. ZR X1,DBR2 IF EMPTY DISK BUFFER
  4104.  
  4105. SA2 =11HDISK BUFFER
  4106. SB6 12
  4107. SA1 DBRA GET ENTRY NUMBER
  4108. LX1 -12
  4109. RJ PEN PRINT ENTRY NUMBER
  4110. RJ SEC SET EXTENDED MEMORY
  4111. SA4 DBRA DISK BUFFER NUMBER
  4112. SX4 X4-1 ALLOW FOR NO ENTRY ZERO
  4113. SX2 /HIO/LSLB
  4114. LX2 6
  4115. IX4 X2*X4 RELATIVE DISK BUFFER FWA ON DUMP FILE
  4116. SA1 DA DISK BUFFER AREA FWA
  4117. IX6 X1+X4
  4118. IX7 X6+X2
  4119. SA6 CPRA STORE DISK BUFFER FWA
  4120. SA7 A6+B1 STORE DISK BUFFER LWA+1
  4121. SB2 A6
  4122. RJ POM POSITION TO DISK BUFFER FWA
  4123. SB2 CPRA
  4124. RJ PMD DUMP DISK BUFFER
  4125. PRINT (=2C )
  4126. SX5 B1 INDICATE ACTIVE DISK BUFFER EXISTS
  4127. EQ DBR2 CHECK NEXT BUFFER
  4128.  
  4129. * DUMP SELECTED DISK BUFFERS.
  4130.  
  4131. DBR4 SB7 B0 ASSUME OCTAL BASE
  4132. RJ ASD GET NEXT ENTRY NUMBER
  4133. ZR B6,DSD1 IF NO MORE BUFFERS TO DUMP
  4134. DBR5 NZ X4,ERR6 IF CONVERSION ERROR
  4135. ZR X6,ERR38 IF INCORRECT DISK BUFFER NUMBER
  4136. SA6 DBRA
  4137. SX4 X6
  4138. RJ CLE CHECK IF VALID ENTRY NUMBER
  4139. PL X3,ERR38 IF INCORRECT DISK BUFFER NUMBER
  4140. SX1 X4 GET ENTRY NUMBER
  4141. LX1 -12
  4142. SA2 =11HDISK BUFFER
  4143. SB6 12
  4144. RJ PEN PRINT ENTRY NUMBER
  4145. SA2 DA
  4146. SA4 DBRA GET ENTRY NUMBER
  4147. SX4 X4-1 ALLOW FOR NO ENTRY ZERO
  4148. SX1 /HIO/LSLB
  4149. LX1 6
  4150. IX4 X1*X4 RELATIVE DISK BUFFER FWA IN DUMP FILE
  4151. IX6 X4+X2
  4152. IX7 X1+X6
  4153. SA6 CPRA STORE DISK BUFFER FWA
  4154. SA7 A6+B1 STORE DISK BUFFER LWA+1
  4155. SB2 A6
  4156. RJ POM POSITION TO DISK BUFFER
  4157. SB2 CPRA
  4158. RJ PMD DUMP DISK BUFFER
  4159. PRINT (=2C )
  4160. EQ DBR4 CHECK NEXT ENTRY NUMBER
  4161.  
  4162. DBRA BSS 1 DISK BUFFER NUMBER
  4163. DBW SPACE 4,10
  4164. *** DBW.
  4165. * PRINT BUFFERED DEVICE TABLE LIST CONTROL WORDS, BUFFER
  4166. * STATISTICS TABLE, AND PP - I/O BUFFER LINK TABLE.
  4167.  
  4168.  
  4169. DBW DATA 0LDBW
  4170.  
  4171. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  4172. RJ LDC LIST DIRECTIVE
  4173. SX6 B0
  4174. RJ SRA SET REFERENCE ADDRESS
  4175. RJ SCM SET CENTRAL MEMORY
  4176. SA1 F.TCMT
  4177. SA1 X1+BIOL
  4178. AX1 24
  4179. SX6 X1
  4180. ZR X6,ERR34 IF NO BUFFERED DEVICES DEFINED
  4181.  
  4182. * DUMP *BDT* LIST CONTROL WORDS.
  4183.  
  4184. SA6 FW SET DUMP FILE FWA
  4185. SX6 X6+/HIO/EMTP
  4186. SA6 CPRA
  4187. SB2 A6+
  4188. RJ POM POSITION TO FWA OF LIST WORDS
  4189. GETCM BUF,/HIO/BDTL-/HIO/EMTP READ LIST WORDS INTO CORE
  4190. PRINT (=2C )
  4191. PRINT (=C+ *BDT* LIST CONTROL WORDS+)
  4192. PRINT (=2C )
  4193. SA1 TLCW GET FORMAT TABLE POINTERS
  4194. SA2 FW
  4195. SB2 X2-BUF+/HIO/EMTP
  4196. SB2 -B2 SET FWA OF WORDS IN CORE
  4197. RJ GTD GENERATE DETAILED TABLE DUMP
  4198.  
  4199. * DUMP BUFFER STATISTICS TABLE.
  4200.  
  4201. PRINT (=2C )
  4202. PRINT (=2C )
  4203. PRINT (=C* BUFFER STATISTICS TABLE*)
  4204. PRINT (=2C )
  4205. SA1 F.TCMT
  4206. SA1 X1+BIOL
  4207. AX1 24
  4208. SX3 X1+/HIO/IBSP
  4209. RJ PCM POSITION TO *BDT* *IBST* ENTRY
  4210. GETCM
  4211. SX6 X6
  4212. SA6 FW STORE FWA *IBST* IN DUMP FILE
  4213. SX3 X6
  4214. RJ PCM POSITION TO FWA OF *IBST*
  4215. GETCM BUF,/HIO/IBSL READ *IBST* INTO CORE
  4216. SA1 TIBS GET FORMAT TABLE POINTERS
  4217. SA2 FW
  4218. SB2 X2-BUF
  4219. SB2 -B2 SET FWA OF *IBST* IN CORE
  4220. RJ GTD GENERATE DETAILED TABLE DUMP
  4221.  
  4222. * DUMP PP - I/O BUFFER LINK TABLE.
  4223.  
  4224. PRINT (=2C )
  4225. PRINT (=2C )
  4226. PRINT (=C* PP - I/O BUFFER LINK TABLE*)
  4227. PRINT (=2C )
  4228. SA1 F.TCMT
  4229. SA1 X1+BIOL
  4230. AX1 24
  4231. SX3 X1+/HIO/PLTP
  4232. RJ PCM POSITION TO *BDT* *PLT* ENTRY
  4233. GETCM
  4234. SX6 X6
  4235. SA6 FW STORE FWA OF LINK TABLE IN DUMP FILE
  4236. SX3 X6
  4237. RJ PCM POSITION TO FWA OF LINK TABLE
  4238. GETCM BUF,/HIO/PLTL READ *PLT* INTO CORE
  4239. SA1 TPLT GET FORMAT TABLE POINTERS
  4240. SA2 FW
  4241. SB2 X2-BUF
  4242. SB2 -B2 SET FWA OF *PLT* IN CORE
  4243. RJ GTD GENERATE DETAILED TABLE DUMP
  4244. EQ DSD1 RETURN
  4245. DDB SPACE 4,3
  4246. *** DDB.
  4247. *
  4248. * DUMP DAYFILE DUMP BUFFER IN *D* FORMAT.
  4249.  
  4250.  
  4251. DDB DATA 0LDDB
  4252.  
  4253. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  4254. SA1 F.TCMT
  4255. SA2 X1+DFPP
  4256. LX2 -12
  4257. SX6 X2 FWA DAYFILE DUMP BUFFER
  4258. SX7 X6+DFDS
  4259. SX5 =C* DAYFILE DUMP BUFFER*
  4260. SB3 B1 SET *D* FORMAT
  4261. SX4 B0 SET READ FROM DUMP FILE
  4262. RJ DTB DUMP BUFFER
  4263. EQ DSD1 RETURN
  4264. DISPOSE SPACE 4,12
  4265. *** DISPOSE.
  4266. * DISPOSE,UN.
  4267. *
  4268. * UN = USER NAME.
  4269. *
  4270. * DISPOSE ALTERNATE LIST FILE TO PRINT QUEUE. LIST OUTPUT
  4271. * REVERTS TO ORIGINAL OUTPUT FILE. HAS NO EFFECT IF OUTPUT
  4272. * HAS NOT BEEN ASSIGNED TO AN ALTERNATE FILE VIA THE OUTPUT
  4273. * DIRECTIVE. IF UN IS NOT SPECIFIED, THE LISTING IS PRINTED AT
  4274. * THE CENTRAL SITE. IF IT IS SPECIFIED, THE LISTING IS ROUTED
  4275. * TO THE REMOTE BATCH TERMINAL LOGGED IN UNDER THAT USER
  4276. * NUMBER.
  4277.  
  4278.  
  4279. DISPOSE DATA 0LDISPOSE
  4280.  
  4281. SA1 OF
  4282. SX1 X1-A
  4283. NZ X1,DSD1 IF ALTERNATE OUTPUT NOT ACTIVE
  4284. RECALL A
  4285. WRITER X2,R TERMINATE ALTERNATE FILE
  4286. SA1 CH CHECK DIRECTIVE CARD SEPERATOR
  4287. SA1 X1+
  4288. SX1 X1-1R.
  4289. ZR X1,DSP1 IF USER NAME NOT SPECIFIED
  4290. RJ ASN ASSEMBLE USER NAME
  4291. SA6 DSPB+1 SAVE USER NAME
  4292. SX2 FRDC+FRTI
  4293. EQ DSP2 PROCESS ROUTE
  4294.  
  4295. DSP1 SX2 FRDC+FRCS
  4296. DSP2 SA1 DSPA+1 SAVE FLAGS
  4297. MX5 42
  4298. BX7 X5*X1
  4299. BX7 X7+X2
  4300. SA7 A1
  4301. SA1 A GET FILE NAME
  4302. BX7 X5*X1
  4303. SA7 DSPA
  4304. ROUTE DSPA,R
  4305. SX6 L RESET CONTROLS
  4306. SA6 OF RESET OUTPUT FILE FET POINTER
  4307. MOVE 6,OTPA,CC RESET LIST CONTROLS
  4308. SA1 CC
  4309. BX6 X1
  4310. SA6 CCCH RESTORE CARRIAGE CONTROL CHARACTER
  4311. JP DSD1 RETURN
  4312.  
  4313.  
  4314. DSPA VFD 42/0LALTRNT,18/0
  4315. VFD 24/0,12/2HPR,6/0,18/FRDC+FRCS
  4316. VFD 36/0,24/-DSPB
  4317. BSSZ 4
  4318.  
  4319. DSPB CON 0 FAMILY
  4320. CON 0 USER NAME
  4321. DP SPACE 4,3
  4322. *** DP.
  4323. *
  4324. * DUMP DAYFILE BUFFER POINTERS IN *D* FORMAT.
  4325.  
  4326.  
  4327. DP DATA 0LDP
  4328.  
  4329. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  4330. SA1 F.TCMT
  4331. SA2 X1+DFPP
  4332. LX2 24
  4333. SX6 X2+
  4334. SB3 B1 SET *D* FORMAT
  4335. SX7 X6+3*EXDF SET LWA+1 TO BE DUMPED
  4336. SX5 =C* DAYFILE BUFFER POINTERS*
  4337. SX4 0 SET READ FROM DUMP FILE
  4338. RJ DTB DUMP BUFFER POINTERS
  4339. EQ DSD1 RETURN
  4340. E SPACE 4,4
  4341. *** E,FWA,LWA+1.
  4342. *
  4343. * DUMP MEMORY IN WORD FORMAT WITH INTERPRETATION,
  4344. * 4 WORDS PER LINE.
  4345.  
  4346.  
  4347. E DATA 0LE
  4348.  
  4349. SA1 EE
  4350. NZ X1,ERR5 IF EXTENDED MEMORY ERROR FLAG SET
  4351. SX6 2 *E* FORMAT CODE
  4352. JP CPR1 PROCESS DUMP
  4353. EC SPACE 4,15
  4354. *** EC,FWA.
  4355. * EC,EMID,FWA.
  4356. *
  4357. * SET MEMORY TYPE TO *EXTENDED MEMORY*. SUBSEQUENT C, D AND
  4358. * E DIRECTIVES APPLY TO EXTENDED MEMORY/LCME.
  4359. *
  4360. * EMID - SET TYPE OF EXTENDED MEMORY FOR CYBER 170-865/875.
  4361. * *UEM* SETS MEMORY TYPE TO UEM, *ESM* SETS TYPE TO ESM.
  4362. * IF OMITTED, THE DEFAULT IS UEM FOR 800 SERIES MAINFRAMES,
  4363. * AND ESM FOR ALL OTHERS, INCLUDING CYBER 170-865/875.
  4364. *
  4365. * FWA - FIRST WORD ADDRESS/1000B FOR UEM.
  4366. * IF OMITTED, THE FIRST WORD ADDRESS FOR UEM IS OBTAINED
  4367. * FROM THE *UEML* WORD IN CMR FOR A CYBER 170-8X5.
  4368.  
  4369.  
  4370. EC DATA 0LEC
  4371.  
  4372. RJ LDC LIST DIRECTIVE CARD
  4373. SA1 .ECS
  4374. MX0 18
  4375. SEARCH TDIR,X1,X0
  4376. NZ X2,ECB1 IF EXTENDED MEMORY RECORD FOUND
  4377. SA1 CH SAVE STRING POINTER
  4378. BX6 X1
  4379. SA6 ECBA
  4380. RJ ASN ASSEMBLE PARAMETER
  4381. ZR X6,ECB0 IF NULL PARAMETER
  4382. SA2 =3LUEM
  4383. BX5 X6-X2
  4384. ZR X5,ECB0 IF UEM SPECIFIED
  4385. SA2 =3LESM
  4386. BX5 X6-X2
  4387. ZR X5,ECB1 IF ESM SPECIFIED
  4388. SA1 ECBA SET POINTER TO RE-READ FWA
  4389. BX6 X1
  4390. SA6 CH
  4391. ECB0 SA1 CE
  4392. ZR X1,ECB1 IF NO CM EXTENSION (ERROR)
  4393. RJ SEM SET UNIFIED EXTENDED MEMORY (UEM)
  4394. PL X3,ECB1 IF NO UEM DEFINED (ERROR)
  4395. SA6 US+1 SET USER CONTROLLED MEMORY NAME (SUBTITLE)
  4396. SA7 UI SET USER CONTROLLED RANDOM INDEX
  4397. SB7 B0+ SET OCTAL BASE
  4398. RJ ASD ASSEMBLE FWA FROM EC DIRECTIVE
  4399. ZR X6,DSD1 IF DEFAULT UEM BASE ADDRESS
  4400. LX6 9
  4401. SA6 MB
  4402. EQ DSD1 RETURN
  4403.  
  4404. ECB1 RJ SEC SET EXTENDED CORE STORAGE
  4405. SA6 US+1 SET USER CONTROLLED MEMORY NAME (SUBTITLE)
  4406. SA7 UI SET USER CONTROLLED MEMORY RANDOM INDEX
  4407. JP DSD1 RETURN
  4408.  
  4409. ECBA CON 0 STRING POINTER
  4410. EICB SPACE 4,10
  4411. *** EICB.
  4412. *
  4413. * DUMP THE EI COMMUNICATIONS BLOCK WITH INTERPRETATION
  4414. * OF THE VARIOUS FIELDS. IF THE DFT/OS BUFFER IS PRESENT,
  4415. * IT WILL BE DUMPED IN 64-BIT *I* FORMAT.
  4416.  
  4417.  
  4418. EICB DATA 0LEICB
  4419.  
  4420. RJ LDC LIST DIRECTIVE
  4421. SA1 ED
  4422. ZR X1,EIC2 IF *EDD* DUMP
  4423. SA1 .DSB CHECK FOR *DSB* RECORD
  4424. MX0 18
  4425. SEARCH TDIR,X1,X0
  4426. NZ X2,EIC1 IF FOUND
  4427. SA1 .EIB CHECK FOR *EIB* RECORD
  4428. MX0 18
  4429. SEARCH TDIR,X1,X0
  4430. ZR X2,ERR14 IF NOT FOUND
  4431. EIC1 SA2 A2+B1 SET RANDOM INDEX
  4432. BX6 X2
  4433. SA6 RI
  4434. SX3 0
  4435. EQ EIC3 FORMAT RECORD CONTENTS
  4436.  
  4437. EIC2 RJ SCM SET CENTRAL MEMORY
  4438. SA7 RI
  4439. SA1 F.TCMT FETCH EICB POINTER
  4440. SA3 X1+EIBP
  4441. MX1 -32
  4442. BX3 -X1*X3
  4443. ZR X3,ERR21 IF NO EICB POINTER
  4444. EIC3 RJ PCM POSITION CENTRAL MEMORY
  4445. GETCM BUF,/VE/DSCBL
  4446. SX6 /VE/D7TY SET FIRST WORD OF BLOCK
  4447. SA6 FW
  4448. SB2 BUF
  4449. SA1 TFEB
  4450. RJ GTD GENERATE DETAILED TABLE DUMP
  4451. RJ DFT PROCESS DFT/OS BUFFER
  4452. JP DSD1 RETURN
  4453. EJ SPACE 4,9
  4454. *** EJ.
  4455. * FORCE EJECT FOR NEXT DIRECTIVE.
  4456. *
  4457. * EJ,NN.
  4458. * FORCE PAGE EJECT ONLY IF LESS THAN NN LINES REMAINING
  4459. * ON THE CURRENT PAGE. NN IS DECIMAL.
  4460. *
  4461. * THE *EJ.* FUNCTION IS AUTOMATIC UNLESS TURNED OFF BY AN
  4462. * *EJOFF.* DIRECTIVE.
  4463.  
  4464.  
  4465. EJ DATA 0LEJ
  4466.  
  4467. SA1 CH CHECK SEPARATOR
  4468. SA1 X1+
  4469. SX2 X1-1R.
  4470. SX1 100 PRESET BIG LINE COUNT FOR EJECT
  4471. ZR X2,EJP1 IF LINE COUNT NOT SPECIFIED
  4472. SB7 1 SET DECIMAL BASE
  4473. RJ ASD ASSEMBLE NN
  4474. NZ X4,ERR6 IF CONVERSION ERROR
  4475. SX1 X6+ SET LINE COUNT
  4476. EJP1 RJ CPS CHECK REMAINING PAGE SPACE
  4477. JP DSD1 RETURN
  4478. EJOFF SPACE 4,3
  4479. *** EJOFF.
  4480. *
  4481. * TURN OFF AUTO PAGE EJECT FOR EACH DIRECTIVE.
  4482.  
  4483.  
  4484. EJOFF DATA 0LEJOFF
  4485.  
  4486. SX6 1
  4487. EFO1 SA6 EF UPDATE AUTO EJECT FLAG
  4488. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  4489. JP DSD1 RETURN
  4490. EJON SPACE 4,3
  4491. *** EJON.
  4492. *
  4493. * TURN ON AUTO EJECT FOR EACH DIRECTIVE (DEFAULT).
  4494.  
  4495.  
  4496. EJON DATA 0LEJON
  4497.  
  4498. SX6 0
  4499. JP EFO1
  4500. EJT SPACE 4,10
  4501. *** EJT.
  4502. *
  4503. * DUMP EXECUTING JOB TABLE WITH INTERPRETATION.
  4504.  
  4505.  
  4506. EJT DATA 0LEJT
  4507.  
  4508. STBL EJT
  4509. SX5 =C* EXECUTING JOB TABLE*
  4510. RJ DTI DUMP TABLE WITH INTERPRETATION
  4511. EQ DSD1 RETURN
  4512. EPB SPACE 4,3
  4513. *** EPB.
  4514. *
  4515. * DUMP EXTENDED MEMORY/PP BUFFER IN *D* FORMAT.
  4516.  
  4517.  
  4518. EPB DATA 0LEPB
  4519.  
  4520. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  4521. RJ SCM SET CENTRAL MEMORY
  4522. SA1 F.TCMT
  4523. SA2 X1+EPBP
  4524. SX6 X2 FWA EXTENDED MEMORY/PP BUFFER
  4525. SX4 B0 SET READ FROM DUMP FILE
  4526. ZR X6,ERR21 IF NO EXTENDED MEMORY/PP BUFFER
  4527. MX0 -6 GET BUFFER COUNT
  4528. AX2 18
  4529. SX7 102B LENGTH OF BUFFER
  4530. BX2 -X0*X2
  4531. IX2 X2*X7
  4532. IX7 X6+X2 LWA+1
  4533. SB3 B1 SET *D* FORMAT
  4534. SX5 =C* EXTENDED MEMORY/PP BUFFER*
  4535. RJ DTB DUMP BUFFER
  4536. EQ DSD1 RETURN
  4537. ERRLOG SPACE 4,3
  4538. *** ERRLOG.
  4539. *
  4540. * DUMP THE ERRLOG DAYFILE BUFFER IN *E* FORMAT.
  4541. * ALSO, DUMP THE CURRENT BUFFER LINE BY LINE.
  4542.  
  4543.  
  4544. ERRLOG DATA 0LERRLOG
  4545.  
  4546. SX7 -2
  4547. JP ACN1
  4548. EST SPACE 4,3
  4549. *** EST.
  4550. *
  4551. * DUMP EQUIPMENT STATUS TABLE WITH INTERPRETATION.
  4552.  
  4553.  
  4554. EST DATA 0LEST
  4555.  
  4556. STBL EST SET UP TABLE POINTERS
  4557. SX5 =C* EQUIPMENT STATUS TABLE*
  4558. RJ DTI DUMP TABLE WITH INTERPRETATION
  4559. EQ DSD1 RETURN
  4560. FMFREG SPACE 4,10
  4561. *** FMFREG.
  4562. *
  4563. * DUMP PP REGISTERS STORED IN *1MB* WHILE PROCESSING A FATAL
  4564. * MAINFRAME ERROR. *1MB* PLACES THE BUFFER ADDRESS IN (IR+4).
  4565.  
  4566.  
  4567. FMFREG DATA 0LFMFREG
  4568.  
  4569. RJ LDC LIST DIRECTIVE
  4570. PRINT (=C* PP P Q K A*)
  4571. PRINT (=C* *)
  4572. RJ SSB SET STRING BUFFER TO SPACES
  4573. SX6 B0+ SET *FPP* ENTRY CONDITION
  4574. SA6 FI
  4575. SA6 FMFA INITIALIZE PP NUMBER
  4576.  
  4577. * LOCATE *1MB* PP AND SET BUFFER ADDRESS.
  4578.  
  4579. SX4 3R1MB
  4580. LX4 42
  4581. RJ FPP FIND *1MB* PP
  4582. SA6 //PP SET PP NUMBER
  4583. ZR X1,ERR7 IF *1MB* NOT FOUND
  4584. RJ RPD READ *1MB* PP MEMORY INTO *PBUF*
  4585. SX1 IR+4 FIND BUFFER ADDRESS IN *1MB*
  4586. RJ RPB READ PP BYTE
  4587. ZR X6,ERR15 IF BUFFER POINTER NOT SET
  4588. LX6 12
  4589. SB4 X6 SAVE BUFFER FWA
  4590.  
  4591. * STORE PP NUMBER IN STRING BUFFER.
  4592.  
  4593. FMF1 SA1 FMFA SET PP NUMBER
  4594. SX2 X1-12B
  4595. NG X2,FMF2 IF IN LOWER PP BANK
  4596. SX1 X1+20B-12B
  4597. FMF2 SB6 2
  4598. SB7 PRBF+4 SET STRING BUFFER ADDRESS
  4599. LX1 54
  4600. RJ CTS CONVERT TO STRING BUFFER
  4601.  
  4602. * STORE *P* REGISTER.
  4603.  
  4604. SX1 B4+1 READ *P* FROM *1MB* BUFFER
  4605. RJ RPB READ PP BYTE
  4606. BX1 X6
  4607. SB6 4
  4608. SB7 PRBF+8
  4609. RJ CTS CONVERT TO STRING BUFFER
  4610.  
  4611. * STORE *Q* REGISTER.
  4612.  
  4613. SX1 B4+3 READ *Q* FROM *1MB* BUFFER
  4614. RJ RPB READ PP BYTE
  4615. BX1 X6
  4616. SB6 4
  4617. SB7 PRBF+14
  4618. RJ CTS CONVERT TO STRING BUFFER
  4619.  
  4620. * STORE *K* REGISTER.
  4621.  
  4622. SX1 B4+4 PROCESS UPPER 6 BITS OF *K*
  4623. RJ RPB READ PP BYTE
  4624. BX1 X6
  4625. SB6 2
  4626. LX1 6
  4627. SB7 PRBF+20
  4628. RJ CTS CONVERT TO STRING BUFFER
  4629. SX1 B4+5 PROCESS LOWER 12 BITS OF *K*
  4630. RJ RPB READ PP BYTE
  4631. BX1 X6
  4632. SB6 4
  4633. SB7 PRBF+22
  4634. RJ CTS CONVERT TO STRING BUFFER
  4635.  
  4636. * STORE *A* REGISTER.
  4637.  
  4638. SX1 B4+6 PROCESS UPPER 6 BITS OF *A*
  4639. RJ RPB READ PP BYTE
  4640. BX1 X6
  4641. SB6 2
  4642. LX1 6
  4643. SB7 PRBF+28
  4644. RJ CTS CONVERT TO STRING BUFFER
  4645. SX1 B4+7 PROCESS LOWER 12 BITS OF *A*
  4646. RJ RPB READ PP BYTE
  4647. BX1 X6
  4648. SB6 4
  4649. SB7 PRBF+30
  4650. RJ CTS CONVERT TO STRING BUFFER
  4651.  
  4652. * PRINT DATA FOR ONE PP.
  4653.  
  4654. SX6 B4+8 SAVE *1MB* BUFFER ADDRESS
  4655. SA6 FMFB
  4656. PRINT PRBF,B7-PRBF PRINT COMPLETED PP REGISTER LINE
  4657. SA1 FMFA INCREMENT PP NUMBER
  4658. SX6 X1+1
  4659. SA2 FMFB RESTORE *1MB* BUFFER ADDRESS
  4660. SB4 X2
  4661. SA3 NP
  4662. SA6 A1
  4663. IX3 X6-X3
  4664. NG X3,FMF1 IF MORE PP-S TO PROCESS
  4665. JP DSD1 RETURN
  4666.  
  4667. FMFA BSS 1 PP COUNTER
  4668. FMFB BSS 1 *1MB* BUFFER ADDRESS SAVE AREA
  4669. FNT SPACE 4,3
  4670. *** FNT.
  4671. *
  4672. * DUMP FILE NAME TABLE WITH INTERPRETATION.
  4673.  
  4674.  
  4675. FNT DATA 0LFNT
  4676.  
  4677. STBL FNT SET TABLE POINTERS
  4678. SX5 =C* SYSTEM FILENAME TABLE*
  4679. RJ DTI DUMP TABLE WITH INTERPRETATION
  4680. EQ DSD1 RETURN
  4681. FOT SPACE 4,10
  4682. *** FOT.
  4683. *
  4684. * DUMP FAMILY ORDINAL TABLE IN *D* FORMAT.
  4685.  
  4686.  
  4687. FOT DATA 0LFOT
  4688.  
  4689. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  4690. SA1 F.TCMT
  4691. SA2 X1+FOTP SET TABLE POINTER
  4692. LX2 24
  4693. SX6 X2 FWA OF TABLE
  4694. LX2 12
  4695. MX0 -12
  4696. BX2 -X0*X2 MAXIMUM NUMBER OF TABLE ENTRIES
  4697. IX7 X6+X2 LWA+1 OF TABLE
  4698. SB3 B1 SET *D* FORMAT
  4699. SX4 B0 SET READ FROM DUMP FILE
  4700. SX5 =C* FAMILY ORDINAL TABLE*
  4701. RJ DTB DUMP TABLE
  4702. EQ DSD1 RETURN
  4703. FTT SPACE 4,10
  4704. *** FTT.
  4705. * DUMP ALL NONZERO FUNCTION TIMEOUT TABLE ENTRIES.
  4706. *
  4707. * FTT,E1,E2,...,EN.
  4708. * DUMP SELECTED FUNCTION TIMEOUT TABLE ENTRIES.
  4709.  
  4710.  
  4711. FTT DATA 0LFTT
  4712.  
  4713. SX5 =C* FUNCTION TIMEOUT TABLE*
  4714. SX6 TFTE SET FORMAT TABLE POINTERS ADDRESS
  4715. SX7 =4HFFT SET TABLE NAME ADDRESS
  4716. SB2 /HIO/FTTP SET BUFFERED DEVICE TABLE INDEX
  4717. RJ DBT DUMP *FTT*
  4718. EQ DSD1 RETURN
  4719. HAT SPACE 4,10
  4720. *** HAT.
  4721. * DUMP ALL NONZERO HASH TABLE ENTRIES.
  4722. *
  4723. * HAT,E1,E2,...,EN.
  4724. * DUMP SELECTED HASH TABLE ENTRIES.
  4725.  
  4726.  
  4727. HAT DATA 0LHAT
  4728.  
  4729. SX5 =C* HASH TABLE*
  4730. SX6 THAE SET FORMAT TABLE POINTERS ADDRESS
  4731. SX7 =4HHAT SET TABLE NAME ADDRESS
  4732. SB2 /HIO/HATP SET BUFFERED DEVICE TABLE INDEX
  4733. RJ DBT DUMP *HAT*
  4734. EQ DSD1 RETURN
  4735. II SPACE 4,25
  4736. *** I,HFBN,HLBN,ASID.
  4737. *
  4738. * DUMP 64-BIT MEMORY IN INSTRUCTION PARCEL FORMAT.
  4739. *
  4740. * HFBN SPECIFIES FIRST BYTE NUMBER (HEXADECIMAL)
  4741. * TO BE DUMPED (MANDATORY).
  4742. *
  4743. * HLBN SPECIFIES LAST BYTE NUMBER PLUS ONE
  4744. * (HEXADECIMAL) TO BE DUMPED. IF HLBN IS
  4745. * OMITTED, HFBN+8 IS ASSUMED BY DEFAULT.
  4746. *
  4747. * ASID SPECIFIES THE ACTUAL SEGMENT IDENTIFIER OF
  4748. * THE MEMORY TO BE DUMPED. IF ASID=1 THEN
  4749. * HFBN AND HLBN ARE ADDRESSES WITHIN THE
  4750. * CYBER 170-8X5 ERROR INTERFACE PACKAGE. IF
  4751. * OMITTED, HFBN AND HLBN ARE REAL MEMORY
  4752. * ADDRESSES.
  4753. *
  4754. * THE I DIRECTIVE CAUSES THE SPECIFIED LOCATIONS OF
  4755. * CENTRAL MEMORY TO BE DUMPED IN FOUR GROUPS OF
  4756. * FOUR HEXADECIMAL DIGITS, THREE WORDS PER LINE
  4757. * (ONE WORD PER LINE FOR TERMINAL OUTPUT) WITH
  4758. * ASCII CHARACTER EQUIVALENTS. REPETITIVE DATA
  4759. * IS SUPPRESSED.
  4760.  
  4761.  
  4762. II DATA 0LI
  4763.  
  4764. SX6 B0
  4765. IPR1 SA6 IPRA+2 SET FORMAT CODE
  4766. RJ LDC LIST DIRECTIVE CARD
  4767. RJ GHA GET HARDWARE ADDRESS
  4768. ZR B6,ERR6 IF NOT SPECIFIED
  4769. MX0 57 FORCE MULTIPLE OF 8 BYTES
  4770. BX6 X0*X6
  4771. SA6 IPRA SET FIRST BYTE NUMBER
  4772. SX1 8
  4773. IX6 X6+X1
  4774. SA6 A6+B1 PRESET LAST BYTE + 1
  4775. RJ GHA GET SECOND HARDWARE ADDRESS
  4776. ZR B6,IPR3 IF NO SECOND PARAMETER
  4777. MX0 57 ROUND UP TO 8-BYTE MULTIPLE
  4778. SX1 7
  4779. IX6 X6+X1
  4780. BX6 X0*X6
  4781. SA6 IPRA+1 SET LAST BYTE + 1
  4782. RJ ASX CHECK FOR ASID
  4783. IPR3 SA1 IPRA CHECK CONSISTENCY
  4784. SA2 A1+B1
  4785. SB2 32
  4786. AX4 X1,B2 ISOLATE POSSIBLE ASID
  4787. AX5 X2,B2
  4788. NZ X4,IPR4 IF ASID GIVEN FOR FBA
  4789. BX4 X5
  4790. IPR4 ZR X5,IPR5 IF NO ASID GIVEN FOR LBA
  4791. BX5 X4-X5
  4792. NZ X5,ERR6 IF ASID-S DO NOT MATCH
  4793. IPR5 LX3 X6,B2
  4794. ZR X4,IPR6 IF NO ASID IN EITHER FBO, LBO
  4795. LX3 X4,B2
  4796. NZ X6,ERR6 IF ASID ALSO SPECIFICALLY GIVEN
  4797. IPR6 BX7 X2+X3
  4798. BX6 X1+X3
  4799. SA7 A2
  4800. SA6 A1
  4801. SB2 A1
  4802. RJ DSM DUMP SIXTY-FOUR BIT MEMORY
  4803. EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
  4804.  
  4805.  
  4806. IPRA BSS 0 DUMP PARAMETERS
  4807. CON 0 FIRST BYTE NUMBER
  4808. CON 0 LAST BYTE NUMBER + 1
  4809. CON 0 FORMAT CODE
  4810. IAF SPACE 4,10
  4811. *** IAF,OPS.
  4812. *
  4813. * WHERE OPS IS A STRING OF UP TO 5 CHARACTERS SELECTING
  4814. * VARIOUS DUMP OPTIONS AS FOLLOWS-
  4815. *
  4816. * C THE IAF COMMAND TABLE IS ANALYZED.
  4817. *
  4818. * E THE IAF REENTRY TABLE IS PRINTED IN BYTE FORMAT WITH
  4819. * DISPLAY CODE INTERPRETATION. EACH LINE OF TWO WORDS
  4820. * INDICATES ITS ORDINAL WITHIN THE TABLE.
  4821. *
  4822. * L THE POT LINK TABLE IS PRINTED IN BYTE FORMAT, WITH
  4823. * LINK ORDINALS PRINTED FOR EVERY FOUR LINKS. THE POTS
  4824. * ARE DUMPED, FOUR WORDS PER LINE, TWO LINES PER POT,
  4825. * WITH DISPLAY CODE INTERPRETATION.
  4826. *
  4827. * P ALL COPIES OF TLX, 1TA, 1TN, AND 1TO ARE
  4828. * ANALYZED. ALL COPIES OF 1RO AND 1RI THAT ARE
  4829. * ASSOCIATED WITH CONTROL POINTS OF IAF ORIGIN ARE
  4830. * ANALYZED.
  4831. *
  4832. * T THE IAF TERMINAL TABLE IS ANALYZED. EACH WORD OF
  4833. * THE TERMINAL TABLE IS PRINTED WITH ITS SYMBOL AND IS
  4834. * SPLIT INTO THE APPROPRIATE PARAMETER FIELDS WITH
  4835. * DESCRIPTION.
  4836. *
  4837. *
  4838. * IN ALL CASES, THE IAF CURRENT ENTRY WORD *SSPA* IS PRINTED
  4839. * FIRST IN BYTE FORMAT.
  4840. *
  4841. *
  4842. * IAF.
  4843. *
  4844. * IS EQUIVALENT TO *IAF,ETLP.*.
  4845.  
  4846.  
  4847. IAF DATA 0LIAF
  4848.  
  4849. RJ SCM SET CENTRAL MEMORY
  4850. SX3 /REM/VCPT/
  4851. SX5 IFSI
  4852. LX5 24
  4853. BX5 X5+X3
  4854. RJ ISS INITIALIZE FOR SUB-SYSTEM DUMP
  4855. GETCM SSBF,/REM/TXORG+1 READ IAF POINTERS AND *SSPA*
  4856. SX1 3
  4857. RJ CPS CHECK PAGE SPACE
  4858. SA5 IAFA
  4859. RJ PCW PRINT CONTENTS OF WORDS
  4860. SA5 IAFB
  4861. RJ DSS DUMP IAF SUBSYSTEM
  4862. JP DSD1 RETURN
  4863.  
  4864. IAFA BSS 0
  4865. VFD 36/6L*SSPA*,6/0,18//REM/TXORG
  4866. DATA 40HIAF CURRENT ENTRY
  4867. VFD 60/0
  4868.  
  4869. IAFB VFD 60/0LETLP
  4870. VFD 36/0,6/1RC,18/DTC
  4871. VFD 36/0,6/1RE,18/DTE
  4872. VFD 36/0,6/1RL,18/DTL
  4873. VFD 36/0,6/1RP,18/DTP
  4874. VFD 36/0,6/1RT,18/DTT
  4875. VFD 60/0
  4876. IOUCR SPACE 4,15
  4877. *** IOUCR.
  4878. * SPECIFIES THAT ALL CONCURRENT PP CHANNEL REGISTERS
  4879. * WILL BE PROCESSED.
  4880. *
  4881. * IOUCR,C1,C2,,,,CN.
  4882. * PROCESS THE CONCURRENT PP CHANNEL REGISTERS SPECIFIED
  4883. * ON DIRECTIVE CARD.
  4884. *
  4885. * THE *IOUCR* DIRECTIVE CAUSES THE CHANNEL NUMBER, CHANNEL
  4886. * TYPE, IOU STATUS REGISTER, T-REGISTER, FAULT STATUS MASK
  4887. * AND TEST MODE OPERAND GENERATOR (TEST SEED) TO BE PRINTED
  4888. * FOR THE THE CHANNELS SPECIFIED. THE CHANNEL NUMBER AND
  4889. * TYPE WILL BE PRINTED IN OCTAL, ALL OTHER DATA IS PRINTED
  4890. * IN HEXADECIMAL.
  4891.  
  4892.  
  4893. IOUCR DATA 0LIOUCR
  4894.  
  4895. RJ LDC LIST DIRECTIVE CARD
  4896. SX6 B0+
  4897. RJ IPD INITIALIZE FOR 16-BIT DUMP
  4898. SA1 C4
  4899. ZR X1,ERR14 IF NO *CPP* CHANNELS ON MAINFRAME
  4900.  
  4901. * OUTPUT *CCH* CHANNEL DATA HEADER.
  4902.  
  4903. PRINT (=2C )
  4904. PRINT ICRB
  4905. PRINT ICRC
  4906.  
  4907. * SELECT NEXT CHANNEL.
  4908.  
  4909. ICR1 SA1 PI
  4910. ZR X1,ICR2 IF CHANNEL NUMBERS ON DIRECTIVE CARD
  4911. SA1 //PP
  4912. SA2 C4
  4913. IX2 X1-X2
  4914. PL X2,DSD1 IF NO MORE CHANNELS TO DUMP
  4915. EQ ICR3 DUMP NEXT CHANNEL
  4916.  
  4917. ICR2 SB7 B0+
  4918. RJ ASD
  4919. ZR B6,DSD1 IF NO MORE CHANNELS TO DUMP
  4920. NZ X4,ERR6 IF CONVERSION ERROR
  4921. SA2 C4
  4922. IX7 X6-X2
  4923. PL X7,ERR6 IF CHANNEL NUMBER ERROR
  4924. SA6 //PP
  4925.  
  4926. * GET CHANNEL DATA.
  4927.  
  4928. ICR3 SA1 .CCR SEARCH FOR IOU CHANNEL RECORD
  4929. MX0 18
  4930. SEARCH TDIR,X1,X0
  4931. ZR X2,ERR14 IF RECORD ID NOT IN DIRECTORY
  4932. SA1 A2+B1
  4933. BX6 X1
  4934. SA6 RI
  4935. SA3 //PP CHANNEL NUMBER
  4936. SX1 11D
  4937. IX3 X3*X1 CONVERT TO BYTE NUMBER
  4938. RJ FBP FIND BYTE POSITION
  4939. ICR4 RJ NXB GET CHANNEL NUMBER
  4940. BX5 X1
  4941. LX5 12
  4942. RJ NXB GET CHANNEL TYPE
  4943. BX6 X5+X1
  4944. SA6 ICRD
  4945. BX5 X5-X5
  4946. SB6 6
  4947. SB7 B0+
  4948. ICR5 LX5 8
  4949. RJ NXB GET T-REGISTER DATA
  4950. BX5 X1+X5
  4951. SB7 B7+B1
  4952. NE B6,B7,ICR5 IF NOT END OF T-REGISTER
  4953. BX6 X5
  4954. SA6 ICRE
  4955. BX5 X5-X5
  4956. SB6 3
  4957. SB7 B0
  4958. MX0 -8
  4959. ICR6 LX5 8 GET FAULT MASK AND TEST SEED
  4960. SB7 B7+B1
  4961. RJ NXB
  4962. BX1 -X0*X1
  4963. BX5 X5+X1
  4964. NE B6,B7,ICR6 IF NOT END OF DATA
  4965. BX6 X5
  4966. SA6 ICRF
  4967. SA1 .IMR FETCH IOU MAINTENANCE REGISTERS RECORD
  4968. RJ RDR
  4969. ZR X2,ERR14 IF RECORD NOT FOUND
  4970. SX1 /IOU/C0CR FORM *CCH* CHANNEL STATUS REGISTER NUMBER
  4971. SA2 //PP
  4972. IX5 X1+X2
  4973. SX7 X2+B1 INCREMENT CHANNEL NUMBER
  4974. SA7 A2
  4975. RJ SFR SEARCH FOR REGISTER
  4976. NG X1,ERR14 IF REGISTER NOT FOUND
  4977. SA6 ICRA
  4978. SA7 A6+1
  4979.  
  4980. * OUTPUT *CCH* CHANNEL STATUS REGISTER DATA.
  4981.  
  4982. RJ SSB SPACE FILL STRING BUFFER
  4983. SB7 PRBF+2
  4984. SA2 ICRD SAVE CHANNEL TYPE FOR REFERENCE
  4985. MX3 -12
  4986. BX3 -X3*X2
  4987. SB2 X3
  4988. LX2 59-23
  4989. SB6 B1+B1
  4990. RJ UPS UNPACK CHANNEL NUMBER
  4991. SA2 ICRI DETERMINE CHANNEL TYPE
  4992. SA4 ICRG
  4993. SB3 X4
  4994. EQ B2,B3,ICR6.1 IF DMA/ISI CHANNEL TYPE
  4995. SA2 A2+B1
  4996. SA4 A4+B1
  4997. SB4 X4
  4998. EQ B2,B4,ICR6.1 IF DMA/170 CHANNEL TYPE
  4999. SA2 A2+B1
  5000. ICR6.1 SB7 B7+3
  5001. SB6 7
  5002. RJ UPS UNPACK CHANNEL TYPE
  5003. SB7 B7+2 PROCESS UPPER 16 BITS OF STATUS REGISTER
  5004. SA1 ICRA
  5005. MX0 12
  5006. SA2 A1+B1
  5007. BX3 X0*X2
  5008. BX1 X1+X3
  5009. SB6 4
  5010. LX1 -4
  5011. RJ HTS
  5012. SX4 2
  5013. ICR7 BX1 X2 PROCESS LOWER 48 BITS OF REGISTER
  5014. LX1 12
  5015. SX5 3
  5016. ICR8 SB7 B7+1
  5017. SB6 4
  5018. RJ HTS
  5019. SX5 X5-1
  5020. NZ X5,ICR8 IF MORE OF CURRENT REGISTER TO PROCESS
  5021. SX4 X4-1
  5022. ZR X4,ICR9 IF STATUS AND T-REGISTER PROCESSED
  5023. SA2 ICRE
  5024. SB7 B7+2
  5025. EQ ICR7 PROCESS T-REGISTER DATA
  5026.  
  5027. ICR9 SB7 B7+3 PROCESS FLAG MASK REGISTER DATA
  5028. SB6 4
  5029. SA1 ICRF
  5030. EQ B2,B3,ICR10 IF DMA/ISI TYPE CHANNEL
  5031. SA2 ICRL WRITE *N/A* IN STRING BUFFER
  5032. RJ UPS
  5033. LX1 -16 SHIFT FOR TEST MODE OPERAND GENERATOR
  5034. EQ ICR11 CONTINUE
  5035.  
  5036. ICR10 LX1 59-23
  5037. RJ HTS
  5038. ICR11 SB7 B7+7 PROCESS TEST MODE OPERAND GENERATOR
  5039. NE B2,B4,ICR12 IF NOT DMA/170 CHANNEL TYPE
  5040. SA2 ICRL
  5041. SB6 3
  5042. RJ UPS
  5043. EQ ICR13 PRINT OUTPUT
  5044.  
  5045. ICR12 SB6 2
  5046. RJ HTS
  5047. ICR13 PRINT CCCH,B7-CCCH+1
  5048. EQ ICR1 DUMP NEXT CHANNEL REGISTERS
  5049.  
  5050. ICRA CON 0 UPPER FOUR BITS OF STATUS REGISTER
  5051. CON 0 LOWER 60 BITS OF STATUS REGISTER
  5052.  
  5053. ICRB DATA 50H CHANNEL
  5054. DATA 29C FAULT TEST MODE OPERAND
  5055.  
  5056. ICRC DATA 50H NUMBER TYPE STATUS REGISTER T REGISTE
  5057. DATA 25CR MASK GENERATOR
  5058.  
  5059. ICRD CON 0 *CCH* CHANNEL NUMBER AND TYPE
  5060. ICRE CON 0 *CCH* CHANNEL T-REGISTER
  5061. ICRF CON 0 *CCH* CHANNEL FAULT MASK AND TEST SEED
  5062. ICRG CON 2R03 DMA/ISI CHANNEL FUNCTION CODE
  5063. ICRH CON 2R05 DMA/170 CHANNEL FUNCTION CODE
  5064. ICRI CON 7LDMA/ISI
  5065. ICRJ CON 7LDMA/170
  5066. ICRK CON 7LDMA/IPI
  5067. ICRL CON 4LN/A
  5068. IOUMR SPACE 4,20
  5069. *** IOUMR.
  5070. * SPECIFIES THAT ALL IOU MAINTENANCE REGISTERS SHOULD
  5071. * BE DUMPED.
  5072. *
  5073. * IOUMR,FIRST,LAST.
  5074. *
  5075. * FIRST SPECIFIES THE FIRST REGISTER (HEX) TO BE DUMPED.
  5076. * IF OMITTED, REGISTER 00 IS USED BY DEFAULT.
  5077. *
  5078. * LAST SPECIFIES THE LAST PLUS ONE REGISTER (HEX) TO BE
  5079. * DUMPED. IF OMITTED, FIRST+1 IS USED BY DEFAULT.
  5080. *
  5081. * THE *IOUMR* DIRECTIVE CAUSES THE IOU MAINTENANCE
  5082. * REGISTERS TO BE DUMPED. FOR EACH REGISTER, THE
  5083. * REGISTER NUMBER, REGISTER CONTENTS, AND REGISTER
  5084. * DESCRIPTION ARE PRINTED. FOR REGISTERS CONTAINING
  5085. * ERROR INDICATORS, DESCRIPTIONS OF ERROR INDICATORS
  5086. * SET ARE PRINTED.
  5087.  
  5088.  
  5089. IOUMR DATA 0LIOUMR
  5090.  
  5091. SA1 .IMR RECORD ID
  5092. SX7 IMRA DESCRIPTOR TABLE ADDRESS
  5093. RJ DMR DUMP MAINTENANCE REGISTERS
  5094. EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
  5095.  
  5096.  
  5097. * DESCRIPTOR FORMAT -
  5098. *
  5099. *T 9/ REGISTER,17/ BDTA,17/ 0,17/ DESCRIPTOR PTR
  5100. *
  5101. * BDTA = BIT DESCRIPTOR TABLE ADDRESS.
  5102.  
  5103. IMRA BSS 0
  5104. SXREG SSMR,(STATUS SUMMARY ),IMRB
  5105. SXREG EIMR,(ELEMENT ID )
  5106. SXREG OIMR,(OPTIONS INSTALLED )
  5107. SXREG IFSM,(FAULT STATUS MASK )
  5108. SXREG IOSB,(OS BOUNDS )
  5109. SXREG DEMR,(DEPENDENT ENV CONTROL)
  5110. SXREG ISTR,(STATUS REG )
  5111. SXREG IFS1,(FAULT STATUS 1 ),IMRC
  5112. SXREG IFS2,(FAULT STATUS 2 ),IMRD
  5113. SXREG ITMR,(TEST MODE )
  5114. SXREG OICR,(CCH OPTIONS INSTALLED),,I4A
  5115. SXREG ECCR,(CCH ENVIRONMENT CONTROL),,I4A
  5116. SXREG SRCR,(CCH STATUS REGISTER),,I4A
  5117. SXREG F1CR,(CCH FAULT STATUS 1),,I4A
  5118. SXREG F2CR,(CCH FAULT STATUS 2),,I4A
  5119. SXREG TMCR,(CCH TEST MODE),,I4A
  5120. SXREG FMCR,(CCH FAULT STATUS MASK),,I4A
  5121. SXREG OBCR,(CCH OS BOUNDS),,I4A
  5122. SXREG C0CR,(CCH CHANNEL 0 STATUS),,I4A+I4S
  5123. SXREG C1CR,(CCH CHANNEL 1 STATUS),,I4A+I4S
  5124. SXREG C2CR,(CCH CHANNEL 2 STATUS),,I4A+I4S
  5125. SXREG C3CR,(CCH CHANNEL 3 STATUS),,I4A+I4S
  5126. SXREG C4CR,(CCH CHANNEL 4 STATUS),,I4A
  5127. SXREG C5CR,(CCH CHANNEL 5 STATUS),,I4A
  5128. SXREG C6CR,(CCH CHANNEL 6 STATUS),,I4A
  5129. SXREG C7CR,(CCH CHANNEL 7 STATUS),,I4A
  5130. SXREG C8CR,(CCH CHANNEL 10 STATUS),,I4A
  5131. SXREG C9CR,(CCH CHANNEL 11 STATUS),,I4A
  5132. CON 0
  5133.  
  5134. * REG *SSMR* (STATUS SUMMARY) BIT INTERPRETATIONS.
  5135. *
  5136. * DESCRIPTOR FORMAT -
  5137. *
  5138. *T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
  5139.  
  5140. IMRB BSS 0
  5141. S2BIT 59,(SUMMARY STATUS )
  5142. S2BIT 60,(PROCESSOR HALT )
  5143. S2BIT 61,(UNCORRECTED ERROR )
  5144. S2BIT 63,(PHYS ENVIRON WARN )
  5145. CON 0
  5146.  
  5147. * REG *IFS1* (FAULT STATUS 1) BIT INTERPRETATIONS.
  5148. *
  5149. * DESCRIPTOR FORMAT -
  5150. *
  5151. *T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
  5152.  
  5153. IMRC BSS 0
  5154. S2BIT 7,(BARREL 0 PP 00 ERR )
  5155. S2BIT 6,(BARREL 0 PP 01 ERR )
  5156. S2BIT 5,(BARREL 0 PP 02 ERR )
  5157. S2BIT 4,(BARREL 0 PP 03 ERR )
  5158. S2BIT 3,(BARREL 0 PP 04 ERR )
  5159. S2BIT 15,(BARREL 0 PP 05 ERR ),S1
  5160. S2BIT 15,(BARREL 1 PP 00 ERR ),I2+I4A+I4S
  5161. S2BIT 14,(BARREL 0 PP 06 ERR ),S1
  5162. S2BIT 14,(BARREL 1 PP 01 ERR ),I2+I4A+I4S
  5163. S2BIT 13,(BARREL 0 PP 07 ERR ),S1
  5164. S2BIT 13,(BARREL 1 PP 02 ERR ),I2+I4A+I4S
  5165. S2BIT 12,(BARREL 0 PP 10 ERR ),S1
  5166. S2BIT 12,(BARREL 1 PP 03 ERR ),I2+I4A+I4S
  5167. S2BIT 11,(BARREL 0 PP 11 ERR ),S1
  5168. S2BIT 11,(BARREL 1 PP 04 ERR ),I2+I4A+I4S
  5169. S2BIT 23,(BARREL 1 PP 00 ERR ),S1
  5170. S2BIT 23,(BARREL 2 PP 00 ERR ),I2+I4A+I4S
  5171. S2BIT 22,(BARREL 1 PP 01 ERR ),S1
  5172. S2BIT 22,(BARREL 2 PP 01 ERR ),I2+I4A+I4S
  5173. S2BIT 21,(BARREL 1 PP 02 ERR ),S1
  5174. S2BIT 21,(BARREL 2 PP 02 ERR ),I2+I4A+I4S
  5175. S2BIT 20,(BARREL 1 PP 03 ERR ),S1
  5176. S2BIT 20,(BARREL 2 PP 03 ERR ),I2+I4A+I4S
  5177. S2BIT 19,(BARREL 1 PP 04 ERR ),S1
  5178. S2BIT 19,(BARREL 2 PP 04 ERR ),I2+I4A+I4S
  5179. S2BIT 31,(BARREL 1 PP 05 ERR ),S1
  5180. S2BIT 31,(BARREL 3 PP 00 ERR ),I2+I4A
  5181. S2BIT 31,(CIO PP 00 ERR ),I4S
  5182. S2BIT 30,(BARREL 1 PP 06 ERR ),S1
  5183. S2BIT 30,(BARREL 3 PP 01 ERR ),I2+I4A
  5184. S2BIT 30,(CIO PP 01 ERR ),I4S
  5185. S2BIT 29,(BARREL 1 PP 07 ERR ),S1
  5186. S2BIT 29,(BARREL 3 PP 02 ERR ),I2+I4A
  5187. S2BIT 29,(CIO PP 02 ERR ),I4S
  5188. S2BIT 28,(BARREL 1 PP 10 ERR ),S1
  5189. S2BIT 28,(BARREL 3 PP 03 ERR ),I2+I4A
  5190. S2BIT 28,(CIO PP 03 ERR ),I4S
  5191. S2BIT 27,(BARREL 1 PP 11 ERR ),S1
  5192. S2BIT 27,(BARREL 3 PP 04 ERR ),I2+I4A
  5193. S2BIT 27,(CIO PP 04 ERR ),I4S
  5194. S2BIT 32,(A/R PARITY ERR ),S1
  5195. S2BIT 32,(ERR ON 7VD0 MODULE ),S2
  5196. S2BIT 32,(ERR ON JW MODULE ),I4A
  5197. S2BIT 32,(ERR ON IIW MODULE ),I4S
  5198. S2BIT 33,(P/Q PARITY ERR ),S1
  5199. S2BIT 33,(ERR ON 7VE0 MODULE ),S2
  5200. S2BIT 33,(ERR ON KR MODULE ),I4A+I4S
  5201. S2BIT 34,(ERR ON JA MODULE ),I4A
  5202. S2BIT 34,(ERR ON LA MODULE ),I4S
  5203. S2BIT 34,(FIRMWARE ERR ),S1+I2
  5204. S2BIT 35,(ERR ON KB MODULE ),I4A+I4S
  5205. S2BIT 35,(PP MEM DATA-OUT ERR ),S1+I2
  5206. S2BIT 36,(ADU ERR ),S1
  5207. S2BIT 36,(ERR ON 7VG0 MODULE ),S2
  5208. S2BIT 36,(ERR ON JC MODULE ),I4A+I4S
  5209. S2BIT 37,(12/16 CONVERSION ERR ),S2
  5210. S2BIT 37,(ERR ON JD MODULE ),I4A+I4S
  5211. S2BIT 38,(ERR ON JE MODULE ),I4A+I4S
  5212. S2BIT 38,(PP MEM ADDR ERR ),S1+I2
  5213. S2BIT 39,(ERR ON JF MODULE ),I4A+I4S
  5214. S2BIT 39,(PP MEM DATA-IN ERR ),S1+I2
  5215. S2BIT 40,(NIO BARREL 0 SECDED ),I4A+I4S
  5216. S2BIT 41,(NIO BARREL 1 SECDED ),I4A+I4S
  5217. S2BIT 42,(NIO BARREL 2 SECDED ),I4A+I4S
  5218. S2BIT 43,(NIO BARREL 3 SECDED ),I4A
  5219. S2BIT 43,(CIO BARREL 0 SECDED ),I4S
  5220. S2BIT 44,(12/16 CONVERSION ERR ),I4A+I4S
  5221. S2BIT 45,(OS BOUNDS VIOLATION )
  5222. S2BIT 46,(OS BOUNDS ADDR PARITY ERR)
  5223. S2BIT 47,(ADU BARREL PARITY ERR),S2
  5224. S2BIT 47,(FIRMWARE ERR ),I4A+I4S
  5225. S2BIT 48,(CM READ BUFFER ERR ),S2
  5226. S2BIT 48,(RESPONSE CODE ERROR ),I4A+I4S
  5227. S2BIT 49,(UNCORRECTED CM READ ERR)
  5228. S2BIT 50,(UNCORRECTED CM WRITE ERR)
  5229. S2BIT 51,(CM REJECT )
  5230. S2BIT 52,(OUTPUT CM TAG ERR ),S1
  5231. S2BIT 52,(INPUT CM TAG ERR ),S2
  5232. S2BIT 52,(DATA IN ERR - CMI/ADU),I4A+I4S
  5233. S2BIT 53,(TAG IN ERR - CMI/ADU ),I4A+I4S
  5234. S2BIT 53,(CM RESPONSE CODE ERR ),S1+I2
  5235. S2BIT 54,(CM DATA-IN ERR ),S1
  5236. S2BIT 54,(CM DATA-OUT ERR ),S2
  5237. S2BIT 54,(DATA-OUT ERR - CMI/ADU),I4A+I4S
  5238. S2BIT 55,(CM ADDRESS-OUT ERR ),S2
  5239. S2BIT 55,(ADDR/FUNC ERR - CMI/ADU),I4A+I4S
  5240. S2BIT 56,(TAG OUT ERR - CMI/ADU),I4A+I4S
  5241. S2BIT 56,(CM DATA-IN ERR BYTE 0),S1+I2
  5242. S2BIT 57,(CMI ERR - JJ MODULE ),I4A
  5243. S2BIT 57,(CMI ERR - FJ MODULE ),I4S
  5244. S2BIT 57,(CM DATA-IN ERR BYTE 1),S1+I2
  5245. S2BIT 58,(CMI ERR - JJ MODULE ),I4A
  5246. S2BIT 58,(CMI ERR - FJ MODULE ),I4S
  5247. S2BIT 58,(CM DATA-IN ERR BYTE 2),S1+I2
  5248. S2BIT 59,(CMI ERR - JG MODULE ),I4A
  5249. S2BIT 59,(CMI ERR - FG MODULE ),I4S
  5250. S2BIT 59,(CM DATA-IN ERR BYTE 3),S1+I2
  5251. S2BIT 60,(CMI ERR - JH MODULE ),I4A
  5252. S2BIT 60,(CMI ERR - FH MODULE ),I4S
  5253. S2BIT 60,(CM DATA-IN ERR BYTE 4),S1+I2
  5254. S2BIT 61,(CMI ERR - JH MODULE ),I4A
  5255. S2BIT 61,(CMI ERR - FH MODULE ),I4S
  5256. S2BIT 61,(CM DATA-IN ERR BYTE 5),S1+I2
  5257. S2BIT 62,(CMI ERR - JH MODULE ),I4A
  5258. S2BIT 62,(CMI ERR - FH MODULE ),I4S
  5259. S2BIT 62,(CM DATA-IN ERR BYTE 6),S1+I2
  5260. S2BIT 63,(CMI ERR - JH MODULE ),I4A
  5261. S2BIT 63,(CMI ERR - FH MODULE ),I4S
  5262. S2BIT 63,(CM DATA-IN ERR BYTE 7),S1+I2
  5263. CON 0
  5264.  
  5265. * REG *IFS2* (FAULT STATUS 2) BIT INTERPRETATIONS.
  5266. *
  5267. * DESCRIPTOR FORMAT -
  5268. *
  5269. *T 9/ BIT NUMBER,17/ 0,17/ 0,17/ DESCRIPTOR PTR
  5270.  
  5271. IMRD BSS 0
  5272. S2BIT 32,(CHAN 07 ERR )
  5273. S2BIT 33,(CHAN 06 ERR )
  5274. S2BIT 34,(CHAN 05 ERR )
  5275. S2BIT 35,(CHAN 04 ERR )
  5276. S2BIT 36,(CHAN 03 ERR )
  5277. S2BIT 37,(CHAN 02 ERR )
  5278. S2BIT 38,(CHAN 01 ERR )
  5279. S2BIT 39,(CHAN 00 ERR )
  5280. S2BIT 40,(CHAN 17 ERR )
  5281. S2BIT 42,(CHAN 15 ERR )
  5282. S2BIT 44,(CHAN 13 ERR )
  5283. S2BIT 45,(CHAN 12 ERR )
  5284. S2BIT 46,(CHAN 11 ERR )
  5285. S2BIT 47,(CHAN 10 ERR )
  5286. S2BIT 48,(CHAN 27 ERR ),S1+I2+I4A
  5287. S2BIT 49,(CHAN 26 ERR ),S1+I2+I4A
  5288. S2BIT 50,(CHAN 25 ERR ),S1+I2+I4A
  5289. S2BIT 51,(CHAN 24 ERR )
  5290. S2BIT 52,(CHAN 23 ERR )
  5291. S2BIT 53,(CHAN 22 ERR )
  5292. S2BIT 54,(CHAN 21 ERR )
  5293. S2BIT 55,(CHAN 20 ERR )
  5294. S2BIT 57,(RADIAL INTERFACE 5/6 ERR),S2
  5295. S2BIT 58,(RADIAL INTERFACE 3/4 ERR),S2
  5296. S2BIT 59,(RADIAL INTERFACE 1/2 ERR),S2
  5297. S2BIT 59,(RADIAL INTERFACE 2/3 ERR),S1
  5298. S2BIT 60,(CHAN 33 ERR ),S1+I2+I4A
  5299. S2BIT 60,(CIO CHAN 03 ERR ),I4S
  5300. S2BIT 61,(CHAN 32 ERR ),S1+I2+I4A
  5301. S2BIT 61,(CIO CHAN 02 ERR ),I4S
  5302. S2BIT 62,(CHAN 31 ERR ),S1+I2+I4A
  5303. S2BIT 62,(CIO CHAN 01 ERR ),I4S
  5304. S2BIT 63,(CHAN 30 ERR ),S1+I2+I4A
  5305. S2BIT 63,(CIO CHAN 00 ERR ),I4S
  5306. CON 0
  5307. JC SPACE 4,5
  5308. *** JC.
  5309. *
  5310. * DUMP JOB CONTROL AREA FOR EACH SERVICE CLASS. EACH WORD IS
  5311. * PRINTED WITH ITS SYSTEXT SYMBOL AND IS SPLIT INTO THE
  5312. * APPROPRIATE PARAMETER FIELDS.
  5313. * THE FIRST JOB CONTROL BLOCK CONTAINS THE SERVICE CLASS
  5314. * CONTROL AREA *SCT*. THIS AREA IS DUMPED.
  5315.  
  5316.  
  5317. JC DATA 0LJC
  5318.  
  5319. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  5320. RJ SCM SELECT CENTRAL MEMORY
  5321. SA7 RI
  5322. SX6 JCBE PRESET JOB CONTROL AREA INDEX FOR JCB 1
  5323. SA6 JCPA
  5324. SX6 B0+ PRESET (SERVICE CLASS - 1) FOR JCB 1
  5325. SA6 JCPC
  5326. RJ SRA SET REFERENCE ADDRESS
  5327. RJ LDC LIST DIRECTIVE CARD
  5328. SA1 F.TCMT
  5329. SA2 X1+JBCP
  5330. LX2 24
  5331. SX6 X2 FWA JOB CONTROL AREA
  5332. SA6 JCPB SAVE FWA OF JOB CONTROL AREA
  5333. SX3 X6
  5334. RJ PCM POSITION TO CM WORD
  5335. GETCM BUF,MXJC*JCBE
  5336.  
  5337. * DISPLAY THE FIRST JOB CONTROL BLOCK WHICH CONTAINS THE
  5338. * SERVICE CLASS CONTROL TABLE.
  5339.  
  5340. SX1 14D
  5341. RJ CPS CHECK PAGE SPACE
  5342. PRINT (=C* SERVICE CLASS CONTROL TABLE*)
  5343. PRINT (=2C )
  5344. SA1 JCPB FWA OF JOB CONTROL AREA
  5345. BX2 -X1
  5346. SB2 X2+BUF SET CORE ADDRESS OF TABLE DATA
  5347. BX6 X1
  5348. SA6 FW SET PRINT ADDRESS
  5349. SA1 TSCT FORMAT TABLE POINTERS
  5350. RJ GTD GENERATE DETAILED TABLE DUMP
  5351. PRINT (=2C )
  5352. PRINT (=C* JOB CONTROL AREA BY SERVICE CLASS*)
  5353.  
  5354. * DISPLAY JOB CONTROL BLOCKS ASSOCIATED WITH A SERVICE CLASS.
  5355.  
  5356. JCP1 SX1 23D
  5357. RJ CPS CHECK PAGE SPACE
  5358. PRINT (=2C )
  5359. SB7 PRBF
  5360. SA5 JCPC SERVICE CLASS NUMBER - 1
  5361. SX6 X5+B1
  5362. SA6 A5 INCREMENT SERVICE CLASS
  5363. SA2 X5+SCNT TABLE OF SERVICE CLASS NAMES
  5364. SB6 10
  5365. RJ UPS STORE IN PRINT STRING
  5366. PRINT CCCH,B7-CCCH
  5367. PRINT (=2C )
  5368. SA1 JCPB FWA OF JOB CONTROL AREA
  5369. BX2 -X1
  5370. SA5 JCPA JOB CONTROL AREA INDEX
  5371. SB2 X2+BUF SET CORE ADDRESS OF TABLE DATA
  5372. IX6 X1+X5
  5373. SA6 FW SET PRINT ADDRESS
  5374. SA1 TFJC FORMAT TABLE POINTERS
  5375. RJ GTD GENERATE DETAILED TABLE DUMP
  5376. SA1 JCPA
  5377. SX6 X1+JCBE
  5378. SA6 A1 INCREMENT JOB CONTROL AREA INDEX
  5379. SX3 X6-MXJC*JCBE
  5380. NZ X3,JCP1 IF MORE TO DUMP
  5381. JP DSD1 RETURN
  5382.  
  5383.  
  5384. JCPA BSS 1 JOB CONTROL AREA INDEX
  5385. JCPB BSS 1 FWA OF JOB CONTROL AREA
  5386. JCPC BSS 1 SERVICE CLASS - 1
  5387. LC SPACE 4,4
  5388. *** LC.
  5389. *
  5390. * DUMP LOW CORE. EACH WORD IS PRINTED WITH ITS SYSTEXT SYMBOL
  5391. * AND IS SPLIT INTO THE APPROPRIATE PARAMETER FIELDS.
  5392.  
  5393.  
  5394. LC DATA 0LLC
  5395.  
  5396. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  5397. RJ SCM SELECT CENTRAL MEMORY
  5398. SA7 RI
  5399. SX6 0
  5400. SA6 FW SET PRINT ADDRESS
  5401. RJ SRA SET REFERENCE ADDRESS
  5402. RJ LDC LIST DIRECTIVE CARD
  5403. SX3 0
  5404. RJ PCM POSITION TO START OF CM
  5405. GETCM BUF,CPAS
  5406. SB2 BUF SET CORE ADDRESS OF TABLE DATA
  5407. SA1 TFLC FORMAT TABLE POINTERS
  5408. RJ GTD GENERATE DETAILED TABLE DUMP
  5409. JP DSD1 RETURN
  5410. LDIS SPACE 4,10
  5411. *** LDIS.
  5412. *
  5413. * DUMP THE *L* DISPLAY BUFFERS IN *C* FORMAT.
  5414.  
  5415.  
  5416. LDIS DATA 0LLDIS
  5417.  
  5418. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  5419. SA1 F.TCMT
  5420. SA2 X1+LDSP SET DUMP FWA
  5421. AX2 12
  5422. SX6 X2
  5423. SX7 X6+1+LCOM+LDSY+2+2+1 SET DUMP LWA+1
  5424. SB3 B0 SET *C* FORMAT
  5425. SX4 B0 SET READ FROM DUMP FILE
  5426. SX5 =C* L-DISPLAY BUFFERS*
  5427. RJ DTB DUMP BUFFERS
  5428. EQ DSD1 RETURN
  5429. SPACE 4,10
  5430. *** LIDT.
  5431. *
  5432. * DUMP LOGICAL ID TABLE IN *D* FORMAT.
  5433.  
  5434.  
  5435. LIDT DATA 0LLIDT
  5436.  
  5437. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  5438. SA1 F.TCMT
  5439. SA2 X1+LIDP GET LID TABLE FWA
  5440. MX0 -18
  5441. LX2 24
  5442. BX5 -X0*X2
  5443. BX3 X5
  5444. RJ PCM POSITION DUMP TO LID TABLE
  5445. GETCM GET LID TABLE HEADER
  5446. MX0 -12 GET USABLE LENGTH OF LID TABLE
  5447. LX6 12
  5448. BX2 -X0*X6
  5449. IX7 X5+X2 COMPUTE LWA+1 OF LID TABLE
  5450. SB3 B1 SET *D* FORMAT
  5451. BX6 X5 MOVE FWA
  5452. SX4 B0 SET TO READ FROM DUMP FILE
  5453. SX5 =C* LOGICAL ID TABLE*
  5454. RJ DTB DUMP LID TABLE
  5455. EQ DSD1 RETURN
  5456.  
  5457. LPVA SPACE 4,10
  5458. *** LPVA,ADDRESS.
  5459. *
  5460. * LOAD PVA FROM MEMORY AT THE ADDRESS SPECIFIED.
  5461.  
  5462.  
  5463. LPVA DATA C*LPVA*
  5464.  
  5465. RJ GHA GET HARDWARE ADDRESS
  5466. ZR B6,ERR6 IF NO ADDRESS SPECIFIED
  5467. SA6 BRMA SAVE SVA
  5468. RJ ASX GET HEX NUMBER
  5469. ZR B6,LPV1 IF NO VALUE SPECIFIED
  5470. NZ X4,ERR6 IF NOT VALID HEX NUMBER
  5471. LPV1 SA1 BRMA FETCH SVA
  5472. IX1 X1+X6 ADD OFFSET TO SVA
  5473. RJ FRV FETCH REGISTER VALUE
  5474. NZ X2,ERR30 IF PAGE IS MISSING
  5475. SA6 S2PVA VALUE OF PVA
  5476. SA2 =13HLOADED PVA
  5477. SB6 13
  5478. SB7 PRBF
  5479. RJ UPS UNPACK STRING
  5480. SA1 S2PVA
  5481. LX1 59-47
  5482. SB6 12
  5483. RJ HTS HEX TRANSLATION OF PVA
  5484. PRINT CCCH,B7-CCCH *LOADED PVA = RSSSBBBBBBBB*
  5485. JP DSD1 END OF COMMAND
  5486. MAGNET SPACE 4,23
  5487. *** MAG,OPS.
  5488. * MAGNET,OPS.
  5489. *
  5490. * WHERE OPS IS A STRING OF UP TO 5 CHARACTERS SELECTING
  5491. * VARIOUS DUMP OPTIONS AS FOLLOWS-
  5492. *
  5493. * P ALL COPIES OF 1MT ARE ANALYZED.
  5494. *
  5495. * Q THE MAGNET QUEUE TABLE IS PRINTED IN BYTE FORMAT WITH
  5496. * DISPLAY CODE INTERPRETATION. EACH LINE OF TWO WORDS
  5497. * ALSO SHOWS THE ORDINAL WITHIN THE TABLE.
  5498. *
  5499. * S THE ACTIVE STAGING JOB TABLE, STAGING VSN TABLE, AND
  5500. * STAGE REQUEST TABLE ARE PRINTED IN BYTE FORMAT WITH
  5501. * DISPLAY CODE INTERPRETATION.
  5502. *
  5503. * U EACH OF THE MAGNET UNIT DESCRIPTOR TABLES ARE ANALYZED
  5504. * WITH ASSOCIATED FET, EST, AND FNT/FST. EACH WORD OF
  5505. * THE UDT IS PRINTED WITH ITS SYMBOL AND IS SPLIT INTO
  5506. * THE APPROPRIATE PARAMETER FIELDS WITH DESCRIPTION. IF
  5507. * EXTENDED LABELS ARE PRESENT, THEY ARE PRINTED WITH THE
  5508. * FET. THE FET INDICATES THE ADDRESS AND CONTROL POINT
  5509. * NUMBER OF THE USER.
  5510. *
  5511. *
  5512. * MAGNET. OR MAG.
  5513. *
  5514. * IS EQUIVALENT TO *MAGNET,UAQSP.*.
  5515.  
  5516.  
  5517. MAGNET DATA 0LMAGNET
  5518. EQ MAG1 PROCESS LIKE *MAG* DIRECTIVE
  5519.  
  5520. MAG DATA 0LMAG
  5521.  
  5522. MAG1 SA5 MAGA
  5523. RJ ISS INITIALIZE FOR SUB-SYSTEM DUMP
  5524. GETCM SSBF,/MTX/TVSP+1 READ MAGNET POINTERS
  5525. SA5 MAGB
  5526. RJ DSS DUMP MAGNET SUB-SYSTEM
  5527. JP DSD1 RETURN
  5528.  
  5529. MAGA VFD 24/0,12/MTSI,24/0
  5530.  
  5531. MAGB VFD 60/0LUQSP
  5532. VFD 36/0,6/1RP,18/DMP
  5533. VFD 36/0,6/1RS,18/DMS
  5534. VFD 36/0,6/1RQ,18/DMQ
  5535. VFD 36/0,6/1RU,18/DMU
  5536. VFD 60/0
  5537. MAINLOG SPACE 4,10
  5538. *** MAINLOG.
  5539. *
  5540. * DUMP THE BINARY MAINTENANCE LOG IN *E* FORMAT.
  5541.  
  5542.  
  5543. MAINLOG DATA 0LMAINLOG
  5544.  
  5545. SX7 -3 SET CONTROL POINT
  5546. EQ ACN1 USE DAYFILE DUMP CODE
  5547. MCT SPACE 4,10
  5548. *** MCT.
  5549. *
  5550. * DISPLAY THE MEMORY CONTROL TABLE (MCT).
  5551. *
  5552. * EACH MCT ENTRY IS DISPLAYED ALONG WITH THE RA, FL, RAE, AND
  5553. * FLE FROM THE CORRESPONDING CPA OR PCPA.
  5554.  
  5555.  
  5556. MCT DATA 0LMCT
  5557.  
  5558. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  5559. RJ LDC LIST DIRECTIVE
  5560. RJ SCM SET CENTRAL MEMORY
  5561. SA7 RI
  5562. SA1 F.TCMT
  5563. SA3 X1+MCTP
  5564. AX3 36
  5565. BX6 X6-X6 INITIALIZE PCPA OFFSET
  5566. SA6 OP
  5567. RJ PCM POSITION TO MCT
  5568. SA2 ME NUMBER OF MCT ENTRIES
  5569. LX2 1
  5570. SX6 -B1 INITIALIZE CP/PCP NUMBER
  5571. SA6 CN
  5572. GETCM BUF,X2 READ IN MCT
  5573. PRINT (=2C )
  5574. PRINT (=C* PREVIOUS NEXT UNASSIGNED RA
  5575. , FL NFL RECOVERY*)
  5576. PRINT (=C* CP/PCP CP/PCP MEMORY
  5577. , INFORMATION*)
  5578. MCT1 RJ SSB CLEAR STRING BUFFER
  5579. PRINT (=C )
  5580. SA5 CN
  5581. SA3 ME
  5582. SX5 X5+B1
  5583. IX3 X5-X3
  5584. PL X3,DSD1 IF FINISHED
  5585. SA3 NC
  5586. SX3 X3+2
  5587. BX6 X5
  5588. IX4 X5-X3
  5589. NZ X4,MCT2 IF NOT AT FIRST PCP
  5590. SA1 F.TCMT SET PCPA FWA OFFSET
  5591. SA1 X1+PCPP
  5592. SX1 X1
  5593. LX3 7
  5594. IX7 X1-X3
  5595. SA7 OP
  5596. MCT2 SA6 A5
  5597. NZ X5,MCT3 IF NOT CMR
  5598. BX2 X2-X2
  5599. SA1 MCTA
  5600. EQ MCT4 PRINT MCT HEADER
  5601.  
  5602. MCT3 BX2 X5 CONVERT CP/PCP NUMBER
  5603. SX1 707B
  5604. LX2 3
  5605. BX2 X2+X5
  5606. BX2 X2*X1
  5607. SA1 MCTB
  5608. LX2 35-11
  5609. NG X4,MCT4 IF CP
  5610. SA1 A1+B1
  5611. MCT4 IX2 X1+X2
  5612. LX5 1
  5613. SB6 6
  5614. SB7 PRBF
  5615. RJ UPS UNPACK STRING
  5616. MCT5 SA1 X5+BUF GET NEXT MCT WORD
  5617. SB6 4
  5618. SB7 B7+3
  5619. RJ CTS DISPLAY PREVIOUS CP/PCP
  5620. SB6 4
  5621. SB7 B7+6
  5622. RJ CTS DISPLAY NEXT CP/PCP
  5623. LX1 12
  5624. SB6 8
  5625. SB7 B7+5
  5626. RJ CTS DISPLAY UNASSIGNED CM/EM
  5627. AX1 X5,B1
  5628. SA2 OP ADD PCP OFFSET
  5629. LX1 7
  5630. IX4 X1+X2
  5631. SX3 X4+FLSW
  5632. LX5 59-0
  5633. PL X5,MCT6 IF CM WORD OF MCT ENTRY
  5634. SX3 X4+ECSW
  5635. MCT6 SA1 F.TCMT
  5636. IX1 X1+X3
  5637. SA1 X1
  5638. LX1 59-35
  5639. SB6 8
  5640. SB7 PRBF+42
  5641. RJ CTS DISPLAY RA/RAE
  5642. SB6 4
  5643. SB7 B7+4
  5644. RJ CTS DISPLAY FL/FLE
  5645. SB6 4
  5646. SB7 B7+4
  5647. RJ CTS DISPLAY NFL/NFLE
  5648. SX3 X4+6
  5649. SA1 F.TCMT
  5650. IX1 X1+X3
  5651. SA1 X1
  5652. PL X5,MCT6.1 IF CM WORD OF MCT ENTRY
  5653. LX1 59-47
  5654. MCT6.1 SB6 4
  5655. SB7 B7+4
  5656. RJ CTS DISPLAY MCT RECOVERY BYTE
  5657. PRINT CCCH,B7-CCCH
  5658. NG X5,MCT1 IF THROUGH WITH ENTRY
  5659. RJ SSB CLEAR STRING BUFFER
  5660. SB7 PRBF+6
  5661. LX5 0-59
  5662. SX5 X5+B1
  5663. EQ MCT5 PRINT EM WORD OF MCT ENTRY
  5664.  
  5665.  
  5666. MCTA DATA 6L CMR
  5667. MCTB DATA 6L CP 00
  5668. DATA 6LPCP 00
  5669. MEMMR SPACE 4,20
  5670. *** MEMMR.
  5671. * SPECIFIES THAT ALL MEMORY MAINTENANCE REGISTERS
  5672. * SHOULD BE DUMPED.
  5673. *
  5674. * MEMMR,FIRST,LAST.
  5675. *
  5676. * FIRST SPECIFIES THE FIRST REGISTER (HEX) TO BE DUMPED.
  5677. * IF OMITTED, REGISTER 00 IS USED BY DEFAULT.
  5678. *
  5679. * LAST SPECIFIES THE LAST PLUS ONE REGISTER (HEX) TO BE
  5680. * DUMPED. IF OMITTED, FIRST+1 IS USED BY DEFAULT.
  5681. *
  5682. * THE *MEMMR* DIRECTIVE CAUSES THE MEMORY MAINTENANCE
  5683. * REGISTERS TO BE DUMPED. FOR EACH REGISTER, THE REGISTER
  5684. * NUMBER, REGISTER CONTENTS, AND REGISTER DESCRIPTION
  5685. * ARE PRINTED. FOR REGISTERS CONTAINING ERROR
  5686. * INDICATORS, DESCRIPTIONS OF ERROR INDICATORS
  5687. * SET ARE PRINTED.
  5688.  
  5689.  
  5690. MEMMR DATA 0LMEMMR
  5691.  
  5692. SA1 .MMR FETCH MEMORY MAINTENANCE REGISTERS RECORD
  5693. RJ RDR
  5694. ZR X2,ERR14 IF RECORD NOT FOUND
  5695. SX5 /IOU/OIMR OPTIONS INSTALLED REGISTER
  5696. RJ SFR
  5697. NG X1,ERR14 IF REGISTER NOT FOUND
  5698. LX7 8
  5699. PL X7,MMR1 IF BIT 12 OF *OIMR* NOT SET
  5700. SA1 MMRP CHANGE ADDRESS OF BIT DESCRIPTOR TABLE
  5701. BX7 X1
  5702. SA7 MMRO
  5703. MMR1 SA1 .MMR RECORD ID
  5704. SX7 MMRA DESCRIPTOR TABLE ADDRESS
  5705. RJ DMR DUMP MAINTENANCE REGISTERS
  5706. EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
  5707.  
  5708.  
  5709. * DESCRIPTOR FORMAT -
  5710. *
  5711. *T 9/ REGISTER,17/ MVP,17/ BDTA,17/ DESCRIPTOR PTR
  5712. *
  5713. * BDTA = BIT DESCRIPTOR TABLE ADDRESS.
  5714. * = 0, IF NO TABLE.
  5715. * MVP = MAP OF VALID PROCESSORS.
  5716.  
  5717. MMRA BSS 0
  5718. SXREG SSMR,(STATUS SUMMARY ),MMRB
  5719. SXREG EIMR,(ELEMENT ID )
  5720. MMRO SXREG OIMR,(OPTIONS INSTALLED ),MMRC
  5721. SXREG ECMR,(ENVIRON CONTROL ),MMRF,S1
  5722. SXREG ECMR,(ENVIRON CONTROL ),MMRE,S2+S3+THETA
  5723. SXREG MBRG,(BOUNDS REG )
  5724. SXREG MCEL,(CORR ERR LOG ),,S1+S2+S3
  5725. SXREG MCEL,(CORR ERRLOG REG 0 ),,THETA
  5726. SXREG MCEL+1,(CORR ERRLOG REG 1 ),,THETA
  5727. SXREG MCEL+2,(CORR ERRLOG REG 2 ),,THETA
  5728. SXREG MCEL+3,(CORR ERRLOG REG 3 ),,THETA
  5729. SXREG MUL1,(UNCORR ERR LOG 1 ),,S1+S2+S3
  5730. SXREG MUL1,(UNCOR ERRLOG REG 0),,THETA
  5731. SXREG MUL1+1,(UNCOR ERRLOG REG 1),,THETA
  5732. SXREG MUL1+2,(UNCOR ERRLOG REG 2),,THETA
  5733. SXREG MUL1+3,(UNCOR ERRLOG REG 3),,THETA
  5734. SXREG MUL2,(UNCORR ERR LOG 2 ),,S1+S2+S3
  5735. SXREG MFRC,(FREE RUN COUNTER )
  5736. CON 0
  5737.  
  5738. MMRP SXREG OIMR,(OPTIONS INSTALLED ),MMRD
  5739.  
  5740. * REGISTER *SSMR* (STATUS SUMMARY) BIT INTERPRETATIONS.
  5741. *
  5742. * DESCRIPTOR FORMAT -
  5743. *
  5744. *T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
  5745.  
  5746. MMRB BSS 0
  5747. S2BIT 58,(CLOCK TUNING MODE )
  5748. S2BIT 61,(UNCORRECTED ERROR )
  5749. S2BIT 62,(CORRECTED ERROR )
  5750. S2BIT 63,(PHYS ENVIRON WARN )
  5751. CON 0
  5752.  
  5753. * REGISTER *OIMR* (OPTIONS INSTALLED) BIT INTERPRETATIONS.
  5754.  
  5755. MMRC BSS 0
  5756. S2BIT 0,(1 MEGABYTE MEMORY )
  5757. S2BIT 1,(2 MEGABYTE MEMORY )
  5758. S2BIT 2,(3 MEGABYTE MEMORY )
  5759. S2BIT 3,(4 MEGABYTE MEMORY )
  5760. S2BIT 4,(5 MEGABYTE MEMORY )
  5761. S2BIT 5,(6 MEGABYTE MEMROY )
  5762. S2BIT 6,(7 MEGABYTE MEMORY )
  5763. S2BIT 7,(8 MEGABYTE MEMORY )
  5764. S2BIT 8,(10 MEGABYTE MEMORY )
  5765. S2BIT 9,(12 MEGABYTE MEMORY )
  5766. S2BIT 10,(14 MEGABYTE MEMORY )
  5767. S2BIT 11,(16 MEGABYTE MEMORY )
  5768. S2BIT 16,(MEMORY RECONFIGURED )
  5769. S2BIT 17,(SW 1 NOT AT CENTER )
  5770. S2BIT 18,(SW 2 NOT AT CENTER )
  5771. S2BIT 19,(SW 3 NOT AT CENTER )
  5772. S2BIT 20,(SW 4 NOT AT CENTER )
  5773. S2BIT 21,(SW 5 NOT AT CENTER )
  5774. S2BIT 22,(SW 6 NOT AT CENTER )
  5775. CON 0
  5776.  
  5777. * REGISTER *OIMR* (OPTIONS INSTALLED) BIT INTERPRETATIONS
  5778. * FOR LARGE MEMORY SYSTEMS.
  5779.  
  5780. MMRD BSS 0
  5781. S2BIT 0,(2048 MEGABYTE MEMORY )
  5782. S2BIT 1,(1024 MEGABYTE MEMORY )
  5783. S2BIT 2,(512 MEGABYTE MEMORY )
  5784. S2BIT 3,(256 MEGABYTE MEMORY )
  5785. S2BIT 4,(128 MEGABYTE MEMORY )
  5786. S2BIT 5,(64 MEGABYTE MEMROY )
  5787. S2BIT 6,(32 MEGABYTE MEMORY )
  5788. S2BIT 7,(16 MEGABYTE MEMORY )
  5789. S2BIT 8,(8 MEGABYTE MEMORY )
  5790. S2BIT 9,(4 MEGABYTE MEMORY )
  5791. S2BIT 10,(2 MEGABYTE MEMORY )
  5792. S2BIT 11,(1 MEGABYTE MEMORY )
  5793. S2BIT 16,(MEMORY RECONFIGURED )
  5794. S2BIT 17,(SW 1 NOT AT CENTER )
  5795. S2BIT 18,(SW 2 NOT AT CENTER )
  5796. S2BIT 19,(SW 3 NOT AT CENTER )
  5797. S2BIT 20,(SW 4 NOT AT CENTER )
  5798. S2BIT 21,(SW 5 NOT AT CENTER )
  5799. S2BIT 22,(SW 6 NOT AT CENTER )
  5800. CON 0
  5801.  
  5802. * REGISTER *ECMR* (ENVIRONMENTAL CONTROL) - CYBER 835 - 990.
  5803.  
  5804. MMRE BSS 0
  5805. S2BIT 0,(DISABLE PARITY CHECK )
  5806. S2BIT 1,(DISABLE SEC/DED )
  5807. S2BIT 2,(ENABLE NONINTLVE MODE)
  5808. S2BIT 5,(TIMING MARGINS WIDE ),S2+S3
  5809. S2BIT 5,(FORCE TO CORR ERR LOG),THETA
  5810. S2BIT 6,(TIMING MARGINS NARROW),S2+S3
  5811. S2BIT 32,(DISABLE PORT 0 )
  5812. S2BIT 33,(DISABLE PORT 1 )
  5813. S2BIT 34,(DISABLE PORT 2 )
  5814. S2BIT 35,(DISABLE PORT 3 )
  5815. S2BIT 38,(DISABLE CORR ERR RESP)
  5816. S2BIT 39,(DISABLE SNGL BIT ERR)
  5817. CON 0
  5818.  
  5819. * REGISTER *ECMR* (ENVIRONMENTAL CONTROL) - CYBER 810 - 830.
  5820.  
  5821. MMRF BSS 0
  5822. S2BIT 0,(ENABLE PARITY CHECK )
  5823. S2BIT 1,(DISABLE SEC/DED )
  5824. S2BIT 2,(ENABLE NONINTLVE MODE)
  5825. S2BIT 9,(DISABLE M PORT )
  5826. S2BIT 10,(DISABLE 40/41 )
  5827. S2BIT 11,(DISABLE CPU PORT )
  5828. S2BIT 12,(DISABLE IOU PORT )
  5829. S2BIT 13,(DISABLE P PORT )
  5830. S2BIT 38,(DISABLE CORR ERR RESP)
  5831. S2BIT 39,(DISABLE CORR ERR LOG )
  5832. CON 0
  5833. MPP SPACE 4,20
  5834. *** MPP.
  5835. * MOVE ALL PP-S TO THE OTHER BANK.
  5836. *
  5837. * MPP,N1.
  5838. * MOVE ONLY PP00 TO PPN1.
  5839. *
  5840. * THE LOGICAL POSITION OF PP00 HAS BEEN CHANGED PRIOR TO THE
  5841. * FULL DUMP TO TAPE. IF THE PPS-0/PPS-1 (PPU-A) TOGGLE SWITCH
  5842. * HAS BEEN TOGGLED, *MPP* SHOULD BE SPECIFIED. WHEN THE
  5843. * SYSTEM HAS ONLY 10 PP-S, OR A CYBER 170 SYSTEM HAS .LT. 20
  5844. * PP-S, *MPP* HAS NO MEANING. IF PP00 HAS BEEN MOVED TO
  5845. * ANOTHER PP VIA A DEADSTART PANEL PROGRAM, *MPP,N1* SHOULD
  5846. * BE SPECIFIED. IF N1 IS SPECIFIED WITH VALUE 0, THE
  5847. * DIRECTIVE HAS NO MEANING. CORRECT SPECIFICATION OF EITHER
  5848. * FORM OF THIS DIRECTIVE CAUSES THE CORRECT LOGICAL PP TO BE
  5849. * DUMPED WHEN A SWITCH HAS BEEN MADE.
  5850.  
  5851.  
  5852. MPP DATA 0LMPP
  5853.  
  5854. * GET INITIAL TABLE ENTRY.
  5855.  
  5856. SA1 .NPP FIND TABLE ENTRY FOR FIRST PP
  5857. MX0 24
  5858. SEARCH TDIR,X1,X0 FIND PP00 TABLE ENTRY
  5859. ZR X2,ERR7 IF NOT FOUND
  5860. SX6 A2+ SAVE TABLE ENTRY ADDRESS
  5861. SA6 PI
  5862.  
  5863. * CHECK FOR LEGAL DIRECTIVE.
  5864.  
  5865. SA1 CH
  5866. SA1 X1+
  5867. SX1 X1-1R.
  5868. NZ X1,MPP3 IF PP NUMBER ON DIRECTIVE CARD
  5869. SA2 F.TCMT
  5870. SA4 AC CHECK NUMBER OF PP-S IN SYSTEM
  5871. SX7 X4-11
  5872. NG X7,ERR25 IF ONLY 10 PP-S
  5873. SX6 X4-20
  5874. ZR X6,MPP1 IF 20 PP SYSTEM
  5875. SA3 AP
  5876. ZR X3,ERR25 IF CYBER 170 WITH .LT. 20 PP-S
  5877.  
  5878. * SWITCH UPPER AND LOWER BANKS.
  5879.  
  5880. MPP1 SA5 PI SET INITIAL TABLE ENTRY ADDRESS
  5881. SB2 B0 INITIALIZE ENTRY INDICIES
  5882. SB3 X4
  5883. AX4 B1
  5884. SB4 X4+
  5885. SB7 X5+B3
  5886. MPP2 SB5 B2+B2 SWITCH BANKS OF PP-S
  5887. SX2 X5+B5
  5888. SA2 X2+B1
  5889. SA3 A2+B3
  5890. BX6 X2
  5891. BX7 X3
  5892. SA6 A3
  5893. SA7 A2
  5894. SA2 TLPP+B2 SWITCH LOGICAL PP NUMBERS IN BANKS
  5895. SA3 A2+B4
  5896. BX6 X2
  5897. BX7 X3
  5898. SA6 A3
  5899. SA7 A2
  5900. SB2 B2+B1 INCREMENT ENTRY INDEX
  5901. SB6 B2-12B
  5902. NZ B6,MPP2 IF MORE TO SWITCH
  5903. EQ DSD1 PROCESS NEXT DIRECTIVE
  5904.  
  5905. * PROCESS MOVE OF PP00 ONLY.
  5906.  
  5907. MPP3 SB7 B0 ASSEMBLE PP NUMBER
  5908. RJ ASD
  5909. NZ X4,ERR6 IF ERROR
  5910. ZR X6,ERR25 IF MOVING PP00 TO PP00
  5911. SA2 NP CHECK IF VALID PP NUMBER
  5912. SX2 X2+6
  5913. SX7 X6-12B
  5914. NG X7,MPP4 IF IN LOWER BANK
  5915. SX7 X6-20B
  5916. NG X7,ERR6 IF INCORRECT PP NUMBER
  5917. IX1 X6-X2
  5918. PL X1,ERR6 IF PP NUMBER .GT. NUMBER OF PP-S
  5919. SX6 X6-6 SET INDEX
  5920. MPP4 LX7 X6,B1 FIND TABLE ENTRY FOR LOGICAL PP
  5921. SA5 PI
  5922. IX7 X5+X7
  5923. SA2 X7+1 SET ENTRY INDEX FOR PP00
  5924. SA1 TLPP+X6 SET LOGICAL PP00 NUMBER IN PP TABLE
  5925. BX7 X2
  5926. SA7 X5+1
  5927. BX6 X1
  5928. SA6 TLPP
  5929. EQ DSD1 PROCESS NEXT DIRECTIVE
  5930. MST SPACE 4,8
  5931. *** MST.
  5932. * DUMP ALL MASS STORAGE TABLES.
  5933. *
  5934. * MST,E1,E2,...,EN.
  5935. * DUMP SELECTED EQUIPMENT MASS STORAGE TABLES.
  5936. *
  5937. * DUMP MASS STORAGE AND TRACK RESERVATION TABLES. FOR SHARED
  5938. * BUFFERED I/O DEVICES, ALSO DUMP BUFFER STATUS TABLES. EACH
  5939. * WORD OF EACH MST IS PRINTED WITH ITS SYSTEXT SYMBOL AND IS
  5940. * SPLIT INTO THE APPROPRIATE PARAMETER FIELDS. EACH WORD OF
  5941. * EACH TRT INDICATES ITS LINKAGE BYTE ORDINAL, BYTE FORMAT OF
  5942. * THE WORD, TRACK BITS(3 GROUPS OF 4 BITS), AND DISPLAY CODE
  5943. * INTERPRETATION. EACH BST WORD DISPLAYS THE BUFFER ORDINAL,
  5944. * BYTE FORMAT AND DISPLAY CODE INTERPRETATION OF THE WORD.
  5945.  
  5946.  
  5947. MST DATA 0LMST
  5948.  
  5949. MX6 0
  5950. SA6 PI PRESET TO SELECT EQUIPMENT FROM CARD
  5951. SA1 CH
  5952. SA1 X1+
  5953. SX1 X1-1R.
  5954. NZ X1,MST1 IF EST ORDINALS ON DIRECTIVE CARD
  5955. SX7 NOPE INITIALIZE EST ORDINAL FOR SEARCH
  5956. SA7 PI PRESET EST SEARCH POINTER
  5957. MST1 RJ SCM SELECT CENTRAL MEMORY
  5958. SX6 0
  5959. RJ SRA SET REFERENCE ADDRESS
  5960. RJ LDC LIST DIRECTIVE CARD
  5961. MST2 RJ SMT SELECT NEXT UNIT TO DUMP
  5962. ZR X6,DSD1 IF NO MORE TO DUMP
  5963. RJ //MST DUMP MASS STORAGE TABLE
  5964. RJ TRT DUMP TRACK RESERVATION TABLE
  5965. RJ MRT DUMP MACHINE RECOVERY TABLE
  5966. RJ BST DUMP BUFFER STATUS TABLE
  5967. EQ MST2 CONTINUE
  5968. MTR SPACE 4,6
  5969. *** MTR.
  5970. *
  5971. * DUMP CPU MONITOR. EXCHANGE PACKAGES WILL BE DUMPED IN
  5972. * EXCHANGE PACKAGE FORMAT AND PROGRAM AREA WILL BE DUMPED
  5973. * IN INSTRUCTION PARCEL FORMAT WITH DISPLAY CODE
  5974. * INTERPRETATION. IF A CYBER 176, THE CPU DEADSTART AND
  5975. * REAL TIME CLOCK EXCHANGE PACKAGES WILL ALSO BE DUMPED.
  5976.  
  5977.  
  5978. MTR DATA 0LMTR
  5979.  
  5980. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  5981. SA1 F.TCMT GET FWA CPUMTR
  5982. SA2 X1+CMTP
  5983. SX6 X2+
  5984. SA6 MTRC
  5985. RJ SRA SET REFERENCE ADDRESS
  5986. RJ SCM SELECT CENTRAL MEMORY
  5987. SA1 F.TCMT
  5988. SA2 X1+RPLP RESIDENT PP LIBRARY POINTER
  5989. LX2 24
  5990. SX6 X2
  5991. SA1 BA
  5992. IX6 X6-X1
  5993. MX7 0
  5994. SA7 CPRA SET FWA FOR DUMP
  5995. SA6 A7+1 SET LWA+1 = FWA OF RPL
  5996. SA7 CPRA+4 SET *C* FORMAT CODE
  5997. SB2 CPRA
  5998. RJ POM POSITION DUMP FILE
  5999. RJ LDC LIST DIRECTIVE CARD
  6000. SB2 CPRA
  6001. RJ PMD PROCESS DUMP
  6002.  
  6003. * PRINT *MTR* AND BREAKPOINT XP-S.
  6004.  
  6005. SA1 CPRA
  6006. SX6 X1+CSXP
  6007. SA6 A1+
  6008. SB2 CPRA REPOSITION TO RA OF *CPUMTR*
  6009. RJ POM POSITION DUMP FILE
  6010. GETCM MTRB,2 READ WORD *CXBP* OF *CPUMTR*
  6011. SA1 MTRB+1 GET ADDRESS OF *MTR* XP
  6012. SA2 MTRC
  6013. SX1 X1
  6014. IX6 X1-X2 RELATIVE ADDRESS OF *MTR* XP
  6015. SA6 CPRA
  6016. SB2 A6
  6017. RJ POM POSITION DUMP FILE
  6018. GETCM BUF,BUFL READ EXCHANGE PACKAGES TO CORE
  6019. SA1 PXMC
  6020. SB2 /EXPACS/MXP
  6021. RJ PXM PRINT EXCHANGE PACKAGE
  6022.  
  6023. * PRINT CPU 0 IDLE XP.
  6024.  
  6025. SA1 CPRA SET LISTING ADDRESS
  6026. SX6 X1-40B+/EXPACS/IXP
  6027. SA6 A1
  6028. SA1 PXMN
  6029. SX6 B1 SET ONE XP FLAG
  6030. SB2 /EXPACS/IXP
  6031. SA6 PXMM
  6032. RJ PXM PRINT EXCHANGE PACKAGE
  6033. PRINT (=2C )
  6034. SA1 CPRA PRINT THE 3 WORDS FOLLOWING THE XP
  6035. SX6 X1
  6036. BX1 -X1
  6037. SA6 FW SET LISTING ADDRESS
  6038. SB2 X1+BUF+/EXPACS/IXP+20B SET CORE ADDRESS
  6039. SA1 MTRD
  6040. RJ GTD
  6041.  
  6042. * PRINT CPU 1 IDLE XP.
  6043.  
  6044. SA1 MTRB GET ADDRESS OF IDLE 1 XP
  6045. SA2 MTRC
  6046. SB2 CPRA
  6047. SX1 X1
  6048. IX6 X1-X2
  6049. SA6 B2+
  6050. RJ POM POSITION DUMP FILE TO IDLE 1
  6051. GETCM BUF,MXXT
  6052. SA1 BUF+DIXT GET ADDRESS OF DUAL CPU XP FOR CPU 1
  6053. SA2 MTRC
  6054. SB2 CPRA
  6055. SX1 X1+
  6056. IX6 X1-X2
  6057. NG X6,MTR1 IF ONLY ONE CPU
  6058. SA6 B2
  6059. RJ POM POSITION DUMP FILE TO IDLE 1
  6060. GETCM BUF,BUFL
  6061. SA1 PXMO
  6062. SX6 B1 SET ONE XP FLAG
  6063. SB2 B0
  6064. SA6 PXMM
  6065. RJ PXM PRINT EXCHANGE PACKAGE
  6066. PRINT (=2C )
  6067. SA1 CPRA PRINT THE 3 WORDS FOLLOWING THE XP
  6068. SX6 X1
  6069. BX1 -X1
  6070. SA6 FW SET LISTING ADDRESS
  6071. SB2 BUF+20B+X1 SET CORE ADDRESS
  6072. SA1 MTRD
  6073. RJ GTD
  6074.  
  6075. * PRINT PP EXCHANGE PACKAGES.
  6076.  
  6077. MTR1 SA1 MTRB+1 GET MTR XP ADDRESS
  6078. SA2 MTRC
  6079. SB2 CPRA
  6080. SX1 X1+/EXPACS/PXP
  6081. IX6 X1-X2
  6082. SA6 B2
  6083. RJ POM POSITION DUMP FILE
  6084. GETCM BUF,BUFL
  6085. RJ PXP PRINT PPU EXCHANGE PACKAGES
  6086.  
  6087. * PRINT CYBER 176 EXCHANGE PACKAGES.
  6088.  
  6089. SA1 CF
  6090. NZ X1,DSD1 IF NOT CYBER 176
  6091. RJ SEA SET EXCHANGE ADDRESS
  6092. RJ SRA SET REFERENCE ADDRESS
  6093. RJ SCM SELECT CENTRAL MEMORY
  6094. BX6 X6-X6 SET RELATIVE ADDRESS OF CYBER 176 PACKAGES
  6095. SA6 CPRA
  6096. SB2 A6
  6097. SX7 X6+40B
  6098. SA7 A6+1
  6099. RJ POM POSITION DUMP FILE
  6100. GETCM BUF,BUFL READ EXCHANGE PACKAGES TO CORE
  6101. SA1 PXMD SET HEADER ADDRESS
  6102. SB2 B0+
  6103. RJ PXM PRINT CYBER 176 EXCHANGE PACKAGES
  6104. SA1 PXMF SET HEADER ADDRESS
  6105. SB2 40B SET *BUF* OFFSET
  6106. RJ PXM PRINT PACKAGES
  6107. SA1 F.TCMT
  6108. SA1 X1+BIOL
  6109. AX1 24
  6110. SX1 X1
  6111. ZR X1,DSD1 IF NO 819 DISKS IN SYSTEM
  6112. SA1 PXMG SET HEADER FOR CHANNEL 2
  6113. SB2 100B
  6114. RJ PXM PRINT CHANNEL 2 I/O PACKAGES
  6115. SA1 PXMH SET HEADER FOR CHANNEL 3
  6116. SB2 140B
  6117. RJ PXM PRINT CHANNEL 3 I/O PACKAGES
  6118. SA1 PXMI SET HEADER FOR CHANNEL 4
  6119. SB2 200B
  6120. RJ PXM PRINT CHANNEL 4 I/O PACKAGES
  6121. SA1 PXMJ SET HEADER FOR CHANNEL 5
  6122. SB2 240B
  6123. RJ PXM PRINT CHANNEL 5 I/O PACKAGES
  6124. SA1 PXMK SET HEADER FOR CHANNEL 6
  6125. SB2 300B
  6126. RJ PXM PRINT CHANNEL 6 I/O PACKAGES
  6127. SA1 PXML SET HEADER FOR CHANNEL 7
  6128. SB2 340B
  6129. RJ PXM PRINT CHANNEL 7 I/O PACKAGES
  6130. EQ DSD1 PROCESS NEXT DIRECTIVE
  6131.  
  6132. MTRA CON 0 FWA OF PP EXCHANGE PACKAGES FROM LOW CORE
  6133. MTRB CON 0 WORD *CSXP* OF *CPUMTR* FL
  6134. CON 0 WORD *CXBP* OF *CPUMTR* FL
  6135. MTRC CON 0 RA OF *CPUMTR*
  6136. MTRE CON 0,1,2,3
  6137.  
  6138. MTRD VFD 24/0,18/MTRD1,18/MTRD2
  6139.  
  6140.  
  6141. MTRD1 BSS 0
  6142. FIELD MTRE+0,(STSW WORD ),59,60,I
  6143. FIELD MTRE+1,(CWQW WORD ),59,60,I
  6144. FIELD MTRE+2,(CSAW WORD ),59,60,I
  6145. FIELD MTRE+3,(CTMW WORD ),59,60,I
  6146. CON -1 END OF LEFT COLUMN
  6147.  
  6148. MTRD2 BSS 0
  6149. CON 0 END OF RIGHT COLUMN
  6150.  
  6151. MTRD3 EQU *
  6152. ERRNG 2*MTRD2-MTRD1-MTRD3 IF RIGHT COLUMN LONGER THAN LEFT
  6153. MTRQU SPACE 4,10
  6154. *** MTRQUEUE.
  6155. * DUMP CPU REQUEST, PP REQUEST, CPUCIO REQUEST,
  6156. * AND RECALL QUEUES.
  6157. *
  6158. * MTRQUEUE,P1,P2.
  6159. * DUMP SELECTED QUEUES.
  6160.  
  6161.  
  6162. MTRQU DATA 0LMTRQUEUE
  6163.  
  6164. BX6 X6-X6 CLEAR *C* FLAG
  6165. SA6 MTQB
  6166. SA1 CH CHECK SEPARATOR
  6167. SA1 X1+
  6168. SX1 X1-1R.
  6169. ZR X1,MTQ6 IF DUMPING ALL QUEUES
  6170. SX6 0 CLEAR SELECTED OPTIONS
  6171. SA6 MTQA
  6172. MTQ1 RJ ASN GET NEXT PARAMETER
  6173. ZR B6,MTQ7 IF NO MORE PARAMETERS
  6174. AX1 X6,B6
  6175. SX1 X1-1RC
  6176. ZR X1,MTQ3 IF *C* SELECTED
  6177. SX1 X1-1RP+1RC
  6178. ZR X1,MTQ4 IF *P* SELECTED
  6179. SX1 X1-1RR+1RP
  6180. ZR X1,MTQ5 IF *R* SELECTED
  6181. SX1 X1-1RW+1RR
  6182. NZ X1,ERR6 IF INVALID PARAMETER
  6183. SX6 1 SET *W* SELECTED
  6184. MTQ2 SA1 MTQA UPDATE SELECTED OPTIONS
  6185. BX6 X6+X1
  6186. SA6 A1
  6187. EQ MTQ1 GET NEXT PARAMETER
  6188.  
  6189. MTQ3 SX6 10B SET *C* SELECTED
  6190. JP MTQ2 SAVE SELECTION
  6191.  
  6192. MTQ4 SX6 4 SET *P* SELECTED
  6193. JP MTQ2 SAVE SELECTION
  6194.  
  6195. MTQ5 SX6 2 SET *R* SELECTED
  6196. JP MTQ2 SAVE SELECTION
  6197.  
  6198. MTQ6 SX6 17B SELECT ALL OPTIONS
  6199. SA6 MTQA
  6200. * JP MTQ7 PROCESS DUMP
  6201.  
  6202. * PROCESS CPU REQUEST QUEUE DUMP.
  6203.  
  6204. MTQ7 SA5 NC PRESET QUEUE ENTRY LIMIT
  6205. SX6 20B 20B ENTRIES PER CONTROL POINT
  6206. SX5 X5+B1
  6207. IX6 X5*X6
  6208. SA6 CCQA
  6209. RJ LDC LIST DIRECTIVE CARD
  6210. SA1 MTQA GET OPTIONS
  6211. SX2 1
  6212. BX2 X2*X1
  6213. ZR X2,MTQ10 IF *W* NOT SELECTED
  6214. SX6 0 CLEAR QUEUE ENTRY COUNT
  6215. SA6 CCQB
  6216. PRINT (=2C )
  6217. PRINT (=C* CPU REQUEST QUEUE*)
  6218. PRINT (=2C )
  6219. SA1 F.TCMT GET CORE ADDRESS
  6220. SA2 X1+WQRL GET BASE LINK
  6221. MTQ8 UX6,B4 X2
  6222. ZR B4,MTQ10 IF END OF QUEUE
  6223. SA3 NC CHECK IF CPUCIO REQUEST
  6224. SX3 X3+B1
  6225. LX3 7
  6226. IX3 X6-X3
  6227. PL X3,MTA9 IF CPUCIO REQUEST
  6228. SX6 X6
  6229. SA6 FW SAVE CONTROL POINT ADDRESS
  6230. SB2 X1
  6231. SA1 TCPR
  6232. RJ GTD DUMP CPU REQUEST QUEUE WORDS
  6233. RJ CCQ
  6234. NG X5,MTQ10 IF CIRCULAR QUEUE FOUND
  6235. PRINT (=2C )
  6236. SA2 FW GET LINK TO NEXT ENTRY
  6237. SA1 F.TCMT
  6238. SX2 X2+CWQW
  6239. IX2 X1+X2
  6240. SA2 X2
  6241. JP MTQ8 PROCESS NEXT ENTRY
  6242.  
  6243. MTA9 MX6 -18 GET ADDRESS OF CPUCIO ENTRY
  6244. BX6 -X6*X2
  6245. SX6 X6-CWQW
  6246. SA6 FW
  6247. SA6 CPRA SET FWA
  6248. SX7 25B
  6249. IX7 X6+X7
  6250. SA7 A6+B1 SET LWA
  6251. SX6 B0+
  6252. RJ SRA SET REFERENCE ADDRESS
  6253. RJ SCM SELECT CENTRAL MEMORY
  6254. SB2 CPRA
  6255. RJ POM POSITION DUMP FILE
  6256. GETCM BUF,25B
  6257. SA2 FW
  6258. SB2 X2 SET CORE ADDRESS
  6259. SB2 -B2
  6260. SB2 BUF+B2
  6261. SA1 TCPR
  6262. RJ GTD DUMP CPUCIO REQUEST QUEUE
  6263. RJ CCQ
  6264. NG X5,MTQ10 IF CIRCULAR QUEUE FOUND
  6265. PRINT (=2C )
  6266. SA2 BUF+CWQW
  6267. JP MTQ8 PROCESS NEXT ENTRY
  6268.  
  6269. * PROCESS PP REQUEST QUEUE DUMP.
  6270.  
  6271. MTQ10 SA1 MTQA GET OPTIONS
  6272. SX2 4
  6273. BX2 X2*X1
  6274. ZR X2,MTQ12 IF *P* NOT SELECTED
  6275. SX6 0 CLEAR QUEUE ENTRY COUNT
  6276. SA6 CCQB
  6277. PRINT (=2C )
  6278. PRINT (=C* PP REQUEST QUEUE*)
  6279. PRINT (=2C )
  6280. SA1 F.TCMT GET CORE ADDRESS
  6281. SA2 X1+PQRL GET BASE LINK
  6282. MTQ11 MX6 5
  6283. LX6 11-59
  6284. BX6 X6*X2 GET START OF CONTROL POINT AREA
  6285. ZR X6,MTQ12 IF END OF QUEUE
  6286. SA6 FW SAVE CONTROL POINT ADDRESS
  6287. MX6 -7
  6288. BX6 -X6*X2 GET INDEX INTO RCCW
  6289. SA6 TPPRA
  6290. SX6 X6+RECW-RCCW GET INDEX INTO RECW
  6291. SA6 TPPRB
  6292. SX6 X6+REPW-RECW GET INDEX INTO REPW
  6293. SA6 TPPRC
  6294. SB2 X1
  6295. SA1 TPPR
  6296. RJ GTD DUMP PP REQUEST QUEUE WORDS
  6297. RJ CCQ
  6298. NG X5,MTQ12 IF CIRCULAR QUEUE FOUND
  6299. SA2 FW GET LINK TO NEXT ENTRY
  6300. SA1 F.TCMT
  6301. SA3 TPPRA
  6302. IX2 X2+X3
  6303. IX2 X2+X1
  6304. SA2 X2+
  6305. JP MTQ11 PROCESS NEXT ENTRY
  6306.  
  6307. * PRINT CPUCIO REQUEST QUEUE.
  6308.  
  6309. MTQ12 SA1 MTQB
  6310. NZ X1,MTQ13 IF BOTH *P* AND *C* PROCESSED
  6311. SX6 B1
  6312. SA6 A1 SET *C* FLAG
  6313. SA1 MTQA
  6314. SX2 10B
  6315. BX2 X2*X1
  6316. ZR X2,MTQ13 IF *C* NOT SELECTED
  6317. SX6 0 CLEAR QUEUE ENTRY COUNT
  6318. SA6 CCQB
  6319. PRINT (=2C )
  6320. PRINT (=C* CPUCIO REQUEST QUEUE*)
  6321. PRINT (=2C )
  6322. SA1 F.TCMT
  6323. SA2 X1+CQRL GET BASE INDEX
  6324. JP MTQ11 PROCESS ENTRY
  6325.  
  6326. * PROCESS RECALL QUEUE DUMP.
  6327.  
  6328. MTQ13 SA1 MTQA GET OPTIONS
  6329. SX2 2
  6330. BX2 X2*X1
  6331. ZR X2,MTQ17 IF *R* NOT SELECTED
  6332. SX6 0 CLEAR QUEUE ENTRY COUNT
  6333. SA6 CCQB
  6334. PRINT (=2C )
  6335. PRINT (=C* RECALL QUEUE*)
  6336. PRINT (=2C )
  6337. SA1 F.TCMT GET CORE ADDRESS
  6338. SA2 X1+RQRL GET BASE LINK
  6339. MTQ14 MX6 5
  6340. LX6 11-59
  6341. BX6 X6*X2 GET START OF CONTROL POINT AREA
  6342. ZR X6,MTQ17 IF END OF QUEUE
  6343. SA6 FW SAVE CONTROL POINT ADDRESS
  6344. MX6 -7
  6345. BX6 -X6*X2
  6346. SA6 TPRLA SAVE LINK INDEX
  6347. SX5 X6-CRCW
  6348. NZ X5,MTQ15 IF PP RECALL
  6349. SB2 X1
  6350. SA1 TCRL
  6351. RJ GTD DUMP CPU RECALL WORD
  6352. RJ CCQ
  6353. NG X5,MTQ17 IF CIRCULAR QUEUE FOUND
  6354. JP MTQ16 GET NEXT ENTRY
  6355.  
  6356. MTQ15 SX6 X6+RECW-RCCW GET INDEX INTO RECW
  6357. SA6 TPRLB
  6358. SX6 X6+REPW-RECW GET INDEX INTO REPW
  6359. SA6 TPRLC
  6360. SB2 X1
  6361. SA1 TPRL
  6362. RJ GTD DUMP PP RECALL WORDS
  6363. RJ CCQ
  6364. NG X5,MTQ17 IF CIRCULAR QUEUE FOUND
  6365. MTQ16 PRINT (=2C )
  6366. SA1 F.TCMT GET LINK TO NEXT ENTRY
  6367. SA2 FW
  6368. SA3 TPRLA
  6369. IX2 X2+X3
  6370. IX2 X2+X1
  6371. SA2 X2
  6372. JP MTQ14 PROCESS NEXT ENTRY
  6373.  
  6374. MTQ17 JP DSD1 RETURN
  6375.  
  6376. MTQA CON 0 SELECTED PARAMETERS
  6377. MTQB CON 0 *C* PROCESSED FLAG
  6378. ODIS SPACE 4,10
  6379. *** ODIS.
  6380. *
  6381. * DUMP THE OPERATOR DISPLAY BUFFER.
  6382.  
  6383. ODIS DATA 0LODIS
  6384.  
  6385. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  6386. SA1 F.TCMT
  6387. SA2 X1+LDSP
  6388. AX2 12
  6389. SX6 X2-LODS SET DUMP FWA
  6390. SX7 X2 SET DUMP LWA+1
  6391. SB3 B0
  6392. SX4 B0
  6393. SX5 =C* OPERATOR-DISPLAY BUFFER*
  6394. RJ DTB DUMP BUFFER
  6395. EQ DSD1 RETURN
  6396. OUTPUT SPACE 4,5
  6397. *** OUTPUT,LFN.
  6398. * OUTPUT. (*LFN* DEFAULT = *ALTRNT*)
  6399. *
  6400. * ASSIGN OUTPUT TO ALTERNATE FILE *LFN*. WHEN *LFN* IS
  6401. * DISPOSED (SEE DISPOSE), OUTPUT RESUMES ON THE ORIGINAL
  6402. * OUTPUT FILE. ONLY ONE ALTERNATE FILE MAY BE ACTIVE AT A TIME.
  6403. * *LFN* MAY NOT BE THE SAME AS THE NORMAL OUTPUT FILE NAME.
  6404.  
  6405.  
  6406. OUTPUT DATA 0LOUTPUT
  6407.  
  6408. SA1 OF
  6409. SX1 X1-A
  6410. ZR X1,ERR11 IF ALREADY PROCESSING ALTERNATE FILE
  6411. RJ ASN ASSEMBLE FILE NAME
  6412. NZ X6,OTP1 IF NAME SPECIFIED
  6413. SA1 OTPC SET DEFAULT NAME
  6414. BX6 X1
  6415. SB6 -36 SET SHIFT COUNT
  6416. OTP1 SA1 L
  6417. MX2 42
  6418. BX1 X1-X6
  6419. BX1 X1*X2
  6420. ZR X1,ERR12 IF SAME AS OUTPUT FILE NAME
  6421. SB6 B6+42
  6422. NG B6,ERR12 IF NAME TOO LONG
  6423. SX7 3
  6424. BX6 X6+X7
  6425. SA6 A SET ALTERNATE OUTPUT FILE NAME
  6426. SA1 A6+B1 READ FIRST
  6427. SX6 X1
  6428. SA6 A1+B1 SET IN = FIRST
  6429. SA6 A6+B1 OUT = FIRST
  6430. SX2 A
  6431. RJ STF CHECK IF TERMINAL
  6432. ZR X6,ERR13 IF TERMINAL FILE
  6433. SX6 X2+0
  6434. SA6 OF SET OUTPUT FILE FET POINTER
  6435. MOVE 6,CC,OTPA SAVE CURRENT LIST CONTROLS
  6436. MOVE 6,OTPB,CC RESET CONTROLS FOR NEW FILE
  6437. SA1 PRSB
  6438. RJ RSP RESET PRINT DENSITY
  6439. JP DSD1 RETURN
  6440.  
  6441. OTPA BSS 6 LIST CONTROL SAVE AREA
  6442.  
  6443. OTPB BSS 0 LIST CONTROL RESET BLOCK
  6444. CON 0 CARRIAGE CONTROL CHARACTER
  6445. CON 0 NO AUTO EJECT FLAG
  6446. CON 100 LINE NUMBER
  6447. CON 0 NUMBER OF LINES PER PAGE
  6448. CON 1 PAGE NUMBER
  6449. CON 0 TERMINAL OUTPUT FLAG
  6450. OTPC DATA 6LALTRNT DEFAULT ALTERNATE LIST FILE NAME
  6451. P SPACE 4,11
  6452. *** P.
  6453. * DUMP ALL PPUS IN BLOCK FORMAT.
  6454. *
  6455. * P,N1,N2,...,NN.
  6456. * DUMP SELECTED PPUS.
  6457. *
  6458. * MEMORY IS DUMPED IN 100B WORD BLOCKS WITH 10B ROWS AND
  6459. * 10B COLUMNS. EACH BLOCK IS READ COLUMNWISE. EACH PAGE
  6460. * CONTAINS TWO BLOCKS ACROSS THE PAGE AND SIX DOWN.
  6461. * ZERO BYTES ARE REPRESENTED AS *----*. REPETITIVE DATA
  6462. * IS NOT SUPPRESSED.
  6463.  
  6464.  
  6465. P DATA 0LP
  6466.  
  6467. SX6 B0 INITIALIZE FOR PPU DUMP
  6468. PPS1 RJ IPD
  6469. PPS2 RJ SNP SELECT NEXT PPU
  6470. ZR X1,DSD1 IF NO MORE PPUS TO DUMP
  6471. RJ DPP DUMP PPU IN *P* FORMAT
  6472. EQ PPS2 CONTINUE
  6473. PCP SPACE 4,10
  6474. *** PCP.
  6475. *
  6476. * DUMP PSEUDO-CONTROL POINTS (PCP-S).
  6477. *
  6478. * PARAMETERS ARE THE SAME AS FOR THE *CP* DIRECTIVE.
  6479.  
  6480.  
  6481.  
  6482. PCP DATA 0LPCP
  6483.  
  6484. SA2 F.TCMT
  6485. SA2 X2+PCPP
  6486. SX2 X2
  6487. ZR X2,ERR48 IF NO PCP-S DEFINED
  6488. SA1 NC
  6489. SX1 X1+2 FIRST PCP NUMBER
  6490. LX1 7
  6491. IX6 X2-X1
  6492. SA6 OP SET PCPA FWA OFFSET
  6493. SX7 X2-CPLEN
  6494. SA7 FW SET (PCPA FWA)-(CPLEN)
  6495. SA1 TF
  6496. ZR X1,CPP0 IF PRINTER OUTPUT
  6497. SA2 ME SET LWA+1 OF PCPA-S
  6498. EQ CPN0 DISPLAY PCPA-S AT TERMINAL
  6499. PD SPACE 4,4
  6500. *** PD,N.
  6501. *
  6502. * RESET PRINT LINE DENSITY TO N LINES PER INCH. N MAY BE
  6503. * 3, 4, 6 OR 8.
  6504.  
  6505.  
  6506. PD DATA 0LPD
  6507.  
  6508. RJ ASN ASSEMBLE N
  6509. SA6 PRSB SAVE DENSITY SELECTION
  6510. BX1 X6
  6511. RJ RSP RESET PRINT DENSITY
  6512. JP DSD1 RETURN
  6513. PF SPACE 4,20
  6514. *** PF.
  6515. * DUMP ALL FLPPS IN BLOCK FORMAT.
  6516. *
  6517. * PF,N1,N2,...,NN.
  6518. * DUMP SELECTED FLPPS.
  6519. *
  6520. * MEMORY IS DUMPED IN 100B WORD BLOCKS WITH 10B ROWS AND
  6521. * 10B COLUMNS. EACH BLOCK IS READ COLUMNWISE. EACH PAGE
  6522. * CONTAINS TWO BLOCKS ACROSS THE PAGE AND SIX DOWN.
  6523. * ZERO BYTES ARE REPRESENTED AS *----*. REPETITIVE DATA
  6524. * IS NOT SUPPRESSED.
  6525.  
  6526.  
  6527. PF DATA 0LPF
  6528.  
  6529. SX6 B1 INITIALIZE FOR FLPP DUMP
  6530. EQ PPS1 DUMP FLPPS
  6531. PLD SPACE 4,3
  6532. *** PLD.
  6533. *
  6534. * DUMP PERIPHERAL LIBRARY DIRECTORY IN *D* FORMAT.
  6535.  
  6536.  
  6537. PLD DATA 0LPLD
  6538.  
  6539. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  6540. SA1 F.TCMT
  6541. SA2 X1+PLDP
  6542. LX2 24
  6543. SX6 X2 FWA PP LIBRARY DIRECTORY
  6544. SA3 X1+PSTP
  6545. AX3 12
  6546. SX7 X3 LWA+1 PP LIBRARY DIRECTORY
  6547. SX5 =C* PERIPHERAL LIBRARY DIRECTORY*
  6548. SB3 B1 SET *D* FORMAT
  6549. SX4 B0 SET READ FROM DUMP FILE
  6550. RJ DTB DUMP PLD
  6551. EQ DSD1 RETURN
  6552. PMS SPACE 4,20
  6553. *** PMS,N1.
  6554. * CYBER 170 PP MEMORY SELECT SWITCHES WERE PREVIOUSLY SET
  6555. * TO VALUE N1.
  6556. *
  6557. * THE LOGICAL POSITION OF PP00 HAS BEEN CHANGED PRIOR TO THE
  6558. * FULL DUMP TO TAPE. IF THE PP MEMORY SELECT SWITCHES HAVE
  6559. * BEEN CHANGED, THIS DIRECTIVE SHOULD BE SPECIFIED WITH THE
  6560. * BINARY VALUE OF THE SWITCHES PRIOR TO CHANGING THEM, I.E.,
  6561. * 0 - 11B. THE DUMP OF THE S/C REGISTER WILL BE READ TO FIND
  6562. * THE CURRENT VALUE OF THE SWITCHES AND DETERMINE THE CORRECT
  6563. * LOGICAL PP TO BE DUMPED. IF THE MACHINE IS NOT A CYBER 170
  6564. * OR THE VALUE N1 SPECIFIED IS THE SAME AS THE VALUE READ
  6565. * FROM THE S/C REGISTER, THIS DIRECTIVE HAS NO MEANING.
  6566.  
  6567.  
  6568. PMS DATA 0LPMS
  6569.  
  6570. * MOVE TABLES TO TEMPORARY BUFFER.
  6571.  
  6572. SA1 .NPP FIND TABLE ENTRY FOR FIRST PP
  6573. MX0 24
  6574. SEARCH TDIR,X1,X0 FIND PP00 TABLE ENTRY
  6575. ZR X2,ERR7 IF NOT FOUND
  6576. SX6 A2+ SAVE TABLE ENTRY ADDRESS
  6577. SA6 PI
  6578. MOVE 40,A2,BUF MOVE TABLE ENTRIES
  6579. MOVE 20,TLPP,BUF+40 MOVE LOGICAL PP TABLE
  6580.  
  6581. * CHECK FOR LEGAL SELECT SWITCH VALUE.
  6582.  
  6583. SA1 CH
  6584. SA1 X1+
  6585. SX1 X1-1R.
  6586. ZR X1,ERR6 IF NO VALUE SPECIFIED
  6587. SB7 B0 ASSEMBLE SWITCH VALUE
  6588. RJ ASD
  6589. NZ X4,ERR6 IF ERROR
  6590. SX7 X6-12B
  6591. PL X7,ERR6 IF INCORRECT VALUE
  6592. SA6 PMSA SAVE OLD VAUE OF SWITCHES
  6593.  
  6594. * GET CURRENT VALUE OF SWITCHES.
  6595.  
  6596. SA1 .SCR CHECK DIRECTORY FOR *SCR* RECORD
  6597. MX0 18
  6598. SEARCH TDIR,X1,X0 LOCATE S/C REGISTER RECORD
  6599. ZR X2,ERR25 IF NOT A CYBER 170
  6600. SA2 A2+2
  6601. MX0 24
  6602. LX0 -12
  6603. SA3 =6L SC16
  6604. BX4 X3-X2
  6605. BX2 X0*X4
  6606. NZ X2,ERR2 IF NO SC16 RECORD FOUND
  6607. SA2 A2+B1 SET RANDOM INDEX OF S/C REGISTER
  6608. BX6 X2
  6609. SA6 RI
  6610. SX3 B1 POSITION DUMP FILE
  6611. RJ PDF
  6612. READW S,BUF,B1 READ S/C REGISTER DATA
  6613. SA1 BUF+PMSW* GET PP SELECT SWITCHES CURRENT VALUE
  6614. MX0 -4
  6615. LX1 7
  6616. BX7 -X0*X1
  6617. SA2 PMSA GET OLD VALUE
  6618. IX4 X2-X7
  6619. ZR X4,ERR25 IF OLD SAME AS NEW VALUE
  6620. PL X4,PMS1 IF OLD VALUE .GT. NEW
  6621. SX4 X4+10 BIAS VALUE DIFFERENCE FOR LOGICAL PP00
  6622.  
  6623. * MOVE BANK OF PP ADDRESSES AND LOGICAL PP NUMBERS.
  6624.  
  6625. PMS1 SX0 X4 INITIALIZE INDICIES
  6626. SA5 PI
  6627. SX1 B0
  6628. SA0 12B SET END OF LOWER BANK
  6629. PMS2 LX2 X0,B1 FIND TABLE ENTRY
  6630. LX3 X1,B1
  6631. SX2 BUF+X2
  6632. SA2 X2+B1 TRANSFER ENTRY
  6633. BX7 X2
  6634. IX3 X5+X3
  6635. SA7 X3+B1
  6636. SA2 BUF+40+X0 TRANSFER LOGICAL PP NUMBER
  6637. SX7 X2+
  6638. SA7 TLPP+X1
  6639. SX1 X1+1 INCREMENT INDICIES
  6640. SX7 A0
  6641. IX6 X1-X7
  6642. ZR X6,PMS3 IF END OF BANK
  6643. SX0 X0+B1
  6644. IX6 X0-X7
  6645. NG X6,PMS2 IF NOT WRAP AROUND
  6646. SX0 A0-12B WRAP AROUND BANK
  6647. EQ PMS2 PROCESS NEXT PP
  6648.  
  6649. * CHECK FOR END OF PP-S.
  6650.  
  6651. PMS3 SX6 A0-24B
  6652. ZR X6,DSD1 IF BOTH BANKS PROCESSED
  6653. SA2 NP CHECK FOR 20 PP-S
  6654. SX7 X2-20
  6655. NZ X7,DSD1 IF NOT 20 PP MACHINE
  6656. SX0 X4+12B INITIALIZE INDICIES FOR UPPER BANK
  6657. SX1 12B
  6658. SA0 24B SET END OF UPPER BANK
  6659. EQ PMS2 MOVE UPPER BANK
  6660.  
  6661. PMSA CON 0 OLD SELECT SWITCH VALUE
  6662. PO SPACE 4,25
  6663. *** PO,N1,N2,...,NN.
  6664. *
  6665. * DUMP 16-BIT PP MEMORY IN OCTAL BLOCK FORMAT.
  6666. *
  6667. * NI NUMBER OF PP TO BE DUMPED. IF OMITTED, ALL
  6668. * PP-S ARE DUMPED.
  6669. *
  6670. * THE *PO* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED IN
  6671. * OCTAL BLOCK FORMAT, WHERE EACH BLOCK REPRESENTS
  6672. * 64 WORDS. EACH 16-BIT WORD IS REPRESENTED BY 6
  6673. * OCTAL DIGITS UNLESS THE UPPER 4 BITS OF THE WORD
  6674. * ARE ZERO. THEN THE WORD IS REPRESENTED BY 4
  6675. * OCTAL DIGITS. THE BLOCKS ARE READ BY COLUMN (TOP
  6676. * TO BOTTOM), WHERE EACH COLUMN CONTAINS EIGHT
  6677. * 16-BIT WORDS NUMBERED 0 THRU 7. THERE ARE EIGHT
  6678. * COLUMNS IN EACH BLOCK NUMBERED 0 THRU 7.
  6679. * REPETITIVE DATA IS NOT SUPPRESSED AND ZERO WORDS
  6680. * ARE REPRESENTED BY FOUR HYPHENS. THE CONTENTS
  6681. * OF THE R-REGISTER IN OCTAL PRECEDES THE FIRST
  6682. * BLOCK FOR EACH PP. OUTPUT TO THE TERMINAL IS
  6683. * NOT PROVIDED.
  6684.  
  6685.  
  6686. PO DATA 0LPO
  6687.  
  6688. SX6 0 SET OCTAL BLOCK FORMAT
  6689. EQ QOD1 DUMP PP/CPP
  6690. PP SPACE 4,10
  6691. *** PP.
  6692. *
  6693. * DUMP PPU COMMUNICATION REGISTERS. CONTROL POINT ASSIGNMENT,
  6694. * CHANNEL ASSIGNMENT AND MONITOR FUNCTION ARE LISTED WITH
  6695. * EACH COMMUNICATION AREA. THE AREAS ARE DUMPED IN BYTE
  6696. * FORMAT WITH DISPLAY CODE INTERPRETATION.
  6697. *
  6698. * FOR TERMINAL OUTPUT, THE PPU NUMBER, EXECUTING PROGRAM
  6699. * NAME, CONTROL POINT ASSIGNMENT AND INPUT REGISTER
  6700. * ADDRESS ARE LISTED FOR EACH COMMUNICATION AREA.
  6701.  
  6702.  
  6703. PP DATA 0LPP
  6704.  
  6705. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  6706. SA1 TF
  6707. NZ X1,PPTN IF TERMINAL OUTPUT
  6708. SX6 0
  6709. RJ SRA SET REFERENCE ADDRESS
  6710. RJ SCM SET CENTRAL MEMORY
  6711. RJ LDC LIST DIRECTIVE CARD
  6712. RJ ICT INITIALIZE CHANNEL RESERVATION TABLE
  6713. RJ SSB SPACEFILL STRING BUFFER
  6714. SA1 F.TCMT
  6715. SA2 NP GET NUMBER OF PP-S
  6716. SX2 X2-11
  6717. SX7 32B SET LAST PP NUMBER FOR 20 PP CONFIGURATION
  6718. PL X2,PPP1 IF 20 PP CONFIGURATION
  6719. SX7 12B SET LAST PPU NUMBER
  6720. PPP1 MX6 0
  6721. SA6 FW INITIALIZE PPU NUMBER
  6722. SA7 A6+B1 SET LAST PPU NUMBER
  6723. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  6724. SA5 PC GET PP COMMUNICATION AREA POINTER
  6725. IX5 X1+X5
  6726. SA5 X5 READ FIRST WORD OF PP COMMUNICATION AREA
  6727. PPP3 SX1 11B
  6728. RJ CPS CHECK PAGE SPACE
  6729. RJ FTR FORMAT 2 COMMUNICATION BLOCKS
  6730. SA1 FW
  6731. SA2 A1+1
  6732. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  6733. SX6 X1+2 ADVANCE PPU NUMBER
  6734. IX7 X6-X2
  6735. PL X7,PPP5 IF LAST PHYSICAL PP PROCESSED
  6736. SX7 X6-10
  6737. NZ X7,PPP4 IF NOT END OF FIRST BANK
  6738. SX6 20B RESET TO BEGINNING OF UPPER BANK
  6739. PPP4 SA6 A1+ UPDATE PPU NUMBER
  6740. JP PPP3 CONTINUE
  6741.  
  6742. PPP5 SA1 C4 NUMBER OF CPP-S
  6743. ZR X1,PPP8 IF NO CPP-S
  6744. BX6 X1
  6745. SA6 LW INITIALIZE LAST CPP NUMBER
  6746. SA6 IC SET *CPP* PROCESSING FLAG
  6747. SX1 13B
  6748. RJ CPS CHECK PAGE SPACE
  6749. PRINT (=2C )
  6750. PRINT (=C* CONCURRENT PP-S COMMUNICATION AREA*)
  6751. PRINT (=2C )
  6752. MX6 0 INITIALIZE CPP NUMBER
  6753. SA6 FW
  6754. SA6 FTRB RESET 2 PP FLAG
  6755. PPP6 SX1 11B
  6756. RJ CPS CHECK PAGE SPACE
  6757. RJ FTR FORMAT 2 COMMUNICATION BLOCKS
  6758. SA1 FW
  6759. SX6 X1+2 ADVANCE CPP NUMBER
  6760. SA2 A1+B1
  6761. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  6762. IX7 X6-X2
  6763. PL X7,PPP7 IF LAST PHYSICAL CPP PROCESSED
  6764. SA6 A1 UPDATE CPP NUMBER
  6765. SX0 X7+B1
  6766. NZ X0,PPP6 IF EVEN NUMBER OF CPP-S
  6767. SX7 1 SET 1 PP FLAG
  6768. SA7 FTRB
  6769. JP PPP6 CONTINUE
  6770.  
  6771. PPP7 BX6 X6-X6 CLEAR PROCESSING CPP FLAG
  6772. SA6 IC
  6773. PPP8 PRINT (=2C )
  6774. PRINT (=C* PSEUDO PP COMMUNICATION AREA*)
  6775. PRINT (=2C )
  6776. SA1 F.TCMT GET ADDRESS OF FIRST PSEUDO AREA
  6777. SA2 PC
  6778. SA3 NP GET NUMBER OF PP-S
  6779. SX6 B1+
  6780. SA6 FTRB SET 1 PSEUDO PP FLAG
  6781. BX6 X6-X6
  6782. LX3 3
  6783. IX3 X2+X3
  6784. SA4 C4
  6785. LX4 3
  6786. IX3 X4+X3
  6787. SA6 FW CLEAR PP NUMBER
  6788. IX3 X1+X3
  6789. SA5 X3+ ADDRESS OF PSEUDO AREA
  6790. RJ FTR PROCESS PSEUDO PP-S
  6791. JP DSD1 RETURN
  6792.  
  6793. * PROCESS TERMINAL OUTPUT.
  6794.  
  6795. PPTN SA0 B0 PRESET PPU NUMBER
  6796. SA5 PC GET PP COMMUNICATION AREA POINTER
  6797. PPT1 PRINT (=2C )
  6798.  
  6799. * PRINT PPU NAMES.
  6800.  
  6801. SA2 PPTA GET LOOP COUNT
  6802. SB2 X2+
  6803. SB7 PRBF PRINT STRING ADDRESS
  6804. PPT2 SX6 A0+
  6805. SA6 //PP SET PPU NUMBER
  6806. RJ BPN BUILD PPU NAME
  6807. BX2 X6
  6808. SB6 7
  6809. RJ UPS FORMAT PPU NAME
  6810. SB2 B2-B1
  6811. SA0 A0+B1 ADVANCE PPU NUMBER
  6812. GT B2,B0,PPT2 IF MORE FOR THIS LINE
  6813. PRINT PRBF,B7-PRBF
  6814.  
  6815. * PRINT EXECUTING PROGRAM NAMES AND CONTROL POINT ASSIGNMENTS.
  6816.  
  6817. SB7 PRBF
  6818. SB2 X5 PP COMMUNICATION AREA INDEX
  6819. MX3 18
  6820. SA4 F.TCMT
  6821. SA2 PPTA GET LOOP COUNT
  6822. SB3 X2+
  6823. PPT3 SA2 B2+X4 READ PP INPUT REGISTER
  6824. MX1 12
  6825. BX1 X1*X2
  6826. NZ X1,PPT4 IF PPU ACTIVE
  6827. SA2 =4L----
  6828. SB6 7
  6829. RJ UPS
  6830. JP PPT5 CONTINUE
  6831.  
  6832. PPT4 BX2 X3*X2 MASK NAME
  6833. SB6 3
  6834. RJ UPS SET NAME IN PRINT STRING
  6835. SX6 1R-
  6836. SA6 B7
  6837. SB7 B7+B1
  6838. SA2 A2 REREAD INPUT REGISTER
  6839. MX1 -5
  6840. LX2 24
  6841. BX1 -X1*X2 CONTROL POINT NUMBER
  6842. LX1 -6
  6843. SB6 B1+B1
  6844. RJ CTS SET CONTROL POINT NUMBER
  6845. SB7 B7+1 SPACE 1
  6846. PPT5 SB2 B2+10B ADVANCE COMMUNICATION AREA ADDRESS
  6847. SB3 B3-1
  6848. GT B3,B0,PPT3 IF MORE FOR THIS LINE
  6849. PRINT PRBF,B7-PRBF
  6850.  
  6851. * PRINT COMMUNICATION AREA ADDRESSES.
  6852.  
  6853. SB7 PRBF
  6854. SA1 PPTA GET LOOP COUNT
  6855. SB2 X1+
  6856. PPT6 BX1 X5
  6857. LX1 -12
  6858. SB6 4
  6859. RJ CTS CONVERT ADDRESS
  6860. SB6 3
  6861. RJ SBL SPACE 3
  6862. SX5 X5+10B ADVANCE ADDRESS
  6863. SB2 B2-1
  6864. GT B2,B0,PPT6 IF MORE FOR THIS LINE
  6865. PRINT PRBF,B7-PRBF
  6866. SA1 NP
  6867. SX2 A0
  6868. IX2 X2-X1
  6869. SA0 A0-12B+20B ADJUST PP NUMBER FOR UPPER BANK
  6870. SA3 PPTA
  6871. SX3 X3-2
  6872. SA4 IC
  6873. NZ X4,PPT7 IF CPP-S ALREADY PROCESSED
  6874. NG X3,PPT8 IF PSEUDO PP-S PROCESSED
  6875. NG X2,PPT1 IF 10 MORE PPUS
  6876. SA2 C4
  6877. ZR X2,PPT7 IF NO CPP-S
  6878. BX6 X2 RESET COUNT FOR CPP-S
  6879. SA6 PPTA
  6880. SA6 IC SET *CPP* PROCESSING FLAG
  6881. PPT6.1 SA0 0 SET *CPP* NUMBER
  6882. JP PPT1 CONTINUE PROCESSING
  6883.  
  6884. PPT7 SX6 B1
  6885. SA6 PPTA SET COUNT FOR PSEUDO PP
  6886. SX6 B0 CLEAR *CPP* PROCESSING FLAG
  6887. SA6 IC
  6888. JP PPT6.1 PROCESS NEXT LINE
  6889.  
  6890. PPT8 SX6 10 RESET LOOP COUNT FOR NEXT CALL
  6891. SA6 PPTA
  6892. JP DSD1 RETURN
  6893.  
  6894.  
  6895. PPTA CON 10 LOOP COUNT
  6896. PROBE SPACE 4,10
  6897. *** PROBE.
  6898. *
  6899. * DUMP *PROBE* TABLES IN *D* FORMAT.
  6900.  
  6901.  
  6902. PROBE DATA 0LPROBE
  6903.  
  6904. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  6905. SA1 F.TCMT
  6906. SA2 X1+SSTL
  6907. LX2 59-30
  6908. NG X2,ERR27 IF PROBE NOT ENABLED
  6909. SA2 X1+PRBP
  6910. PL X2,ERR26 IF PROBE TABLES INTERLOCKED
  6911. SX6 X2 SET FWA OF DUMP
  6912. LX2 -24 SET LWA+1 OF DUMP
  6913. SX2 X2
  6914. IX7 X2+X6
  6915. SX5 =C* PROBE TABLES*
  6916. SB3 B1 SET *D* FORMAT
  6917. SX4 B0 SET READ FROM DUMP FILE
  6918. RJ DTB DUMP TABLES
  6919. EQ DSD1 RETURN
  6920. PROCA SPACE 4,20
  6921. *** PROCA.
  6922. *
  6923. * SPECIFIES THAT THE ENTIRE PROCESSOR OPERAND CACHE
  6924. * SHOULD BE DUMPED.
  6925. *
  6926. * PROCA,FIRST,LAST.
  6927. *
  6928. * FIRST SPECIFIES THE FIRST WORD (HEX) TO BE DUMPED.
  6929. * IF OMITTED, WORD 00 IS USED BY DEFAULT.
  6930. *
  6931. * LAST SPECIFIES THE LAST+1 WORD (HEX) TO BE DUMPED.
  6932. * IF OMITTED, WORD FIRST+1 IS USED BY DEFAULT.
  6933. * IF FIRST IS OMITTED, WORD 4095 IS DEFAULT FOR LAST.
  6934. *
  6935. * THE *PROCA* DIRECTIVE IS APPLICABLE ONLY WHEN DUMPING A
  6936. * CYBER 180-990 MAINFRAME, AND CAUSES THE PROCESSOR LOAD/STORE
  6937. * UNIT (LSU) OPERAND CACHE MEMORY CONTENTS TO BE DUMPED. THE
  6938. * RADIAL MCI IS PRINTED BEFORE PRINTING REGISTER 00. EACH
  6939. * ROW CONTAINS THE WORD NUMBER, AND THE CONTENTS OF THE
  6940. * CORRESPONDING CONTROL WORD AND DATA WORD.
  6941.  
  6942.  
  6943. PROCA DATA 0LPROCA
  6944.  
  6945. PCA1 RJ LDC LIST DIRECTIVE CARD
  6946. SA1 .POC
  6947. SX6 B1+ DISPLAY RADIAL MCI
  6948. RJ FPR FIND PROCESSOR RECORD
  6949. ZR X2,ERR14 IF RECORD NOT FOUND
  6950. SX6 4095 SET DEFAULT LWA+1
  6951. RJ SHA SET HEX ADDRESSES
  6952. PRINT (=C* CONTROL WORDS DATA WORDS*)
  6953. PRINT (=2C )
  6954. RJ SSB CLEAR STRING BUFFER
  6955. PCA4 SA3 FW GET FWA
  6956. LX3 2 CONVERT TO BYTE NUMBER
  6957. RJ FBP FIND BYTE POSITION
  6958.  
  6959. * READ BLOCK OF 60 64-BIT REGISTER WORDS FROM CONTROL
  6960. * WORD AREA AND CORRESPONDING DATA WORD AREA.
  6961.  
  6962. SB6 B0+
  6963. SB7 240
  6964. PCA5 RJ NXB READ 4*60 16-BIT BYTES (64 CM WORDS)
  6965. BX6 X1
  6966. SA6 BUF+B6 WRITE THEM INTO BUF+0 TO BUF+239
  6967. SB6 B6+B1
  6968. LT B6,B7,PCA5 IF LESS THAN 60 WORDS READ
  6969. SA3 FW GET POSITION
  6970. LX3 2
  6971. SX3 X3+4096*4 JUMP TO DATA WORD AREA
  6972. RJ FBP FIND BYTE POSITION
  6973. SB6 0
  6974. SB7 240 READ 60 DATA WORDS AND STORE THEM IN BUF
  6975. PCA6 RJ NXB
  6976. BX6 X1
  6977. SA6 BUF+240+B6 SAVE THEM IN BUF RIGHT AFTER CONTROL WORDS
  6978. SB6 B6+B1
  6979. LT B6,B7,PCA6 IF LESS THAN 60 WORDS READ
  6980. SA0 0 INITIALIZE BUFFER POINTER
  6981. PCA7 SA1 FW GET CURRENT FWA
  6982. SB7 PRBF
  6983. SB6 3
  6984. LX1 59-11
  6985. RJ HTS PLACE ENTRY NUMBER IN OUTPUT FIELD
  6986. SA1 BUF+A0-1 READ CONTENTS OF BUFFER
  6987. SX5 4
  6988. PCA9 SA1 A1+B1
  6989. LX1 59-15
  6990. SB7 B7+2 READ ONE CONTROL WORD
  6991. SB6 4
  6992. RJ HTS
  6993. SX5 X5-1
  6994. NZ X5,PCA9 IF MORE DATA TO READ
  6995. SA1 BUF+240-1+A0 READ CORRESPONDING DATA WORD
  6996. SB7 B7+2
  6997. SX5 4
  6998. PCA10 SA1 A1+B1
  6999. LX1 59-15
  7000. SB7 B7+2
  7001. SB6 4
  7002. RJ HTS
  7003. SX5 X5-1
  7004. NZ X5,PCA10 IF MORE DATA TO READ
  7005. PRINT CCCH,B7-CCCH+1 PRINT OUT LINE
  7006. SA1 FW FWA
  7007. SA2 A1+B1 LWA+1
  7008. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  7009. IX2 X1-X2
  7010. PL X2,PCA11 IF REACHED LWA
  7011. SX6 X1+B1 INCREMENT FWA
  7012. SA6 A1
  7013. SA0 A0+4 INCREMENT BUFFER POINTER
  7014. SX1 A0-240
  7015. NZ X1,PCA7 IF BUFFER NOT EMPTY
  7016. JP PCA4 READ NEXT BLOCK OF WORDS
  7017.  
  7018. PCA11 SA1 NR NEXT TABLE ENTRY
  7019. ZR X1,DSD1 IF NO MORE RECORDS TO PROCESS
  7020. JP PCA1 PROCESS NEXT RECORD
  7021. PROCW SPACE 4,10
  7022. *** PROCW.
  7023. *
  7024. * THE *PROCW* DIRECTIVE CAUSES THE PROCESSOR CONTROLWARE
  7025. * PART NUMBER AND REVISION LEVEL TO BE DUMPED.
  7026.  
  7027.  
  7028. PROCW DATA 0LPROCW
  7029.  
  7030. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  7031. SA1 .PMR
  7032. RJ GID GET ELEMENT ID
  7033. SA2 TMNO+X6
  7034. BX6 X2
  7035. NG X6,ERR14 IF UNUSED MODEL
  7036. SA6 PCWA
  7037. PCW1 RJ LDC LIST DIRECTIVE
  7038. SA1 .PCS
  7039. SX6 B0+ SET NO RADIAL MCI DISPLAY
  7040. RJ FPR FIND PROCESSOR RECORD
  7041. ZR X2,ERR14 IF RECORD NOT FOUND
  7042. SA3 PCWA
  7043. RJ FBP FIND BYTE POSITION
  7044. SA2 =41HCONTROLWARE PART NUMBER/REVISION LEVEL =
  7045. SB6 41
  7046. SB7 PRBF
  7047. RJ UPS UNPACK STRING
  7048. SB5 4
  7049. PCW4 RJ NXB GET NEXT BYTE
  7050. SB6 B1+B1
  7051. LX1 -16 POSITION TO TOP OF WORD
  7052. BX2 X1
  7053. SB5 B5-B1
  7054. RJ SAI SET ASCII INTERPRETATION
  7055. NZ B5,PCW4 IF MORE ASCII TO CONVERT
  7056. PRINT CCCH,B7-CCCH
  7057. SA1 NR
  7058. ZR X1,DSD1 IF DONE, RETURN TO PROCESS NEXT DIRECTIVE
  7059. JP PCW1 PROCESS NEXT CONTROLWARE RECORD
  7060.  
  7061.  
  7062. PCWA CON 0 BYTE OFFSET
  7063.  
  7064. ** TMNO - TABLE OF MODEL NUMBER OFFSETS.
  7065. *
  7066. *T 12/ OFFSET
  7067. *
  7068. * OFFSET = NUMBER OF 16-BIT BYTES TO SKIP TO FIND THE START OF
  7069. * THE MICROCODE NAME IN THE CONTROL STORE RECORD FOR
  7070. * THIS MODEL NUMBER.
  7071. * = -1, IF THE MODEL NUMBER IS NOT VALID.
  7072.  
  7073. TMNO BSS 0
  7074. LOC 0
  7075. CON -1 UNUSED
  7076. CON 8 P1
  7077. CON 12 P2
  7078. CON 4 P3
  7079. CON 20420 THETA
  7080. CON 8 P0
  7081. CON -1 UNUSED
  7082. CON -1 UNUSED
  7083. LOC *O
  7084. PROMR SPACE 4,25
  7085. *** PROMR.
  7086. *
  7087. * SPECIFIES THAT ALL PROCESSOR MAINTENANCE REGISTERS
  7088. * SHOULD BE DUMPED.
  7089. *
  7090. * PROMR,FIRST,LAST.
  7091. *
  7092. * FIRST SPECIFIES THE FIRST REGISTER (HEX) TO BE DUMPED.
  7093. * IF OMITTED, REGISTER 00 IS USED BY DEFAULT.
  7094. *
  7095. * LAST SPECIFIES THE LAST PLUS ONE REGISTER (HEX) TO BE
  7096. * DUMPED. IF OMITTED, FIRST+1 IS USED BY DEFAULT.
  7097. *
  7098. * THE PROMR DIRECTIVE CAUSES THE PROCESSOR MAINTENANCE
  7099. * REGISTERS TO BE DUMPED. FOR EACH REGISTER, THE
  7100. * REGISTER NUMBER, REGISTER CONTENTS, AND REGISTER
  7101. * DESCRIPTION ARE PRINTED. FOR REGISTERS CONTAINING
  7102. * ERROR INDICATORS, DESCRIPTIONS OF ERROR INDICATORS
  7103. * SET ARE PRINTED. THE RADIAL MAINTENANCE CHANNEL
  7104. * INTERFACE (MCI) IS PRINTED BEFORE PRINTING
  7105. * REGISTER 00.
  7106.  
  7107.  
  7108. PROMR DATA 0LPROMR
  7109.  
  7110. PRM1 SA1 .PMR RECORD ID
  7111. SX7 PMRA DESCRIPTOR TABLE ADDRESS
  7112. RJ DMR DUMP MAINTENANCE REGISTERS
  7113. SA1 NR
  7114. NZ X1,PRM1 LOOP FOR MORE RECORDS
  7115. EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
  7116.  
  7117.  
  7118. * DESCRIPTOR FORMAT -
  7119. *
  7120. *T 9/ REGISTER,17/ BDTA,17/ 0,17/ DESCRIPTOR PTR
  7121. *
  7122. * BDTA = BIT DESCRIPTOR TABLE ADDRESS.
  7123.  
  7124. PMRA BSS 0
  7125. SXREG SSMR,(STATUS SUMMARY ),PMRB
  7126. SXREG EIMR,(ELEMENT ID )
  7127. SXREG PPID,(PROCESSOR ID )
  7128. SXREG OIMR,(OPTIONS INSTALLED )
  7129. SXREG PVCM,(VM CAPABILITY LIST )
  7130. SXREG DEMR,(DEPENDENT ENV CTRL )
  7131. SXREG PCSA,(CSA ADDR BEFORE HALT )
  7132. SXREG PCSB,(CONTROL MEM BKPT )
  7133. SXREG PPRG,(PROGRAM ADDR )
  7134. SXREG PMPS,(MTR PROCESS STATE PTR)
  7135. SXREG PMCR,(MTR CONDITION REG ),PMRC
  7136. SXREG PUCR,(USER CONDITION REG )
  7137. SXREG PUPR,(UNTRANSLATABLE PTR )
  7138. SXREG PSTL,(SEGMENT TABLE LENGTH )
  7139. SXREG PSTA,(SEGMENT TABLE ADDRESS)
  7140. SXREG PBCR,(BASE CONSTANT )
  7141. SXREG PPTA,(PAGE TABLE ADDRESS )
  7142. SXREG PPTL,(PAGE TABLE LENGTH )
  7143. SXREG PPSM,(PAGE SIZE MASK )
  7144. SXREG PMDF,(MODEL DEPENDENT FLAGS),,S3+THETA
  7145. SXREG PMDW,(MODEL DEPENDENT WORD ),,S1+S2
  7146. SXREG PMMR,(MTR MASK )
  7147. SXREG PJPS,(JOB PROCESS STATE PTR)
  7148. SXREG PSIT,(SYS INTERVAL TIMER )
  7149. SXREG PPFS,(PROC FAULT STATUS ),,S1+S2
  7150. SXREG PPFS,(PROC FAULT STATUS 0 ),,S3+THETA
  7151. SXREG PCSP,(CONTROL STORE ERR LOG),,S1
  7152. SXREG PCSP,(CONTROL MEMORY PARITY),,S2
  7153. SXREG PPFS+1,(PROC FAULT STATUS 1 ),,S3+THETA
  7154. SXREG PPFS+2,(PROC FAULT STATUS 2 ),,S3+THETA
  7155. SXREG PPFS+3,(PROC FAULT STATUS 3 ),,S3+THETA
  7156. SXREG PPFS+4,(PROC FAULT STATUS 4 ),,S3+THETA
  7157. SXREG PPFS+5,(PROC FAULT STATUS 5 ),,S3+THETA
  7158. SXREG PPFS+6,(PROC FAULT STATUS 6 ),,S3+THETA
  7159. SXREG PPFS+7,(PROC FAULT STATUS 7 ),,S3+THETA
  7160. SXREG PPFS+8,(PROC FAULT STATUS 8 ),,S3+THETA
  7161. SXREG PPFS+9,(PROC FAULT STATUS 9 ),,S3+THETA
  7162. SXREG PPFS+10,(PROC FAULT STATUS A ),,THETA
  7163. SXREG PPFS+11,(PROC FAULT STATUS B ),,THETA
  7164. SXREG PPFS+12,(PROC FAULT STATUS C ),,THETA
  7165. SXREG PPFS+13,(PROC FAULT STATUS D ),,THETA
  7166. SXREG PPFS+14,(PROC FAULT STATUS E ),,THETA
  7167. SXREG PPFS+15,(PROC FAULT STATUS F ),,THETA
  7168. SXREG PRCL,(RETRY CORR ERROR LOG ),,S1+S2
  7169. SXREG PUCS,(CONTROL STORE ERR LOG),,S1
  7170. SXREG PCCL,(CACHE CORR ERR LOG ),,S2
  7171. SXREG PMCL,(MAP CORR ERR LOG ),,S1+S2
  7172. SXREG PPTM,(PROC TEST MODE ),,S1+S2+S3
  7173. SXREG PPTM,(PROC TEST MODE 0 ),,THETA
  7174. SXREG PPTM+1,(PROC TEST MODE 1 ),,THETA
  7175. SXREG PPTM+2,(PROC TEST MODE 2 ),,THETA
  7176. SXREG PPTM+3,(PROC TEST MODE 3 ),,THETA
  7177. SXREG PTPE,(TRAP ENABLE )
  7178. SXREG PTPE+1,(TRAP ENABLE )
  7179. SXREG PTPE+2,(TRAP ENABLE )
  7180. SXREG PTPE+3,(TRAP ENABLE )
  7181. SXREG PTRP,(TRAP PTR )
  7182. SXREG PDLP,(DEBUG LIST PTR )
  7183. SXREG PKPM,(KEYPT MASK )
  7184. SXREG PKPC,(KEYPT CODE )
  7185. SXREG PKCN,(KEYPT CLASS NUMBER )
  7186. SXREG PPIT,(PROC INTERVAL TIMER )
  7187. SXREG PCCF,(CRITICAL FRAME FLAG )
  7188. SXREG PCCF+1,(CRITICAL FRAME FLAG )
  7189. SXREG POCF,(ON CONDITION FLAG )
  7190. SXREG POCF+1,(ON CONDITION FLAG )
  7191. SXREG PDBI,(DEBUG INDEX )
  7192. SXREG PDBM,(DEBUG MASK )
  7193. SXREG PUSM,(USER MASK )
  7194. SXREG PRDM,(REG FILE DUMP ADDRESS),,S1+S2
  7195. CON 0
  7196.  
  7197. * REG *SSMR* (STATUS SUMMARY) BIT INTERPRETATIONS.
  7198. *
  7199. * DESCRIPTOR FORMAT -
  7200. *
  7201. *T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
  7202.  
  7203. PMRB BSS 0
  7204. S2BIT 58,(EXECUTIVE MONITOR MODE)
  7205. S2BIT 59,(SHORT ENVIRON WARNING)
  7206. S2BIT 60,(PROCESSOR HALT )
  7207. S2BIT 61,(UNCORRECTABLE ERROR )
  7208. S2BIT 62,(CORRECTED ERROR )
  7209. S2BIT 63,(PHYSICAL ENVIRON WARNING)
  7210. CON 0
  7211.  
  7212. * REG *PMCR* (MTR COND REG) BIT INTERPRETATIONS.
  7213. *
  7214. * DESCRIPTOR FORMAT -
  7215. *
  7216. *T 9/ BIT NO.,17/ 0,17/ 0,17/ DESCRIPTOR PTR
  7217.  
  7218. PMRC BSS 0
  7219. S2BIT 48,(DETECTED UNCORR ERR )
  7220. S2BIT 50,(SHORT WARNING )
  7221. S2BIT 51,(INSTRUCTION SPEC ERROR)
  7222. S2BIT 52,(ADDRESS SPEC ERROR )
  7223. S2BIT 53,(C170 EXCHANGE REQUEST)
  7224. S2BIT 54,(ACCESS VIOLATION )
  7225. S2BIT 55,(ENVIRONMENT SPEC ERROR)
  7226. S2BIT 56,(EXTERNAL INTERRUPT )
  7227. S2BIT 57,(PAGE TBL SEARCH W/O FIND)
  7228. S2BIT 58,(SYSTEM CALL )
  7229. S2BIT 59,(SYSTEM INTERVAL TIMER)
  7230. S2BIT 60,(INCORRECT SEG/RING 0 )
  7231. S2BIT 61,(OUTWARD CALL/INWARD RETURN)
  7232. S2BIT 62,(SOFT/CORRECTED ERROR )
  7233. S2BIT 63,(TRAP EXCEPTION )
  7234. CON 0
  7235. *
  7236. * SECOND OCCURANCE OF REGISTER 31 DESCRIPTOR.
  7237. *
  7238. PMRD BSS 0
  7239. SXREG PCSA,(CSA ADDR AFTER HALT )
  7240. CON 0
  7241. PROPM SPACE 4,10
  7242. *** PROPM.
  7243. *
  7244. * DUMP CYBER 180-990 PROCESSOR PAGE MAP.
  7245. *
  7246. * THE *PROPM* DIRECTIVE IS APPLICABLE ONLY WHEN DUMPING A
  7247. * CYBER 180-990 MAINFRAME, AND CAUSES THE PROCESSOR PAGE MAP
  7248. * TO BE DUMPED. THE RADIAL MCI IS PRINTED BEFORE PRINTING
  7249. * REGISTER 00. THERE ARE NO PARAMETERS. FOR EACH REGISTER,
  7250. * THE SET NUMBER, ENTRY NUMBER WITHIN THE SET, AND THE REGISTER
  7251. * CONTENTS ARE PRINTED.
  7252.  
  7253.  
  7254. PROPM DATA 0LPROPM
  7255.  
  7256. SA5 .PPM RECORD ID
  7257. SX7 3 MAXIMUM SET NUMBER
  7258. EQ PSM1 PROCESS PAGE MAP
  7259. PRORF SPACE 4,20
  7260. *** PRORF.
  7261. *
  7262. * SPECIFIES THAT THE ENTIRE PROCESSOR REGISTER FILE
  7263. * SHOULD BE DUMPED.
  7264. *
  7265. * PRORF,FIRST,LAST.
  7266. *
  7267. * FIRST SPECIFIES THE FIRST REGISTER (HEX) TO BE DUMPED.
  7268. * IF OMITTED, REGISTER 00 IS USED BY DEFAULT.
  7269. *
  7270. * LAST SPECIFIES THE LAST+1 REGISTER (HEX) TO BE DUMPED.
  7271. * IF OMITTED, FIRST+1 IS USED BY DEFAULT.
  7272. *
  7273. * THE *PRORF* DIRECTIVE CAUSES THE PROCESSOR REGISTER
  7274. * FILE TO BE DUMPED. THE RADIAL MCI IS PRINTED
  7275. * BEFORE PRINTING REGISTER 00. FOR EACH REGISTER,
  7276. * THE REGISTER NUMBER AND REGISTER CONTENTS ARE
  7277. * PRINTED.
  7278.  
  7279.  
  7280. PRORF DATA 0LPRORF
  7281.  
  7282. SA1 .PMR
  7283. RJ GID GET ELEMENT ID
  7284. SX6 X6-4
  7285. NZ X6,PRF2 IF NOT CYBER 180-990
  7286. RJ TPF
  7287. EQ DSD1 RETURN
  7288.  
  7289. PRF1 SA1 NR
  7290. ZR X1,DSD1 IF NO MORE RECORDS TO PROCESS
  7291. PRF2 RJ LDC DISPLAY DIRECTIVE
  7292. SA1 .PRF
  7293. SX6 1 DISPLAY RADIAL MCI
  7294. RJ FPR FIND PROCESSOR RECORD
  7295. ZR X2,ERR14 IF RECORD NOT FOUND
  7296. MX0 -18 PRESET *LAST* TO ACTUAL NUMBER OF REGS
  7297. BX6 -X0*X2
  7298. RJ SHA SET HEX ADDRESSES
  7299. SA3 FW
  7300. LX3 2 CONVERT STARTING REGISTER NUMBER TO BYTE
  7301. RJ FBP FIND BYTE POSITION
  7302. PRF3 SA1 FW
  7303. SX6 X1+B1
  7304. SA2 A1+B1 LAST REGISTER+1 TO PRINT
  7305. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  7306. SA6 A1 INCREMENT REGISTER NUMBER
  7307. IX3 X2-X6
  7308. NG X3,PRF1 IF ALL REGISTERS PRINTED
  7309. SB7 PRBF
  7310. SB6 B1+B1
  7311. LX1 59-7
  7312. RJ HTS DISPLAY REGISTER NUMBER
  7313. RJ DHR DISPLAY REGISTER
  7314. EQ PRF3 DISPLAY NEXT REGISTER
  7315. PROSM SPACE 4,10
  7316. *** PROSM.
  7317. *
  7318. * DUMP CYBER 180-990 PROCESSOR SEGMENT MAP.
  7319. *
  7320. * THE *PROSM* DIRECTIVE IS APPLICABLE ONLY WHEN DUMPING A
  7321. * CYBER 180-990, AND CAUSES THE PROCESSOR SEGMENT MAP TO BE
  7322. * DUMPED. THE RADIAL MCI IS PRINTED BEFORE PRINTING REGISTER
  7323. * 00. THERE ARE NO PARAMETERS. FOR EACH REGISTER, THE
  7324. * SET NUMBER, ENTRY NUMBER WITHIN THE SET, AND THE REGISTER
  7325. * CONTENTS ARE PRINTED.
  7326.  
  7327.  
  7328. PROSM DATA 0LPROSM
  7329.  
  7330. SA5 .PSM RECORD ID
  7331. SX7 B1+ MAXIMUM SET NUMBER
  7332. PSM1 SA7 LW SAVE LAST SET NUMBER
  7333. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  7334. PSM2 RJ LDC DISPLAY DIRECTIVE
  7335. BX1 X5
  7336. SX6 B1 DISPLAY RADIAL MCI
  7337. RJ FPR FIND PROCESSOR RECORD
  7338. ZR X2,ERR14 IF RECORD NOT FOUND
  7339. BX7 X7-X7
  7340. SX3 B0
  7341. SA7 FW INITIALIZE SET NUMBER
  7342. RJ FBP POSITION DUMP FILE
  7343. SA0 0 INITIALIZE ENTRY NUMBER
  7344. PRINT (=C* SET ENTRY CONTENTS *)
  7345. PRINT (=2C )
  7346. PSM3 SA1 FW DISPLAY SET NUMBER
  7347. SX6 X1+1R0
  7348. SA6 PRBF+1
  7349. SX1 A0 DISPLAY ENTRY NUMBER
  7350. SB6 B1+B1
  7351. SB7 PRBF+6
  7352. RJ CDD
  7353. BX2 X6
  7354. LX2 59-11
  7355. RJ UPS
  7356. SA0 A0+1 INCREMENT ENTRY NUMBER
  7357. RJ DHR DISPLAY REGISTER
  7358. SX3 A0-32D
  7359. NG X3,PSM3 IF NOT FINISHED WITH SET
  7360. SA2 FW GET SET NUMBER
  7361. SA1 A2+B1 GET LAST SET NUMBER
  7362. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  7363. IX1 X1-X2
  7364. ZR X1,PSM4 IF DONE
  7365. SX7 X2+B1 INCREMENT SET NUMBER
  7366. SA7 A2
  7367. SA0 0 RESET ENTRY NUMBER
  7368. EQ PSM3 DISPLAY NEXT SET
  7369.  
  7370. PSM4 SA1 NR NEXT TABLE ENTRY
  7371. NZ X1,PSM2 IF MORE RECORDS TO PROCESS
  7372. EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
  7373. PROXP SPACE 4,10
  7374. *** PROXP.
  7375. *
  7376. * DUMP CYBER 170-8X5 EXCHANGE PACKAGE.
  7377. *
  7378. * THE *PROXP* DIRECTIVE CAUSES THE PROCESSOR EXCHANGE
  7379. * PACKAGE TO BE DUMPED. THE RADIAL MCI IS PRINTED BEFORE
  7380. * REGISTER *SSMR*. FOR EACH REGISTER, THE REGISTER NUMBER,
  7381. * REGISTER CONTENTS, AND DESCRIPTIVE INFORMATION IS PRINTED.
  7382.  
  7383.  
  7384. PROXP DATA 0LPROXP
  7385.  
  7386. RJ LDC LIST DIRECTIVE CARD
  7387. RJ GHA GET HARDWARE ADDRESS
  7388. PRX1 SX3 1 DISPLAY RADIAL MCI
  7389. RJ PTX POSITION TO EXCHANGE PACKAGE
  7390. SX6 51 DISPLAY FULL EXCHANGE PACKAGE
  7391. SX1 0
  7392. RJ FXA FORMAT EXCHANGE AREA
  7393. SA1 NR NEXT DIRECTORY TABLE ENTRY
  7394. ZR X1,DSD1 IF NO MORE TO PROCESS
  7395. SB6 0 NO ADDRESS SPECIFIED
  7396. EQ PRX1 PROCESS NEXT EXCHANGE PACKAGE
  7397. PST SPACE 4,10
  7398. *** PST.
  7399. *
  7400. * DUMP PROGRAM STATUS TABLE AND
  7401. * ENTRY POINT DIRECTORY IN *D* FORMAT.
  7402.  
  7403.  
  7404. PST DATA 0LPST
  7405.  
  7406. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  7407. SA1 F.TCMT
  7408. SA2 X1+PSTP GET FWA PST
  7409. AX2 12
  7410. SX6 X2
  7411. AX2 24 GET LWA+1 PST
  7412. SX7 X2
  7413. SX5 =C* PROGRAM STATUS TABLE*
  7414. SB3 B1 SET *D* FORMAT
  7415. SX4 B0 SET READ FROM DUMP FILE
  7416. RJ DTB DUMP PST
  7417. SA1 CPRA+1 GET FWA EPD
  7418. SA2 F.TCMT GET LWA+1 EPD
  7419. SA2 X2+LBDP
  7420. AX2 12
  7421. BX6 X1
  7422. SX7 X2
  7423. SB3 B0 SET *D* FORMAT
  7424. SX5 =C* ENTRY POINT DIRECTORY*
  7425. SX4 0 SET READ FROM DUMP FILE
  7426. RJ DTB DUMP EPD
  7427. EQ DSD1 RETURN
  7428. PUT SPACE 4,10
  7429. *** PUT.
  7430. * DUMP ALL NONZERO PHYSICAL UNIT TABLE ENTRIES.
  7431. *
  7432. * PUT,E1,E2,...,EN.
  7433. * DUMP SELECTED PHYSICAL UNIT TABLE ENTRIES.
  7434.  
  7435.  
  7436. PUT DATA 0LPUT
  7437.  
  7438. SX5 =C* PHYSICAL UNIT TABLE*
  7439. SX6 TPUE SET FORMAT TABLE POINTERS ADDRESS
  7440. SX7 =4HPUT SET TABLE NAME ADDRESS
  7441. SB2 /HIO/PUTP SET BUFFERED DEVICE TABLE INDEX
  7442. RJ DBT DUMP *PUT*
  7443. EQ DSD1 RETURN
  7444. PX SPACE 4,25
  7445. *** PX,N1,N2,...,NN.
  7446. *
  7447. * DUMP 16-BIT PP MEMORY IN HEX BLOCK FORMAT.
  7448. *
  7449. * NI NUMBER OF PP TO BE DUMPED. IF OMITTED,
  7450. * ALL PP-S ARE DUMPED.
  7451. *
  7452. * THE *PX* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED
  7453. * IN HEXADECIMAL BLOCK FORMAT WHERE EACH BLOCK
  7454. * REPRESENTS 256 WORDS. EACH 16-BIT WORD IS
  7455. * REPRESENTED BY 4 HEXADECIMAL DIGITS. THE BLOCKS
  7456. * ARE READ BY COLUMN (TOP TO BOTTOM), WHERE EACH
  7457. * COLUMN CONTAINS 16 16-BIT WORDS NUMBERED
  7458. * 0 THRU F. THERE ARE 16 COLUMNS IN EACH BLOCK
  7459. * NUMBERED 0 THRU F. REPETITIVE DATA IS NOT
  7460. * SUPPRESSED AND ZERO WORDS ARE REPRESENTED BY
  7461. * FOUR HYPHENS. THE CONTENTS OF THE R-REGISTER
  7462. * IN HEXADECIMAL PRECEDES THE FIRST BLOCK FOR
  7463. * EACH PP. OUTPUT TO THE TERMINAL IS NOT PROVIDED.
  7464.  
  7465.  
  7466. PX DATA 0LPX
  7467.  
  7468. SX6 1 SET HEX BLOCK FORMAT
  7469. EQ QOD1 DUMP PP/CPP
  7470. Q SPACE 4,19
  7471. *** Q.
  7472. * DUMP ALL PPUS IN LINE FORMAT WITH INTERPRETATION.
  7473. *
  7474. * Q,N1,N2,...,NN.
  7475. * DUMP SELECTED PPUS.
  7476. *
  7477. * EACH LINE CONTAINS 20B BYTES PRINTED IN TWO SETS OF 10B.
  7478. * EACH SET OF 10B CONSISTS OF AN ADDRESS, 10B DATA BYTES AND
  7479. * 16D DISPLAY CODE CHARACTERS INTERPRETATION. REPETITIVE
  7480. * LINES ARE SUPPRESSED. ZERO BYTES ARE PRINTED AS *----*.
  7481. *
  7482. * FOR TERMINAL OUTPUT, THE DIRECTIVE FORMAT IS -
  7483. *
  7484. * Q,N,FWA,LWA+1.
  7485. *
  7486. * DATA IS DUMPED 10B BYTES PER LINE WITH DISPLAY CODE
  7487. * INTERPRETATION. ZERO BYTES ARE REPRESENTED AS *----*.
  7488. * FWA AND LWA+1 ARE ADJUSTED SO THAT THE DUMP LIMITS
  7489. * FALL ON A MULTIPLE OF 10B.
  7490.  
  7491.  
  7492. Q DATA 0LQ
  7493.  
  7494. SA1 TF
  7495. NZ X1,QTN IF TERMINAL OUTPUT
  7496. SX6 B0 INITIALIZE FOR PPU DUMP
  7497. QPR1 RJ IPD
  7498. QPR2 RJ SNP SELECT NEXT PPU
  7499. ZR X1,DSD1 IF NO MORE TO DUMP
  7500. RJ DPQ DUMP PPU IN *Q* FORMAT
  7501. EQ QPR2 CONTINUE
  7502.  
  7503. * PROCESS TERMINAL OUTPUT.
  7504.  
  7505. QTN SB7 0
  7506. RJ ASD ASSEMBLE PPU NUMBER
  7507. NZ X4,ERR6 IF ERROR
  7508. BX7 X4
  7509. SA7 IPDA
  7510. SA6 //PP SET PPU NUMBER
  7511. SA1 IC+1 GET PP TYPE
  7512. BX6 X1
  7513. SA6 A1-B1 SET *CPP* PROCESSING FLAG
  7514. RJ RPD READ PPU DATA TO CORE
  7515. RJ SSB CLEAR PRINT STRING
  7516. SB7 B0
  7517. RJ ASD ASSEMBLE FWA FOR DUMP
  7518. NZ X4,ERR6 IF ERROR
  7519. MX7 -3
  7520. BX6 X6*X7 ROUND DOWN
  7521. SA6 FW SET DUMP FWA
  7522. SX6 X6+10B
  7523. SA6 LW PRESET LWA+1
  7524. RJ ASD ASSEMBLE LWA+1
  7525. NZ X4,QTN1 IF NOT SPECIFIED
  7526. SA6 LW
  7527. QTN1 SA1 FW
  7528. SB2 X1+ SET DUMP ADDRESS
  7529. SB3 10B LOOP COUNT
  7530. SB4 BUF BYTE BUFFER ADDRESS
  7531. QTN2 SX1 B2
  7532. RJ RPB READ BYTE
  7533. SA6 B4 STORE IN BUFFER
  7534. SB2 B2+B1
  7535. SB4 B4+B1
  7536. SB3 B3-B1
  7537. GT B3,B0,QTN2 IF MORE BYTES TO READ
  7538. SX4 B2-10B SET ADDRESS
  7539. SB2 BUF BYTE BUFFER ADDRESS
  7540. SB7 PRBF PRINT STRING ADDRESS
  7541. RJ DTQ FORMAT TEN BYTES
  7542. PRINT PRBF,B7-PRBF
  7543. SA1 FW
  7544. SA2 LW
  7545. SX6 X1+10B
  7546. SA6 A1 UPDATE DUMP ADDRESS
  7547. IX6 X6-X2
  7548. NG X6,QTN1 IF MORE TO DUMP
  7549. JP DSD1 RETURN
  7550. QF SPACE 4,10
  7551. *** QF.
  7552. * DUMP ALL FLPPS IN LINE FORMAT WITH INTERPRETATION.
  7553. *
  7554. * QF,N1,N2,...,NN.
  7555. * DUMP SELECTED FLPPS.
  7556. *
  7557. * EACH LINE CONTAINS 20B BYTES PRINTED IN TWO SETS OF 10B.
  7558. * EACH SET OF 10B CONSISTS OF AN ADDRESS, 10B DATA BYTES AND
  7559. * 16D DISPLAY CODE CHARACTERS INTERPRETATION. REPETITIVE
  7560. * LINES ARE SUPPRESSED. ZERO BYTES ARE PRINTED AS *----*.
  7561.  
  7562.  
  7563. QF DATA 0LQF
  7564.  
  7565. SX6 B1 INITIALIZE FOR FLPP DUMP
  7566. EQ QPR1 DUMP FLPPS
  7567. QFT SPACE 4,10
  7568. *** QFT.
  7569. *
  7570. * DUMP QUEUE FILE TABLE WITH INTERPRETATION.
  7571.  
  7572.  
  7573. QFT DATA 0LQFT
  7574.  
  7575. STBL QFT SET TABLE POINTERS
  7576. SX5 =C* QUEUE FILE TABLE*
  7577. RJ DTI DUMP TABLE WITH INTERPRETATION
  7578. EQ DSD1 RETURN
  7579. QOA SPACE 4,25
  7580. *** QOA,N1,N2,...,NN. (FOR PRINTER OUTPUT)
  7581. *
  7582. * QOA,N,FWA,LWA,R. (FOR TERMINAL OUTPUT)
  7583. *
  7584. * NI NUMBER OF PP TO BE DUMPED.
  7585. * IF OMITTED, ALL PP-S ARE DUMPED.
  7586. *
  7587. * N NUMBER OF PP TO BE DUMPED.
  7588. * IF OMITTED, ZERO IS ASSUMED.
  7589. *
  7590. * FWA FIRST WORD ADDRESS (OCTAL) TO BE DUMPED.
  7591. * IF OMITTED, ZERO IS ASSUMED.
  7592. *
  7593. * LWA LAST WORD ADDRESS + 1 (OCTAL) TO BE DUMPED.
  7594. * IF OMITTED, FWA + 1 IS ASSUMED.
  7595. *
  7596. * R IF PRESENT, SPECIFIES THAT R-REGISTER
  7597. * SHOULD BE DUMPED.
  7598. *
  7599. * THE *QOA* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED IN
  7600. * OCTAL LINE FORMAT WITH ASCII CODE INTERPRETATION.
  7601.  
  7602.  
  7603. QOA DATA 0LQOA
  7604. SX6 3 SET OCTAL LINE ASCII CODE FORMAT
  7605. EQ QOD1 DUMP PP MEMORY
  7606. QOD SPACE 4,30
  7607. *** QOD,N1,N2,...,NN. (FOR PRINTER OUTPUT)
  7608. *
  7609. * QOD,N,FWA,LWA,R. (FOR TERMINAL OUTPUT)
  7610. *
  7611. * NI NUMBER OF PP TO BE DUMPED.
  7612. * IF OMITTED, ALL PP-S ARE DUMPED.
  7613. *
  7614. * N NUMBER OF PP TO BE DUMPED.
  7615. * IF OMITTED, ZERO IS ASSUMED.
  7616. *
  7617. * FWA FIRST WORD ADDRESS (OCTAL) TO BE DUMPED.
  7618. * IF OMITTED, ZERO IS ASSUMED.
  7619. *
  7620. * LWA LAST WORD ADDRESS + 1 (OCTAL) TO BE DUMPED.
  7621. * IF OMITTED, LWA+10B IS ASSUMED.
  7622. *
  7623. * R IF PRESENT, SPECIFIES THAT R-REGISTER
  7624. * SHOULD BE DUMPED.
  7625. *
  7626. * THE *QOD* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED
  7627. * IN OCTAL LINE FORMAT WITH DISPLAY CODE INTERPRETATION.
  7628. * EACH LINE CONTAINS AN OCTAL ADDRESS, THE CONTENTS OF
  7629. * EIGHT 16-BIT WORDS, AND DISPLAY CODE CHARACTER
  7630. * INTERPRETATION. EACH WORD IS REPRESENTED BY
  7631. * 6 OCTAL DIGITS UNLESS THE UPPER 4 BITS OF THE
  7632. * WORD ARE ZERO, WHEN THE WORD IS REPRESENTED BY
  7633. * 4 OCTAL DIGITS. ZERO WORDS ARE REPRESENTED BY
  7634. * 4 HYPHENS. REPETITIVE LINES ARE SUPPRESSED. IF
  7635. * SPECIFIED, THE R-REGISTER PRECEDES THE FIRST LINE
  7636. * OF THE DUMP.
  7637.  
  7638.  
  7639. QOD DATA 0LQOD
  7640.  
  7641. SX6 2 SET OCTAL LINE DISPLAY CODE FORMAT
  7642. QOD1 SA1 //AP
  7643. ZR X1,ERR25 IF NO *IOU* SUBSYSTEM
  7644. SA6 CPRA+3 DUMP FORMAT CODE
  7645. SA1 PS
  7646. BX6 X1
  7647. SA6 A6-B1 SET R-REGISTER DUMP
  7648. SA6 A6-B1 SET LWA+1
  7649. AX1 13
  7650. LX7 X1,B1
  7651. SA7 K4 SET BUFFER LENGTH
  7652. BX6 X6-X6
  7653. RJ IPD INITIALIZE FOR 16-BIT PP DUMP
  7654. SA1 TF
  7655. ZR X1,QOD5 IF PRINTER OUTPUT
  7656. BX7 X7-X7 PRESET NOT R-REGISTER DUMP
  7657. SB7 B0 ASSEMBLE PP NUMBER
  7658. SA7 CPRA+2
  7659. RJ ASD
  7660. NZ X4,ERR6 IF ERROR
  7661. RJ SPD SET UP PP/CPP DUMP
  7662. SA1 CPRA+3
  7663. SX1 X1-4
  7664. PL X1,QOD2 IF HEXADECIMAL ADDRESSES
  7665. SB7 B0 ASSEMBLE OCTAL FWA FOR DUMP
  7666. RJ ASD
  7667. NZ X4,ERR6 IF ERROR
  7668. MX7 -2
  7669. BX6 X6*X7 ROUND FWA DOWN
  7670. SA6 CPRA SET DUMP FWA
  7671. SX6 X6+10B
  7672. SA6 CPRA+1 PRESET DUMP LWA+1
  7673. RJ ASD
  7674. EQ QOD4 ASSEMBLE R-REGISTER PARAMETER
  7675.  
  7676. QOD2 RJ ASX ASSEMBLE HEX FWA
  7677. ZR B6,QOD3 IF END OF DIRECTIVE
  7678. NZ X4,ERR6 IF ERROR
  7679. MX7 -3
  7680. BX6 X6*X7 ROUND FWA DOWN
  7681. QOD3 SA6 CPRA SET DUMP FWA
  7682. SX6 X6+10B
  7683. SA6 CPRA+1 PRESET DUMP LWA+1
  7684. RJ ASX
  7685. QOD4 ZR B6,QOD6 IF END OF DIRECTIVE
  7686. NZ X4,QOD6 IF CONVERSION ERROR
  7687. SA6 CPRA+1 SET DUMP LWA+1
  7688. RJ ASN ASSEMBLE R-REGISTER PARAMETER
  7689. SA6 CPRA+2
  7690. EQ QOD6 DUMP PP/CPP
  7691.  
  7692. QOD5 RJ SNP SELECT NEXT PP TO DUMP
  7693. ZR X1,DSD1 IF NO MORE PP-S
  7694. QOD6 RJ CPD COPY PP DATA TO BUFFER
  7695. SA1 CPRA DUMP 16-BIT PP
  7696. RJ DSP
  7697. SA1 TF
  7698. ZR X1,QOD5 IF PRINTER OUTPUT
  7699. EQ DSD1 RETURN TO PROCESS NEXT DIRECTIVE
  7700. QXA SPACE 4,25
  7701. *** QXA,N1,N2,...,NN. (FOR PRINTER OUTPUT)
  7702. *
  7703. * QXA,N,HFWA,HLWA,R. (FOR TERMINAL OUTPUT)
  7704. *
  7705. * NI NUMBER OF PP TO BE DUMPED.
  7706. * IF OMITTED, ALL PP-S ARE DUMPED.
  7707. *
  7708. * N NUMBER OF PP TO BE DUMPED.
  7709. * IF OMITTED, ZERO IS ASSUMED.
  7710. *
  7711. * HFWA FIRST WORD ADDRESS (HEX) TO BE DUMPED.
  7712. * IF OMITTED, ZERO IS ASSUMED.
  7713. *
  7714. * HLWA LAST WORD ADDRESS + 1 (HEX) TO BE DUMPED.
  7715. * IF OMITTED, FWA + 1 IS ASSUMED.
  7716. *
  7717. * R IF PRESENT, SPECIFIES THAT R-REGISTER
  7718. * SHOULD BE DUMPED.
  7719. *
  7720. * THE *QXA* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED
  7721. * IN HEX LINE FORMAT WITH ASCII CODE INTERPRETATION.
  7722.  
  7723.  
  7724. QXA DATA 0LQXA
  7725.  
  7726. SX6 5 SET HEX LINE ASCII CODE FORMAT
  7727. EQ QOD1 DUMP PP MEMORY
  7728. QXD SPACE 4,25
  7729. *** QXD,N1,N2,...,NN. (FOR PRINTER OUTPUT)
  7730. *
  7731. * QXD,N,HFWA,HLWA,R. (FOR TERMINAL OUTPUT)
  7732. *
  7733. * NI NUMBER OF PP TO BE DUMPED.
  7734. * IF OMITTED, ALL PP-S ARE DUMPED.
  7735. *
  7736. * N NUMBER OF PP TO BE DUMPED.
  7737. * IF OMITTED, ZERO IS ASSUMED.
  7738. *
  7739. * HFWA FIRST WORD ADDRESS (HEX) TO BE DUMPED.
  7740. * IF OMITTED, ZERO IS ASSUMED.
  7741. *
  7742. * HLWA LAST WORD ADDRESS + 1 (HEX) TO BE DUMPED.
  7743. * IF OMITTED, FWA + 1 IS ASSUMED.
  7744. *
  7745. * R IF PRESENT, SPECIFIES THAT R-REGISTER
  7746. * SHOULD BE DUMPED.
  7747. *
  7748. * THE *QXD* DIRECTIVE CAUSES PP MEMORY TO BE DUMPED
  7749. * IN HEX LINE FORMAT WITH DISPLAY CODE INTERPRETATION.
  7750.  
  7751.  
  7752. QXD DATA 0LQXD
  7753.  
  7754. SX6 4 SET HEX LINE DISPLAY CODE FORMAT
  7755. EQ QOD1 DUMP PP MEMORY
  7756. RA SPACE 4,3
  7757. *** RA,NNNNNNN.
  7758. *
  7759. * RESET REFERENCE ADDRESS TO NNNNNNN.
  7760.  
  7761.  
  7762. RA DATA 0LRA
  7763.  
  7764. RJ LDC LIST DIRECTIVE CARD
  7765. SB7 0 SET OCTAL BASE
  7766. RJ ASD ASSEMBLE NNNNNNN
  7767. NZ X4,ERR6 IF ASSEMBLY ERROR
  7768. SA6 UA SET USER CONTROLLED REFERENCE ADDRESS
  7769. RJ SRA SET REFERENCE ADDRESS
  7770. SA6 US SET USER CONTROLLED RA (SUBTITLE)
  7771. JP DSD1 RETURN
  7772. RAC SPACE 4,3
  7773. *** RAC,NN.
  7774. *
  7775. * RESET REFERENCE ADDRESS TO THE RA OF CONTROL POINT NN.
  7776.  
  7777.  
  7778. RAC DATA 0LRAC
  7779.  
  7780. RJ LDC LIST DIRECTIVE CARD
  7781. SB7 0 SET OCTAL BASE
  7782. RJ ASD ASSEMBLE CONTROL POINT NUMBER
  7783. NZ X4,ERR6 IF ASSEMBLY ERROR
  7784. RJ CRA COMPUTE CONTROL POINT REFERENCE ADDRESS
  7785. SA6 UA SET USER CONTROLLED REFERENCE ADDRESS
  7786. RJ SRA SET REFERENCE ADDRESS
  7787. SA6 US SET USER CONTROLLED RA (SUBTITLE)
  7788. JP DSD1 RETURN
  7789. RCL SPACE 4,3
  7790. *** RCL.
  7791. *
  7792. * DUMP RESIDENT CENTRAL LIBRARY IN *C* FORMAT.
  7793.  
  7794.  
  7795. RCL DATA 0LRCL
  7796.  
  7797. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  7798. RJ SCM SELECT CENTRAL MEMORY
  7799. SA7 RI
  7800. SX6 0
  7801. RJ SRA SET REFERENCE ADDRESS
  7802. RJ LDC LIST DIRECTIVE CARD
  7803. SA1 F.TCMT
  7804. SA2 X1+RCLP GET FWA RCL
  7805. LX2 24
  7806. SX6 X2
  7807. SA6 CPRA SAVE FWA RCL
  7808. SB2 A6+
  7809. RJ POM POSITION TO PROGRAM LENGTH
  7810. GETCM
  7811. BX5 X6
  7812. ZR X5,ERR31 IF RCL EMPTY
  7813. PRINT (=2C )
  7814. PRINT (=C* RESIDENT CENTRAL LIBRARY*)
  7815. PRINT (=2C )
  7816. RCL1 SA3 CPRA SET LWA+1 OF NEXT PROGRAM
  7817. IX7 X5+X3
  7818. SX7 X7
  7819. SA7 A3+B1
  7820. RJ PCM POSITION TO RCL
  7821. SB2 CPRA
  7822. RJ PMD PROCESS MEMORY DUMP
  7823. SA2 CPRA+1 SET FWA OF NEXT PROGRAM
  7824. SX6 X2
  7825. SB2 A2-B1
  7826. SA6 CPRA
  7827. RJ POM POSITION TO NEXT PROGRAM LENGTH
  7828. GETCM
  7829. BX5 X6
  7830. ZR X5,DSD1 IF NO MORE PROGRAMS - RETURN
  7831. PRINT (=2C ) SPACE BETWEEN PROGRAMS
  7832. PRINT (=2C )
  7833. PRINT (=2C )
  7834. PRINT (=2C )
  7835. PRINT (=2C )
  7836. EQ RCL1 DUMP NEXT PROGRAM
  7837. READ SPACE 4,14
  7838. *** READ,LFN.
  7839. * READ DIRECTIVE INPUT FROM FILE *LFN* UNTIL END OF RECORD.
  7840. * RECORDS MUST BE IN TEXT FORMAT WHERE THE FIRST WORD OF THE
  7841. * RECORD IS THE NAME.
  7842. *
  7843. * READ,LFN,NAME.
  7844. * READ ONE NAMED RECORD FROM FILE *LFN*. THE FILE IS SEARCHED
  7845. * FROM CURRENT POSITION TO END OF FILE OR AN EMPTY RECORD.
  7846. *
  7847. * READ,LFN,*.
  7848. * READ ALL RECORDS TILL EOF OR AN EMPTY RECORD.
  7849. *
  7850. * AT END OF READ PROCESSING, INPUT RESUMES FROM THE ORIGINAL
  7851. * INPUT FILE.
  7852.  
  7853.  
  7854. READ DATA 0LREAD
  7855.  
  7856. RJ LDC LIST DIRECTIVE CARD
  7857. RJ ASN ASSEMBLE FILE NAME
  7858. ZR B6,ERR12 IF NULL NAME
  7859. SX7 B6+42
  7860. NG X7,ERR12 IF NAME TOO LONG
  7861. SX7 X7-42
  7862. ZR X7,ERR12 IF NULL NAME
  7863. SX7 B1
  7864. BX6 X6+X7
  7865. SA6 J SET FILE NAME IN FET
  7866. SA1 A6+B1 READ *FIRST* POINTER
  7867. SX6 X1
  7868. SA6 A1+B1 IN = FIRST
  7869. SA6 A6+B1 OUT = IN
  7870. SX2 J CHECK IF TERMINAL FILE
  7871. RJ STF
  7872. NZ X6,RCN0 IF NOT TERMINAL FILE
  7873. SX7 1 SET READ TO EOR
  7874. SA7 AF
  7875. JP DSD1 RETURN
  7876.  
  7877. RCN0 SA1 CH
  7878. SA1 X1+
  7879. SX6 X1-1R.
  7880. ZR X6,RCN1 IF RECORD NAME NOT SPECIFIED
  7881. RJ ASN ASSEMBLE RECORD NAME
  7882. RCN1 RJ GSR GET SELECTED RECORD
  7883. ZR X7,ERR14 IF RECORD NOT FOUND
  7884. SA7 AF SET ALTERNATE INPUT FLAG
  7885. JP DSD1 RETURN
  7886. REWIND SPACE 4,3
  7887. *** REWIND,LFN.
  7888. *
  7889. * REWIND FILE *LFN*.
  7890.  
  7891.  
  7892. REWIND DATA 0LREWIND
  7893.  
  7894. RJ ASN ASSEMBLE FILE NAME
  7895. MX0 42
  7896. BX5 X0*X6
  7897. SA1 REWA SET FET LIST ADDRESS
  7898. REW1 SA2 X1 CHECK FOR NAME IN FET
  7899. BX2 X0*X2
  7900. BX7 X5-X2
  7901. SA1 A1+B1 SET NEXT ENTRY
  7902. ZR X7,REW2 IF CORRECT FET FOUND
  7903. NZ X1,REW1 IF NOT END OF LIST
  7904. RECALL F
  7905. SX7 3 SET FILE NAME IN INPUT FET
  7906. BX7 X5+X7
  7907. SA7 X2
  7908. EQ REW3 REWIND FILE
  7909.  
  7910. REW2 RECALL A2
  7911. REW3 REWIND X2 REWIND FILE
  7912. EQ DSD1 RETURN
  7913.  
  7914. REWA CON I DIRECTIVE INPUT
  7915. CON J ALTERNATE INPUT
  7916. CON F BINARY INPUT
  7917. CON L LISTING OUTPUT
  7918. CON A ALTERNATE LIST
  7919. CON S BINARY SCRATCH
  7920. CON 0 END OF LIST
  7921. SPACE 4,10
  7922. *** RHF,OPS.
  7923. *
  7924. * WHERE OPS IS A STRING OF UP TO 3 CHARACTERS
  7925. * SELECTING THE DUMP OPTIONS LISTED BELOW.
  7926. *
  7927. * A DUMPS RHF DAYFILE BUFFER.
  7928. *
  7929. * C DUMPS RHF FIELD LENGTH.
  7930. *
  7931. * P PROVIDES DUMP AND FULL ANALYSIS OF
  7932. * PP-S RUNNING *NDR*, *NLD*, AND *RHH*.
  7933. *
  7934. * *RHF.* IS EQUIVALENT TO *RHF,ACP.* .
  7935.  
  7936. RHF DATA 0LRHF
  7937.  
  7938.  
  7939. SA5 RHFA
  7940. RJ ISS INITIALIZE FOR SUBSYSTEM DUMP
  7941. GETCM SSBF,100 READ RHF POINTERS
  7942. SA5 RHFB
  7943. RJ DSS DUMP SUBSYSTEM
  7944. EQ DSD1 RETURN
  7945.  
  7946.  
  7947. RHFA VFD 24/0,12/RFSI,24/0
  7948.  
  7949. RHFB VFD 60/0LACP
  7950. VFD 36/0,6/1RA,18/DHA
  7951. VFD 36/0,6/1RC,18/DHC
  7952. VFD 36/0,6/1RP,18/DHP
  7953. VFD 60/0
  7954.  
  7955. RPL SPACE 4,6
  7956. *** RPL.
  7957. *
  7958. * DUMP RESIDENT PERIPHERAL LIBRARY IN BYTE FORMAT WITH
  7959. * DISPLAY CODE INTERPRETATION. EACH LINE OF TWO CENTRAL MEMORY
  7960. * WORDS INDICATES ITS ORDINAL RELATIVE TO THE FWA OF THE PP.
  7961. * THE PP NAME AND BYTE LENGTH IS ALSO LISTED.
  7962.  
  7963.  
  7964. RPL DATA 0LRPL
  7965.  
  7966. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  7967. RJ SCM SELECT CENTRAL MEMORY
  7968. SA7 RI
  7969. SX6 0
  7970. RJ SRA SET REFERENCE ADDRESS
  7971. RJ LDC LIST DIRECTIVE CARD
  7972. SA1 F.TCMT
  7973. SA2 X1+RPLP
  7974. LX2 24
  7975. SX5 X2 ADDRESS OF FIRST OVERLAY HEADER
  7976. SX6 LRPL
  7977. SA6 RPLA SET MAXIMUM NUMBER OF OVERLAYS TO DUMP
  7978. RPL1 SA1 RPLA
  7979. SX6 X1-1
  7980. SA6 A1 DECREMENT MAXIMUM OVERLAYS TO DUMP
  7981. NG X6,DSD1 IF MAXIMUM DUMPED
  7982. SX3 X5
  7983. RJ DPO DUMP PP OVERLAY
  7984. NZ X6,RPL1 IF MORE PP OVERLAYS TO DUMP
  7985. JP DSD1 RETURN
  7986.  
  7987. RPLA BSS 1 MAXIMUM NUMBER OF OVERLAYS TO DUMP
  7988. SAB SPACE 4,10
  7989. *** SAB.
  7990. *
  7991. * DUMP SYSTEM ATTRIBUTE BLOCK IN *D* FORMAT.
  7992.  
  7993.  
  7994. SAB DATA 0LSAB
  7995.  
  7996. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  7997. SA1 F.TCMT
  7998. SA2 X1+EABL+MFEI GET SAB ADDRESSES
  7999. MX7 -12
  8000. MX6 -18
  8001. LX2 0-12
  8002. BX7 -X7*X2 LENGTH OF SAB
  8003. LX2 0-42+0+12
  8004. BX6 -X6*X2 FWA OF SAB
  8005. IX7 X6+X7 LWA+1 OF SAB
  8006. SB3 B1 SET *D* FORMAT
  8007. SX4 B0 SET READ FROM DUMP FILE
  8008. SX5 =C* SYSTEM ATTRIBUTE BLOCK*
  8009. RJ DTB DUMP BUFFERS
  8010. EQ DSD1 RETURN
  8011. SC SPACE 4,3
  8012. *** SC.
  8013. *
  8014. * DUMP STATUS AND CONTROL REGISTER FOR CYBER 170,
  8015. * 700, AND 865/875 MAINFRAMES.
  8016.  
  8017.  
  8018. SC DATA 0LSC
  8019.  
  8020. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  8021. SA1 =10HSCR
  8022. BX6 X1
  8023. SA6 SBTL1 SET NAME FOR SUBTITLE
  8024. SA6 SCPB SET *SC1* NOT YET PROCESSED
  8025. SX6 0
  8026. RJ SRA SET REFERENCE ADDRESS
  8027. RJ LDC LIST DIRECTIVE CARD
  8028. RJ SSB CLEAR PRINT STRING
  8029. SA1 .SCR
  8030. MX0 18
  8031. SEARCH TDIR,X1,X0 LOCATE SCR RECORD
  8032. ZR X2,ERR2 IF NO SCR RECORD
  8033. SCP1 SA5 A2+2
  8034. MX0 24
  8035. LX0 -12
  8036. SA3 =6L SC16
  8037. BX4 X3-X5
  8038. BX2 X0*X4
  8039. NZ X2,ERR2 IF NO SC16 RECORD FOUND
  8040. RJ SSB CLEAR PRINT STRING
  8041. PRINT (=2C )
  8042. SA1 SCPB
  8043. NZ X1,SCP2 IF *SC1* NOT YET PROCESSED
  8044. SA2 =38HSCR REGISTER 0 AFTER CLEAR(CHANNEL 16)
  8045. EQ SCP3 CONTINUE
  8046.  
  8047. SCP2 SA2 =38HSTATUS/CONTROL REGISTER 0 (CHANNEL 16)
  8048. SCP3 SB7 PRBF+15
  8049. SA0 BUF SC REGISTER ADDRESS
  8050. RJ SCH SET SC DIRECTIVE HEADER
  8051. SA5 A5+1
  8052. MX0 24
  8053. LX0 -12
  8054. SA3 =6L SC36
  8055. BX4 X3-X5
  8056. BX6 X0*X4
  8057. SA6 SCPA SET SC36 PRESET OR NOT
  8058. NZ X6,SCP6 IF SC36 RECORD NOT FOUND
  8059. SA1 SCPB
  8060. NZ X1,SCP4 IF *SC1* NOT YET PROCESSED
  8061. SA2 =38HSCR REGISTER 1 AFTER CLEAR(CHANNEL 36)
  8062. EQ SCP5 CONTINUE
  8063.  
  8064. SCP4 SA2 =38HSTATUS/CONTROL REGISTER 1 (CHANNEL 36)
  8065. SCP5 SB7 PRBF+65
  8066. SA0 BUF+4 SC REGISTER ADDRESS
  8067. RJ SCH SET SC DIRECTIVE HEADER
  8068. SCP6 SX1 5
  8069. RJ CPS CHECK PAGE SPACE
  8070. PRINT CCCH,1+65+38
  8071. PRINT (=2C )
  8072.  
  8073. * UNPACK SC REGISTER WORDS.
  8074.  
  8075. SB4 4 PRESET NUMBER OF WORDS
  8076. SA4 SCPA
  8077. NZ X4,SCP7 IF SC36 RECORD NOT FOUND
  8078. SB4 8
  8079. SCP7 SB7 BUF+10 CHARACTER BUFFER
  8080. SA1 BUF
  8081. SCP8 SA2 =4000005B FORMAT CONTROL
  8082. RJ FDW
  8083. SB4 B4-1
  8084. ZR B4,SCP9 IF NO MORE WORDS TO UNPACK
  8085. SA1 A1+B1 READ NEXT WORD
  8086. EQ SCP8 CONTINUE
  8087.  
  8088. SCP9 SX5 BUF+10 SC16 CHARACTER STRING ADDRESS
  8089. SB3 25 NUMBER OF CHARACTERS
  8090. SA0 =14HBITS 203 - 144
  8091. RJ FSC FORMAT SC REGISTER CONTENTS
  8092. SX5 BUF+35
  8093. SB3 30
  8094. SA0 =14HBITS 143 - 72
  8095. RJ FSC FORMAT SC REGISTER CONTENTS
  8096. SX5 BUF+65
  8097. SB3 30
  8098. SA0 =14HBITS 71 - 00
  8099. RJ FSC FORMAT SC REGISTER CONTENTS/
  8100. SA1 SCPB
  8101. ZR X1,DSD1 IF *SC1* PROCESSED, RETURN
  8102. SA1 .SC1
  8103. MX0 18
  8104. SEARCH TDIR,X1,X0 LOCATE SC1 RECORD
  8105. ZR X2,DSD1 IF NO *SC1* RECORD, RETURN
  8106. BX6 -X2*X2
  8107. SA6 SCPB *SC1* PROCESSED
  8108. EQ SCP1 CONTINUE
  8109.  
  8110.  
  8111. SCPA BSS 1 IF NONZERO, SC36 RECORD NOT FOUND
  8112. SCPB BSS 1 IF NONZERO, *SC1* NOT YET PROCESSED
  8113. SDA SPACE 4,10
  8114. *** SDA.
  8115. *
  8116. * DUMP STATISTICAL DATA AREA. EACH WORD IS PRINTED
  8117. * WITH ITS NOSTEXT SYMBOL AND IS SPLIT INTO THE
  8118. * APPROPRIATE PARAMETER FIELDS.
  8119.  
  8120.  
  8121. SDA DATA 0LSDA
  8122. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  8123. RJ SCM SELECT CENTRAL MEMORY
  8124. SA7 RI SET CENTRAL MEMORY RANDOM INDEX
  8125. SX6 0
  8126. RJ SRA SET REFERENCE ADDRESS
  8127. RJ LDC LIST DIRECTIVE CARD
  8128. SA1 F.TCMT SET STATISTICAL DATA AREA FWA
  8129. SA3 X1+SDAP
  8130. AX3 36
  8131. BX0 -X3 SAVE STATISTICAL DATA AREA FWA
  8132. SX6 X3 SET FIRST ADDRESS FOR OUTPUT
  8133. SA6 FW
  8134. RJ PCM POSITION MEMORY RECORD
  8135. GETCM BUF,SDAL READ STATISTICAL DATA AREA
  8136. SA1 TFSD SET FIELD DESCRIPTION POINTERS
  8137. SB2 X0+BUF SET DATA ADDRESS
  8138. RJ GTD GENERATE DETAILED TABLE DUMP
  8139. EQ DSD1 RETURN
  8140. SPACE 4,10
  8141. *** SECDED.
  8142. *
  8143. * DUMP SECDED ID TABLE IN *D* FORMAT.
  8144.  
  8145.  
  8146. SECDED DATA 0LSECDED
  8147.  
  8148. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  8149. RJ SCM SELECT CENTRAL MEMORY
  8150. SA1 F.TCMT GET ADDRESS OF TABLE
  8151. SA2 X1+SCRL
  8152. MX6 -18
  8153. AX2 36
  8154. BX6 -X6*X2
  8155. SA6 CPRA SET FWA OF DUMP
  8156. SX7 B1 SELECT *D* FORMAT
  8157. SA7 CPRA+4
  8158. SX6 X6+UIDL*2 SET LWA+1 OF DUMP
  8159. SA6 CPRA+1
  8160. RJ LDC LIST DIRECTIVE CARD
  8161. JP CPR2 PROCESS DUMP
  8162. SETCPU SPACE 4,10
  8163. ** SETCPU,N.
  8164. *
  8165. * SETS UP THE CYBER 170-8XX PROCESSOR POINTERS FOR
  8166. * THE PROCESSOR SPECIFIED BY *N*. DEFAULT IS CPU 0.
  8167.  
  8168.  
  8169. SETCPU DATA 0LSETCPU
  8170.  
  8171. RJ ASN
  8172. ZR X6,STP1 IF DEFAULT
  8173. BX5 X6
  8174. SB7 0 SET OCTAL BASE
  8175. RJ DXB
  8176. SA1 STPA
  8177. IX1 X1-X6
  8178. NG X1,ERR6 IF PARAMETER ERROR
  8179. STP1 SA6 SPPB SAVE PROCESSOR NUMBER
  8180. RJ SPP SET PROCESSOR POINTERS
  8181. EQ DSD1 RETURN
  8182.  
  8183. STPA CON 1 MAXIMUM PROCESSOR NUMBER
  8184. SETIOU SPACE 4,20
  8185. *** SETIOU.
  8186. * SET PP SIZE TO 4096 12 BIT WORDS AND PP TYPE TO
  8187. * NON-CONCURRENT PP.
  8188. *
  8189. * SETIOU,P1,P2.
  8190. * SET PP SIZE AND TYPE BASED ON THE FOLLOWING PARAMETERS:
  8191. *
  8192. * C - SET PP SIZE TO 8192 16 BIT WORDS, PP TYPE TO
  8193. * CONCURRENT PP SUBSYSTEM.
  8194. *
  8195. * N - SET PP SIZE TO 4096 16 BIT WORDS, PP TYPE TO
  8196. * NON-CONCURRENT PP SUBSYSTEM.
  8197. *
  8198. * 8K - SET PP SIZE TO 8192 16 BIT WORDS.
  8199. *
  8200. * 4K - SET PP SIZE TO 4096 16 BIT WORDS - IGNORED IF THE *C*
  8201. * PARAMETER IS ALSO SPECIFIED.
  8202. *
  8203. * NOTE - PARAMETERS *C* AND *N*, AS WELL AS *4K* AND *8K*, ARE
  8204. * INCOMPATIBLE AND WILL FORCE AN ERROR IF SPECIFIED TOGETHER.
  8205.  
  8206.  
  8207.  
  8208. SETIOU DATA 0LSETIOU
  8209.  
  8210. SA1 EF
  8211. SX6 B1+
  8212. SA0 X1 SAVE EJECT FLAG
  8213. SA6 A1 TURN EJECT ON
  8214. RJ LDC LIST DIRECTIVE CARD
  8215. SX6 A0+
  8216. SA6 EF RESTORE EJECT FLAG
  8217. SB2 2 SET PARAMETER COUNTER
  8218. SX5 4 SET DEFAULT INDEX
  8219. SPU1 RJ ASN ASSEMBLE PARAMETER NAME
  8220. ZR X6,SPU4 IF NO PARAMETER PRESENT
  8221. SB2 B2-1
  8222. NG B2,ERR6 IF MORE THAN 2 PARAMETERS
  8223. SA1 SPUA-1
  8224. SPU2 SA1 A1+B1
  8225. ZR X1,ERR6 IF PARAMETER ERROR
  8226. MX0 12
  8227. BX2 X0*X1
  8228. BX7 X6-X2
  8229. NZ X7,SPU2 IF NO MATCH
  8230. MX0 -4
  8231. ZR B2,SPU3 IF SECOND PARAMETER
  8232. BX3 -X0*X1 GET COMBINATION MASK
  8233. LX1 -44 SET INDEX
  8234. BX5 -X0*X1
  8235. EQ SPU1 PROCESS NEXT PARAMETER
  8236.  
  8237. SPU3 BX4 X3*X1
  8238. ZR X4,ERR6 IF INVALID PARAMETER COMBINATION
  8239. LX1 -44
  8240. BX1 -X0*X1
  8241. BX5 X1+X5 COMBINE INDICES
  8242. EQ SPU1 CHECK NEXT PARAMETER
  8243.  
  8244. SPU4 MX0 -2 SET PP RECORD SIZE
  8245. BX2 -X0*X5
  8246. SX3 10000B DEFAULT PP RECORD SIZE
  8247. IX7 X3*X2
  8248. IX7 X7+X3
  8249. SA7 PS
  8250. AX5 2
  8251. ZR X5,DSD1 IF ONLY PP MEMORY SIZE CHANGE
  8252. AX6 X5,B1
  8253. SA6 IC+1 SET *NPP*/*CPP* FLAG
  8254. ZR X6,DSD1 IF NOT SETTING CPP PROCESSING
  8255. SA1 IO
  8256. NZ X1,ERR6 IF NOT I4A OR I4S IOU
  8257. EQ DSD1 RETURN
  8258.  
  8259.  
  8260. ** SPUA - VALID PARAMETER TABLE.
  8261. *
  8262. *T 12/ VP,2/ C,2/ S,40/ 0,4/ MSK.
  8263. * VP VALID PARAMETER.
  8264. * C CONCURRENT PP PROCESSING FLAG.
  8265. * S PP RECORD SIZE FLAG.
  8266. * MSK PARAMETER COMBINATION MASK.
  8267.  
  8268.  
  8269. SPUA VFD 12/2L4K,2/0,2/0,40/0,4/11B
  8270. VFD 12/2L8K,2/0,2/1,40/0,4/6B
  8271. VFD 12/1LN,2/1,2/0,40/0,4/12B
  8272. VFD 12/1LC,2/2,2/1,40/0,4/5B
  8273. CON 0 END OF TABLE
  8274. SETJPS SPACE 4,10
  8275. ** SETJPS,RMA.
  8276. * SETJPS,PVA.
  8277. *
  8278. * SET THE S2JPS REGISTER TO AN ARBITRARY VALUE.
  8279.  
  8280.  
  8281. SETJPS DATA 0LSETJPS
  8282.  
  8283. RJ GHA GET HARDWARE ADDRESS
  8284. ZR B6,ERR6 IF NO ADDRESS SPECIFIED
  8285. SA6 S2JPS SAVE POSSIBLE RMA
  8286. SB2 32
  8287. AX7 X6,B2
  8288. ZR X7,DSD1 IF JUST RMA SPECIFIED
  8289. RJ PVM POSITION VIRTUAL MEMORY
  8290. NZ X2,ERR30 IF PAGE IS MISSING
  8291. RJ NXB
  8292. BX5 X1
  8293. LX5 16
  8294. RJ NXB
  8295. BX6 X1+X5
  8296. SA6 S2JPS
  8297. JP DSD1 RETURN
  8298. SETRMA SPACE 4,10
  8299. *** SETRMA,PVA.
  8300. *
  8301. * DISPLAY THE TRANSLATED REAL MEMORY ADDRESS FOR A PVA.
  8302.  
  8303.  
  8304. SETRMA DATA 0LSETRMA
  8305.  
  8306. RJ GHA GET HARDWARE ADDRESS
  8307. ZR B6,ERR6 IF NO ADDRESS SPECIFIED
  8308. RJ PVM POSITION VIRTUAL MEMORY
  8309. NZ X2,ERR30 IF PAGE IS MISSING
  8310. SA2 =17HTRANSLATED PVA =
  8311. SB6 17
  8312. SB7 PRBF
  8313. RJ UPS UNPACK STRING
  8314. SB6 6
  8315. SA1 BRMA GET TRANSLATED RMA
  8316. BX6 X1
  8317. LX1 59-23
  8318. SA6 S2RMA SAVE FOR SYMBOL *RMA*
  8319. RJ HTS COPY TO BUFFER
  8320. PRINT CCCH,B7-CCCH *TRANSLATED PVA = NNNNNN*
  8321. JP DSD1 PROCESS NEXT COMMAND
  8322. SETVEP SPACE 4,10
  8323. ** SETVEP,PTA,PTL,PSM,MPS.
  8324. *
  8325. * SET VE PARAMETERS.
  8326.  
  8327.  
  8328. SETVEP DATA C*SETVEP*
  8329. RJ ASX
  8330. NZ X4,ERR6 IF PARAMETER ERROR
  8331. SA6 S2PTA
  8332. RJ ASX
  8333. NZ X4,ERR6 IF PARAMETER ERROR
  8334. SA6 S2PTL
  8335. RJ ASX
  8336. NZ X4,ERR6 IF PARAMETER ERROR
  8337. SA6 S2PSM
  8338. RJ ASX
  8339. NZ X4,ERR6 IF PARAMETER ERROR
  8340. SA6 S2MPS
  8341. JP DSD1 RETURN
  8342. SST SPACE 4,10
  8343. *** SST.
  8344. *
  8345. * DUMP SUBSYSTEM CONTROL POINT TABLE AND SUBSYSTEM ASSIGNMENT
  8346. * TABLE IN *D* FORMAT.
  8347.  
  8348.  
  8349. SST DATA 0LSST
  8350.  
  8351. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  8352. SA1 F.TCMT GET FWA OF SSCT
  8353. SA2 X1+SSCP
  8354. AX2 12
  8355. SX6 X2
  8356. SX7 X6+SSCTL GET LWA+1 OF SSCT
  8357. SX5 =C* SUBSYSTEM CONTROL POINT TABLE*
  8358. SB3 B1 SET *D* FORMAT
  8359. IX4 X6+X1 SET ADDRESS OF READ FROM CORE
  8360. RJ DTB DUMP SSCT
  8361. SB3 -B1 SET NO PAGE EJECT
  8362. SA1 CPRA+1 GET FWA OF SSAT
  8363. BX6 X1
  8364. SX7 X6+SSCTL GET LWA+1 OF SSAT
  8365. SX5 =C* SUBSYSTEM ASSIGNMENT TABLE*
  8366. SA1 F.TCMT SET ADDRESS OF READ FROM CORE
  8367. IX4 X6+X1
  8368. RJ DTB DUMP SSAT
  8369. EQ DSD1 RETURN
  8370. TBDUMP SPACE 4,10
  8371. *** TBDUMP,MTR.
  8372. * TBDUMP,PPU.
  8373. *
  8374. * DISPLAY THE SELECTED TRACE BUFFER IN *D* FORMAT.
  8375. * THE FUNCTIONS TRACED, ABSOLUTE ADDRESSES SAVED, AND CPA
  8376. * ADDRESSES SAVED (*TBDUMP,MTR* ONLY) ARE ALSO DISPLAYED.
  8377.  
  8378.  
  8379. TBDUMP DATA 0LTBDUMP
  8380.  
  8381. RJ LDC LIST DIRECTIVE CARD
  8382. RJ ASN ASSEMBLE PARAMETER
  8383. SA1 TBDB
  8384. TBD1 ZR X1,ERR6 IF INCORRECT PARAMETER
  8385. BX2 X1-X6
  8386. SA1 A1+B1
  8387. NZ X2,TBD1 IF NO MATCH
  8388. SX6 A1-TBDB-1
  8389. SA6 TBDA
  8390. RJ SCM SET CENTRAL MEMORY
  8391. SA7 RI
  8392. SA1 F.TCMT
  8393. SA3 X1+CMBL
  8394. AX3 36
  8395. RJ PCM POSITION TO BLOCK NAME TABLE
  8396. SA5 =5RTRACE
  8397. TBD2 GETCM
  8398. SX3 X6
  8399. ZR X3,ERR21 IF NO TRACE BLOCK
  8400. AX6 30
  8401. BX6 X6-X5
  8402. NZ X6,TBD2 IF NOT TRACE POINTER
  8403. RJ PCM POSITION TO TRACE BLOCK
  8404. GETCM TBDC,5 SAVE POINTER WORDS
  8405. SA1 TBDA
  8406. ZR X1,TBD3 IF MTR
  8407. SX1 3
  8408. TBD3 SA2 X1+TBDC
  8409. SX7 X2
  8410. SX6 B1 SET *D* FORMAT
  8411. SA7 CPRA SET FWA
  8412. SA6 CPRA+4
  8413. AX2 18
  8414. SX7 X2
  8415. SA7 CPRA+1 SET LWA+1
  8416. SA3 X1+TBDC+1
  8417. RJ PCM GET LIST OF FUNCTIONS TRACED
  8418. GETCM
  8419. BX5 X6
  8420. RJ SSB CLEAR STRING BUFFER
  8421. SA2 =19HFUNCTIONS TRACED -
  8422. SB7 PRBF
  8423. SB6 19
  8424. RJ UPS UNPACK STRING
  8425. BX1 X5
  8426. SA2 =4000005B
  8427. RJ FDW FORMAT DATA WORD
  8428. SA2 =15H*IN* POINTER -
  8429. SB7 B7+5
  8430. SB6 15
  8431. RJ UPS UNPACK STRING
  8432. SA3 CPRA GET *IN* POINTER
  8433. SX3 X3-1
  8434. RJ PCM POSITION TO *IN* POINTER
  8435. GETCM
  8436. BX1 X6
  8437. LX1 59-17
  8438. SB6 6
  8439. SB7 PRBF+64
  8440. RJ CTS PRINT *IN*
  8441. PRINT CCCH,B7-CCCH
  8442. RJ SSB CLEAR STRING BUFFER
  8443. PRINT (=2C )
  8444. SA3 TBDC+2 GET ABS ADDRESS LIST
  8445. AX3 18
  8446. RJ PCM POSITION TO ABS ADDRESS LIST
  8447. SA2 =18HABS WORDS SAVED -
  8448. SA5 TBDA
  8449. TBD4 SB7 PRBF
  8450. SB6 18
  8451. RJ UPS UNPACK STRING
  8452. GETCM GET ADDRESS OF FIRST WORD SAVED
  8453. BX1 X6
  8454. LX1 59-17
  8455. SB7 PRBF+18
  8456. SB6 6
  8457. RJ CTS CONVERT ADDRESS
  8458. SA0 A1 SAVE FET ADDRESS
  8459. LX1 59-41 GET SECOND ADDRESS
  8460. SB7 B7+2
  8461. SB6 6
  8462. RJ CTS CONVERT ADDRESS
  8463. PRINT CCCH,B7-CCCH
  8464. RJ SSB CLEAR PRINT STRING
  8465. PRINT (=2C )
  8466. NZ X5,CPR2 IF THROUGH PROCESSING ADDRESS LISTS
  8467. SX5 X5+B1 SET UP EXIT
  8468. SA2 =18HCPA WORDS SAVED -
  8469. SA1 A0 GET CPA ADDRESS LIST
  8470. EQ TBD4 DISPLAY CPA ADDRESS LIST
  8471.  
  8472.  
  8473. TBDA CON 0 MTR/PPU FLAG
  8474. TBDB CON 3LMTR
  8475. CON 3LPPU
  8476. CON 0
  8477. TBDC VFD 24/0,18/0,18/0 *MTR* TRACE BUFFER LWA+1, FWA
  8478. VFD 42/0,18/0 *MTR* FUNCTION LIST
  8479. VFD 24/0,18/0,18/0 ABS/CPA ADDRESS LISTS
  8480. VFD 24/0,18/0,18/0 *PPU* TRACE BUFFER LWA+1, FWA
  8481. VFD 42/0,18/0 *PPU* FUNCTION LIST
  8482. TRACE SPACE 4,10
  8483. ** TRACEBK,PVA.
  8484. *
  8485. * PERFORM TRACEBACK ON EXCHANGE PACKAGE.
  8486.  
  8487.  
  8488. TRACE DATA C*TRACEBK*
  8489.  
  8490. RJ LDC LIST DIRECTIVE AND EJECT
  8491. SA1 TF CHECK TERMINAL FLAG
  8492. SX6 51
  8493. ZR X1,TRC1 IF PRINTER, DISPLAY FULL STACK FRAMES
  8494. SX6 3
  8495. TRC1 SA6 TRCA+2 MAXIMUM DISPLAY SIZE
  8496. RJ GHA GET HARDWARE ADDRESS
  8497. SX3 B0+ SET NO RADIAL MCI DISPLAY
  8498. RJ PTX POSITION TO EXCHANGE PACKAGE
  8499. SX1 B0
  8500. SA2 TRCA+2
  8501. BX6 X2
  8502. RJ FXA FORMAT EXCHANGE AREA
  8503. RJ CSI COLLECT SEGMENT INFORMATION
  8504. SA6 TRCA+1
  8505. TRC2 PRINT (=2C )
  8506. SA1 BUF+3*4+1
  8507. SA2 A1+B1
  8508. SA3 A2+B1
  8509. LX1 32
  8510. LX2 16
  8511. BX6 X3+X1
  8512. BX6 X6+X2
  8513. RJ EVA EXPAND VIRTUAL ADDRESS
  8514. ZR X2,DSD1 IF END OF THE LINE
  8515. SA7 TRCA SAVE THE PVA
  8516. SB2 A7
  8517. RJ SVA CONVERT TO SVA
  8518. SA6 TRCA SAVE SVA
  8519. SA2 A6+B1
  8520. BX6 X2
  8521. RJ DPN DISPLAY PROCEDURE NAME
  8522. SA1 TRCA
  8523. BX6 X1
  8524. RJ PVM POSITION VIRTUAL MEMORY
  8525. NZ X2,ERR30 IF PAGE ENTRY NO PRESENT
  8526. SA2 TRCA+2
  8527. SA1 TRCA EXCHANGE PACKAGE SVA
  8528. BX6 X2
  8529. RJ FXA FORMAT FIRST THREE WORDS
  8530. JP TRC2 PROCESS NEXT STACK FRAME
  8531.  
  8532. TRCA CON 0 TRAP PACKAGE SVA
  8533. CON 0 EXCHANGE PACKAGE RMA
  8534. CON 0,0
  8535.  
  8536. UEC SPACE 4,10
  8537. *** UEC,FWA.
  8538. *
  8539. * SET MEMORY TYPE TO *UEC*. SUBSEQUENT C, D, AND E
  8540. * DIRECTIVES APPLY TO USER EXTENDED CORE MEMORY.
  8541. *
  8542. * FWA SPECIFIES THE FIRST WORD ADDRESS/1000B FOR USER ECS.
  8543. * IF OMITTED, THE FIRST WORD ADDRESS FOR UEC IS OBTAINED
  8544. * FROM RAE IN THE SYSTEM CONTROL POINT *ECSW* WORD. FOR USER
  8545. * ECS IN UEM, THE UEM BASE ADDRESS FROM CMR WORD *UEML* IS
  8546. * ALSO ADDED TO THE RAE FROM THE SYSTEM CONTROL POINT.
  8547.  
  8548.  
  8549. UEC DATA 0LUEC
  8550.  
  8551. RJ LDC LIST DIRECTIVE CARD
  8552. SA1 F.TCMT
  8553. SA2 X1+ECRL
  8554. MX3 -12
  8555. LX2 -36
  8556. BX2 -X3*X2
  8557. ZR X2,UEC3 IF NO USER EXTENDED MEMORY DEFINED
  8558. RJ SEM SET UNIFIED EXTENDED MEMORY (UEM)
  8559. NG X3,UEC1 IF UEM DEFINED
  8560. RJ SEC SET EXTENDED CORE STORAGE
  8561. UEC1 SA7 UI SET USER CONTROLLED MEMORY RANDOM INDEX
  8562. SB7 B0+ SELECT OCTAL BASE
  8563. RJ ASD ASSEMBLE FWA FROM UEC DIRECTIVE
  8564. LX6 9
  8565. NZ X6,UEC2 IF FWA SPECIFIED
  8566. SA1 F.TCMT
  8567. SA2 NC GET SYSTEM CP RAE
  8568. SA3 UE GET USER EM SHIFT COUNT
  8569. SX2 X2+B1
  8570. LX2 7
  8571. IX2 X1+X2
  8572. SB2 X3+9
  8573. MX6 -24
  8574. SA2 X2+ECSW
  8575. LX2 -12
  8576. BX6 -X6*X2
  8577. SA3 MB SET USER EXTENDED MEMORY BASE ADDRESS
  8578. LX6 B2
  8579. IX6 X3+X6
  8580. UEC2 SA6 MB
  8581. SA1 =10HUEC SET NAME FOR SUBTITLE
  8582. BX6 X1
  8583. SA6 SBTL1
  8584. SA6 US+1 SET USER CONTROLLED MEMORY NAME
  8585. EQ DSD1 RETURN
  8586.  
  8587. UEC3 SX7 B1+ SET EXTENDED MEMORY ERROR FLAG
  8588. SA7 EE
  8589. EQ ERR41 PROCESS *USER EXTENDED MEMORY NOT DEFINED*
  8590. W SPACE 4,20
  8591. *** W,HFBN,HLBN,ASID.
  8592. *
  8593. * DUMP 64-BIT MEMORY IN WORD FORMAT.
  8594. *
  8595. * HFBN FIRST BYTE NUMBER (HEX) TO BE DUMPED.
  8596. *
  8597. * HLBN LAST BYTE NUMBER + 1 TO BE DUMPED.
  8598. * IF OMITTED, HFBN+8 IS ASSUMED.
  8599. *
  8600. * ASID SPECIFIES THE ACTUAL SEGMENT IDENTIFIER OF THE
  8601. * MEMORY TO BE DUMPED. IF ASID=1 THEN HFBN AND
  8602. * HLBN ARE ADDRESSES WITHIN THE CYBER 170-8X5 ERROR
  8603. * INTERFACE PACKAGE. IF OMMITTED, HFBN AND HLBN
  8604. * ARE REAL MEMORY ADDRESSES.
  8605. *
  8606. * THE *W* DIRECTIVE CAUSES THE SPECIFIED LOCATIONS OF
  8607. * CENTRAL MEMORY TO BE DUMPED IN HEXADECIMAL (FOUR
  8608. * WORDS PER LINE WITH ASCII CHARACTER EQUIVALENTS).
  8609. * OUTPUT TO THE TERMINAL IS NOT PROVIDED.
  8610.  
  8611.  
  8612. W DATA 0LW
  8613.  
  8614. SX6 2 SET *W* FORMAT CODE
  8615. EQ IPR1 DUMP CENTRAL MEMORY
  8616. XP SPACE 4,4
  8617. *** XP.
  8618. *
  8619. * DUMP THE CPU(S) EXCHANGE PACKAGE(S) EXECUTING AT THE TIME
  8620. * OF DEAD START.
  8621.  
  8622.  
  8623. XP DATA 0LXP
  8624.  
  8625. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  8626. SA1 =10HCPR
  8627. BX6 X1
  8628. SA6 SBTL1 SET NAME FOR SUBTITLE
  8629. SX6 0
  8630. RJ SRA SET REFERENCE ADDRESS
  8631. RJ LDC LIST DIRECTIVE CARD
  8632. RJ SSB CLEAR PRINT STRING
  8633. SA1 .CP0
  8634. MX0 24
  8635. LX0 -12
  8636. SEARCH TDIR,X1,X0 LOCATE CPU0 RECORD
  8637. NZ X2,XPP3 IF CPU0 RECORD FOUND
  8638. RJ FPX FIND CYBER 170-8X5 EXCHANGE PACKAGE
  8639. BX6 X1 SAVE CPU1(800) EXCHANGE PACKAGE POINTER
  8640. SA6 XPPD
  8641. SA2 =28HCPU0 HARDWARE REGISTERS - ON
  8642. SB7 PRBF
  8643. SB6 28
  8644. RJ UPS SET CPU0 TITLE MESSAGE
  8645. SX6 0
  8646. SA6 XPPA SET CPU0 PRESENT
  8647. SX6 B1
  8648. SA6 A6+B1 SET CPU1 NOT PRESENT
  8649. ZR X1,XPP4 IF CPU1 EXCHANGE PACKAGE NOT PRESENT
  8650. BX2 X1
  8651. RJ FPX
  8652. NZ X1,XPP1 IF CPU1 IN C170 MODE
  8653. BX6 X1
  8654. SA6 XPPD
  8655. SA2 =46HCPU1 IS IN C180 STATE - USE DIRECTIVE *PROXP.*
  8656. SB6 46
  8657. EQ XPP2 PRINT MESSAGE
  8658.  
  8659. XPP1 SA2 =28HCPU1 HARDWARE REGISTERS - ON
  8660. SB6 28
  8661. XPP2 SB7 PRBF+45
  8662. RJ UPS UNPACK MESSAGE
  8663. EQ XPP4 DUMP EXCHANGE PACKAGE
  8664.  
  8665. XPP3 SA0 BUF EXCHANGE PACKAGE ADDRESS
  8666. SB7 PRBF
  8667. SA5 A2+
  8668. SA2 =5HCPU0
  8669. SB6 5
  8670. RJ UPS
  8671. RJ XPH SET XP DIRECTIVE HEADER
  8672. SA6 XPPA SET CPU0 ON/OFF
  8673. SX6 B1
  8674. SA6 A6+B1 PRESET CPU1 OFF
  8675. SA5 A5+1
  8676. MX0 24
  8677. LX0 -12
  8678. SA3 =6L CPU1
  8679. BX4 X3-X5
  8680. BX2 X0*X4
  8681. NZ X2,XPP4 IF CPU1 RECORD NOT FOUND
  8682. SA0 BUF+20B EXCHANGE PACKAGE ADDRESS
  8683. SB7 PRBF+45
  8684. SA2 =5HCPU1
  8685. SB6 5
  8686. RJ UPS
  8687. RJ XPH SET XP DIRECTIVE HEADER
  8688. SA6 XPPB SET CPU1 ON/OFF
  8689. XPP4 SX1 19
  8690. RJ CPS CHECK PAGE SPACE
  8691. PRINT CCCH,100
  8692. PRINT (=2C )
  8693. SX6 0
  8694. SA6 XPPC CLEAR LINE INDEX
  8695. SA5 BUF READ FIRST EXCHANGE PACKAGE
  8696. XPP5 RJ SSB CLEAR PRINT STRING
  8697. SA4 XPPA
  8698. ZR X4,XPP6 IF CPU0 ON
  8699. SA5 A5+B1
  8700. JP XPP7 CHECK CPU1
  8701.  
  8702. XPP6 SA1 XPPC LINE INDEX
  8703. SB7 PRBF+1
  8704. RJ FXW FORMAT EXCHANGE PACKAGE WORD
  8705. XPP7 SA5 A5+17B ADVANCE TO NEXT EXCHANGE PACKAGE
  8706. SA4 XPPB
  8707. ZR X4,XPP8 IF CPU1 ON
  8708. SA4 XPPD GET CPU1(800) ON/OFF
  8709. NZ X4,XPP8 IF PRESENT
  8710. SA5 A5+1
  8711. JP XPP9 PRINT EXCHANGE PACKAGE
  8712.  
  8713. XPP8 SA1 XPPC LINE INDEX
  8714. SB7 PRBF+46
  8715. RJ FXW FORMAT EXCHANGE PACKAGE WORD
  8716. XPP9 PRINT CCCH,B7-CCCH
  8717. SA1 XPPC
  8718. SX6 X1+B1
  8719. SA6 A1 ADVANCE LINE INDEX
  8720. SX7 X6-10B
  8721. NZ X7,XPP10 IF NOT END OF A AND B REGISTERS
  8722. PRINT (=2C )
  8723. XPP10 SA5 A5-20B RESET EXCHANGE PACKAGE
  8724. SA1 XPPC
  8725. SX1 X1-20B
  8726. NG X1,XPP5 IF MORE LINE TO FORMAT
  8727. JP DSD1 RETURN
  8728.  
  8729. XPPA BSS 1 CPU 0 ON/OFF
  8730. XPPB BSS 1 CPU 1 ON/OFF
  8731. XPPC BSS 1 EXCHANGE PACKAGE LINE INDEX
  8732. XPPD CON 0 POINTER TO CPU1 EXCHANGE PACKAGE
  8733. SPACE 4,3
  8734. *** *.CCC - CCC
  8735. *
  8736. * PLACE CCC - CCC IN THE SUBTITLE LINE AS A COMMENT.
  8737. *E
  8738.  
  8739.  
  8740. Z DATA 0L*
  8741.  
  8742. SA1 CH STRING POINTER
  8743. SB2 X1+1
  8744. SB6 36
  8745. SB7 SBTL3
  8746. RJ PKS MOVE COMMENT TO SUBTITLE LINE
  8747. JP DSD1 RETURN
  8748.  
  8749. QUAL *
  8750. TITLE BML MAINTENANCE REGISTER FILE SUBROUTINES.
  8751. CBF SPACE 4,10
  8752. ** CBF - CREATE BML MAINTENANCE REGISTER FILE.
  8753. *
  8754. * USES X - ALL.
  8755. * A - 1, 2, 3, 4, 5, 6, 7.
  8756. * B - 2, 3, 6.
  8757. *
  8758. * CALLS DRA, FOM, GDA, GMR, LMB, PBL, RDR, SMR, TBM.
  8759. *
  8760. * MACROS WRITER, SETFS.
  8761.  
  8762.  
  8763. CBF SUBR ENTRY/EXIT
  8764. SA1 BF
  8765. ZR X1,CBFX IF NO BML FILE SPECIFIED
  8766. SA1 F.TCMT GET PACKED DATE AND TIME
  8767. SA2 X1+PDTL
  8768. MX0 -36
  8769. BX6 -X0*X2
  8770. SA3 BFMB+1 ADD PACKED DATE AND TIME TO HEADER
  8771. BX3 X0*X3
  8772. BX6 X3+X6
  8773. SA6 A3+
  8774. RJ GDA GET DFT/OS BUFFER FWA
  8775. ZR X3,CBF2 IF BUFFER NOT FOUND
  8776. BX5 X3
  8777. BX7 X5
  8778. SA7 CBFK
  8779. SA3 X5+/DFT/DFMR SAVE FWA OF M/R BUFFERS
  8780. RJ DRA
  8781. SA6 CBFL
  8782. SA3 X5 READ DFT CONTROL WORD
  8783. MX2 -8
  8784. LX3 0-16 SAVE NUMBER OF M/R BUFFERS
  8785. BX6 -X2*X3
  8786. SA6 CBFH
  8787. LX3 0-24-0+16
  8788. BX6 -X2*X3 SAVE LENGTH OF M/R BUFFER
  8789. SA6 CBFJ
  8790. LX3 0-48-0+24 GET DFT SEQUENCE NUMBER
  8791. BX7 -X2*X3
  8792. LX3 8 SAVE DFT VERSION LEVEL
  8793. BX6 -X2*X3
  8794. SA6 CBFO
  8795. SA2 BFMB+4 PLACE IN BML HEADER
  8796. LX6 53-5
  8797. BX6 X6+X2 ADD VERSION LEVEL
  8798. BX7 X7+X6 ADD SEQUENCE NUMBER
  8799. SA7 A2
  8800. AX6 50
  8801. ZR X6,CBF0 IF VERSION 3 OR LESS
  8802. SA3 X5+/DFT/DFMD SAVE FWA OF MODEL DEPENDENT BUFFERS
  8803. RJ DRA
  8804. IX6 X6+X1
  8805. SA6 CBFM
  8806. SA3 X5+/DFT/DFSS SAVE FWA OF SUPPORTIVE STATUS BUFFERS
  8807. RJ DRA
  8808. SA6 CBFN
  8809. SA3 X5+/DFT/DFBC SAVE M/R CONTROL WORD ADDRESS
  8810. RJ DRA
  8811. BX5 X6
  8812. EQ CBF0.1 SAVE M/R CONTROL WORD ADDRESS
  8813.  
  8814. CBF0 LX3 40-0
  8815. SX1 6 DEFAULT NUMBER OF M/R BUFFERS
  8816. MX4 4
  8817. BX0 X4*X3
  8818. ZR X0,CBF0.1 IF DFT VERSION 1
  8819. SB3 4
  8820. LX1 X0,B3 NUMBER OF DFT CONTROL WORDS
  8821. CBF0.1 IX6 X5+X1 SAVE ADDRESS OF M/R CONTROL WORD
  8822. SA6 CBFI
  8823. CBF1 RJ FOM FIND OLDEST ENTRY
  8824. ZR B3,CBF2 IF NO MORE ENTRIES TO PROCESS
  8825. SX7 B0 INITIALIZE SUMMARY STATUS FLAG
  8826. SX6 B3 SAVE MRB/SSB ORDINAL
  8827. SA7 PBHA
  8828. SA6 PBLB
  8829. RJ LMB LOCATE M/R BUFFER ENTRY
  8830. RJ PBL PROCESS BML
  8831. EQ CBF1 PROCESS NEXT ENTRY
  8832.  
  8833.  
  8834. * READ MAINTENANCE REGISTER ERROR ELEMENT RECORDS.
  8835.  
  8836. CBF2 SA1 CBFA GET NEXT ELEMENT RECORD
  8837. SX6 X1+B1 INCREMENT *MRET* INDEX
  8838. SA6 A1
  8839. SA2 MRET+X1
  8840. ZR X2,CBF9 IF END OF ELEMENTS
  8841. SA1 X2 RECORD ID
  8842. MX3 24
  8843. BX7 X3*X2 BML MESSAGE ID / SYMPTOM CODE
  8844. AX2 18
  8845. SA7 CBFD
  8846. SX6 X2 MAINTENANCE REGISTER LIST ADDRESS
  8847. SA6 A7-B1
  8848. RJ RDR READ DUMP RECORD
  8849. ZR X2,ERR42 IF RECORD NOT FOUND
  8850.  
  8851. * GET MODEL NUMBER FROM ELEMENT ID REGISTER.
  8852.  
  8853. SX5 /IOU/EIMR READ ELEMENT ID REGISTER
  8854. RJ GMR
  8855. NG X1,ERR42 IF ELEMENT ID REGISTER NOT FOUND
  8856. MX6 -4
  8857. AX7 16
  8858. BX6 -X6*X7 ISOLATE MODEL NUMBER
  8859. SA6 CBFB SAVE MODEL NUMBER
  8860.  
  8861. * CHECK STATUS SUMMARY REGISTER FOR ERRORS.
  8862.  
  8863. CBF5 SX5 /IOU/SSMR READ STATUS SUMMARY REGISTER
  8864. RJ GMR
  8865. NG X1,ERR42 IF STATUS SUMMARY REGISTER NOT FOUND
  8866. BX6 X6+X7
  8867. BX7 X7-X7 CLEAR EMPTY BML FILE FLAG
  8868. ZR X6,CBF2 IF NO ERRORS FOR ELEMENT
  8869. SA7 EB
  8870. SA1 BFMB+3
  8871. SA2 CBFD GET MESSAGE ID AND SYMPTOM CODE
  8872. MX0 -36
  8873. BX1 -X0*X1 SET MESSAGE ID/SYMPTOM CODE IN HEADER
  8874. BX6 X1+X2
  8875. SA6 A1
  8876.  
  8877. * PROCESS MAINTENANCE REGISTER LIST.
  8878.  
  8879. CBF6 SB6 48 SET OVERFLOW SHIFT COUNT
  8880. SX6 B0+ CLEAR UPPER REGISTER BITS WORD
  8881. SA6 CBFF
  8882. CBF7 SA1 CBFC INCREMENT REGISTER LIST ADDRESS
  8883. SX6 X1+B1
  8884. SA6 A1
  8885. SA2 X6+ GET NEXT REGISTER
  8886. ZR X2,CBF8 IF END OF REGISTERS
  8887. SA4 CBFB CREATE MODEL NUMBER MASK
  8888. SX1 B1+
  8889. SB2 X4
  8890. LX4 X1,B2
  8891. LX4 34 POSITION MASK
  8892. BX3 X2*X4
  8893. ZR X3,CBF7 IF NOT FOR THIS MODEL
  8894. MX0 9
  8895. BX5 X0*X2 GET REGISTER NUMBER
  8896. LX5 9
  8897. RJ GMR GET MAINTENANCE REGISTER
  8898. NG X1,CBF7 IF MAINTENANCE REGISTER NOT FOUND
  8899. LX6 8
  8900. BX6 X1+X6 UPPER REGISTER BITS/REGISTER NUMBER
  8901. SA3 CBFF UPDATE UPPER REGISTER BITS WORD
  8902. LX6 B6
  8903. BX6 X3+X6
  8904. SA6 A3
  8905. SB6 B6-12 DECREMENT OVERFLOW SHIFT COUNT
  8906. BX5 X7
  8907. RJ SMR STORE MAINTENANCE REGISTER
  8908. GT B6,CBF7 IF OVERFLOW WORD NOT FULL
  8909. SA5 CBFF
  8910. RJ SMR STORE OVERFLOW WORD
  8911. EQ CBF6 PROCESS NEXT REGISTER
  8912.  
  8913. CBF8 RJ TBM TERMINATE BML MESSAGE
  8914. SA1 NR CHECK NEXT RECORD INDEX
  8915. ZR X1,CBF2 IF NO SECOND RECORD
  8916. SA1 CBFA
  8917. SX6 X1-1
  8918. SA6 A1
  8919. EQ CBF2 PROCESS SECOND RECORD
  8920.  
  8921. CBF9 SA1 EB
  8922. NZ X1,CBFX IF EMPTY BML FILE
  8923. WRITER B,R
  8924. SETFS X2,0 CLEAR OUTPUT FILE STATUS
  8925. EQ CBFX RETURN
  8926.  
  8927. CBFA DATA 0 *MRET* INDEX
  8928. CBFB DATA 0 MODEL NUMBER
  8929. CBFC CON 0,0 MAINTENANCE REGISTER LIST ADDRESS
  8930. CBFD EQU CBFC+1 MESSAGE ID-S AND SYMPTOM CODES
  8931. CBFF DATA 0 UPPER REGISTER BITS WORD
  8932. CBFH CON 0 NUMBER OF M/R BUFFERS
  8933. CBFI CON 0 ADDRESS OF FIRST CONTROL WORD
  8934. CBFJ CON 0 LENGTH OF M/R BUFFER
  8935. CBFK CON 0 ADDRESS OF DFT CONTROL WORD
  8936. CBFL CON 0 FWA OF M/R BUFFERS
  8937. CBFM CON 0 FWA OF MODEL DEPENDENT BUFFERS
  8938. CBFN CON 0 FWA OF SUPPORTIVE STATUS BUFFERS
  8939. CBFO CON 0 DFT VERSION LEVEL
  8940. SPACE 4,10
  8941. * ERROR ELEMENT MAINTENANCE REGISTER LISTS.
  8942.  
  8943. IMRL BSS 0 IOU MAINTENANCE REGISTER LIST
  8944. SXREG EIMR
  8945. SXREG SSMR
  8946. SXREG OIMR
  8947. SXREG DEMR
  8948. SXREG ISTR
  8949. SXREG IFS1
  8950. SXREG IFS2
  8951. SXREG ITMR
  8952. SXREG IFSM
  8953. SXREG IOSB
  8954. SXREG OICR,,,I4A
  8955. SXREG ECCR,,,I4A
  8956. SXREG SRCR,,,I4A
  8957. SXREG F1CR,,,I4A
  8958. SXREG F2CR,,,I4A
  8959. SXREG TMCR,,,I4A
  8960. SXREG FMCR,,,I4A
  8961. SXREG OBCR,,,I4A
  8962. SXREG C0CR,,,I4A+I4S
  8963. SXREG C1CR,,,I4A+I4S
  8964. SXREG C2CR,,,I4A+I4S
  8965. SXREG C3CR,,,I4A+I4S
  8966. SXREG C4CR,,,I4A
  8967. SXREG C5CR,,,I4A
  8968. SXREG C6CR,,,I4A
  8969. SXREG C7CR,,,I4A
  8970. SXREG C8CR,,,I4A
  8971. SXREG C9CR,,,I4A
  8972. CON 0
  8973.  
  8974. MMRL BSS 0 MEMORY MAINTENANCE REGISTER LIST
  8975. SXREG EIMR
  8976. SXREG SSMR
  8977. SXREG OIMR
  8978. SXREG ECMR
  8979. SXREG MCEL
  8980. SXREG MCEL+1,,,THETA
  8981. SXREG MCEL+2,,,THETA
  8982. SXREG MCEL+3,,,THETA
  8983. SXREG MUL1
  8984. SXREG MUL1+1,,,THETA
  8985. SXREG MUL1+2,,,THETA
  8986. SXREG MUL1+3,,,THETA
  8987. SXREG MUL2,,,S1+S2+S3
  8988. SXREG MBRG
  8989. CON 0
  8990.  
  8991. PMRL BSS 0 PROCESSOR MAINTENANCE REGISTER LIST
  8992. SXREG EIMR
  8993. SXREG SSMR
  8994. SXREG OIMR
  8995. SXREG DEMR
  8996. SXREG PMCL,,,S1
  8997. SXREG PCCL,,,S2
  8998. SXREG PRCL,,,S1+S2
  8999. SXREG PUCS,,,S1
  9000. SXREG PPFS
  9001. SXREG PPFS+1
  9002. SXREG PPFS+2,,,S3+THETA
  9003. SXREG PPFS+3,,,S3+THETA
  9004. SXREG PPFS+4,,,S3+THETA
  9005. SXREG PPFS+5,,,S3+THETA
  9006. SXREG PPFS+6,,,S3+THETA
  9007. SXREG PPFS+7,,,S3+THETA
  9008. SXREG PPFS+8,,,S3+THETA
  9009. SXREG PPFS+9,,,S3+THETA
  9010. SXREG PPFS+10,,,THETA
  9011. SXREG PPFS+11,,,THETA
  9012. SXREG PPFS+12,,,THETA
  9013. SXREG PPFS+13,,,THETA
  9014. SXREG PPFS+14,,,THETA
  9015. SXREG PPFS+15,,,THETA
  9016. MRET SPACE 4,10
  9017. ** MRET - MAINTENANCE REGISTER ERROR ELEMENTS TABLE.
  9018. *
  9019. *T,MRET 12/ MSGID, 12/ SYM, 18/ RL, 18/ RID
  9020. *
  9021. * MSGID = MESSAGE IDENTIFIER.
  9022. * SYM = SYMPTOM CODE.
  9023. * RL = LIST OF REGISTERS TO PROCESS.
  9024. * RID = ADDRESS OF RECORD ID WORD.
  9025.  
  9026.  
  9027. MRET BSS 0 MAINTENANCE REGISTER ERROR ELEMENTS TABLE
  9028. VFD 12/HM0250,12/HS1002,18/PMRL-1,18/.PMR
  9029. VFD 12/HM0250,12/HS0402,18/MMRL-1,18/.MMR
  9030. VFD 12/HM0250,12/HS0002,18/IMRL-1,18/.IMR
  9031. CON 0 END OF ELEMENT LIST
  9032. DRA SPACE 4,10
  9033. ** DRA - DERIVE R-FORMAT ADDRESS.
  9034. *
  9035. * ENTRY (X3) = R-FORMAT ADDRESS.
  9036. *
  9037. * EXIT (X6) = UNFORMATTED ADDRESS.
  9038. * (X7) = LENGTH OF BUFFER.
  9039. *
  9040. * USES X - 0, 2, 3, 6, 7.
  9041.  
  9042.  
  9043. DRA SUBR ENTRY/EXIT
  9044. MX0 -12
  9045. BX7 -X0*X3 LENGTH OF BUFFER
  9046. AX3 16
  9047. BX2 -X0*X3 R-LOWER
  9048. AX3 16
  9049. BX6 -X0*X3 R-UPPER
  9050. LX6 12
  9051. BX6 X2+X6
  9052. AX3 16
  9053. BX2 -X0*X3 OFFSET
  9054. LX6 6
  9055. BX6 X2+X6
  9056. EQ DRAX RETURN
  9057. FOM SPACE 4,10
  9058. ** FOM - FIND OLDEST M/R ENTRY.
  9059. *
  9060. * ENTRY (CBFI) = ADDRESS OF M/R CONTROL WORD.
  9061. * (CBFH) = NUMBER OF M/R ENTRIES.
  9062. *
  9063. * EXIT (B3) = OFFSET OF OLDEST M/R ENTRY.
  9064. * (X7) = DFT ANALYSIS CODE.
  9065. * (PBLD) .NE. 0 IF MDB DATA PRESENT.
  9066. *
  9067. * USES X - 0, 1, 2, 3, 4, 6, 7.
  9068. * A - 1, 2, 3, 7.
  9069. * B - 2, 3.
  9070.  
  9071.  
  9072. FOM SUBR ENTRY/EXIT
  9073. SB3 B0 OFFSET OF OLDEST ENTRY
  9074. BX4 X4-X4 OLDEST SEQUENCE NUMBER
  9075. SA1 CBFH
  9076. SA2 CBFI ADDRESS OF FIRST M/R CONTROL WORD
  9077. SB2 X1+ NUMBER OF ENTRIES TO CHECK
  9078. FOM1 SB2 B2-B1 DECREMENT COUNTER FOR M/R ENTRIES
  9079. ZR B2,FOMX IF ALL ENTRIES PROCESSED
  9080. SA3 X2+B2 GET NEXT M/R CONTROL WORD
  9081. MX0 -8
  9082. LX3 0-16
  9083. BX0 -X0*X3 GET M/R FLAGS
  9084. LX0 59-/DFT/MRLG
  9085. PL X0,FOM1 IF NO DATA TO LOG
  9086. LX0 59-/DFT/MRIL-59+/DFT/MRLG
  9087. NG X0,FOM1 IF ENTRY INTERLOCKED
  9088. LX3 0-32-0+16
  9089. MX0 -12 GET DFT ANALYSIS CODE
  9090. BX1 -X0*X3
  9091. SX0 X1-3400B
  9092. PL X0,FOM1 IF TO IGNORE THIS ENTRY
  9093. MX0 -8 GET SEQUENCE NUMBER
  9094. LX3 0-24-0+32
  9095. BX6 -X0*X3
  9096. ZR B3,FOM3 IF NO ENTRY SELECTED YET
  9097. IX0 X4-X6 COMPARE OLDEST WITH CURRENT
  9098. PL X0,FOM2 IF LOWER THAN PREVIOUS OLDEST
  9099. SX0 X0+40B
  9100. NG X0,FOM3 IF WRAP AROUND
  9101. EQ FOM1 PROCESS NEXT ENTRY
  9102.  
  9103. FOM2 SX0 X0-40B
  9104. PL X0,FOM1 IF NOT EARLIER ENTRY
  9105. FOM3 SB3 B2 UPDATE OLDEST ENTRY OFFSET
  9106. LX3 0-22-0+24 GET MDB FLAG
  9107. BX4 X6 SEQUENCE NUMBER
  9108. BX7 X1 SAVE DFT ANALYSIS CODE
  9109. SA7 FOMA
  9110. MX0 -1
  9111. BX7 -X0*X3
  9112. SA7 PBLD
  9113. EQ FOM1 PROCESS NEXT ENTRY
  9114.  
  9115.  
  9116. FOMA CON 0 DFT ANALYSIS CODE
  9117. GMR SPACE 4,15
  9118. ** GMR - GET MAINTENANCE REGISTER.
  9119. *
  9120. * ENTRY (X5) = REGISTER NUMBER.
  9121. *
  9122. * EXIT (X1) = REGISTER NUMBER IF FOUND.
  9123. * .LT. 0 IF REGISTER NOT FOUND.
  9124. * (X6) = LOWER 4 BITS OF REGISTER (BITS 60-63).
  9125. * (X7) = UPPER 60 BITS OF REGISTER (BITS 0-59).
  9126. *
  9127. * USES X - 2, 3, 6, 7.
  9128. * A - 6.
  9129. *
  9130. * CALLS SFR.
  9131.  
  9132.  
  9133. GMR SUBR ENTRY/EXIT
  9134. RJ SFR
  9135. BX2 X6 REPOSITION BITS
  9136. MX3 -4
  9137. BX6 -X3*X7 (X6) = BITS 60-63
  9138. BX7 X3*X7 CLEAR LOWER BITS
  9139. BX7 X2+X7 ADD UPPER BITS
  9140. LX7 -4 (X7) = BITS 0-59
  9141. EQ GMRX RETURN
  9142. LMB SPACE 4,15
  9143. ** LMB - LOCATE M/R BUFFER.
  9144. *
  9145. * ENTRY (B3) = OFFSET OF M/R CONTROL WORD.
  9146. * (FOMA) = DFT ANALYSIS CODE.
  9147. * (CBFI) = FIRST M/R CONTROL WORD ADDRESS.
  9148. * (CBFL) = FWA OF M/R BUFFERS.
  9149. *
  9150. * EXIT POSITIONED TO CORRECT BYTE FOR ROUTINE *NXB*.
  9151. * M/R BUFFER CONTROL WORD CLEARED.
  9152. *
  9153. * USES X - 0, 1, 2, 3, 4, 6, 7.
  9154. * A - 1, 2, 3, 4, 6, 7.
  9155. *
  9156. * CALLS FBP, SCM.
  9157.  
  9158.  
  9159. LMB SUBR ENTRY /EXIT
  9160. SA1 BFMB+3 SET ANALYSIS CODE INTO BML
  9161. MX0 48
  9162. LX0 36-0
  9163. BX1 X0*X1 CLEAR OLD SYMPTOM CODE
  9164. SA2 FOMA DFT ANALYSIS CODE
  9165. LX2 36-0
  9166. BX7 X1+X2
  9167. SA7 A1
  9168. SA3 CBFI GET OFFSET TO M/R BUFFER
  9169. SA4 X3+B3 M/R BUFFER CONTROL WORD
  9170. MX0 -16
  9171. BX3 -X0*X4 OFFSET INTO M/R BUFFERS
  9172. BX6 X6-X6 CLEAR M/R CONTROL WORD
  9173. SA6 A4
  9174. SA2 CBFL FWA OF M/R BUFFERS
  9175. IX3 X2+X3 LOCATION OF M/R BUFFER
  9176. LX3 2 BYTE POSITION OF M/R BUFFER
  9177. RJ SCM SET CENTRAL MEMORY
  9178. SA7 RI
  9179. RJ FBP FIND BYTE POSITION
  9180. EQ LMBX RETURN
  9181. PBH SPACE 4,10
  9182. ** PBH - PROCESS BML HEADER.
  9183. *
  9184. * EXIT (B7) = NUMBER OF REGISTERS TO PROCESS.
  9185. * (CBFF) = BML REGISTER NUMBERS ENTERED.
  9186. *
  9187. * USES X - 1, 3, 6.
  9188. * A - 3, 6.
  9189. * B - 6, 7.
  9190. *
  9191. * CALLS NXB.
  9192.  
  9193.  
  9194. PBH SUBR ENTRY/EXIT
  9195. SB6 48 SHIFT COUNT
  9196. SB7 B0+ INITIALIZE REGISTER COUNT
  9197. PBH1 RJ NXB READ NEXT BYTE
  9198. NZ X1,PBH2 IF REGISTER PRESENT
  9199. SA3 PBHA
  9200. NZ X3,PBH3 IF NOT STATUS SUMMARY
  9201. MX6 1 SET STATUS SUMMARY FLAG
  9202. SA6 A3
  9203. PBH2 LX1 B6 SHIFT REGISTER NUMBER TO PROPER LOCATION
  9204. SA3 CBFF UPDATE BML REGISTER WORD
  9205. BX6 X3+X1
  9206. SA6 A3
  9207. SB7 B7+B1 INCREMENT REGISTER COUNT
  9208. PBH3 SB6 B6-12 UPDATE SHIFT COUNT
  9209. NZ B6,PBH1 IF NOT COMPLETE
  9210. EQ PBHX RETURN
  9211.  
  9212.  
  9213. PBHA CON 0 SUMMARY STATUS FLAG
  9214. PBL SPACE 4,15
  9215. ** PBL - PROCESS BML.
  9216. *
  9217. * ENTRY (CBFJ) = REGISTERS LEFT TO PROCESS.
  9218. * (FOMA) = DFT ANALYSIS CODE.
  9219. *
  9220. * EXIT BML FILE WRITTEN.
  9221. *
  9222. * USES X - 0, 1, 2, 3, 5, 6, 7.
  9223. * A - 1, 2, 3, 6, 7.
  9224. * B - 6, 7.
  9225. *
  9226. * CALLS DRA, FBP, NXB, PBH, PBR, SMR, SMS.
  9227.  
  9228.  
  9229. * PROCESS SSB DATA.
  9230.  
  9231. PBL7 SA1 CBFO
  9232. SX1 X1-4
  9233. NG X1,PBLX IF NOT DFT VERSION 4 OR ABOVE
  9234. SX1 B1 SET BIT 54 IN SECOND WORD OF BML MESSAGE
  9235. LX1 54-0
  9236. SA2 BFMB+4
  9237. BX7 X1+X2
  9238. SA7 A2
  9239. SA1 CBFN SSB FWA
  9240. SA2 F.TCMT
  9241. IX2 X1+X2
  9242. SA2 X2
  9243. MX0 -16
  9244. BX6 -X0*X2 BUFFER LENGTH
  9245. SX1 X1+B1 FWA OF BUFFER DATA
  9246. SA3 PBLB MRB/SSB ORDINAL
  9247. IX2 X3*X6 OFFSET INTO BUFFER
  9248. IX3 X2+X1 FWA OF BLOCK
  9249. LX3 2 CONVERT TO BYTE NUMBER
  9250. RJ FBP POSITION TO HEADER WORD
  9251. RJ NXB
  9252. RJ NXB
  9253. SB7 X1 NUMBER OF REGISTERS TO PROCESS
  9254. RJ NXB
  9255. SA2 PBLD
  9256. BX6 X6-X6
  9257. MX0 -8
  9258. ZR X2,PBL8 IF NO MODEL DEPENDENT DATA
  9259. BX2 -X0*X1 GET MDB ORDINAL
  9260. AX1 8
  9261. NZ X1,PBL8 IF NOT VALID DATA
  9262. SX6 X2+1 SET ORDINAL+1 (ENSURE NON-ZERO VALUE)
  9263. PBL8 SA6 A2+ SET/CLEAR MDB FLAG
  9264. RJ NXB
  9265. PBL9 SB6 56 INITIALIZE OVERFLOW POSITION
  9266. RJ PBR PROCESS AND STORE BML REGISTERS
  9267. PL X6,PBL9 IF MORE REGISTERS
  9268.  
  9269. * PROCESS MDB DATA.
  9270.  
  9271. SA3 PBLD
  9272. ZR X3,PBLX IF NO MODEL DEPENDENT DATA
  9273. SX7 BFBDAL SET DATA BLOCK LENGTH
  9274. SA7 PBLC+0
  9275. SX6 4 SET OVERFLOW SHIFT COUNT DECREMENT AMOUNT
  9276. SA6 A7+B1
  9277. SX1 B1 SET BIT 55 IN BML HEADER
  9278. LX1 55-0
  9279. SA2 BFMB+4
  9280. BX6 X1+X2
  9281. SA6 A2
  9282. SX6 X7+BFHL-1 SET MDB MESSAGE SIZE
  9283. RJ SMS
  9284. SA1 CBFM CALCULATE MDB FWA
  9285. SX3 X3-1 GET MDB ORDINAL
  9286. IX3 X3+X1
  9287. SA3 X3
  9288. RJ DRA
  9289. LX6 2 CONVERT TO BYTE ADDRESS
  9290. SX3 X6+3 ADVANCE TO BYTE 3 OF HEADER WORD
  9291. RJ FBP
  9292. RJ NXB GET DATA BLOCK LENGTH
  9293. SB7 X1-1
  9294. PBL10 SB6 56 INITIALIZE SHIFT COUNT
  9295. RJ PBR PROCESS BLOCK OF REGISTERS
  9296. PL X6,PBL10 IF MORE TO PROCESS
  9297.  
  9298. PBL SUBR ENTRY/EXIT
  9299. SA1 CBFJ NUMBER OF REGISTERS TO PROCESS
  9300. BX7 X1
  9301. SA7 PBLA
  9302. PBL1 SX7 B0+
  9303. SA7 EB SET BML ERRORS PRESENT FLAG
  9304. PBL2 SA1 PBLA CHECK ENTRIES LEFT TO PROCESS
  9305. ZR X1,PBL7 IF ALL ENTRIES PROCESSED
  9306. SX6 X1-5 DECREMENT ENTRY COUNT
  9307. SA6 A1+
  9308. NZ X6,PBL5 IF NOT LAST BLOCK
  9309. SA2 FOMA DFT ANALYSIS CODE
  9310.  
  9311. * PROCESSING FOR LAST BLOCK OF REPAIRED/UNREPAIRED ERRORS.
  9312.  
  9313. SA1 TM9E CHECK FOR SPECIAL MODEL 990 ERRORS
  9314. PBL3 ZR X1,PBL5 IF NOT SPECIAL ERROR
  9315. IX3 X2-X1
  9316. SA1 A1+B1
  9317. NZ X3,PBL3 IF NO MATCH
  9318. SB7 48 INITIALIZE SHIFT POSITION
  9319. RJ NXB
  9320. MX0 -12
  9321. BX5 -X0*X1 DO NOT SAVE UPPER 4 BITS
  9322. LX5 B7 POSITION BYTE IN REGISTER SAVE AREA
  9323. PBL4 SB7 B7-16 DECREMENT SHIFT POSITION
  9324. RJ NXB
  9325. LX1 B7 POSITION BYTE
  9326. BX5 X1+X5
  9327. NZ B7,PBL4 IF NOT COMPLETE
  9328. RJ SMR STORE MAINTENANCE REGISTER
  9329. SB7 4 INITIALIZE REGISTER COUNT
  9330. EQ PBL6 CONTINUE PROCESSING BML REGISTERS
  9331.  
  9332. PBL5 RJ PBH PROCESS BML HEADER REGISTERS
  9333. PBL6 SB6 56 INITIALIZE OVERFLOW POSITION
  9334. RJ PBR PROCESS AND STORE BML REGISTERS
  9335. NG X6,PBL7 IF THROUGH PROCESSING
  9336. EQ PBL1 CONTINUE PROCESSING
  9337.  
  9338.  
  9339. PBLA CON 0 REGISTERS LEFT TO PROCESS
  9340. PBLB CON 0 MRB/SSB ORDINAL
  9341. PBLC CON BFBDL DATA BLOCK LENGTH
  9342. CON 12 SHIFT COUNT
  9343. PBLD CON 0 MODEL DEPENDENT DATA BUFFER FLAG
  9344.  
  9345. ** TM9E - TABLE OF MODEL 990 SPECIAL ERRORS.
  9346.  
  9347. TM9E BSS 0
  9348. CON 0#206 REPAIRED ERROR
  9349. CON 0#207 UNREPAIRED ERROR
  9350. CON 0#205 RETRY IN PROGRESS
  9351. CON 0#21B RETRY CONVERTED TO UNCORRECTED ERROR
  9352. CON 0#21C RETRY EXHAUSTED
  9353. CON 0#21D RETRY EXHAUSTED
  9354. CON 0
  9355. PBR SPACE 4,10
  9356. * PBR - PROCESS AND STORE BLOCK OF BML REGISTERS.
  9357. *
  9358. * EXIT (X6) = NEGATIVE IF *TBM* CALLED.
  9359. *
  9360. * USES X - 0, 1, 2, 3, 5, 6.
  9361. * A - 0, 3, 5, 6.
  9362. * B - 4, 6, 7.
  9363. *
  9364. * CALLS NXB, SMR, TBM.
  9365.  
  9366.  
  9367. PBR3 RJ TBM TERMINATE BML MESSAGE
  9368. SX6 -1
  9369.  
  9370. PBR SUBR ENTRY/EXIT
  9371. PBR1 ZR B7,PBR3 IF NO MORE REGISTERS
  9372. SX5 B0+ INITIALIZE BML SAVE AREA
  9373. SB4 44 INITIALIZE SHIFT COUNT FOR REGISTERS
  9374. PBR2 SA0 B4+
  9375. RJ NXB GET NEXT BYTE
  9376. SB4 A0+
  9377. LX1 B4 CORRECTLY POSITION REGISTER
  9378. BX5 X1+X5
  9379. SB4 B4-16 DECREMENT SHIFT COUNT
  9380. PL B4,PBR2 IF NOT COMPLETE
  9381. RJ NXB GET LAST BYTE
  9382. MX0 -4 GET LOWER 4 BITS
  9383. BX2 -X0*X1
  9384. AX1 4
  9385. BX5 X1+X5
  9386. LX2 B6
  9387. SA3 PBLC+1 UPDATE OVERFLOW SHIFT COUNT
  9388. SB4 X3
  9389. SB6 B6-B4
  9390. SA3 CBFF UPDATE BML OVERFLOW WORD
  9391. BX6 X2+X3
  9392. SA6 A3
  9393. SB7 B7-B1 DECREMENT REGISTER COUNT
  9394. RJ SMR STORE REGISTER
  9395. ZR B6,PBR1 IF ONE MORE SPOT IN MDB OVERFLOW WORD
  9396. SA3 PBLC+1
  9397. SB4 X3
  9398. SB4 B6-B4
  9399. PL B4,PBR1 IF OVERFLOW WORD NOT FULL
  9400. SA5 CBFF STORE OVERFLOW WORD
  9401. RJ SMR
  9402. BX6 X6-X6 CLEAR OVERFLOW WORD
  9403. SA6 A5
  9404. EQ PBRX RETURN
  9405. RDB SPACE 4,10
  9406. ** RDB - RESET DATA BLOCK.
  9407. *
  9408. * EXIT (BFBI) = 0.
  9409. * (BFBD - BFBD+BFBDL) = 0.
  9410. *
  9411. * USES X - 1, 7.
  9412. * A - 1, 7.
  9413. * B - 2.
  9414.  
  9415. RDB SUBR ENTRY/EXIT
  9416. BX7 X7-X7 RESET DATA BLOCK INDEX
  9417. SA1 PBLC+0
  9418. SB2 X1
  9419. SA7 BFBI
  9420. RDB1 SB2 B2-1
  9421. SA7 BFBD+B2
  9422. NZ B2,RDB1 IF NOT END OF BLOCK
  9423. EQ RDBX RETURN
  9424. SMR SPACE 4,15
  9425. ** SMR - STORE MAINTENANCE REGISTER.
  9426. *
  9427. * ENTRY (X5) = WORD TO STORE.
  9428. *
  9429. * EXIT (BFBI) = (BFBI) + 1.
  9430. * (B6) PRESERVED.
  9431. * (B7) PRESERVED.
  9432. * IF THE DATA BLOCK IS FULL, THE CURRENT MESSAGE BLOCK
  9433. * IS WRITTEN TO THE BML FILE AND (X5) IS STORED IN A
  9434. * NEW MESSAGE BLOCK.
  9435. *
  9436. * USES X - 0, 1, 2, 6, 7.
  9437. * A - 1, 2, 6, 7.
  9438. * B - 6, 7.
  9439. *
  9440. * CALLS RDB.
  9441. *
  9442. * MACROS WRITEW.
  9443.  
  9444.  
  9445. SMR SUBR ENTRY/EXIT
  9446. SA1 BFBI GET DATA BLOCK INDEX
  9447. SA2 PBLC+0 DATA BLOCK LENGTH
  9448. IX6 X1-X2
  9449. NZ X6,SMR1 IF NOT END OF DATA BLOCK
  9450.  
  9451. * FLUSH DATA BLOCK.
  9452.  
  9453. SX6 B6 SAVE B6, B7
  9454. LX6 18
  9455. SX7 B7
  9456. BX7 X6+X7
  9457. SA7 SMRA
  9458. SX2 X2+BFHL
  9459. WRITEW B,BFMB,X2
  9460. SA1 SMRA RESTORE
  9461. SB7 X1
  9462. AX1 18
  9463. SB6 X1
  9464. RJ RDB RESET DATA BLOCK
  9465. SA1 BFMB SET PREVIOUS BLOCK LENGTH
  9466. SA2 PBLC+0
  9467. SX6 X2+BFHL
  9468. MX0 18
  9469. LX6 24
  9470. LX0 -18
  9471. BX1 -X0*X1
  9472. BX6 X1+X6
  9473. SA6 A1
  9474. SA1 BFMB+4 SET *NOT FIRST BLOCK* FLAG
  9475. MX0 1
  9476. LX0 39-59
  9477. BX6 X0+X1
  9478. SA6 A1
  9479. SA1 BFBI GET DATA BLOCK INDEX
  9480. SMR1 BX7 X5 STORE REGISTER CONTENTS
  9481. SA7 BFBD+X1
  9482. SX6 X1+B1 ADVANCE DATA BLOCK INDEX
  9483. SA6 A1
  9484. EQ SMRX RETURN
  9485.  
  9486.  
  9487. SMRA CON 0 REGISTER SAVE WORD
  9488. SMS SPACE 4,10
  9489. ** SMS - SET MESSAGE SIZE IN BML HEADER.
  9490. *
  9491. * ENTRY - (X6) = CURRENT MESSAGE SIZE TO SET.
  9492. *
  9493. * EXIT CURRENT MESSAGE SIZE FIELDS SET IN BML HEADER WORDS
  9494. * 0 AND 1.
  9495. *
  9496. * USES X - 0, 1, 6, 7.
  9497. * A - 1, 7.
  9498.  
  9499.  
  9500. SMS SUBR ENTRY/EXIT
  9501. SA1 BFMB SET HEADER WORD ONE
  9502. MX0 -12
  9503. BX1 X0*X1
  9504. BX7 X1+X6
  9505. SA7 A1
  9506. LX6 59-11 POSITION SIZE
  9507. LX0 59-11
  9508. SA1 A1+B1 SET HEADER WORD TWO
  9509. BX1 X0*X1
  9510. BX7 X1+X6
  9511. SA7 A1
  9512. EQ SMSX RETURN
  9513. TBM SPACE 4,10
  9514. ** TBM - TERMINATE BML MESSAGE.
  9515. *
  9516. * ENTRY (CBFF) = REGISTER BML WORD.
  9517. * (PBLC+1) = AMOUNT TO DECREMENT OVERFLOW SHIFT COUNT.
  9518. * (B6) = OVERFLOW SHIFT COUNT.
  9519. *
  9520. * EXIT BML BUFFER FLUSHED.
  9521. * CONTINUATION BIT RESET.
  9522. *
  9523. * USES X - 0, 1, 5, 6, 7.
  9524. * A - 1, 5, 6, 7.
  9525. * B - 2, 6, 7.
  9526. *
  9527. * CALLS RDB, SMR, SMS.
  9528. *
  9529. * MACROS WRITEW.
  9530.  
  9531.  
  9532. TBM SUBR ENTRY/EXIT.
  9533. SB2 B6-56
  9534. ZR B2,TBM2 IF OVERFLOW WORD WRITTEN
  9535. SA1 PBLC+1 GET SHIFT COUNT
  9536. SB7 X1
  9537. SB6 B6-B7
  9538. TBM1 BX5 X5-X5 WRITE ZERO WORD
  9539. SB6 B6-B7
  9540. RJ SMR
  9541. GT B6,TBM1 IF NOT THROUGH WITH BLOCK
  9542. SA5 CBFF STORE OVERFLOW WORD
  9543. BX6 X6-X6 CLEAR OVERFLOW WORD
  9544. SA6 A5
  9545. RJ SMR
  9546. TBM2 SX0 B1 CLEAR CONTINUATION BIT
  9547. LX0 38-0
  9548. SA1 BFMB+4
  9549. BX7 -X0*X1
  9550. SA7 A1
  9551.  
  9552. * FLUSH MESSAGE BLOCK AND RESET HEADER.
  9553.  
  9554. SA1 PBLC+0
  9555. SX1 X1+BFHL
  9556. WRITEW B,BFMB,X1 WRITE LAST BLOCK OF MESSAGE
  9557. RJ RDB RESET DATA BLOCK
  9558. SA1 BFMB+4
  9559. MX0 2
  9560. LX0 55-59 CLEAR MESSAGE CONTENT FLAGS
  9561. BX1 -X0*X1
  9562. LX0 39-59-55+59 SET CONTINUATION/CLEAR *NOT FIRST BLOCK*
  9563. BX7 X0-X1
  9564. SA7 A1
  9565. SX6 BFMBL RESET CURRENT MESSAGE SIZE
  9566. RJ SMS
  9567. SX6 BFBDL RESET BML MESSAGE SIZE
  9568. SA6 PBLC+0
  9569. SX7 12 RESET OVERFLOW SHIFT COUNT
  9570. SA7 A6+1
  9571. EQ TBMX RETURN
  9572. TITLE SUBROUTINES.
  9573. APP SPACE 4,7
  9574. ** APP - ANALYZE PPU.
  9575. *
  9576. * ENTRY PP = PPU NUMBER.
  9577. *
  9578. * USES ALL REGISTERS.
  9579. *
  9580. * CALLS COD, CPN, CPS, DPQ, FEM, FLC, FON, FPL, FPO, GPS, ICT,
  9581. * PPO, RPD, SFN, SLP, SSB, UPS.
  9582. *
  9583. * MACROS PRINT.
  9584.  
  9585.  
  9586. APP SUBR
  9587. RJ PPO PACK PP OPERATING REGISTERS
  9588. SA6 APPH SAVE REGISTER DATA FOUND FLAG
  9589. RJ RPD READ PP DATA
  9590. SX6 B0+ CLEAR DUMPING PP SAVE AREA DATA FLAG
  9591. APP1 SA6 APPF
  9592. RJ ICT INITIALIZE CHANNEL TABLE
  9593. SA2 EF CHECK AUTO EJECT FLAG
  9594. SX1 100 PRESET FOR EJECT
  9595. ZR X2,APP2 IF AUTO EJECT ON
  9596. SX1 26
  9597. APP2 RJ CPS CHECK PAGE SPACE
  9598. PRINT (=2C )
  9599. SA1 BPNA+1
  9600. SA2 =6R, AFTE
  9601. BX6 X1
  9602. BX7 X1+X2
  9603. SA6 APPA+2 SET NAME IN HEADER
  9604. SA7 APPB+2
  9605. SA2 APPF
  9606. ZR X2,APP3 IF NOT DUMPING PP SAVE AREA DATA
  9607. SA1 GPSB GET ADDRESS OF PP SAVE BUFFER
  9608. RJ COD CONVERT SAVE BUFFER ADDRESS
  9609. MX6 48 ENSURE END OF LINE
  9610. BX6 X6*X4
  9611. BX1 X4
  9612. SA6 APPB+7
  9613. APP3 SA0 A6+2 SET LOGICAL PP IN MESSAGE
  9614. RJ SLP
  9615. ZR X6,APP4 IF NO PP SWITCH
  9616. RJ SFN SPACE FILL NAME
  9617. SA6 A6+ SET SPACE FILLED NAME IN HEADER
  9618. APP4 SA1 A6+3 GET FWA OF HEADER
  9619. PRINT X1 PRINT HEADER
  9620. PRINT (=2C )
  9621. RJ SSB CLEAR PRINT STRING
  9622. SA3 F.TCMT
  9623. SA4 PC GET PP COMMUNICATION AREA POINTER
  9624. IX4 X3+X4 ADDRESS OF PP COMMUNICATION AREA
  9625. RJ CPN CONVERT PP/CPP NUMBER
  9626. LX6 3
  9627. IX5 X6+X4
  9628. SA5 X5 READ SELECTED INPUT REGISTER
  9629. SX6 B0 PRESET LINE INDEX
  9630.  
  9631. * FORMAT I/O REGISTERS AND OVERLAY NAMES.
  9632.  
  9633. APP7 SA2 PP RELOAD PP NUMBER
  9634. SA6 APPE SAVE LINE INDEX
  9635. SB4 X6
  9636. SB2 X2 SET PPU NUMBER
  9637. SB7 PRBF+5 PRINT STRING ADDRESS
  9638. RJ FPL FORMAT PPU REGISTER LINE
  9639. SB7 PRBF+60
  9640. RJ FON FORMAT OVERLAY NAME
  9641. PRINT CCCH,B7-CCCH
  9642. SA1 APPE
  9643. SA2 APPF
  9644. SA5 A5+B1 READ NEXT REGISTER WORD
  9645. SX6 X1+B1 ADVANCE LINE INDEX
  9646. SB4 X6-10B
  9647. ZR X2,APP8 IF NOT DUMPING PP SAVE AREA DATA
  9648. SA5 X1+1+PSAV GET REGISTER FROM SAVE AREA
  9649. APP8 NG B4,APP7 IF MORE TO FORMAT
  9650.  
  9651. * FORMAT ENTRY POINT MAP, LOW CORE ANALYSIS AND OPERATING
  9652. * REGISTERS.
  9653.  
  9654. PRINT (=2C )
  9655. RJ SSB
  9656. SB7 PRBF PRINT HEADERS
  9657. SB6 57
  9658. SA2 APPC
  9659. RJ UPS
  9660. SA5 APPH
  9661. ZR X5,APP8.1 IF NO PP REGISTERS
  9662. SB7 PRBF+88
  9663. SB6 20
  9664. SA2 =C*OPERATING REGISTERS*
  9665. RJ UPS
  9666. APP8.1 PRINT CCCH,B7-CCCH
  9667. RJ SSB
  9668. SB7 PRBF
  9669. SB6 61
  9670. SA2 APPD
  9671. RJ UPS
  9672. ZR X5,APP8.2 IF NO PP REGISTERS
  9673. SB7 PRBF+93
  9674. SB6 25
  9675. SA2 =C*P Q K A*
  9676. RJ UPS
  9677. APP8.2 PRINT CCCH,B7-CCCH
  9678. SX5 0 PRESET LINE INDEX
  9679. PRINT (=2C )
  9680. APP9 RJ SSB CLEAR PRINT STRING
  9681. RJ FEM FORMAT ENTRY POINT
  9682. RJ FLC FORMAT LOW CORE ANALYSIS LINE
  9683. SB7 PRBF+76
  9684. RJ FPO FORMAT OPERATING REGISTERS LINE
  9685. PRINT CCCH,B7-CCCH
  9686. SX5 X5+1 ADVANCE LINE INDEX
  9687. SX6 X5-10
  9688. SA1 CE
  9689. ZR X1,APP10 IF CME NOT PRESENT
  9690. SX6 X6-1 COUNT R-REGISTER LINE
  9691. APP10 NG X6,APP9 IF MORE LINES TO FORMAT
  9692.  
  9693. * DUMP MEMORY IN *Q* FORMAT.
  9694.  
  9695. PRINT (=2C )
  9696. PRINT (=C* PPU MEMORY*)
  9697. PRINT (=2C )
  9698. SX6 B1+
  9699. SA6 APPG SET *PBUF*-DEFINED TO TRUE
  9700. RJ DPQ DUMP PPU MEMORY
  9701. SA3 APPF
  9702. NZ X3,APP11 IF DUMPING PP SAVE AREA DATA
  9703. RJ GPS GET PP SAVE AREA DATA
  9704. SX6 1 SET DUMPING PP SAVE AREA DATA FLAG
  9705. NZ X5,APP1 IF PP FOUND IN PP SAVE AREA
  9706. APP11 SX6 B0+
  9707. SA6 APPF CLEAR DUMPING PP SAVE AREA DATA FLAG
  9708. SA6 APPG CLEAR *PBUF*-VALID
  9709. JP APPX EXIT
  9710.  
  9711. APPA DATA C* ANALYSIS OF PPXX (LOGICAL PPYY)*
  9712. CON APPA
  9713. APPB DATA 50H RE-ANALYSIS OF PPXX, AFTER RESTORING IT FROM
  9714. DATA C*THE PP SAVE AREA AT 000000. (LOGICAL PPYY)*
  9715. CON APPB
  9716. APPC DATA 50H RESIDENT ENTRY POINTS LOW CORE CON
  9717. DATA C*STANTS*
  9718. APPD DATA 50H NAME LOC CALLER NAME LOC ACTUA
  9719. DATA C*L EXPECTED*
  9720. APPE BSS 1 LINE INDEX
  9721. APPF CON 0 DUMPING PP SAVE AREA DATA FLAG
  9722. APPG CON 0 PP DATA IN *PBUF* FLAG
  9723. APPH CON 0 PP REGISTER DATA FLAG
  9724. ASD SPACE 4,12
  9725. ** ASD - ASSEMBLE DIGITS.
  9726. *
  9727. * ENTRY (B7) = 0, IF OCTAL BASE.
  9728. * = NONZERO, IF DECIMAL BASE.
  9729. * (CH) = STRING POINTER.
  9730. *
  9731. * EXIT (X4) = NONZERO, IF CONVERSION ERROR.
  9732. * (X6) = CONVERTED DIGITS.
  9733. * (B6) = 0, IF AT END OF DIRECTIVE.
  9734. * = NONZERO, IF DIGITS PROCESSED.
  9735. *
  9736. * USES X - 5.
  9737. *
  9738. * CALLS ASN, DXB.
  9739.  
  9740.  
  9741. ASD SUBR ENTRY/EXIT
  9742. RJ ASN ASSEMBLE NAME
  9743. BX5 X6
  9744. RJ DXB CONVERT DISPLAY CODE TO BINARY
  9745. EQ ASDX RETURN
  9746. ASN SPACE 4,15
  9747. ** ASN - ASSEMBLE NAME.
  9748. * ASSEMBLES UP TO A 10-CHARACTER NAME TO A SEPARATOR.
  9749. * LEADING SPACES ARE IGNORED.
  9750. *
  9751. * ENTRY (CH) = STRING POINTER.
  9752. *
  9753. * EXIT (X6) = NAME, LEFT-JUSTIFIED AND ZERO-FILLED.
  9754. * = 0, IF NULL PARAMETER.
  9755. * (B6) = 0, IF AT END OF DIRECTIVE.
  9756. * .LT.0, IF SHIFT COUNT TO RIGHT-JUSTIFY.
  9757. * .GT.0, IF NULL PARAMETER.
  9758. *
  9759. * ERROR TO *ERR33*, IF PARAMETER MORE THAN 10 CHARACTERS.
  9760. *
  9761. * USES X - 1, 6, 7.
  9762. * A - 1, 7.
  9763. * B - 6.
  9764.  
  9765.  
  9766. ASN3 SX7 A1+ STORE ADDRESS OF LAST PARAMETER
  9767. SA7 CH
  9768. LX6 B6 LEFT-JUSTIFY PARAMETER
  9769. ZR X6,ASNX IF NULL PARAMETER
  9770. ASN4 SB6 B6-60 CLEAR IF END OF DIRECTIVE
  9771.  
  9772. ASN SUBR ENTRY/EXIT
  9773. SB6 60 PRESET SHIFT COUNT
  9774. SX6 0 PRESET ASSEMBLED NAME
  9775. SA1 CH GET FIRST CHARACTER
  9776. SA1 X1+
  9777. SX7 X1-1R/
  9778. NG X7,ASN2 IF FIRST CHARACTER NOT SEPARATOR
  9779. SX7 X1-1R.
  9780. ZR X7,ASN4 IF END OF DIRECTIVE
  9781. ASN1 SA1 A1+1 GET NEXT CHARACTER
  9782. ASN2 SX7 X1-1R
  9783. ZR X7,ASN1 IF SPACING WITHIN DIRECTIVE
  9784. SX7 X1-1R/
  9785. PL X7,ASN3 IF END OF PARAMETER
  9786. SB6 B6-6
  9787. NG B6,ERR33 IF MORE THAN 10 CHARACTERS READ
  9788. LX6 6 STORE CHARACTER
  9789. BX6 X6+X1
  9790. EQ ASN1 GET NEXT CHARACTER
  9791. ASP SPACE 4,27
  9792. ** ASP - ANALYZE SELECTED PPUS.
  9793. *
  9794. * ENTRY (A0) = RETURN ADDRESS.
  9795. * (X6) = PARAMETER BLOCK ADDRESS.
  9796. * (PC) = PP COMMUNICATION AREA POINTER.
  9797. *
  9798. * PARAMETER BLOCK FORMAT -
  9799. *
  9800. * 18/ NAME,1/ ,5/ NUMBER,1/ OT BIT,18/ ,5/ ORIGIN TYPE,12/
  9801. * SECOND ENTRY
  9802. * . .
  9803. * . .
  9804. * . .
  9805. * 60/ NEGATIVE WORD TERMINATES BLOCK
  9806. *
  9807. * NAME = 0 IF ANY ACTIVE PPU ALLOWED.
  9808. * = PPU NAME.
  9809. * NUMBER = 0 IF ANY CONTROL POINT NUMBER ALLOWED.
  9810. * = CONTROL POINT NUMBER THAT MUST MATCH THE
  9811. * CONTROL POINT NUMBER ASSOCIATED WITH THE PPU.
  9812. * OT BIT = 0 IF ANY ORIGIN TYPE ALLOWED.
  9813. * = 1 IF THE ORIGIN TYPE SPECIFIED (BITS 17-12)
  9814. * MUST MATCH THE ORIGIN TYPE OF THE CONTROL
  9815. * POINT ASSOCIATED WITH THE PPU.
  9816. *
  9817. * USES X - ALL.
  9818. * A - 1, 3, 4, 5, 6, 7.
  9819. * B - 2.
  9820. *
  9821. * CALLS APP, SCM, SPA.
  9822.  
  9823.  
  9824. ASP SX7 A0
  9825. SA7 ASPA SAVE RETURN ADDRESS
  9826. SA6 A7+B1 SAVE PARAMETER BLOCK ADDRESS
  9827. SA1 PC GET PP COMMUNICATION AREA POINTER
  9828. BX6 X1
  9829. SA6 PI SET SEARCH INDEX
  9830. ASP1 RJ SPA SELECT NEXT PPU TO ANALYZE
  9831. ZR X1,ASP6 IF NO MORE PPUS TO ANALYZE
  9832. SA5 F.TCMT
  9833. SB2 X6-10B
  9834. SA4 X5+B2 READ INPUT REGISTER
  9835. SA1 ASPB
  9836. SA5 X1-1
  9837. ASP2 SA5 A5+1 NEXT ENTRY IN TABLE
  9838. NG X5,ASP1 IF END OF TABLE
  9839. MX3 18
  9840. BX2 X5*X3
  9841. ZR X2,ASP3 IF ANY ACTIVE PPU ALLOWED
  9842. BX0 X5-X4
  9843. BX1 X0*X3
  9844. NZ X1,ASP2 IF NAMES DO NOT MATCH
  9845. ASP3 MX6 5
  9846. LX6 -19
  9847. BX1 X5*X6
  9848. ZR X1,ASP4 IF ANY CONTROL POINT NUMBER ALLOWED
  9849. BX1 X5-X4
  9850. BX1 X1*X6
  9851. NZ X1,ASP2 IF CONTROL POINT NUMBERS DO NOT MATCH
  9852. ASP4 BX2 X5
  9853. LX2 24
  9854. PL X2,ASP5 IF ANY ORIGIN TYPE ALLOWED
  9855. SA1 F.TCMT
  9856. SX7 CPLEN
  9857. BX3 X4*X6
  9858. LX3 24 CONTROL POINT NUMBER
  9859. IX3 X3*X7 CONTROL POINT AREA ADDRESS
  9860. IX3 X1+X3
  9861. SA3 X3+JOTW GET CONTROL POINT AREA ORIGIN TYPE
  9862. AX6 24
  9863. BX6 X6*X3
  9864. BX5 X6*X5 GET ORIGIN TYPE FOR TABLE ENTRY
  9865. BX5 X5-X6
  9866. NZ X5,ASP2 IF ORIGIN TYPES DO NOT MATCH
  9867. ASP5 RJ APP ANALYZE PPU
  9868. JP ASP1 CONTINUE
  9869.  
  9870. ASP6 RJ SCM SET CENTRAL MEMORY
  9871. SA7 RI
  9872. SA1 ASPA
  9873. SB2 X1
  9874. JP B2 RETURN
  9875.  
  9876. ASPA BSS 1 RETURN ADDRESS
  9877. ASPB BSS 1 PARAMETER BLOCK ADDRESS
  9878. ASX SPACE 4,15
  9879. ** ASX - ASSEMBLE HEXADECIMAL DIGITS.
  9880. *
  9881. * ENTRY (CH) = STRING POINTER.
  9882. *
  9883. * EXIT (X4) = NONZERO, IF CONVERSION ERROR.
  9884. * (X6) = CONVERTED DIGITS.
  9885. * (B6) = 0, IF NO DIGITS ASSEMBLED.
  9886. * (ASXA) = NUMBER IN DISPLAY CODE,
  9887. * = 0 IF NULL PARAMETER.
  9888. *
  9889. * USES X - 4, 5.
  9890. *
  9891. * CALLS ASN, HXB.
  9892.  
  9893.  
  9894. ASX SUBR ENTRY/EXIT
  9895. SX4 1 PRESET ERROR RESPONSE
  9896. RJ ASN ASSEMBLE NAME
  9897. SA6 ASXA SAVE NAME
  9898. ZR B6,ASXX IF NO DIGITS ASSEMBLED
  9899. BX5 X6
  9900. RJ HXB CONVERT DISPLAY CODE TO HEX
  9901. EQ ASXX RETURN
  9902.  
  9903. ASXA CON 0 SAVE RESULT FROM *ASN*
  9904. ATC SPACE 4,13
  9905. ** ATC - ASSEMBLE TRACK CHAIN.
  9906. *
  9907. * ENTRY (A0) = RETURN ADDRESS.
  9908. * (GNFA - GNFA+5) = FILE INFORMATION.
  9909. *
  9910. * EXIT TRACK LINKS STORED ONE PER WORD RIGHT JUSTIFIED
  9911. * IN TABLE *TSC1*. TABLE *TSCR* IS USED TO HOLD THE
  9912. * SELECTED TRT DURING THE ASSEMBLY PROCESS.
  9913. *
  9914. * USES X - 0, 1, 2, 3, 4, 5, 6.
  9915. * A - 0, 1, 2, 3, 5, 6.
  9916. * B - 2, 3, 4, 5.
  9917. *
  9918. * CALLS PCM.
  9919. *
  9920. * MACROS ADDWRD, ALLOC, GETCM.
  9921.  
  9922.  
  9923. ATC SUBR
  9924. SA2 GNFA+5 READ EST
  9925. MX0 -12
  9926. BX3 -X0*X2
  9927. LX3 3
  9928. SX5 X3 SAVE MST ADDRESS
  9929. SX3 X3+TRLL
  9930. RJ PCM POSITION TO MST WORD *TRLL*
  9931. GETCM
  9932. MX0 -18 SAVE FWA OF TRT
  9933. BX6 -X0*X6
  9934. SA6 ATCA
  9935. MX0 -12
  9936. SX3 X5+TDGL
  9937. RJ PCM POSITION TO TRT ADDRESS
  9938. GETCM
  9939. AX6 24
  9940. SA1 ATCA SET FWA OF TRT
  9941. SB3 X1
  9942. SA5 A0 SAVE A0
  9943. BX5 -X0*X6 TRT LENGTH
  9944. SA1 L.TSCR ALLOCATE SCRATCH TABLE SPACE
  9945. IX1 X5-X1
  9946. ALLOC TSCR,X1
  9947. SA0 X2 SAVE TABLE FWA
  9948. SX0 X3 SAVE TABLE LENGTH
  9949. SX3 B3+
  9950. RJ PCM POSITION TO TRT
  9951. GETCM A0,X0 READ TRT INTO SCRATCH TABLE
  9952. SB5 X0 RESET TABLE LENGTH
  9953. SX6 B0
  9954. SA6 L.TSC1 CLEAR LINK TABLE
  9955. SA3 GNFA+2 READ FST
  9956. MX1 -12
  9957. AX3 36
  9958. BX1 -X1*X3 EXTRACT FIRST TRACK NUMBER
  9959. ATC1 ADDWRD TSC1,X1 STORE LINK IN TABLE
  9960. SA0 A5+ RESTORE A0
  9961. SX2 X1-3777B
  9962. ZR X2,ATC2 IF LINKED TO FLAW
  9963. LX1 -12
  9964. PL X1,ATCX IF EOI REACHED
  9965. LX1 12
  9966. MX0 -11
  9967. BX1 -X0*X1 CLEAR LINKED FLAG
  9968. MX2 -2
  9969. BX2 -X2*X1 BYTE INDEX
  9970. AX1 2 TRT WORD ORDINAL
  9971. SB3 X1
  9972. GE B3,B5,ATC2 IF LINK BEYOND END OF TRT
  9973. SB2 X2
  9974. SX3 12
  9975. IX3 X2*X3
  9976. SB4 X3 SHIFT COUNT
  9977. SA2 F.TSCR
  9978. IX2 X1+X2
  9979. SA1 X2 READ TRT WORD
  9980. SX5 10B
  9981. AX5 X5,B2
  9982. BX4 X5*X1 CHECK RESERVATION
  9983. ZR X4,ATC2 IF TRACK NOT RESERVED OR ALREADY LINKED
  9984. BX6 -X5*X1 CLEAR RESERVATION
  9985. SA6 A1 UPDATE TRT
  9986. MX0 12
  9987. LX1 X1,B4 POSITION TRT WORD
  9988. BX1 X0*X1 EXTRACT NEXT LINK
  9989. LX1 12
  9990. JP ATC1 ADD TO TABLE
  9991.  
  9992. ATC2 SX1 -=C* INCORRECT TRACK LINKAGE*
  9993. ADDWRD TSC1,X1 SET ERROR FLAG
  9994. SA0 A5 RESTORE A0
  9995. JP ATCX EXIT
  9996.  
  9997. ATCA CON 0 FWA OF TRT
  9998. BCP SPACE 4,9
  9999. ** BCP - BEGIN CONTROL POINT DUMP.
  10000. *
  10001. * ENTRY (CH) = DIRECTIVE CARD STRING POINTER.
  10002. *
  10003. * EXIT (PI) = *TCMT* TABLE INDEX FOR ACTIVE CP SEARCH.
  10004. * = 0, IF CONTROL POINT NUMBERS ON DIRECTIVE CARD.
  10005. *
  10006. * USES X - 1, 6.
  10007. * A - 1, 6.
  10008.  
  10009.  
  10010. BCP SUBR
  10011. SX6 0
  10012. SA6 PI PRESET SEARCH INDEX
  10013. SA1 CH CHECK LAST SEPARATOR
  10014. SA1 X1+
  10015. SX1 X1-1R.
  10016. NZ X1,BCPX IF NUMBERS SPECIFIED ON DIRECTIVE CARD
  10017. SA1 FW CPA/PCPA FWA - CPLEN
  10018. SX6 X1+TFSW
  10019. SA6 PI PRESET CP AREA SEARCH INDEX
  10020. JP BCPX EXIT
  10021. BPN SPACE 4,15
  10022. ** BPN - BUILD PPU NAME.
  10023. *
  10024. * ENTRY (PP) = PPU NUMBER.
  10025. * (IC) = *CPP* RECORD PROCESSING FLAG.
  10026. * (IPDA) = PPU/FLPP RECORD FLAG.
  10027. *
  10028. * EXIT (X0) = MASK FOR PP/CPP/FLPP RECORD SEARCH.
  10029. * (X3) = PP NUMBER IN DISPLAY CODE MINUS 3333B.
  10030. * (X6) = (BPNA+1) = PP HEADER NAME IN FORM *CPPNN*,
  10031. * *PPNN*, OR *FPNN*, LEFT JUSTIFIED.
  10032. * (X7) = (BPNA) = PP RECORD NAME IN FORM *DNN*, *PPNN*,
  10033. * OR *FPNN*, LEFT JUSTIFIED.
  10034. *
  10035. * USES X - 0, 1, 2, 3, 6, 7.
  10036. * A - 1, 2, 6, 7.
  10037.  
  10038.  
  10039. BPN SUBR
  10040. SA1 PP
  10041. SX2 707B
  10042. BX3 X1
  10043. LX3 3
  10044. BX3 X3+X1
  10045. BX3 X3*X2
  10046. SA1 IC
  10047. LX3 47-11
  10048. SA2 IPDA
  10049. ZR X1,BPN1 IF NOT CPP
  10050. SA1 BPNB
  10051. SA2 .CPP GET CPP RECORD ID
  10052. IX6 X1+X3
  10053. LX6 -6
  10054. JP BPN2 SET IN HEADER
  10055.  
  10056. BPN1 SA2 .NPP+X2 GET RECORD ID
  10057. NO
  10058. IX6 X3+X2
  10059. BPN2 IX7 X3+X2
  10060. LX3 11-47
  10061. SA6 BPNA+1 SET PP HEADER NAME
  10062. SA7 A6-B1
  10063. MX0 24
  10064. JP BPNX EXIT
  10065.  
  10066. BPNA BSS 1 PP RECORD NAME
  10067. BSS 1 PP HEADER NAME
  10068. BPNB VFD 60/4LPP00+1RC CPP HEADER NAME
  10069. BST SPACE 4,15
  10070. ** BST - DUMP BUFFER STATUS TABLE.
  10071. *
  10072. * ENTRY (BUF) = MST FOLLOWED BY TRT OR MRT.
  10073. *
  10074. * EXIT (BUF) = MST AND BST, IF BST PRESENT.
  10075. *
  10076. * USES X - 1, 2, 3, 6, 7.
  10077. * A - 1, 2, 6, 7.
  10078. * B - 2, 5, 6, 7.
  10079. *
  10080. * CALLS CTS, FDW, POM, P4F, SDI, SRD, SSB.
  10081. *
  10082. * MACROS GETCM, PRINT.
  10083.  
  10084.  
  10085. BST SUBR
  10086. SA1 BUF+BDLL FWA OF BST
  10087. LX1 -24
  10088. SX6 X1
  10089. ZR X6,BSTX IF NO BUFFER STATUS TABLE
  10090. SA6 CPRA
  10091. SA6 FW
  10092. SB2 A6
  10093. RJ POM POSITION TO BST
  10094. SX7 BSTL SET BST LENGTH
  10095. SA7 LW SET BST LWA+1
  10096. GETCM BUF+MSTXL,X7 READ BST INTO *BUF*
  10097. PRINT (=2C )
  10098. PRINT (=C* BUFFER STATUS TABLE*)
  10099. PRINT (=2C )
  10100. MX7 1
  10101. SA7 SRDA PRESET FIRST CALL TO *SRD*
  10102. SX6 B0
  10103. SA6 BSTA CLEAR LINK ORDINAL
  10104. SA6 BSTB CLEAR DATA WORD ORDINAL
  10105. SA6 SRDC+5 STOP DASHES AFTER 50 CHARACTERS
  10106. RJ SSB CLEAR PRINT STRING
  10107. BST1 SA1 BSTB SET DATA ADDRESS
  10108. SX1 X1+BUF+MSTXL
  10109. SB5 1 SET WORD COUNT
  10110. RJ SRD SENSE REPEAT DATA
  10111. NZ X1,BST2 IF REPEAT SENSED
  10112. SA1 FW GET BST ADDRESS
  10113. SA2 BSTB
  10114. IX1 X1+X2
  10115. LX1 -18
  10116. SB6 6
  10117. SB7 PRBF
  10118. RJ CTS CONVERT BST ADDRESS
  10119. SB7 B7+B1
  10120. SX6 1R+
  10121. SA6 B7
  10122. SB7 B7+B1
  10123. SA1 BSTA BUFFER ORDINAL
  10124. LX1 -12
  10125. SB6 4
  10126. RJ CTS CONVERT BUFFER ORDINAL
  10127. SB7 B7+2
  10128. SA2 =4000005B
  10129. SA1 BSTB READ BST DATA WORD
  10130. SA1 X1+BUF+MSTXL
  10131. RJ FDW FORMAT DATA WORD
  10132. SA2 BSTB RE-READ DATA WORD
  10133. SA2 X2+BUF+MSTXL
  10134. SB7 B7+2
  10135. SB6 10
  10136. RJ SDI SET DISPLAY CODE INTERPRETATION
  10137. PRINT CCCH,B7-CCCH
  10138. BST2 SA1 BSTA
  10139. SX6 X1+20B
  10140. SA6 A1+ UPDATE BUFFER ORDINAL
  10141. SA1 BSTB
  10142. SX6 X1+B1
  10143. SA6 A1+ UPDATE BST ADDRESS
  10144. SA2 LW
  10145. IX3 X6-X2
  10146. NG X3,BST1 IF MORE TO DUMP
  10147. SA1 SRDC+1
  10148. BX6 X1
  10149. SA6 SRDC+5 RESET DASHES FOR 136 CHARACTERS
  10150. JP BSTX EXIT
  10151.  
  10152. BSTA BSS 1 TRACK LINK ORDINAL
  10153. BSTB BSS 1 BST DATA WORD ORDINAL
  10154. CCM SPACE 4,5
  10155. ** CCM - PROCESS *CCM* (CRITICAL *NOS/VE* MEMORY) RECORDS.
  10156. *
  10157. * ENTRY VIA UNCONDITIONAL JUMP.
  10158. *
  10159. * CALLS ERF, RBF.
  10160.  
  10161.  
  10162. CCM BSS 0 ENTRY
  10163. RJ ERF POSITION TO EOR OF HEADER RECORD
  10164. RJ RBF INITIATE READ OF *CCM* DATA RECORD
  10165. RJ ERF SKIP TO EOR
  10166. EQ RBI2 READ NEXT RECORD
  10167. CCQ SPACE 4,10
  10168. ** CCQ - CHECK FOR CIRCULAR QUEUE.
  10169. *
  10170. * EXIT (X5) .LT. 0, IF CIRCULAR QUEUE FOUND.
  10171. * ELSE, QUEUE ENTRY COUNT IS INCREMENTED.
  10172. *
  10173. * USES X - 5, 6.
  10174. * A - 5, 6.
  10175. *
  10176. * MACROS PRINT.
  10177.  
  10178.  
  10179. CCQ SUBR
  10180. SA5 CCQB INCREMENT QUEUE ENTRY COUNT
  10181. SX6 X5+1
  10182. SA6 CCQB
  10183. SA5 CCQA CHECK IF QUEUE ENTRY LIMIT EXCEEDED
  10184. IX5 X5-X6
  10185. PL X5,CCQX IF QUEUE ENTRY LIMIT NOT REACHED
  10186. PRINT (=2C )
  10187. PRINT (=C+ *********WARNING - QUEUE ENTRY LIMIT EXCEEDED+)
  10188. PRINT (=2C )
  10189. EQ CCQX RETURN
  10190.  
  10191. CCQA CON 0 QUEUE ENTRY LIMIT
  10192. CCQB CON 0 QUEUE ENTRY COUNT
  10193. CEA SPACE 4,10
  10194. ** CEA - CHECK *EI* ADDRESS.
  10195. *
  10196. * ENTRY (X3) = BYTE ADDRESS.
  10197. *
  10198. * USES X - 1, 2, 3, 7.
  10199. * A - 1, 2, 7.
  10200. *
  10201. * CALLS PCM.
  10202.  
  10203.  
  10204. CEA1 BX7 X1 SET RANDOM ADDRESS
  10205. AX3 3
  10206. SA7 RI
  10207. RJ PCM POSITION CM RECORD
  10208.  
  10209. CEA SUBR ENTRY/EXIT
  10210. SA2 XB
  10211. SA1 MH+1 MEMORY RECORD RANDOM ADDRESS
  10212. IX7 X3-X2
  10213. NG X7,CEA1 IF NOT *EI* ADDRESS
  10214. BX3 X7
  10215. SA1 EH+1
  10216. EQ CEA1 PROCESS ENVIRONMENTAL INTERFACE ADDRESS
  10217. CEP SPACE 4,10
  10218. ** CEP - CHECK FOR EXTRANEOUS PARAMETERS.
  10219. *
  10220. * ENTRY (CH) = DIRECTIVE CARD STRING POINTER.
  10221. *
  10222. * EXIT TO *ERR40* IF EXTRA PARAMETER DETECTED.
  10223. *
  10224. * USES X - 1.
  10225. * A - 1.
  10226.  
  10227.  
  10228. CEP SUBR ENTRY/EXIT
  10229. SA1 CH GET NEXT CHARACTER
  10230. SA1 X1+
  10231. SX1 X1-1R.
  10232. NG X1,ERR40 IF NOT END OF DIRECTIVE
  10233. EQ CEPX RETURN
  10234. CKC SPACE 4,12
  10235. ** CKC - CRACK AND PROCESS DIRECTIVE CARD.
  10236. *
  10237. * ENTRY (B2) = DIRECTIVE PROCESSOR TABLE ADDRESS.
  10238. * DIRECTIVE BEGINS AT ADDRESS *CHAR* IN
  10239. * *S* FORMAT.
  10240. * (TF) = 0, IF OUTPUT NOT TO TERMINAL.
  10241. *
  10242. * EXIT (CH) = DIRECTIVE STRING POINTS TO FIRST ARGUMENT.
  10243. * TO DIRECTIVE PROCESSOR, IF FOUND IN TABLE AND VALID.
  10244. * TO CALLER, IF DIRECTIVE NOT FOUND IN TABLE.
  10245. * TO *ERR16*, IF PRINTER DIRECTIVE AND TERMINAL OUTPUT.
  10246. * TO *ERR17*, IF TERMINAL DIRECTIVE AND PRINTER OUTPUT.
  10247. *
  10248. * USES X - 1, 2, 3, 6.
  10249. * A - 1, 2, 6.
  10250. * B - 2, 3.
  10251. *
  10252. * CALLS ASN, DIRECTIVE PROCESSORS.
  10253.  
  10254.  
  10255. CKC SUBR
  10256. SX6 CHAR
  10257. SA6 CH SET DIRECTIVE STRING POINTER
  10258. RJ ASN ASSEMBLE DIRECTIVE NAME
  10259. CKC1 SA1 B2 READ PROCESSOR TABLE
  10260. SB2 B2+B1 ADVANCE TABLE POINTER
  10261. ZR X1,CKCX IF END OF TABLE
  10262. SA2 X1 READ PROCESSOR NAME
  10263. BX3 X2-X6
  10264. NZ X3,CKC1 IF NO MATCH
  10265. SB3 X1+B1 SET EXECUTION ADDRESS
  10266. LX3 X1,B1
  10267. SA2 TF CHECK TERMINAL FLAG
  10268. ZR X2,CKC2 IF OUTPUT NOT TO TERMINAL
  10269. NG X1,ERR16 IF DIRECTIVE RESTRICTED TO PRINTER
  10270. CKC2 NZ X2,CKC3 IF OUTPUT TO TERMINAL
  10271. NG X3,ERR17 IF DIRECTIVE RESTRICTED TO TERMINAL
  10272. CKC3 LX1 -18 SET/CLEAR ERROR RETURN ADDRESS
  10273. SX6 X1
  10274. SA6 ERRC+1
  10275. JP B3 EXECUTE SELECTED PROCESSOR
  10276. CLE SPACE 4,10
  10277. ** CLE - CHECK FOR LAST TABLE ENTRY.
  10278. *
  10279. * ENTRY (X4) = TABLE ENTRY NUMBER.
  10280. * (BE) = BUFFERED DEVICE TABLE ENTRY.
  10281. *
  10282. * EXIT (X0) = ENTRY ADDRESS RELATIVE TO TABLE FWA.
  10283. * (X1) = ENTRY LENGTH.
  10284. * (X2) = TABLE LENGTH.
  10285. * (X3).LT.0, IF ENTRY WITHIN TABLE.
  10286. *
  10287. * USES X - 0, 1, 2, 3.
  10288. * A - 2.
  10289.  
  10290.  
  10291. CLE SUBR ENTRY/EXIT
  10292. SA2 BE GET TABLE *BDT* ENTRY
  10293. LX2 18
  10294. MX0 -6
  10295. BX1 -X0*X2 ENTRY LENGTH
  10296. IX0 X1*X4 ENTRY ADDRESS RELATIVE TO TABLE FWA
  10297. AX2 42 TABLE LENGTH
  10298. IX3 X0-X2 CHECK IF ENTRY NUMBER WITHIN TABLE
  10299. EQ CLEX RETURN
  10300. CMB SPACE 4,15
  10301. ** CMB - CHECK MEMORY BOUNDS.
  10302. *
  10303. * ENTRY (B2) = DUMP PARAMETER BLOCK ADDRESS.
  10304. * (AM) = *ALLMEM* FLAG.
  10305. * (AP) = ADVANCED PROCESSOR FLAG.
  10306. *
  10307. * EXIT TO CALLER IF DUMP PARAMETERS OKAY.
  10308. * TO *ERR32* IF PARAMETERS ARE BAD.
  10309. *
  10310. * USES X - 1, 2.
  10311. * A - 1, 2.
  10312.  
  10313.  
  10314. CMB SUBR ENTRY/EXIT
  10315. SA1 CE
  10316. ZR X1,CMBX IF BOUNDS CHECKING NOT REQUIRED
  10317. SA1 AM
  10318. NZ X1,CMBX IF *ALLMEM* ENABLED
  10319. SA1 SBTL1
  10320. SA2 =10HCM
  10321. BX1 X1-X2
  10322. NZ X1,CMBX IF NOT DUMPING CM
  10323. SA2 F.TCMT GET CM SIZE
  10324. SA1 X2+MABL
  10325. MX2 -24
  10326. LX1 -12
  10327. BX1 -X2*X1
  10328. SA2 B2+B1 GET LWA+1 OF DUMP
  10329. LX1 6
  10330. IX1 X2-X1
  10331. NG X1,CMBX IF LWA+1 WITHIN CM BOUNDARY
  10332. EQ ERR32 PROCESS BOUNDARY ERROR
  10333. CMP SPACE 4,15
  10334. ** CMP - PROCESS *CM* RECORD.
  10335. *
  10336. * ENTRY VIA UNCONDITIONAL JUMP.
  10337. *
  10338. * EXIT TO *RBI2* IF NORMAL.
  10339. * TO *PPE* IF PREMATURE EOF.
  10340. *
  10341. * USES A - 1, 2, 3, 6, 7.
  10342. * X - 1, 2, 3, 6, 7.
  10343. *
  10344. * CALLS CRS, ERS, RBH, WBS.
  10345.  
  10346.  
  10347. CMP BSS 0 ENTRY
  10348. SA1 BUF DETERMINE NUMBER OF WORDS TO COPY
  10349. SX6 X1 GET CM SIZE
  10350. PL X6,CMP1 IF NEW CM FORMAT
  10351. SX6 X6-1L DELETE UPPER SPACE
  10352. CMP1 LX6 9 CONVERT TO WORDS
  10353. SA6 CMPA
  10354. RJ CRS COPY RECORD TO S
  10355. SX7 B0 CLEAR NUMBER OF WORDS COPIED
  10356. SA7 CMPB
  10357. SA7 ID CLEAR RECORD ID
  10358. CMP2 RJ RBH READ BLOCK OR HEADER FROM FILE *F*
  10359. NZ X1,PPE IF PREMATURE EOF
  10360. NG X1,PPE IF EOR WITH DEFERRED HEADER
  10361. SA1 BWCF SET NUMBER OF WORDS TO WRITE
  10362. BX6 X1
  10363. SA6 BWCS
  10364. RJ WBS WRITE BLOCK TO FILE *S*
  10365. SA1 CMPB UPDATE COUNT OF WORDS COPIED
  10366. SA2 BWCS
  10367. IX6 X1+X2
  10368. SA6 A1
  10369. SA3 CMPA TEST ALL WORDS COPIED
  10370. IX6 X6-X3
  10371. NG X6,CMP2 IF NOT DONE
  10372. RJ ERS END RECORD ON S
  10373. SX6 -1 FORCE EOR ON F
  10374. SA6 EORF
  10375. EQ RBI2 EXIT TO READ NEXT RECORD FROM F
  10376.  
  10377.  
  10378. CMPA BSS 1 NUMBER OF WORDS TO COPY
  10379. CMPB BSS 1 NUMBER OF WORDS COPIED
  10380. CNL SPACE 4,10
  10381. ** CNL - CHECK NFL LENGTH.
  10382. *
  10383. * ENTRY (L.TNFL) = NFL/100 OF CURRENT CP.
  10384. *
  10385. * EXIT (X1) .GE. 0 IF SUFFICIENT NFL SPACE.
  10386. * (X1) .LT. 0 IF INSUFFICIENT NFL SPACE.
  10387. * WARNING MESSAGE PRINTED.
  10388. *
  10389. * USES X - 1, 6.
  10390. * A - 1.
  10391. *
  10392. * MACROS PRINT.
  10393.  
  10394.  
  10395. CNL SUBR ENTRY/EXIT
  10396. SA1 L.TNFL GET NFL/100
  10397. SX6 DNFL GET DEFAULT
  10398. IX1 X1-X6
  10399. PL X1,CNLX IF SUFFICIENT SPACE
  10400. PRINT (=2C )
  10401. PRINT (=C* INSUFFICIENT NFL SPACE.*)
  10402. PRINT (=2C )
  10403. MX1 1 SET ERROR STATUS
  10404. EQ CNLX RETURN
  10405. COF SPACE 4,10
  10406. ** COF - COMPLETE OUTPUT FILES.
  10407. * RESET FIELD LENGTH TO ORIGINAL VALUE IF CHANGED.
  10408. *
  10409. * ENTRY OF = CURRENT OUTPUT FILE FET ADDRESS.
  10410. * FN = INITIAL FIELD LENGTH.
  10411. * FM = CURRENT FIELD LENGTH.
  10412. * BD = BINARY DUMP FLAG.
  10413. *
  10414. * USES X - 0, 1, 2, 6, 7.
  10415. * A - 1, 2, 6, 7.
  10416. *
  10417. * CALLS COD.
  10418. *
  10419. * MACROS MEMORY, RECALL, RETURN, SETFS, WRITER.
  10420.  
  10421.  
  10422. COF SUBR
  10423. RECALL L
  10424. WRITER X2,R
  10425. SETFS X2,0 CLEAR OUTPUT FILE ID
  10426. SA1 OF
  10427. IX2 X1-X2
  10428. ZR X2,COF1 IF NO ALTERNATE FILE ACTIVE
  10429. RECALL X1
  10430. WRITER X2,R
  10431. SETFS X2,0 CLEAR ALTERNATE FILE ID
  10432. COF1 SA1 BD
  10433. ZR X1,COF2 IF NOT BINARY DUMP
  10434. RETURN F1 DROP SCRATCH FILE
  10435. COF2 SA1 FM CURRENT FIELD LENGTH
  10436. RJ COD CONVERT TO DISPLAY CODE
  10437. MX0 -36
  10438. BX6 -X0*X6
  10439. LX6 12
  10440. SA2 MSG2A STORE FL USED INTO MESSAGE
  10441. BX7 X2+X6
  10442. SA7 A2
  10443. SA1 FN INITIAL FIELD LENGTH
  10444. SA2 FM CURRENT FIELD LENGTH
  10445. IX2 X2-X1
  10446. ZR X2,COFX IF NO FL CHANGE
  10447. LX1 30
  10448. BX6 X1
  10449. SA6 A1 SET RFL PARAMETER
  10450. MEMORY CM,FN,R
  10451. JP COFX EXIT
  10452. CPC SPACE 4,10
  10453. ** CPC - CHECK PAGE CHANGE.
  10454. *
  10455. * CHECK IF THE FWA HAS ENTERED A NEW CM PAGE AND
  10456. * IF NECESSARY, POSITION TO THAT NEW PAGE.
  10457. *
  10458. * ENTRY (B2+0) - SVA TO DUMP NEXT.
  10459. *
  10460. * EXIT *NXB* - POSITIONED TO CORRECT ADDRESS.
  10461. * (X2) = 0, IF PAGE IS PRESENT.
  10462. * (X3) < 0, IF PAGE IS VALID.
  10463. * (A3) = *PTEVCUM*
  10464. *
  10465. * USES X - 1, 2, 6.
  10466. * A - 1, 2, 6.
  10467. *
  10468. * SAVES X - 5.
  10469. *
  10470. * CALLS PSM, SPT.
  10471.  
  10472.  
  10473. CPC SUBR ENTRY/EXIT
  10474. MX3 1
  10475. SA4 B2 ADDRESS TO BE DUMPED
  10476. SA1 XM PAGE SIZE MASK
  10477. BX6 X4*X1
  10478. SX2 B0
  10479. AX4 32
  10480. BX7 X5 SAVE X5
  10481. NZ X6,CPCX IF NO PAGE CHANGE
  10482. ZR X4,CPCX IF NOT VIRTUAL MEMORY DUMP
  10483. SA7 CPCA SAVE X5
  10484. RJ SPT SEARCH PAGE TABLE
  10485. NZ X2,CPCX IF PAGE MISSING
  10486. SB2 BRMA BYTE REAL MEMORY ADDRESS OF PAGE
  10487. RJ PSM POSITION TO THE RMA
  10488. SA1 CPCA RESTORE X5
  10489. SA3 PTEVCUM
  10490. BX5 X1
  10491. SX2 B0 DEFINE PAGE AS PRESENT
  10492. EQ CPCX RETURN
  10493.  
  10494. CPCA CON 0
  10495. CPD SPACE 4,10
  10496. ** CPD - COPY PP DATA TO BUFFER.
  10497. *
  10498. * ENTRY DUMP FILE POSITIONED TO PROPER PP RECORD.
  10499. *
  10500. * EXIT PP MEMORY COPIED TO BUFFER *PBUF*.
  10501. *
  10502. * USES X - 1, 6.
  10503. * A - 1, 6.
  10504. *
  10505. * MACROS READW.
  10506.  
  10507.  
  10508. CPD1 READW S,PBUF,IUBUFL1
  10509. SX6 IUBUFL1
  10510. CPD2 SA6 NXBA
  10511. BX6 X6-X6
  10512. SA6 A6+B1
  10513. SX6 PBUF-1
  10514. SA6 A6+1
  10515.  
  10516. CPD SUBR ENTRY/EXIT
  10517. SA1 IO
  10518. NZ X1,CPD1 IF NOT I4A OR I4S IOU
  10519. READW S,PBUF,IUBUFL2
  10520. SX6 IUBUFL2
  10521. EQ CPD2 SET POINTERS FOR *NXB*
  10522. CPN SPACE 4,10
  10523. ** CPN - CONVERT PP/CPP NUMBER.
  10524. *
  10525. * ENTRY (PP) = PP/CPP NUMBER FROM DUMP.
  10526. *
  10527. * EXIT (X2) = (PP).
  10528. * (X3) .NE. 0 IF DUMPING A CPP.
  10529. * (X6) = LOGICAL PP/CPP NUMBER.
  10530. *
  10531. * USES X - 2, 3, 6.
  10532. * A - 2, 3.
  10533.  
  10534.  
  10535. CPN SUBR ENTRY/EXIT
  10536. SA2 PP GET PP/CPP NUMBER
  10537. BX6 X2
  10538. SX3 X2-20B
  10539. NG X3,CPN1 IF NOT UPPER BANK
  10540. SX6 X2-20B+12B CONVERT UPPER BANK PP NUMBER
  10541. CPN1 SA3 IC
  10542. ZR X3,CPNX IF NOT PROCESSING CPP-S
  10543. SA3 NP CONVERT CPP NUMBER
  10544. IX6 X2+X3
  10545. EQ CPNX RETURN
  10546. CPS SPACE 4,12
  10547. ** CPS - CHECK PAGE SPACE REMAINING.
  10548. *
  10549. * ENTRY X1 = NUMBER OF LINES DESIRED.
  10550. * LC = CURRENT LINE NUMBER.
  10551. * PD = NUMBER OF LINES PER FULL PAGE.
  10552. *
  10553. * EXIT X6 = NUMBER OF LINES AVAILABLE.
  10554. * A NEW PAGE IS FORCED IF THERE ARE .LT. (X1)
  10555. * LINES LEFT ON THE CURRENT PAGE.
  10556. *
  10557. * USES X - 2,3,6.
  10558. * A - 2,3,6.
  10559.  
  10560.  
  10561. CPS SUBR
  10562. SA2 LC CURRENT LINE COUNT
  10563. SA3 PD
  10564. IX6 X3-X2 NUMBER OF LINES LEFT ON THIS PAGE
  10565. IX2 X6-X1
  10566. PL X2,CPSX IF ENOUGH ROOM REMAINING
  10567. BX6 X3
  10568. SA6 A2 FORCE NEW PAGE
  10569. JP CPSX EXIT
  10570. CRA SPACE 4,10
  10571. ** CRA - COMPUTE CONTROL POINT REFERENCE ADDRESS.
  10572. *
  10573. * ENTRY (X6) = CONTROL POINT NUMBER.
  10574. *
  10575. * EXIT (X6) = CONTROL POINT RA.
  10576. * (X7) = CONTROL POINT FL.
  10577. *
  10578. * USES X - 1, 2.
  10579. * A - 2.
  10580. *
  10581. * CALLS GFL.
  10582.  
  10583.  
  10584. CRA SUBR
  10585. SA2 NC
  10586. SX2 X2+B1 ALLOW FOR SYSTEM CONTROL POINT
  10587. IX2 X2-X6
  10588. NG X2,ERR8 IF INCORRECT CONTROL POINT NUMBER
  10589. SX2 CPLEN
  10590. IX1 X2*X6
  10591. RJ GFL GET RA
  10592. JP CRAX EXIT
  10593. CRS SPACE 4,10
  10594. ** CRS - COPY RECORD TO S.
  10595. *
  10596. * ENTRY (BWCF) = NUMBER OF WORDS TO WRITE IN 1ST BLOCK.
  10597. *
  10598. * USES A - 1, 6.
  10599. * X - 1, 6.
  10600. *
  10601. * CALLS ERS, RBH, WBS.
  10602.  
  10603.  
  10604. CRS2 RJ ERS END RECORD ON S
  10605.  
  10606. CRS SUBR ENTRY/EXIT
  10607. CRS1 SA1 BWCF SET NUMBER OF WORDS TO WRITE
  10608. BX6 X1
  10609. SA6 BWCS
  10610. RJ WBS WRITE BLOCK TO S
  10611. SA1 EORF
  10612. NG X1,CRS2 IF EOR
  10613. RJ RBH READ BLOCK OR HEADER
  10614. NZ X1,PPE IF PREMATURE EOF
  10615. NG X1,CRS2 IF EOR WITH DEFERRED HEADER
  10616. EQ CRS1 CONTINUE COPY OF RECORD
  10617. CSI SPACE 4,10
  10618. ** CSI - COLLECT SEGMENT INFORMATION.
  10619. *
  10620. * ENTRY (BUF - BUF+53*4) = C170-8X5 EXCHANGE PACKAGE.
  10621. *
  10622. * EXIT X6 = 12/0, 16/STL, 32/STA.
  10623. *
  10624. * USES A - 1, 2, 3.
  10625. * X - 1, 2, 3, 6.
  10626.  
  10627.  
  10628. CSI SUBR ENTRY/EXIT
  10629. SA1 BUF+128/2 SEGMENT TABLE LENGTH
  10630. SA2 BUF+272/2 SEGMENT TABLE ADDRESS
  10631. SA3 BUF+280/2
  10632. LX1 32
  10633. LX2 16
  10634. BX3 X1+X3
  10635. BX6 X3+X2
  10636. JP CSIX RETURN
  10637. CST SPACE 4,10
  10638. ** CST - CREATE SUBTITLE LINE.
  10639. * READS SYSTEM DATE LINE FROM CM RECORD TO LISTING SUBTITLE.
  10640. *
  10641. * EXIT (ED) = 0 IF *EDD* DUMP.
  10642. * = 1 IF *DROPVE* DUMP.
  10643. * = 2 IF NO *CM* RECORD FOUND.
  10644. *
  10645. * USES X - 0, 1, 2, 3, 6.
  10646. * A - 1, 2, 3, 6.
  10647. * B - 2, 6, 7.
  10648. *
  10649. * CALLS PCM, PKS, UPS.
  10650. *
  10651. * MACROS GETCM, SEARCH.
  10652.  
  10653.  
  10654. CST2 SX6 2
  10655. SA6 ED ED = 2 IF NO CM RECORD FOUND
  10656.  
  10657. CST SUBR
  10658. MX0 18
  10659. SA1 .CMM
  10660. SEARCH TDIR,X1,X0 LOCATE CM RECORD
  10661. SA3 A2+3
  10662. NZ X2,CST1 IF *CM* RECORD PRESET
  10663. SA2 MH
  10664. ZR X2,CST2 IF NO CENTRAL MEMORY
  10665. LX2 -18
  10666. SX6 X2
  10667. ZR X6,CST0 IF *EDD* DUMP
  10668. SX6 B1+
  10669. CST0 SA6 ED ED = 0 IF *EDD* DUMP, = 1 IF *DROPVE* DUMP
  10670. SX6 B1
  10671. SA3 A2+B1
  10672. SA6 AP SET ADVANCED PROCESSOR FLAG
  10673. SA6 CE SET CM EXTENSION FLAG
  10674. CST1 BX6 X3
  10675. ZR X6,ERR4 IF NO CENTRAL MEMORY
  10676. SA6 UI
  10677. SA6 RI
  10678. SA6 CI
  10679. SX3 TIML
  10680. RJ PCM POSITION DUMP FILE
  10681. GETCM CSTA,8 READ SYSTEM DATE/NAME LINE
  10682. SA2 CSTA
  10683. SB6 80
  10684. SB7 PRBF
  10685. RJ UPS UNPACK LINE
  10686. SB2 PRBF
  10687. SB6 80
  10688. SB7 SBTL2
  10689. RJ PKS REPACK LINE IN SUBTITLE
  10690. JP CSTX EXIT
  10691.  
  10692. CSTA BSS 8
  10693. CTS SPACE 4,12
  10694. ** CTS - CONVERT TO STRING BUFFER.
  10695. *
  10696. * ENTRY X1 = BINARY DIGITS LEFT JUSTIFIED.
  10697. * B6 = NUMBER OF DIGITS TO CONVERT.
  10698. * B7 = ADDRESS OF STRING BUFFER.
  10699. *
  10700. * EXIT B7 IS UPDATED.
  10701. * X1 IS LEFT SHIFTED (B6)*3 PLACES.
  10702. *
  10703. * SAVES X - 2,3,4,5,6.
  10704. * B - 1,2,3,4,5.
  10705. * A - 0,1.
  10706.  
  10707.  
  10708. CTS SUBR
  10709. SX0 7 DIGIT MASK
  10710. CTS1 LX1 3 SHIFT ASSEMBLY
  10711. BX7 X0*X1
  10712. SX7 X7+1R0 CONVERT DIGIT
  10713. SA7 B7 SET IN STRING BUFFER
  10714. SB7 B7+B1 ADVANCE INDEX
  10715. SB6 B6-1 DECREASE COUNT
  10716. NZ B6,CTS1 IF MORE DIGITS
  10717. JP CTSX EXIT
  10718. CVB SPACE 4,10
  10719. ** CVB - CONVERT *NOS/VE* BUFFER.
  10720. *
  10721. * CONVERT 64-BIT WORDS IN *FBB* FORMAT TO 60-BIT FORMAT (BYTE 0
  10722. * IS TRUNCATED) FOR PROCESSING *DROPVE* DUMPS.
  10723. *
  10724. * ENTRY (X3) = NUMBER OF WORDS TO CONVERT. MUST BE .GT. 0.
  10725. * (CVBA) = CONVERTED BUFFER POINTER.
  10726. *
  10727. * EXIT (CVBA) UPDATED.
  10728. *
  10729. * USES X - 0, 1, 2, 3, 6.
  10730. * A - 1, 2, 6.
  10731.  
  10732.  
  10733. CVB SUBR ENTRY/EXIT
  10734. SA1 ED
  10735. ZR X1,CVBX IF USING *CM* RECORD
  10736. SA1 BUF-1
  10737. SA2 CVBA GET POINTER
  10738. CVB1 MX0 -28
  10739. SA1 A1+B1 GET BYTES 0, 1
  10740. BX6 -X0*X1 TRUNCATE BYTE 0
  10741. LX6 32
  10742. SA1 A1+B1 GET BYTES 3, 4
  10743. BX6 X6+X1
  10744. SA6 X2 STORE CONVERTED WORD
  10745. SX2 X2+B1 UPDATE POINTER
  10746. SX3 X3-1
  10747. NZ X3,CVB1 IF MORE TO CONVERT
  10748. BX6 X2 STORE UPDATED POINTER
  10749. SA6 A2
  10750. EQ CVBX RETURN
  10751.  
  10752.  
  10753. CVBA CON 0 STORAGE ADDRESS
  10754. CVE SPACE 4,15
  10755. ** CVE - CHECK CONTROLLER DATA VERIFICATION ERROR.
  10756. *
  10757. * ENTRY (B5) = LEFT SHIFT FOR LOGICAL DIFFERENCE.
  10758. * (X6) = VERIFICATION ERROR FLAG.
  10759. * 0 = NO ERROR.
  10760. * 10B = BIT 0 IN ERROR.
  10761. * 1-7 = CORRESPONDING BIT IN ERROR.
  10762. * 17B = MULTIPLE BIT FAILURE.
  10763. *
  10764. * EXIT (X6) = 0 IF NO VERIFICATION ERROR.
  10765. * (X6) .LT. 0 IF MULTIPLE BIT FAILURE.
  10766. * (X6) = SHIFTED LOGICAL DIFFERENCE FOR BIT IN ERROR.
  10767. *
  10768. * USES X - 6.
  10769. * B - 4.
  10770.  
  10771.  
  10772. CVE SUBR ENTRY/EXIT
  10773. ZR X6,CVEX IF NO ERROR
  10774. SB4 X6-10B
  10775. MX6 1
  10776. GT B4,CVEX IF MULTIPLE BIT FAILURE
  10777. SX6 B1
  10778. ZR B4,CVE1 IF BIT 0 IN ERROR
  10779. SB4 B4+10B VERIFICATION ERROR BIT NUMBER
  10780. CVE1 LX6 B4
  10781. LX6 B5
  10782. EQ CVEX RETURN
  10783. DBB SPACE 4,9
  10784. ** DBB - DUMP BATCHIO BUFFER POINTS.
  10785. *
  10786. * ENTRY (A0) = RETURN ADDRESS.
  10787. * (CN) = CONTROL POINT NUMBER.
  10788. * (RC) = CONTROL POINT REFERENCE ADDRESS.
  10789. *
  10790. * USES X - ALL.
  10791. * A - 1, 2, 3, 4, 5, 6, 7.
  10792. * B - 2, 3, 4, 5, 6, 7.
  10793. *
  10794. * CALLS CTS, DFI, FDW, PCM, SDI, SSB, UPS.
  10795. *
  10796. * MACROS GETCM, PRINT.
  10797.  
  10798.  
  10799. DBB PRINT (=2C )
  10800. PRINT (=C* BATCHIO BUFFER POINTS*)
  10801.  
  10802. * PROCESS AVAILABLE EQUIPMENT TABLE.
  10803.  
  10804. SA2 SSBF+/BIO/TEQR
  10805. SB6 5*7+4 MAXIMUM NUMBER OF EQUIPMENTS AVAILABLE
  10806. SB7 DBBA
  10807. LX2 12 SKIP COUNT FIELD
  10808. MX0 -12
  10809. SB5 4 BYTE COUNT FIRST WORD
  10810. JP DBB2 ENTER LOOP
  10811.  
  10812. DBB1 SB5 5 BYTE COUNT REMAINING WORDS
  10813. DBB2 LX2 12
  10814. BX1 -X0*X2 NEXT BYTE
  10815. SB5 B5-B1
  10816. SB6 B6-B1
  10817. ZR X1,DBB3 IF END OF TABLE
  10818. NG B6,DBB3 IF MAXIMUM REACHED
  10819. AX1 3
  10820. BX6 -X0*X2
  10821. LX6 9
  10822. BX6 -X0*X6
  10823. LX6 54-9
  10824. BX6 X6+X1
  10825. SA6 B7+ STORE ENTRY INTO EQUIPMENT TYPE TABLE
  10826. SB7 B7+1
  10827. NZ B5,DBB2 IF MORE BYTES IN THIS WORD
  10828. SA2 A2+1 READ NEXT WORD
  10829. JP DBB1 CONTINUE
  10830.  
  10831. DBB3 SX6 B0
  10832. SA6 B7 INDICATE END
  10833.  
  10834. * CHECK FOR TWO EQUIPMENTS AT SAME ORDINAL.
  10835.  
  10836. SB5 DBBA
  10837. DBB4 SB7 B7-1
  10838. SB6 B7+
  10839. LE B7,B5,DBB6 IF NO EQUIPMENTS MATCH
  10840. SA1 B7+
  10841. DBB5 SB6 B6-B1
  10842. SA2 B6
  10843. LT B6,B5,DBB4 IF NO MATCH YET
  10844. BX3 X1-X2 COMPARE ORDINALS
  10845. BX4 -X0*X3
  10846. NZ X4,DBB5 IF NO MATCH
  10847. PRINT (=2C )
  10848. PRINT (=C+ *********WARNING - BATCHIO AVAILABLE EQUIPMENT TA
  10849. ,BLE ERROR, TWO MATCHING ORDINALS+)
  10850.  
  10851. * CLEAR FET ADDRESS TABLE.
  10852.  
  10853. DBB6 SB5 DBBB
  10854. MX6 1
  10855. SB6 DBBB+/BIO/MXEQ
  10856. DBB7 SB6 B6-1
  10857. LT B6,B5,DBB8 IF FINISHED
  10858. SA6 B6+
  10859. JP DBB7
  10860.  
  10861. * SET ACTIVE BUFFER POINT COUNT.
  10862.  
  10863. DBB8 SA2 =3L1CD SET PP NAME MASK
  10864. BX0 X2
  10865. SX5 0 SET INITIAL COUNT
  10866. SB3 /BIO/D1AR SET 1ST DRIVER ASSIGNMENT WORD ADDRESS
  10867. DBB9 SA2 RC SET DRIVER WORD ADDRESS
  10868. SX7 B3 SAVE ADDRESS
  10869. IX3 X2+X7
  10870. SA7 DBBI
  10871. RJ PCM POSITION TO DRIVER ASSIGNMENT WORD
  10872. GETCM
  10873. BX3 X0-X6
  10874. AX3 42
  10875. NZ X3,DBB10 IF *1CD* NOT RUNNING
  10876. LX6 36
  10877. AX6 48
  10878. IX5 X5+X6 ADD INTO COUNT
  10879. DBB10 SA2 DBBI CHECK NEXT ASSIGNMENT WORD
  10880. SB3 X2+B1
  10881. SB6 /BIO/DRQR
  10882. NE B3,B6,DBB11 IF THREE WORDS NOT PROCESSED
  10883. MX0 -12 SET BUFFER POINT NUMBER MASK
  10884. SX7 X5 SAVE COUNT
  10885. SA7 DBBH
  10886.  
  10887. * SET FET ADDRESS TABLE.
  10888.  
  10889. SX5 /BIO/BUFR ADDRESS OF FIRST FET
  10890. SX7 /BIO/MXEQ
  10891. SA7 DBBC SET MAXIMUM NUMBER OF FETS TO PROCESS
  10892. DBB11 SA3 DBBH
  10893. ZR X3,DBB16 IF OUT OF FETS
  10894. SA2 RC
  10895. IX3 X2+X5
  10896. SX6 X5
  10897. SA6 DBBD SAVE CURRENT FET ADDRESS
  10898. RJ PCM
  10899. GETCM DBBE,6
  10900. SA2 DBBE+5
  10901. LX2 12
  10902. BX3 -X0*X2 BUFFER POINT INDEX
  10903. ZR X3,DBB13 IF NO BUFFER POINT
  10904. SX3 X3-/BIO/BFCW+2
  10905. AX3 1 BUFFER POINT
  10906. SX4 X3-/BIO/MXEQ-1
  10907. SB3 X3
  10908. NG X4,DBB12 IF VALID BUFFER POINT
  10909. PRINT (=2C )
  10910. PRINT (=C+ *********WARNING - INVALID BATCHIO FET BUFFER POI
  10911. ,NT+)
  10912. SX7 X5 ADDRESS OF FET
  10913. SA1 CN
  10914. BX6 X1 CONTROL POINT NUMBER
  10915. SX5 -1
  10916. RJ DFI DUMP FILE INFORMATION
  10917. JP DBB13 ADVANCE FET ADDRESS
  10918.  
  10919. DBB12 SX6 X5+
  10920. SA6 B3+DBBB SET FET ADDRESS INTO TABLE
  10921. DBB13 SA3 DBBE+4
  10922. SA5 DBBD CURRENT FET ADDRESS
  10923. SX4 X3 NEXT FET ADDRESS
  10924. IX1 X5-X4
  10925. NG X1,DBB14 IF CORRECT LINKAGE
  10926. PRINT (=2C )
  10927. PRINT (=C+ *********WARNING - BATCHIO FET LINKAGE ERROR+)
  10928. SX7 X5 ADDRESS OF FET
  10929. SA1 CN
  10930. BX6 X1 CONTROL POINT NUMBER
  10931. SX5 -1
  10932. RJ DFI DUMP FILE INFORMATION
  10933. JP DBB30 TERMINATE DIRECTIVE
  10934.  
  10935. DBB14 SX5 X4+ SET FET ADDRESS
  10936. SA3 DBBE
  10937. MX6 24 CHECK FOR JSN
  10938. BX6 X6*X3
  10939. ZR X6,DBB15 IF NO JSN IN FET
  10940. SA3 DBBH DECREMENT BUFFER POINT COUNT
  10941. SX6 X3-1
  10942. SA6 A3+
  10943. DBB15 SA1 DBBC
  10944. SX6 X1-1
  10945. SA6 A1+ DECREMENT MAXIMUM NUMBER OF FETS
  10946. NZ X6,DBB11 IF MAXIMUM NOT PROCESSED
  10947.  
  10948. * FIND LOCATION OF BUFFER POINTS IN NEGATIVE FL.
  10949.  
  10950. DBB16 SX6 B0+
  10951. SA6 DBBG PRESET BUFFER POINT NUMBER
  10952. DBB17 SA1 F.TNFL FORM ADDRESS OF BUFFER POINTS IN *TNFL*
  10953. SA2 L.TNFL
  10954. SX5 /BIO/BFCW+2
  10955. IX1 X1+X2
  10956. IX6 X1-X5
  10957. SA6 DBBF LOCATION-2 OF BUFFER POINTS
  10958.  
  10959. * DUMP BUFFER POINTS.
  10960.  
  10961. SA1 DBBG
  10962. SX6 X1+1
  10963. SA6 A1+
  10964. SX2 X6-/BIO/MXEQ-1
  10965. SX5 X6+ BUFFER POINT NUMBER
  10966. ZR X2,DBB30 IF ALL BUFFER POINTS DUMPED
  10967. PRINT (=2C )
  10968. RJ SSB CLEAR PRINT STRING
  10969.  
  10970. * SET BUFFER POINT, FIRST WORD.
  10971.  
  10972. SA2 DBBF
  10973. LX0 X5,B1
  10974. IX4 X0+X2
  10975. SA1 X4
  10976. ZR X1,DBB30 IF ALL ACTIVE BUFFER POINTS DUMPED
  10977. BX6 X1 SAVE FIRST WORD
  10978. SA6 DBBJ
  10979. SB7 PRBF+36
  10980. SA2 =4000005B FORMAT CONTROL
  10981. RJ FDW
  10982. BX2 X1
  10983. SB6 10
  10984. RJ SDI
  10985.  
  10986. * SET BUFFER POINT NUMBER.
  10987.  
  10988. SB7 PRBF
  10989. SA2 =13HBUFFER POINT
  10990. SB6 13
  10991. RJ UPS
  10992. BX1 X5
  10993. LX1 -6
  10994. SB6 2
  10995. RJ CTS CONVERT BUFFER POINT NUMBER
  10996.  
  10997. * SET EQUIPMENT TYPE.
  10998.  
  10999. SA2 =17HEQUIPMENT TYPE =
  11000. SB6 17
  11001. SB7 PRBF+74
  11002. RJ UPS
  11003.  
  11004. * FIND EQUIPMENT TYPE.
  11005.  
  11006. MX6 -12
  11007. SA3 DBBJ GET FIRST WORD OF BUFFER POINT AREA
  11008. AX3 12
  11009. BX1 -X6*X3
  11010. ZR X1,DBB24 IF EST NOT SPECIFIED
  11011. SB4 DBBA-1
  11012. DBB18 SB4 B4+B1
  11013. SA2 B4
  11014. ZR X2,DBB23 IF NOT FOUND
  11015. BX3 X1-X2 COMPARE ENTRIES
  11016. BX4 -X6*X3
  11017. NZ X4,DBB18 IF MATCH NOT FOUND YET
  11018. AX2 54
  11019. BX3 -X6*X2
  11020. SX2 X3-/BIO/LPDT
  11021. ZR X2,DBB19 IF PRINTER
  11022. SX2 X3-/BIO/CPDT
  11023. ZR X2,DBB20 IF CARD PUNCH
  11024. SX2 X3-/BIO/CRDT
  11025. ZR X2,DBB21 IF CARD READER
  11026. SX2 X3-/BIO/NPDT
  11027. ZR X2,DBB22 IF NON-IMPACT PRINTER
  11028. SA2 =13HINCORRECT
  11029. JP DBB25 MOVE NAME TO BUFFER
  11030.  
  11031. DBB19 SA2 =13HPRINTER
  11032. JP DBB25 MOVE NAME TO BUFFER
  11033.  
  11034. DBB20 SA2 =13HCARD PUNCH
  11035. JP DBB25 MOVE NAME TO BUFFER
  11036.  
  11037. DBB21 SA2 =13HCARD READER
  11038. JP DBB25 MOVE NAME TO BUFFER
  11039.  
  11040. DBB22 SA2 =13HNIP PRINTER
  11041. JP DBB25 MOVE NAME TO BUFFER
  11042.  
  11043. DBB23 SA2 =13HNOT FOUND
  11044. JP DBB25 MOVE NAME TO BUFFER
  11045.  
  11046. DBB24 SA2 =13HNOT SPECIFIED
  11047. DBB25 SB6 13
  11048. RJ UPS
  11049. BX0 X1
  11050. PRINT CCCH,B7-CCCH
  11051.  
  11052. * SET BUFFER POINT, SECOND WORD.
  11053.  
  11054. RJ SSB CLEAR PRINT STRING
  11055. BX3 X0
  11056. SA2 DBBF
  11057. LX0 X5,B1
  11058. IX4 X0+X2
  11059. SA1 X4+B1
  11060. SB7 PRBF+36
  11061. SA2 =4000005B FORMAT CONTROL
  11062. RJ FDW
  11063. BX2 X1
  11064. SB6 10
  11065. RJ SDI
  11066. ZR X3,DBB26 IF NO EST SPECIFIED
  11067.  
  11068. * SET EST.
  11069.  
  11070. SA2 =6HEST -
  11071. SB6 6
  11072. SB7 PRBF+74
  11073. RJ UPS
  11074. SA1 F.TCMT
  11075. SB2 X1+
  11076. SA2 B2+ESTP
  11077. AX2 36
  11078. R= X4,ESTE
  11079. IX3 X3*X4
  11080. IX1 X2+X3 EST ADDRESS
  11081. SX1 X1+EQDE
  11082. SA3 B2+X1 EST
  11083. LX1 -18
  11084. SB6 6
  11085. RJ CTS
  11086. BX1 X3
  11087. SB7 B7+2
  11088. SA2 =4000005B FORMAT CONTROL
  11089. RJ FDW
  11090. BX2 X1
  11091. SB6 10
  11092. RJ SDI
  11093. DBB26 PRINT CCCH,B7-CCCH
  11094. PRINT (=2C )
  11095.  
  11096. * DUMP FET.
  11097.  
  11098. MX0 24
  11099. SA4 DBBJ GET BUFFER POINT JSN
  11100. BX4 X0*X4
  11101. ZR X4,DBB17 IF NO ASSOCIATED FET
  11102. SX0 /BIO/MXEQ
  11103. DBB27 SX0 X0-1 GET JSN OF FET
  11104. NG X0,DBB28 IF END OF TABLE
  11105. SA5 DBBB+X0
  11106. NG X5,DBB27 IF NULL ENTRY PROCESS NEXT ENTRY
  11107. NZ X5,DBB29 IF STILL SEARCHING FET ADDRESS TABLE
  11108. DBB28 PRINT (=2C )
  11109. PRINT (=C+ *********WARNING - EXPECTED FET ADDRESS NOT FOUND
  11110. ,+)
  11111. EQ DBB17 CHECK NEXT BUFFER POINT
  11112.  
  11113. DBB29 SA3 RC READ FIRST WORD OF FET
  11114. IX3 X5+X3
  11115. RJ PCM
  11116. GETCM
  11117. SA4 DBBJ
  11118. BX1 X6-X4
  11119. AX1 36
  11120. NZ X1,DBB27 IF NO MATCHING JSN
  11121. SX7 X5+ SET FET ADDRESS
  11122. SA1 CN
  11123. BX6 X1 CONTROL POINT NUMBER
  11124. SX5 -1
  11125. RJ DFI DUMP FILE INFORMATION
  11126. JP DBB17 CONTINUE
  11127.  
  11128. DBB30 SB2 A0
  11129. JP B2 RETURN
  11130.  
  11131. DBBA BSS 5*10B EQUIPMENT TYPE TABLE
  11132. *T DBBA 6/ TYPE, 42/, 12/ ORD
  11133. * TYPE = DEVICE TYPE, SEE *COMSBIO*.
  11134. * ORD = EST ORDINAL.
  11135. DBBB BSS /BIO/MXEQ FET ADDRESS TABLE
  11136. DBBC BSS 1 MAXIMUM NUMBER OF FETS REMAINING
  11137. DBBD BSS 1 CURRENT FET ADDRESS
  11138. DBBE BSS 6 FET
  11139. DBBF BSS 1 LOCATION-2 OF BUFFER POINTS
  11140. DBBG BSS 1 CURRENT BUFFER POINT NUMBER
  11141. DBBH BSS 1 NUMBER OF ACTIVE BUFFER POINTS
  11142. DBBI BSS 1 CURRENT DRIVER ASSIGNMENT WORD ADDRESS
  11143. DBBJ BSS 1 FIRST WORD OF CURRENT BUFFER POINT AREA
  11144. DBP SPACE 4,7
  11145. ** DBP - DUMP BATCHIO PPUS.
  11146. *
  11147. * ENTRY A0 = RETURN ADDRESS.
  11148. *
  11149. * USES ALL REGISTERS.
  11150. *
  11151. * CALLS ASP.
  11152.  
  11153.  
  11154. DBP SX6 DBPA
  11155. JP ASP
  11156.  
  11157. DBPA VFD 18/3L1CD,42/0
  11158. VFD 18/3L1IO,42/0
  11159. VFD 18/3LDSP,42/0
  11160. VFD 18/3LQAC,42/0
  11161. VFD 18/3LQAP,42/0
  11162. VFD 60/-1 END OF PARAMETER BLOCK
  11163. DBT SPACE 4,25
  11164. ** DBT - DUMP BUFFERED DEVICE TABLE.
  11165. *
  11166. * ENTRY (X5) = TABLE DESCRIPTION ADDRESS.
  11167. * (X6) = ADDRESS OF PRINTER FORMAT TABLE POINTERS.
  11168. * (X6)+1 = ADDRESS OF TERMINAL FORMAT TABLE POINTERS.
  11169. * (X7) = TABLE NAME ADDRESS.
  11170. * (B2) = TABLE ENTRY INDEX IN BUFFERED DEVICE TABLE.
  11171. *
  11172. * ERROR TO *ERR6*, IF CONVERSION ERROR ON SELECTED
  11173. * ENTRY NUMBER.
  11174. * TO *ERR16*, IF PROCESSING FULL TABLE DUMP WITH
  11175. * TERMINAL OUTPUT.
  11176. * TO *ERR34*, IF NO BUFFERED DEVICE TABLE ON
  11177. * DUMP FILE.
  11178. * TO *ERR35*, IF SELECTED ENTRY BEYOND TABLE BOUNDARY.
  11179. *
  11180. * USES X - 1, 2, 3, 4, 6.
  11181. * A - 1, 2, 3, 4, 6, 7.
  11182. * B - 2, 6, 7.
  11183. *
  11184. * CALLS ASD, CLE, GTD, GTE, LDC, PEN, POM, SCM, SRA.
  11185. *
  11186. * MACROS GETCM, PRINT.
  11187.  
  11188.  
  11189. DBT SUBR ENTRY/EXIT
  11190. SA6 DBTA STORE FORMAT TABLE POINTERS ADDRESS
  11191. SA7 DBTB STORE TABLE NAME ADDRESS
  11192. RJ SCM SET CENTRAL MEMORY
  11193. SX1 B2 SAVE (B2) ACROSS *LDC* CALL
  11194. LX5 18
  11195. BX5 X5+X1
  11196. RJ LDC LIST DIRECTIVE
  11197. SA2 F.TCMT
  11198. SB2 X5 RESTORE (B2), (X5)
  11199. AX5 18
  11200. SA1 X2+BIOL
  11201. AX1 24
  11202. SX1 X1
  11203. ZR X1,ERR34 IF TABLE NOT ON DUMP FILE
  11204. SX6 X1+B2
  11205. SA6 CPRA
  11206. PRINT (=2C )
  11207. PRINT X5 PRINT TABLE DESCRIPTION
  11208. PRINT (=2C )
  11209. PRINT (=2C )
  11210. SX6 B0
  11211. RJ SRA SET REFERENCE ADDRESS
  11212. SB2 CPRA
  11213. RJ POM POSITION TO *BDT* ENTRY
  11214. GETCM
  11215. SA6 BE STORE *BDT* ENTRY FOR TABLE
  11216. SB7 B0 ASSUME OCTAL BASE
  11217. RJ ASD GET NEXT ENTRY NUMBER
  11218. NZ X4,ERR6 IF CONVERSION ERROR
  11219. NZ B6,DBT5 IF PROCESSING SELECTED ENTRIES
  11220.  
  11221. * PROCESS FULL TABLE DUMP.
  11222.  
  11223. SA1 TF
  11224. NZ X1,ERR16 IF OUTPUT TO TERMINAL
  11225. SX6 -1 PRESET ENTRY NUMBER
  11226. SA6 DBTC
  11227. DBT1 SA4 DBTC
  11228. SX4 X4+1 INCREMENT ENTRY NUMBER
  11229. RJ CLE CHECK FOR LAST ENTRY
  11230. PL X3,DBTX IF ALL TABLE ENTRIES DUMPED
  11231. SX6 X1+ STORE ENTRY LENGTH
  11232. SA6 DBTD
  11233. SA3 BE GET TABLE FWA
  11234. SX3 X3
  11235. IX6 X0+X3
  11236. SA6 FW SET ENTRY ADDRESS IN DUMP FILE
  11237. SX6 X4+
  11238. SA6 DBTC STORE ENTRY NUMBER
  11239. ZR X4,DBT2 IF DUMPING FIRST ENTRY
  11240. SX3 0 CLEAR IF NOT FIRST CALL
  11241. DBT2 RJ GTE GET TABLE ENTRY FWA IN CORE
  11242. SB2 B0
  11243. SA1 DBTD GET ENTRY LENGTH
  11244. SB3 X1
  11245. DBT3 SA1 X5+B2 GET ENTRY WORD
  11246. NZ X1,DBT4 IF NONZERO ENTRY
  11247. SB2 B2+B1
  11248. LT B2,B3,DBT3 IF MORE WORDS TO CHECK
  11249. EQ DBT1 CHECK NEXT ENTRY
  11250.  
  11251. DBT4 SB6 4
  11252. SA1 DBTC GET ENTRY NUMBER
  11253. LX1 -12
  11254. SA2 DBTB SET TABLE NAME ADDRESS
  11255. SA2 X2
  11256. RJ PEN PRINT ENTRY NUMBER
  11257. SA1 FW
  11258. IX6 X5-X1
  11259. SB2 X6 SET DATA ADDRESS IN CORE BUFFER
  11260. SA1 DBTA SET FORMAT TABLE POINTERS
  11261. SA1 X1+
  11262. RJ GTD GENERATE DETAILED TABLE ENTRY DUMP
  11263. PRINT (=2C )
  11264. EQ DBT1 DUMP NEXT ENTRY
  11265.  
  11266. * PROCESS DUMP OF SELECTED TABLE ENTRIES.
  11267.  
  11268. DBT5 SX4 X6+
  11269. SA6 DBTC SAVE ENTRY NUMBER
  11270. RJ CLE CHECK FOR VALID ENTRY NUMBER
  11271. PL X3,ERR35 IF ENTRY BEYOND END OF TABLE
  11272. SA3 BE
  11273. SX3 X3
  11274. IX6 X0+X3
  11275. SA6 FW SET ENTRY ADDRESS IN DUMP FILE
  11276. NZ B6,DBT6 IF FIRST ENTRY TO BE DUMPED
  11277. SX3 0 CLEAR IF NOT FIRST ENTRY
  11278. DBT6 RJ GTE GET TABLE ENTRY FWA IN CORE
  11279. SB6 4
  11280. SA1 DBTC GET ENTRY NUMBER
  11281. LX1 -12
  11282. SA2 DBTB SET TABLE NAME ADDRESS
  11283. SA2 X2+
  11284. RJ PEN PRINT ENTRY NUMBER
  11285. SA1 DBTA GET FORMAT TABLE POINTERS
  11286. SA3 TF
  11287. ZR X3,DBT7 IF PRINTER OUTPUT
  11288. SX1 X1+1 SET FOR TERMINAL OUTPUT
  11289. DBT7 SA1 X1
  11290. SA3 FW
  11291. IX6 X5-X3
  11292. SB2 X6 SET DATA ADDRESS IN CORE BUFFER
  11293. RJ GTD GENERATE DETAILED TABLE ENTRY DUMP
  11294. PRINT (=2C )
  11295. SB7 B0 ASSUME OCTAL BASE
  11296. RJ ASD GET NEXT ENTRY NUMBER
  11297. NZ X4,ERR6 IF CONVERSION ERROR
  11298. ZR B6,DBTX IF NO MORE ENTRIES TO DUMP
  11299. SB6 B0 SET AS NOT FIRST ENTRY DUMPED
  11300. EQ DBT5 DUMP NEXT ENTRY
  11301.  
  11302. DBTA BSS 1 FORMAT TABLE POINTERS ADDRESS
  11303. DBTB BSS 1 TABLE NAME ADDRESS
  11304. DBTC BSS 1 ENTRY NUMBER
  11305. DBTD BSS 1 ENTRY LENGTH
  11306. DCA SPACE 4,9
  11307. ** DCA - DUMP JOB DAYFILE POINTERS AND BUFFER.
  11308. *
  11309. * ENTRY (A0) = RETURN ADDRESS.
  11310. * (CN) = CONTROL POINT NUMBER.
  11311. * (NC) = NUMBER OF CONTROL POINTS - 1.
  11312. *
  11313. * USES X - 1, 2.
  11314. * A - 1, 2.
  11315. * B - 2.
  11316. *
  11317. * CALLS GDB, PDB, PDP.
  11318. *
  11319. * MACROS PRINT.
  11320.  
  11321.  
  11322. DCA SA1 CN
  11323. SA2 NC
  11324. SX2 X2+B1
  11325. IX1 X2-X1
  11326. ZR X1,DCA2 IF SYSTEM CONTROL POINT
  11327. PRINT (=2C )
  11328. PRINT (=C* DAYFILE POINTERS AND BUFFER*)
  11329. PRINT (=2C )
  11330. RJ GDB GET DAYFILE BUFFERS
  11331. NG X1,DCA2 IF INSUFFICIENT NFL SPACE
  11332. RJ PDP PRINT DAYFILE POINTERS
  11333. PRINT (=2C )
  11334. RJ PDB PRINT DAYFILE BUFFER
  11335. DCA2 SB2 A0 GET RETURN ADDRESS
  11336. JP B2 RETURN
  11337. DCC SPACE 4,15
  11338. ** DCC - DUMP FIELD LENGTH IN *C* FORMAT.
  11339. *
  11340. * ENTRY (A0) = RETURN ADDRESS.
  11341. * (CN) = CONTROL POINT NUMBER.
  11342. * (FW) = CONTROL POINT AREA ADDRESS.
  11343. * (NC) = NUMBER OF CONTROL POINTS - 1.
  11344. *
  11345. * USES X - 1, 2, 3, 6, 7.
  11346. * USES X - 1, 2, 6, 7.
  11347. * B - 2.
  11348. *
  11349. * CALLS GFL, PMD, POM, SCM, SRA.
  11350. *
  11351. * MACROS PRINT.
  11352.  
  11353.  
  11354. DCC SX6 0
  11355. DCC1 SA1 CN
  11356. SA2 NC
  11357. SX2 X2+B1
  11358. IX1 X2-X1
  11359. ZR X1,DCC2 IF SYSTEM CONTROL POINT
  11360. SA6 CPRA+4 SET FORMAT CODE IN PARAMETER BLOCK
  11361. PRINT (=2C )
  11362. PRINT (=C* FIELD LENGTH*)
  11363. PRINT (=2C )
  11364. SA1 FW CP AREA ADDRESS
  11365. RJ GFL GET FL, RA
  11366. SB2 CPRA SET PARAMETER BLOCK ADDRESS
  11367. SA7 B2+B1 SET LWA+1 OF DUMP
  11368. BX7 X7-X7
  11369. SA7 B2+ SET FWA
  11370. RJ SRA SET REFERENCE ADDRESS
  11371. RJ SCM SELECT CM DUMP
  11372. DCC1.1 SB2 CPRA
  11373. RJ POM POSITION DUMP FILE
  11374. SB2 CPRA
  11375. RJ PMD PROCESS DUMP
  11376. DCC2 SB2 A0
  11377. JP B2 RETURN
  11378. DCD SPACE 4
  11379. ** DCD - DUMP FIELD LENGTH IN *D* FORMAT.
  11380.  
  11381.  
  11382. DCD SX6 1 FORMAT CODE
  11383. JP DCC1 PROCESS DUMP
  11384. DCE SPACE 4
  11385. ** DCE - DUMP FIELD LENGTH IN *E* FORMAT.
  11386.  
  11387.  
  11388. DCE SX6 2 FORMAT CODE
  11389. JP DCC1 PROCESS DUMP
  11390. DCF SPACE 4,10
  11391. ** DCF - DUMP ATTACHED FILES.
  11392. *
  11393. * ENTRY (A0) = RETURN ADDRESS.
  11394. * (CN) = CONTROL POINT NUMBER.
  11395. * (NC) = NUMBER OF CONTROL POINTS - 1.
  11396. *
  11397. * USES X - 1, 2, 6.
  11398. * A - 1, 2, 6.
  11399. * B - 2.
  11400. *
  11401. * CALLS CNL, GNF, PFS.
  11402. *
  11403. * MACROS PRINT.
  11404.  
  11405.  
  11406. DCF SA1 CN
  11407. SA2 NC
  11408. SX2 X2+B1
  11409. IX1 X2-X1
  11410. ZR X1,DCF1.1 IF SYSTEM CONTROL POINT
  11411. SX6 FNTN
  11412. SA6 FI PRESET SEARCH INDEX
  11413. PRINT (=2C )
  11414. PRINT (=C* ATTACHED FILES*)
  11415. PRINT (=2C )
  11416. RJ CNL CHECK NFL LENGTH
  11417. NG X1,DCF1.1 IF INSUFFICIENT NFL SPACE
  11418. DCF1 RJ GNF GET NEXT FILE
  11419. NZ X1,DCF2 IF FILE FOUND
  11420. DCF1.1 SB2 A0 GET RETURN ADDRESS
  11421. JP B2 RETURN
  11422.  
  11423. DCF2 RJ PFS PRINT FILE SUMMARY
  11424. JP DCF1 CONTINUE
  11425. DCG SPACE 4,10
  11426. ** DCG - DUMP CONTROL POINT AREA IN *C* FORMAT.
  11427. *
  11428. * ENTRY FW = CONTROL POINT AREA ADDRESS.
  11429. * A0 = RETURN ADDRESS.
  11430. *
  11431. * SAVES X - NONE.
  11432. * B - 1.
  11433. * A - 0.
  11434. *
  11435. * CALLS PMD,SCM,SRA,WOF.
  11436.  
  11437.  
  11438. DCG SX6 0
  11439. DCG1 SA6 DCGA+4 SET FORMAT CODE
  11440. PRINT (=2C )
  11441. PRINT (=C* CONTROL POINT AREA*)
  11442. PRINT (=2C )
  11443. SA1 FW
  11444. SA2 F.TCMT
  11445. IX6 X1+X2
  11446. BX7 X1
  11447. SA6 DCGA+2 CORE ADDRESS OF CP AREA DATA
  11448. SA7 DCGA DUMP FWA
  11449. SX6 X7+CPLEN
  11450. SA6 DCGA+1 DUMP LWA+1
  11451. SX6 0
  11452. RJ SRA RESET REFERENCE ADDRESS
  11453. SB2 DCGA DUMP PARAMETER BLOCK ADDRESS
  11454. RJ SCM SELECT CM
  11455. RJ PMD PROCESS DUMP
  11456. SB2 A0
  11457. JP B2 RETURN
  11458.  
  11459. DCGA BSS 0 DUMP PARAMETER BLOCK
  11460. CON 0 FWA
  11461. CON 0 LWA+1
  11462. CON 0 CORE ADDRESS
  11463. CON 0 NO SUPPRESS FLAG
  11464. CON 0 FORMAT CODE
  11465. CON 0 COLUMN LENGTH
  11466. CON 0 INVERTED ADDRESS
  11467. DCI SPACE 4
  11468. ** DCI - DUMP CONTROL POINT AREA IN *E* FORMAT.
  11469.  
  11470.  
  11471. DCI SX6 2 FORMAT CODE
  11472. JP DCG1 PROCESS DUMP
  11473. DCJ SPACE 4
  11474. ** DCJ - DUMP CONTROL POINT AREA IN *D* FORMAT.
  11475.  
  11476.  
  11477. DCJ SX6 1 FORMAT CODE
  11478. JP DCG1 PROCESS DUMP
  11479. DCM SPACE 4,20
  11480. ** DCM - DUMP CONTROL POINT EXTENDED MEMORY (USER ECS)
  11481. * IN *D* FORMAT.
  11482. *
  11483. * ENTRY (A0) = RETURN ADDRESS.
  11484. * (CN) = CONTROL POINT NUMBER.
  11485. * (FW) = CONTROL POINT AREA ADDRESS.
  11486. * (NC) = NUMBER OF CONTROL POINTS - 1.
  11487. * (UE) = USER EXTENDED MEMORY SHIFT COUNT.
  11488. *
  11489. * EXIT (A0) = RETURN ADDRESS.
  11490. * TO *DCC1.1* TO PROCESS USER EXTENDED MEMORY FL DUMP.
  11491. * TO *DCC2* IF NO USER EXTENDED MEMORY FL TO DUMP.
  11492. *
  11493. * USES X - 1, 2, 3, 6, 7.
  11494. * A - 0, 1, 2, 3, 6, 7.
  11495. * B - 2.
  11496. *
  11497. * CALLS SEC, SEM, SRA.
  11498. *
  11499. * MACROS PRINT.
  11500.  
  11501.  
  11502. DCM SA1 CN
  11503. SA2 NC
  11504. SA3 UE
  11505. SX2 X2+B1
  11506. IX1 X2-X1
  11507. ZR X1,DCC2 IF SYSTEM CONTROL POINT
  11508. SX6 B1 SELECT *D* FORMAT DUMP
  11509. SB2 X3+9
  11510. SA6 CPRA+4
  11511. SA1 F.TCMT
  11512. SA2 FW CP AREA ADDRESS
  11513. IX2 X1+X2
  11514. MX3 -12
  11515. SA2 X2+ECSW GET CONTROL POINT RAE AND FLE
  11516. BX7 -X3*X2
  11517. LX2 -12
  11518. ZR X7,DCC2 IF NO USER EXTENDED MEMORY FL
  11519. MX6 -24
  11520. BX6 -X6*X2 EXTENDED MEMORY RA
  11521. LX7 B2
  11522. SA7 CPRA+1 SET LWA+1 OF DUMP
  11523. BX7 X7-X7
  11524. LX6 B2
  11525. SA7 A7-B1 SET FWA OF DUMP
  11526. SX7 A0+ SAVE RETURN ADDRESS
  11527. SA7 DCMA
  11528. RJ SRA SET REFERENCE ADDRESS
  11529. PRINT (=2C )
  11530. PRINT (=C* USER EXTENDED MEMORY FIELD LENGTH*)
  11531. PRINT (=2C )
  11532. SA1 SBTL1 SAVE SUBTITLE
  11533. BX6 X1
  11534. SA6 DCMB
  11535. RJ SEM SET UNIFIED EXTENDED MEMORY (UEM)
  11536. NG X3,DCM1 IF UEM DEFINED
  11537. RJ SEC SET EXTENDED CORE STORAGE
  11538. DCM1 SA2 =3RUEC SET USER EXTENDED MEMORY SUBTITLE
  11539. SA1 DCMB
  11540. LX1 -6
  11541. MX7 -18
  11542. BX1 X7*X1
  11543. BX7 X1+X2
  11544. LX7 6
  11545. SA1 DCMA RESTORE RETURN ADDRESS
  11546. SA0 X1
  11547. SA7 SBTL1
  11548. EQ DCC1.1 PROCESS DUMP
  11549.  
  11550.  
  11551. DCMA CON 0 RETURN ADDRESS
  11552. DCMB CON 0 CONTROL POINT SUBTITLE
  11553. DCN SPACE 4,10
  11554. ** DCN - DUMP NEGATIVE FIELD LENGTH IN *D* FORMAT.
  11555. *
  11556. * ENTRY (A0) = RETURN ADDRESS.
  11557. * (CN) = CONTROL POINT NUMBER.
  11558. * (NC) = NUMBER OF CONTROL POINTS - 1.
  11559. * (DCGA - DCGA+6) = DUMP PARAMETER INFORMATION.
  11560. *
  11561. * USES X - 0, 1, 2, 3, 6, 7.
  11562. * A - 1, 2, 6, 7.
  11563. * B - 2.
  11564. *
  11565. * CALLS CNL, PNF, SCM, SRA.
  11566. *
  11567. * MACROS PRINT.
  11568.  
  11569.  
  11570. DCN SA1 CN
  11571. SA2 NC
  11572. SX2 X2+B1
  11573. IX1 X2-X1
  11574. ZR X1,DCN2 IF SYSTEM CONTROL POINT
  11575. *
  11576. DBN BSS 0 *DBN* ENTRY POINT
  11577. *
  11578. SX6 B1 SET *D* FORMAT
  11579. SA6 DCGA+4
  11580. PRINT (=2C )
  11581. PRINT (=C* NEGATIVE FIELD LENGTH*)
  11582. PRINT (=2C )
  11583. RJ CNL CHECK NFL LENGTH
  11584. NG X1,DCN1 IF INSUFFICIENT NFL SPACE
  11585. PRINT (=2C )
  11586. PRINT (=C* LOCAL FNT-S*)
  11587. PRINT (=2C )
  11588. SA1 RC GET RA OF SELECTED CONTROL POINT
  11589. BX6 X1
  11590. RJ SRA SET REFERENCE ADDRESS = RA OF CONTROL POINT
  11591. RJ SCM SELECT CENTRAL MEMORY
  11592. SA2 L.TNFL GET NFL
  11593. SX3 DAYN SET ORDINAL OF LWA
  11594. BX0 X2 SET ORDINAL OF FWA
  11595. RJ PNF PRINT FNT AREA
  11596. PRINT (=2C )
  11597. PRINT (=C* DAYFILE BUFFER (DAYN)*)
  11598. PRINT (=2C )
  11599. SX3 CSBN SET ORDINAL OF LWA
  11600. SX0 DAYN SET ORDINAL OF FWA
  11601. RJ PNF PRINT DAYFILE BUFFER AREA
  11602. PRINT (=2C )
  11603. PRINT (=C* COMMAND BUFFER (CSBN)*)
  11604. PRINT (=2C )
  11605. SX3 QFBN SET ORDINAL OF LWA
  11606. SX0 CSBN SET ORDINAL OF FWA
  11607. RJ PNF PRINT COMMAND BUFFER AREA
  11608. PRINT (=2C )
  11609. PRINT (=C* QUEUED FUNCTION BUFFER (QFBN)*)
  11610. PRINT (=2C )
  11611. SX3 SSJN SET ORDINAL OF LWA
  11612. SX0 QFBN SET ORDINAL OF FWA
  11613. RJ PNF PRINT QUEUED FUNCTION BUFFER
  11614. PRINT (=2C )
  11615. PRINT (=C* SSJ= SCRATCH AREA (SSJN)*)
  11616. PRINT (=2C )
  11617. SX3 SSDN SET ORDINAL OF LWA
  11618. SX0 SSJN SET ORDINAL OF FWA
  11619. RJ PNF PRINT SSJ= SCRATCH AREA
  11620. PRINT (=2C )
  11621. PRINT (=C* SSJ=/DMP= SCRATCH AREA (SSDN)*)
  11622. PRINT (=2C )
  11623. SX3 DMPN SET ORDINAL OF LWA
  11624. SX0 SSDN SET ORDINAL OF FWA
  11625. RJ PNF PRINT SSJ=/DMP= SCRATCH AREA
  11626. PRINT (=2C )
  11627. PRINT (=C* DMP= SCRATCH AREA (DMPN)*)
  11628. PRINT (=2C )
  11629. SX3 TDFN SET ORDINAL OF LWA
  11630. SX0 DMPN SET ORDINAL OF FWA
  11631. RJ PNF PRINT DMP= SCRATCH AREA
  11632. PRINT (=2C )
  11633. PRINT (=C* JOB TAPE DEFAULTS (TDFN)*)
  11634. PRINT (=2C )
  11635. SX3 ICAN SET ORDINAL OF LWA
  11636. SX0 TDFN SET ORDINAL OF FWA
  11637. RJ PNF PRINT JOB TAPE DEFAULTS
  11638. PRINT (=2C )
  11639. PRINT (=C* INTER-CP COMMUNICATION (ICAN)*)
  11640. PRINT (=2C )
  11641. SX3 PUCN SET ORDINAL OF LWA
  11642. SX0 ICAN SET ORDINAL OF FWA
  11643. RJ PNF PRINT INTER-CP COMMUNICATION WORD
  11644. PRINT (=2C )
  11645. PRINT (=C* PF USER NAME CACHE (PUCN)*)
  11646. PRINT (=2C )
  11647. SX3 SCVN SET ORDINAL OF LWA
  11648. SX0 PUCN SET ORDINAL OF FWA
  11649. RJ PNF PRINT PF USER NAME CACHE
  11650. PRINT (=2C )
  11651. PRINT (=C* SERVICE CLASS VALIDATION (SCVN)*)
  11652. PRINT (=2C )
  11653. SX3 CHGN SET ORDINAL OF LWA
  11654. SX0 SCVN SET ORDINAL OF FWA
  11655. RJ PNF PRINT SERVICE CLASS VALIDATION
  11656. PRINT (=2C )
  11657. PRINT (=C* CHARGE/PROJECT NUMBER (CHGN)*)
  11658. PRINT (=2C )
  11659. SX3 SHCN SET ORDINAL OF LWA
  11660. SX0 CHGN SET ORDINAL OF FWA
  11661. RJ PNF PRINT CHARGE/PROJECT
  11662. PRINT (=2C )
  11663. PRINT (=C* SHELL CONTROL (SHCN)*)
  11664. PRINT (=2C )
  11665. SX3 SLMN SET ORDINAL OF LWA
  11666. SX0 SHCN SET ORDINAL OF FWA
  11667. RJ PNF PRINT SHELL CONTROL
  11668. PRINT (=2C )
  11669. PRINT (=C* TERMINAL WORD (SLMN)*)
  11670. PRINT (=2C )
  11671. SX3 LFCN SET ORDINAL OF LWA
  11672. SX0 SLMN SET ORDINAL OF FWA
  11673. RJ PNF PRINT TERMINAL WORD
  11674. PRINT (=2C )
  11675. PRINT (=C* LOCAL FILE COUNT (LFCN)*)
  11676. PRINT (=2C )
  11677. SX3 RC1N SET ORDINAL OF LWA
  11678. SX0 LFCN SET ORDINAL OF FWA
  11679. RJ PNF PRINT LOCAL FILE COUNT
  11680. PRINT (=2C )
  11681. PRINT (=C* RECOVERY WORD 1 (RC1N)*)
  11682. PRINT (=2C )
  11683. SX3 RC2N SET ORDINAL OF LWA
  11684. SX0 RC1N SET ORDINAL OF FWA
  11685. RJ PNF PRINT FIRST RECOVERY WORD
  11686. PRINT (=2C )
  11687. PRINT (=C* RECOVERY WORD 2 (RC2N)*)
  11688. PRINT (=2C )
  11689. SX3 JPPN SET ORDINAL OF LWA
  11690. SX0 RC2N SET ORDINAL OF FWA
  11691. RJ PNF PRINT SECOND RECOVERY WORD
  11692. PRINT (=2C )
  11693. PRINT (=C* JOB PAGE PARAMETERS (JPPN)*)
  11694. PRINT (=C* TMS CONTROL (TMSN)*)
  11695. PRINT (=2C )
  11696. SX3 INSN SET ORDINAL OF LWA
  11697. SX0 JPPN SET ORDINAL OF FWA
  11698. RJ PNF PRINT JOB PAGE PARAMETERS
  11699. PRINT (=2C )
  11700. PRINT (=C* INSTALLATION WORDS (INSN)*)
  11701. PRINT (=2C )
  11702. SX3 DAPN SET ORDINAL OF LWA
  11703. SX0 INSN SET ORDINAL OF FWA
  11704. RJ PNF PRINT INSTALLATION WORDS
  11705. PRINT (=2C )
  11706. PRINT (=C* DAYFILE BUFFER POINTERS (DAPN)*)
  11707. PRINT (=2C )
  11708. SX3 B0 SET ORDINAL OF LWA
  11709. SX0 DAPN SET ORDINAL OF FWA
  11710. RJ PNF PRINT DAYFILE BUFFER POINTERS
  11711. DCN1 BX7 X7-X7 CLEAR INVERTED ADDRESS
  11712. SA7 DCGA+6
  11713. DCN2 SB2 A0 GET RETURN ADDRESS
  11714. JP B2 RETURN
  11715. DCP SPACE 4,8
  11716. ** DCP - DUMP CONTROL POINT.
  11717. *
  11718. * ENTRY CN = CONTROL POINT NUMBER.
  11719. * CL = LIST OPTION CHARACTER STRING LEFT JUSTIFIED.
  11720. *
  11721. * USES ALL REGISTERS.
  11722. *
  11723. * CALLS PCH, RNF, SCM, SNO, SRA, LIST OPTION PROCESSORS.
  11724.  
  11725.  
  11726. DCP SUBR
  11727. RJ PCH PRINT CONTROL POINT HEADER
  11728. DCP1 RJ SCM SET CENTRAL MEMORY
  11729. SX6 0
  11730. RJ SRA SET REFERENCE ADDRESS
  11731. SB2 DCPA PROCESSOR TABLE ADDRESS
  11732. SA1 CL OPTION STRING
  11733. RJ SNO SELECT NEXT LIST OPTION
  11734. ZR X3,DCPX IF NO MORE OPTIONS SELECTED
  11735. SX6 B3 SAVE (B3)
  11736. SA6 DCPB
  11737. SA1 OP
  11738. SA2 CN
  11739. RJ RNF READ NEGATIVE FL FOR SELECTED CP
  11740. SA1 DCPB RESTORE (B3)
  11741. SB3 X1
  11742. SA0 DCP1 SET RETURN ADDRESS
  11743. JP B3 EXECUTE SELECTED PROCESSOR
  11744.  
  11745. DCPA BSS 0 TABLE OF LIST OPTION PROCESSORS
  11746. VFD 36/0,6/1RA,18/DCA
  11747. VFD 36/0,6/1RC,18/DCC
  11748. VFD 36/0,6/1RD,18/DCD
  11749. VFD 36/0,6/1RE,18/DCE
  11750. VFD 36/0,6/1RF,18/DCF
  11751. VFD 36/0,6/1RG,18/DCG
  11752. VFD 36/0,6/1RI,18/DCI
  11753. VFD 36/0,6/1RH,18/DCJ
  11754. VFD 36/0,6/1RM,18/DCM
  11755. VFD 36/0,6/1RN,18/DCN
  11756. VFD 36/0,6/1RP,18/DCQ
  11757. VFD 36/0,6/1RT,18/DCT
  11758. VFD 36/0,6/1RX,18/DCX
  11759. VFD 60/0
  11760. DCPB CON 0
  11761. DCQ SPACE 4,9
  11762. ** DCQ - DUMP AND ANALYZE ALL ACTIVE PPUS ASSOCIATED WITH
  11763. * CONTROL POINT.
  11764. *
  11765. * ENTRY CN = CONTROL POINT NUMBER.
  11766. * A0 = RETURN ADDRESS.
  11767. *
  11768. * USES ALL REGISTERS.
  11769. *
  11770. * CALLS ASP.
  11771.  
  11772.  
  11773. DCQ SA1 CN
  11774. LX1 36
  11775. BX6 X1
  11776. SA6 DCQA
  11777. SX6 DCQA
  11778. JP ASP
  11779.  
  11780. DCQA VFD 60/0
  11781. VFD 60/-1 END OF PARAMETER BLOCK
  11782. DCT SPACE 4,11
  11783. ** DCT - DUMP PARAMETERS IN DETAIL.
  11784. *
  11785. * ENTRY FW = CONTROL POINT AREA ADDRESS FOR DUMP.
  11786. * A0 = RETURN ADDRESS.
  11787. * TFCP = FORMAT TABLE POINTERS.
  11788. *
  11789. * SAVES X - NONE.
  11790. * B - 1.
  11791. * A - 0.
  11792. *
  11793. * CALLS GTD,WOF.
  11794.  
  11795.  
  11796. DCT PRINT (=2C )
  11797. PRINT (=C* CONTROL POINT AREA*)
  11798. PRINT (=2C )
  11799. SA1 F.TCMT
  11800. SB2 X1+ SET CORE ADDRESS OF TABLE DATA
  11801. SA1 TFCP FORMAT TABLE POINTERS
  11802. RJ GTD GENERATE DETAILED TABLE DUMP
  11803. SB2 A0
  11804. JP B2 RETURN
  11805. DCX SPACE 4,18
  11806. ** DCX - PRINT CONTROL POINT EXCHANGE PACKAGE,
  11807. * PARAMETER SUMMARY, AND EJT ENTRY.
  11808. *
  11809. * ENTRY (A0) = RETURN ADDRESS.
  11810. * (BD) = BINARY DUMP FLAG.
  11811. * (CN) = CONTROL POINT NUMBER.
  11812. * (FW) = CONTROL POINT AREA ADDRESS.
  11813. * (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
  11814. *
  11815. * USES X - ALL.
  11816. * A - 1, 2, 3, 5, 6, 7.
  11817. * B - 6, 7.
  11818. *
  11819. * CALLS CPS, CTS, FDW, FPW, FXW, GEE, SDI, SSB, UPS.
  11820. *
  11821. * MACROS PRINT.
  11822.  
  11823.  
  11824. DCX RJ SSB CLEAR PRINT STRING
  11825. SX1 19
  11826. RJ CPS CHECK PAGE SPACE
  11827. SA1 F.TCMT
  11828. SA2 FW
  11829. IX3 X1+X2 CONTROL POINT AREA ADDRESS
  11830. SA5 X3+ READ FIRST WORD OF XP
  11831. MX6 0
  11832. SA6 DCXA CLEAR LINE INDEX
  11833. SX7 -PRBF-1 PRESET TO PRINT ((REGISTERS))
  11834. SA7 DCXB SAVE PRINT STRING ADDRESS
  11835. SB7 PRBF+9
  11836. MX4 24
  11837. SA3 A5+6
  11838. BX1 X3*X4
  11839. LX1 24 MONITOR ADDRESS
  11840. BX3 X1-X2
  11841. ZR X3,DCX1 IF XP BELONGS TO THIS CONTROL POINT
  11842. SA2 BD
  11843. NZ X2,DCX1 IF BINARY DUMP
  11844. SA2 OP
  11845. NZ X2,DCX1 IF PCPA DUMP
  11846. SA2 =4HNOT
  11847. SB6 4
  11848. RJ UPS
  11849. SX7 PRBF+1 INDICATE ((REGISTERS)) NOT TO BE PRINTED
  11850. SA7 DCXB SAVE PRINT STRING ADDRESS
  11851. DCX1 SA2 =2HCP
  11852. SB6 2
  11853. SA1 OP
  11854. ZR X1,DCX2 IF NOT DUMPING PCP-S
  11855. SA2 =3HPCP
  11856. SB6 3
  11857. DCX2 RJ UPS UNPACK STRING
  11858. SA1 CN
  11859. LX1 -6
  11860. SB6 2
  11861. RJ CTS CONVERT CONTROL POINT NUMBER
  11862. SA2 =17H EXCHANGE PACKAGE
  11863. SB6 17
  11864. RJ UPS
  11865. PRINT CCCH,B7-CCCH
  11866. PRINT (=2C )
  11867. DCX3 RJ SSB CLEAR PRINT STRING BUFFER
  11868. SA1 DCXA LINE INDEX
  11869. SA2 A1+B1 GET PRINT STRING ADDRESS
  11870. SB7 X2
  11871. SX6 X1-10B
  11872. ZR X6,DCX5 IF A7 AND B7 JUST PRINTED
  11873. NG X6,DCX4 IF STILL DOING CONTROL REGISTERS
  11874. SX1 X1-1 CORRECT XP WORD INDEX
  11875. DCX4 RJ FXW FORMAT EXCHANGE PACKAGE WORD
  11876. DCX5 PRINT CCCH,137
  11877. SA1 DCXA
  11878. SX6 X1+B1
  11879. SA6 A1 ADVANCE LINE INDEX
  11880. SX6 X6-17
  11881. NZ X6,DCX3 IF MORE EXCHANGE PACKAGE LINES TO DUMP
  11882. SA6 DCXA CLEAR LINE INDEX
  11883. SA2 BD
  11884. NZ X2,DCX8 IF BINARY DUMP
  11885. PRINT (=2C* *)
  11886. PRINT (=C* PARAMETER SUMMARY*)
  11887. PRINT (=2C* *)
  11888. DCX6 RJ SSB CLEAR PRINT STRING BUFFER
  11889. SA1 DCXA LINE INDEX
  11890. RJ FPW FORMAT PARAMETER WORD
  11891. PRINT CCCH,137
  11892. SA1 DCXA ADVANCE LINE INDEX
  11893. SX6 X1+B1
  11894. SA6 A1
  11895. SX6 X6-17
  11896. NZ X6,DCX6 IF MORE PARAMETER LINES TO DUMP
  11897. PRINT (=2C )
  11898. PRINT (=2C )
  11899. PRINT (=C* EJT ENTRY*)
  11900. PRINT (=2C )
  11901. RJ GEE GET EJT ENTRY
  11902. SX3 0 PRESET EJT ENTRY INDEX
  11903. DCX7 IX1 X3+X5 FORMAT REFERENCE ADDRESS
  11904. LX1 -18
  11905. SB7 PRBF
  11906. SB6 6
  11907. RJ CTS
  11908. SA2 =4000005B FORMAT DATA WORD
  11909. SA1 X3+BUF
  11910. SB7 B7+B1
  11911. RJ FDW
  11912. SB6 10D SET DISPLAY CODE INTERPRETATION
  11913. SA2 X3+BUF
  11914. SB7 B7+2
  11915. RJ SDI
  11916. SX0 X3 SAVE EJT ENTRY INDEX
  11917. PRINT CCCH,B7-CCCH
  11918. SX3 X0+1 INCREMENT EJT ENTRY INDEX
  11919. SX6 X3-EJTE
  11920. NZ X6,DCX7 IF MORE TO DUMP
  11921. DCX8 SX1 10
  11922. RJ CPS FORCE PAGE EJECT IF UNDER 10 LINES LEFT
  11923. SB2 A0+
  11924. JP B2 RETURN
  11925.  
  11926. DCXA BSS 1 LINE INDEX
  11927. DCXB BSS 1 PRINT STRING ADDRESS
  11928. DDB SPACE 4,15
  11929. ** DDB - DISPLAY *DFT* BLOCK.
  11930. *
  11931. * ENTRY (X5) = 0, IF ADDRESS IS SUPPLIED.
  11932. * (X5) = 1, IF ADDRESS IS IN R-REGISTER FORMAT.
  11933. * (X6) = SUPPLIED ADDERSS.
  11934. * (X7) = SUPPLIED LENGTH.
  11935. * (X3) = ADDRESS TO CONVERT, IF (X5) = 1.
  11936. * (X1) = ADDRESS OF TITLE.
  11937. *
  11938. * USES X - 6, 7.
  11939. * A - 6, 7.
  11940. *
  11941. * CALLS DRA, DSM.
  11942. *
  11943. * MACROS PRINT.
  11944.  
  11945.  
  11946. DDB SUBR ENTRY/EXIT
  11947. ZR X5,DDB1 IF ADDRESS SUPPLIED
  11948. RJ DRA CONVERT R-REGISTER ADDRESS
  11949. DDB1 LX6 3 SET STARTING BYTE ADDRESS
  11950. LX7 3 SET LAST BYTE ADDRESS
  11951. ZR X7,DDBX IF NO LENGTH
  11952. IX7 X6+X7
  11953. SA6 DDBA
  11954. SA7 A6+B1
  11955. PRINT X1 WRITE TITLE
  11956. PRINT (=C* *)
  11957. SB2 DDBA
  11958. RJ DSM DUMP 64-BIT MEMORY
  11959. DDB2 PRINT (=C* *)
  11960. EQ DDBX RETURN
  11961.  
  11962. DDBA CON 0 FWA TO DUMP
  11963. CON 0 LWA+1 TO DUMP
  11964. CON 0 *I* FORMAT
  11965. DFI SPACE 4,13
  11966. ** DFI - DUMP FILE INFORMATION.
  11967. *
  11968. * ENTRY X5 = N IF FET LENGTH IS N+5 WORDS.
  11969. * .LT. 0 IF FET LENGTH IS A FUNCTION OF THE CONTENTS
  11970. * OF WORD 1, BITS 23-18 OF THE FET.
  11971. * X6 = CONTROL POINT NUMBER ASSOCIATED WITH FET.
  11972. * X7 = ADDRESS OF FET.
  11973. *
  11974. * SAVES X - NONE.
  11975. * B - 1.
  11976. * A - 0.
  11977. *
  11978. * CALLS CRA, CTS, FDW, PCM, PFS, SDI, SSB, UPS.
  11979. *
  11980. * MACROS GETCM, PRINT.
  11981.  
  11982.  
  11983. DFI SUBR
  11984. SA6 DFIF SAVE CONTROL POINT NUMBER
  11985. SA7 DFIG SAVE FET ADDRESS
  11986. RJ CRA COMPUTE REFERENCE ADDRESS
  11987. SA3 DFIG
  11988. SA6 DFIB
  11989. IX3 X6+X3
  11990. RJ PCM
  11991. GETCM BUF,5
  11992. PRINT (=2C )
  11993. PL X5,DFI1 IF FET LENGTH-5 SPECIFIED
  11994. MX0 -6
  11995. SA2 BUF+1
  11996. LX2 -18
  11997. BX5 -X0*X2 FET LENGTH-5
  11998. DFI1 ZR X5,DFI2 IF ENTIRE FET IS IN BUF
  11999. GETCM BUF+5,X5
  12000. DFI2 SX6 X5+5
  12001. SA6 DFIA FET LENGTH
  12002. SA1 BUF+4
  12003. MX0 12
  12004. BX6 X0*X1
  12005. LX6 12
  12006. SA1 F.TCMT
  12007. SB2 X1 TCMT TABLE BASE ADDRESS
  12008. SA1 F.TNFL POSITION TO RA IN TNFL
  12009. SA2 L.TNFL
  12010. IX1 X1+X2
  12011. IX1 X1-X6
  12012. SA4 X1 READ FNT ENTRY
  12013. SA5 A4+B1 READ FST ENTRY
  12014. SX7 X6
  12015. SA7 GNFA SET FNT ORDINAL
  12016. BX6 X4
  12017. LX7 X5
  12018. SA6 A7+B1 SET FNT
  12019. SA7 A6+B1 SET FST
  12020. SA1 A5+B1 READ FUT
  12021. BX6 X1
  12022. SA6 A7+B1 SET FUT
  12023. SA1 B2+ESTP EST POINTER WORD
  12024. AX1 36
  12025. AX7 48
  12026. R= X6,ESTE
  12027. SX1 X1+EQDE
  12028. IX6 X7*X6
  12029. IX6 X6+X1
  12030. SA6 A6+B1 SET EST ADDRESS
  12031. SA1 X6+B2
  12032. BX7 X1
  12033. SA7 A6+1 SET EST
  12034. RJ PFS PRINT FILE SUMMARY
  12035.  
  12036. * DUMP FET.
  12037.  
  12038. SX5 -1
  12039. RJ SSB CLEAR PRINT STRING
  12040. SA2 =5HFET -
  12041. SB6 5
  12042. SB7 PRBF+24
  12043. RJ UPS SET HEADER INFORMATION
  12044.  
  12045. * SET FET ADDRESS.
  12046.  
  12047. SA1 DFIG
  12048. SB6 6
  12049. SB7 PRBF+9
  12050. LX1 -18
  12051. RJ CTS
  12052.  
  12053. * SET CONTROL POINT NUMBER.
  12054.  
  12055. SA2 =2HCP
  12056. SB6 2
  12057. SB7 PRBF+18
  12058. RJ UPS
  12059. SA1 DFIF
  12060. SB6 2
  12061. LX1 -6
  12062. RJ CTS
  12063. DFI3 SA2 DFIA
  12064. SX5 X5+1
  12065. IX3 X2-X5
  12066. ZR X3,DFI4 IF ENTIRE FET DUMPED
  12067.  
  12068. * SET FET ORDINAL.
  12069.  
  12070. BX1 X5
  12071. SB7 PRBF+30
  12072. SX6 1R+
  12073. SA6 B7 SET RELATIVE SIGN
  12074. SB7 B7+1
  12075. LX1 -9
  12076. SB6 3
  12077. RJ CTS
  12078.  
  12079. * SET FET WORD.
  12080.  
  12081. SA1 BUF+X5
  12082. SB7 B7+2
  12083. SA2 =4000005B FORMAT CONTROL
  12084. RJ FDW
  12085. BX2 X1
  12086. SB6 10
  12087. RJ SDI
  12088. PRINT CCCH,B7-CCCH
  12089. RJ SSB CLEAR PRINT STRING
  12090. JP DFI3 CONTINUE
  12091.  
  12092. * DUMP FET EXTENDED LABELS.
  12093.  
  12094. DFI4 SA1 DFIA
  12095. SX2 X1-10
  12096. NG X2,DFIX IF EXTENDED LABEL WORD IMPOSSIBLE
  12097. SA1 BUF+1
  12098. LX1 59-41
  12099. PL X1,DFIX IF EXTENDED LABEL NOT SET
  12100. PRINT (=2C )
  12101. SA2 BUF+9
  12102. SX6 X2+
  12103. SA6 DFIC SET ADDRESS OF EXTENDED LABELS
  12104. SX7 100
  12105. SA7 DFID SET MAXIMUM NUMBER OF LABELS TO DUMP
  12106. DFI5 RJ SSB CLEAR PRINT STRING
  12107. SA1 DFIB
  12108. SA2 DFIC
  12109. IX3 X1+X2
  12110. RJ PCM POSITION TO START OF NEXT EXTENDED LABEL
  12111. SA2 =28HEXT LABEL CHARACTER COUNT =
  12112. SB6 28
  12113. SB7 PRBF
  12114. RJ UPS
  12115. GETCM READ HEADER
  12116. SX4 10
  12117. MX0 -12
  12118. BX1 -X0*X6 NUMBER OF CHARACTERS
  12119. ZR X1,DFIX IF NO MORE EXTENDED LABELS
  12120. LX1 -12
  12121. SB6 4
  12122. RJ CTS SET CHARACTER COUNT
  12123. SB7 B7+2 SPACE TWO TIMES
  12124. SX6 X1+ NUMBER OF CHARACTERS
  12125. SA6 DFIE
  12126. IX2 X6/X4 NUMBER OF WHOLE WORDS
  12127. SX4 10
  12128. SX3 X1+
  12129. IX0 X4*X2 NUMBER OF CHARACTERS WITHOUT REMAINDER
  12130. IX6 X3-X0 REMAINDER
  12131. ZR X6,DFI6 IF NO REMAINDER
  12132. SX2 X2+1
  12133. DFI6 SA1 DFIC
  12134. IX4 X1+X2
  12135. SX6 X4+B1
  12136. SA6 A1+ SET NEXT EXTENDED LABEL ADDRESS
  12137. GETCM BUF,10
  12138. SA1 DFIE NUMBER OF CHARACTERS
  12139. SX3 X1-101
  12140. NG X3,DFI7 IF .LE. 100 CHARACTERS
  12141. SX1 101
  12142. SX6 65B =1R_
  12143. LX6 -6 =1L_
  12144. SA6 BUF+10 INDICATE OVERFLOW
  12145.  
  12146. * SET EXTENDED LABEL.
  12147.  
  12148. DFI7 SB6 X1+
  12149. SB7 PRBF+34
  12150. SA2 BUF
  12151. RJ UPS
  12152. PRINT CCCH,B7-CCCH
  12153. SA1 DFID
  12154. SX6 X1-1
  12155. SA6 A1+ DECREMENT MAXIMUM NUMBER OF LABELS TO DUMP
  12156. NZ X6,DFI5 IF MAXIMUM NOT DUMPED
  12157. JP DFIX EXIT
  12158.  
  12159. DFIA BSS 1 FET LENGTH
  12160. DFIB BSS 1 CONTROL POINT REFERENCE ADDRESS
  12161. DFIC BSS 1 ADDRESS OF EXTENDED LABEL
  12162. DFID BSS 1 MAXIMUM NUMBER OF LABELS REMAINING TO DUMP
  12163. DFIE BSS 1 NUMBER OF CHARACTERS IN LABEL
  12164. DFIF BSS 1 CONTROL POINT NUMBER
  12165. DFIG BSS 1 FET ADDRESS
  12166. DFT SPACE 4,10
  12167. ** DFT - PROCESS DFT MESSAGE AND DFT/OS BUFFER.
  12168. *
  12169. * USES X - 0, 1, 2, 3, 5, 6, 7.
  12170. * A - 1, 2, 3, 6, 7.
  12171. * B - 2.
  12172. *
  12173. * CALLS CPS, CVB, DDB, DRA, GDA, ISM.
  12174. *
  12175. * MACROS SEARCH.
  12176.  
  12177.  
  12178. DFT SUBR ENTRY/EXIT
  12179. SX1 100 FORCE NEW PAGE
  12180. RJ CPS
  12181. SA1 ED
  12182. ZR X1,DFT1 IF USING *CM* RECORD
  12183. SA1 .DFT GET *DFT* RECORD
  12184. MX0 18
  12185. SEARCH TDIR,X1,X0
  12186. ZR X2,DFTX IF NOT FOUND
  12187. SA1 A2+2
  12188. SX6 X1 GET LENGTH OF DFT RECORD
  12189. SA6 EH
  12190. SA2 A2+3 POSITION PAST HEADER RECORD
  12191. BX6 X2
  12192. SA6 A6+B1 SAVE RANDOM INDEX
  12193. SA6 EI FORCE *EI* ADDRESSING
  12194. SA1 DFTE
  12195. BX6 X1
  12196. SA2 A1+B1
  12197. SA6 DFTF-1+/DFT/DFMD UPDATE POINTER WORD TABLE
  12198. BX7 X2
  12199. SX6 B0 SET OFFSET
  12200. SA7 DFTF-1+/DFT/DFRQ
  12201. SA6 AO
  12202. SX7 PBUF+20 FWA OF 60-BIT STORAGE BUFFER
  12203. SA7 CVBA
  12204. EQ DFT2 DISPLAY BUFFER
  12205.  
  12206. DFT1 SA1 F.TCMT
  12207. SA2 X1+EIBP READ *EICB* POINTER
  12208. SX6 X2+/VE/DFCM+1 GET ADDRESS OF DFT MESSAGE
  12209. SX7 3 SET LENGTH TO DUMP
  12210. SX1 =C* DFT MESSAGE.*
  12211. SX5 B0+
  12212. RJ DDB DISPLAY DFT BLOCK
  12213. RJ GDA GET DFT/OS BUFFER ADDRESS
  12214. ZR X3,DFTX IF NO DFT/OS BUFFER POINTER
  12215. BX7 X3
  12216. DFT2 SA7 DFTA SAVE ADDRESS OF DFT CONTROL WORD IN BUFFER
  12217. SA6 A7+B1 SAVE DFT/OS BUFFER ADDRESS
  12218. ERRNZ DFTB-DFTA-1 CODE REQUIRES CONTIGUOUS WORDS
  12219. SX5 B0
  12220. SX7 B1 SET LENGTH TO DUMP
  12221. SX1 =C* DFT CONTROL WORD.*
  12222. RJ DDB DISPLAY DFT BLOCK
  12223. SX3 1 NUMBER OF WORDS TO CONVERT
  12224. RJ CVB CONVERT CONTROL WORD
  12225. SA3 DFTA READ *DFT* CONTROL WORD
  12226. SA3 X3+/DFT/DFCW
  12227. LX3 -56
  12228. MX0 -4
  12229. BX3 -X0*X3 NUMBER OF POINTER WORDS
  12230. BX7 X3 SAVE NUMBER OF POINTER WORDS
  12231. SA7 DFTD
  12232. SX7 /DFT/DFHL-1 DEFAULT NUMBER OF POINTER WORDS
  12233. ZR X3,DFT3 IF NUMBER NOT IN CONTROL WORD
  12234. SX7 X3-1 SET NUMBER OF POINTER WORDS
  12235. DFT3 SX1 =C* DFT POINTER WORDS.*
  12236. SA3 DFTB
  12237. SX6 X3+B1 ADDRESS OF POINTER WORDS
  12238. SX5 B0
  12239. RJ DDB DISPLAY DFT BLOCK
  12240. SA3 DFTD
  12241. RJ CVB CONVERT POINTER WORDS
  12242. SA3 DFTA READ *DFT* CONTROL WORD
  12243. SA3 X3+/DFT/DFCW
  12244. MX0 -8
  12245. LX3 -16
  12246. BX7 -X0*X3 NUMBER OF BUFFER CONTROL WORDS
  12247. LX3 -24
  12248. BX3 -X0*X3 *DFT* REVISION LEVEL
  12249. SX3 X3-3-1 CHECK FOR *DFT* LEVEL 3
  12250. PL X3,DFT5 IF *DFT* VERSION 4 OR ABOVE
  12251.  
  12252. * PROCESS *DFT* VERSION 3.
  12253.  
  12254. SA3 DFTB
  12255. SX6 X3+/DFT/DFHL ADDRESS OF M/R CONTROL WORDS
  12256. SX5 B0+
  12257. SX1 =C* BUFFER CONTROL WORDS.*
  12258. RJ DDB DISPLAY DFT BLOCK
  12259. SX1 20
  12260. RJ CPS
  12261. SA3 DFTA
  12262. SA3 X3+/DFT/DFMR M/R BUFFER POINTER
  12263. SX1 =C* M/R BUFFERS.*
  12264. SX5 B1+
  12265. RJ DDB DISPLAY DFT BLOCK
  12266. SX1 20
  12267. RJ CPS
  12268. SA3 DFTA
  12269. SA3 X3+/DFT/DFMD MODEL DEPENDENT BUFFER POINTER
  12270. ZR X3,DFT4 IF NO MODEL DEPENDENT BUFFER
  12271. SX5 B1+
  12272. SX1 =C* MODEL DEPENDENT BUFFER.*
  12273. RJ DDB DISPLAY DFT BLOCK
  12274. DFT4 SA3 DFTA
  12275. SA3 X3+/DFT/DFRQ NOS REQUEST AREA POINTER
  12276. SX6 /DFT/RQBL INCREMENT LENGTH FIELD
  12277. IX3 X3+X6
  12278. SX5 B1
  12279. SX1 =C* NOS REQUEST AREA.*
  12280. RJ DDB DISPLAY *DFT* BLOCK
  12281. EQ DFTX RETURN
  12282.  
  12283. * PROCESS *DFT* VERSION 4 OR ABOVE.
  12284.  
  12285. DFT5 SX6 DFTF SET FIRST TABLE ENTRY ADDRESS
  12286. SA6 DFTC
  12287. SX6 DDB2 SET ERROR RETURN ADDRESS
  12288. SA6 ERRC+1
  12289. DFT6 SA1 DFTC GET NEXT TABLE ENTRY ADDRESS
  12290. SA2 X1+ GET NEXT TABLE ENTRY
  12291. ZR X2,DFT8 IF END OF TABLE
  12292. SX6 X1+B1
  12293. SA6 A1 ADVANCE TABLE ADDRESS
  12294. NG X2,DFT6 IF SPECIAL ENTRY
  12295. SX1 X2 SET ADDRESS OF HEADER
  12296. AX2 30 SET POINTER OFFSET
  12297. SB2 X2+
  12298. SA3 DFTA GET POINTER WORD
  12299. SA3 X3+B2
  12300. SX5 B1
  12301. ZR X3,DFT6 IF POINTER NOT PRESENT
  12302. SA2 ED
  12303. ZR X2,DFT7 IF NOT *DROPVE* DUMP
  12304. SA2 DFTD GET BLOCK ADDRESS WITHIN *DFT* RECORD
  12305. SX5 B0
  12306. MX0 -16
  12307. BX7 -X0*X3 GET BLOCK LENGTH
  12308. IX6 X7+X2
  12309. SA6 A2 UPDATE ADDRESS FOR NEXT BLOCK
  12310. BX6 X2 SET CONVERTED ADDRESS
  12311. DFT7 RJ DDB DISPLAY *DFT* BLOCK
  12312. SX1 20
  12313. RJ CPS CHECK PAGE SPACING
  12314. EQ DFT6 PROCESS NEXT *DFT* TABLE
  12315.  
  12316. * DISPLAY MODEL DEPENDENT BUFFERS.
  12317.  
  12318. DFT8 SA1 ED
  12319. SX1 X1-1
  12320. ZR X1,DFTX IF *DROPVE* DUMP
  12321. SA2 DFTA
  12322. SA3 X2+/DFT/DFMD MDB POINTER ADDRESS
  12323. SX1 =C* MODEL DEPENDENT BUFFER.*
  12324. RJ DRA CONVERT ADDRESS
  12325. SA6 A2+B1 SAVE MDB POINTER ADDRESS
  12326. ERRNZ DFTA-DFTB+1
  12327. BX5 X5-X5
  12328. RJ DDB DISPLAY MDB POINTER WORDS
  12329. SA1 DFTB CALCULATE MDB FWA
  12330. SA2 F.TCMT
  12331. IX6 X1+X2
  12332. SA6 A1
  12333. BX6 X6-X6
  12334. SA6 A1+B1 MDB ORDINAL
  12335. ERRNZ DFTB-DFTC+1
  12336. DFT9 SA3 DFTB GET NEXT MDB POINTER
  12337. IX3 X3+X6
  12338. SA3 X3
  12339. SX1 =C* * NO TITLE
  12340. SX5 B1+
  12341. RJ DDB DISPLAY MODEL DEPENDENT BUFFER
  12342. SA1 DFTC UPDATE MDB ORDINAL
  12343. SX6 X1+B1
  12344. SA6 A1
  12345. AX1 1
  12346. ZR X1,DFT9 IF NOT THROUGH DISPLAYING MDB
  12347. EQ DFT4 DUMP NOS REQUEST AREA
  12348.  
  12349.  
  12350. DFTA CON 0 FWA OF DFT/OS BUFFER IN *TCMT*
  12351. DFTB CON 0 FWA OF DFT/OS BUFFER
  12352. DFTC CON 0 NEXT TABLE ENTRY ADDRESS
  12353. DFTD CON 0 *DROPVE* DUMP BLOCK ADDRESS
  12354. DFTE VFD 30//DFT/DFMD,30/=C* MODEL DEPENDENT BUFFER POINTERS.*
  12355. VFD 30//DFT/DFRQ,30/=C* NOS REQUEST AREA.*
  12356.  
  12357.  
  12358. ** TABLE OF *DFT* TABLES TO DISPLAY.
  12359. *
  12360. *T 30/ OFFSET, 30/ ADDRESS
  12361. *
  12362. * OFFSET = OFFSET OF POINTER IN *DFT/OS* BUFFER.
  12363. * ADDRESS = ADDRESS OF HEADER TO DISPLAY.
  12364. *
  12365. * NOTE - ENTRIES IN THE TABLE MUST BE IN *COMSDFT* ORDER.
  12366. * ENTRIES CONSISTING OF *-1* ARE SPECIAL ENTRIES AND
  12367. * ARE PROCESSED SEPARATELY.
  12368.  
  12369.  
  12370. DFTF BSS 0
  12371. VFD 30//DFT/DFSI,30/=C* SECDED ID TABLE.*
  12372. VFD 30//DFT/DFMR,30/=C* M/R BUFFERS.*
  12373. CON -1
  12374. VFD 30//DFT/DFNV,30/=C* NOS/VE BUFFER.*
  12375. VFD 30//DFT/DFPS,30/=C* PPR SAVE AREA.*
  12376. CON -1
  12377. VFD 30//DFT/DFBC,30/=C* BUFFER CONTROL WORDS.*
  12378. VFD 30//DFT/DFEC,30/=C* ELEMENT COUNTER BUFFER.*
  12379. VFD 30//DFT/DFER,30/=C* ERROR CONTROL RECORD.*
  12380. VFD 30//DFT/DFSS,30/=C* SUPPORTIVE STATUS BUFFERS.*
  12381. VFD 30//DFT/DFNR,30/=C* NON REGISTER STATUS.*
  12382. VFD 30//DFT/DFCA,30/=C* DFT CMR AREA.*
  12383. VFD 30//DFT/DFPR,30/=C* PP REGISTER DATA.*
  12384. VFD 30//DFT/DFSD,30/=C* DFT SECONDARY BUFFER POINTER.*
  12385. CON 0 END OF TABLE
  12386. SPACE 4,10
  12387. *** DHA - DUMP RHF DAYFILE BUFFER.
  12388. *
  12389. * ENTRY (CN) = CONTROL POINT NUMBER.
  12390. * (A0) = RETURN ADDRESS.
  12391. *
  12392. * USES X - 1, 6.
  12393. * A - 1, 6.
  12394. * B - 3.
  12395. *
  12396. * CALLS DCP.
  12397.  
  12398.  
  12399. DHA SA1 =1LA SET OPTION FOR DAYFILE DUMP
  12400. DHA1 SX6 A0 SAVE RETURN ADDRESS
  12401. SA6 DHAA
  12402. BX6 X1
  12403. SA6 CL
  12404. RJ DCP DUMP DAYFILE BUFFERS
  12405. SA1 DHAA GET RETURN ADDRESS
  12406. SB3 X1
  12407. JP B3 RETURN
  12408.  
  12409.  
  12410. DHAA DATA 0 RETURN ADDRESS
  12411. SPACE 4,10
  12412. ** DHC - DUMP RHF FIELD LENGTH.
  12413. *
  12414. * ENTRY (A0) = RETURN ADDRESS.
  12415. *
  12416. * EXIT TO DHA1.
  12417. *
  12418. * USES X - 1.
  12419. * A - 1.
  12420.  
  12421.  
  12422. DHC SA1 =1LD
  12423. JP DHA1 SET TO DUMP FIELD, *D* FORMAT
  12424. SPACE 4,10
  12425. ** DHP - DUMP RHF PPU-S.
  12426. *
  12427. * ENTRY (A0) = RETURN ADDRESS.
  12428. *
  12429. * USES ALL REGISTERS.
  12430. *
  12431. * CALLS ASP.
  12432.  
  12433.  
  12434. DHP SX6 DHPA
  12435. JP ASP DUMP PPUS
  12436.  
  12437. DHPA BSS 0 PARAMETERS FOR *ASP*
  12438. VFD 18/3LNDR,42/0
  12439. VFD 18/3LNLD,42/0
  12440. VFD 18/3LRHH,42/0
  12441. VFD 60/-1 END OF PARAMETERS
  12442. DHR SPACE 4,15
  12443. ** DHR - DISPLAY HEX REGISTER.
  12444. *
  12445. * ENTRY DUMP FILE POSITIONED AT REGISTER TO DISPLAY.
  12446. * (B7) = OUTPUT COLUMN POINTER.
  12447. *
  12448. * USES X - 1, 5.
  12449. * B - 6, 7.
  12450. *
  12451. * CALLS HTS, NXB.
  12452. *
  12453. * MACROS PRINT.
  12454.  
  12455.  
  12456. DHR SUBR ENTRY/EXIT
  12457. SX5 4
  12458. DHR1 SB7 B7+2
  12459. RJ NXB GET NEXT 16 BITS OF REGISTER
  12460. SB6 4
  12461. LX1 59-15
  12462. RJ HTS DISPLAY 4 HEX DIGITS
  12463. SX5 X5-1
  12464. NZ X5,DHR1 IF MORE DATA TO DISPLAY
  12465. PRINT CCCH,B7-CCCH+1
  12466. EQ DHRX RETURN
  12467. DMB SPACE 4,15
  12468. ** DMB - DISPLAY MESSAGE BUFFER.
  12469. *
  12470. * ENTRY (A2) = FWA OF MESSAGE BUFFER.
  12471. * (B6) = CHARACTER COUNT.
  12472. * (B7) = STRING BUFFER POSITION.
  12473. *
  12474. * EXIT MESSAGE BUFFER UNPACKED TO STRING BUFFER.
  12475. *
  12476. * USES X - 0, 1, 3.
  12477. * A - 3.
  12478. * B - 4, 5, 6.
  12479. *
  12480. * CALLS UPS.
  12481.  
  12482.  
  12483. DMB2 SB6 B5+
  12484. ZR B5,DMBX IF EMPTY BUFFER
  12485. DMB3 RJ UPS UNPACK MESSAGE
  12486.  
  12487. DMB SUBR ENTRY/EXIT
  12488. SB5 B0 INITIALIZE CHARACTER COUNTER
  12489. MX0 12
  12490. SB4 4 INITIALIZE BYTE COUNTER
  12491. SA3 A2+ READ FIRST WORD
  12492. DMB1 BX1 X0*X3
  12493. ZR X1,DMB2 IF EOL
  12494. LX0 -12
  12495. SB5 B5+2
  12496. GT B5,B6,DMB3 IF END OF MESSAGE
  12497. SB4 B4-B1
  12498. PL B4,DMB1 IF NOT FINISHED WITH WORD
  12499. SA3 A3+B1
  12500. SB4 4
  12501. EQ DMB1 READ NEXT WORD
  12502. DMP SPACE 4,7
  12503. ** DMP - DUMP MAGNET PPUS.
  12504. *
  12505. * ENTRY A0 = RETURN ADDRESS.
  12506. *
  12507. * USES ALL REGISTERS.
  12508. *
  12509. * CALLS ASP.
  12510.  
  12511.  
  12512. DMP SX6 DMPA
  12513. JP ASP
  12514.  
  12515. DMPA VFD 18/3L1MT,42/0
  12516. VFD 60/-1 END OF PARAMETER BLOCK
  12517. DMQ SPACE 4,9
  12518. ** DMQ - DUMP MAGNET QUEUE TABLE.
  12519. *
  12520. * ENTRY A0 = RETURN ADDRESS.
  12521. *
  12522. * USES X - 1, 2, 3, 4, 5, 6, 7.
  12523. * A - 1, 2, 3, 5, 6, 7.
  12524. * B - 2.
  12525. *
  12526. * CALLS DOT, PCM, PCW.
  12527. *
  12528. * MACROS PRINT.
  12529.  
  12530.  
  12531. DMQ PRINT (=2C )
  12532. PRINT (=C* MAGNET QUEUE TABLE*)
  12533. PRINT (=2C )
  12534. SA1 SSBF+/MTX/UQUE
  12535. SA2 FC
  12536. SX6 X1+ FWA
  12537. SA3 SSBF+/MTX/TAJP
  12538. ZR X3,DMQ1 IF TAPE ALTERNATE STORAGE NOT ACTIVE
  12539. SA2 SSBF+/MTX/TSRP
  12540. DMQ1 SX7 X2 LWA+1
  12541. ZR X6,DMQ2 IF NO QUEUE TABLE FWA
  12542. IX4 X6-X7
  12543. PL X4,DMQ2 IF LWA+1 .LE. FWA
  12544. SA6 DMQA
  12545. SA7 A6+B1
  12546. SA2 RC
  12547. IX3 X6+X2
  12548. RJ PCM POSITION TO QUEUE TABLE
  12549. SB2 DMQA
  12550. RJ DOT DUMP ORDINAL TABLE
  12551. JP DMQ3 RETURN
  12552.  
  12553. DMQ2 SA5 DMQB
  12554. RJ PCW PRINT CONTENTS OF *UQUE* WORD
  12555. DMQ3 SB2 A0
  12556. JP B2 RETURN
  12557.  
  12558. DMQA VFD 60/0 FWA
  12559. VFD 60/0 LWA+1
  12560. VFD 60/0 STARTING ORDINAL
  12561. VFD 60/2 ORDINAL INCREMENT
  12562. VFD 24/0,18/4,18/5 FORMAT CONTROL
  12563. DMQB VFD 36/6L*UQUE*,6/0,18//MTX/UQUE
  12564. DATA 40HMAGNET QUEUE TABLE FWA
  12565. VFD 60/0
  12566. DMR SPACE 4,15
  12567. ** DMR - DUMP MAINTENANCE REGISTERS.
  12568. *
  12569. * ENTRY (X1) = RECORD ID.
  12570. * (X7) = PARAMETER LIST POINTER.
  12571. *
  12572. * USES A - 1, 2, 4, 5, 6, 7.
  12573. * B - 2, 3, 4, 6, 7.
  12574. * X - ALL.
  12575. *
  12576. * CALLS GID, HTS, LDC, RMR, SDT, SHA, SSB, UCS, UPS.
  12577. *
  12578. * MACROS PRINT.
  12579.  
  12580.  
  12581. DMR SUBR ENTRY/EXIT
  12582. SA7 DMRB DESCRIPTOR TABLE
  12583. SX7 B0
  12584. BX6 X1
  12585. SA6 DMRA RECORD ID
  12586. SA2 NR
  12587. ZR X2,DMR1 IF FIRST RECORD
  12588. SA7 DMRE RESET REGISTER 31 OCCURRENCE FLAG
  12589. DMR1 RJ GID GET ELEMENT ID
  12590. SB2 X6
  12591. SX1 B1
  12592. LX6 X1,B2 FORM BIT MASK OF MODEL NUMBER
  12593. SA1 DMRB
  12594. SX1 X1-/DIRECT/IMRA
  12595. NZ X1,DMR1.1 IF NOT IOU REGISTER DUMP
  12596. SX7 X7-0#42
  12597. NZ X7,DMR1.1 IF NOT MODEL 42 IOU
  12598. SX6 I4S SET BIT MASK FOR MODEL 42 IOU
  12599. DMR1.1 SA6 DMRF SET MODEL NUMBER BIT MASK
  12600. SX6 /IOU/PRDM+1 PRESET LAST REGISTER NUMBER
  12601. RJ SHA SET HEX ADDRESSES
  12602. RJ LDC LIST DIRECTIVE CARD
  12603.  
  12604. * SKIP TO FIRST REGISTER TO DUMP.
  12605.  
  12606. SX6 -1
  12607. SA6 LPWA PRESET BYTE AND WORD POSITION IN BUFFER
  12608. SX6 X6+B1
  12609. SA6 A6+B1
  12610. DMR2 RJ RMR READ MAINTENANCE REGISTER
  12611. ZR X1,DMRX IF END OF REGISTERS
  12612. SA1 RMRB CHECK REGISTER .LT. FIRST REGISTER
  12613. SA2 FW
  12614. IX6 X1-X2
  12615. NG X6,DMR2 IF REGISTER .LT. FIRST REGISTER
  12616.  
  12617. * PRINT RADIAL MCI, HEADER.
  12618.  
  12619. RJ SSB
  12620. PRINT (=2C )
  12621. SB7 PRBF
  12622. SA2 =13HRADIAL MCI =
  12623. SB6 13
  12624. RJ UPS
  12625. SA2 RDRA
  12626. LX2 3*6
  12627. SB6 1
  12628. RJ UPS UNPACK RADIAL MCI
  12629. PRINT CCCH,B7-CCCH
  12630. PRINT (=2C )
  12631. PRINT (=C* REG CONTENTS DESCRIPTION*)
  12632. PRINT (=2C )
  12633.  
  12634. * PRINT REGISTER NUMBER AND CONTENTS.
  12635.  
  12636. DMR3 RJ SSB SPACE FILL STRING BUFFER
  12637. SB7 PRBF+1 PRINT REGISTER NUMBER
  12638. SA1 RMRB
  12639. SB6 2
  12640. LX1 52
  12641. RJ HTS
  12642. SB7 PRBF+5 PRINT REGISTER CONTENTS
  12643. SA1 RMRA
  12644. SB4 X1
  12645. SB3 MRBF
  12646. DMR4 SA1 B3
  12647. SB6 2
  12648. LX1 52
  12649. RJ HTS
  12650. SB3 B3+B1
  12651. SB4 B4-B1
  12652. ZR B4,DMR5 IF REGISTER CONTENTS PRINTED
  12653. SA1 B3
  12654. SB6 2
  12655. LX1 52
  12656. RJ HTS
  12657. SB7 B7+B1
  12658. SB3 B3+B1
  12659. SB4 B4-B1
  12660. NZ B4,DMR4 IF REGISTER CONTENTS NOT PRINTED
  12661.  
  12662. * PRINT REGISTER DESCRIPTION.
  12663.  
  12664. DMR5 SA1 RMRB REGISTER NUMBER
  12665. SA2 /DIRECT/PMRD CHECK FOR REGISTER 31
  12666. SA4 DMRF GET MODEL NUMBER BIT MASK
  12667. RJ SDT
  12668. ZR X2,DMR5.1 IF NOT REGISTER 31
  12669. SA2 DMRE
  12670. ZR X2,DMR5.0 IF FIRST OCCURANCE OF REGISTER 31
  12671. SA2 /DIRECT/PMRD REGISTER DESCRIPTOR
  12672. EQ DMR5.2 PROCESS SECOND OCCURANCE OF REGISTER 31
  12673.  
  12674. DMR5.0 SX6 1 SET REGISTER 31 OCCURANCE FLAG
  12675. SA6 DMRE
  12676. DMR5.1 SA1 RMRB REGISTER NUMBER
  12677. SA2 DMRB DESCRIPTOR TABLE POINTER
  12678. SA4 DMRF GET MODEL NUMBER BIT MASK
  12679. SA2 X2 GET FIRST ENTRY OF TABLE
  12680. RJ SDT SEARCH DESCRIPTOR TABLE
  12681. ZR X2,DMR8 IF REGISTER NOT FOUND
  12682. DMR5.2 MX0 -17
  12683. BX6 X2
  12684. BX2 -X0*X2
  12685. AX6 17 ISOLATE SECONDARY TABLE
  12686. BX6 -X0*X6
  12687. SA6 DMRD
  12688. SA2 X2 GET DESCRIPTOR
  12689. SB7 PRBF+30
  12690. RJ UCS
  12691. PRINT CCCH,B7-CCCH
  12692. SA1 DMRD
  12693. ZR X1,DMR8 IF NO SECONDARY TABLE
  12694.  
  12695. * PRINT BIT NUMBER AND DESCRIPTION FOR SET BITS OF INTEREST.
  12696.  
  12697. DMR6 SA5 DMRD FETCH SECONDARY DESCRIPTOR TABLE ENTRY
  12698. SA1 X5
  12699. ZR X1,DMR8 IF END OF SECONDARY DESCRIPTOR TABLE
  12700. SX6 X5+B1 INCREMENT DESCRIPTOR TABLE POINTER
  12701. SA6 DMRD
  12702. SA4 DMRF GET MODEL NUMBER BIT MASK
  12703. LX4 17+17
  12704. BX6 X1*X4
  12705. ZR X6,DMR6 IF INFORMATION IS NOT FOR THIS MACHINE
  12706. MX0 -3 DETERMINE IF SPECIFIED BIT IS SET
  12707. BX6 X1
  12708. SA6 DMRC
  12709. AX1 -9
  12710. BX2 -X0*X1
  12711. AX1 3
  12712. SA1 X1+MRBF
  12713. SB2 X2+52
  12714. LX1 B2
  12715. PL X1,DMR6 IF BIT NOT SET
  12716. RJ SSB SPACE FILL STRING BUFFER
  12717. SB7 PRBF+18 PRINT *BIT NN*
  12718. SA2 =4HBIT
  12719. SB6 4
  12720. RJ UPS
  12721. SA1 DMRC
  12722. AX1 -9
  12723. BX3 X1
  12724. SX2 10
  12725. SX6 X2
  12726. IX4 X1/X2 CALCULATE UPPER DIGIT
  12727. IX1 X4*X6
  12728. SX6 X4+1R0
  12729. SA6 PRBF+22 STORE UPPER DIGIT
  12730. IX2 X3-X1 FORM REMAINDER
  12731. SX6 X2+1R0
  12732. SA6 A6+B1
  12733. SB7 PRBF+26 PRINT DESCRIPTION
  12734. SA1 DMRC
  12735. SA2 X1
  12736. RJ UCS
  12737. PRINT CCCH,B7-CCCH
  12738. EQ DMR6 CONTINUE PRINTING BIT DESCRIPTIONS
  12739.  
  12740. * TEST ALL REGISTERS PROCESSED.
  12741.  
  12742. DMR8 RJ RMR READ NEXT MAINTENANCE REGISTER
  12743. ZR X1,DMRX IF END OF REGISTERS
  12744. SA1 RMRB
  12745. SA2 LW
  12746. IX6 X1-X2
  12747. NG X6,DMR3 IF MORE REGISTERS TO PRINT
  12748. EQ DMRX RETURN
  12749.  
  12750.  
  12751. DMRA BSS 1 RECORD ID
  12752. DMRB BSS 1 DESCRIPTOR TABLE POINTER
  12753. DMRC BSS 1 DESCRIPTOR TABLE ENTRY
  12754. DMRD BSS 1 SECONDARY DESCRIPTOR TABLE ADDRESS
  12755. DMRE BSSZ 1 REGISTER 31 OCCURANCE FLAG
  12756. DMRF BSS 1 MODEL NUMBER BIT MASK
  12757. DMS SPACE 4,15
  12758. ** DMS - DUMP MAGNET TAPE PF STAGING TABLES.
  12759. *
  12760. * ENTRY (A0) = RETURN ADDRESS.
  12761. *
  12762. * USES X - 2, 3, 4, 6, 7.
  12763. * A - 2, 3.
  12764. * B - 2.
  12765. *
  12766. * CALLS DST.
  12767. *
  12768. * MACROS PRINT.
  12769.  
  12770.  
  12771. DMS BSS 0 ENTRY
  12772. SA3 SSBF+/MTX/TAJP
  12773. ZR X3,DMS1 IF TAPE ALTERNATE STORAGE NOT ACTIVE
  12774. PRINT (=2C )
  12775. PRINT (=C* ACTIVE STAGING JOB TABLE*)
  12776. PRINT (=2C )
  12777. SA3 SSBF+/MTX/TAJP
  12778. SX6 X3 FWA
  12779. AX3 24
  12780. SX7 X3 LWA+1
  12781. RJ DST DUMP STAGING TABLE
  12782. PRINT (=2C )
  12783. PRINT (=C* STAGING VSN TABLE*)
  12784. PRINT (=2C )
  12785. SA3 SSBF+/MTX/TVSP
  12786. SX6 X3 FWA
  12787. AX3 24
  12788. SX7 X3 LWA+1
  12789. RJ DST DUMP STAGING TABLE
  12790. PRINT (=2C )
  12791. PRINT (=C* STAGE REQUEST TABLE*)
  12792. PRINT (=2C )
  12793. SA3 SSBF+/MTX/TSRP
  12794. SA2 FC
  12795. SX6 X3 FWA
  12796. SX7 X2 LWA+1
  12797. RJ DST DUMP STAGING TABLE
  12798. DMS1 SB2 A0
  12799. JP B2 RETURN
  12800. DMU SPACE 4,15
  12801. ** DMU - DUMP MAGNET UNIT DESCRIPTOR TABLES.
  12802. *
  12803. * ENTRY (A0) = RETURN ADDRESS.
  12804. * (CN) = MAGNET CONTROL POINT NUMBER.
  12805. * (NC) = NUMBER OF CONTROL POINTS - 1.
  12806. * (RC) = MAGNET CONTROL POINT REFERENCE ADDRESS.
  12807. *
  12808. * USES X - ALL.
  12809. * A - 1, 2, 4, 6, 7.
  12810. * B - 2, 3, 6, 7.
  12811. *
  12812. * CALLS CTS, DFI, GTD, PCM, UPS.
  12813. *
  12814. * MACRO GETCM, PRINT.
  12815.  
  12816.  
  12817. DMU PRINT (=2C )
  12818. PRINT (=C* MAGNET UNIT DESCRIPTOR TABLES*)
  12819. SX6 A0+ SAVE RETURN ADDRESS
  12820. SA6 DMUC
  12821. SA1 SSBF+/MTX/UBUF
  12822. SX6 X1 FWA OF UDT
  12823. AX1 24
  12824. SX7 X1 LWA OF UDT
  12825. SA6 DMUA SAVE FWA OF FIRST UDT ENTRY
  12826. SA7 A6+B1 SAVE LWA OF UDT
  12827. DMU1 SA1 A6+B1 GET LWA OF UDT
  12828. IX1 X1-X6
  12829. ZR X1,DMU4 IF ALL UDTS DUMPED
  12830. BX1 X6
  12831. SA2 RC
  12832. IX3 X1+X2
  12833. RJ PCM POSITION TO NEXT UDT
  12834. GETCM BUF,/MTX/UNITL READ UDT
  12835. PRINT (=2C )
  12836. SB7 PRBF
  12837. SA2 =4HEST
  12838. SB6 4
  12839. RJ UPS STORE IN PRINT STRING
  12840. SA1 BUF+/MTX/UST1 SET EST ORDINAL
  12841. LX1 27
  12842. SB6 3
  12843. RJ CTS CONVERT EST ORDINAL
  12844. PRINT CCCH,B7-CCCH
  12845. PRINT (=2C )
  12846. SA1 DMUA
  12847. BX6 X1
  12848. BX2 -X1
  12849. SB2 X2+BUF SET CORE ADDRESS OF TABLE DATA
  12850. SA6 FW SET PRINT ADDRESS
  12851. SA1 TFMU FORMAT TABLE POINTERS
  12852. RJ GTD GENERATE DETAILED TABLE DUMP
  12853. SA1 DMUA
  12854. SX6 X1+/MTX/UNITL
  12855. SA6 A1 SET NEXT UDT FWA
  12856. JP DMU1
  12857.  
  12858. DMU4 SA1 DMUC GET RETURN ADDRESS
  12859. SB2 X1
  12860. JP B2 RETURN
  12861.  
  12862.  
  12863. DMUA BSS 2 FWA, LWA OF UDT
  12864. DMUC BSS 1 RETURN ADDRESS
  12865. DNN SPACE 4,10
  12866. ** DNN - PROCESS CPP-S.
  12867. *
  12868. * ENTRY VIA UNCONDITIONAL JUMP.
  12869. *
  12870. * EXIT TO *RBI2* IF NORMAL.
  12871. * TO *PPE1* IF PREMATURE EOF.
  12872. *
  12873. * USES X - 1, 7.
  12874. * A - 1, 7.
  12875. *
  12876. * CALLS CRS, ERF, RBF.
  12877.  
  12878.  
  12879. DNN BSS 0 ENTRY
  12880. RJ ERF POSITION TO EOR ON FILE *F*
  12881. RJ RBF READ FIRST PART OF RECORD
  12882. NZ X1,PPE1 IF PREMATURE EOF
  12883. SA1 ID SHIFT RECORD ID BEFORE ENTRY INTO TABLE
  12884. BX7 X1
  12885. AX7 6
  12886. SA7 A1
  12887. RJ CRS COPY RECORD TO FILE *S*
  12888. EQ RBI2 EXIT TO READ NEXT RECORD FROM FILE *F*
  12889. DOS SPACE 4,15
  12890. ** DOS - DISPLAY OCTAL DIGITS WITH LEADING ZERO SUPPRESSION.
  12891. *
  12892. * ENTRY (X1) = DIGITS RIGHT-JUSTIFIED.
  12893. * (B4) = NUMBER OF DIGITS TO CONVERT.
  12894. * (B7) = STRING BUFFER POINTER.
  12895. *
  12896. * EXIT DIGITS CONVERTED AND UNPACKED.
  12897. * (B4) UNCHANGED.
  12898. * (B7) UPDATED TO TWO SPACES PAST LAST DIGIT.
  12899. *
  12900. * SAVES X - 5.
  12901. * A - 0, 1, 3, 5, 7.
  12902. * B - 0, 1, 4.
  12903. *
  12904. * CALLS COD, UPS.
  12905.  
  12906.  
  12907. DOS1 AX2 X6,B5 ** LOGICAL SHIFT BY -((B4)*6) **
  12908. SB4 A2-B1 RESTORE B4
  12909. RJ UPS UNPACK TO STRING BUFFER
  12910.  
  12911. DOS SUBR ENTRY/EXIT
  12912. SB2 B4+B4
  12913. MX3 1
  12914. SB2 B2+B4 (B4)*3
  12915. SA2 B4+B1 SAVE B4
  12916. SB3 B2-B1
  12917. SB5 B2+B2 (B4)*6
  12918. AX3 B3 CREATE MASK
  12919. LX3 B2
  12920. SB6 A2+B1 UNPACK (B4) DIGITS + 2 SPACES
  12921. BX1 X3*X1 MASK OFF DIGITS
  12922. RJ COD CONVERT OCTAL DIGITS
  12923. SB5 B5-60
  12924. EQ DOS1 UNPACK CONVERTED DIGITS
  12925. DOT SPACE 4,20
  12926. ** DOT - DUMP ORDINAL TABLE.
  12927. *
  12928. * ENTRY B2 = DUMP PARAMETER BLOCK ADDRESS.
  12929. *
  12930. * PARAMETER BLOCK FORMAT -
  12931. *
  12932. *T WORD0 60/FWA OF DUMP
  12933. *T WORD1 60/LWA+1 OF DUMP
  12934. *T WORD2 60/STARTING ORDINAL
  12935. *T WORD3 60/ORDINAL INCREMENT PER LINE OF TWO WORDS
  12936. *T WORD4 60/FORMAT CONTROL
  12937. * DUMP FILE IS POSITIONED.
  12938. *
  12939. * EXIT INPUT PARAMETER BLOCK NOT UPDATED.
  12940. *
  12941. * SAVES X - NONE.
  12942. * B - 1.
  12943. * A - 0.
  12944. *
  12945. * CALLS CTS, FDW, SDI, SRD, SSB.
  12946. *
  12947. * MACROS GETCM, MOVE, PRINT.
  12948.  
  12949.  
  12950. DOT SUBR
  12951. MX6 1
  12952. SX7 B0
  12953. SA6 SRDA PRESET FIRST CALL TO *SRD*
  12954. SA7 SRDC+10 STOP DASHES AFTER 100 CHARACTERS
  12955. MOVE 5,B2,DOTA FETCH PARAMETER BLOCK
  12956. RJ SSB SPACEFILL STRING BUFFER
  12957. DOT1 GETCM BUF,2
  12958. SX1 BUF SET DATA ADDRESS
  12959. SB5 2 WORD COUNT
  12960. RJ SRD SENSE REPEAT DATA
  12961. NZ X1,DOT3 IF REPEAT SENSED
  12962. SA1 DOTA
  12963. LX1 -21
  12964. SB6 7
  12965. SB7 PRBF
  12966. RJ CTS CONVERT ADDRESS
  12967. SB7 B7+4 SPACE FOUR
  12968. SX6 1R+
  12969. SA6 B7 ADD RELATIVE SIGN
  12970. SB7 B7+B1
  12971. SA1 DOTA+2
  12972. LX1 -15
  12973. SB6 5
  12974. RJ CTS CONVERT ORDINAL
  12975. SA1 BUF
  12976. SB2 2
  12977. DOT2 SB7 B7+4 SPACE FOUR
  12978. SA2 DOTA+4 FORMAT CONTROL
  12979. RJ FDW FORMAT DATA WORD
  12980. SA1 A1+B1
  12981. SB2 B2-B1
  12982. NZ B2,DOT2 IF MORE TO DUMP
  12983. SB7 B7+4 SPACE FOUR
  12984. SA2 A1-2
  12985. SB6 20
  12986. RJ SDI SET DISPLAY CODE INTERPRETATION
  12987. PRINT CCCH,B7-CCCH
  12988. DOT3 SA1 DOTA FWA
  12989. SA2 DOTA+2 ORDINAL
  12990. SA3 A2+B1 ORDINAL INCREMENT
  12991. SA4 A1+B1 LWA+1
  12992. SX6 X1+2
  12993. IX7 X2+X3
  12994. SA6 A1 UPDATE FWA
  12995. SA7 DOTA+2 UPDATE ORDINAL
  12996. IX3 X6-X4
  12997. NG X3,DOT1 IF MORE TO DUMP
  12998. SA1 SRDC+1
  12999. BX6 X1
  13000. SA6 SRDC+10 RESET DASHES FOR 136 CHARACTERS
  13001. JP DOTX EXIT
  13002.  
  13003. DOTA BSS 5 DUMP PARAMETER BLOCK
  13004. DPB SPACE 4,20
  13005. ** DPB - DISPLAY PPU BYTE.
  13006. *
  13007. * PRINT THE 16 BIT PPU BYTE AS EITHER FOUR HEX DIGITS OR
  13008. * SIX OCTAL DIGITS. IF THE BYTE IS ZERO, PRINT FOUR DASHES. IF
  13009. * THE BYTE IS LESS THEN 10000B AND IS TO BE DISPLAYED IN OCTAL,
  13010. * SUPPRESS THE UPPER TWO ZEROS.
  13011. *
  13012. * ENTRY (X5) = ZERO IF HEXADECIMAL INTERPRETATION,
  13013. * NON-ZERO IF DECIMAL INTERPRETATION.
  13014. * (X1) = DATA TO DISPLAY.
  13015. * (B7) = POSITION TO DISPLAY INFORMATION.
  13016. *
  13017. * EXIT (B7) = UPDATED DISPLAY INFORMATION POINTER.
  13018. *
  13019. * USES A - 6.
  13020. * B - 6, 7.
  13021. * X - 1, 2, 6.
  13022. *
  13023. * CALLS CTS, HTS.
  13024.  
  13025.  
  13026. DPB SUBR ENTRY/EXIT
  13027. NZ X5,DPB2 IF OCTAL
  13028. SB6 4
  13029. LX1 -16
  13030. RJ HTS DISPLAY 4 HEX DIGITS
  13031. NZ X1,DPBX IF DATA NONZERO
  13032. DPB1 SX6 1R- DISPLAY ---- FOR A ZERO
  13033. SA6 B7-B1
  13034. SA6 A6-B1
  13035. SA6 A6-B1
  13036. SA6 A6-B1
  13037. EQ DPBX RETURN
  13038.  
  13039. DPB2 SB6 6
  13040. LX1 -12
  13041. SX2 X1
  13042. LX1 -6
  13043. NZ X2,DPB3 IF UPPER 4 BITS ARE NONZERO
  13044. LX1 6
  13045. SX6 1R
  13046. SA6 B7
  13047. SA6 B7+B1
  13048. SB7 A6+B1
  13049. SB6 4 DISPLAY 4 OCTAL DIGIT
  13050. DPB3 RJ CTS
  13051. ZR X1,DPB1 IF WORD IS ALL ZERO
  13052. EQ DPBX RETURN
  13053. DPN SPACE 4,10
  13054. ** DPN - DISPLAY PROCEDURE NAME.
  13055. *
  13056. * ENTRY (X1) = ADDRESS OF STACK FRAME.
  13057. * (X6) = EXCHANGE PACKAGE ADDRESS.
  13058. *
  13059. * USES A - 0, 1, 2, 6, 7.
  13060. * X - 1, 2, 3, 5, 6, 7.
  13061. * B - 2, 6, 7.
  13062. *
  13063. * CALLS EVA, FRV, PVM, RMB, SAI, SVA, UPS.
  13064. *
  13065.  
  13066.  
  13067. DPN2 PRINT CCCH,13
  13068.  
  13069. DPN SUBR ENTRY/EXIT
  13070. SA6 DPNA+1 SAVE EXCHANGE PACKAGE ADDRESS
  13071. SX2 4*8+2
  13072. IX6 X1+X2
  13073. SA6 DPNA SAVE STACK FRAME ADDRESS
  13074. SA2 =12HSTACK FRAME
  13075. SB6 12
  13076. SB7 PRBF
  13077. RJ UPS UNPACK STRING
  13078. SA1 DPNA
  13079. RJ FRV FETCH REGISTER VALUE
  13080. NZ X2,DPN2 IF NO REGISTER VALUE, RETURN
  13081. RJ EVA EXPAND VIRTUAL ADDRESS
  13082. ZR X2,DPN2 IF NIL POINTER
  13083. SB2 DPNA
  13084. SX1 8+2
  13085. IX6 X7+X1 OFFSET TO PROCEDURE NAME POINTER
  13086. SA6 B2
  13087. RJ SVA CONVERT TO SVA
  13088. SA2 STSDE FETCH SEGMENT DESCRIPTOR
  13089. MX3 2
  13090. LX2 59-15+4
  13091. BX2 X3*X2
  13092. BX3 X3-X2
  13093. NZ X3,DPN2 IF NOT A BINDING SECTION
  13094. RJ FRV FETCH REGISTER VALUE
  13095. NZ X2,DPN2 IF NO REGISTER VALUE, RETURN
  13096. ZR X6,DPN2 IF NO PVA GIVEN
  13097. RJ EVA EXPAND VIRTUAL ADDRESS
  13098. ZR X2,DPN2 IF NIL POINTER
  13099. SA7 DPNA
  13100. SB2 A7
  13101. RJ SVA CONVERT TO SVA
  13102. SA6 DPNA SAVE CONVERTED SVA
  13103. RJ PVM POSITION VIRTUAL MEMORY
  13104. NZ X2,DPN2 IF NO REGISTER VALUE, RETURN
  13105. SA1 DPNA
  13106. SX6 32/8
  13107. RJ RMB READ MEMORY BYTES
  13108. SA0 BUF
  13109. SX5 32/2
  13110. SA1 A0+B1
  13111. MX2 -8
  13112. BX6 -X2*X1
  13113. SX6 X6-0#24 CHECK FOR *$*
  13114. NZ X6,DPN2 IF NO *$*, RETURN
  13115. SA2 =9HMODULE =
  13116. SB6 9
  13117. SB7 PRBF+12
  13118. RJ UPS UNPACK STRING
  13119. DPN1 SA2 A0
  13120. SA0 A0+B1
  13121. LX2 59-15
  13122. SB6 B1+B1
  13123. RJ SAI SET ASCII INTERPRETATION
  13124. SX5 X5-1
  13125. NZ X5,DPN1 IF MORE TO DECODE
  13126. PRINT CCCH,B7-CCCH
  13127. JP DPNX RETURN
  13128.  
  13129. DPNA CON 0 PVA/SVA
  13130. CON 0 EXCHANGE PACKAGE
  13131. DPO SPACE 4,14
  13132. ** DPO - DUMP PP OVERLAY.
  13133. *
  13134. * ENTRY X3 = ABSOLUTE ADDRESS OF OVERLAY HEADER.
  13135. * X5 = RELATIVE ADDRESS OF OVERLAY HEADER.
  13136. *
  13137. * EXIT X6 = 0 IF ALL OVERLAYS DUMPED.
  13138. * .NE. 0 IF MORE OVERLAYS TO DUMP.
  13139. * X5 = ADDRESS OF NEXT OVERLAY HEADER.
  13140. *
  13141. * SAVES X - NONE.
  13142. * B - 1.
  13143. * A - 0.
  13144. *
  13145. * CALLS CTS, DOT, PCM, UPS.
  13146. *
  13147. * MACROS GETCM, PRINT.
  13148.  
  13149.  
  13150. DPO SUBR
  13151. SX0 X3 SAVE ABSOLUTE ADDRESS
  13152. RJ PCM
  13153. GETCM
  13154. ZR X6,DPOX IF FINISHED WITH OVERLAYS
  13155. SA6 DPOA SAVE OVERLAY HEADER
  13156. SX3 X0
  13157. RJ PCM POSITION TO OVERLAY HEADER AGAIN
  13158. PRINT (=2C )
  13159. SA2 DPOA
  13160. SB7 PRBF
  13161. SB6 3
  13162. RJ UPS STORE OVERLAY NAME IN PRINT STRING
  13163. SA2 =14H PP LENGTH =
  13164. SB6 14
  13165. RJ UPS STORE IN PRINT STRING
  13166. SA1 DPOA
  13167. SX3 X1 CM LENGTH
  13168. IX6 X3+X5
  13169. ZR X3,ERR19 IF LENGTH EQUALS ZERO
  13170. SX7 X5+
  13171. SA6 DPOB+1 LWA+1
  13172. SA7 A6-B1 FWA
  13173. AX1 24
  13174. SX6 X1 PP LOAD ADDRESS
  13175. SA6 A6+B1 STARTING ORDINAL
  13176. SX4 5
  13177. IX1 X3*X4 PP LENGTH
  13178. LX1 -12
  13179. SB6 4
  13180. RJ CTS STORE PP LENGTH IN PRINT STRING
  13181. PRINT CCCH,B7-CCCH
  13182. PRINT (=2C )
  13183. SB2 DPOB
  13184. RJ DOT DUMP ORDINAL TABLE
  13185. SA5 DPOB+1 ADDRESS OF NEXT OVERLAY HEADER
  13186. SX6 1 INDICATE MORE OVERLAYS TO DUMP
  13187. JP DPOX EXIT
  13188.  
  13189. DPOA BSS 1 OVERLAY HEADER
  13190. DPOB VFD 60/0 FWA
  13191. VFD 60/0 LWA+1
  13192. VFD 60/0 STARTING ORDINAL
  13193. VFD 60/5*2 ORDINAL INCREMENT
  13194. VFD 24/0,18/4,18/5 FORMAT CONTROL
  13195. DPP SPACE 4,12
  13196. ** DPP - DUMP PPU/FLPP IN *P* FORMAT.
  13197. *
  13198. * ENTRY PD = NUMBER OF LINES PER PAGE.
  13199. * DUMP FILE POSITIONED TO CORRECT PPU/FLPP RECORD.
  13200. *
  13201. * USES X - 1, 2, 5, 6.
  13202. * A - 0, 1, 2, 6.
  13203. * B - 6, 7.
  13204. *
  13205. * CALLS CPS, CTS, FOL, RBT, UPS.
  13206. *
  13207. * MACROS PRINT.
  13208.  
  13209.  
  13210. DPP SUBR
  13211. BX6 X6-X6
  13212. SA6 NXBA INITIALIZE *NXB*
  13213. SA6 A6+B1
  13214. ERRNZ NXBB-NXBA-1 CODE REQUIRES CONTIGUOUS LOCATIONS
  13215. SA6 RBTA INITIALIZE BYTE READING ROUTINE
  13216. SA6 FW CLEAR ADDRESS COUNTER
  13217.  
  13218. * FORMAT 2 SIDE BY SIDE BLOCKS.
  13219.  
  13220. DPP1 SX1 10
  13221. RJ CPS CHECK PAGE SPACE
  13222. PRINT (=2C )
  13223. SA2 DPPA
  13224. SB6 121
  13225. SB7 PRBF
  13226. RJ UPS SET HEADER LINE
  13227. SA1 FW ADDRESS COUNTER
  13228. LX1 -9
  13229. SB6 3
  13230. SB7 PRBF+4
  13231. RJ CTS SET ADDRESS IN LEFT BLOCK
  13232. SX1 X1+B1
  13233. LX1 -9
  13234. SB6 3
  13235. SB7 PRBF+68
  13236. RJ CTS SET ADDRESS IN RIGHT BLOCK
  13237. PRINT CCCH,122
  13238. SA0 200B
  13239. RJ RBT READ NEXT 200B BYTES
  13240. SX5 0 ROW COUNTER
  13241. SX6 1R
  13242. SA6 PRBF+4 BLANK OUT ADDRESS CHARACTERS
  13243. SA6 A6+B1
  13244. SA6 A6+B1
  13245. SA6 PRBF+68
  13246. SA6 A6+B1
  13247. SA6 A6+B1
  13248. DPP2 RJ FOL FORMAT ONE LINE
  13249. SX5 X5+1
  13250. SX6 X5-10B
  13251. NG X6,DPP2 IF MORE ROWS TO FORMAT
  13252. PRINT (=2C )
  13253. SA1 FW
  13254. SX6 X1+2
  13255. SA6 A1+ ADVANCE ADDRESS COUNTER
  13256. SA1 PS PP MEMORY SIZE
  13257. AX1 6
  13258. IX6 X6-X1
  13259. NG X6,DPP1 IF MORE TO FORMAT
  13260. EQ DPPX EXIT
  13261.  
  13262.  
  13263. DPPA BSS 0 *P* FORMAT HEADER LINE
  13264. DATA 50H XX 0X 1X 2X 3X 4X 5X 6
  13265. DATA 50HX 7X XX 0X 1X 2X 3X
  13266. DATA 21C 4X 5X 6X 7X
  13267. DPQ SPACE 4,12
  13268. ** DPQ - DUMP PPU/FLPP IN *Q* FORMAT.
  13269. *
  13270. * ENTRY (APPG) = PP DATA IN *PBUF*, IF NONZERO.
  13271. *
  13272. * USES X - 1, 4, 6.
  13273. * A - 0, 4, 6.
  13274. * B - 2, 5, 7.
  13275. *
  13276. * CALLS DTQ, RBT, SRD, SSB.
  13277. *
  13278. * MACROS PRINT.
  13279.  
  13280.  
  13281. DPQ SUBR
  13282. RJ SSB CLEAR PRINT STRING BUFFER
  13283. BX6 X6-X6
  13284. SA6 NXBA INITIALIZE *NXB*
  13285. SA6 A6+B1
  13286. SA6 RBTA INITIALIZE BYTE READING ROUTINE
  13287. SA6 FW CLEAR ADDRESS
  13288. SA4 APPG
  13289. ZR X4,DPQ0 IF DATA IS NOT IN *PBUF*
  13290. SX6 PBUF-1
  13291. SA6 RBTB
  13292. DPQ0 MX6 1
  13293. SA6 SRDA INITIALIZE REPEAT DATA SENSING ROUTINE
  13294. DPQ1 SA0 20B
  13295. RJ RBT READ 20B BYTES
  13296. SB5 20B WORD COUNT
  13297. SX1 BUF DATA ADDRESS
  13298. RJ SRD SENSE REPEAT DATA
  13299. NZ X1,DPQ2 IF REPEAT DATA
  13300. SA4 FW SET ADDRESS
  13301. SB2 BUF BYTE BUFFER ADDRESS
  13302. SB7 PRBF PRINT STRING ADDRESS
  13303. RJ DTQ DUMP TEN BYTES *Q* FORMAT
  13304. SB7 B7+3 SPACE 3
  13305. SX4 X4+10B ADVANCE ADDRESS
  13306. RJ DTQ DUMP NEXT TEN BYTES
  13307. PRINT CCCH,B7-CCCH
  13308. DPQ2 SA1 FW
  13309. SX6 X1+20B ADVANCE ADDRESS
  13310. SA6 A1
  13311. SA1 PS PP MEMORY SIZE
  13312. IX6 X6-X1
  13313. NG X6,DPQ1 IF MORE TO DUMP
  13314. SX6 B0+
  13315. SA6 RBTB
  13316. JP DPQX EXIT
  13317. DRT SPACE 4,10
  13318. ** DRT - DETERMINE RECORD TYPE.
  13319. *
  13320. * ENTRY (X1) = RECORD IDENTIFIER.
  13321. *
  13322. * EXIT (B3) = ADDRESS OF ROUTINE TO PROCESS RECORD.
  13323. *
  13324. * USES X - 0, 2, 3, 4.
  13325. * B - 3, 6.
  13326. * A - 2.
  13327.  
  13328.  
  13329. DRT SUBR ENTRY/EXIT
  13330. MX0 18 SEARCH MASK
  13331. SB6 B0 SEARCH INDEX
  13332. DRT1 SA2 DRTA+B6
  13333. BX3 X2-X1
  13334. BX3 X0*X3
  13335. BX4 X0*X2
  13336. SB6 B6+B1
  13337. SB3 X2
  13338. ZR X4,DRTX IF LAST TABLE ENTRY
  13339. NZ X3,DRT1 IF NO MATCH
  13340. EQ DRTX RETURN
  13341.  
  13342.  
  13343. DRTA VFD 18/3LCCM,24/0,18/CCM
  13344. VFD 18/3LCCR,24/0,18/CCR
  13345. VFD 18/3LPSR,24/0,18/PCS
  13346. VFD 18/3LCM ,24/0,18/CMP
  13347. VFD 18/3LD00,24/0,18/DNN
  13348. VFD 18/3LD01,24/0,18/DNN
  13349. VFD 18/3LD02,24/0,18/DNN
  13350. VFD 18/3LD03,24/0,18/DNN
  13351. VFD 18/3LD04,24/0,18/DNN
  13352. VFD 18/3LD05,24/0,18/DNN
  13353. VFD 18/3LD06,24/0,18/DNN
  13354. VFD 18/3LD07,24/0,18/DNN
  13355. VFD 18/3LD10,24/0,18/DNN
  13356. VFD 18/3LD11,24/0,18/DNN
  13357. VFD 18/3LECS,24/0,18/ECS
  13358. VFD 18/3LEIC,24/0,18/EIC
  13359. VFD 18/3LESM,24/0,18/ESM
  13360. VFD 18/3LIMR,24/0,18/IMR
  13361. VFD 18/3LI00,24/0,18/INN
  13362. VFD 18/3LI01,24/0,18/INN
  13363. VFD 18/3LI02,24/0,18/INN
  13364. VFD 18/3LI03,24/0,18/INN
  13365. VFD 18/3LI04,24/0,18/INN
  13366. VFD 18/3LI05,24/0,18/INN
  13367. VFD 18/3LI06,24/0,18/INN
  13368. VFD 18/3LI07,24/0,18/INN
  13369. VFD 18/3LI10,24/0,18/INN
  13370. VFD 18/3LI11,24/0,18/INN
  13371. VFD 18/3LI20,24/0,18/INN
  13372. VFD 18/3LI21,24/0,18/INN
  13373. VFD 18/3LI22,24/0,18/INN
  13374. VFD 18/3LI23,24/0,18/INN
  13375. VFD 18/3LI24,24/0,18/INN
  13376. VFD 18/3LI25,24/0,18/INN
  13377. VFD 18/3LI26,24/0,18/INN
  13378. VFD 18/3LI27,24/0,18/INN
  13379. VFD 18/3LI30,24/0,18/INN
  13380. VFD 18/3LI31,24/0,18/INN
  13381. VFD 18/3LMMR,24/0,18/MMR
  13382. VFD 18/3LMEM,24/0,18/MEM
  13383. VFD 18/3LPMR,24/0,18/PMR
  13384. VFD 18/3LPRF,24/0,18/PRF
  13385. VFD 18/3LPCS,24/0,18/PCS
  13386. VFD 18/3LPCD,24/0,18/PCS
  13387. VFD 18/3LPSC,24/0,18/PCS
  13388. VFD 18/3LPDC,24/0,18/PCS
  13389. VFD 18/3LPBD,24/0,18/PCS
  13390. VFD 18/3LPIS,24/0,18/PCS
  13391. VFD 18/3LPCM,24/0,18/PCS
  13392. VFD 18/3LPCW,24/0,18/PCS
  13393. VFD 18/3LPOC,24/0,18/PCS
  13394. VFD 18/3LPPM,24/0,18/PCS
  13395. VFD 18/3LPRG,24/0,18/PCS
  13396. VFD 18/3LPRH,24/0,18/PCS
  13397. VFD 18/3LPSM,24/0,18/PCS
  13398. VFD 18/3LPXP,24/0,18/PRX
  13399. VFD 18/3LDSB,24/0,18/PCS
  13400. VFD 18/0#564F4C/1S6,24/0,18/VOL
  13401. VFD 18/0,24/0,18/OTH
  13402. DSM SPACE 4,20
  13403. ** DSM - DUMP SIXTY-FOUR BIT MEMORY.
  13404. *
  13405. * ENTRY (B2) = ADDRESS OF PARAMETER LIST.
  13406. * (B2+0) = FWA OF DUMP.
  13407. * (B2+1) = LWA OF DUMP.
  13408. * (B2+2) = DUMP FORMAT.
  13409. * 0 = I TYPE FORMAT.
  13410. * 2 = W TYPE FORMAT.
  13411. *
  13412. * USES X - ALL.
  13413. * A - 0, 1, 2, 3, 4, 6, 7.
  13414. * B - 2, 4, 5, 6, 7.
  13415. *
  13416. * CALLS CPC, FBB, HTS, ISM, NXB, PBB, SAI, SFP, SRD, SSB.
  13417. *
  13418. * MACROS MOVE, PRINT.
  13419.  
  13420.  
  13421. DSM SUBR ENTRY/EXIT
  13422. MOVE 3,B2,DSMB
  13423. RJ SSB SPACE FILL BUFFER
  13424. SA1 DSMB
  13425. SA2 A1+B1 COMPARE ADDRESSES
  13426. IX7 X1-X2
  13427. PL X7,ERR6 IF LWA .LE. FWA
  13428. BX6 X1
  13429. AX6 32 POSITION ASID
  13430. SA3 XB
  13431. ZR X6,DSM1 IF NO ASID SPECIFIED
  13432. SB4 X6
  13433. NE B4,B1,DSM2 IF ASID .NE. 1
  13434. MX7 -32
  13435. BX6 -X7*X1 CLEAR ASID
  13436. BX7 -X7*X2
  13437. SA6 A1 UPDATE FWA OF DUMP
  13438. SA7 A2
  13439. BX6 X3 FORCE RELATIVE *EI* ADDRESSING
  13440. SX1 B0
  13441. SA6 EI
  13442. DSM1 SB2 DSMB SET PARAMETER BLOCK ADDRESS
  13443. IX1 X1-X3
  13444. BX7 X3
  13445. NG X1,DSM2 IF FWA BELOW MEMORY BOUNDS
  13446. SA7 AO
  13447. DSM2 RJ ISM INITIALIZE FOR 64-BIT DUMP
  13448. MX6 1
  13449. SA6 SRDA SET INITIAL CALL TO *SRD*
  13450. SA3 B2+B1
  13451. SA4 A3+B1 FETCH DUMP TYPE
  13452. SA2 B2
  13453. ZR X4,DSM3 IF I-TYPE DUMP
  13454. MX1 -5
  13455. BX2 X1*X2
  13456. BX6 X2
  13457. SA6 A2 ROUND DOWN TO 32 BYTE BLOCK
  13458. DSM3 BX6 X2
  13459. AX6 32
  13460. NZ X6,DSM4 IF ASID SPECIFIED
  13461. SA4 XL
  13462. IX4 X4-X3
  13463. BX1 X4
  13464. AX1 60
  13465. BX4 X1*X4
  13466. IX6 X3+X4 SET ACTUAL MEMORY SIZE IF LWA TOO LARGE
  13467. SA6 A3
  13468. IX6 X6-X2
  13469. NG X6,ERR19.1 IF FWA BEYOND ACTUAL MEMORY SIZE
  13470. DSM4 ZR X6,DSMX IF NO MEMORY TO DUMP
  13471. RJ SFP SEARCH FOR STARTING PAGE
  13472. PL X3,DSMX IF NO MEMORY TO DUMP
  13473. SA1 DSMB+2 DUMP TYPE
  13474. AX1 1
  13475. SB2 X1
  13476. NZ B2,DSM6 IF W-TYPE DUMP
  13477.  
  13478. * PROCESS I TYPE DUMP.
  13479.  
  13480. DSM5 SB2 DSMB PARAMETER BLOCK
  13481. RJ FBB FILL BYTE BUFFER
  13482. SB2 DSMB PARAMETER BLOCK
  13483. RJ PBB PRINT BYTE BUFFER
  13484. SA1 DSMB
  13485. SA2 A1+B1
  13486. IX6 X1-X2
  13487. PL X6,DSMX IF NO MORE TO DUMP
  13488. SB2 DSMB
  13489. RJ CPC CHECK PAGE CHANGE
  13490. NG X3,DSM5 IF VALID PAGE
  13491. RJ SFP SEARCH FOR PAGE
  13492. NG X3,DSM5 IF PAGE FOUND
  13493. JP DSMX RETURN
  13494.  
  13495. * PROCESS W TYPE DUMP.
  13496.  
  13497. DSM6 SA0 0
  13498. SX5 -8
  13499. DSM7 RJ NXB GET NEXT BYTE
  13500. BX0 X1
  13501. LX0 16
  13502. RJ NXB
  13503. BX6 X0+X1
  13504. SA6 A0+BUF
  13505. SX5 X5+B1
  13506. SA1 DSMB INCREMENT BYTE ADDRESS
  13507. SX2 4
  13508. SA0 A0+B1 ADVANCE BUFFER POINTER
  13509. IX6 X2+X1
  13510. SA6 A1
  13511. NG X5,DSM7 IF MORE BYTES TO COLLECT
  13512. SB5 8
  13513. SX1 BUF
  13514. RJ SRD SENSE FOR REPEATED DATA
  13515. NZ X1,DSM9 IF REPEAT DATA
  13516. SA1 DSMB
  13517. SX2 32
  13518. IX1 X1-X2
  13519. LX1 -8*4
  13520. SB6 8
  13521. SB7 PRBF STRING POSITION FOR ADDRESS
  13522. RJ HTS DISPLAY HEX ADDRESS
  13523. SA1 BUF
  13524. SB5 PRBF+80
  13525. SB4 4
  13526. SB7 B7+2
  13527. DSM8 LX1 28
  13528. SB6 8
  13529. RJ HTS DISPLAY FIRST HALF OF WORD
  13530. SA1 A1+B1
  13531. LX1 28
  13532. SB6 8
  13533. RJ HTS DISPLAY SECOND HALF OF WORD
  13534. SB2 B7+2
  13535. SB7 B5
  13536. SB5 B2
  13537. SA2 A1-B1 PRINT ASCII REPRESENTATION OF THE WORD
  13538. SB6 4
  13539. LX2 28
  13540. RJ SAI SET ASCII INTERPRETATION
  13541. SA2 A2+B1
  13542. SB6 4
  13543. LX2 28
  13544. RJ SAI SET ASCII INTERPRETATION
  13545. SB2 B7
  13546. SB7 B5
  13547. SB5 B2+B1
  13548. SB4 B4-B1
  13549. SA1 A2+B1
  13550. NZ B4,DSM8 IF LINE NOT COMPLETE
  13551. PRINT CCCH,B5-CCCH-1
  13552. DSM9 SA1 DSMB
  13553. SA2 A1+B1
  13554. IX3 X1-X2
  13555. PL X3,DSMX IF NO MORE LINES TO FORMAT
  13556. SB2 DSMB
  13557. RJ CPC CHECK PAGE CHANGE
  13558. NG X3,DSM6 IF PAGE PRESENT
  13559. RJ SFP SEARCH FOR PAGE
  13560. PL X3,DSMX IF NO MORE PAGES PRESENT
  13561. SX6 -1
  13562. SA6 SRDA RESET SRD
  13563. EQ DSM6 CONTINUE DUMP
  13564.  
  13565.  
  13566. DSMB CON 0 FWA OF DUMP
  13567. DATA 0 LWA OF DUMP
  13568. DATA 0 DUMP FORMAT
  13569. DSP SPACE 4,25
  13570. ** DSP - DUMP 16-BIT PP.
  13571. *
  13572. * ENTRY PBUF = ENTIRE PP IMAGE.
  13573. * (X1) = FWA TO DUMP.
  13574. * (A1) = ADDRESS OF PARAMETER LIST AS FOLLOWS -
  13575. * WORD 0 = FWA TO DUMP.
  13576. * WORD 1 = LWA+1 TO DUMP.
  13577. * WORD 2 = 0 IF NOT R-REGISTER DUMP.
  13578. * NONZERO IF R-REGISTER DUMP.
  13579. * WORD 3 = DUMP FORMAT CODE.
  13580. * 0 = OCTAL BLOCK.
  13581. * 1 = HEX BLOCK.
  13582. * 2 = OCTAL LINE DISPLAY INTERPRETATION.
  13583. * 3 = OCTAL LINE ASCII INTERPRETATION.
  13584. * 4 = HEX LINE DISPLAY INTERPRETATION.
  13585. * 5 = HEX LINE ASCII INTERPRETATION.
  13586. *
  13587. * USES X - 0, 1, 2, 3, 4, 5, 6.
  13588. * A - 1, 2, 3, 4, 5, 6.
  13589. * B - 2, 6, 7.
  13590. *
  13591. * CALLS CTS, GRV, HTS, IOQ, IPO, IPX, SSB, UPS.
  13592. *
  13593. * MACROS MOVE, PRINT.
  13594.  
  13595.  
  13596. DSP SUBR ENTRY/EXIT
  13597. SB2 A1
  13598. MOVE 4,B2,DSPB COPY PARAMETER BLOCK
  13599. SA2 DSPB+1 LWA OF DUMP
  13600. SA4 K4 CONTROLLER TYPE
  13601. SA3 X4+/DIRECT/TCTP
  13602. MX0 -18
  13603. AX3 18
  13604. BX3 -X0*X3
  13605. IX1 X3-X2
  13606. BX3 X1
  13607. AX1 60
  13608. BX3 X1*X3
  13609. IX6 X2+X3 LWA IS .LE. 20000B
  13610. SA6 A2
  13611. SA1 A2-B1 FWA OF DUMP
  13612. IX6 X1-X6
  13613. PL X6,ERR6 IF LWA .LT. FWA
  13614. SA1 DSPB+3 DUMP FORMAT
  13615. SA5 X1+DSPD CORRESPONDING ASCII/DISPLAY HEX/OCTAL FLAGS
  13616. SA2 TF
  13617. SX6 8 BYTES PER LINE FOR A PRINTER FILE
  13618. ZR X2,DSP1 IF NOT A TERMINAL FILE
  13619. SX6 4 BYTES PER LINE FOR TERMINAL
  13620. DSP1 SA6 DSPC SET BYTES PER LINE
  13621. BX6 X5
  13622. SA6 A6+B1 SAVE ASCII/DISPLAY, HEX/OCTAL FLAGS
  13623. SA1 A1-B1
  13624. ZR X1,DSP5 IF NOT TO DISPLAY THE R REGISTER
  13625. RJ SSB
  13626. SB7 PRBF
  13627. SA2 =C* R REGISTER = *
  13628. SB6 14
  13629. RJ UPS UNPACK STRING
  13630. RJ GRV GET R-REGISTER VALUE
  13631. NZ X5,DSP3 IF OCTAL DISPLAY
  13632. SB6 6 DISPLAY 6 HEX DIGITS
  13633. RJ HTS
  13634. EQ DSP4 PRINT REGISTER
  13635.  
  13636. DSP3 SB6 8 DISPLAY 8 OCTAL DIGITS
  13637. RJ CTS
  13638. DSP4 PRINT CCCH,B7-CCCH * R REGISTER = NNNNNN*
  13639. DSP5 RJ SSB
  13640. SA1 DSPB+3 DUMP FORMAT
  13641. SB2 X1
  13642. ZR B2,IPO IF IOU DUMP IN OCTAL BLOCK
  13643. EQ B2,B1,IPX IF IOU DUMP IN HEX BLOCK
  13644. MX6 1 INITIALIZE *SRD*
  13645. SA6 SRDA
  13646. RJ IOQ DISPLAY IOU IN LINE FORMAT
  13647. EQ DSPX RETURN
  13648.  
  13649.  
  13650. DSPB BSS 4
  13651. DSPC DATA 0 BYTES PER LINE (IOQ)
  13652. DATA 0 OCTAL/HEX, ASCII/DISPLAY FLAG
  13653. DSPD CON 1 OCTAL FORMAT
  13654. CON 0 HEX FORMAT
  13655. CON -1 OCTAL AND DISPLAY
  13656. CON 1 OCTAL AND ASCII
  13657. CON -0 HEX AND DISPLAY
  13658. CON 0 HEX AND ASCII
  13659. DSS SPACE 4,18
  13660. ** DSS - DUMP SUB-SYSTEM.
  13661. *
  13662. * ENTRY (X5) = FIRST ENTRY IN PARAMETER BLOCK.
  13663. * (A5) = PARAMETER BLOCK ADDRESS.
  13664. *T 60/ DEFAULT LIST OPTIONS
  13665. *T 36/ ,6/ OPT,18/ PROCESSOR ADD
  13666. *T 36/ ,6/ OPT,18/ PROCESSOR ADD
  13667. * . . .
  13668. * . . .
  13669. * . . .
  13670. *T 60/ ZERO WORD TERMINATES BLOCK
  13671. * (CH) = DIRECTIVE STRING POINTER.
  13672. *
  13673. * USES X - 1, 2, 3, 6, 7.
  13674. * A - 0, 1, 2, 6, 7.
  13675. * B - 2.
  13676. *
  13677. * CALLS ASN, SNO, LIST OPTION PROCESSORS.
  13678.  
  13679.  
  13680. DSS SUBR
  13681. BX6 X5 PRESET DEFAULT
  13682. SA1 CH
  13683. SA2 X1
  13684. SX3 X2-1R.
  13685. ZR X3,DSS1 IF TERMINATOR ALREADY DETECTED
  13686. RJ ASN ASSEMBLE LIST OPTIONS
  13687. SA1 CH
  13688. SA1 X1
  13689. SX2 X1-1R.
  13690. NZ X2,ERR6 IF NOT END OF DIRECTIVE
  13691. DSS1 SA6 DSSA
  13692. SX7 A5+1
  13693. SA7 DSSB
  13694. DSS2 SA2 DSSB
  13695. SB2 X2+
  13696. SA1 DSSA
  13697. RJ SNO SELECT NEXT LIST OPTION
  13698. ZR X3,DSSX IF NO MORE LIST OPTIONS SELECTED
  13699. SA0 DSS2 SET RETURN ADDRESS
  13700. JP B3 EXECUTE SELECTED PROCESSOR
  13701.  
  13702. DSSA BSS 1 OPTIONS TO PROCESS
  13703. DSSB BSS 1 PROCESSOR TABLE ADDRESS
  13704. DST SPACE 4,15
  13705. ** DST - DUMP STAGING TABLE.
  13706. *
  13707. * ENTRY (X6) = (FWA).
  13708. * (X7) = (LWA+1).
  13709. *
  13710. * EXIT TABLE DUMPED.
  13711. *
  13712. * USES X - 1, 2, 3, 4, 6, 7.
  13713. * A - 1, 2, 6, 7.
  13714. * B - 2.
  13715. *
  13716. * CALLS DOT, PCM.
  13717.  
  13718.  
  13719. DST SUBR ENTRY/EXIT
  13720. IX4 X7-X6
  13721. NG X4,DSTX IF (LWA+1) .LT. (FWA)
  13722. NZ X4,DST1 IF (LWA+1) .NE. (FWA)
  13723. SX7 X7+1
  13724. DST1 SA6 DSTA
  13725. SA7 A6+1
  13726. SA1 A6
  13727. SA2 RC
  13728. IX3 X1+X2
  13729. RJ PCM POSITION TO TABLE
  13730. SB2 DSTA
  13731. RJ DOT DUMP ORDINAL TABLE
  13732. EQ DSTX RETURN
  13733.  
  13734.  
  13735. DSTA VFD 60/0 FWA
  13736. VFD 60/0 LWA+1
  13737. VFD 60/0 STARTING ORDINAL
  13738. VFD 60/2 ORDINAL INCREMENT
  13739. VFD 24/0,18/4,18/5 FORMAT CONTROL
  13740. DTB SPACE 4,20
  13741. ** DTB - DUMP TABLE.
  13742. *
  13743. * ENTRY (X4) = 0, IF READ FROM DUMP FILE.
  13744. * = DATA ADDRESS, IF READ FROM CORE.
  13745. * (X5) = TABLE DESCRIPTION ADDRESS.
  13746. * (X6) = FWA OF TABLE.
  13747. * (X7) = LWA+1 OF TABLE.
  13748. * (B3) .GE. 0, IF FORMAT CODE.
  13749. * = -1, IF NOT FIRST TABLE.
  13750. *
  13751. * EXIT (CPRA - CPRA+7) SET.
  13752. *
  13753. * USES X - 6, 7.
  13754. * A - 6, 7.
  13755. * B - 2.
  13756. *
  13757. * CALLS LDC, PMD, POM, SCM, SRA.
  13758. *
  13759. * MACROS PRINT.
  13760.  
  13761.  
  13762. DTB SUBR ENTRY/EXIT
  13763. SA6 CPRA SET FWA OF TABLE
  13764. SA7 CPRA+1 SET LWA+1 OF TABLE
  13765. SX6 X4+ SET DUMP DATA LOCATION
  13766. SA6 CPRA+2
  13767. NG B3,DTB1 IF NOT FIRST TABLE
  13768. RJ SCM SET CENTRAL MEMORY
  13769. SX6 B3 SET FORMAT CODE
  13770. SA6 CPRA+4
  13771. BX6 X6-X6
  13772. RJ SRA SET REFERENCE ADDRESS
  13773. RJ LDC LIST DIRECTIVE CARD
  13774. DTB1 PRINT (=2C )
  13775. PRINT X5 PRINT TABLE DESCRIPTION
  13776. PRINT (=2C )
  13777. SB2 CPRA SET FWA OF TABLE
  13778. RJ POM POSITION DUMP FILE
  13779. SB2 CPRA RESET FWA OF TABLE
  13780. RJ PMD PROCESS MEMORY DUMP
  13781. EQ DTBX RETURN
  13782. DTC SPACE 4,12
  13783. ** DTC - DUMP IAF COMMAND TABLE.
  13784. *
  13785. * ENTRY (A0) = RETURN ADDRESS.
  13786. * (RC) = CONTROL POINT REFERENCE ADDRESS.
  13787. *
  13788. * USES X - 1, 2, 3, 4, 5, 6, 7.
  13789. * A - 1, 2, 5, 6.
  13790. * B - 2, 6, 7.
  13791. *
  13792. * CALLS CPS, CTS, PCM, PCW, SSB, UPS.
  13793. *
  13794. * MACROS GETCM, PRINT.
  13795.  
  13796.  
  13797. DTC PRINT (=2C )
  13798. PRINT (=C* IAF COMMAND TABLE*)
  13799. PRINT (=2C )
  13800. SA1 SSBF+/REM/VCTP
  13801. SX7 X1 LWA+1
  13802. AX1 24
  13803. SX6 X1 FWA
  13804. IX5 X7-X6
  13805. NG X5,DTC2 IF (LWA+1) .LT. (FWA)
  13806. SA6 DTCA SAVE FWA OF FIRST COMMAND
  13807. SX4 X6
  13808. AX5 1 NUMBER OF COMMANDS
  13809. SA1 RC
  13810. IX3 X1+X4
  13811. RJ PCM POSITION TO FIRST COMMAND
  13812. SX1 3
  13813. RJ CPS CHECK PAGE SPACE
  13814. PRINT DTCB SET HEADER LINE 1
  13815. PRINT DTCC SET HEADER LINE 2
  13816. PRINT (=2C )
  13817. DTC1 SX5 X5-1
  13818. NG X5,DTC3 IF ALL COMMANDS DUMPED
  13819. GETCM BUF,2
  13820. RJ SSB CLEAR PRINT STRING
  13821.  
  13822. * SET ADDRESS OF COMMAND.
  13823.  
  13824. SA1 DTCA
  13825. LX1 -21
  13826. SB6 7
  13827. SB7 PRBF
  13828. RJ CTS
  13829.  
  13830. * SET COMMAND.
  13831.  
  13832. SA2 BUF
  13833. SB6 7
  13834. SB7 PRBF+12
  13835. RJ UPS
  13836.  
  13837. * SET PROCESSOR ADDRESS.
  13838.  
  13839. BX1 X2
  13840. SB6 6
  13841. SB7 PRBF+25
  13842. RJ CTS
  13843.  
  13844. * SET FLAGS.
  13845.  
  13846. SA1 BUF+1
  13847. SB6 2
  13848. SB7 PRBF+39
  13849. RJ CTS
  13850.  
  13851. * SET NUMBER OF PARAMETERS.
  13852.  
  13853. SB6 2
  13854. SB7 PRBF+52
  13855. RJ CTS
  13856.  
  13857. * SET SUBSYSTEMS.
  13858.  
  13859. SB6 6
  13860. SB7 PRBF+64
  13861. LX1 12
  13862. RJ CTS
  13863.  
  13864. * SET OCCURENCES.
  13865.  
  13866. SB6 6
  13867. SB7 PRBF+79
  13868. RJ CTS
  13869. PRINT CCCH,B7-CCCH
  13870. SA1 DTCA
  13871. SX6 X1+2
  13872. SA6 A1 UPDATE ADDRESS OF COMMAND
  13873. JP DTC1
  13874.  
  13875. DTC2 SA5 DTCD
  13876. RJ PCW PRINT CONTENTS OF *VCTP* WORD
  13877. DTC3 SB2 A0
  13878. JP B2 RETURN
  13879.  
  13880. DTCA BSS 1 ADDRESS OF COMMAND
  13881. DTCB BSS 0 HEADER LINE 1
  13882. DATA 50H COMMAND PROCESSOR FLAGS N
  13883. DATA 39CUMBER OF SUBSYSTEMS OCCURENCES
  13884. DTCC BSS 0 HEADER LINE 2
  13885. DATA 50H ADDRESS P
  13886. DATA 9CARAMETERS
  13887. DTCD VFD 36/6L*VCTP*,6/0,18//REM/VCTP
  13888. DATA 40HIAF COMMAND TABLE FWA, LWA+1
  13889. VFD 60/0
  13890. DTE SPACE 4,9
  13891. ** DTE - DUMP IAF REENTRY TABLE.
  13892. *
  13893. * ENTRY A0 = RETURN ADDRESS.
  13894. *
  13895. * SAVES X - NONE.
  13896. * B - 1.
  13897. * A - 0.
  13898. *
  13899. * CALLS DOT, PCM, PCW.
  13900. *
  13901. * MACROS PRINT.
  13902.  
  13903.  
  13904. DTE PRINT (=2C )
  13905. PRINT (=C* IAF REENTRY TABLE*)
  13906. PRINT (=2C )
  13907. SA1 SSBF+/REM/VRAP
  13908. SX7 X1 LWA+1
  13909. AX1 24
  13910. SX3 X1 FWA
  13911. IX4 X7-X3
  13912. NG X4,DTE2 IF (LWA+1) .LT. (FWA)
  13913. SX6 X3+B1 START WITH FWA+1 - 1ST TERMINAL NOT NEEDED
  13914. IX4 X7-X6
  13915. NG X4,DTE3 IF NOTHING TO DUMP
  13916. NZ X4,DTE1 IF (LWA+1) .GT. NEW FWA
  13917. SX7 X7+1
  13918. DTE1 SA6 DTEA
  13919. SA7 DTEA+1
  13920. SA1 DTEA
  13921. SA2 RC
  13922. IX3 X1+X2
  13923. RJ PCM POSITION TO REENTRY TABLE
  13924. SB2 DTEA
  13925. RJ DOT DUMP ORDINAL TABLE
  13926. JP DTE3
  13927.  
  13928. DTE2 SA5 DTEB
  13929. RJ PCW PRINT CONTENTS OF *VRAP* WORD
  13930. DTE3 SB2 A0
  13931. JP B2 RETURN
  13932.  
  13933. DTEA VFD 60/0 FWA
  13934. VFD 60/0 LWA+1
  13935. VFD 60/1 STARTING ORDINAL
  13936. VFD 60/2 ORDINAL INCREMENT
  13937. VFD 24/0,18/4,18/5 FORMAT CONTROL
  13938. DTEB VFD 36/6L*VRAP*,6/0,18//REM/VRAP PARAMETER LIST FOR PCW
  13939. DATA 40HIAF REENTRY TABLE FWA, LWA+1
  13940. VFD 60/0
  13941. DTI SPACE 4,15
  13942. ** DTI - DUMP TABLE WITH INTERPRETATION.
  13943. *
  13944. * ENTRY (B2) = TABLE POINTER.
  13945. * (X3) = SUBTITLE. MUST BE IN FORM *TBL 0000 *.
  13946. * (X5) = TABLE HEADER POINTER.
  13947. * (X6) = DESCRIPTOR TABLE POINTER.
  13948. * (X7) = TABLE ENTRY LENGTH.
  13949. *
  13950. * SAVES X - NONE.
  13951. * A - 0, 5.
  13952. * B - NONE.
  13953. *
  13954. * CALLS CEP, COD, GTD, LDC, POM, SCM, SRA, UPS.
  13955. *
  13956. * MACROS GETCM, PRINT.
  13957.  
  13958.  
  13959. DTI SUBR ENTRY/EXIT
  13960. SA6 DTIB SAVE DESCRIPTOR TABLE POINTER
  13961. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  13962. SA7 DTIA SAVE ENTRY LENGTH
  13963. SA1 F.TCMT GET POINTER WORD
  13964. SA1 X1+B2
  13965. LX1 24
  13966. SX6 X1 SAVE TABLE FWA
  13967. LX1 12
  13968. SA6 FW
  13969. MX0 -12
  13970. BX6 -X0*X1 LAST ORDINAL + 1
  13971. SA6 CPRA+1
  13972. RJ SCM SET CENTRAL MEMORY
  13973. BX6 X3 RESET SUBTITLE
  13974. SA6 SBTL1
  13975. SX6 0
  13976. RJ SRA SET REFERENCE ADDRESS
  13977. RJ LDC LIST DIRECTIVE
  13978. SB2 FW
  13979. RJ POM POSITION TO FWA
  13980. SA1 FW
  13981. SA2 DTIA INITIALIZE ENTRY FWA FOR SEARCH
  13982. SX6 -B1
  13983. SA6 CPRA INITIALIZE ORDINAL
  13984. IX7 X1-X2
  13985. SA7 A1
  13986. PRINT X5 PRINT HEADER
  13987. DTI1 SA1 CPRA INCREMENT ORDINAL
  13988. SX7 X1+B1
  13989. SA7 A1
  13990. SA1 A1+B1
  13991. IX1 X1-X7
  13992. ZR X1,DTIX IF ENTIRE TABLE SCANNED
  13993. SA1 FW INCREMENT ENTRY FWA
  13994. SA2 DTIA
  13995. IX6 X1+X2
  13996. SA6 A1
  13997. GETCM BUF,X2 READ NEXT ENTRY
  13998. SA1 BUF
  13999. AX1 12
  14000. ZR X1,DTI1 IF UNUSED ENTRY
  14001. SA1 CPRA RESET SUBTITLE TABLE ORDINAL
  14002. SX1 X1+10000B GUARANTEE LEADING ZEROS
  14003. RJ COD
  14004. LX4 6-1 DISCARD LEADING DIGIT
  14005. AX4 24-1
  14006. SA1 SBTL1
  14007. AX1 36
  14008. LX1 36
  14009. BX6 X1+X4
  14010. SA6 A1
  14011. BX2 X6 DISPLAY ORDINAL
  14012. SB6 8
  14013. SB7 PRBF
  14014. RJ UPS
  14015. PRINT (=2C )
  14016. PRINT CCCH,9
  14017. SA1 FW
  14018. BX1 -X1
  14019. SB2 X1+BUF
  14020. SA1 DTIB GET DESCRIPTOR TABLE POINTER
  14021. SA1 X1
  14022. RJ GTD GENERATE DETAILED TABLE DUMP
  14023. EQ DTI1 CHECK NEXT ENTRY
  14024.  
  14025.  
  14026. DTIA CON 0 ENTRY LENGTH
  14027. DTIB CON 0 FWA OF DESCRIPTOR TABLE
  14028. DTL SPACE 4,10
  14029. ** DTL - DUMP IAF POT LINK TABLE AND POTS.
  14030. *
  14031. * ENTRY (A0) = RETURN ADDRESS.
  14032. *
  14033. * USES X - 1, 2, 3, 5, 6, 7.
  14034. * A - 1, 2, 3, 5, 6, 7.
  14035. * B - 2, 5, 6, 7.
  14036. *
  14037. * CALLS CTS, FDW, GFL, LDC, PCM, PMD, SCM, SRA, SRD, SSB, UPS.
  14038. *
  14039. * MACROS GETCM, PRINT.
  14040.  
  14041.  
  14042. DTL BSS 0 ENTRY
  14043. RJ SCM SET CENTRAL MEMORY
  14044. SX1 CPAS GET IAF FL, RA
  14045. RJ GFL
  14046. SA7 DTLA SAVE LWA+1 OF IAF FIELD LENGTH
  14047. RJ SRA SET IAF CONTROL POINT RA
  14048. RJ SSB CLEAR PRINT STRING BUFFER
  14049. RJ LDC FORCE PAGE EJECT
  14050.  
  14051. * DUMP POT LINK TABLE.
  14052.  
  14053. PRINT (=2C )
  14054. PRINT (=C* POT LINK TABLE*)
  14055. PRINT (=2C )
  14056. MX6 1 PRESET FIRST CALL TO *SRD*
  14057. SA6 SRDA
  14058. SX6 B0
  14059. SA6 DTLB CLEAR PLT LINK ORDINAL
  14060. SA6 SRDC+4 SET DASHED LINE TO 40 CHARACTERS
  14061. SA5 SSBF+/REM/VPLP GET PLT POINTER WORD
  14062. SA2 RC GET IAF REFERENCE ADDRESS
  14063. SX6 X5 SAVE LWA+1 PLT
  14064. SA6 LW
  14065. AX5 24 SAVE FWA PLT
  14066. SX6 X5
  14067. SA6 FW
  14068. SX3 X5
  14069. IX3 X2+X3
  14070. AX5 24
  14071. RJ PCM READ PLT INTO CORE
  14072. GETCM BUF,X5
  14073. DTL1 SA1 DTLB CHECK FOR REPEATED DATA
  14074. SX1 X1+BUF
  14075. SB5 1
  14076. RJ SRD
  14077. NZ X1,DTL2 IF REPEAT SENSED
  14078. SB6 6 FORMAT PLT WORD ADDRESS
  14079. SB7 PRBF
  14080. SA1 FW
  14081. LX1 -18
  14082. RJ CTS
  14083. SB7 B7+B1 FORMAT PLT LINK ORDINAL
  14084. SX6 1R+
  14085. SA6 B7
  14086. SB7 B7+B1
  14087. SA1 DTLB
  14088. LX1 -10
  14089. SB6 4
  14090. RJ CTS
  14091. SB7 B7+2 FORMAT PLT WORD
  14092. SA2 =4000005B
  14093. AX1 2
  14094. SA1 X1+BUF
  14095. RJ FDW
  14096. PRINT CCCH,B7-CCCH
  14097. DTL2 SA1 DTLB INCREMENT PLT INDEX
  14098. SX7 X1+B1
  14099. SA7 A1
  14100. SA1 FW INCREMENT PLT WORD ADDRESS
  14101. SX6 X1+1
  14102. SA6 A1
  14103. SA1 LW CHECK IF ALL OF PLT DUMPED
  14104. IX7 X6-X1
  14105. NG X7,DTL1 IF MORE TO DUMP
  14106. SA1 SRDC+3 RESET DASHED LINE TO 136 CHARACTERS
  14107. BX6 X1
  14108. SA6 A1+B1
  14109.  
  14110. * DUMP POTS IN *E* FORMAT.
  14111.  
  14112. PRINT (=2C )
  14113. PRINT (=C* POTS*)
  14114. PRINT (=2C )
  14115. SA3 SSBF+/REM/VBMP GET POT STORAGE FWA
  14116. SA2 RC GET IAF REFERENCE ADDRESS
  14117. SX6 X3
  14118. SA6 CPRA+1
  14119. IX3 X2+X3
  14120. RJ PCM POSITION TO POT STORAGE
  14121. SX6 2
  14122. SA6 CPRA+3 SET NO SUPPRESSION OF REPEATED DATA
  14123. SA6 A6+B1 SET *E* FORMAT
  14124. SX6 B0
  14125. SA6 CPRA+5 COMPUTE COLUMN LENGTH
  14126. SA6 CPRA+6 SET NO INVERTED ADDRESS
  14127. SA6 CPRA+2 SET TO DUMP FROM DUMP FILE
  14128. SX6 -1
  14129. SA6 DTLB PRESET POT NUMBER
  14130. DTL3 SB7 PRBF PRINT POT NUMBER
  14131. SA2 =4LPOT
  14132. SB6 4
  14133. RJ UPS
  14134. SB6 4
  14135. SA1 DTLB INCREMENT POT NUMBER
  14136. SX6 X1+B1
  14137. SA6 A1
  14138. SX1 X6
  14139. LX1 -12
  14140. RJ CTS
  14141. PRINT CCCH,B7-CCCH
  14142. SA1 CPRA+1 SET POT FWA
  14143. SX7 X1
  14144. SA7 A1-B1
  14145. SX6 X1+8 SET POT LWA+1
  14146. SA6 A1
  14147. SB2 A7
  14148. RJ PMD PROCESS MEMORY DUMP
  14149. SA2 DTLA LWA+1 OF IAF FL
  14150. SA1 CPRA+1 LWA+1 OF LAST DUMPED POT
  14151. IX5 X1-X2
  14152. ZR X5,DTL4 IF ALL POTS DUMPED
  14153. NG X5,DTL3 IF MORE TO DUMP
  14154. PRINT (=2C )
  14155. SB7 PRBF
  14156. SB6 49
  14157. SA2 =49L*********WARNING - LAST POT OVERFLOWS IAF FL BY
  14158. RJ UPS
  14159. SB6 1 PRINT POT OVERFLOW
  14160. SX1 X5
  14161. LX1 -3
  14162. RJ CTS
  14163. SA2 =5LWORDS
  14164. SB6 5
  14165. SB7 B7+B1
  14166. RJ UPS
  14167. DTL4 SB2 A0
  14168. JP B2 RETURN
  14169.  
  14170. DTLA BSS 1 LWA+1 OF POT MEMORY (LWA+1 IAF FL)
  14171. DTLB BSS 1 PLT INDEX AND LINK ORDINAL/POT NUMBER
  14172. DTP SPACE 4,7
  14173. ** DTP - DUMP IAF PPUS.
  14174. *
  14175. * ENTRY A0 = RETURN ADDRESS.
  14176. *
  14177. * USES ALL REGISTERS.
  14178. *
  14179. * CALLS ASP.
  14180.  
  14181.  
  14182. DTP SX6 DTPA
  14183. JP ASP
  14184.  
  14185. DTPA VFD 18/3LTLX,42/0
  14186. VFD 18/3L1TA,42/0
  14187. VFD 18/3L1TN,42/0
  14188. VFD 18/3L1TO,42/0
  14189. VFD 18/3L1RO,6/0,1/1,18/0,5/TXOT,12/0
  14190. VFD 18/3L1RI,6/0,1/1,18/0,5/TXOT,12/0
  14191. VFD 60/-1 END OF PARAMETER BLOCK
  14192. DTQ SPACE 4,13
  14193. ** DTQ - DUMP TEN BYTES IN *Q* FORMAT.
  14194. *
  14195. * ENTRY B2 = BYTE BUFFER ADDRESS.
  14196. * B7 = PRINT STRING ADDRESS.
  14197. * X4 = CURRENT PPU ADDRESS.
  14198. *
  14199. * EXIT B2 AND B7 ARE UPDATED.
  14200. *
  14201. * SAVES X - 3,4,5.
  14202. * B - NONE.
  14203. * A - 0,3,4,5.
  14204. *
  14205. * CALLS CTS,UPS.
  14206.  
  14207.  
  14208. DTQ SUBR
  14209. BX1 X4
  14210. LX1 -15
  14211. SB6 5
  14212. RJ CTS CONVERT ADDRESS
  14213. SB7 B7+2 SPACE 2
  14214. SB4 10B BYTE COUNTER
  14215. DTQ1 SA1 B2+ READ BYTE
  14216. SB6 4
  14217. NZ X1,DTQ2 IF NOT A ZERO BYTE
  14218. SA2 =4L----
  14219. RJ UPS STORE ZERO INDICATOR
  14220. JP DTQ3
  14221.  
  14222. DTQ2 RJ CTS CONVERT BYTE
  14223. DTQ3 SB7 B7+B1
  14224. SB2 B2+B1
  14225. SB4 B4-1 COUNT BYTE
  14226. NZ B4,DTQ1 IF MORE TO DUMP
  14227.  
  14228. * SET INTERPRETATION.
  14229.  
  14230. SB5 B2
  14231. MX0 -6
  14232. SB2 B2-10B
  14233. SB7 B7+1
  14234. DTQ4 SA1 B2+
  14235. SB3 2
  14236. DTQ5 LX1 6
  14237. BX6 -X0*X1
  14238. ZR X6,DTQ6 IF COLON
  14239. SX7 X6-60B
  14240. NG X7,DTQ7 IF NOT A PRINTER SLOWER DOWNER
  14241. DTQ6 SX6 1R
  14242. DTQ7 SA6 B7 STORE CHARACTER
  14243. SB7 B7+B1
  14244. SB3 B3-1
  14245. NZ B3,DTQ5 IF ONE MORE CHARACTER
  14246. SB2 B2+1
  14247. LT B2,B5,DTQ4 IF MORE TO INTERPRET
  14248. JP DTQX EXIT
  14249. DTT SPACE 4,10
  14250. ** DTT - DUMP IAF TERMINAL TABLES.
  14251. *
  14252. * ENTRY (A0) = RETURN ADDRESS.
  14253. * (RC) = CONTROL POINT REFERENCE ADDRESS.
  14254. * (TFMT) = MESSAGE STATUS TABLE FORMAT POINTERS.
  14255. * (TFTT) = TERMINAL TABLE FORMAT POINTERS.
  14256. *
  14257. * USES X - ALL.
  14258. * A - 1, 2, 5, 6, 7.
  14259. * B - 2, 6, 7.
  14260. *
  14261. * CALLS CTS, GTD, PCM, PCW, UPS.
  14262. *
  14263. * MACROS ALLOC, GETCM, PRINT.
  14264.  
  14265.  
  14266. DTT SX6 A0 SAVE RETURN ADDRESS
  14267. SA6 DTTF
  14268. PRINT (=2C )
  14269. PRINT (=C* IAF TERMINAL TABLES*)
  14270.  
  14271. * READ MESSAGE STATUS TABLE INTO CORE.
  14272.  
  14273. SA2 RC GET FWA MSG STATUS TABLE
  14274. SA1 SSBF+/REM/VMST
  14275. AX1 24
  14276. IX3 X1+X2
  14277. SA5 SSBF+/REM/VNTP GET FWA NETWORK ENTRIES
  14278. SB2 24D
  14279. AX0 X5,B2
  14280. SX6 X3+ PRESET FWA NETWORK ENTRIES
  14281. SA6 DTTE+1
  14282. SX6 X6-1
  14283. SA6 A6-B1
  14284. RJ PCM POSITION TO FIRST MST NETWORK ENTRY
  14285. IX2 X5-X0 SET NETWORK TERMINAL TABLE ENTRY COUNT
  14286. SX2 X2+B1
  14287. GETCM BUF+/REM/VTTL,X2
  14288.  
  14289. * INITIALIZE DUMP OF TERMINAL TABLES.
  14290.  
  14291. SA1 SSBF+/REM/VTTP
  14292. SX2 X1 LWA+1
  14293. AX1 24
  14294. SX6 X1 FWA
  14295. IX4 X2-X6
  14296. NG X4,DTT2 IF (LWA+1) .LT. (FWA)
  14297. SX6 X6-/REM/VTTL
  14298. SA6 DTTA PRESET FWA OF FIRST TABLE
  14299. SX5 /REM/VTTL
  14300. IX7 X4/X5
  14301. SX6 -1
  14302. SA7 DTTB TOTAL TERMINAL TABLES TO DUMP
  14303. SA6 DTTC PRESET TERMINAL NUMBER
  14304. SA2 RC
  14305. IX3 X1+X2
  14306. RJ PCM POSITION TO FIRST TERMINAL TABLE
  14307.  
  14308. * DUMP ONLY THOSE TERMINAL TABLES WITH IMPORTANT INFORMATION.
  14309.  
  14310. DTT1 SA2 DTTC UPDATE TERMINAL NUMBER
  14311. SX6 X2+1
  14312. SA6 A2
  14313. SA1 DTTB
  14314. IX3 X6-X1
  14315. ZR X3,DTT3 IF ALL TABLES DUMPED
  14316. SA1 DTTA SET NEXT TERMINAL FWA
  14317. SX6 X1+/REM/VTTL
  14318. SA6 DTTA
  14319. SA1 DTTE INCREMENT MSG STATUS TABLE INDEX
  14320. SX6 X1+B1
  14321. SA6 A1
  14322. GETCM BUF,/REM/VTTL READ TERMINAL TABLE
  14323. SB7 /REM/VTTL CHECK FOR EMPTY TERMINAL TABLE
  14324. SB6 -1
  14325. DTT1.1 SB6 B6+1
  14326. EQ B6,B7,DTT1 IF EMPTY TABLE FOUND
  14327. SA1 BUF+B6 READ TABLE ENTRY
  14328. SB2 B6-/REM/VROT
  14329. NZ B2,DTT1.2 IF NOT STATUS WORD
  14330. SX1 X1-1 ALLOW FOR STATUS BIT
  14331. DTT1.2 ZR X1,DTT1.1 IF ONLY STATUS BIT SET
  14332. PRINT (=2C )
  14333. SB7 PRBF
  14334. SA2 =5HTERM
  14335. SB6 5
  14336. RJ UPS STORE IN PRINT STRING
  14337. SB6 4
  14338. SA1 DTTC
  14339. LX1 -12
  14340. RJ CTS CONVERT TERMINAL NUMBER
  14341. PRINT CCCH,B7-CCCH
  14342. PRINT (=2C )
  14343. SA1 DTTA
  14344. BX6 X1
  14345. BX2 -X1
  14346. SB2 X2+BUF SET CORE ADDRESS OF TABLE DATA
  14347. SA6 FW SET PRINT ADDRESS
  14348. SA1 TFTT FORMAT TABLE POINTERS
  14349. RJ GTD GENERATE DETAILED TABLE DUMP
  14350.  
  14351. * DUMP MESSAGE STATUS TABLE ENTRY, IF NETWORK TERMINAL TABLE.
  14352.  
  14353. SA1 SSBF+/REM/VNTP GET FIRST NETWORK TERMINAL NUMBER
  14354. SA2 DTTC
  14355. AX1 24
  14356. SX1 X1+
  14357. IX1 X2-X1
  14358. NG X1,DTT1 IF MUX TERMINAL TABLE
  14359. PRINT (=2C )
  14360. SA1 DTTE SET MSG STATUS TABLE ENTRY ADDRESS
  14361. SX6 X1+
  14362. SA6 FW
  14363. SX1 BUF+/REM/VTTL SET CORE ADDRESS OF TABLE DATA
  14364. SA2 DTTE+1
  14365. IX1 X1-X2
  14366. SB2 X1+
  14367. SA1 TFMT SET NETWORK FORMAT TABLE POINTERS
  14368. RJ GTD GENERATE DETAILED DUMP OF MST WORD
  14369. EQ DTT1 DUMP NEXT TERMINAL TABLE
  14370.  
  14371. * PRINT TERMINAL TABLE BOUNDARY ADDRESSES, IF NO TABLES FOUND.
  14372.  
  14373. DTT2 SA5 DTTD
  14374. RJ PCW PRINT CONTENTS OF *VTTP* WORD
  14375. DTT3 SA1 DTTF RESTORE RETURN ADDRESS
  14376. SB2 X1+
  14377. JP B2 RETURN
  14378.  
  14379. DTTA BSS 1 FWA OF TERMINAL TABLE
  14380. DTTB BSS 1 NUMBER OF TERMINALS TO DUMP
  14381. DTTC BSS 1 NUMBER OF TERMINALS DUMPED
  14382. DTTD VFD 36/6L*VTTP*,6/0,18//REM/VTTP PARAMETER LIST FOR PCW
  14383. DATA 40HIAF TERMINAL TABLE FWA, LWA+1
  14384. VFD 60/0
  14385. DTTE BSS 1 MSG STATUS TABLE ENTRY ADDRESS
  14386. BSS 1 FWA MSG STATUS TABLE
  14387. DTTF BSS 1 SAVED RETURN ADDRESS
  14388. ECS SPACE 4,10
  14389. ** ECS - PROCESS *ECS* RECORD.
  14390. *
  14391. * ENTRY VIA UNCONDITIONAL JUMP.
  14392. *
  14393. * EXIT TO *CMP1* TO READ THE *ECS* RECORD.
  14394. *
  14395. * USES X - 1, 6.
  14396. * A - 1, 6.
  14397.  
  14398.  
  14399. ECS SA1 BUF+1 TRANSFER TITLE
  14400. BX6 X1
  14401. SA6 TITL2
  14402. SA1 BUF GET WORD COUNT
  14403. MX6 -12
  14404. BX6 -X6*X1 WORD COUNT/1000B
  14405. SA2 ECSA 3LESM = ESM RECORD HDR
  14406. BX2 X2-X1 COMPARE WITH EDD RECORD HDR
  14407. MX0 18D MASK 3 CHARACTERS
  14408. BX2 X2*X0 RELEVANT PART OF COMPARE
  14409. NZ X2,CMP1 IF NOT *ESM* RECORD
  14410. LX6 3 CONVERT WORD COUNT
  14411. EQ CMP1 READ *ESM* RECORD
  14412.  
  14413. ECSA DATA 3LESM *ESM* RECORD HEADER
  14414. ESM EQU ECS
  14415. ERF SPACE 4,15
  14416. ** ERF - POSITION TO EOR ON FILE F.
  14417. *
  14418. * EXIT TO *PPE1* IF PREMATURE EOF.
  14419. *
  14420. * USES A - 1.
  14421. * X - 1.
  14422. *
  14423. * CALLS RBH.
  14424.  
  14425.  
  14426. ERF SUBR ENTRY/EXIT
  14427. ERF1 SA1 EORF
  14428. NG X1,ERFX IF AT EOR
  14429. RJ RBH READ BLOCK OR HEADER
  14430. ZR X1,ERF1 IF NOT EOF
  14431. EQ PPE1 PREMATURE EOF
  14432. ERS SPACE 4,15
  14433. ** ERS - END RECORD ON S-FILE.
  14434. *
  14435. * ENTRY (ID) = RECORD ID.
  14436. * (RWCS) = RECORD LENGTH.
  14437. *
  14438. * EXIT BUFFER WRITTEN TO *S*.
  14439. * *TDIR* DIRECTORY ENTRY MADE.
  14440. * (RWCS) = 0.
  14441. *
  14442. * USES A - 1, 2, 5, 6, 7.
  14443. * X - 1, 2, 5, 6, 7.
  14444. *
  14445. * MACROS ADDWORD, WRITER.
  14446.  
  14447.  
  14448. ERS SUBR ENTRY/EXIT
  14449. WRITER S,R WRITE BUFFER TO FILE
  14450. SA1 ID
  14451. ADDWRD TDIR,X1 PUT RECORD ID IN DIRECTORY ENTRY
  14452. ADDWRD A0,X1-X1 CLEAR DIRECTORY ENTRY WORD 2
  14453. SA5 ERSA RANDOM INDEX OF RECORD
  14454. SA2 RWCS
  14455. LX2 30
  14456. BX6 X2+X5
  14457. SA6 A6
  14458. SX7 B0 RESET RECORD LENGTH
  14459. SA7 RWCS
  14460. SX6 ERSA
  14461. SA6 S+6 GET RANDOM INDEX OF NEXT RECORD
  14462. EQ ERSX RETURN
  14463.  
  14464.  
  14465. ERSA DATA 1 CURRENT RANDOM INDEX
  14466. EVA SPACE 4,10
  14467. ** EVA - EXPAND VIRTUAL ADDRESS.
  14468. *
  14469. * ENTRY (X6) = PROCESS VIRTUAL ADDRESS.
  14470. *
  14471. * EXIT (X6) = SEGMENT NUMBER.
  14472. * (X7) = BYTE OFFSET.
  14473. * (X2) = 0, IF THE ADDRESS IN X6 IS THE NIL POINTER.
  14474. *
  14475. * USES X - 1, 2, 6, 7.
  14476. * A - 1.
  14477.  
  14478.  
  14479. EVA SUBR ENTRY/EXIT
  14480. SA1 EVAA
  14481. BX2 X6*X1
  14482. BX2 X2-X1
  14483. ZR X2,EVAX IF NIL POINTER
  14484. MX2 -32-12
  14485. BX7 -X2*X6 ISOLATE BYTE OFFSET
  14486. BX2 X2*X6 ISOLATE RING NUMBER
  14487. BX6 X1*X7 ISOLATE SEGMENT NUMBER
  14488. BX2 X1*X2
  14489. ZR X2,ERR45 IF RING ZERO
  14490. JP EVAX RETURN
  14491.  
  14492. EVAA DATA 0#FFFF80000000 NIL POINTER
  14493. FAC SPACE 4,13
  14494. ** FAC - FIND ASSIGNED CHANNEL.
  14495. *
  14496. * ENTRY (B2) = PPU NUMBER.
  14497. * (BUF - BUF+MXCH) = CHANNEL RESERVATION BYTES
  14498. * FROM CHANNEL STATUS TABLE, ONE BYTE PER WORD,
  14499. * LEFT JUSTIFIED.
  14500. *
  14501. * EXIT (X1) = NUMBER OF ASSIGNED CHANNEL.
  14502. * .LT. 0, IF NO MORE CHANNELS ASSIGNED.
  14503. *
  14504. * USES X - 0, 1, 2, 3, 6.
  14505. * A - 1, 3, 6.
  14506. * B - 3, 5.
  14507.  
  14508.  
  14509. FAC3 MX6 0 CLEAR RESERVATION ENTRY
  14510. SA6 B3
  14511. SX1 B3-BUF SET ASSIGNED CHANNEL NUMBER
  14512.  
  14513. FAC SUBR
  14514. SX2 B2 CHANNEL NUMBER
  14515. MX0 -6
  14516. SX3 X2-20B
  14517. SB3 BUF CHANNEL TABLE ADDRESS
  14518. SB5 B3+MXCH CHANNEL STATUS TABLE LWA+1
  14519. SA1 IC
  14520. ZR X1,FAC0 IF NOT CPP
  14521. SX2 X2+24B
  14522. JP FAC1 PROCESS CHANNELS FOR CPP-S
  14523.  
  14524. FAC0 NG X3,FAC1 IF NOT PP 20 - 31
  14525. SX2 X2-20B+12B CORRECT PPU INDEX
  14526. FAC1 SA3 B3+ READ TABLE
  14527. LX3 12
  14528. BX3 -X0*X3
  14529. ZR X3,FAC2 IF CHANNEL NOT ASSIGNED
  14530. BX3 X2-X3
  14531. ZR X3,FAC3 IF ASSIGNED TO THIS PPU
  14532. FAC2 SB3 B3+B1
  14533. LE B3,B5,FAC1 IF MORE TABLE ENTRIES
  14534. SX1 -B1 SET NO MORE CHANNELS ASSIGNED
  14535. JP FACX EXIT
  14536. FBB SPACE 4,25
  14537. ** FBB - FILL BYTE BUFFER.
  14538. *
  14539. * ENTRY (B2) = PARAMETER BLOCK ADDRESS.
  14540. * +0 = FWA OF DUMP.
  14541. * +1 = LWA OF DUMP.
  14542. *
  14543. * BUFFER CONSISTS OF TWO WORD ENTRIES.
  14544. *
  14545. * EITHER -
  14546. * 28/ADDRESS,16/BYTE1,16/BYTE2
  14547. * 28/0 ,16/BYTE3,16/BYTE4
  14548. *
  14549. * OR FOR REPEATED WORDS -
  14550. * 60/-0
  14551. * 60/
  14552. *
  14553. * EXIT (X1) = 2* WORDS IN BUFFER.
  14554. * (PARAMETER BLOCK+0) = NEW FWA.
  14555. *
  14556. * USES X - ALL.
  14557. * A - ALL.
  14558. *
  14559. * CALLS CPC, CPS, NXB.
  14560.  
  14561.  
  14562. FBB SUBR ENTRY/EXIT
  14563. SX1 10 CHECK FOR MINIMUM OF 10 WORDS
  14564. RJ CPS CHECK PAGE SPACE
  14565. SX3 6
  14566. IX2 X6*X3 MAXIMUM SIZE OF BUFFER FOR SIZE OF PAGE
  14567. SA1 B2+B1 LWA+1 OF DUMP
  14568. BX6 X1
  14569. SA6 FBBA
  14570. SA0 B2 SAVE PARAMETER ADDRESS
  14571. SX6 BUF BUFFER POINTER
  14572. SA6 A6+B1
  14573. IX7 X6+X2 MAXIMUM LWA+1 OF BUFFER
  14574. SA7 A6+B1
  14575. FBB1 RJ NXB GET UPPER PARCEL OF WORD
  14576. SA5 A0 CURRENT ADDRESS
  14577. SX3 8
  14578. MX2 -32
  14579. IX6 X3+X5 INCREMENT ADDRESS
  14580. BX5 -X2*X5
  14581. LX5 16
  14582. SA6 A0
  14583. IX5 X1+X5 COMBINE ADDRESS WITH DATA
  14584. RJ NXB READ SECOND PARCEL OF WORD
  14585. LX5 16
  14586. BX0 X5+X1
  14587. RJ NXB READ THIRD PARCEL OF WORD
  14588. BX5 X1
  14589. RJ NXB READ LAST PARCEL OF WORD
  14590. LX5 16
  14591. BX7 X5+X1
  14592. SA1 FBBD DATA FROM LAST WORD
  14593. SA2 A1+B1
  14594. BX6 X0
  14595. MX3 -32
  14596. SA6 A1 REFRESH FBBD
  14597. SA7 A2
  14598. BX1 X6-X1
  14599. SA4 FBBB BUFFER POINTER
  14600. BX2 X7-X2
  14601. SA6 X4
  14602. SA7 A6+B1
  14603. BX1 -X3*X1 DO NOT COMPARE ADDRESSES
  14604. IX3 X1+X2
  14605. SX6 A7+B1 NEW BUFFER POINTER
  14606. SA6 A4
  14607. NZ X3,FBB2 IF DATA NOT REPEATED
  14608. SX2 X4-BUF
  14609. ZR X2,FBB2 IF FIRST DATA IN BUFFER
  14610. MX7 1
  14611. SA7 X4 STORE FLAG IN BUFFER
  14612. SA1 X4-2 CHECK IF FLAG ALREADY SAVED
  14613. PL X1,FBB3 IF NO FLAG PRESENT YET
  14614. SX6 A7
  14615. SA6 A4 RESTORE NEW BUFFER POINTER
  14616. FBB2 SA2 A4+B1 MAXIMUM LWA OF BUFFER
  14617. IX3 X6-X2
  14618. PL X3,FBB4 IF BUFFER FULL
  14619. FBB3 SB2 A0
  14620. RJ CPC CHECK PAGE CHANGE
  14621. PL X3,FBB4 IF PAGE NOT VALID
  14622. SA1 FBBA LWA+1 OF DUMP
  14623. SA5 A0 CURRENT BYTE ADDRESS
  14624. IX6 X5-X1
  14625. NG X6,FBB1 IF NOT END OF DATA
  14626. FBB4 SA1 FBBB
  14627. SA2 A1+B1
  14628. SX1 X1-BUF COMPUTE AMOUNT DATA IN BUFFER
  14629. EQ FBBX RETURN
  14630.  
  14631.  
  14632. FBBA DATA 0 LWA+1 OF DUMP
  14633. FBBB DATA 0 BUFFER POINTER
  14634. FBBC DATA 0 MAXIMUM LWA+1 OF BUFFER
  14635. FBBD BSS 2 PREVIOUS WORD PRINTED
  14636. FBP SPACE 4,11
  14637. ** FBP - FIND BYTE POSITION.
  14638. *
  14639. * ENTRY (RI) = RANDOM ADDRESS OF CURRENT RECORD.
  14640. * (X3) = DESIRED BYTE NUMBER.
  14641. *
  14642. * EXIT BUFFER POSITIONED AT DESIRED 16 BIT BYTE.
  14643. *
  14644. * USES X - 2, 3, 4, 5, 6.
  14645. * A - 6.
  14646. * B - 7.
  14647. *
  14648. * CALLS PDF, NXB.
  14649.  
  14650.  
  14651. FBP SUBR ENTRY/EXIT
  14652. SX4 15
  14653. BX2 X3
  14654. IX3 X3/X4
  14655. SX4 15
  14656. IX5 X3*X4
  14657. IX5 X2-X5 BYTE POSITION WITHIN FOUR WORD GROUP
  14658. IX5 X4-X5
  14659. LX3 2 WORD OFFSET OF FOUR WORD GROUP
  14660. RJ PDF POSITION DUMP FILE
  14661. SX6 B0
  14662. SA6 NXBA
  14663. SA6 A6+B1
  14664. RJ NXB
  14665. BX6 X5 SAVE BYTE OFFSET INTO FOUR WORD STACK
  14666. SA6 NXBB
  14667. EQ FBPX RETURN
  14668. FDW SPACE 4,11
  14669. ** FDW - FORMAT DATA WORD.
  14670. *
  14671. * ENTRY X1 = DATA WORD.
  14672. * B7 = PRINT STRING ADDRESS.
  14673. * X2 = 24/0,18/DIGITS PER BYTE,18/BYTES PER WORD.
  14674. *
  14675. * USES X - 0,1,2,6,7.
  14676. * B - 5,6,7.
  14677. * A - 6,7.
  14678. *
  14679. * CALLS CTS.
  14680.  
  14681.  
  14682. FDW SUBR
  14683. SB5 X2 NUMBER OF BYTES
  14684. AX2 18
  14685. SX6 1R PRESET SPACE
  14686. FDW1 SB6 X2+ DIGIT COUNT
  14687. RJ CTS CONVERT ONE BYTE
  14688. SA6 B7 SPACE 1
  14689. SB7 B7+B1
  14690. SB5 B5-1
  14691. NZ B5,FDW1 IF MORE BYTES
  14692. JP FDWX EXIT
  14693. FEM SPACE 4,10
  14694. ** FEM - FORMAT ENTRY POINT MAP LINE.
  14695. *
  14696. * ENTRY X5 = LINE INDEX.
  14697. * PPU DATA IS AT *PBUF*.
  14698. *
  14699. * SAVES X - 5.
  14700. * B - 1.
  14701. * A - 0,5.
  14702. *
  14703. * CALLS CTS,RPB,UPS.
  14704.  
  14705.  
  14706. FEM1 ZR X2,FEMX IF NO MESSAGE
  14707. SB6 X2-3
  14708. PL B6,FEMX IF NO MESSAGE
  14709. SA3 APPF
  14710. LX7 X2,B1
  14711. IX2 X2+X7
  14712. ZR X3,FEMX IF NOT DUMPING PP SAVE AREA DATA
  14713. SA2 FEMB-3+X2 READ MESSAGE
  14714. SB6 28
  14715. SB7 PRBF+4
  14716. RJ UPS SET NAME IN PRINT STRING
  14717.  
  14718. FEM SUBR
  14719. SX2 X5-7
  14720. PL X2,FEM1 IF END OF ENTRY POINTS.
  14721. SA2 X5+FEMA READ ENTRY POINT NAME,ADDRESS
  14722. SB6 3
  14723. SB7 PRBF+10
  14724. RJ UPS SET NAME IN PRINT STRING
  14725. BX1 X2
  14726. SB6 4
  14727. SB7 B7+2
  14728. RJ CTS CONVERT LOCATION
  14729. MX2 -12
  14730. BX1 -X2*X1
  14731. SB6 B7 SAVE B7
  14732. RJ RPB READ RETURN ADDRESS FROM PPU
  14733. SB7 B6+2
  14734. SB6 4
  14735. BX1 X6
  14736. RJ CTS CONVERT RETURN ADDRESS
  14737. JP FEMX EXIT
  14738.  
  14739. FEMA BSS 0 RESIDENT ENTRY POINT TABLE
  14740. LOC 0
  14741.  
  14742. VFD 18/3LFTN,12/FTN,30/0
  14743. VFD 18/3LDFM,12/DFM,30/0
  14744. VFD 18/3LEXR,12/EXR,30/0
  14745. VFD 18/3LSMS,12/.SMS,30/0
  14746. VFD 18/3LRDS,12/RDS,30/0
  14747. VFD 18/3LWDS,12/WDS,30/0
  14748. VFD 18/3LEMS,12/.EMS,30/0
  14749. LOC *O
  14750.  
  14751. FEMB DATA 28H* ENTRY POINTS AND CONSTANTS
  14752. DATA 28H MAY NOT HAVE BEEN SAVED.
  14753. FFD SPACE 4,10
  14754. ** FFD - FIND FWA OF DISK BUFFER AREA IN EXTENDED MEMORY.
  14755. *
  14756. * ENTRY (X5) = MACHINE ID, LEFT-JUSTIFIED AND ZERO-FILLED.
  14757. *
  14758. * EXIT (DA) = (X6) = FWA OF DISK BUFFER AREA.
  14759. *
  14760. * ERROR TO *ERR36*, IF INCORRECT MACHINE ID.
  14761. *
  14762. * USES X - 1, 2, 6.
  14763. * A - 1, 6.
  14764. * B - 2.
  14765. *
  14766. * CALLS POM, SEC.
  14767. *
  14768. * MACROS GETCM.
  14769.  
  14770.  
  14771. FFD SUBR ENTRY/EXIT
  14772. RJ SEC SET EXTENDED MEMORY
  14773. SX6 20B SET EM SECTOR LIMIT
  14774. SA1 EM
  14775. SB2 X1
  14776. LX6 B2
  14777. SX6 X6+ETLT*100B+IBDT
  14778. SA6 CPRA
  14779. SB2 A6
  14780. RJ POM POSITION TO FWA *IBDT*
  14781. GETCM FFDA,MXMF READ *IBDT* INTO CORE
  14782. SB2 MXMF PRESET *IBDT* INDEX
  14783. FFD1 SB2 B2-1
  14784. NG B2,ERR36 IF AT END OF *IBDT*
  14785. SA1 B2+FFDA
  14786. BX2 X1-X5
  14787. AX2 48
  14788. NZ X2,FFD1 IF MACHINE ID NOT FOUND
  14789. AX1 12
  14790. MX6 -12
  14791. BX6 -X6*X1
  14792. LX6 9
  14793. SA6 DA STORE FWA OF DISK BUFFER AREA
  14794. EQ FFDX RETURN
  14795.  
  14796. FFDA BSS MXMF CORE BUFFER FOR *IBDT*
  14797. FLC SPACE 4,9
  14798. ** FLC - FORMAT PPU LOW CORE ANALYSIS LINE.
  14799. *
  14800. * ENTRY (X5) = LINE NUMBER.
  14801. *
  14802. * USES X - 1, 2, 3, 4, 6, 7.
  14803. * A - 1, 2, 3, 4, 6, 7.
  14804. * B - 2, 6, 7.
  14805. *
  14806. * CALLS CPN, CTS, GRV, RPB, UPS.
  14807.  
  14808.  
  14809. FLC7 RJ GRV GET R-REGISTER VALUE
  14810. SB7 B7+3
  14811. SB6 8
  14812. RJ CTS CONVERT AND STORE IN PRINT LINE
  14813. BX3 X1 SAVE ACTUAL
  14814. SA1 FLCB+3 GET CP ADDRESS
  14815. ZR X1,FLC4 IF PPU NOT ATTACHED
  14816. SA1 FLCB+5 GET EXPECTED R-REGISTER
  14817. MX2 24
  14818. LX1 12
  14819. BX1 X2*X1
  14820. SB6 8
  14821. EQ FLC3.1 COMPARE VALUES
  14822.  
  14823. FLC SUBR ENTRY/EXIT
  14824. SA2 X5+FLCA
  14825. SB6 7
  14826. SB7 PRBF+35
  14827. RJ UPS SET NAME AND LOCATION
  14828. LX2 18
  14829. SX1 X2 PPU ADDRESS
  14830. ZR X1,FLC7 IF R-REGISTER
  14831. SB6 B7 SAVE PRINT STRING ADDRESS
  14832. RJ RPB READ LOCATION CONTENTS
  14833. SB7 B6+3
  14834. SB6 4
  14835. BX1 X6
  14836. RJ CTS CONVERT CONTENTS
  14837. ZR X5,FLC1 IF LINE 0
  14838. SB2 X5+FLC6-1
  14839. JP B2 VERIFY WORD FOR LINES 1 - 9
  14840.  
  14841. * COMPUTE EXPECTED LOW CORE VALUES.
  14842.  
  14843. FLC1 SA4 PC GET PP COMMUNICATION AREA POINTER
  14844. RJ CPN CONVERT PP NUMBER
  14845. LX6 3
  14846. IX6 X6+X4 PP INPUT REGISTER ADDRESS
  14847. SA3 F.TCMT
  14848. IX4 X6+X3
  14849. SA6 FLCB SAVE
  14850. SX7 X6+B1
  14851. SA7 A6+B1 SAVE OUTPUT REGISTER ADDRESS
  14852. SX6 X7+B1
  14853. SA6 A7+B1 SAVE MESSAGE AREA ADDRESS
  14854. SA4 X4 READ INPUT REGISTER
  14855. MX2 -5
  14856. AX4 36
  14857. BX6 -X2*X4 CONTROL POINT NUMBER
  14858. LX6 7 CONTROL POINT AREA ADDRESS
  14859. SA6 A6+B1 SAVE
  14860. ZR X6,FLC4 IF PPU NOT ASSIGNED TO CONTROL POINT
  14861. IX4 X6+X3
  14862. SA2 OP ADD PCPA OFFSET
  14863. IX4 X2+X4
  14864. SA2 X4+FLSW GET RA/100 AND FL/100
  14865. BX6 X2
  14866. SA6 A6+B1 SAVE RA/100 AND FL/100
  14867. SA3 CE
  14868. SA4 A2+B1 GET R-REGISTER
  14869. ZR X3,FLC2.1 IF NO CM EXTENSION
  14870. SA2 A2+1
  14871. FLC2.1 LX2 -12
  14872. BX6 X4
  14873. SA6 A6+1 SAVE R-REGISTER
  14874.  
  14875. * COMPARE ACTUAL AND EXPECTED VALUES.
  14876.  
  14877. FLC3 BX3 X1 SAVE ACTUAL DATA
  14878. MX1 -12
  14879. BX1 -X1*X2 EXPECTED DATA
  14880. LX1 -12
  14881. SB6 4
  14882. FLC3.1 SB7 B7+2
  14883. RJ CTS FORMAT EXPECTED DATA
  14884. BX1 X1-X3
  14885. ZR X1,FLCX IF ACTUAL = EXPECTED
  14886. SA2 =27H *** WARNING ***
  14887. SB6 27
  14888. FLC3.2 RJ UPS SET MESSAGE
  14889. JP FLCX EXIT
  14890.  
  14891. * PPU NOT ATTACHED - IGNORE CL, RA AND FL.
  14892.  
  14893. FLC4 SA2 =4L----
  14894. SB6 4
  14895. SB7 B7+2
  14896. JP FLC3.2 SET MESSAGE
  14897.  
  14898. * CHECK CONTROL POINT RELATED DATA.
  14899.  
  14900. FLC5 SA3 FLCB+3 READ CONTROL POINT AREA ADDRESS
  14901. ZR X3,FLC4 IF PPU NOT ATTACHED
  14902. JP FLC3 CHECK VALUE
  14903.  
  14904. * SET EXPECTED VALUES.
  14905.  
  14906. FLC6 BSS 0
  14907.  
  14908. + SA2 FLCB+4 FL
  14909. JP FLC5
  14910.  
  14911. + SX2 1 ON
  14912. JP FLC3
  14913.  
  14914. + SX2 100B HN
  14915. JP FLC3
  14916.  
  14917. + SX2 1000B TH
  14918. JP FLC3
  14919.  
  14920. + SX2 3 TR
  14921. JP FLC3
  14922.  
  14923. + SA2 FLCB+3 CP
  14924. JP FLC5
  14925.  
  14926. + SA2 FLCB+0 IA
  14927. JP FLC5
  14928.  
  14929. + SA2 FLCB+1 OA
  14930. JP FLC5
  14931.  
  14932. + SA2 FLCB+2 MA
  14933. JP FLC5
  14934.  
  14935.  
  14936. FLCA BSS 0
  14937. VFD 42/7LRA 55 ,18/RA
  14938. VFD 42/7LFL 56 ,18/FL
  14939. VFD 42/7LON 70 ,18/ON
  14940. VFD 42/7LHN 71 ,18/HN
  14941. VFD 42/7LTH 72 ,18/TH
  14942. VFD 42/7LTR 73 ,18/TR
  14943. VFD 42/7LCP 74 ,18/CP
  14944. VFD 42/7LIA 75 ,18/IA
  14945. VFD 42/7LOA 76 ,18/OA
  14946. VFD 42/7LMA 77 ,18/MA
  14947. VFD 42/7LR-REG ,18/0
  14948.  
  14949. FLCB BSS 0 EXPECTED LOW CORE DATA
  14950. LOC 0
  14951.  
  14952. BSS 1 IA
  14953. BSS 1 OA
  14954. BSS 1 MA
  14955. BSS 1 CP
  14956. BSS 1 RA/100, FL/100
  14957. BSS 1 R-REGISTER
  14958. LOC *O
  14959. FOL SPACE 4,9
  14960. ** FOL - FORMAT ONE LINE OF *P* DUMP.
  14961. *
  14962. * ENTRY X5 = ROW NUMBER.
  14963. *
  14964. * SAVES X - 5.
  14965. * B - NONE.
  14966. * A - 5.
  14967. *
  14968. * CALLS CTS,UPS,WOF.
  14969.  
  14970.  
  14971. FOL SUBR
  14972. BX1 X5
  14973. SB6 2
  14974. LX1 -6
  14975. SB7 PRBF+7
  14976. RJ CTS SET ROW ADDRESS IN LEFT BLOCK
  14977. LX1 -6
  14978. SB6 B1+B1
  14979. SB7 PRBF+71
  14980. RJ CTS CONVERT FOR RIGHT BLOCK
  14981. SB2 X5+BUF
  14982. SB7 PRBF+11
  14983. SB3 2
  14984. FOL1 SB4 10B
  14985. FOL2 SB6 4 DIGIT COUNT
  14986. SA1 B2+ READ BYTE
  14987. NZ X1,FOL3 IF NOT ZERO
  14988. SA2 =4L----
  14989. RJ UPS SET ZERO INDICATOR
  14990. JP FOL4
  14991.  
  14992. FOL3 RJ CTS CONVERT BYTE
  14993. FOL4 SB2 B2+10B ADVANCE ADDRESS
  14994. SB7 B7+2 SPACE 2
  14995. SB4 B4-1 COUNT BYTE
  14996. NZ B4,FOL2 IF MORE BYTES IN THIS BLOCK
  14997. SB7 B7+16 SPACE TO RIGHT BLOCK
  14998. SB3 B3-1
  14999. NZ B3,FOL1 IF NOT DONE WITH RIGHT BLOCK
  15000. PRINT CCCH,B7-CCCH-18
  15001. JP FOLX EXIT
  15002. FON SPACE 4,15
  15003. ** FON - FORMAT PPU OVERLAY NAME LINE.
  15004. *
  15005. * ENTRY B4 = LINE INDEX.
  15006. * PPU DATA IS AT *PBUF*.
  15007. *
  15008. * USES X - 1, 2, 6, 7.
  15009. * A - 1, 2.
  15010. * B - 3, 6, 7.
  15011. *
  15012. * SAVES X - 5.
  15013. * A - 0, 5.
  15014. * B - 1.
  15015. *
  15016. * CALLS RPB, UPS.
  15017.  
  15018.  
  15019. FON SUBR ENTRY/EXIT
  15020. SB3 3
  15021. GE B4,B3,FONX IF NO MORE NAMES TO FORMAT
  15022. SB7 B7+6 SET PRINT STRING ADDRESS
  15023. JP FONA+B4 PROCESS APPROPRIATE LINE
  15024.  
  15025. * LIST LAST MAIN PROGRAM LOADED.
  15026.  
  15027. FON1 SA2 =27HLAST MAIN PROGRAM LOADED -
  15028. SB6 27
  15029. RJ UPS
  15030. SX1 IR
  15031. SB6 B7+ SAVE PRINT STRING ADDRESS
  15032. RJ RPB READ INPUT REGISTER BYTE
  15033. SX1 IR+1
  15034. BX7 X6 SAVE (IR)
  15035. RJ RPB
  15036. LX6 -12
  15037. FON2 BX2 X6+X7 SET PROGRAM NAME
  15038. SB7 B6 PRINT STRING ADDRESS
  15039. SB6 3
  15040. RJ UPS SET NAME IN PRINT STRING
  15041. JP FONX EXIT
  15042.  
  15043. * LIST LAST OVERLAY LOADED.
  15044.  
  15045. FON3 SA2 =27HLAST OVERLAY LOADED -
  15046. SB6 27
  15047. RJ UPS
  15048. SB6 B7+ SAVE B7
  15049. SX1 PLLA
  15050. RJ RPB READ OVERLAY NAME
  15051. SX1 PLLB
  15052. BX7 X6
  15053. RJ RPB
  15054. MX2 6
  15055. BX7 -X2*X7
  15056. LX7 6
  15057. LX6 -6
  15058. JP FON2 SET NAME IN PRINT STRING
  15059.  
  15060. * LIST LAST MASS STORAGE DRIVER LOADED.
  15061.  
  15062. FON4 SA2 =27HLAST MASS STORAGE DRIVER -
  15063. SB6 27
  15064. RJ UPS
  15065. SB6 B7+
  15066. SX1 MSD
  15067. RJ RPB READ DRIVER IDENTIFICATION BYTE
  15068. SX7 B0 ASSUME NO DRIVER
  15069. LX6 6 POSITION MASS STORAGE DRIVER INDEX
  15070. BX6 X1*X6
  15071. LX6 6
  15072. ZR X6,FON2 IF NO DRIVER
  15073. SA1 TFON-1+X6 INDEX INTO DRIVER DESIGNATOR TABLE
  15074. BX6 X1
  15075. SX7 1R6
  15076. LX7 -6
  15077. JP FON2 PROCESS DRIVER NAME
  15078.  
  15079. FONA BSS 0 LINE PROCESSOR JUMP TABLE
  15080. + JP FON1 PRINT LINE 0
  15081. + JP FON3 PRINT LINE 1
  15082. + JP FON4 PRINT LINE 2
  15083.  
  15084. TFON BSS 0 TABLE OF MASS STORAGE DRIVER DESIGNATORS
  15085. LOC 1
  15086. ERRNZ /MSP/LA6DI-* ADJUST TABLE IF VALUE CHANGES
  15087. VFD 6/0,12/2RDI,42/0 *6DI*
  15088. ERRNZ /MSP/LA6DJ-* ADJUST TABLE IF VALUE CHANGES
  15089. VFD 6/0,12/2RDJ,42/0 *6DJ*
  15090. ERRNZ /MSP/LA6DP-* ADJUST TABLE IF VALUE CHANGES
  15091. VFD 6/0,12/2RDP,42/0 *6DP*
  15092. ERRNZ /MSP/LA6DE-* ADJUST TABLE IF VALUE CHANGES
  15093. VFD 6/0,12/2RDE,42/0 *6DE*
  15094. ERRNZ /MSP/LA6DX-* ADJUST TABLE IF VALUE CHANGES
  15095. VFD 6/0,12/2RDX,42/0 *6DX*
  15096. LOC *O
  15097. FPB SPACE 4,22
  15098. ** FPB - FILL PAGE BUFFER.
  15099. *
  15100. * ENTRY (B2) = ADDRESS OF DUMP PARAMETERS. PARAMETER BLOCK
  15101. * IS DOCUMENTED IN *PMD*.
  15102. * (LC) = CURRENT LINE COUNTER.
  15103. * (PD) = NUMBER OF LINES PER PAGE.
  15104. *
  15105. * EXIT (X1) = PAGE BUFFER LENGTH.
  15106. * PARAMETER BLOCK IS UPDATED. FOR EACH WORD DUMPED,
  15107. * *BUF* CONTAINS A TWO WORD ENTRY -
  15108. *
  15109. * 36/0,24/ADDRESS
  15110. * 60/DATA FOR DATA, OR
  15111. *
  15112. * 60/MINUS
  15113. * 60/GARBAGE FOR REPEAT INDICATOR.
  15114. *
  15115. * USES X - 1, 2, 3, 5, 6, 7.
  15116. * A - 1, 2, 3, 5, 6, 7.
  15117. * B - 5, 7.
  15118. *
  15119. * CALLS CPS.
  15120. *
  15121. * MACROS GETCM.
  15122.  
  15123.  
  15124. FPB SUBR
  15125. SA5 B2+6 SAVE INVERTED ADDRESS FLAG
  15126. BX6 X5
  15127. SA5 B2
  15128. SA6 FPBA
  15129. SX1 1
  15130. RJ CPS CHECK PAGE SPACE
  15131. SX7 -1 SET SKIP FLAG
  15132. SX3 6
  15133. IX3 X3*X6 PAGE BUFFER LENGTH = 6*LINES
  15134. SB5 BUF SET BUFFER POINTER
  15135. SB7 B5+X3 SET LWA+1
  15136. SA7 FPBA+1
  15137. FPB1 SA1 A5+2
  15138. ZR X1,FPB2 IF DATA NOT IN CORE
  15139. SA2 X1 READ DATA WORD
  15140. SX6 X1+B1
  15141. SA6 A1 UPDATE CORE ADDRESS
  15142. BX6 X2 SET DATA WORD
  15143. EQ FPB3 PROCESS WORD
  15144.  
  15145. FPB2 GETCM READ DATA FROM DUMP FILE
  15146. FPB3 SA3 FPBA CHECK IF INVERTED ADDRESS IS PRESENT
  15147. SA2 A5+6
  15148. SX1 B1+
  15149. ZR X3,FPB3.1 IF INVERTED ADDRESS NOT PRESENT
  15150. IX7 X2-X1 UPDATE INVERTED ADDRESS
  15151. SA7 A2
  15152. FPB3.1 SA2 A5 GET DUMP ADDRESS
  15153. IX7 X2+X1
  15154. SA7 A2
  15155. SA1 A2+3
  15156. SA3 FPBA+1
  15157. NZ X1,FPB5 IF NO SUPPRESS REQUESTED
  15158. NG X3,FPB5 IF FIRST TIME THROUGH LOOP
  15159. BX1 X6-X5 COMPARE WITH PREVIOUS WORD
  15160. ZR X1,FPB4 IF DATA IS SAME OR LOGICAL OPPOSITE
  15161. EQ FPB5 STORE NEW WORD
  15162.  
  15163. FPB4 NG X1,FPB5 IF DATA IS LOGICAL OPPOSITE
  15164. NZ X3,FPB7 IF REPEAT ALREADY FLAGGED
  15165. MX6 1
  15166. SA6 B5 STORE REPEAT FLAG
  15167. SX6 B1 SET SKIPPING FLAG
  15168. SA6 A3
  15169. EQ FPB6 CONTINUE
  15170.  
  15171. FPB5 BX5 X6 SAVE WORD FOR NEXT COMPARE
  15172. SA6 B5+B1 STORE DATA WORD
  15173. SX2 B1
  15174. IX6 X7-X2
  15175. SA1 FPBA GET INVERTED ADDRESS FLAG
  15176. SA6 B5
  15177. MX7 0 CLEAR SKIP FLAG
  15178. SA3 A5+6
  15179. SA7 FPBA+1
  15180. ZR X1,FPB6 IF NO INVERTED ADDRESS
  15181. IX6 X3+X2
  15182. SA6 B5 STORE ADDRESS
  15183. FPB6 SB5 B5+2 ADVANCE BUFFER ADDRESS
  15184. GE B5,B7,FPB8 IF BUFFER FULL
  15185. FPB7 SA1 A5+B1 LWA+1
  15186. SA2 A5 FWA
  15187. IX1 X2-X1
  15188. NG X1,FPB1 IF MORE TO DUMP
  15189. FPB8 SX1 B5-BUF SET BUFFER LENGTH
  15190. EQ FPBX RETURN
  15191.  
  15192. FPBA BSS 1 INVERTED ADDRESS FLAG
  15193. BSS 1 SKIP FLAG
  15194. FPL SPACE 4,15
  15195. ** FPL - FORMAT PPU COMMUNICATION REGISTER WORD.
  15196. *
  15197. * ENTRY (A5) = ADDRESS OF REGISTER WORD.
  15198. * (X5) = REGISTER WORD.
  15199. * (B2) = PPU NUMBER.
  15200. * (B4) = LINE INDEX.
  15201. * (B7) = PRINT STRING ADDRESS.
  15202. * (IC) = *CPP* PROCESSING FLAG.
  15203. *
  15204. * USES X - 0, 1, 2, 3, 6.
  15205. * A - 1, 2, 6.
  15206. * B - 6, 7.
  15207. *
  15208. * CALLS CTS, FAC, FDW, SDI, UPS.
  15209.  
  15210.  
  15211. FPL SUBR
  15212. JP FPLA+B4 PROCESS SELECTED LINE
  15213.  
  15214. FPLA BSS 0
  15215. LOC 0
  15216. + JP FPL0
  15217. + JP FPL3
  15218. + JP FPL4
  15219. + JP FPL5
  15220. + JP FPL5
  15221. + JP FPL5
  15222. + JP FPL5
  15223. + JP FPL5
  15224. LOC *O
  15225.  
  15226. * PROCESS WORD 0.
  15227.  
  15228. FPL0 SA2 IC
  15229. ZR X2,FPL1 IF NOT PROCESSING A CPP
  15230. SX6 1RC
  15231. SA6 B7-1
  15232. FPL1 SX6 1RP
  15233. SA6 B7 *PP* TO PRINT STRING
  15234. SA6 A6+B1
  15235. SB7 A6+1
  15236. SX1 B2
  15237. LX1 -6
  15238. SB6 2
  15239. RJ CTS CONVERT PPU NUMBER
  15240. SB7 B7+3 SPACE 3
  15241. BX2 X5
  15242. SB6 3
  15243. RJ UPS PROGRAM NAME TO PRINT STRING
  15244. SX6 1R
  15245. SA6 B7+
  15246. SB7 B7+3
  15247. FPL2 BX1 X5 DATA WORD TO PRINT STRING
  15248. SA2 =4000005B
  15249. RJ FDW FORMAT DATA WORD
  15250. SB6 10 CHARACTER COUNT
  15251. BX2 X5 DATA WORD
  15252. SB7 B7+B1
  15253. RJ SDI SET DISPLAY CODE INTERPRETATION
  15254. JP FPLX EXIT
  15255.  
  15256. * PROCESS WORD 1.
  15257.  
  15258. FPL3 SX6 1R BLANK OUT PPU NUMBER
  15259. SA6 B7-1 CLEAR *C* FOR CPP-S
  15260. SA6 B7
  15261. SA6 A6+B1
  15262. SA6 A6+B1
  15263. SA6 A6+B1
  15264. SB7 A6+4
  15265. MX0 7
  15266. LX0 -5
  15267. BX1 X0*X5 EXTRACT MTR FUNCTION CODE
  15268. LX1 12
  15269. SX0 X1-MXFM-1
  15270. SB6 4
  15271. NG X0,FPL3.1 IF FUNCTION WITHIN TABLE
  15272. SX1 MXFM SET MAXIMUM FUNCTION CODE
  15273. FPL3.1 SA2 TFTN+X1 READ CODE NAME FROM *COMDTFN*
  15274. RJ UPS MTR FUNCTION NAME TO PRINT STRING
  15275. SB7 B7+2
  15276. JP FPL2 CONVERT DATA WORD
  15277.  
  15278. * PROCESS WORD 2.
  15279.  
  15280. FPL4 SX6 1RC *CL* TO PRINT STRING
  15281. SA6 B7+7
  15282. SX6 1RP
  15283. SA1 A5-2 READ WORD 0
  15284. MX0 -5
  15285. LX1 24
  15286. BX1 -X0*X1 CONTROL POINT NUMBER
  15287. FPL4.1 SA6 A6+B1
  15288. SB7 A6+B1
  15289. LX1 -6
  15290. SB6 2
  15291. RJ CTS CONVERT CONTROL POINT NUMBER ASSIGNMENT
  15292. SB7 B7+2
  15293. JP FPL2 CONVERT DATA WORD
  15294.  
  15295. * PROCESS WORDS 3 - 7.
  15296.  
  15297. FPL5 RJ FAC FIND ASSIGNED CHANNEL
  15298. NG X1,FPL6 IF NO MORE CHANNELS ASSIGNED
  15299. SX6 1RC *CH* TO PRINT STRING
  15300. SX3 X1-40B
  15301. NG X3,FPL5.1 IF NOT PROCESSING A *CCH*
  15302. SA6 B7+6
  15303. FPL5.1 SA6 B7+7
  15304. SX6 1RH
  15305. JP FPL4.1 CONVERT DATA WORD
  15306.  
  15307. FPL6 SX6 1R
  15308. SA6 B7+6
  15309. SA6 A6+B1
  15310. SA6 A6+B1
  15311. SA6 A6+B1
  15312. SA6 A6+B1
  15313. SB7 A6+3
  15314. JP FPL2 CONVERT DATA WORD
  15315. FPO SPACE 4,15
  15316. ** FPO - FORMAT PP OPERATING REGISTERS LINE.
  15317. *
  15318. * ENTRY (X5) = LINE NUMBER.
  15319. * (B7) = FWA OF STRING BUFFER.
  15320. * (CPRA+3) = HEX/OCTAL FLAG.
  15321. *
  15322. * EXIT (X6) = 0 IF END OF REGISTERS.
  15323. *
  15324. * USES X - 1, 2, 6.
  15325. * A - 1, 2, 6.
  15326. * B - 6, 7.
  15327. *
  15328. * CALLS CTS, HTS, UPS.
  15329.  
  15330.  
  15331. FPO3 LX1 59-15 DISPLAY HEX REGISTERS
  15332. SB6 4
  15333. SB7 B7+B1
  15334. RJ HTS
  15335. SA1 A1+B1 GET Q-REGISTER
  15336. LX1 59-15
  15337. SB6 4
  15338. SB7 B7+3
  15339. RJ HTS
  15340. SA1 A1+B1 GET K-REGISTER
  15341. LX1 59-15
  15342. SB6 4
  15343. SB7 B7+4
  15344. RJ HTS
  15345. SA1 A1+B1 GET A-REGISTER
  15346. LX1 59-19
  15347. SB6 5
  15348. SB7 B7+3
  15349. RJ HTS
  15350.  
  15351. FPO SUBR ENTRY/EXIT
  15352. NZ X5,FPO1 IF NOT FIRST LINE
  15353. SX6 B0+ INITIALIZE REGISTER POINTER
  15354. SA6 FPOA
  15355. FPO1 SA2 FPOA
  15356. SX6 X2-4
  15357. ZR X6,FPOX IF END OF REGISTERS
  15358. SX1 X5-2
  15359. ZR X1,FPOX IF BETWEEN REGISTER SETS
  15360. SX6 X2+B1
  15361. SA6 A2 UPDATE POINTER
  15362. LX2 2
  15363. SA1 X2+PPOB GET P-REGISTER
  15364. NG X1,FPO1 IF NO REGISTERS PRESENT
  15365. LX2 -1 SET DESCRIPTOR
  15366. ERRNZ FPOBE-2 CODE DEPENDS ON VALUE
  15367. SA2 X2+FPOB
  15368. SB6 12
  15369. RJ UPS
  15370. SB7 B7+3
  15371. SA2 CPRA+3 GET FORMAT CODE
  15372. SX6 2
  15373. ZR X2,FPO2 IF OCTAL
  15374. BX2 X6*X2
  15375. ZR X2,FPO3 IF HEX
  15376. FPO2 LX1 59-14 SET P-REGISTER
  15377. SB6 5
  15378. RJ CTS
  15379. SA1 A1+B1 GET Q-REGISTER
  15380. LX1 59-14
  15381. SB6 5
  15382. SB7 B7+2
  15383. RJ CTS
  15384. SA1 A1+B1 GET K-REGISTER
  15385. LX1 59-17
  15386. SB6 6
  15387. SB7 B7+2
  15388. RJ CTS
  15389. SA1 A1+B1 GET A-REGISTER
  15390. LX1 59-17
  15391. SB6 6
  15392. SB7 B7+2
  15393. RJ CTS
  15394. EQ FPOX RETURN
  15395.  
  15396.  
  15397. FPOA CON 0 REGISTER SET POINTER
  15398. FPOB DATA C* BEFORE IDLE*
  15399. FPOBE EQU *-FPOB ENTRY LENGTH
  15400. DATA C* AFTER IDLE*
  15401. DATA C*DFT BUFFER 1*
  15402. DATA C*DFT BUFFER 2*
  15403. FPP SPACE 4,13
  15404. ** FPP - FIND PPU PROGRAM.
  15405. *
  15406. * ENTRY X4 = PROGRAM NAME.
  15407. * FI = 0 IF INITIAL ENTRY.
  15408. * = CURRENT SEARCH INDEX IF NOT FIRST ENTRY.
  15409. *
  15410. * EXIT X6 = PPU NUMBER.
  15411. * FI IS UPDATED.
  15412. * X1=FI=0 IF NO MORE PPS EXECUTING REQUESTED PROGRAM.
  15413. *
  15414. * SAVES X - 5.
  15415. * B - 1,5,6,7.
  15416. * A - 0,5.
  15417.  
  15418.  
  15419. FPP SUBR
  15420. SA1 NP GET NUMBER OF PP-S
  15421. SA2 PC GET PP COMMUNICATION AREA POINTER
  15422. SA3 IC
  15423. ZR X3,FPP1 IF NOT DUMPING CPP-S
  15424. LX1 3
  15425. IX2 X1+X2 SET CPP COMMUNICATION AREA POINTER
  15426. SA1 C4 GET NUMBER OF CPP-S
  15427. FPP1 LX1 3
  15428. SB4 X2
  15429. SB3 X1+B4 SET LWA+1 OF SEARCH AREA
  15430. MX0 18
  15431. SA1 FI READ SEARCH INDEX
  15432. SA2 F.TCMT
  15433. SB2 X1
  15434. NZ X1,FPP2 IF NOT INITIAL ENTRY
  15435. SB2 B4 PRESET SEARCH INDEX
  15436. FPP2 GE B2,B3,FPP3 IF END OF SEARCH
  15437. SA1 X2+B2
  15438. BX3 X1-X4
  15439. BX3 X0*X3
  15440. ZR X3,FPP4 IF PROGRAM NAME MATCH
  15441. SB2 B2+10B ADVANCE SEARCH
  15442. EQ FPP2 CONTINUE SEARCH
  15443.  
  15444. FPP3 SX6 0
  15445. SA6 FI CLEAR SEARCH INDEX
  15446. SX1 0 SET END OF SEARCH
  15447. JP FPPX EXIT
  15448.  
  15449. FPP4 SX6 B2+10B
  15450. SA6 FI UPDATE SEARCH INDEX
  15451. SX6 B2-B4
  15452. AX6 3 SET PPU NUMBER
  15453. SX1 1 SET PPU FOUND
  15454. SX7 X6-12B
  15455. NG X7,FPPX IF NOT PPUS 20 - 31
  15456. SX6 X6+20B-12B CORRECT PPU NUMBER
  15457. JP FPPX EXIT
  15458. FPR SPACE 4,20
  15459. ** FPR - FIND PROCESSOR RECORD.
  15460. *
  15461. * ENTRY (X1) = THREE CHARACTER RECORD ID.
  15462. * (X6) = RADIAL MCI FLAG.
  15463. *
  15464. * EXIT (X2) = FIRST WORD OF TABLE DIRECTORY IF FOUND.
  15465. * = 0 IF RECORD NOT FOUND.
  15466. * (RI) = RANDOM INDEX.
  15467. * RADIAL MCI PRINTED IF (X6) .NE. 0 ON ENTRY.
  15468. *
  15469. * USES X - 0, 1, 2, 3, 5, 6.
  15470. * A - 1, 2, 3, 6.
  15471. * B - 6, 7.
  15472. *
  15473. * CALLS SSB, UPS.
  15474. *
  15475. * MACROS PRINT, SEARCH.
  15476.  
  15477.  
  15478. FPR SUBR ENTRY/EXIT
  15479. SA6 FPRA SAVE RADIAL MCI FLAG
  15480. SA3 NR NEXT DIRECTIVE TABLE ENTRY
  15481. MX0 18
  15482. ZR X3,FPR1 IF FIRST RECORD
  15483. SA2 X3 GET PREVIOUS RECORD ID
  15484. BX3 X1-X2
  15485. BX3 X0*X3
  15486. ZR X3,FPR2 IF RECORD ID MATCHES PREVIOUS RECORD ID
  15487. FPR1 SEARCH TDIR,X1,X0
  15488. ZR X2,FPRX IF RECORD ID NOT IN DIRECTORY
  15489. FPR2 SA1 A2+C.TDIR CHECK NEXT *TDIR* ENTRY
  15490. BX1 X1-X2
  15491. BX1 X0*X1
  15492. SX6 A1
  15493. ZR X1,FPR3 IF RECORD NAMES MATCH
  15494. SX6 B0
  15495. FPR3 SA6 NR
  15496. SA3 A2+B1 SET RANDOM INDEX
  15497. BX6 X3
  15498. SA6 RI
  15499. SA1 FPRA
  15500. ZR X1,FPRX IF NOT TO DISPLAY THE RADIAL MCI
  15501. BX5 X2 SAVE FIRST WORD OF DIRECTORY ENTRY
  15502. MX0 -6 SET RADIAL MCI
  15503. AX2 36
  15504. BX6 -X0*X2
  15505. SA6 PRBF+13
  15506. PRINT (=2C )
  15507. SB7 PRBF
  15508. SA2 =13HRADIAL MCI =
  15509. SB6 13
  15510. RJ UPS UNPACK MESSAGE
  15511. PRINT CCCH,15
  15512. RJ SSB CLEAR STRING BUFFER
  15513. PRINT (=2C )
  15514. BX2 X5 RESTORE FIRST WORD OF ENTRY
  15515. EQ FPRX RETURN
  15516.  
  15517.  
  15518. FPRA CON 0 RADIAL MCI FLAG
  15519. FPW SPACE 4,15
  15520. ** FPW - FORMAT CONTROL POINT PARAMETER LINE.
  15521. *
  15522. * ENTRY (X1) = LINE INDEX.
  15523. * (CN) = CONTROL POINT NUMBER.
  15524. * (FW) = CONTROL POINT AREA ADDRESS.
  15525. * (GDBB) = DAYFILE BUFFER LENGTH.
  15526. * (NC) = NUMBER OF CONTROL POINTS - 1.
  15527. *
  15528. * USES X - 0, 1, 2, 3, 4, 6, 7.
  15529. * A - 1, 2, 3, 4, 6, 7.
  15530. * B - 2, 3, 4, 5, 6, 7.
  15531. *
  15532. * CALLS CNL, CTS, DMB, DOS, GCS, GDB, GEE, GFL, POM, SCM, UPS.
  15533. *
  15534. * MACROS GETCM.
  15535.  
  15536.  
  15537. FPW SUBR
  15538. SB7 PRBF+1 SET PRINT STRING ADDRESS
  15539. SA2 F.TCMT
  15540. SA3 FW
  15541. IX3 X2+X3
  15542. SB2 X3 SET CONTROL POINT AREA ADDRESS
  15543. SB3 X1+FPWA SET JUMP TABLE ADDRESS
  15544. JP B3 EXECUTE SELECTED PROCESSOR
  15545.  
  15546. * LINE 0 - USER NAME, SENSE SWITCHES.
  15547.  
  15548. FPW1 SA2 =45HUSER NAME SENSE SWITCHES
  15549. SB6 45
  15550. RJ UPS STORE HEADING
  15551. SA2 B2+UIDW READ USER NAME
  15552. SB6 7
  15553. SB7 PRBF+21
  15554. RJ UPS STORE USER NAME
  15555. SA1 B2+SNSW READ SENSE SWITCHES
  15556. SB6 2
  15557. SB7 PRBF+59
  15558. LX1 -12
  15559. RJ CTS CONVERT SENSE SWITCHES
  15560. JP FPWX EXIT
  15561.  
  15562. * LINE 1 - PRIMARY FILE NAME, CCL R1.
  15563.  
  15564. FPW2 SA2 =45HPRIMARY FILE CCL R1
  15565. SB6 45
  15566. RJ UPS STORE HEADING
  15567. SA1 B2+TFSW READ PRIMARY FILE EST POINTER
  15568. SA2 F.TCMT
  15569. MX3 -12
  15570. AX1 36
  15571. BX3 -X3*X1 FST ADDRESS
  15572. ZR X3,FPW3 IF NO PRIMARY FILE
  15573. IX1 X2+X3
  15574. SA2 X1-1 READ FNT
  15575. SB6 7
  15576. SB7 PRBF+21
  15577. RJ UPS SET FILE NAME
  15578. FPW3 SA1 B2+JCRW READ CCL REGISTERS
  15579. LX1 -18
  15580. FPW3.1 SB6 6
  15581. SB7 PRBF+55
  15582. RJ CTS CONVERT REGISTER
  15583. JP FPWX EXIT
  15584.  
  15585. * LINE 2 - ORIGIN TYPE, CCL R2.
  15586.  
  15587. FPW4 SA2 =45HORIGIN TYPE CCL R2
  15588. SB6 45
  15589. RJ UPS STORE HEADING
  15590. MX0 12 PRESET ORIGIN TYPE MASK
  15591. SA1 B2+JOTW GET ORIGIN TYPE
  15592. LX0 24
  15593. BX1 X0*X1
  15594. AX1 12
  15595. SA2 X1+FPWB READ ORIGIN TYPE
  15596. SB6 4
  15597. SB7 PRBF+24
  15598. RJ UPS STORE ORIGIN TYPE
  15599. SA1 B2+JCRW READ CCL REGISTERS
  15600. LX1 -36
  15601. JP FPW3.1 CONVERT REGISTER
  15602.  
  15603. * LINE 3 - TIME USED, CCL R3.
  15604.  
  15605. FPW5 SA2 =45HTIME USED CCL R3
  15606. SB6 45
  15607. RJ UPS STORE HEADING
  15608. SA1 B2+CPTW READ CP ACCOUNTING WORD
  15609. SX2 1000
  15610. AX1 22 MILLISECONDS USED
  15611. IX1 X1/X2 SECONDS USED
  15612. LX1 -30
  15613. SB6 10
  15614. SB7 PRBF+18
  15615. RJ CTS CONVERT TIME USED
  15616. SA1 B2+JCRW READ CCL REGISTERS
  15617. LX1 6
  15618. SB6 6
  15619. SB7 PRBF+55
  15620. RJ CTS CONVERT CCL R3
  15621. JP FPWX EXIT
  15622.  
  15623. * LINE 4 - TIME REMAINING, CCL ERROR FLAGS.
  15624.  
  15625. FPW6 SA2 =45HTIME REMAINING CCL EF
  15626. SB6 45
  15627. RJ UPS STORE HEADING
  15628. SA1 B2+CPTW READ CP ACCOUNTING WORD
  15629. SX2 1000
  15630. AX1 22 MILLISECONDS USED
  15631. IX1 X1/X2 SECONDS USED
  15632. SA3 B2+CPLW GET TIME LIMIT
  15633. SX2 1000
  15634. AX3 22 LIMIT IN MILLISECONDS
  15635. IX3 X3/X2 LIMIT IN SECONDS
  15636. IX1 X3-X1 SECONDS LEFT
  15637. LX1 -30
  15638. SB6 10
  15639. SB7 PRBF+18
  15640. RJ CTS CONVERT TIME REMAINING
  15641. SA1 B2+JCRW READ CCL REGISTERS
  15642. SB6 2
  15643. SB7 PRBF+59
  15644. RJ CTS CONVERT ERROR FLAGS
  15645. JP FPWX EXIT
  15646.  
  15647. * LINE 5 - SUBSYSTEM ID, CPU PRIORITY.
  15648.  
  15649. FPW7 SA2 =45HSUBSYSTEM ID CPU PRIORITY
  15650. SB6 45
  15651. SA1 B2+JCIW READ SUBSYSTEM ID
  15652. RJ UPS STORE HEADING
  15653. SB6 4
  15654. SB7 PRBF+24
  15655. LX1 24
  15656. MX2 -58
  15657. RJ CTS CONVERT SUBSYSTEM ID
  15658. SA1 B2+CWQW READ CPU PRIORITY
  15659. BX1 -X2*X1
  15660. AX1 51
  15661. SB7 PRBF+57
  15662. SB4 4
  15663. RJ DOS CONVERT CPU PRIORITY
  15664. JP FPWX EXIT
  15665.  
  15666. * LINE 6 - CPU STATUS.
  15667.  
  15668. FPW8 SA2 =45HCPU STATUS SERVICE CLASS
  15669. SB6 45
  15670. SX5 B2
  15671. RJ UPS STORE HEADING
  15672. SB7 PRBF+27
  15673. RJ GCS GET CPU STATUS
  15674. RJ GEE GET EJT ENTRY
  15675. R= A1,BUF+SCLE GET SERVICE CLASS
  15676. MX0 6
  15677. BX1 X0*X1
  15678. LX1 6
  15679. R= A2,X1+SCNT-1 READ SERVICE CLASS MEMONIC
  15680. SB6 4
  15681. SB7 PRBF+57
  15682. RJ UPS STORE SERVICE CLASS
  15683. EQ FPWX EXIT
  15684.  
  15685. * LINE 8 - MESSAGE 1 LINE.
  15686.  
  15687. FPW12 SA2 =28HMESSAGE 1 -
  15688. SB6 28
  15689. RJ UPS STORE HEADING
  15690. SA2 B2+MS1W
  15691. SB6 48
  15692. RJ DMB STORE MESSAGE
  15693. JP FPWX EXIT
  15694.  
  15695. * LINE 9 - MESSAGE 2 LINE.
  15696.  
  15697. FPW13 SA2 =28HMESSAGE 2 -
  15698. SB6 28
  15699. RJ UPS STORE HEADING
  15700. SA2 B2+MS2W
  15701. SB6 28
  15702. RJ DMB STORE MESSAGE 2
  15703. JP FPWX EXIT
  15704.  
  15705. * LINE 11 - CURRENT COMMAND.
  15706.  
  15707. FPW14 SA1 CN
  15708. SA2 NC
  15709. SX2 X2+B1
  15710. IX1 X2-X1
  15711. ZR X1,FPWX IF SYSTEM CONTROL POINT
  15712. SA2 =28HCURRENT COMMAND -
  15713. SB6 28
  15714. RJ UPS STORE HEADING
  15715. RJ CNL CHECK NFL LENGTH
  15716. NG X1,FPWX IF INSUFFICIENT NFL SPACE
  15717. RJ SCM SELECT CENTRAL MEMORY
  15718. SA1 FW
  15719. RJ GFL GET RA OF CONTROL POINT
  15720. SX1 CSBN SET FWA OF COMMAND BUFFER
  15721. IX6 X6-X1
  15722. SX7 B2 SAVE B2
  15723. MX1 -24
  15724. BX6 -X1*X6
  15725. SA6 CPRA
  15726. SA7 A6+B1
  15727. SB2 A6 POSITION DUMP FILE
  15728. RJ POM
  15729. GETCM BUF,110B READ COMMAND BUFFER
  15730. SB7 PRBF+29 RESET PRINT STRING ADDRESS
  15731. SA1 CPRA
  15732. SB4 BUF FWA OF BUFFER
  15733. SA3 A1+B1 RESTORE B2
  15734. SX0 X1+CSBN RA OF CONTROL POINT
  15735. SB2 X3
  15736. SA1 B2+CSPW READ COMMAND BUFFER INDEX
  15737. MX2 -12
  15738. AX1 12
  15739. BX1 -X2*X1
  15740. SB3 X1-CSBN
  15741. SB3 B4-B3 FORM CURRENT POINTER
  15742. EQ B3,B4,FPWX IF BUFFER EMTPY
  15743. FPW15 SB3 B3-B1 POINTER TO END OF LAST LINE
  15744. SB5 B3 SAVE END OF LINE POINTER
  15745. EQ FPW17 ENTER SEARCH LOOP
  15746.  
  15747. FPW16 SA1 B3
  15748. BX1 -X2*X1
  15749. ZR X1,FPW18 IF END OF PREVIOUS LINE
  15750. FPW17 SB3 B3-1
  15751. GE B3,B4,FPW16 IF NOT BEGINNING OF BUFFER
  15752. FPW18 SX1 10
  15753. SX2 B5-B3 WORD COUNT FOR LINE
  15754. IX2 X1*X2
  15755. SB6 X2+ CHARACTER COUNT
  15756. GE B3,B4,FPW19 IF NOT FIRST WORD OF BUFFER
  15757. SX6 65B =1R_
  15758. SA6 B7
  15759. SB7 B7+B1
  15760. FPW19 SA2 B3+1 READ FIRST WORD OF LINE
  15761. RJ UPS STORE LINE IN PRINT STRING
  15762. JP FPWX EXIT
  15763.  
  15764. * LINE 13 - LAST DAYFILE MESSAGE.
  15765.  
  15766. FPW20 SA2 =28HLAST DAYFILE MESSAGE -
  15767. SB6 28
  15768. RJ UPS STORE HEADING
  15769. SA1 CN
  15770. SA2 NC
  15771. SX2 X2+B1
  15772. IX1 X2-X1
  15773. ZR X1,FPW20.0 IF SYSTEM CONTROL POINT
  15774. RJ CNL CHECK NFL LENGTH
  15775. NG X1,FPWX IF INSUFFICIENT NFL SPACE
  15776. FPW20.0 RJ GDB GET DAYFILE BUFFER
  15777. SA1 GDBD
  15778. NZ X1,FPWX IF INACCURATE DAYFILE BUFFER POINTERS
  15779. SA1 F.TSC1 GET POINTER ADDRESS
  15780. SA1 X1 READ POINTER WORD
  15781. MX2 -12
  15782. BX3 -X2*X1 DETERMINE *IN* AND *FIRST* POINTERS
  15783. SB2 X3 RELATIVE *IN* POINTER
  15784. SA4 F.TSCR
  15785. IX3 X4+X3
  15786. SB6 X3-1 INITIALIZE POINTER FOR SEARCH LOOP
  15787. SA3 GDBB GET BUFFER LENGTH
  15788. SB7 X3
  15789. NZ B2,FPW20.1 IF *IN* .NE. 0
  15790. SB6 X4+B7 SET POINTER AT LWA OF DATA
  15791. SB6 B6-B1
  15792. FPW20.1 SB3 X4 *FIRST* POINTER
  15793. SA1 A1+B1 DETERMINE *OUT* POINTER
  15794. BX3 -X2*X1
  15795. SX6 X3+B2 RELATIVE *IN* + *OUT*
  15796. IX3 X4+X3
  15797. SB4 X3 *OUT* POINTER
  15798. SA1 A1+B1 CHECK DISK ASSIGNMENT
  15799. AX1 12
  15800. IX6 X1+X6 CHECK *IN* = *OUT* = 0
  15801. ZR X6,FPWX IF BUFFER NOT USED
  15802. SB5 B1 INITIALIZE WORD COUNTER
  15803. SB2 B0 INITIALIZE TOP OF MESSAGE WORD COUNTER
  15804.  
  15805. * FIND THE START OF THE LAST MESSAGE.
  15806.  
  15807. FPW20.2 NE B6,B3,FPW20.3 IF POINTER .NE. FIRST
  15808. SB6 B3+B7 SET POINTER = FIRST + LIMIT
  15809. SB2 B5 SET TOP OF MESSAGE COUNT
  15810. FPW20.3 SB6 B6-B1 *IN* = *IN* - 1
  15811. SA3 B6 CHECK FOR ZERO BYTE TERMINATOR
  15812. BX3 -X2*X3
  15813. ZR X3,FPW20.5 IF START OF LAST MESSAGE FOUND
  15814. SB5 B5+B1 INCREMENT WORD COUNT
  15815. EQ B6,B4,FPW20.4 IF *IN* = *OUT* BOTTOM OF MESSAGE
  15816. GT B5,B7,FPWX IF LAST MESSAGE CAN NOT BE DETECTED
  15817. EQ FPW20.2 CONTINUE SEARCH FOR START OF LAST MESSAGE
  15818.  
  15819. * SETUP THE PRINT BUFFER WITH FIRST AND LAST PART OF THE
  15820. * MESSAGE IN UNPACKED FORMAT.
  15821.  
  15822. FPW20.4 SB6 B6-B1 ADJUST POINTER TO FWA-1
  15823. FPW20.5 SX3 B5-B2 CALCULATE WORDS IN BEGINNING OF MESSAGE
  15824. SX1 10
  15825. IX3 X1*X3 NUMBER OF CHARACTERS IN FIRST OF MESSAGE
  15826. SB7 PRBF+29 SET PRINT STRING ADDRESS
  15827. GE B6,B3,FPW20.6 IF NOT BEGINNING OF BUFFER
  15828. SX6 65B =1R_
  15829. SA6 B7
  15830. SB7 B7+B1 DESTINATION OF UNPACKED CHARACTERS
  15831. FPW20.6 SA2 B6+B1 SOURCE OF PACKED CHARACTERS
  15832. SB6 X3 NUMBER OF CHARACTERS TO UNPACK
  15833. ZR B6,FPW20.7 IF MESSAGE WORDS CONTIGUOUS IN LAST PART
  15834. RJ UPS STORE FIRST PART OF MESSAGE
  15835. FPW20.7 ZR B2,FPWX IF MESSAGE WORDS CONTIGUOUS IN FIRST PART
  15836. SA2 F.TSCR SOURCE OF PACKED CHARACTERS
  15837. SX3 B2 CALCULATE NUMBER OF CHARACTERS IN LAST PART
  15838. SA2 X2
  15839. IX3 X1*X3
  15840. SB6 X3
  15841. RJ UPS STORE LAST PART OF MESSAGE
  15842. EQ FPWX EXIT
  15843.  
  15844. * LINE 15 - SPECIAL ENTRY POINTS.
  15845.  
  15846. FPW21 SA1 CN
  15847. SA2 NC
  15848. SX2 X2+B1
  15849. IX1 X2-X1
  15850. ZR X1,FPWX IF SYSTEM CONTROL POINT
  15851. SA2 =28HSPECIAL ENTRY POINTS -
  15852. SB6 28
  15853. RJ UPS STORE HEADING
  15854. SA1 B2+SEPW READ ENTRY POINT FLAGS
  15855. SB3 FPWCL SET NUMBER OF ENTRY POINTS
  15856. LX1 59-56 POSITION FIRST ENTRY POINT
  15857. FPW22 PL X1,FPW23 IF NO SPECIAL ENTRY POINT
  15858. SA2 B3+FPWC-1 READ ENTRY POINT NAME
  15859. SB6 5
  15860. RJ UPS STORE NAME
  15861. FPW23 LX1 1 CHECK NEXT BIT
  15862. SB3 B3-B1
  15863. NZ B3,FPW22 IF MORE BITS TO CHECK
  15864. JP FPWX EXIT
  15865.  
  15866. FPWA BSS 0 LINE PROCESSOR JUMP TABLE
  15867. LOC 0
  15868. + JP FPW1
  15869. + JP FPW2 PROCESS LINE 1
  15870. + JP FPW4 PROCESS LINE 2
  15871. + JP FPW5 PROCESS LINE 3
  15872. + JP FPW6 PROCESS LINE 4
  15873. + JP FPW7 PROCESS LINE 5
  15874. + JP FPW8 PROCESS LINE 6
  15875. + JP FPWX
  15876. + JP FPW12
  15877. + JP FPW13
  15878. + JP FPWX
  15879. + JP FPW14
  15880. + JP FPWX
  15881. + JP FPW20
  15882. + JP FPWX
  15883. + JP FPW21
  15884. + JP FPWX
  15885. LOC *O
  15886. FPX SPACE 4,20
  15887. ** FPX - FIND AND PACK EXCHANGE PACKAGE.
  15888. *
  15889. * ENTRY (X2) = 0, IF REQUEST FOR FIRST CPU EXCHANGE PACKAGE.
  15890. * = ADDRESS OF THE ADDRESS OF THE DIRECTORY TABLE
  15891. * ENTRY FOR THE EXCHANGE PACKAGE FOR CPU1.
  15892. *
  15893. * EXIT (X1) = 0, IF CPU1 NOT PRESENT OR NOT IN C170 MODE.
  15894. * = ADDRESS OF THE ADDRESS OF THE DIRECTORY TABLE
  15895. * ENTRY FOR THE EXCHANGE PACKAGE FOR CPU1.
  15896. * EXCHANGE PACKAGE PACKED AT *BUF*.
  15897. * TO *ERR15* IF C170 STATE XP NOT FOUND FOR CPU0.
  15898. *
  15899. * USES X - 1, 2, 3, 4, 6, 7.
  15900. * A - 0, 1, 2, 3, 4, 6, 7.
  15901. * B - 2, 3.
  15902. *
  15903. * CALLS FPR, PCM.
  15904. *
  15905. * MACROS GETCM, MOVE.
  15906.  
  15907.  
  15908. FPX SUBR ENTRY/EXIT
  15909. BX6 X2
  15910. SA6 FPXA SAVE CPU1(800) ON/OFF
  15911. SX6 B0 DO NOT DISPLAY RADIAL MCI
  15912. SA1 .PXP
  15913. RJ FPR FIND PROCESSOR RECORD
  15914. ZR X2,ERR15 IF PROCESSOR EXCHANGE PACKAGE NOT FOUND
  15915. SA1 FPXA
  15916. SX6 BUF+20B
  15917. NZ X1,FPX0 IF NOT FIRST RECORD
  15918. SA2 NR SAVE CPU1 RECORD POINTER
  15919. BX6 X2
  15920. SA6 A1
  15921. SX6 BUF
  15922. FPX0 SA6 A1+B1 SET BUFFER POINTER
  15923. ERRNZ FPXB-FPXA-1
  15924. SX3 B0
  15925. RJ PCM POSITION FOR READ
  15926. SA4 FPXB
  15927. SA0 X4
  15928. GETCM A0,33 READ CYBER 170-8X5 EXCHANGE PACKAGE
  15929. SA1 A0+B1
  15930. AX1 -4
  15931. SX1 X1-1
  15932. ZR X1,FPX1 IF C170 VMID
  15933. SA3 S2JPS
  15934. RJ CEA POSITION TO JOB EXCHANGE PACKAGE IN *EI*
  15935. SA4 FPXB
  15936. SA0 X4
  15937. GETCM A0,33 READ JOB EXCHANGE PACKAGE
  15938. SA1 A0+B1
  15939. AX1 -4
  15940. SX1 X1-1
  15941. ZR X1,FPX1 IF C170 VMID
  15942. SA1 FPXB
  15943. SX1 X1-BUF-20B
  15944. NZ X1,ERR15 IF CPU0 NOT C170 VMID
  15945. EQ FPXX CPU1 NOT C170 VMID
  15946.  
  15947. FPX1 MOVE 5,A0+4,A0+1
  15948. SA1 A0+3
  15949. SA2 A0+B1
  15950. BX6 X1
  15951. LX7 X2
  15952. SA6 A0+6 STORE MA
  15953. AX7 32-12
  15954. SA7 A1 STORE MODE
  15955. SA1 A2-B1 CHANGE P TO A WORD ADDRESS
  15956. MX4 -24
  15957. BX2 -X4*X2 EXTRACT RA
  15958. AX1 3
  15959. IX6 X1-X2 FORM RELATIVE P
  15960. SA6 A1
  15961. SB2 B0
  15962. MX6 0
  15963. SA6 A0+7
  15964. SA6 A0+17
  15965. MX3 -18
  15966. FPX2 SA1 A0+B2 FORM UPPER 10 WORDS OF XP
  15967. SA2 A1+9 GET A-REGISTER
  15968. BX6 -X4*X1
  15969. BX7 -X3*X2
  15970. SA2 A2+8 GET B-REGISTER
  15971. LX6 18
  15972. BX6 X6+X7
  15973. BX7 -X3*X2
  15974. LX6 18
  15975. BX6 X6+X7
  15976. SA6 A1 STORE EXCHANGE PACKAGE WORD
  15977. SB2 B2+B1
  15978. SB3 10B
  15979. NE B3,B2,FPX2 IF MORE TO PACK
  15980. MOVE 10B,A0+25,A0+10B MOVE X-REGISTERS
  15981. SA1 FPXA GET CPU1(800) ON/OFF
  15982. EQ FPXX RETURN
  15983.  
  15984. FPXA CON 0 POINTER TO CPU1 EXCHANGE PACKAGE
  15985. FPXB CON 0 BUFFER ADDRESS POINTER
  15986. FRV SPACE 4,10
  15987. ** FRV - FETCH REGISTER VALUE.
  15988. *
  15989. * ENTRY (X1) = SVA OF REGISTER.
  15990. *
  15991. * EXIT (X6) = 16/0, 12/SEG, 32/BYTE OFFSET.
  15992. * (X2) = 0, IF PAGE FOUND.
  15993. *
  15994. * USES X - 2, 5, 6.
  15995. *
  15996. * CALLS ISM, NXB, PSM.
  15997.  
  15998.  
  15999. FRV SUBR ENTRY/EXIT
  16000. BX6 X1
  16001. RJ PVM POSITION VIRTUAL MEMORY
  16002. NZ X2,FRVX IF PAGE NOT FOUND
  16003. RJ NXB
  16004. BX5 X1 EXTRACT SEGMENT NUMBER
  16005. RJ NXB
  16006. LX5 16
  16007. BX5 X5+X1
  16008. RJ NXB
  16009. LX5 16
  16010. BX6 X5+X1
  16011. SX2 0
  16012. JP FRVX RETURN
  16013. FSC SPACE 4,11
  16014. ** FSC - FORMAT STATUS/CONTROL REGISTER CONTENTS.
  16015. *
  16016. * ENTRY X5 = SC16 CHARACTERS STRING ADDRESS.
  16017. * B3 = NUMBER OF CHARACTERS.
  16018. * A0 = ADDRESS OF 14 CHARACTER DESCRIPTION.
  16019. * SCPA = 0 IF SC36 TO BE PROCESSED(CHARACTER STRING
  16020. * WILL BE FOUND AT X5+ 100).
  16021. *
  16022. * USES ALL REGISTERS.
  16023. *
  16024. * CALLS MVE=,SSB,UPS,WOF.
  16025.  
  16026.  
  16027. FSC SUBR
  16028. RJ SSB CLEAR PRINT STRING
  16029. SB2 1
  16030. SB7 PRBF+15
  16031. FSC1 SA2 A0+
  16032. SB6 14
  16033. RJ UPS
  16034. SB7 B7+2 SPACE TWICE
  16035. MOVE B3,X5,B7
  16036. ZR B2,FSC2 IF DONE WITH SC36
  16037. SA4 /DIRECT/SCPA
  16038. NZ X4,FSC2 IF SC36 RECORD NOT FOUND
  16039. SB2 0
  16040. SX5 X5+100 SET SC36 CHARACTER STRING ADDRESS
  16041. SB7 PRBF+65
  16042. JP FSC1 CONTINUE
  16043.  
  16044. FSC2 PRINT CCCH,116
  16045. JP FSCX EXIT
  16046. FTR SPACE 4,15
  16047. ** FTR - FORMAT TWO PP COMMUNICATION REGISTERS.
  16048. *
  16049. * ENTRY A5 = ADDRESS OF FIRST REGISTER WORD.
  16050. * X5 = FIRST REGISTER WORD.
  16051. * FW = CURRENT PPU NUMBER.
  16052. *
  16053. * EXIT A5 IS ADVANCED BY 20B.
  16054. *
  16055. * USES X - 1, 2, 5, 6.
  16056. * A - 1, 2, 5, 6.
  16057. * B - 2, 4, 7.
  16058. *
  16059. * CALLS FPL.
  16060. *
  16061. * MACROS PRINT.
  16062.  
  16063.  
  16064. FTR SUBR
  16065. SX6 0
  16066. SA6 FTRA CLEAR LINE INDEX
  16067. PRINT (=2C )
  16068. FTR1 SA1 FW
  16069. SA2 FTRA
  16070. SB2 X1 SET PPU NUMBER
  16071. SB4 X2 SET LINE INDEX
  16072. SB7 PRBF+7 PRINT STRING ADDRESS
  16073. RJ FPL FORMAT PPU REGISTER WORD
  16074. SB2 B2+1 ADVANCE PPU NUMBER
  16075. SA5 A5+10B READ WORD FROM NEXT AREA
  16076. SA1 FTRB
  16077. NZ X1,FTR2 IF ONLY 1 AREA TO PRINT
  16078. SB7 PRBF+65
  16079. RJ FPL FORMAT REGISTER WORD
  16080. FTR2 PRINT CCCH,B7-CCCH
  16081. SA5 A5-7 READ NEXT WORD OF FIRST REGISTER
  16082. SA1 FTRA
  16083. SX6 X1+B1
  16084. SA6 A1 ADVANCE LINE INDEX
  16085. SX6 X6-10B
  16086. NG X6,FTR1 IF MORE LINES TO FORMAT
  16087. SA5 A5+10B UPDATE POINTER
  16088. SX6 B0+ CLEAR 1 AREA FLAG
  16089. SA6 FTRB
  16090. JP FTRX EXIT
  16091.  
  16092. FTRA BSS 1 LINE INDEX
  16093. FTRB CON 0 PRINT ONLY 1 AREA FLAG
  16094. FXA SPACE 4,10
  16095. ** FXA - FORMAT EXCHANGE AREA.
  16096. *
  16097. * ENTRY (X1)= SVA OF EXCHANGE PACKAGE.
  16098. * (X6)= NUMBER OF WORDS TO FORMAT.
  16099. *
  16100. * EXIT DESIRED AMOUNT OF EXCHANGE AREA PRINTED.
  16101. *
  16102. * USES A - 0, 1, 2, 3, 5, 6, 7.
  16103. * X - 1, 2, 3, 5, 6, 7.
  16104. * B - 6, 7.
  16105. *
  16106. * CALLS CDD, HTS, RMB, SSB, UPS.
  16107. *
  16108. * MACROS PRINT.
  16109.  
  16110.  
  16111. FXA SUBR ENTRY/EXIT
  16112. SA6 FXAA+1 SAVE TERMINATING CONDITION
  16113. SX6 51 READ FULL BUFFER
  16114. RJ RMB READ MEMORY BYTES
  16115. SX7 0
  16116. SA7 FXAA
  16117. SA1 BUF+8 FETCH FRAME DESCRIPTOR
  16118. SX2 0#F0
  16119. SA3 FXAD DESCRIPTOR FOR FULL PACKAGE
  16120. BX6 X3
  16121. BX7 X1*X2 EXTRACT POSSIBLE ENDING A-REGISTER
  16122. SA6 FXAA+2
  16123. ZR X7,FXA1 IF EXCHANGE PACKAGE
  16124. LX7 18-4
  16125. IX3 X3+X7
  16126. LX2 4
  16127. BX6 X1*X2 EXTRACT STARTING X REGISTER
  16128. LX6 12-8
  16129. IX3 X6+X3
  16130. LX2 -8
  16131. BX6 X1*X2 EXTRACT ENDING X REGISTER
  16132. LX6 6-0
  16133. IX6 X6+X3
  16134. LX6 59-23
  16135. SA6 A6 SAVE STACK FRAME DESCRIPTOR
  16136. FXA1 RJ SSB SPACE FILL BUFFER
  16137. SA1 FXAA REGISTER TO DUMP
  16138. SA5 FXAB+X1 REGISTER DESCRIPTOR
  16139. SX2 X1
  16140. LX2 2
  16141. SA0 BUF+X2 POINTER TO REGISTER CONTENT
  16142. RJ CDD GET DECIMAL REGISTER NUMBER
  16143. BX2 X6
  16144. LX2 59-11
  16145. SB7 PRBF
  16146. SB6 2
  16147. RJ UPS PLACE REGISTER NUMBER IN OUTPUT LINE
  16148. MX2 -17
  16149. BX6 -X2*X5 EXTRACT MESSAGE ADDRESS
  16150. SA6 FXAC
  16151. AX5 17
  16152. BX7 -X2*X5 EXTRACT 2 CHARACTER FIELD
  16153. SA7 A6+B1
  16154. SB7 B7+2
  16155. SA2 X6 FETCH MESSAGE
  16156. NZ X6,FXA3 IF MESSAGE SPECIFIED
  16157. BX2 X7 2 CHARACTER FIELD
  16158. LX2 59-11 LEFT JUSTIFY
  16159. SB7 PRBF+11
  16160. SB6 B1+B1
  16161. SX5 B6+B6
  16162. RJ UPS DISPLAY REGISTER NAME
  16163. FXA2 SB7 B7+2 NEW POSITION IN OUTPUT LINE
  16164. SA1 A0
  16165. LX1 59-15 LEFT JUSTIFY 16 BIT DATA
  16166. SB6 4
  16167. RJ HTS DISPLAY 4 HEX DIGITS
  16168. SA0 A0+1
  16169. SX5 X5-1
  16170. NZ X5,FXA2 IF MORE 16 BIT CHUNKS TO DISPLAY
  16171. EQ FXA4 PRINT LINE
  16172.  
  16173. FXA3 SB6 9
  16174. RJ UPS UNPACK MESSAGE TO LINE
  16175. SA2 FXAC+1 GET REGISTER NAME
  16176. SB6 B1+B1
  16177. SX5 B6+B6
  16178. ZR X2,FXA2 IF NO REGISTER NAME
  16179. SB7 PRBF+25
  16180. LX2 59-11
  16181. RJ UPS PLACE REGISTER NAME IN LINE
  16182. SA1 A0
  16183. LX1 59-15
  16184. SB7 PRBF+15
  16185. SB6 4
  16186. RJ HTS DISPLAY 4 HEX DIGITS
  16187. SA5 A0+B1
  16188. LX5 16
  16189. SA1 A0+2
  16190. BX5 X5+X1
  16191. LX5 16
  16192. SA1 A0+3
  16193. BX1 X5+X1
  16194. LX1 59-47
  16195. SB7 PRBF+29
  16196. SB6 1
  16197. RJ HTS DISPLAY RING NUMBER
  16198. SB7 B7+B1
  16199. SB6 3
  16200. RJ HTS DISPLAY SEGMENT NUMBER
  16201. SB7 B7+2
  16202. SB6 8
  16203. RJ HTS DISPLAY ADDRESS DATA
  16204. FXA4 PRINT CCCH,B7-CCCH+1
  16205. SA1 FXAA
  16206. SA2 A1+B1
  16207. SX6 X1+B1 INCREMENT REGISTER NUMBER
  16208. SA6 A1
  16209. IX2 X1-X2
  16210. ZR X2,FXAX IF EXCHANGE PACKAGE DUMP FINISHED
  16211. MX2 -6
  16212. SA3 A2+B1
  16213. BX6 X3
  16214. LX6 6
  16215. BX3 -X2*X6 ENDING REGISTER NUMBER
  16216. IX1 X1-X3
  16217. NZ X1,FXA1 IF MORE REGISTERS TO DUMP
  16218. LX6 6
  16219. SA6 A3 REPLACE DESCRIPTOR
  16220. BX6 -X2*X6
  16221. SA6 A1 SET NEW STARTING REGISTER
  16222. ZR X6,FXAX IF END OF DUMP
  16223. PRINT (=2C )
  16224. EQ FXA1 DISPLAY NEXT REGISTER
  16225.  
  16226.  
  16227. FXAA CON 0 REGISTER NUMBER
  16228. CON 0 LAST REGISTER NUMBER
  16229. CON 0 DUMP DESCRIPTOR
  16230.  
  16231. FXAB BSS 0 REGISTER DESCRIPTORS
  16232. P RFDSC 00,(LKEY )
  16233. A0 RFDSC 00,(VMID/UVMI)
  16234. A1 RFDSC 01,(FLGS/TRAP)
  16235. A2 RFDSC 02,(USER MASK)
  16236. A3 RFDSC 03,( MTR MASK)
  16237. A4 RFDSC 04,(USER COND)
  16238. A5 RFDSC 05,( MTR COND)
  16239. A6 RFDSC 06,(KYPC/LPID)
  16240. A7 RFDSC 07,(KYPT MASK)
  16241. A8 RFDSC 08,(KYPT CODE)
  16242. A9 RFDSC 09,( )
  16243. AA RFDSC 0A,(INTV TIMR)
  16244. AB RFDSC 0B,( )
  16245. AC RFDSC 0C,(BASE CONS)
  16246. AD RFDSC 0D,( )
  16247. AE RFDSC 0E,(MODL FLGS)
  16248. AF RFDSC 0F,(SEGT LENG)
  16249. X0 RFDSC 10
  16250. X1 RFDSC 11
  16251. X2 RFDSC 12
  16252. X3 RFDSC 13
  16253. X4 RFDSC 14
  16254. X5 RFDSC 15
  16255. X6 RFDSC 16
  16256. X7 RFDSC 17
  16257. X8 RFDSC 18
  16258. X9 RFDSC 19
  16259. XA RFDSC 1A
  16260. XB RFDSC 1B
  16261. XC RFDSC 1C
  16262. XD RFDSC 1D
  16263. XE RFDSC 1E
  16264. XF RFDSC 1F
  16265. RFDSC 20,(TRACE REG)
  16266. UP RFDSC 21,(SEGMENT )
  16267. TP RFDSC 22,(TBL ADDR )
  16268. DP RFDSC 23,(DB I/DB M)
  16269. R1 RFDSC 24,(MAX RING )
  16270. R2 RFDSC 25,( )
  16271. R3 RFDSC 26,( )
  16272. R4 RFDSC 27,( )
  16273. R5 RFDSC 28,( )
  16274. R6 RFDSC 29,( )
  16275. R7 RFDSC 2A,( )
  16276. R8 RFDSC 2B,( )
  16277. R9 RFDSC 2C,( )
  16278. RA RFDSC 2D,( )
  16279. RB RFDSC 2E,( )
  16280. RC RFDSC 2F,( )
  16281. RD RFDSC 30,( )
  16282. RE RFDSC 31,( )
  16283. RF RFDSC 32,( )
  16284.  
  16285. FXAC CON 0 MESSAGE ADDRESS
  16286. CON 0 REGISTER NAME
  16287.  
  16288. FXAD VFD 6/16,6/17,6/32,6/33,6/51,6/0,6/1,6/17,6/17,6/0
  16289. FXC SPACE 4,15
  16290. ** FXC - FORMAT EXCHANGE PACKAGE REGISTER ADDRESS CONTENTS.
  16291. *
  16292. * ENTRY (B2) = ADDRESS OF EXCHANGE PACKAGE REGISTER ADDRESS.
  16293. * (X5) = STRING BUFFER ADDRESS FOR CONTENTS.
  16294. * (FW) = ADDRESS OF CONTROL POINT AREA.
  16295. *
  16296. * EXIT REGISTER AND CONTENTS PLACED IN STRING BUFFER.
  16297. *
  16298. * USES A - 1, 2, 6.
  16299. * B - 6, 7.
  16300. * X - 1, 2, 6.
  16301. *
  16302. * CALLS FDW, GFL, POM, SDI.
  16303. *
  16304. * MACROS GETCM.
  16305.  
  16306.  
  16307. FXC SUBR ENTRY/EXIT
  16308. SA1 FW GET FIELD LENGTH AND REFERENCE ADDRESS
  16309. RJ GFL
  16310. SA6 BA
  16311. SA1 B2 CHECK ADDRESS AGAINST FL
  16312. IX2 X1-X7
  16313. BX6 X6-X6 CLEAR VALUE
  16314. PL X2,FXC1 IF ADDRESS .GE. FL
  16315. RJ POM POSITION DUMP FILE
  16316. GETCM READ WORD
  16317. FXC1 SA2 =4000005B CONVERT REGISTER ADDRESS CONTENTS
  16318. SB7 X5
  16319. BX1 X6
  16320. RJ FDW FORMAT WORD
  16321. BX2 X1 SET DATA WORD
  16322. SB6 10
  16323. RJ SDI SET DISPLAY CODE INTERPRETATION
  16324. SX6 B0+ CLEAR REFERENCE ADDRESS
  16325. SA6 BA
  16326. EQ FXCX RETURN
  16327. FXW SPACE 4,16
  16328. ** FXW - FORMAT EXCHANGE PACKAGE WORD.
  16329. *
  16330. * ENTRY X1 = WORD INDEX.
  16331. * X5 = WORD.
  16332. * A5 = WORD ADDRESS.
  16333. * B7 = PRINT STRING ADDRESS.
  16334. * = COMPLEMENT OF PRINT STRING ADDRESS IF CONTENTS
  16335. * OF REGISTER ADDRESSES TO BE DISPLAYED.
  16336. *
  16337. * EXIT A5 IS ADVANCED.
  16338. *
  16339. * USES X - 0, 1, 2, 3, 5, 6.
  16340. * A - 1, 2, 3, 5, 6, 7.
  16341. * B - 2, 4, 6, 7.
  16342. *
  16343. * CALLS COD, DOS, FDW, FXC, SDI, UPS.
  16344.  
  16345.  
  16346. FXW SUBR
  16347. BX6 X6-X6
  16348. PL B7,FXW1 IF CONTENTS OF ADDRESS NOT TO BE DISPLAYED
  16349. SB7 -B7 SET PRINT STRING ADDRESS
  16350. SX6 B1 SET DISPLAY CONTENTS FLAG
  16351. FXW1 SA6 FXWE
  16352. SX2 X1-10B
  16353. PL X2,FXW6 IF X-REGISTER
  16354. SB4 B7 SAVE B7
  16355. SA2 FXWA+X1 READ REGISTER NAME
  16356. SA3 CF CHECK IF A CYBER 176
  16357. NZ X3,FXW2 IF NOT CYBER 176
  16358. LX2 42 READ CYBER 176 REGISTER NAME
  16359.  
  16360. * SET REGISTER NAMES.
  16361.  
  16362. FXW2 SB6 3 SET CONTROL REGISTER NAME
  16363. RJ UPS
  16364. NZ X3,FXW3 IF NOT A CYBER 176
  16365. LX2 18 SHIFT TO NEXT A REGISTER NAME
  16366. FXW3 SB7 B7+11 SET A-REGISTER NAME
  16367. SB6 2
  16368. RJ UPS
  16369. SB7 B7+9 SET B-REGISTER NAME
  16370. SB6 2
  16371. RJ UPS
  16372.  
  16373. * SET A AND B-REGISTER CONTENTS NAMES.
  16374.  
  16375. SA1 FXWE
  16376. ZR X1,FXW4 IF NOT TO DISPLAY ADDRESS CONTENTS
  16377. SA2 FXWB
  16378. SB7 B7+9
  16379. SB6 5
  16380. RJ UPS UNPACK TO STRING BUFFER
  16381. SB7 B7+37
  16382. SB6 5
  16383. RJ UPS UNPACK TO STRING BUFFER
  16384.  
  16385. * SET REGISTERS IN STRING BUFFER.
  16386.  
  16387. FXW4 SB7 B4+4
  16388. BX1 X5
  16389. LX1 24 SET CONTROL REGISTER
  16390. SB4 8
  16391. RJ DOS
  16392. MX0 -18
  16393. BX7 -X0*X5
  16394. SA7 FXWD SAVE B-REGISTER
  16395. BX1 X5
  16396. LX1 -18 SET A-REGISTER
  16397. BX7 -X0*X1
  16398. SA7 A7-B1 SAVE A-REGISTER
  16399. SB7 B7+3
  16400. SB4 6
  16401. RJ DOS
  16402. BX1 X5 SET B-REGISTER
  16403. SB7 B7+3
  16404. SX5 PRBF+42
  16405. RJ DOS
  16406.  
  16407. * FORMAT A AND B-REGISTER CONTENTS.
  16408.  
  16409. SA1 FXWE
  16410. ZR X1,FXW5 IF NOT TO DISPLAY ADDRESS CONTENTS
  16411. SB2 FXWC
  16412. RJ FXC
  16413. SB2 FXWD
  16414. SX5 PRBF+84
  16415. RJ FXC
  16416. SA1 FXWB
  16417. SA2 =100000000010000B
  16418. IX6 X1+X2
  16419. SA6 A1
  16420. FXW5 SA5 A5+B1 READ NEXT WORD
  16421. JP FXWX EXIT
  16422.  
  16423. * FORMAT X - REGISTER.
  16424.  
  16425. FXW6 SA3 FXWB RESET REGISTER NUMBER
  16426. SA2 =10H(A0)=(B0)=
  16427. BX6 X2
  16428. SA6 A3
  16429. SA2 FXWA+X1 READ REGISTER NAME
  16430. BX1 X5 SET DATA WORD
  16431. MX0 -18 SAVE ADDRESS
  16432. BX6 -X0*X5
  16433. SA6 FXWC
  16434. SB6 4
  16435. RJ UPS STORE REGISTER NAME
  16436. SA3 FXWE
  16437. ZR X3,FXW7 IF NOT TO DISPLAY ADDRESS CONTENTS
  16438. SB4 B7+ SAVE STRING BUFFER ADDRESS
  16439. SB6 5
  16440. SB7 B4+37
  16441. RJ UPS UNPACK TO STRING BUFFER
  16442. SB7 B4+
  16443. FXW7 SA2 =4000005B
  16444. RJ FDW CONVERT REGISTER WORD
  16445. BX2 X1 SET DATA WORD
  16446. SB6 10
  16447. RJ SDI SET DISPLAY CODE INTERPRETATION
  16448. SA1 FXWE
  16449. ZR X1,FXW5 IF NOT TO DISPLAY ADDRESS CONTENTS
  16450. SB2 FXWC FORMAT X - REGISTER CONTENTS
  16451. SX5 B7+7
  16452. RJ FXC
  16453. EQ FXW5 EXIT
  16454.  
  16455. FXWA BSS 0 REGISTER NAMES
  16456. DATA 10LP A0B0P
  16457. DATA 10LRA A1B1RA
  16458. DATA 10LFL A2B2FL
  16459. DATA 10LEM A3B3PSD
  16460. DATA 10LRAEA4B4RAE
  16461. DATA 10LFLEA5B5FLE
  16462. DATA 10LMA A6B6MA
  16463. DATA 10L A7B7EEA
  16464. DATA 10LX0 (X0)=
  16465. DATA 10LX1 (X1)=
  16466. DATA 10LX2 (X2)=
  16467. DATA 10LX3 (X3)=
  16468. DATA 10LX4 (X4)=
  16469. DATA 10LX5 (X5)=
  16470. DATA 10LX6 (X6)=
  16471. DATA 10LX7 (X7)=
  16472. FXWB DATA 10L(A0)=(B0)= REGISTER CONTENTS NAMES
  16473. FXWC CON 0 BINARY A-REGISTER ADDRESS
  16474. FXWD CON 0 BINARY B-REGISTER ADDRESS
  16475. FXWE CON 0 DISPLAY REGISTER ADDRESS CONTENTS FLAG
  16476. GAT SPACE 4,28
  16477. ** GAT - GET ADDRESS TOKEN.
  16478. *
  16479. * ENTRY (GATA) = 0 IF PREVIOUS SEPARATOR WAS #.
  16480. *
  16481. * EXIT (B6) = 0 IF NO TOKEN OBTAINED.
  16482. * IF (B6) .NE. 0
  16483. * (X4) = TOKEN TYPE FLAG.
  16484. * IF (X4) = 0, TOKEN IS A HEX NUMBER.
  16485. * (X1) = CHARACTER REPRESENTATION OF TOKEN.
  16486. * (X6) = BINARY REPRESENTATION OF HEX NUMBER.
  16487. * IF (X4) .LT. 0, TOKEN IS AN XP SYMBOL.
  16488. * (X1) = (X6) = ACTUAL RMA VALUE.
  16489. * (X2) = REGISTER LIST ENTRY POSITIONED WITH
  16490. * *P.RMA* IN BIT 59.
  16491. * (A1) = ADDRESS IN *DSDI* OF ACTUAL VALUE IN X1.
  16492. * IF (X4) .GT. 0, TOKEN NOT AN XP SYMBOL, BUT IS
  16493. * PROBABLY A REGISTER SYMBOL.
  16494. * (X1) = CHARACTER REPRESENTATION OF TOKEN.
  16495. * (X2) = REGISTER LIST ENTRY POSITIONED WITH
  16496. * *P.RMA* IN BIT 59.
  16497. * (X6) = ADDRESS WITH *DSDI* WHERE REGISTER
  16498. * CAN BE FOUND.
  16499. *
  16500. * USES X - 1, 2, 3, 4, 6, 7.
  16501. * A - 1, 3, 4, 6.
  16502. * B - 6.
  16503. *
  16504. * CALLS ASX.
  16505.  
  16506.  
  16507. GAT SUBR ENTRY/EXIT
  16508. MX6 0
  16509. SB6 B0
  16510. SA4 GATA CHECK TERMINATOR
  16511. NZ X4,GATX IF INCORRECT TERMINATOR
  16512. RJ ASX GET HEX NUMBER
  16513. SA3 CH CHECK TERMINATOR
  16514. MX2 1 SET NUMBER FLAG
  16515. SA3 X3
  16516. SA1 ASXA FETCH IDENTIFIER
  16517. SX7 X3-1R#
  16518. SA7 GATA *#* FLAG
  16519. CX3 X1
  16520. SB6 X3
  16521. ZR B6,GATX IF NULL TOKEN
  16522. ZR X4,GATX IF VALID HEX NUMBER
  16523. SA4 A7+B1
  16524. ERRNZ GATA+1-GATB CODE ASSUMES VALUE
  16525. BX6 X1
  16526. SA6 GATC SAVE SEARCH TERMINATOR
  16527. GAT1 BX7 X4-X1 COMPARE ENTRIES
  16528. SX2 X4
  16529. AX7 -24
  16530. AX4 18
  16531. SX6 X4
  16532. SA4 A4+B1 FETCH NEXT LIST ENTRY
  16533. NZ X7,GAT1 IF ENTRY NOT YET FOUND
  16534. ZR X2,ERR6 IF ENTRY IS INCORRECT
  16535. LX2 59-P.RMA
  16536. BX4 X2
  16537. LX4 59-P.XCH-59+P.RMA
  16538. PL X4,GATX IF NOT AN EXCHANGE PACKAGE SYMBOL
  16539. SA1 X6
  16540. BX6 X1 FETCH ACTUAL RMA VALUE
  16541. JP GATX RETURN
  16542.  
  16543. GATA CON 0
  16544.  
  16545. GATB BSS 0 SYMBOL TABLE
  16546.  
  16547. P.XCH EQU 0 XCH FLAG BIT
  16548. V.XCH EQU 1S0
  16549. P.REG EQU 1 REGISTER FLAG BIT
  16550. V.REG EQU 1S1
  16551. P.RMA EQU 3 RMA FLAG BIT
  16552. V.RMA EQU 1S3
  16553.  
  16554. VFD 24/0LPVA,18/S2PVA,18/V.REG
  16555.  
  16556. VFD 24/0LP,18/2/2+BUF,18/V.REG
  16557. VFD 24/0LRN1,18/298/2+BUF,18/V.REG
  16558. VFD 24/0LRN2,18/306/2+BUF,18/V.REG
  16559. VFD 24/0LRN3,18/314/2+BUF,18/V.REG
  16560. VFD 24/0LRN4,18/322/2+BUF,18/V.REG
  16561. VFD 24/0LRN5,18/330/2+BUF,18/V.REG
  16562. VFD 24/0LRN6,18/338/2+BUF,18/V.REG
  16563. VFD 24/0LRN7,18/346/2+BUF,18/V.REG
  16564. VFD 24/0LRN8,18/354/2+BUF,18/V.REG
  16565. VFD 24/0LRN9,18/362/2+BUF,18/V.REG
  16566. VFD 24/0LRN10,18/370/2+BUF,18/V.REG
  16567. VFD 24/0LRN11,18/378/2+BUF,18/V.REG
  16568. VFD 24/0LRN12,18/386/2+BUF,18/V.REG
  16569. VFD 24/0LRN13,18/394/2+BUF,18/V.REG
  16570. VFD 24/0LRN14,18/402/2+BUF,18/V.REG
  16571. VFD 24/0LRN15,18/410/2+BUF,18/V.REG
  16572. VFD 24/0LRA0,18/10/2+BUF,18/V.REG
  16573. VFD 24/0LRA1,18/18/2+BUF,18/V.REG
  16574. VFD 24/0LRA2,18/26/2+BUF,18/V.REG
  16575. VFD 24/0LRA3,18/34/2+BUF,18/V.REG
  16576. VFD 24/0LRA4,18/24/2+BUF,18/V.REG
  16577. VFD 24/0LRA5,18/50/2+BUF,18/V.REG
  16578. VFD 24/0LRA6,18/58/2+BUF,18/V.REG
  16579. VFD 24/0LRA7,18/66/2+BUF,18/V.REG
  16580. VFD 24/0LRA8,18/74/2+BUF,18/V.REG
  16581. VFD 24/0LRA9,18/82/2+BUF,18/V.REG
  16582. VFD 24/0LRAA,18/90/2+BUF,18/V.REG
  16583. VFD 24/0LRAB,18/98/2+BUF,18/V.REG
  16584. VFD 24/0LRAC,18/106/2+BUF,18/V.REG
  16585. VFD 24/0LRAD,18/114/2+BUF,18/V.REG
  16586. VFD 24/0LRAE,18/122/2+BUF,18/V.REG
  16587. VFD 24/0LRAF,18/130/2+BUF,18/V.REG
  16588. VFD 24/0LUTP,18/274/2+BUF,18/V.REG
  16589. VFD 24/0LTP,18/282/2+BUF,18/V.REG
  16590.  
  16591. VFD 24/0LMPS,18/S2MPS,18/V.RMA+V.XCH
  16592. VFD 24/0LJPS,18/S2JPS,18/V.RMA+V.XCH
  16593. VFD 24/0LRMA,18/S2RMA,18/V.RMA+V.XCH
  16594. VFD 24/0LPXP,18/0,18/V.XCH
  16595.  
  16596. GATC CON 0 END OF TABLE
  16597. GCS SPACE 4,10
  16598. ** GCS - GET CPU STATUS.
  16599. *
  16600. * ENTRY (X5) = FWA OF CPA IN *TCMT*.
  16601. * (B7) = STRING BUFFER POINTER.
  16602. *
  16603. * EXIT CPU PRIORITY PLACED IN STRING BUFFER.
  16604. *
  16605. * USES X - 0, 1, 2, 6.
  16606. * A - 1, 2, 6.
  16607. * B - 3.
  16608.  
  16609.  
  16610. GCS SUBR ENTRY/EXIT
  16611. MX0 3
  16612. SA1 X5+STSW
  16613. BX1 X0*X1
  16614. LX1 4 FORM STATUS*6
  16615. SA2 GCSA
  16616. SB3 X1
  16617. LX1 1
  16618. SB3 B3+X1
  16619. AX2 B3,X2 SHIFT SELECTED STATUS TO BITS 5-0
  16620. MX0 -6
  16621. BX6 -X0*X2
  16622. SA6 B7 SET IN STRING BUFFER
  16623. EQ GCSX RETURN
  16624.  
  16625.  
  16626. GCSA DATA 10H IXW BA
  16627. GDA SPACE 4,10
  16628. ** GDA - GET DFT/OS BUFFER FWA (DFT CONTROL WORD).
  16629. *
  16630. * EXIT (X3) = DFT CONTROL WORD ADDRESS WITHIN BUFFER.
  16631. * = 0 IF DFT/OS BUFFER NOT FOUND.
  16632. * (X6) = DFT CONTROL WORD ADDRESS.
  16633. *
  16634. * USES X - 0, 1, 3.
  16635. * A - 1, 3.
  16636. *
  16637. * CALLS DRA.
  16638.  
  16639.  
  16640. GDA SUBR ENTRY/EXIT
  16641. SA1 F.TCMT
  16642. SA3 X1+EIBP POINTER TO *EICB*
  16643. MX0 -32
  16644. BX3 -X0*X3
  16645. ZR X3,GDAX IF NO *EICB*
  16646. IX3 X1+X3 GET DFT/OS POINTER
  16647. SA3 X3+/VE/DSCM+3
  16648. ZR X3,GDAX IF NO DFT/OS BUFFER
  16649. RJ DRA GET ADDRESS OF DFT CONTROL WORD
  16650. IX3 X1+X6
  16651. EQ GDAX RETURN
  16652. GDB SPACE 4,14
  16653. ** GDB - GET DAYFILE BUFFER.
  16654. *
  16655. * ENTRY (CN) = CONTROL POINT NUMBER.
  16656. * = 0, IF SYSTEM DAYFILE.
  16657. * = -1, IF ACCOUNTING DAYFILE.
  16658. * = -2, IF ERRLOG DAYFILE.
  16659. * = -3, IF BML DAYFILE.
  16660. * (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
  16661. *
  16662. * EXIT (GDBB) = DAYFILE BUFFER LENGTH.
  16663. * (GDBC) = MEMORY ADDRESS OF POINTERS.
  16664. * (GDBD) = NONZERO, IF DAYFILE BUFFER POINTERS EXTEND
  16665. * BEYOND MACHINE FL.
  16666. * DAYFILE BUFFER POINTERS STORED IN TABLE *TSC1*
  16667. * DAYFILE BUFFER STORED IN TABLE *TSCR*.
  16668. *
  16669. * USES X - 0, 1, 2, 3, 4, 6.
  16670. * A - 0, 1, 2, 3, 4, 6, 7.
  16671. * B - 2, 5.
  16672. *
  16673. * CALLS CNL, GFL, PCM, SCM.
  16674. *
  16675. * MACROS ALLOC, GETCM, PRINT.
  16676.  
  16677.  
  16678. GDB5 SX6 B1 SET POINTERS AS INACCURATE
  16679. SA6 GDBD
  16680. PRINT (=2C )
  16681. PRINT (=C+ *********WARNING - INACCURATE DAYFILE BUFFER POIN
  16682. ,TERS+)
  16683. PRINT (=2C )
  16684. GDB6 SX1 B0 INDICATE SUFFICIENT NFL SPACE
  16685.  
  16686. GDB SUBR ENTRY/EXIT
  16687. SX6 0
  16688. SA6 GDBD PRESET POINTERS AS ACCURATE
  16689. SA1 L.TSC1 GET TABLE LENGTH
  16690. SX3 3 LENGTH OF DAYFILE POINTERS
  16691. IX1 X3-X1 CHANGE IN LENGTH
  16692. SB2 A0 SAVE (A0)
  16693. ALLOC TSC1,X1
  16694. SA0 B2 RESTORE (A0)
  16695. SA4 CN CONTROL POINT NUMBER
  16696. SA1 NC
  16697. NG X4,GDB1 IF ACCOUNTING, ERRLOG OR BML DAYFILE
  16698. ZR X4,GDB2 IF SYSTEM DAYFILE
  16699. SX2 X1+B1
  16700. BX3 X2-X4
  16701. NZ X3,GDB4 IF NOT SYSTEM CONTROL POINT
  16702. SX4 B0
  16703. EQ GDB2 PROCESS SYSTEM DAYFILE POINTERS
  16704.  
  16705. GDB1 BX4 -X4
  16706. GDB2 SA1 F.TCMT
  16707. SB5 X1 TCMT BASE ADDRESS
  16708. SA3 B5+DFPP LOW CORE DAYFILE BUFFER POINTERS POINTER
  16709. LX3 24
  16710. SX3 X3
  16711. SX2 3 CALCULATE POINTER OFFSET
  16712. IX4 X4*X2
  16713. IX6 X3+X4 ADDRESS OF DAYFILE BUFFER POINTERS
  16714. SA6 GDBC
  16715. SX1 B5+X6 GET ABSOLUTE ADDRESS OF POINTERS
  16716. SA2 F.TSC1 MOVE POINTER WORDS TO TSC1
  16717. SA1 X1
  16718. BX6 X1
  16719. SA6 X2
  16720. SA1 A1+B1
  16721. BX6 X1
  16722. SA6 A6+B1
  16723. SA1 A1+B1
  16724. BX6 X1
  16725. SA6 A6+B1
  16726. GDB3 MX1 -12
  16727. SA3 F.TSC1 SET FWA OF POINTERS
  16728. SA3 X3
  16729. SA2 A3+B1 GET DAYFILE BUFFER LENGTH
  16730. AX2 24
  16731. BX6 -X1*X2
  16732. MX2 -24
  16733. SA6 GDBB SAVE BUFFER LENGTH
  16734. SA1 F.TCMT GET MACHINE FL
  16735. SA1 X1+MABL
  16736. AX1 12
  16737. BX1 -X2*X1
  16738. LX1 6
  16739. AX3 36 GET BUFFER FWA
  16740. IX2 X3-X1
  16741. IX2 X2+X6
  16742. PL X2,GDB5 IF BUFFER LWA+1 BEYOND MACHINE FL
  16743. ZR X6,GDBX IF NO BUFFER
  16744. RJ SCM SELECT CM RECORD
  16745. SA7 RI
  16746. RJ PCM POSITION 60 BIT MEMORY
  16747.  
  16748. * ALLOCATE BUFFER SPACE AND READ THE DAYFILE BUFFER.
  16749.  
  16750. SA3 GDBB GET BUFFER LENGTH
  16751. SA1 L.TSCR
  16752. IX1 X3-X1
  16753. SB2 A0+ SAVE A0
  16754. ALLOC TSCR,X1 ALLOCATE SCRATCH TABLE SPACE
  16755. SA0 B2 RESTORE A0
  16756. GETCM X2,X3 READ BUFFER TO TABLE
  16757. EQ GDB6 INDICATE SUFFICIENT NFL SPACE
  16758.  
  16759. GDB4 RJ CNL CHECK NFL LENGTH
  16760. NG X1,GDBX IF INSUFFICIENT NFL SPACE
  16761. SA2 OP ADD PCPA OFFSET
  16762. LX4 7
  16763. IX1 X4+X2
  16764. RJ GFL GET CONTROL POINT RA
  16765. SX3 DAPN
  16766. IX3 X6-X3 ABSOLUTE ADDRESS OF POINTER WORDS
  16767. BX6 X3
  16768. SA6 GDBC
  16769. RJ SCM SELECT CM RECORD
  16770. SA7 RI
  16771. RJ PCM POSITION TO CM RECORD
  16772. SA2 F.TSC1 READ POINTER WORDS TO TSC1
  16773. GETCM X2,3
  16774. SA1 GDBC FORM ABSOLUTE VALUE FOR *FIRST*
  16775. SX0 DAYN-DAPN
  16776. SA2 F.TSC1
  16777. IX6 X1-X0
  16778. SA1 X2
  16779. LX6 36
  16780. BX6 X1+X6
  16781. SA6 A1
  16782. EQ GDB3 READ DAYFILE BUFFER
  16783.  
  16784.  
  16785. GDBB BSS 1 DAYFILE BUFFER LENGTH
  16786. GDBC BSS 1 MEMORY ADDRESS OF POINTERS
  16787. GDBD BSS 1 INACCURATE BUFFER POINTERS FLAG
  16788. GEE SPACE 4,15
  16789. ** GEE - GET EJT ENTRY.
  16790. *
  16791. * ENTRY (FW) = CPA FWA.
  16792. * (RI) = CM RANDOM INDEX.
  16793. *
  16794. * EXIT (X1) = 0 IF CONTROL POINT NOT ACTIVE.
  16795. * (X5) = FWA OF EJT ENTRY IF ACTIVE.
  16796. * EJT ENTRY STORED AT *BUF* IF ACTIVE.
  16797. *
  16798. * USES X - 0, 1, 2, 3, 4, 5, 6.
  16799. * A - 1, 2, 3, 4.
  16800. *
  16801. * CALLS PCM.
  16802. *
  16803. * MACROS GETCM.
  16804.  
  16805.  
  16806. GEE2 SX1 0 SET INACTIVE CP
  16807.  
  16808. GEE SUBR ENTRY/EXIT
  16809. SA2 F.TCMT SET FWA EJT ENTRY
  16810. SA1 X2+EJTP
  16811. SA4 FW
  16812. AX1 36 FWA EJT
  16813. IX3 X4+X2 FWA CONTROL POINT AREA
  16814. SA3 X3+TFSW
  16815. MX0 12
  16816. BX6 X0*X3
  16817. SX3 EJTE
  16818. NZ X6,GEE1 IF ACTIVE CP
  16819. SA2 NC CHECK FOR SYSTEM CP
  16820. SX2 X2+1
  16821. LX2 7
  16822. IX2 X2-X4
  16823. NZ X2,GEE2 IF INACTIVE CP
  16824. GEE1 LX6 12
  16825. SA6 GEEA SAVE EJT ORDINAL
  16826. IX3 X6*X3
  16827. IX3 X1+X3
  16828. SX5 X3 SAVE FWA EJT ENTRY
  16829. RJ PCM POSITION TO EJT ENTRY
  16830. GETCM BUF,EJTE
  16831. SX1 1 SET EJT ENTRY FOUND
  16832. EQ GEEX RETURN
  16833.  
  16834.  
  16835. GEEA CON 0 EJT ORDINAL
  16836. GFL SPACE 4,15
  16837. ** GFL - GET FL AND RA.
  16838. *
  16839. * ENTRY (X1) = RELATIVE CPA/PCPA ADDRESS.
  16840. *
  16841. * EXIT (X1) = (X1)+(F.TCMT).
  16842. * (X2) = *FLSW* WORD OF CPA/PCPA, RIGHT SHIFTED 12 BITS.
  16843. * (X6) = RA.
  16844. * (X7) = FL.
  16845. *
  16846. * USES X - 1, 2, 6, 7.
  16847. * A - 2.
  16848.  
  16849.  
  16850. GFL SUBR ENTRY/EXIT
  16851. SA2 F.TCMT
  16852. IX1 X1+X2
  16853. MX7 -12
  16854. SA2 X1+FLSW
  16855. BX7 -X7*X2 FL/100B
  16856. AX2 12
  16857. MX6 -15
  16858. BX6 -X6*X2 RA/100B
  16859. LX6 6 RA
  16860. LX7 6 FL
  16861. EQ GFLX RETURN
  16862. GHA SPACE 4,10
  16863. ** GHA - GET HARDWARE ADDRESS.
  16864. *
  16865. * ENTRY INPUT LINE OF FORM -
  16866. * NNNNN. - REAL MEMORY ADDRESS.
  16867. * ASID#NNNNNNNN. - SYSTEM VIRTUAL ADDRESS.
  16868. * SEG#NNNNNNNN#EXCH. - PVA.
  16869. * REG#EXCH. - PVA FROM EXCHANGE PACKAGE.
  16870. * NNNNNNNN#REG#EXCH. - SPECIFIC BYTE OFFSET.
  16871. *
  16872. * EXIT (X6) = REAL MEMORY ADDRESS/SVA.
  16873. * (B6) = 0, IF NO ADDRESS DECODED.
  16874. *
  16875. * CALLS ASX, FRV, GXA, LTE.
  16876.  
  16877.  
  16878. GHA SUBR ENTRY/EXIT
  16879. SA1 CHAR
  16880. SX2 100B
  16881. GHA1 SA1 A1+B1 FLAG THE *+* AND *-* CHARACTERS
  16882. SB6 X1-1R+
  16883. BX6 X2+X1
  16884. NG B6,GHA1 IF NOT A SEPARATOR
  16885. SX1 X1-1R.
  16886. ZR X1,GHA2 IF LINE TERMINATOR
  16887. GT B6,B1,GHA1 IF NOT A *+* OR *-*
  16888. SA6 A1
  16889. JP GHA1 CHECK NEXT CHARACTER
  16890.  
  16891. GHA2 SX6 0
  16892. SA6 GATA CLEAR GAT FLAG
  16893. RJ GAT GET ADDRESS TOKEN
  16894. ZR B6,GHA5 IF NO TOKEN
  16895. MX7 -32
  16896. SA7 GHAA SET FLAG
  16897. PL X2,GHA6 IF NOT A RMA SYMBOL OR A NUMBER
  16898. SA6 A7
  16899. RJ GAT GET TOKEN
  16900. ZR B6,GHA4 IF ONLY RMA OR NUMBER
  16901. SA1 GHAA FETCH ASID/SEGMENT
  16902. LX1 32
  16903. PL X2,GHA6 IF NOT A NUMBER OR RMA SYMBOL
  16904. BX6 X1+X6 FORM SVA/PVA
  16905. SA6 A1
  16906. RJ GXA GET EXCHANGE ADDRESS
  16907. ZR B6,GHA4 IF NO SYMBOL SPECIFIED
  16908. SA6 GHAB SAVE SEGMENT TABLE LENGTH/ADDRESS
  16909. NG X2,GHA8 IF EXCHANGE ADDRESS SPECIFIED
  16910. JP ERR6 NOT GOOD AT ALL
  16911.  
  16912. GHA3 RJ GAT
  16913. GHA4 NZ B6,ERR6 IF BAD SYNTAX
  16914. SA1 GHAA FETCH SVA
  16915. BX6 X1
  16916. SB6 B1
  16917. GHA5 SA1 CH CHECK DELIMITER
  16918. SA2 X1
  16919. SB2 X2-1R+-100B
  16920. NG B2,GHAX IF NOT A SPECIAL CHARACTER
  16921. SX7 -B2
  16922. AX7 1
  16923. SA7 GHAB
  16924. RJ ASX GET HEX DIGIT
  16925. ZR B6,ERR6 IF NO NUMBER GIVEN
  16926. NZ X4,ERR6 IF NOT A HEX NUMBER
  16927. SA1 GHAA FETCH VALUE TO INCREMENT
  16928. SA2 A1+B1 FETCH SIGN
  16929. ERRNZ GHAA+1-GHAB
  16930. BX6 X2-X6
  16931. IX6 X1+X6
  16932. SA6 A1
  16933. JP GHA5 CHECK FOR END OF ADDRESS
  16934.  
  16935. GHA6 LX2 59-P.REG-59+P.RMA
  16936. PL X2,ERR6 IF NOT A REGISTER
  16937. SA6 GHAB SAVE REGISTER POSITION
  16938. RJ GXA GET EXCHANGE ADDRESS
  16939. ZR B6,ERR6 IF NOT SPECIFIED
  16940. PL X2,ERR6 IF NOT AN EXCHANGE ADDRESS
  16941. SA1 GHAB FETCH REGISTER POSITION
  16942. SA2 X1
  16943. SA6 A1
  16944. SB2 X1-BUF
  16945. BX6 X2
  16946. NG B2,GHA7 IF PSEUDO REGISTER
  16947. SA1 A2+B1
  16948. SA3 A1+B1
  16949. LX1 16
  16950. LX2 32
  16951. BX6 X1+X3
  16952. BX6 X2+X6
  16953. GHA7 RJ EVA EXPAND VIRTUAL ADDRESS
  16954. SA1 GHAA GET REPLACEMENT BYTE VALUE
  16955. ZR X2,ERR44 IF NIL POINTER
  16956. SA7 A1 SAVE REGISTER VALUE
  16957. NG X1,GHA8 IF NO BYTE REPLACEMENT
  16958. BX7 X6+X1
  16959. SA7 A1
  16960. GHA8 SB2 GHAA (SEGMENT, EXCHANGE ADDRESS)
  16961. RJ SVA DETERMINE ASID
  16962. SA6 GHAA
  16963. JP GHA3 CHECK FOR PROPER ADDRESS TERMINATION
  16964.  
  16965. GHAA DATA 0 BYTE OFFSET
  16966. GHAB DATA 0 EXCHANGE PACKAGE ADDRESS
  16967. GID SPACE 4,10
  16968. ** GID - GET ELEMENT IDENTIFIER.
  16969. *
  16970. * ENTRY (X1) = RECORD IDENTIFIER.
  16971. *
  16972. * EXIT (X6) = ELEMENT ID/0#10.
  16973. * (X7) = ELEMENT ID.
  16974. *
  16975. * USES X - 5, 6, 7.
  16976. * A - 6.
  16977. *
  16978. * CALLS RDR, SFR.
  16979.  
  16980.  
  16981. GID SUBR ENTRY/EXIT
  16982. RJ RDR READ DUMP RECORD
  16983. ZR X2,ERR14 IF RECORD NOT FOUND
  16984. SX5 /IOU/EIMR ELEMENT ID REGISTER
  16985. RJ SFR SEARCH FOR REGISTER
  16986. NG X1,ERR14 IF REGISTER NOT FOUND
  16987. MX5 -8
  16988. AX7 16
  16989. BX7 -X5*X7
  16990. BX6 X7
  16991. AX6 4
  16992. EQ GIDX RETURN
  16993. GNF SPACE 4,21
  16994. ** GNF - GET NEXT FILE.
  16995. *
  16996. * ENTRY FI = CURRENT FNT INDEX.
  16997. * CN = CONTROL POINT NUMBER.
  16998. * (RC) = RA OF CURRENT CONTROL POINT.
  16999. *
  17000. * EXIT X1 = 0 IF END OF FNT.
  17001. * .NE.0 IF FILE FOUND.
  17002. * FI IS UPDATED.
  17003. * GNFA = FILE INFORMATION AS FOLLOWS -
  17004. *
  17005. * +0 - FNT ORDINAL OF FILE.
  17006. * +1 - FNT.
  17007. * +2 - FST.
  17008. * +3 - FUT.
  17009. * +4 - EST ADDRESS.
  17010. * +5 - EST.
  17011. *
  17012. * SAVES X - 5.
  17013. * B - 1.
  17014. * A - 0,5.
  17015.  
  17016.  
  17017. GNF SUBR
  17018. SA1 F.TCMT
  17019. SB2 X1 TCMT TABLE BASE ADDRESS
  17020. SA1 F.TNFL FORM ADDRESS OF RA IN TNFL
  17021. SA2 L.TNFL
  17022. IX4 X1+X2
  17023. SA2 CN
  17024. SA1 NC
  17025. SX1 X1+B1
  17026. BX1 X1-X2
  17027. ZR X1,GNFX IF SYSTEM CONTROL POINT
  17028. SA5 FI
  17029. EQ GNF3 ENTER SEARCH LOOP
  17030.  
  17031. GNF2 IX2 X4-X5 READ NEXT FNT ENTRY
  17032. SX5 X5+LENF ADVANCE FNT ORDINAL
  17033. SA1 X2
  17034. NZ X1,GNF4 IF ENTRY PRESENT
  17035. GNF3 SA1 L.TNFL
  17036. IX1 X1-X5
  17037. PL X1,GNF2 IF NOT END OF FNT
  17038. SX1 0
  17039. JP GNFX EXIT
  17040.  
  17041. * SET FILE INFORMATION IN PARAMETER BLOCK.
  17042.  
  17043. GNF4 BX6 X5 SAVE FNT ORDINAL FOR NEXT CALL
  17044. SA6 FI
  17045. IX7 X4-X2
  17046. SA7 GNFA SET FNT ORDINAL
  17047. BX6 X1 SET FNT CONTENTS
  17048. SA6 A7+B1
  17049. SA1 A1+B1
  17050. BX7 X1 SET FST CONTENTS
  17051. SA7 A6+B1
  17052. AX7 48
  17053. SX0 X7
  17054. SA1 A1+B1 READ FUT
  17055. BX6 X1 SET FUT
  17056. SA6 A7+B1
  17057. SA1 B2+ESTP GET EST POINTER WORD
  17058. AX1 36
  17059. SX1 X1+EQDE
  17060. R= X2,ESTE
  17061. IX0 X0*X2
  17062. IX7 X0+X1
  17063. SA7 A6+B1
  17064. SA1 X7+B2 READ EST
  17065. BX6 X1
  17066. SA6 A7+B1
  17067. SX1 B1 SET FILE FOUND
  17068. JP GNFX EXIT
  17069.  
  17070. GNFA BSS 0 FILE PARAMETERS
  17071. LOC 0
  17072.  
  17073. CON 0 FNT ORDINAL
  17074. CON 0 FNT
  17075. CON 0 FST
  17076. CON 0 FUT
  17077. CON 0 EST ADDRESS
  17078. CON 0 EST
  17079. LOC *O
  17080. GPS SPACE 4,15
  17081. ** GPS - GET PP SAVE AREA ENTRY.
  17082. *
  17083. * EXIT (X5) = 0, IF PP NOT FOUND IN PP SAVE AREA.
  17084. *
  17085. * USES X - ALL.
  17086. * A - ALL.
  17087. * B - 2, 3, 4, 5, 6, 7.
  17088. *
  17089. * CALLS CPN, PCM, SCM.
  17090. *
  17091. * MACROS GETCM.
  17092.  
  17093.  
  17094. GPS SUBR ENTRY/EXIT
  17095. SA1 F.TCMT
  17096. SA3 X1+PPSP GET FWA AND NUMBER OF SAVE AREAS POSSIBLE
  17097. MX5 -12
  17098. BX5 -X5*X3 NUMBER OF SAVE AREA ENTRIES
  17099. ZR X5,GPSX IF NO ISHARED DEVICES
  17100. SA4 PC FWA OF PP COMMUNICATION AREA
  17101. SX4 X4+B1 OUTPUT REGISTER ADDRESS FOR PP 0
  17102. LX3 -12
  17103. SX6 X3-PPSA FWA OF SAVE AREAS - *PPSA*
  17104. SA6 GPSB
  17105. RJ CPN GET CONVERTED PP NUMBER
  17106. LX6 3
  17107. IX6 X6+X4 OUTPUT REGISTER ADDRESS FOR THIS PP
  17108. SA6 GPSC
  17109. SA4 SBTL1 PRESERVE SUBTITLE
  17110. RJ SCM
  17111. BX6 X4 RESTORE SUBTITLE
  17112. SA7 RI
  17113. SA6 A4
  17114.  
  17115. * CHECK NEXT ENTRY.
  17116.  
  17117. GPS2 ZR X5,GPSX IF PP NOT FOUND
  17118. SX7 X5-1
  17119. SA3 GPSB GET PP SAVE ENTRY FWA
  17120. SA7 GPSA STORE INDEX
  17121. SX7 X3+PPSA
  17122. SA7 A3
  17123. SX3 X7
  17124. RJ PCM POSITION DUMP FILE
  17125. GETCM GET FWA OF THIS PP BUFFER IN X6
  17126. SA1 GPSC GET OUTPUT REGISTER ADDRESS FOR THIS PP
  17127. SA5 GPSA RESTORE INDEX
  17128. MX3 12
  17129. BX3 X3*X6
  17130. LX3 12
  17131. BX1 X1-X3
  17132. NZ X1,GPS2 IF PP DATA NOT FOUND IN PP SAVE AREA
  17133. SA6 PSAV SAVE THE FIRST WORD
  17134. SA6 GPSD
  17135. GETCM PSAV+1,PPSA-1 GET REST OF PP SAVE AREA
  17136.  
  17137. * MOVE BLOCKS FROM *PSAV* TO *PBUF*.
  17138.  
  17139. SX6 1S1 2**N-1 NUMBER OF BLOCKS TO MOVE
  17140. SA4 PSAV+8 FWA OF PP MEMORY IN SAVE BUFFER
  17141. SB6 PBUF+4095/5 LAST WORD OF *PBUF*
  17142. SA6 GPSA
  17143. GPS3 SA2 GPSA
  17144. SA3 GPSD
  17145. SA0 60 SET CONSTANT
  17146. MX5 -24 INSURE EXIT CONDTION
  17147. AX7 X2,B1
  17148. ZR X2,GPSX IF COMPLETE
  17149. SA7 A2
  17150. BX6 X3
  17151. BX3 -X5*X3
  17152. LX6 12 POSITION NEXT PAIR OF BYTES
  17153. AX3 12 FIRST BYTE ADDRESS
  17154. SA6 A3
  17155. SX7 A0
  17156. AX6 48 WORD COUNT OF SAVE BLOCK
  17157. IX6 X6*X7
  17158. SB5 X6 NUMBER OF BITS TO MOVE IN THIS BLOCK
  17159. SX5 5
  17160. IX0 X3/X5
  17161. SX5 5
  17162. SB7 X0+PBUF FIRST *PBUF* WORD TO BE PARTIALLY REPLACED
  17163. SX3 X3+ CLEAR PACKING DONE BY *IXX/X*
  17164. IX0 X0*X5
  17165. IX0 X3-X0 NUMBER OF BYTES TO PRESERVE IN FIRST WORD
  17166. SX5 12
  17167. IX6 X0*X5
  17168. SB4 B0 NUMBER OF BITS MOVED
  17169.  
  17170. * COMPUTE SHIFT COUNTS AND MASKS.
  17171.  
  17172. GPS4 SB2 X6 NUMBER OF BITS TO PRESERVE
  17173. SB3 A0
  17174. BX7 X4 ALLOW SAVED BLOCK TO START AT 7777B
  17175. BX0 X0-X0 SET UP N-BIT MASK FOR BITS TO PRESERVE
  17176. ZR B2,GPS5 IF NO OFFSETTING REQUIRED
  17177. SA2 B7 GET FIRST *PBUF* WORD TO REPLACE
  17178. SB3 B2-B1
  17179. MX0 1 SET UP N-BIT MASK FOR BITS TO PRESERVE
  17180. AX0 B3
  17181. SB3 A0-B2 NUMBER OF BITS TO REPLACE
  17182. BX7 X0*X2 BITS TO BE PRESERVED FROM *PBUF* WORD
  17183.  
  17184. * MOVE PP BYTES FROM *PSAV* TO *PBUF*.
  17185.  
  17186. GPS5 LX4 B3 GET REPLACEMENT BITS
  17187. BX1 -X0*X4
  17188. BX7 X7+X1
  17189. SA7 B7
  17190. EQ B7,B6,GPS6 IF LAST WORD OF *PBUF*
  17191. SB4 B4+A0 INCREMENT BIT COUNTER
  17192. BX7 X0*X4 NEXT WORD-S UPPER BITS
  17193. SA4 A4+B1 GET NEXT WORD-S LOWER BITS FROM *PSAV*
  17194. SB7 B7+B1 INCR *PBUF* POINTER
  17195. LT B4,B5,GPS5 IF MORE BITS TO BE MOVED
  17196.  
  17197. * SET THE LAST BYTES FROM *PSAV* IN *PBUF*.
  17198.  
  17199. SA3 B7 GET THE UNREPLACED BITS FROM *PBUF*
  17200. BX3 -X0*X3
  17201. BX7 X7+X3
  17202. SA7 B7
  17203. NE B7,B6,GPS3 IF NOT LAST WORD OF *PBUF*
  17204.  
  17205. * MOVE BYTE 7777B INTO *PBUF*.
  17206.  
  17207. GPS6 MX2 12 STORE ONLY BYTE 7777B
  17208. BX6 X2*X7
  17209. LX7 12 MOVE BYTE 0 TO TOP OF WORD
  17210. SA6 B7
  17211. SB7 PBUF RESET *PBUF* POINTER
  17212. NZ B2,GPS7 IF OFFSETTING WAS REQUIRED
  17213. SB2 A0
  17214. MX0 60
  17215. SA4 A4+B1
  17216. SB4 B4+A0
  17217. GPS7 SX6 B2-12
  17218. SA3 B7 GET ORIGINAL BYTES 0-4
  17219. LX4 B2 RESTORE REPLACEMENT BITS
  17220. ZR X6,GPS8 IF NO OFFSETTING WILL BE REQUIRED
  17221.  
  17222. * MOVE BYTE 0000 TO *PBUF**
  17223.  
  17224. BX0 -X2*X0 ADJUST MASK
  17225. LX0 12
  17226. BX7 X0*X7
  17227. BX3 -X0*X3
  17228. BX7 X7+X3
  17229. SA7 B7
  17230. GPS8 LT B4,B5,GPS4 IF MORE BYTES IN BLOCK
  17231. EQ GPS3 CHECK NEXT BLOCK
  17232.  
  17233.  
  17234. GPSA BSS 1 COUNTER
  17235. GPSB BSS 1 FWA OF PP SAVE AREA BUFFER
  17236. GPSC BSS 1 OUTPUT REGISTER ADDRESS FOR THIS PP
  17237. GPSD BSS 1 SAVED DATA PARAMETERS
  17238. GRV SPACE 4,10
  17239. ** GRV - GET R-REGISTER VALUE.
  17240. *
  17241. * ENTRY (PBUF) = IOU MEMORY RECORD.
  17242. *
  17243. * EXIT (X1) = 24/R-REG, 36/0
  17244. *
  17245. * USES A - 1, 2.
  17246. * X - 1, 2, 3, 6.
  17247.  
  17248.  
  17249. GRV1 SA1 PBUF+819 FIRST PART OF R-REGISTER (C170-865/875)
  17250. SA2 A1+B1 SECOND PART
  17251. MX3 -12
  17252. BX1 -X3*X1
  17253. MX3 12
  17254. BX2 X3*X2
  17255. BX1 X1+X2
  17256. LX1 -12 POSITION R-REGISTER
  17257.  
  17258. GRV SUBR ENTRY/EXIT
  17259. SA1 AP
  17260. ZR X1,GRV1 IF NOT 180 CLASS MACHINE
  17261. SA1 IO
  17262. ZR X1,GRV2 IF I4A OR I4S IOU
  17263. SA1 PBUF+1092 GET R-REGISTER UPPER PART
  17264. SA2 A1+B1 LOWER PART
  17265. MX3 12 PACK INTO 22 BITS
  17266. BX1 -X3*X1
  17267. BX2 X3*X2
  17268. IX6 X1+X2
  17269. LX6 -24
  17270. BX1 X3*X6
  17271. LX3 -16
  17272. BX2 X3*X6
  17273. LX2 4
  17274. BX1 X1+X2
  17275. EQ GRVX RETURN
  17276.  
  17277. GRV2 SA1 PBUF+2184 GET R-REGISTER BITS (36-41)
  17278. MX3 -6
  17279. BX2 -X3*X1
  17280. LX2 59-5
  17281. SA1 A1+B1 GET REMAINDER OF R-REGISTER (42-57)
  17282. MX3 4
  17283. BX6 X3*X1
  17284. LX6 -6
  17285. BX2 X2+X6
  17286. MX3 12
  17287. LX3 -8
  17288. BX6 X3*X1
  17289. LX6 -2
  17290. BX1 X2+X6
  17291. LX1 -2 SHIFT RESULT FOR PROPER FORMAT
  17292. EQ GRVX RETURN
  17293. GSR SPACE 4,12
  17294. ** GSR - GET SELECTED RECORD.
  17295. *
  17296. * ENTRY X6 = REQUESTED RECORD NAME.
  17297. * = 0 IF NEXT RECORD REQUESTED.
  17298. *
  17299. * EXIT X7 = 0 IF RECORD NOT FOUND.
  17300. * = 1 IF NAMED RECORD.
  17301. * = 2 IF RECORD NAME = -*-.
  17302. *
  17303. * USES ALL REGISTERS.
  17304. *
  17305. * CALLS CIO=,RDO=,RDW=,WNB=.
  17306.  
  17307.  
  17308. GSR SUBR
  17309. BX5 X6 SAVE RECORD NAME
  17310. RECALL J
  17311. GSR1 READ J
  17312. READO X2 READ RECORD NAME
  17313. SX7 0 PRESET RECORD NOT FOUND
  17314. NZ X1,GSRX IF EMPTY RECORD OR EOF
  17315.  
  17316. * REMOVE BLANKS FROM NAME.
  17317.  
  17318. MX0 -6
  17319. SB2 7
  17320. GSR2 LX6 6
  17321. BX3 -X0*X6
  17322. SX2 X3-1R
  17323. SB2 B2-B1
  17324. NZ X2,GSR3 IF NOT BLANK
  17325. BX6 X0*X6 REMOVE BLANK
  17326. GSR3 NZ B2,GSR2 LOOP
  17327. LX6 3*6
  17328. BX4 X6-X5
  17329. SX7 1
  17330. ZR X5,GSRX IF NEXT RECORD REQUESTED
  17331. SA1 =1L*
  17332. SX7 X7+B1
  17333. BX1 X1-X5
  17334. ZR X1,GSRX IF READ TO EOF REQUESTED
  17335. SX7 1
  17336. ZR X4,GSRX IF NAMED RECORD FOUND
  17337. GSR4 READW J,BUF,BUFL SKIP TO NEXT RECORD
  17338. ZR X1,GSR4 IF NOT END OF RECORD
  17339. JP GSR1 CHECK NEXT RECORD
  17340. GTD SPACE 4,12
  17341. ** GTD - GENERATE DETAILED TABLE DUMP.
  17342. *
  17343. * ENTRY (X1) = FORMAT TABLE POINTERS.
  17344. * 24/0,18/LEFT COLUMN FWA,18/RIGHT COLUMN FWA
  17345. * (B2) = TABLE ADDRESS IN CORE.
  17346. * (FW) = TABLE ADDRESS IN DUMP FILE.
  17347. *
  17348. * USES X - 1, 2, 6, 7.
  17349. * A - 1, 2, 6, 7.
  17350. * B - 2, 7.
  17351. *
  17352. * CALLS PTL, SSB.
  17353. *
  17354. * MACROS PRINT.
  17355.  
  17356.  
  17357. GTD SUBR
  17358. SX6 X1
  17359. SA6 GTDA SET RIGHT COLUMN TABLE POINTER
  17360. SX7 B2
  17361. SA7 GTDC SAVE DATA ADDRESS
  17362. AX1 18
  17363. SX6 X1
  17364. SA6 GTDB SET LEFT COLUMN TABLE POINTER
  17365. RJ SSB CLEAR PRINT STRING
  17366. GTD1 SA1 GTDB
  17367. SA2 GTDC
  17368. SB2 X2+ SET DATA ADDRESS
  17369. SB7 PRBF
  17370. RJ PTL FORMAT LEFT COLUMN
  17371. SA1 GTDA
  17372. ZR X1,GTD2 IF ONLY 1 COLUMN TO BE DUMPED
  17373. NG X2,GTDX IF END OF DUMP
  17374. SB7 PRBF+69
  17375. RJ PTL FORMAT RIGHT COLUMN
  17376. PRINT CCCH,B7-CCCH PRINT 2 COLUMNS
  17377. EQ GTD1 CONTINUE
  17378.  
  17379. GTD2 PRINT CCCH,B7-CCCH PRINT ONLY 1 COLUMN
  17380. SA1 GTDB
  17381. SA2 X1+
  17382. ZR X2,GTDX IF END OF DUMP
  17383. PL X2,GTD1 IF NOT AT END OF LEFT COLUMN
  17384. SX6 X1+B1 BEGIN DUMP OF RIGHT COLUMN
  17385. SA6 A1
  17386. EQ GTD1 CONTINUE
  17387.  
  17388. GTDA BSS 1 RIGHT COLUMN FORMAT TABLE POINTER
  17389. GTDB BSS 1 LEFT COLUMN FORMAT TABLE POINTER
  17390. GTDC BSS 1 TABLE DATA ADDRESS
  17391. GTE SPACE 4,10
  17392. ** GTE - GET TABLE ENTRY.
  17393. *
  17394. * ENTRY (X0) = ENTRY FWA RELATIVE TO TABLE FWA
  17395. * IN DUMP FILE.
  17396. * (X1) = ENTRY LENGTH.
  17397. * (X2) = TABLE LENGTH.
  17398. * (X3) = TABLE FWA IN DUMP FILE.
  17399. * = 0, IF CM BUFFER REQUIRES INITIAL READ.
  17400. * (X4) = ENTRY NUMBER.
  17401. *
  17402. * EXIT (X5) = ABSOLUTE ENTRY FWA IN CM BUFFER.
  17403. *
  17404. * CM BUFFER CONTAINS NEW TABLE DATA, IF DESIRED
  17405. * ENTRY WAS NOT FOUND IN ORIGINAL DATA.
  17406. *
  17407. * USES X - 2, 3, 5, 6.
  17408. * A - 3, 6.
  17409. * B - 2.
  17410. *
  17411. * CALLS POM.
  17412. *
  17413. * MACROS GETCM.
  17414.  
  17415.  
  17416. GTE SUBR ENTRY/EXIT
  17417. NZ X3,GTE1 IF FIRST ACCESS OF TABLE
  17418. SA3 GTEB GET LAST ENTRY NUMBER
  17419. IX3 X3-X4
  17420. NG X3,GTE2 IF ENTRY NOT IN CM BUFFER
  17421. SA3 GTEA GET FIRST ENTRY NUMBER
  17422. IX3 X4-X3
  17423. NG X3,GTE2 IF ENTRY NOT IN CM BUFFER
  17424. IX3 X3*X1 SET FWA OF ENTRY IN CM BUFFER
  17425. SX5 X3+BUF
  17426. EQ GTEX RETURN
  17427.  
  17428. * READ TABLE ENTRIES INTO CM BUFFER.
  17429.  
  17430. GTE1 SX6 X3+
  17431. SA6 GTEC STORE FWA OF TABLE
  17432. GTE2 SX6 X4+
  17433. SA6 GTEA STORE FIRST ENTRY NUMBER
  17434. IX2 X2-X0
  17435. SX3 X2-BUFL
  17436. NG X3,GTE3 IF CM BUFFER NOT FILLED
  17437. SX2 BUFL SET BUFFER LENGTH = BUFFER SIZE
  17438. GTE3 SX5 X2 SET BUFFER LENGTH = REST OF TABLE
  17439. IX3 X2/X1 NUMBER OF ENTRIES THAT FIT IN CM BUFFER
  17440. IX3 X4+X3
  17441. SX6 X3-1
  17442. SA6 GTEB STORE LAST ENTRY NUMBER
  17443. SA3 GTEC GET FWA OF TABLE
  17444. IX6 X3+X0 FIND FWA OF DESIRED ENTRY
  17445. SA6 CPRA
  17446. SB2 A6
  17447. RJ POM POSITION TO FWA OF ENTRY
  17448. GETCM BUF,X5 READ TABLE ENTRIES
  17449. SX5 BUF SET FWA OF ENTRY IN CM BUFFER
  17450. EQ GTEX RETURN
  17451.  
  17452. GTEA BSS 1 FIRST ENTRY NUMBER IN CM BUFFER
  17453. GTEB BSS 1 LAST ENTRY NUMBER IN CM BUFFER
  17454. GTEC BSS 1 FWA OF TABLE BEING ACCESSED
  17455. GXA SPACE 4,15
  17456. ** GXA - GET EXCHANGE PACKAGE ADDRESS.
  17457. *
  17458. * CRACK EXCHANGE PACKAGE ADDRESS PARAMETER.
  17459. *
  17460. * ENTRY DIRECTIVE IN BUFFER.
  17461. *
  17462. * EXIT (B6) = 0, IF NO TOKEN OBTAINED FROM *GAT*.
  17463. * (X2) .LT. 0, IF EXCHANGE PACKAGE ADDRESS FOUND.
  17464. * (X6) = 12/0, 16/STL, 32/STA.
  17465. *
  17466. * USES X - 1, 2, 3, 4, 6.
  17467. * B - 6.
  17468. *
  17469. * CALLS CSI, GAT, PTX, RMB.
  17470.  
  17471.  
  17472. GXA SUBR ENTRY/EXIT
  17473. RJ GAT GET ADDRESS TOKEN.
  17474. ZR B6,GXAX IF NOT SPECIFIED
  17475. BX4 X2+X4
  17476. SB6 A1
  17477. PL X4,GXAX IF NOT A VALID EXCHANGE PACKAGE SYMBOL
  17478. SX3 B0+ SET NO RADIAL MCI DISPLAY
  17479. RJ PTX POSITION TO EXCHANGE PACKAGE
  17480. SX6 51
  17481. SX1 0
  17482. RJ RMB READ MEMORY BLOCK
  17483. RJ CSI COLLECT SEGMENT INFORMATION
  17484. SB6 B1
  17485. MX2 1
  17486. JP GXAX RETURN
  17487. HTS SPACE 4,15
  17488. ** HTS - HEX TO STRING BUFFER.
  17489. *
  17490. * ENTRY (X1) = HEX DIGITS LEFT JUSTIFIED.
  17491. * (B6) = NUMBER OF DIGITS TO CONVERT.
  17492. * (B7) = ADDRESS OF STRING BUFFER.
  17493. *
  17494. * EXIT (B7) IS UPDATED.
  17495. * (X1) IS LEFT SHIFTED (B6)*4 PLACES.
  17496. *
  17497. * USES X - 0, 1, 2, 3, 7.
  17498. * A - 7.
  17499. * B - 6, 7.
  17500.  
  17501.  
  17502. HTS SUBR ENTRY/EXIT
  17503. MX0 -4 DIGIT MASK
  17504. HTS1 LX1 4
  17505. BX3 -X0*X1
  17506. SX7 X3+1R0 ASSUME DIGIT .LT. 0#A
  17507. SX3 X3-0#A
  17508. NG X3,HTS2 IF DIGIT .LT. 0#A
  17509. SX7 X3+1RA SET A - F
  17510. HTS2 SA7 B7
  17511. SB7 B7+B1
  17512. SB6 B6-B1
  17513. NZ B6,HTS1 IF MORE DIGITS
  17514. EQ HTSX RETURN
  17515. ICT SPACE 4,8
  17516. ** ICT - INITIALIZE CHANNEL TABLE.
  17517. *
  17518. * EXIT (BUF - BUF+CTALL*5) = CHANNEL STATUS TABLE
  17519. * RESERVATION BYTES, LEFT JUSTIFIED.
  17520. *
  17521. * USES X - 0, 1, 2, 6.
  17522. * A - 1, 2, 6.
  17523. * B - 2, 3, 4, 5.
  17524.  
  17525.  
  17526. ICT SUBR
  17527. SA1 F.TCMT
  17528. SA2 X1+CHTP CHANNEL STATUS TABLE FWA
  17529. AX2 12
  17530. SB2 X2
  17531. SB2 X1+B2
  17532. MX0 12
  17533. SB5 B2+CTALL CHANNEL STATUS TABLE LWA+1
  17534. SB3 BUF
  17535. ICT1 SB4 5 BYTE COUNTER
  17536. SA2 B2+ READ NEXT TABLE WORD
  17537. ICT2 BX6 X0*X2 EXTRACT RESERVATION BYTE
  17538. LX2 12
  17539. SA6 B3
  17540. SB4 B4-B1 COUNT BYTE
  17541. SB3 B3+B1
  17542. NZ B4,ICT2 IF MORE BYTES IN THIS WORD
  17543. SB2 B2+B1 ADVANCE TABLE POINTER
  17544. LT B2,B5,ICT1 IF MORE TABLE ENTRIES
  17545. JP ICTX EXIT
  17546. IMR SPACE 4,15
  17547. ** IMR - PROCESS IOU MAINTENANCE REGISTER RECORD.
  17548. *
  17549. * ENTRY VIA UNCONDITIONAL JUMP.
  17550. *
  17551. * EXIT TO *RBI2* IF NORMAL.
  17552. * TO *PPE1* IF PREMATURE EOF.
  17553. *
  17554. * USES X - 0, 1, 2, 5, 6, 7.
  17555. * A - 1, 2, 6, 7.
  17556. *
  17557. * CALLS CRS, RBF, SFR.
  17558.  
  17559.  
  17560. IMR BSS 0 ENTRY
  17561. SX6 1
  17562. SA6 AP DEFINE ADVANCED PROCESSOR
  17563. SA1 ID
  17564. SA2 =3LDID
  17565. BX6 X1
  17566. LX7 X2
  17567. SA6 XI SAVE IMR RECORD ID
  17568. SA7 A1 SET RECORD ID OF *DID*
  17569. RJ CRS COPY RECORD TO FILE *S*
  17570. RJ RBF READ IOU MAINTENANCE REGISTERS
  17571. NZ X1,PPE1 IF PREMATURE EOF
  17572. SA1 XI IMR RECORD ID
  17573. BX6 X1
  17574. SA6 ID
  17575. MX0 -18
  17576. SX5 /IOU/IOSB SEARCH FOR OS BOUNDS REGISTER
  17577. RJ SFR
  17578. NG X1,ERR42 IF NOT IN CURRENT BUFFER
  17579. BX6 -X0*X7
  17580. LX6 10 SET *NOS* MEMORY SIZE
  17581. SA6 MEMB
  17582. RJ CRS COPY MAINTENANCE REGISTERS TO FILE *S*
  17583. EQ RBI2 EXIT TO READ NEXT RECORD FROM FILE *F*
  17584. IPA SPACE 4,15
  17585. ** IPA - INITIALIZE FOR PPU ANALYSIS.
  17586. *
  17587. * ENTRY (CH) = DIRECTIVE STRING POINTER.
  17588. *
  17589. * EXIT (IC) = *CPP* PROCESSING FLAG.
  17590. * (PI) = 0 IF PP/CPP NUMBERS AND NAMES IN DIRECTIVE.
  17591. * = PP COMMUNICATION AREA INDEX IF DUMPING ALL
  17592. * ACTIVE PPUS.
  17593. *
  17594. * USES X - 1, 2, 6.
  17595. * A - 1, 2, 6.
  17596. *
  17597. * CALLS SRA.
  17598.  
  17599.  
  17600. IPA1 BX6 X1
  17601. SA6 PI SET SEARCH INDEX
  17602.  
  17603. IPA SUBR ENTRY/EXIT
  17604. SA1 IC+1 GET *NPP*/*CPP* FLAG
  17605. BX6 X1
  17606. SA6 A1-B1 SET *CPP* PROCESSING FLAG
  17607. SX6 0
  17608. SA6 IPDA SET PP FLAG
  17609. SA6 PI PRESET SEARCH INDEX
  17610. SA6 FI PRESET NAMED PPU SEARCH INDEX
  17611. SA6 PP PRESET PP NUMBER
  17612. RJ SRA SET REFERENCE ADDRESS
  17613. SA1 CH
  17614. SA1 X1+
  17615. SX1 X1-1R.
  17616. NZ X1,IPAX IF NUMBERS AND NAMES ON DIRECTIVE CARD
  17617. SA1 PC GET PP COMMUNICATION AREA POINTER
  17618. SA2 IC
  17619. ZR X2,IPA1 IF NOT PROCESSING CPP-S
  17620. SA2 NP
  17621. LX2 3
  17622. IX1 X2+X1
  17623. EQ IPA1 SET SEARCH INDEX
  17624. IPD SPACE 4,20
  17625. ** IPD - INITIALIZE FOR PPU/FLPP DUMP.
  17626. *
  17627. * ENTRY (X6) = 0 IF PP OR CPP DUMP.
  17628. * = 1 IF FLPP DUMP.
  17629. * (CH) = CURRENT DIRECTIVE CARD STRING POINTER.
  17630. *
  17631. * EXIT (IC) = *CPP* PROCESSING FLAG.
  17632. * (PI) = 0 IF PP/CPP/FLPP NUMBERS ON DIRECTIVE CARD.
  17633. * = *TDIR* TABLE POINTER FOR FIRST PP/CPP/FLPP
  17634. * IF DUMPING ALL.
  17635. * (PP) = 0.
  17636. * (IPDA) = PPU/FLPP DUMP FLAG.
  17637. *
  17638. * USES X - 0, 1, 5, 6.
  17639. * A - 1, 5, 6.
  17640. *
  17641. * CALLS BPN, SRA.
  17642. *
  17643. * MACROS SEARCH.
  17644.  
  17645.  
  17646. IPD SUBR ENTRY/EXIT
  17647. SA6 IPDA SAVE PPU/FLPP FLAG
  17648. SA1 IC+1 GET *NPP*/*CPP* FLAG
  17649. BX6 X1
  17650. SA6 A1-B1 SET *CPP* PROCESSING FLAG
  17651. SX6 0
  17652. SA6 PI PRESET INDEX
  17653. SA6 PP
  17654. RJ SRA SET REFERENCE ADDRESS
  17655. SA1 CH
  17656. SA1 X1+
  17657. SX1 X1-1R.
  17658. NZ X1,IPDX IF NUMBERS ON DIRECTIVE CARD
  17659. SA5 IPDA
  17660. RJ BPN
  17661. ZR X5,IPD1 IF NOT FLPP DUMP
  17662. MX0 15
  17663. IPD1 SEARCH TDIR,X7,X0 FIND PPU/FLPP/CPP TABLE ENTRY
  17664. ZR X2,ERR7 IF NOT FOUND
  17665. SX6 A2
  17666. SA6 PI SET DIRECTORY INDEX FOR FIRST PPU/FLPP
  17667. EQ IPDX EXIT
  17668.  
  17669.  
  17670. IPDA CON 0 PPU/FLPP FLAG
  17671. IOQ SPACE 4,20
  17672. ** IOQ - DISPLAY IOU IN LINE FORMAT.
  17673. *
  17674. * ENTRY (DSPB ) = FWA OF DUMP.
  17675. * (DSPB+1) = LWA OF DUMP.
  17676. * (DSPC ) = LINE SIZE.
  17677. * (DSPC+1) = HEX/OCTAL, ASCII/DISPLAY FLAGS.
  17678. *
  17679. * EXIT IOU DISPLAYED IN DESIRED LINE FORMAT.
  17680. *
  17681. * USES B - 4, 5, 6, 7.
  17682. * A - 1, 2, 4, 5, 6.
  17683. * X - 0, 1, 2, 3, 4, 5, 6.
  17684. *
  17685. * CALLS CTS, DPB, HTS, NXB, SAI, SDI, SRD.
  17686. *
  17687. * MACROS PRINT.
  17688.  
  17689.  
  17690. IOQ SUBR ENTRY/EXIT
  17691. SA4 DSPC BYTES PER LINE
  17692. SA5 A4+B1 HEX/OCTAL, ASCII/DISPLAY FLAGS
  17693. IOQ1 SB4 X4
  17694. SB5 X4
  17695. SA1 K4
  17696. SA1 X1+/DIRECT/TCTP
  17697. NG X1,IOQ1.1 IF CONTROLLER TYPE WITH 16 BIT ADDRESSES
  17698. LX4 B1,X4 SHIFT COUNT TO REFLECT BYTE ADDRESSING
  17699. IOQ1.1 SA1 DSPB
  17700. SA2 A1+B1
  17701. IX3 X1-X2
  17702. PL X3,IOQX IF DUMP IS FINISHED
  17703. IX6 X1+X4
  17704. SA6 A1 REPLACE FWA
  17705. IX3 X2-X1
  17706. PL X1,IOQ2
  17707. IX2 X3+X4
  17708. SB4 X2
  17709. IOQ2 LX1 -16 POSITION ADDRESS
  17710. SB6 4 DISPLAY ADDRESS
  17711. SB7 PRBF
  17712. SA2 K4 CONTROLLER TYPE
  17713. SX2 X2-3
  17714. NZ X2,IOQ2.1 IF NOT 63X
  17715. LX1 -4 SHIFT LAST DIGIT OF ADDRESS
  17716. SB6 B6+B1 DIGIT COUNT
  17717. IOQ2.1 SA2 K4
  17718. SX0 B1
  17719. BX2 X2-X0
  17720. NZ X2,IOQ2.2 IF NOT ISD
  17721. LX0 13-16 ADD 2000 (HEX) TO ADDRESS IF ISD
  17722. IX1 X1+X0
  17723. IOQ2.2 RJ HTS
  17724. ZR X5,IOQ2.4 IF HEX DUMP REQUESTED
  17725. SB6 4
  17726. SB7 B7-B6
  17727. SA2 K4 CHECK CONTROLLER SIZE
  17728. ZR X2,IOQ2.3 IF 4K CONTROLLER
  17729. LX1 -3 PROCESS 8K CONTROLLER
  17730. SB6 B6+B1
  17731. SX2 X2-3
  17732. NZ X2,IOQ2.3 IF NOT 63X
  17733. LX1 -3 SHIFT LAST DIGIT OF ADDRESS
  17734. SB6 B6+B1 DIGIT COUNT
  17735. IOQ2.3 LX1 -12
  17736. RJ CTS CONVERT OCTAL ADDRESS
  17737. IOQ2.4 SB7 B4+
  17738. SB6 B5+
  17739. IOQ3 RJ NXB COLLECT ONE BYTE
  17740. BX6 X1
  17741. SA6 BUF+B7
  17742. SB7 B7-B1
  17743. NZ B7,IOQ3 IF MORE BYTES TO COLLECT
  17744. SX1 BUF+1
  17745. SB5 B6+ RESTORE B5
  17746. RJ SRD
  17747. SA4 DSPC BYTES PER LINE
  17748. SA5 A4+B1
  17749. NZ X1,IOQ1 IF REPEATED DATA
  17750. SB7 PRBF+6
  17751. SB4 X4
  17752. IOQ4 SA1 B4+BUF DISPLAY BYTES IN HEX OR OCTAL
  17753. RJ DPB
  17754. SB4 B4-B1
  17755. SB7 B7+2
  17756. NZ B4,IOQ4 IF MORE DIGITS TO DISPLAY
  17757. SB4 X4
  17758. SB7 B7+B1
  17759. IOQ5 SA2 BUF+B4 PRINT CHARACTER REPRESENTATION
  17760. SB6 B1+B1
  17761. SB4 B4-B1
  17762. NG B4,IOQ7 IF NO MORE BYTES TO INTERPRET
  17763. NG X5,IOQ6 IF DISPLAY CODE INTERPRETATION
  17764. LX2 -16
  17765. RJ SAI SET ASCII INTERPRETATION
  17766. EQ IOQ5 CHECK FOR MORE BYTES TO CONVERT
  17767.  
  17768. IOQ6 SB6 B6+B1 DISPLAY 3 CHARACTERS IN DISPLAY CODE
  17769. LX2 -18
  17770. RJ SDI SET DISPLAY CODE INTERPRETATION
  17771. EQ IOQ5 CHECK FOR MORE BYTES TO CONVERT
  17772.  
  17773. IOQ7 PRINT CCCH,B7-CCCH DISPLAY LINE
  17774. SA4 DSPC
  17775. EQ IOQ1 REPEAT UNTIL ALL BYTES DISPLAYED
  17776. IPO SPACE 4,15
  17777. ** IPO - INSPECT PPU OCTAL BLOCK FORMAT.
  17778. *
  17779. * ENTRY (DSPB+0) = FWA OF DUMP.
  17780. * (DSPB+1) = LWA OF DUMP.
  17781. *
  17782. * EXIT TO *DSPX*.
  17783. *
  17784. * USES B - 4, 6, 7.
  17785. * A - 1, 2, 6.
  17786. * X - 1, 2, 3, 5, 6.
  17787. *
  17788. * CALLS CPS, CTS, DPB, NXB, UPS.
  17789. *
  17790. * MACROS PRINT.
  17791.  
  17792.  
  17793. IPO BSS 0 ENTRY
  17794. SX1 10 ENSURE AT LEAST TEN LINES ON THE PAGE
  17795. RJ CPS CHECK PAGE SPACE
  17796. PRINT (=2C )
  17797. SA2 IPOA
  17798. SB7 PRBF
  17799. SB6 70
  17800. RJ UPS UNPACK HEADER
  17801. SA1 DSPB FWA
  17802. SB6 3
  17803. LX1 60-15
  17804. SB7 PRBF
  17805. RJ CTS
  17806. PRINT CCCH,71
  17807. SX6 1R
  17808. SA6 PRBF
  17809. SA6 A6+B1
  17810. SA6 A6+B1
  17811. SB7 -100B
  17812. IPO2 RJ NXB GET THE NEXT 100 BYTES
  17813. BX6 X1
  17814. SA6 B7+BUF+100B
  17815. SB7 B7+B1
  17816. NZ B7,IPO2 IF MORE BYTES NEEDED
  17817. SX5 -10B
  17818. IPO3 SX6 X5+1R0+10B
  17819. SA6 PRBF+4
  17820. SB7 PRBF+5
  17821. SB4 10B
  17822. SA1 X5+BUF+10B
  17823. IPO4 SB7 B7+2 INCREMENT STRING POINTER
  17824. RJ DPB DISPLAY PPU MEMORY
  17825. SA1 A1+10B
  17826. SB4 B4-B1
  17827. NZ B4,IPO4 IF NOT FINISHED
  17828. PRINT CCCH,71
  17829. SX5 X5+B1
  17830. NZ X5,IPO3 IF NOT FINISHED WITH BLOCK
  17831. SA1 DSPB
  17832. SX6 X1+100B
  17833. SA6 A1
  17834. SA2 A1+B1
  17835. IX3 X6-X2
  17836. NG X3,IPO IF NOT COMPLETE
  17837. EQ DSPX RETURN
  17838.  
  17839.  
  17840. IPOA DATA 40H 00XX 0X 1X 2X 3X
  17841. DATA 30H 4X 5X 6X 7X
  17842. SPACE 4,15
  17843. ** IPX - INSPECT PPU HEX BLOCK FORMAT.
  17844. *
  17845. * ENTRY (DSPB+0) = FWA OF DUMP.
  17846. * (DSPB+1) = LWA OF DUMP.
  17847. *
  17848. * EXIT TO *DSPX*.
  17849. *
  17850. * USES B - 3, 4, 6, 7.
  17851. * A - 1, 2, 6.
  17852. * X - 1, 2, 3, 5, 6.
  17853. *
  17854. * CALLS CPS, DPB, HTS, NXB, UPS.
  17855. *
  17856. * MACROS PRINT.
  17857.  
  17858.  
  17859. IPX BSS 0 ENTRY
  17860. IPX1 SX1 18
  17861. RJ CPS ENSURE AT LEAST 18 LINES ON PAGE
  17862. PRINT (=2C )
  17863. SA2 IPXA * NXX 0X 1X ...*
  17864. SB6 102
  17865. SB7 PRBF
  17866. RJ UPS UNPACK STRING
  17867. SA1 DSPB FWA
  17868. LX1 -16
  17869. SB6 B1+B1
  17870. SB7 PRBF+1
  17871. RJ HTS
  17872. PRINT CCCH,102
  17873. SB7 0#100
  17874. SB4 BUF
  17875. IPX3 RJ NXB GET 100(16) BYTES
  17876. BX6 X1
  17877. SA6 B4
  17878. SB4 B4+B1
  17879. SB7 B7-B1
  17880. NZ B7,IPX3 IF MORE BYTES TO GET
  17881. SX1 0
  17882. IPX4 LX1 -4
  17883. SB6 B1
  17884. SB7 PRBF+4
  17885. SX6 1R
  17886. SA6 PRBF+1
  17887. SA6 A6+B1
  17888. RJ HTS
  17889. SB3 0#10
  17890. SX6 X1+B1
  17891. SB4 B3
  17892. SA1 X1+BUF
  17893. SA6 IPXB
  17894. MX5 0
  17895. IPX5 SB7 B7+2
  17896. RJ DPB DISPLAY PPU BYTE
  17897. SA1 A1+B3
  17898. SB4 B4-B1
  17899. NZ B4,IPX5 IF BLOCK NOT COMPLETE
  17900. PRINT CCCH,B7-CCCH
  17901. SA1 IPXB LOOP COUNT
  17902. SX6 X1-0#10
  17903. NZ X6,IPX4
  17904. SA1 DSPB
  17905. SX6 X1+0#100
  17906. SA6 A1
  17907. SA2 A1+B1
  17908. IX3 X6-X2
  17909. NG X3,IPX1 IF MORE PP MEMORY TO DUMP
  17910. EQ DSPX RETURN TO *DSPX*
  17911.  
  17912.  
  17913. IPXA DATA 50H LXX 0X 1X 2X 3X 4X 5X 6X
  17914. DATA 50H 7X 8X 9X AX BX CX DX EX F
  17915. DATA 2CX
  17916. IPXB DATA 0
  17917. ISD SPACE 4,15
  17918. ** ISM - INITIALIZE FOR SIXTY-FOUR BIT MEMORY PROCESSING.
  17919. *
  17920. * ENTRY (AO) = ADDRESS OFFSET FOR *EI* ADDRESS.
  17921. * (EI) .NE. 0 IF FORCING *EI* ADDRESSING.
  17922. *
  17923. * EXIT (AO) = 0.
  17924. * (XH) = MEMORY RECORD VALID FWA.
  17925. * (XI) = MEMORY RECORD RANDOM INDEX.
  17926. * (XL) = MEMORY RECORD VALID LWA+1.
  17927. * (XM) = MEMORY RECORD PAGE SIZE MASK.
  17928. *
  17929. * USES X - 1, 2, 3, 6, 7.
  17930. * A - 1, 2, 3, 6, 7.
  17931.  
  17932.  
  17933. ISM SUBR ENTRY/EXIT
  17934. SA3 AO
  17935. SA2 EH
  17936. NZ X3,ISM1 IF *EI* ADDRESS
  17937. SA1 EI
  17938. NZ X1,ISM1 IF FORCED *EI* ADDRESSING
  17939. SA2 MH
  17940. ISM1 ZR X2,ERR14 IF MEMORY RECORD NOT ON DUMP FILE
  17941. SX6 X2 NUMBER OF WORDS DUMPED
  17942. AX2 18 START OF MEMORY
  17943. SX7 X2
  17944. IX6 X7+X6
  17945. LX6 12 CONVERT TO A BYTE ADDRESS
  17946. IX6 X3+X6 APPEND ADDRESS OFFSET
  17947. SA6 XL
  17948. LX7 12
  17949. IX7 X3+X7 APPEND ADDRESS OFFSET
  17950. SA7 XH
  17951. SA2 A2+B1 *MEM* RANDOM INDEX
  17952. BX6 X2
  17953. SA6 XI
  17954. SA1 S2PSM GENERATE THE PAGE SIZE MASK
  17955. LX1 9
  17956. SX6 X1-1
  17957. BX6 -X1*X6
  17958. SA6 XM
  17959. BX6 X6-X6 CLEAR ADDRESS OFFSET
  17960. SA6 A3
  17961. EQ ISMX RETURN
  17962. ISS SPACE 4,16
  17963. ** ISS - INITIALIZE FOR SUB-SYSTEM DUMP.
  17964. *
  17965. * ENTRY (X5) = 24/ ,12/SUBSYSTEM ID,6/ ,18/CP NUMBER
  17966. * CP NUMBER = 0 IF ANY CONTROL POINT ALLOWED.
  17967. * .GT. 0, SUBSYSTEM MUST BE AT GIVEN
  17968. * CONTROL POINT UNLESS
  17969. * SUBSYSTEM ID = 0.
  17970. * (CN) = CONTROL POINT NUMBER.
  17971. * (NC) = NUMBER OF CONTROL POINTS - 1.
  17972. * (RC) = CONTROL POINT REFERENCE ADDRESS.
  17973. *
  17974. * EXIT (RI) = RANDOM ADDRESS OF DUMPED SUBSYSTEM.
  17975. * BINARY DUMP FILE IS POSITIONED AT CONTROL POINT RA.
  17976. *
  17977. * USES X - 1, 2, 3, 4, 6, 7.
  17978. * A - 1, 3, 4, 6, 7.
  17979. * B - 2, 3, 7.
  17980. *
  17981. * CALLS LDC, PCM, RNF, SCM, SRA.
  17982.  
  17983.  
  17984. ISS SUBR
  17985. RJ LDC LIST DIRECTIVE
  17986. MX7 12 SET SUBSYSTEM ID MASK
  17987. LX7 36
  17988. SX3 X5+ GET CP NUMBER
  17989. SA4 F.TCMT
  17990. SB7 CPLEN INCREMENTAL INDEX
  17991. NZ X3,ISS2 IF SPECIFIC CONTROL POINT REQUIRED
  17992. BX3 X7*X5
  17993. SA1 NC
  17994. SB2 X1+
  17995. SA1 X4+CPAS+JCIW GET FIRST CP SUBSYSTEM ID
  17996. BX2 X3-X1 COMPARE ENTRIES
  17997. SB3 B0 PRESET CONTROL POINT NUMBER
  17998. ISS1 SB3 B3+B1
  17999. BX6 X7*X2
  18000. GT B3,B2,ERR10 IF CONTROL POINT NUMBER .GT. NCPL
  18001. SA1 A1+B7 GET NEXT CP SUBSYSTEM ID
  18002. BX2 X3-X1 COMPARE ENTRIES
  18003. NZ X6,ISS1 IF NO MATCH
  18004. JP ISS3
  18005.  
  18006. ISS2 SX1 CPAS
  18007. IX2 X1*X3
  18008. SB3 X3 SET CONTROL POINT NUMBER
  18009. IX6 X2+X4
  18010. SA1 X6+JCIW GET CP SUBSYSTEM ID
  18011. BX3 X7*X5 GET REQUESTED SUBSYSTEM ID
  18012. BX2 X3-X1 COMPARE ENTRIES
  18013. ZR X3,ISS3 IF ANY SUBSYSTEM ALLOWED
  18014. BX6 X7*X2
  18015. NZ X6,ERR10 IF NO MATCH ON ENTRIES
  18016. ISS3 SX6 B3
  18017. SA6 CN
  18018. BX2 X6
  18019. SA1 OP
  18020. RJ RNF READ NEGATIVE FL FOR SELECTED SUB-SYSTEM
  18021. SA1 L.TNFL GET NFL/100
  18022. SX6 DNFL GET DEFAULT
  18023. IX1 X1-X6
  18024. NG X1,ERR28 IF INSUFFICIENT NFL SPACE
  18025. SA1 RC GET RA
  18026. BX6 X1
  18027. RJ SRA SET REFERENCE ADDRESS
  18028. RJ SCM SET CENTRAL MEMORY
  18029. SA7 RI
  18030. SA3 RC
  18031. RJ PCM
  18032. JP ISSX EXIT
  18033. LDC SPACE 4,10
  18034. ** LDC - LIST DIRECTIVE CARD.
  18035. *
  18036. * ENTRY EF = 0 SET PAGE EJECT AND DONT LIST DIRECTIVE.
  18037. * .NE. 0 LIST DIRECTIVE AND CURRENT RECORD NAME.
  18038. *
  18039. * SAVES X - 0,5.
  18040. * B - 1.
  18041. * A - 0.
  18042. *
  18043. * CALLS PKS,WOF.
  18044.  
  18045.  
  18046. LDC SUBR
  18047. SA1 EF
  18048. NZ X1,LDC1 IF NO EJECT SELECTED
  18049. SX6 100
  18050. SA6 LC FORCE EJECT
  18051. JP LDCX EXIT
  18052.  
  18053. * LIST DIRECTIVE AND RECORD NAME.
  18054.  
  18055. LDC1 SA1 =10H
  18056. SA2 SBTL1
  18057. BX6 X1
  18058. SA6 BUF LEADING SPACES FOR LIST LINE
  18059. BX7 X2
  18060. SA7 A6+B1 STORE RECORD NAME
  18061. SB2 CHAR
  18062. SB7 A7+B1
  18063. SB6 78
  18064. RJ PKS PACK DIRECTIVE CARD
  18065. PRINT (=2C )
  18066. PRINT BUF
  18067. PRINT (=2C )
  18068. JP LDCX EXIT
  18069. LDD SPACE 4,8
  18070. ** LDD - LOAD DUMP DIRECTORY.
  18071. *
  18072. * EXIT (X1) .NE. 0 IF FILE NOT IN RANDOM FORMAT.
  18073. * = 0 IF DIRECTORY TABLE LOADED.
  18074. * *S* FILE NAME IS CHANGED TO NAME OF *F* FILE.
  18075. *
  18076. * USES X - 1, 3, 6.
  18077. * A - 1, 3, 6.
  18078.  
  18079.  
  18080. LDD SUBR ENTRY/EXIT
  18081. OPEN F,READNR,R
  18082. SA1 X2+B1
  18083. NG X1,LDDX IF NOT ON MASS STORAGE
  18084. SA1 RBIA
  18085. NZ X1,LDDX IF NO REWIND SET
  18086. SKIPEI X2 CHECK DIRECTORY RECORD
  18087. SKIPB X2,2
  18088. READ X2
  18089. READO X2 READ FIRST WORD
  18090. LX6 18
  18091. SX1 X6-770000B
  18092. NZ X1,LDDX IF NOT IDENT TABLE
  18093. LX6 6 SET TABLE LENGTH
  18094. READW X2,BUF,X6 DISCARD IDENT TABLE
  18095. READO X2 READ DIRECTORY TABLE LENGTH WORD
  18096. MX1 42D
  18097. SA3 =0LDUMP
  18098. BX3 X3-X6
  18099. BX1 X1*X3
  18100. NZ X1,LDDX IF NOT EDD DUMP DIRECTORY RECORD
  18101. ALLOC TDIR,X6 ALLOCATE TABLE SPACE
  18102. READW F,X2,X3 READ DIRECTORY TABLE TO CORE
  18103. NZ X1,ERR24 IF BAD DIRECTORY TABLE
  18104. RECALL X2
  18105. SA1 X2
  18106. BX6 X1
  18107. SA6 S RESET SCRATCH FILE NAME
  18108. SX1 0 SET DIRECTORY LOADED
  18109. JP LDDX EXIT
  18110. LPW SPACE 4,15
  18111. ** LPW - LOAD 12 BIT WORD.
  18112. *
  18113. * ENTRY (LPWA+0) = RELATIVE ADDRESS OF WORD IN LPWB.
  18114. * (LPWA+1) = ADDRESS IN BUFFER TO CONTINUE UNPACKING.
  18115. *
  18116. * EXIT (LPWA) = UPDATED.
  18117. * (X6) = 12 BIT WORD.
  18118. *
  18119. * USES X - 1, 2, 3, 6.
  18120. * A - 1, 2, 6.
  18121. * B - 2.
  18122.  
  18123.  
  18124. LPW SUBR ENTRY/EXIT
  18125. SA2 LPWA POSITION OF NEXT 12 BIT BYTE
  18126. SA1 X2+LPWB
  18127. SX6 X2-1 UPDATE LPWA
  18128. SA6 A2
  18129. SX6 X1
  18130. PL X2,LPWX IF VALID BYTE
  18131. SB2 4
  18132. SX6 B2-B1
  18133. SA2 A2+B1 POSITION IN BUFFER OF NEXT WORD
  18134. SA6 A6
  18135. MX3 -12
  18136. SX6 X2+B1
  18137. SA1 X2+BUF
  18138. SA6 A2 UPDATE LPWA+1
  18139. LPW1 LX1 12
  18140. BX6 -X3*X1 EXTRACT 12 BIT BYTE
  18141. SA6 LPWB+B2
  18142. SB2 B2-B1
  18143. PL B2,LPW1 IF MORE BYTES TO UNPACK
  18144. SA1 LPWB+4
  18145. SX6 X1
  18146. EQ LPWX RETURN
  18147.  
  18148.  
  18149. LPWA CON 0 NEXT BYTE IN BUFFER LPWB
  18150. CON 0 NEXT WORD IN BUF
  18151. LPWB BSS 5
  18152. MEM SPACE 4,15
  18153. ** MEM - PROCESS CENTRAL MEMORY RECORD.
  18154. *
  18155. * ENTRY VIA UNCONDITIONAL JUMP.
  18156. *
  18157. * EXIT TO *RBI2* IF NORMAL.
  18158. * TO *PPE* IF PREMATURE EOF.
  18159. *
  18160. * USES A - 1, 3, 6.
  18161. * X - 1, 2, 3, 6.
  18162. *
  18163. * CALLS ERS, RBH, WBS.
  18164.  
  18165.  
  18166. MEM SA1 BUF GET MEMORY SIZE
  18167. MX2 -18
  18168. BX6 -X2*X1
  18169. SA3 MEMB
  18170. LX6 9
  18171. SA6 A3
  18172. ZR X3,MEM1 IF NO SIZE FROM OS BOUNDS REGISTER
  18173. IX2 X6-X3
  18174. NO
  18175. NG X2,MEM1 IF SIZE FROM HEADER IS SMALLER
  18176. SA1 VE
  18177. NZ X1,MEM1 IF *NOS V/E* MEMORY SPACE REQUIRED
  18178. BX6 X3
  18179. SA6 A3
  18180. MEM1 RJ RBH READ BLOCK OR HEADER FROM FILE *F*
  18181. NZ X1,PPE IF PREMATURE EOF
  18182. NG X1,PPE IF PREMATURE EOR
  18183. SA1 BWCF SET WORD COUNT FOR FILE *S*
  18184. BX6 X1
  18185. SA6 BWCS
  18186. RJ WBS WRITE BLOCK TO FILE *S*
  18187. SA1 BWCF INCREMENT WORD COUNT
  18188. SX2 15
  18189. IX6 X1*X2
  18190. AX6 4
  18191. SA1 MEMA
  18192. SA3 A1+B1
  18193. IX6 X6+X1 COUNT OF 64 BIT WORDS PROCESSED
  18194. SA6 A1
  18195. IX2 X6-X3 COMPARE WITH CM SIZE
  18196. NG X2,MEM1 IF NOT DONE
  18197. AX3 9
  18198. MX2 42
  18199. SA1 ID FETCH RECORD ID
  18200. BX1 X2*X1
  18201. BX6 X1+X3 ENSURE MEMORY SIZE CORRECT IN DIRECTORY
  18202. SA6 A1
  18203. SX2 15 SIZE * 16 / 15
  18204. LX3 9+4
  18205. IX6 X3/X2 FORM RECORD LENGTH
  18206. SA6 RWCS
  18207. RJ ERS END RECORD ON FILE *S*
  18208. SA1 VE
  18209. ZR X1,RBI3 IF *NOS/VE* MEMORY SPACE NOT REQUIRED
  18210. EQ RBI2 EXIT TO READ NEXT RECORD ON FILE *F*
  18211.  
  18212.  
  18213. MEMA CON 0 COUNT OF 64-BIT WORDS PROCESSED
  18214. MEMB CON 0 64-BIT MEMORY SIZE
  18215. MRT SPACE 4,15
  18216. ** MRT - DUMP MACHINE RECOVERY TABLE.
  18217. *
  18218. * ENTRY (EQ) = *EQDE* WORD OF EST ENTRY.
  18219. * (BUFF) = MST AND TRT.
  18220. *
  18221. * EXIT MRT DUMPED IF PRESENT.
  18222. * (BUFF) = MST FOLLOWED BY TRT OR MRT.
  18223. *
  18224. * USES X - 1, 2, 6, 7.
  18225. * A - 1, 2, 6, 7.
  18226. * B - 2, 5, 6, 7.
  18227. *
  18228. * CALLS CPS, CTS, GTD, POM, UPS.
  18229. *
  18230. * MACROS GETCM, PRINT.
  18231.  
  18232.  
  18233. MRT SUBR
  18234. SA1 EQ *EQDE* WORD OF EST
  18235. SX2 1020B SHARED AND ISHARED FLAGS
  18236. LX1 12
  18237. BX2 X1*X2
  18238. ZR X2,MRTX IF NOT A SHARED DEVICE
  18239. PRINT (=2C )
  18240. PRINT (=C* MACHINE RECOVERY TABLE*)
  18241. PRINT (=2C )
  18242. SA1 BUF+TRLL SET FWA OF TRT
  18243. SX6 X1
  18244. SA1 BUF+TDGL SET TRT LENGTH
  18245. MX7 -12
  18246. AX1 24
  18247. BX7 -X7*X1
  18248. IX6 X6+X7 MRT ADDRESS
  18249. SA6 CPRA
  18250. SA6 FW
  18251. SX7 X7+7
  18252. AX7 3 MRT LENGTH
  18253. SA7 LW
  18254. SB2 A6
  18255. RJ POM POSITION TO MRT
  18256. SA1 LW MRT LENGTH
  18257. GETCM BUF+MSTXL,X1 READ MRT INTO *BUF*
  18258. MX7 1
  18259. SA7 SRDA PRESET FIRST CALL TO *SRD*
  18260. SX6 B0
  18261. SA6 MRTA CLEAR LINK ORDINAL
  18262. SA6 MRTB CLEAR DATA WORD ORDINAL
  18263. SA6 SRDC+10 STOP DASHES AFTER 80 CHARACTERS
  18264. RJ SSB CLEAR PRINT STRING
  18265. MRT1 SA1 MRTB SET DATA ADDRESS
  18266. SX1 X1+BUF+MSTXL
  18267. SB5 1 SET WORD COUNT
  18268. RJ SRD SENSE REPEAT DATA
  18269. NZ X1,MRT3 IF REPEAT SENSED
  18270. SA1 FW GET MRT ADDRESS
  18271. SA2 MRTB
  18272. IX1 X1+X2
  18273. LX1 -18
  18274. SB6 6
  18275. SB7 PRBF
  18276. RJ CTS CONVERT MRT ADDRESS
  18277. SB7 B7+B1
  18278. SX6 1R+
  18279. SA6 B7
  18280. SB7 B7+B1
  18281. SA1 MRTA LINK ORDINAL
  18282. LX1 -12
  18283. SB6 4
  18284. RJ CTS CONVERT LINK ORDINAL
  18285. SB7 B7+2
  18286. SA2 =4000005B
  18287. SA1 MRTB READ MRT DATA WORD
  18288. SA1 X1+BUF+MSTXL
  18289. RJ FDW FORMAT DATA WORD
  18290. SB7 B7+B1
  18291. LX1 28
  18292. SB6 8
  18293. MRT2 SB6 B6-1
  18294. RJ P4F LIST TRACK BITS
  18295. SB7 B7+1
  18296. NZ B6,MRT2
  18297. SA2 MRTB RE-READ DATA WORD
  18298. SA2 X2+BUF+MSTXL
  18299. SB7 B7+2
  18300. SB6 10
  18301. RJ SDI SET DISPLAY CODE INTERPRETATION
  18302. PRINT CCCH,B7-CCCH
  18303. MRT3 SA1 MRTA
  18304. SX6 X1+32
  18305. SA6 A1+ UPDATE TRACK ORDINAL
  18306. SA1 MRTB
  18307. SX6 X1+B1
  18308. SA6 A1+ UPDATE MRT ADDRESS
  18309. SA2 LW
  18310. IX3 X6-X2
  18311. NG X3,MRT1 IF MORE TO DUMP
  18312. SA1 SRDC+1
  18313. BX6 X1
  18314. SA6 SRDC+10 RESET DASHES FOR 136 CHARACTERS
  18315. JP MRTX EXIT
  18316.  
  18317. MRTA BSS 1 TRACK ORDINAL
  18318. MRTB BSS 1 MRT DATA WORD ORDINAL
  18319. MST SPACE 4,15
  18320. ** MST - DUMP MASS STORAGE TABLE.
  18321. *
  18322. * ENTRY (X6) = MST ADDRESS.
  18323. * (FI) = EST ORDINAL TO BE DUMPED.
  18324. *
  18325. * EXIT MST DUMPED.
  18326. *
  18327. * USES X - 1, 2.
  18328. * A - 1, 2, 6.
  18329. * B - 2, 5, 6, 7.
  18330. *
  18331. * CALLS CPS, CTS, GTD, POM, UPS.
  18332. *
  18333. * MACROS GETCM, PRINT.
  18334.  
  18335.  
  18336. MST SUBR
  18337. SA6 FW STORE MST ADDRESS
  18338. SA6 CPRA
  18339. SB2 A6
  18340. RJ POM POSITION TO MST
  18341. GETCM BUF,MSTXL READ FULL MST INTO *BUF*
  18342. SA2 EF
  18343. SX1 100 FORCE PAGE EJECT
  18344. ZR X2,MST1 IF AUTO EJECT SELECTED
  18345. SX1 3
  18346. MST1 RJ CPS CHECK PAGE SPACE
  18347. PRINT (=2C )
  18348. SA2 =40HEQUIPMENT - MASS STORAGE TABLE
  18349. SB6 34
  18350. SB7 PRBF
  18351. RJ UPS SET HEADING
  18352. SB5 B7+ SAVE PRINT STRING ADDRESS
  18353. SA1 FI SET EST ORDINAL
  18354. LX1 -9
  18355. SB6 3
  18356. SB7 PRBF+10
  18357. RJ CTS CONVERT EST ORDINAL
  18358. PRINT CCCH,B5-CCCH
  18359. PRINT (=2C )
  18360. SA1 FW SET BASE ADDRESS
  18361. SB2 X1-BUF
  18362. SB2 -B2
  18363. SA1 TFMS ASSUME TABLE FOR NON-819 DISK
  18364. RJ GTD GENERATE DETAILED DUMP
  18365. EQ MSTX RETURN
  18366. NPE SPACE 4,10
  18367. ** NPE - NEXT PAGE ENTRY.
  18368. *
  18369. * ENTRY (X4) = STARTING OFFSET INTO PAGE TABLE.
  18370. * (X4) < 0 THEN GET NEXT CONSECUTIVE PAGE ENTRY.
  18371. *
  18372. * EXIT (X3) = (PTEVCUM ) = VALID, CONTINUE, USED,
  18373. * MODIFIED BITS.
  18374. * (X5) = (PTEPD ) = REMAINDER OF PAGE DESCRIPTOR.
  18375. * (A3) = *PTEVCUM*.
  18376. *
  18377. * USES X - 1, 2, 3, 4, 5, 6, 7.
  18378. * A - 2, 3, 4, 6.
  18379. * B - 2.
  18380. *
  18381. * CALLS NXB, PSM.
  18382.  
  18383.  
  18384. NPE SUBR ENTRY/EXIT
  18385. SA3 S2PTL OBTAIN PAGE TABLE LENGTH
  18386. MX2 -12
  18387. LX3 12
  18388. BX3 -X2+X3 FORM BYTE ADDRESS MASK
  18389. SX7 32 DEFAULT PAGE ENTRIES TO SEARCH
  18390. MX5 0
  18391. SA1 NPEA GET CURRENT PAGE ENTRY ADDRESS
  18392. PL X4,NPE1 IF SETTING INITIAL PAGE ENTRY
  18393. SX6 8
  18394. SA2 A1+B1
  18395. IX6 X1+X6
  18396. SA6 A1
  18397. BX4 X6*X3 ISOLATE PAGE TABLE INDEX
  18398. SX6 X2-1
  18399. SA6 PTEVCUM CLEAR VALID CONTINUE BITS
  18400. SA6 NPEA+1
  18401. ZR X6,NPE3 IF SEARCHED TOO MANY ENTRIES
  18402. NZ X4,NPE2 IF WRAP AROUND HAS NOT HAPPENED
  18403. NPE1 SA2 S2PTA PAGE TABLE ADDRESS
  18404. BX4 X3*X4 ISOLATE PAGE TABLE INDEX
  18405. IX6 X2+X4
  18406. SA6 A1 SAVE PAGE ENTRY ADDRESS
  18407. SA7 A1+B1
  18408. SB2 A6
  18409. RJ PSM POSITION TO PAGE ENTRY
  18410. NPE2 RJ NXB GET UPPER 16 BITS OF DESCRIPTOR
  18411. MX2 4-16
  18412. BX5 -X2*X1
  18413. BX6 X2*X1
  18414. LX6 59-15
  18415. SA6 PTEVCUM VALID, CONTINUE, USED, MODIFIED BITS
  18416. RJ NXB GET BITS 16-31
  18417. LX5 16
  18418. BX5 X5+X1
  18419. RJ NXB GET BITS 32-47
  18420. LX5 16
  18421. BX5 X5+X1
  18422. RJ NXB GET BITS 48-63
  18423. LX5 16
  18424. BX5 X5+X1
  18425. BX6 X5
  18426. NPE3 SA6 PTEPD SAVE REMAINDER OF PAGE DESCRIPTOR
  18427. SA3 PTEVCUM FETCH PTE BITS
  18428. JP NPEX RETURN
  18429.  
  18430. NPEA DATA 0 PAGE ENTRY BYTE ADDRESS
  18431. DATA 32 PAGE ENTRIES TO SEARCH
  18432. NXB SPACE 4,15
  18433. ** NXB - GET NEXT BYTE FROM RECORD.
  18434. *
  18435. * ENTRY (NXBA) = WORDS OF DATA IN PBUF.
  18436. * (NXBB) = OFFSET TO NEXT BYTE IN UBUF.
  18437. * (NXBC) = NEXT WORD TO UNPACK.
  18438. *
  18439. * EXIT (X1) = NEXT 16 BIT BYTE.
  18440. *
  18441. * USES X - 1, 2, 3, 4, 6, 7.
  18442. * A - 1, 2, 3, 6.
  18443. * B - 2, 3.
  18444. *
  18445. * MACROS READW.
  18446.  
  18447.  
  18448. NXB SUBR ENTRY/EXIT
  18449. SA2 NXBB
  18450. SA1 X2+UBUF-1 NEXT BYTE FROM BUFFER
  18451. SX6 X2-1
  18452. SA3 A2-B1
  18453. SA6 A2 UPDATE BYTE POINTER
  18454. PL X6,NXBX IF VALID BYTE
  18455. ZR X3,NXB3 IF PBUF IS EMPTY
  18456. SA2 A2+B1 NEXT WORD OF DATA
  18457. SX6 X3-4
  18458. SA6 A3 DECREMENT WORD COUNT
  18459. NXB0 SA1 X2
  18460. MX2 16
  18461. SB2 60+16
  18462. SB3 14
  18463. NXB1 BX6 X1*X2 EXTRACT BYTE
  18464. PL X2,NXB2 IF BYTE CONTAINED WITHIN THIS WORD
  18465. SA1 A1+B1 GET REMAINING PART OF BYTE
  18466. MX3 30
  18467. SB2 B2-60
  18468. BX6 -X3*X6
  18469. BX4 X3*X1
  18470. IX7 X4+X6
  18471. BX6 X2*X7
  18472. NXB2 LX6 B2 POSITION BYTE TO LOWER 16 BITS OF WORD
  18473. SB2 B2+16
  18474. LX2 -16
  18475. SA6 UBUF+B3 SAVE BYTE
  18476. SB3 B3-B1
  18477. SX6 A1
  18478. PL B3,NXB1 IF UNPACKING NOT COMPLETE
  18479. SA1 UBUF+14 RETURN THIS BYTE
  18480. SA6 A2 UPDATE UBUF
  18481. SX6 14
  18482. SA6 A2-B1
  18483. EQ NXBX RETURN
  18484.  
  18485. NXB3 SX6 B7 SAVE B6 AND B7
  18486. SX1 B6
  18487. LX6 18
  18488. BX6 X6+X1
  18489. SA6 A2+B1
  18490. READW S,PBUF,16
  18491. SX6 12
  18492. SA6 NXBA RESET NXBA
  18493. SA2 NXBC
  18494. SB6 X2 RESTORE B6 AND B7
  18495. AX2 18
  18496. SB7 X2
  18497. SX2 PBUF-1
  18498. EQ NXB0 UNPACK FIRST 4 WORDS OF BYTES
  18499.  
  18500.  
  18501. NXBA DATA 0 WORDS OF DATA REMAINING IN PBUF
  18502. NXBB DATA 0 OFFSET INTO BYTE BUFFER
  18503. NXBC CON PBUF-1 ADDRESS-1 OF NEXT DATA WORD IN PBUF
  18504. OTH SPACE 4,10
  18505. ** OTH - PROCESS MISCELLANEOUS RECORD.
  18506. *
  18507. * ENTRY VIA UNCONDITIONAL JUMP.
  18508. *
  18509. * EXIT TO *RBI2*.
  18510. *
  18511. * CALLS CRS.
  18512.  
  18513.  
  18514. OTH BSS 0
  18515. SA1 ID
  18516. LX1 12
  18517. MX0 12
  18518. SA2 OTHA
  18519. BX0 X0*X1
  18520. BX2 X0-X2
  18521. ZR X2,OTH1 IF *PP* RECORD
  18522. SA2 A2+B1
  18523. BX2 X0-X2
  18524. NZ X2,OTH2 IF NOT *FLPP* RECORD
  18525. OTH1 BX7 X1
  18526. SA7 A1
  18527. OTH2 RJ CRS COPY RECORD TO FILE *S*
  18528. EQ RBI2 EXIT TO READ NEXT RECORD
  18529.  
  18530. OTHA CON 2LPP
  18531. CON 2LFP
  18532. PBB SPACE 4,16
  18533. ** PBB - PRINT BYTE BUFFER
  18534. *
  18535. * ENTRY (X1) = NUMBER OF WORDS*2 IN BUFFER.
  18536. * (B2) = PARAMETER BLOCK ADDRESS.
  18537. * +0 = FWA OF DUMP.
  18538. * +1 = LWA OF DUMP.
  18539. *
  18540. * EXIT ONE PAGE WRITTEN.
  18541. *
  18542. * USES B - 3, 4, 6, 7.
  18543. * A - 1, 2, 4, 6, 7.
  18544. * X - 1, 2, 4, 6, 7.
  18545. *
  18546. * CALLS HTS, SAI, UPS.
  18547. *
  18548. * MACROS PRINT.
  18549.  
  18550.  
  18551. PBB SUBR ENTRY/EXIT
  18552. SX6 BUF
  18553. IX7 X6+X1 LWA+1 OF DATA IN BUF
  18554. SA6 PBBA FWA OF DATA IN BUF
  18555. SX2 6 COMPUTE ROW INCREMENT = 2*(WORDS+2)/3
  18556. SX1 X1+4
  18557. IX6 X1/X2
  18558. LX6 1
  18559. SA6 A6+B1 ROW INCREMENT
  18560. SA7 A6+B1 PRINT BUFFER LWA+1
  18561. SA1 TF
  18562. ZR X1,PBB1 IF NOT A TERMINAL FILE
  18563. SX6 X7-BUF
  18564. SA6 A6 SET ROW INCREMENT FOR TERMINAL FILE
  18565. PBB1 SA1 PBBA NEXT DATA WORD TO DUMP
  18566. SA4 A1+B1 ROW INCREMENT
  18567. SA2 A4+B1 DATA LWA+1
  18568. SB3 X1
  18569. SB4 X2
  18570. SB7 PRBF PRINT STRING ADDRESS
  18571. PBB2 GE B3,B4,PBB4 IF NOT BEYOND END OF BUFFER
  18572. SA1 B3+
  18573. PL X1,PBB3 IF DATA NOT DUPLICATED
  18574. SA2 =40H-----------------------------------
  18575. SB6 40
  18576. RJ UPS STORE REPEAT INDICATOR IN PRINT LINE
  18577. SB3 B3+X4 ADVANCE PAGE BUFFER ADDRESS
  18578. EQ PBB2 PROCESS NEXT WORD
  18579.  
  18580. PBB3 SB6 7 HEX DIGITS IN ADDRESS
  18581. SX6 1R
  18582. RJ HTS CONVERT ADDRESS
  18583. SA6 B7
  18584. SA6 A6+B1
  18585. SB7 A6+B1 SPACE ONE
  18586. SB6 4 UNPACK 4 DIGITS
  18587. RJ HTS UNPACK FIRST BYTE
  18588. SA6 B7 INSERT SPACE
  18589. SB7 B7+B1
  18590. SB6 4
  18591. RJ HTS UNPACK SECOND BYTE
  18592. SA1 A1+B1
  18593. SB6 4
  18594. SA6 B7
  18595. SB7 B7+B1
  18596. LX1 28
  18597. RJ HTS UNPACK THIRD BYTE
  18598. SA6 B7
  18599. SB7 B7+B1
  18600. SB6 4
  18601. RJ HTS UNPACK FOURTH BYTE
  18602. SB6 4
  18603. SA6 B7
  18604. SB7 B7+B1
  18605. SA2 A1-B1
  18606. LX2 28
  18607. RJ SAI SET ASCII INTERPRETATION
  18608. SA2 A2+B1
  18609. SB6 4
  18610. LX2 28
  18611. RJ SAI SET ASCII INTERPRETATION
  18612. SB7 B7+3
  18613. SB3 B3+X4 ADVANCE PAGE BUFFER ADDRESS
  18614. EQ PBB2 CONTINUE PROCESSING THIS LINE
  18615.  
  18616. PBB4 PRINT CCCH,B7-CCCH-2
  18617. SA1 PBBA ADVANCE POSITION IN DATA BUFFER
  18618. SA2 A1+1
  18619. SX2 X2+BUF
  18620. SX6 X1+2
  18621. SA6 A1
  18622. IX6 X6-X2
  18623. NG X6,PBB1 IF ROOM FOR ANOTHER LINE ON PAGE
  18624. EQ PBBX RETURN
  18625.  
  18626.  
  18627. PBBA DATA 0 CURRENT BUFFER POSITION
  18628. DATA 0 ROW INCREMENT
  18629. DATA 0 LWA+1 OF DATA IN BUFFER
  18630. PBC SPACE 4,15
  18631. ** PBC - PACK BUFFER CONTROLLER.
  18632. *
  18633. * ENTRY DUMP FILE POSITIONED TO BEGINNING OF RECORD.
  18634. *
  18635. * EXIT (PBUF) CONTAINS CONTROLLER MEMORY.
  18636. *
  18637. * USES X - 0, 1, 2, 5, 6, 7.
  18638. * A - 1, 2, 6, 7.
  18639. *
  18640. * CALLS RBC.
  18641. *
  18642. * DEFINE (X5) = PBUF INDEX.
  18643.  
  18644.  
  18645. PBC SUBR ENTRY/EXIT
  18646. SX5 0 INITIALIZE PBUF INDEX
  18647.  
  18648. * READ 3 CM WORDS OF THE FORM- 20/0,8/B1,8/B2,8/B3,8/B4,8/B5
  18649.  
  18650. PBC1 RJ RBC
  18651. NZ X1,PBCX IF TRANSFER NOT COMPLETE
  18652. SA7 PBUF+X5 SAVE WORD 1
  18653. RJ RBC
  18654. NZ X1,PBCX IF TRANSFER NOT COMPLETE
  18655. SA7 PBUF+1+X5 SAVE WORD 2
  18656. RJ RBC
  18657. NZ X1,PBCX IF TRANSFER NOT COMPLETE
  18658. SA1 PBUF+X5 GET WORD 1
  18659. SA2 A1+B1 GET WORD 2
  18660.  
  18661. * CONVERT 3 CM WORDS TO 2 CM WORDS WITH THE FORMAT-
  18662. * 8/B1,8/B2,8/B3,8/B4,8/B5,8/B6,8/B7,4/B8
  18663. * 4/B8,8/B9,8/B10,8/B11,8/B12,8/B13,8/B14,8/B15
  18664.  
  18665. MX0 -20 FORM WORD 1
  18666. BX0 -X0*X2 SAVE BITS FOR WORD 2
  18667. LX1 20
  18668. AX2 20
  18669. BX6 X1+X2
  18670. LX0 40 FORM WORD 2
  18671. BX7 X0+X7
  18672. SA6 PBUF+X5 SAVE WORD 1
  18673. SA7 A6+1 SAVE WORD 2
  18674. SX5 X5+2 UPDATE INDEX
  18675. SX6 X5-IUBUFL1-4
  18676. NG X6,PBC1 IF MORE MEMORY TO PACK
  18677. EQ PBCX RETURN
  18678. PBD SPACE 4,25
  18679. *** PBD - PREPROCESS BINARY DUMP FILE.
  18680. *
  18681. * THIS SUBROUTINE IS USED WHEN THE *DMB* PARAMETER
  18682. * IS PRESENT. THE FILE PRODUCED BY THE *DMB* OR
  18683. * *LOADBC* UTILITY IS CONVERTED TO A FORMAT THAT
  18684. * CAN BE PROCESSED BY *DSDI*. FOR THE FILE FROM
  18685. * *DMB*, THE FIELD LENGTH DUMPED IS MADE TO
  18686. * APPEAR AS THOUGH IT RESIDED AT CONTROL POINT ONE.
  18687. * ONLY THE PORTION OF *CMR* NEEDED BY *DSDI*
  18688. * IS SET UP.
  18689. *
  18690. * ENTRY (BD) = BINARY DUMP FLAG.
  18691. * (RBIA) = REWIND FLAG.
  18692. *
  18693. * EXIT (BD) = DUMP NUMBER IF IN *BD* MODE.
  18694. *
  18695. * USES X - ALL.
  18696. * A - 1, 2, 3, 4, 5, 6, 7.
  18697. * B - 2, 7.
  18698. *
  18699. * CALLS SFN.
  18700. *
  18701. * MACROS ALLOC, MESSAGE, READ, READO, READW, RECALL,
  18702. * RETURN, REWIND, WRITEF, WRITEO, WRITER,
  18703. * WRITEW.
  18704.  
  18705.  
  18706. PBD SUBR ENTRY/EXIT
  18707. SA1 BD
  18708. ZR X1,PBDX IF NOT BINARY DUMP MODE
  18709. RECALL F
  18710. RETURN F1,R DROP SCRATCH FILE
  18711. MESSAGE (=C* REFORMATTING FILE.*),1
  18712. SA1 RBIA
  18713. NZ X1,PBD1 IF NO REWIND REQUESTED
  18714. REWIND F,R
  18715. PBD1 READ F
  18716. ALLOC TCMT,DMBCM LENGTH OF *CMR* (MULTIPLE OF 100)
  18717. SA2 L.TCMT CLEAR WORKING SPACE
  18718. SA1 F.TCMT
  18719. SB2 X2-1
  18720. SX7 0
  18721. PBD2 SA7 X1+B2
  18722. SB2 B2-B1
  18723. PL B2,PBD2 IF MORE TO CLEAR
  18724. READO F
  18725. NZ X1,ERR39 IF FORMAT ERROR
  18726. SA3 RBIB
  18727. BX1 X6 SAVE POSSIBLE DUMP NUMBER
  18728. BX3 X6-X3
  18729. NZ X3,PBD3 IF NOT 7700 TABLE
  18730. LX6 -36 SKIP 7700 TABLE
  18731. SB7 X6
  18732. READW X2,BUF,B7
  18733. NZ X1,ERR39 IF FORMAT ERROR
  18734. READO X2
  18735. NZ X1,ERR39 IF FORMAT ERROR
  18736. BX1 X6 DUMP NUMBER
  18737. PBD3 RJ SFN
  18738. SA6 BD
  18739. READO F
  18740. NZ X1,ERR39 IF FORMAT ERROR
  18741. BX1 X6
  18742. SB7 X6
  18743. AX1 48
  18744. SX1 X1-2RID
  18745. NZ X1,ERR39 IF NOT *ID* TABLE
  18746. READW X2,BUF,B7
  18747. NZ X1,ERR39 IF FORMAT ERROR
  18748.  
  18749. * BUILD NEEDED *CMR* INFORMATION.
  18750.  
  18751. SA5 F.TCMT
  18752. SA3 BUF GET SYSTEM VERSION
  18753. SA4 A3+B1
  18754. BX6 X3
  18755. BX7 X4
  18756. SA6 X5+SVNL
  18757. SA7 A6+B1
  18758. SA3 A4+B1 DATE
  18759. SA4 A3+B1 TIME
  18760. BX6 X3
  18761. BX7 X4
  18762. SA6 X5+DTEL
  18763. SA7 X5+TIML
  18764. SX6 B1+B1 NUMBER OF CONTROL POINTS
  18765. LX6 47-11
  18766. SA6 X5+CFGL
  18767. SX7 DMBCM/100B SET CMR SIZE
  18768. SA7 X5+CMRL
  18769. LX7 6 SET FWA OF JCA
  18770. SX7 X7-100B
  18771. LX7 59-23
  18772. SA7 X5+JBCP
  18773. READO X2
  18774. NZ X1,ERR39 IF FORMAT ERROR
  18775. BX1 X6
  18776. AX6 48
  18777. SX0 X6-2RBC
  18778. ZR X0,PBD3.1 IF FILE FROM *LOADBC*
  18779. SX7 3RDMM SET HEADER LABEL
  18780. SX0 X1 SAVE WORD COUNT
  18781. LX7 -18
  18782. SA7 PBDA
  18783. SX6 X6-2RXP
  18784. NZ X6,ERR39 IF FORMAT ERROR
  18785. READW X2,X5+CPAS,20B READ EXCHANGE PACKAGE
  18786. SX0 X0-20B
  18787. NG X0,ERR39 IF FORMAT ERROR
  18788. NZ X1,ERR39 IF FORMAT ERROR
  18789. MX6 6 MARK CONTROL POINT ACTIVE
  18790. LX6 -6
  18791. SA6 X5+CPAS+TFSW
  18792. READW X2,BUF,X0 SKIP UNUSED WORDS
  18793. NZ X1,ERR39 IF FORMAT ERROR
  18794.  
  18795. * SET RA AND FL IN CP 1 *FLSW* WORD.
  18796.  
  18797. READO X2
  18798. SX0 X6 SAVE CMFL / 100B
  18799. AX6 48
  18800. SX6 X6-2RCM
  18801. NZ X1,ERR39 IF FORMAT ERROR
  18802. NZ X6,ERR39 IF FORMAT ERROR
  18803. SA3 L.TCMT SET RA / 100 OF CP 1
  18804. LX3 12-6
  18805. BX7 X3+X0 COMBINE RA / 100 AND FL / 100
  18806. SA7 X5+CPAS+FLSW
  18807.  
  18808. * WRITE REFORMATTED FILE.
  18809.  
  18810. PBD3.1 WRITEW F1,PBDA,B1 WRITE HEADER ONE
  18811. WRITEW X2,X5+DTEL,B1
  18812. WRITEW X2,X5+TIML,B1
  18813. WRITEW X2,BD,B1
  18814. WRITER X2,R
  18815. SA3 L.TCMT *CMR* LENGTH
  18816. LX0 6 CONVERT CM / 100B TO WORDS
  18817. IX1 X0+X3 MEMORY SIZE
  18818. SX1 X1+777B ROUND UP TO 1000B BLOCKS
  18819. AX1 9
  18820. SX3 3RCM
  18821. LX3 59-17
  18822. BX6 X3+X1
  18823. LX1 9 SAVE ROUNDED FL
  18824. BX7 X1 SET MACHINE CHARACTERISTICS
  18825. SX3 4372B SET 170-700 MAINFRAME
  18826. LX7 12-6 CM SIZE / 100
  18827. LX3 47-11
  18828. BX7 X7+X3
  18829. SA7 X5+MABL
  18830. BX5 X1
  18831. WRITEO X2 WRITE HEADER TWO
  18832. SB2 77B CLEAR BUFFER SPACE
  18833. SX6 0
  18834. PBD4 SA6 BUF+B2
  18835. SB2 B2-1
  18836. PL B2,PBD4 IF MORE TO CLEAR
  18837. WRITEW X2,BUF,3
  18838. WRITER X2,R
  18839. SA3 L.TCMT
  18840. SA1 F.TCMT
  18841. IX5 X5-X3 SUBTRACT *CMR* WORDS
  18842. WRITEW X2,X1,X3 WRITE CMR PORTION
  18843. NZ X5,PBD5 IF CONTROL POINT FL TO COPY
  18844. SA1 PBDA
  18845. AX1 42
  18846. SX1 X1-3RLBC
  18847. NZ X1,PBD7 IF NOT FILE FROM *LOADBC*
  18848.  
  18849. * COPY CONTROLLER MEMORY FOR FILE FROM *LOADBC*.
  18850.  
  18851. WRITER F1,R WRITE EOR FOR CMR PORTION
  18852. READW F,BUF,100B
  18853. SA2 BD ENTER CHANNEL DISPLAY IN CONTROLLER DUMP
  18854. MX6 24
  18855. BX2 X6*X2
  18856. SA3 BUF
  18857. LX6 -12
  18858. BX6 -X6*X3
  18859. LX2 -12
  18860. BX6 X6+X2
  18861. SA6 A3
  18862. SX0 X1 SAVE READ STATUS
  18863. PBD4.1 SB7 B6-BUF
  18864. WRITEW F1,BUF,B7
  18865. NZ X0,PBD9 IF COPY COMPLETE
  18866. READW F,BUF,100B
  18867. SX0 X1 SAVE READ STATUS
  18868. EQ PBD4.1 CONTINUE CONTROLLER DATA TRANSFER
  18869.  
  18870. * COPY CM DUMP FROM FILE.
  18871.  
  18872. PBD5 READW F,BUF+100B,100B
  18873. NZ X1,ERR39 IF FORMAT ERROR
  18874. WRITEW F1,BUF+100B,100B
  18875. SX0 X0-100B
  18876. SX5 X5-100B
  18877. NZ X0,PBD5 IF MORE TO COPY
  18878. PBD6 ZR X5,PBD7 IF PAD WORDS WRITTEN
  18879. WRITEW F1,BUF,100B
  18880. SX5 X5-100B
  18881. EQ PBD6 WRITE MORE PAD WORDS
  18882.  
  18883. * COPY EXTENDED MEMORY DUMP FROM FILE.
  18884.  
  18885. PBD7 READO F CHECK FOR ECS DUMP RECORD
  18886. NZ X1,PBD9 IF NOT ECS
  18887. SA6 BUF
  18888. SX1 3RECS
  18889. SX0 X6 ECS LENGTH
  18890. AX6 42
  18891. LX0 9
  18892. BX1 X1-X6
  18893. NZ X1,PBD9 IF NOT EXTENDED MEMORY
  18894. ZR X0,PBD9 IF NOTHING TO TRANSFER
  18895. WRITER F1,R
  18896. WRITEW X2,BUF,4 EXTENDED MEMORY DUMP HEADER
  18897. WRITER X2,R
  18898. PBD8 ZR X0,PBD9 IF COPY COMPLETE
  18899. READW F,BUF+100B,100B COPY DUMP RECORD
  18900. NZ X1,ERR39 IF END OF RECORD
  18901. WRITEW F1,BUF+100B,100B
  18902. SX0 X0-100B
  18903. EQ PBD8 GET NEXT BLOCK
  18904.  
  18905. PBD9 WRITEF F1,R TERMINATE FILE
  18906. RECALL F
  18907. SA1 F1 SWAP FILE NAMES
  18908. MX3 42
  18909. MX6 -2
  18910. BX1 X3*X1
  18911. BX6 -X6+X1
  18912. SA6 F
  18913. REWIND A6,R
  18914. SA1 L.TCMT DROP TABLE SPACE
  18915. BX1 -X1
  18916. ALLOC TCMT,X1
  18917. EQ PBDX RETURN
  18918.  
  18919.  
  18920. PBDA CON 3LLBC
  18921. PCH SPACE 4,12
  18922. ** PCH - PRINT CONTROL POINT DUMP HEADING.
  18923. *
  18924. * ENTRY (CN) = CONTROL POINT NUMBER.
  18925. * (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
  18926. *
  18927. * EXIT (FW) = CONTROL POINT AREA ADDRESS.
  18928. * (LW) = CONTROL POINT AREA LWA+1.
  18929. *
  18930. * USES X - 1, 2, 6, 7.
  18931. * A - 1, 2, 6, 7.
  18932. * B - 6, 7.
  18933. *
  18934. * CALLS CPS, CTS, UPS.
  18935. *
  18936. * MACROS PRINT.
  18937.  
  18938.  
  18939. PCH SUBR
  18940. SA2 EF CHECK AUTO EJECT FLAG
  18941. SX1 100 PRESET FOR EJECT
  18942. ZR X2,PCH1 IF AUTO EJECT SELECTED
  18943. SX1 3
  18944. PCH1 RJ CPS CHECK PAGE SPACE
  18945. PRINT (=2C )
  18946. SA1 CN CONTROL POINT NUMBER
  18947. SA2 OP ADD PCPA OFFSET
  18948. LX1 7
  18949. IX6 X1+X2
  18950. SA6 FW SAVE ADDRESS
  18951. SX7 X6+CPLEN
  18952. SA7 LW SET LWA+1
  18953. BX1 X6
  18954. LX1 -12
  18955. SB6 4
  18956. SB7 PRBF
  18957. RJ CTS CONVERT ADDRESS
  18958. SA2 =18H - CONTROL POINT
  18959. SB6 17
  18960. SA1 OP
  18961. ZR X1,PCH2 IF NOT DUMPING PCP-S
  18962. SA2 =25H - PSEUDO-CONTROL POINT
  18963. SB6 24
  18964. PCH2 RJ UPS UNPACK STRING
  18965. SA1 CN
  18966. LX1 -6
  18967. SB6 B1+B1
  18968. RJ CTS CONVERT CONTROL POINT NUMBER
  18969. PRINT CCCH,B7-CCCH
  18970. PRINT (=2C )
  18971. JP PCHX EXIT
  18972. PCM SPACE 4,10
  18973. ** PCM - POSITION CYBER MEMORY.
  18974. *
  18975. * ENTRY X3 - CM ADDRESS.
  18976. *
  18977. * EXIT DUMP FILE POSITIONED FOR *GETCM*
  18978. *
  18979. * USES A - 1, 6.
  18980. * X - 1, 2, 3, 6.
  18981. *
  18982. * CALLS PDF, UPW.
  18983.  
  18984.  
  18985. PCM SUBR ENTRY/EXIT
  18986. SA1 MT
  18987. NZ X1,PCM1 IF MEMORY TYPE IS ESM
  18988. SA1 AP
  18989. NZ X1,PCM2 IF ADVANCED PROCESSOR PRESENT
  18990. PCM1 RJ PDF POSITION DUMP FILE
  18991. EQ PCMX RETURN
  18992.  
  18993. PCM2 BX1 X3
  18994. SX2 15
  18995. IX3 X3/X2
  18996. SX2 15
  18997. IX6 X2*X3
  18998. IX2 X1-X6
  18999. SX6 X2-15
  19000. LX3 4
  19001. SA6 BI DESIRED POSITION WITHIN 15 WORD BLOCK
  19002. RJ PDF POSITION DUMP FILE
  19003. RJ UPW UNPACK 64-60 BIT WORDS
  19004. EQ PCMX RETURN
  19005. PCS SPACE 4,10
  19006. ** PCS - PROCESSOR CONTROL STORE.
  19007. *
  19008. * ENTRY VIA UNCONDITIONAL JUMP.
  19009. *
  19010. * EXIT TO *RBI2* IF NORMAL.
  19011. * TO *PPE1* IF PREMATURE EOF.
  19012. *
  19013. * CALLS CRS, ERF, RBF.
  19014.  
  19015.  
  19016. PCS BSS 0 ENTRY
  19017. RJ ERF POSITION TO EOR ON FILE *F*
  19018. RJ RBF READ FIRST PART OF CONTROL STORE
  19019. NZ X1,PPE1 IF PREMATURE EOF
  19020. RJ CRS COPY CONTROL STORE TO FILE *S*
  19021. EQ RBI2 EXIT TO READ NEXT RECORD FROM FILE *F*
  19022.  
  19023. EIC EQU PCS PROCESS ENVIRONMENTAL INTERFACE RECORD
  19024. PMR EQU PCS PROCESS PROCESSOR MAINTENANCE REGISTERS
  19025. PRF EQU PCS PROCESS PROCESSOR REGISTER FILE
  19026. MMR EQU PCS PROCESS MEMORY MAINTENANCE REGISTERS
  19027. INN EQU PCS PROCESS IOU MAINTENANCE REGISTERS
  19028. CCR EQU PCS PROCESS CCH CHANNEL REGISTER RECORD
  19029. PRX EQU PCS PROCESS PROCESSOR EXCHANGE PACKAGES.
  19030. PCV SPACE 4,15
  19031. ** PCV - PROCESS CONTROLLER DATA VERIFICATION.
  19032. *
  19033. * ENTRY (X1) = OCTAL/HEX DUMP FORMAT FLAG.
  19034. * (X2) = DIRECTORY ENTRY ADDRESS FOR CONTROLLER DATA.
  19035. *
  19036. * EXIT CONTROLLER DUMP VERIFICATION ERROR DATA WRITTEN.
  19037. *
  19038. * USES X - ALL.
  19039. * A - ALL.
  19040. * B - 2, 3, 4, 5, 6, 7.
  19041. *
  19042. * CALLS CTS, CVE, HTS, PDF, SSB, UPS.
  19043. *
  19044. * MACROS PRINT, READO.
  19045.  
  19046.  
  19047. PCV SUBR ENTRY/EXIT
  19048. SA4 X2+B1 GET RANDOM INDEX OF CONTROLLER RECORD
  19049. BX7 X1 SAVE OCTAL/HEX FORMAT FLAG
  19050. SA7 PCVA
  19051. BX6 X4
  19052. SA6 RI
  19053. BX7 X7-X7
  19054. SA7 A7+B1
  19055. ERRNZ PCVB-PCVA-1 CODE DEPENDS ON CONSECUTIVE LOCATIONS
  19056. SX3 B1+B1 POSITION TO THIRD WORD OF RECORD
  19057. RJ PDF
  19058. PRINT (=2C )
  19059. PRINT CDVH1 WRITE CONTROLLER DATA VERIFICATION HEADERS
  19060. PRINT CDVH2
  19061. PRINT (=2C )
  19062. RJ SSB SPACE FILL LINE BUFFER
  19063. PCV1 SA1 PCVB ADVANCE CONTROLLER MEMORY ADDRESS
  19064. SX6 X1+5
  19065. SA6 A1
  19066. READO S
  19067. NZ X1,PCVX IF END OF RECORD
  19068. SA6 PCVC SAVE FIRST WORD OF PAIR
  19069. READO S
  19070. ZR X1,PCV2 IF SECOND WORD TRANSFERRED
  19071. BX6 X6-X6
  19072. PCV2 SA5 PCVC GET FIRST WORD OF PAIR
  19073. SA3 PCVD GET VERIFICATION ERROR MASK
  19074. SA6 A5 SAVE SECOND WORD OF PAIR
  19075. BX1 X3*X6
  19076. BX4 X3*X5
  19077. BX1 X1+X4
  19078. ZR X1,PCV1 IF NO ERROR
  19079. SA1 PCVB GET CONTROLLER MEMORY ADDRESS
  19080. SB7 PRBF PRINT STRING BUFFER
  19081. SB6 4
  19082. LX1 -16
  19083. RJ HTS CONVERT ADDRESS TO HEX DISPLAY
  19084. SA2 PCVA
  19085. SA0 PRBF+10
  19086. SB2 10
  19087. NZ X2,PCV3 IF NOT OCTAL DUMP
  19088. SB7 PRBF
  19089. SB6 5
  19090. LX1 -15
  19091. RJ CTS CONVERT ADDRESS TO DISPLAY
  19092. PCV3 MX0 -4
  19093. SB3 4
  19094. MX3 8
  19095. LX5 4
  19096. BX6 -X0*X5 VERIFICATION ERROR FLAG
  19097. BX1 X3*X5 CONTROLLER DATA (FIRST HALF OF BYTE)
  19098. LX5 12
  19099. SB5 B3+B3
  19100. RJ CVE CHECK FOR VERIFICATION ERROR
  19101. BX4 X6 SAVE FIRST HALF BYTE VERIFICATION STATUS
  19102. SB2 B2-2
  19103. NE B2,B3,PCV4 IF NOT AT END OF FIRST WORD OF PAIR
  19104. SA5 A5 GET SECOND WORD OF PAIR
  19105. LX5 4
  19106. PCV4 BX6 -X0*X5 VERIFICATION ERROR FLAG
  19107. SB5 B0
  19108. RJ CVE CHECK FOR VERIFICATION ERROR
  19109. BX3 X3*X5 CONTROLLER DATA (SECOND HALF OF BYTE)
  19110. LX3 -8
  19111. BX1 X1+X3
  19112. LX5 8
  19113. SB7 A0
  19114. SA2 PCVA GET OCTAL/HEX DUMP FORMAT FLAG
  19115. SB6 B3
  19116. ZR X2,PCV5 IF OCTAL DUMP
  19117. RJ HTS CONVERT ACTUAL VALUE TO HEX DIGITS
  19118. SB6 B3
  19119. SB7 A0+52-10
  19120. BX2 X6*X4
  19121. SB4 B3
  19122. NG X2,PCV7 IF MULTIPLE BIT FAILURE IN BOTH HALVES
  19123. BX1 X1-X6 CALCULATE EXPECTED VALUE
  19124. BX1 X1-X4
  19125. LX1 -16
  19126. RJ HTS CONVERT EXPECTED VALUE TO HEX DIGITS
  19127. BX1 X4+X6 CALCULATE LOGICAL DIFFERENCE
  19128. LX1 -16
  19129. SB7 A0+94-10
  19130. SB6 B3
  19131. RJ HTS CONVERT DIFFERENCE TO HEX DIGITS
  19132. SB4 B1+B1
  19133. SB3 B1+B1
  19134. EQ PCV6 PROCESS MULTIPLE BIT FAILURE
  19135.  
  19136. PCV5 SB3 B3-1
  19137. SB6 B3+B3
  19138. LX1 -2
  19139. RJ CTS CONVERT ACTUAL VALUE TO OCTAL DIGITS
  19140. SB7 A0+52-10
  19141. SB6 B3+B3
  19142. BX2 X4*X6
  19143. SB4 B6
  19144. NG X2,PCV7 IF MULTIPLE BIT FAILURE IN BOTH HALVES
  19145. BX1 X1-X6 CALCULATE EXPECTED VALUE
  19146. BX1 X1-X4
  19147. LX1 -18
  19148. RJ CTS CONVERT EXPECTED VALUE TO OCTAL DIGITS
  19149. SB6 B3+B3
  19150. BX1 X4+X6 CALCULATE LOGICAL DIFFERENCE
  19151. SB4 B3+B1
  19152. LX1 -18
  19153. SB7 A0+94-10
  19154. RJ CTS CONVERT DIFFERENCE TO OCTAL DIGITS
  19155. PCV6 PL X1,PCV9 IF NO MULTIPLE BIT ERROR
  19156. SB7 A0+52-10
  19157. SB6 B4+
  19158. NG X4,PCV7 IF MULTIPLE BIT ERROR IN FIRST HALF
  19159. SB6 B3
  19160. SB7 B7+B6
  19161. PCV7 SA2 =6L******
  19162. RJ UPS UNPACK CHARACTERS TO PRINT LINE
  19163. SB7 A0+94-10
  19164. SB6 B4+
  19165. NG X4,PCV8 IF MULTIPLE BIT ERROR IN FIRST HALF
  19166. SB6 B3
  19167. SB7 B7+B6
  19168. PCV8 SA2 =6L******
  19169. RJ UPS UNPACK CHARACTERS TO PRINT LINE
  19170. PCV9 SA0 A0+8
  19171. NZ B2,PCV3 IF MORE BYTES IN WORD PAIR
  19172. PRINT CCCH,136 PRINT VERIFICATION ERROR LINE
  19173. EQ PCV1 CONTINUE DUMP VERIFICATION
  19174.  
  19175.  
  19176. PCVA CON 0 0 = OCTAL DUMP, 1 = HEX DUMP FORMAT
  19177. PCVB CON 0 CONTROLLER MEMORY ADDRESS
  19178. PCVC CON 0 CONTROLLER DATA WORD
  19179. PCVD VFD 4/17B,8/0,4/17B,8/0,4/17B,8/0,4/17B,8/0,4/17B,8/0
  19180.  
  19181.  
  19182. CDVH1 BSS 0 CONTROLLER DATA VERIFICATION HEADER LINE 1
  19183. DATA 50H ACTUAL VALUE
  19184. DATA 40H EXPECTED VALUE
  19185. DATA C* LOGICAL DIFFERENCE*
  19186.  
  19187. CDVH2 BSS 0 CONTROLLER DATA VERIFICATION HEADER LINE 2
  19188. DATA 50H ADDRESS +0 +1 +2 +3 +4
  19189. DATA 40H +0 +1 +2 +3 +4
  19190. DATA C* +0 +1 +2 +3 +4*
  19191. PCW SPACE 4,17
  19192. ** PCW - PRINT CONTENTS OF SUB-SYSTEM WORDS.
  19193. *
  19194. * ENTRY A5 = ADDRESS OF DESCRIPTOR BLOCK.
  19195. *T 24/ FIRST WORD LABEL,6/ ,18/ REL WORD ADD
  19196. * 240/ 40 CHARACTER DESCRIPTION OF WORD
  19197. *T 24/ SECOND WORD LABEL,6/ ,18/ REL WORD ADD
  19198. * 240/ 40 CHARACTER DESCRIPTION OF WORD
  19199. * . . . .
  19200. * . . . .
  19201. * . . . .
  19202. *T 60/ ZERO WORD TERMINATES BLOCK
  19203. *
  19204. * SAVES X - NONE.
  19205. * B - 1.
  19206. * A - 0.
  19207. *
  19208. * CALLS FDW,UPS,WOF.
  19209.  
  19210.  
  19211. PCW SUBR
  19212. PRINT (=2C )
  19213. SA5 A5-5
  19214. PCW1 SA5 A5+5
  19215. ZR X5,PCW2 IF THROUGH DESCRIPTOR BLOCK
  19216. SB7 PRBF
  19217. SA2 =12HCONTENTS OF
  19218. SB6 12
  19219. RJ UPS
  19220. SA2 A5+
  19221. SB6 6
  19222. RJ UPS STORE WORD LABEL
  19223. SA2 =3H =
  19224. SB6 3
  19225. RJ UPS
  19226. SA1 SSBF+X5 GET WORD TO DUMP
  19227. SA2 =4000005B FORMAT CONTROL
  19228. RJ FDW FORMAT DATA WORD
  19229. SX6 1R-
  19230. SX7 1R
  19231. SA6 B7
  19232. SA7 B7+B1
  19233. SB7 B7+2
  19234. SA2 A5+1
  19235. SB6 40
  19236. RJ UPS
  19237. PRINT CCCH,B7-CCCH
  19238. JP PCW1
  19239.  
  19240. PCW2 PRINT (=2C )
  19241. JP PCWX EXIT
  19242. PDB SPACE 4,10
  19243. ** PDB - PRINT DAYFILE BUFFER.
  19244. *
  19245. * ENTRY (GDBB) = DAYFILE BUFFER LENGTH.
  19246. * (GDBD) = INACCURATE DAYFILE BUFFER POINTERS FLAG.
  19247. * (NC) = NUMBER OF CONTROL POINTS.
  19248. * (CN) = CONTROL POINT NUMBER.
  19249. * = 0 OR (NC)+1 IF SYSTEM DAYFILE.
  19250. * = -1 IF ACCOUNT DAYFILE.
  19251. * = -2 IF ERRLOG DAYFILE.
  19252. * = -3 IF BML DAYFILE.
  19253. * DAYFILE BUFFER STORED IN TABLE *TSCR*.
  19254. * DAYFILE BUFFER POINTERS STORED IN TABLE *TSC1*.
  19255. *
  19256. * USES X - ALL.
  19257. * A - 1, 2, 3, 4, 5, 6, 7.
  19258. * B - 2, 6, 7.
  19259. *
  19260. * CALLS PMD, SDI.
  19261. *
  19262. * MACROS PRINT.
  19263.  
  19264.  
  19265. PDB8 PRINT (=2C )
  19266. PRINT (=C* DAYFILE NOT DEFINED.*)
  19267. PRINT (=2C )
  19268.  
  19269. PDB SUBR
  19270. SA1 GDBD
  19271. NZ X1,PDBX IF INACCURATE DAYFILE BUFFER POINTERS
  19272. SA1 F.TSC1 READ POINTERS ADDRESS
  19273. SA2 GDBB GET BUFFER LENGTH
  19274. BX0 X2
  19275. ZR X2,PDB8 IF DAYFILE NOT DEFINED
  19276. SA1 X1 ACCESS *FIRST* AND *IN*
  19277. MX2 -12
  19278. SA4 F.TSCR FIRST OF DAYFILE BUFFER
  19279. BX6 -X2*X1 *IN*
  19280.  
  19281. * SET POINTERS AND LENGTH FOR THE DAYFILE MESSAGE LIST.
  19282.  
  19283. IX6 X4+X6 SET CURRENT POINTER AS *IN*
  19284. SA6 PDBB
  19285. IX7 X4+X0 BUFFER LWA+1 IN MANAGED TABLE
  19286. SA7 A6+B1
  19287. SX7 X0 WORDS REMAINING = BUFFER LENGTH
  19288. SA7 A7+B1
  19289.  
  19290. * RESET POINTERS AND LENGTH IF BUFFER HAS NOT BEEN USED.
  19291.  
  19292. SA3 A1+B1 ACCESS *OUT*
  19293. BX7 -X2*X3
  19294. IX7 X7+X4 BIAS *OUT*
  19295. BX3 X6-X7
  19296. SA5 A3+B1 CHECK DEVICE ASSIGNMENT
  19297. BX7 X5
  19298. MX2 12
  19299. AX7 36
  19300. NZ X7,PDB1 IF EQUIPMENT ASSIGNED
  19301. NZ X3,PDB1.1 IF DAYFILE USED
  19302. SX6 B0 SET ZERO WORDS TO LIST
  19303. SA6 A7
  19304. EQ PDB2 CONTINUE FOR BUFFER DUMP
  19305.  
  19306. PDB1 LX2 -12
  19307. BX6 X2*X5
  19308. LX2 -12
  19309. AX6 12
  19310. BX7 X2*X5
  19311. BX6 X6-X7
  19312. NZ X6,PDB2 IF BUFFER HAS BEEN FLUSHED
  19313. LX2 -12
  19314. BX6 X2*X5
  19315. SX6 X6-10000B
  19316. NZ X6,PDB2 IF BUFFER HAS BEEN FLUSHED
  19317. PDB1.1 BX7 X4 SET CURRENT WORD POINTER AT BASE
  19318. MX2 -12
  19319. SA7 PDBB
  19320. BX6 -X2*X1 SET LWA+1 AS *IN*
  19321. IX7 X7+X6
  19322. SA7 A7+B1
  19323. SA6 A7+B1 SET WORDS REMAINING = *IN*
  19324.  
  19325. * SET BUFFER MANAGE TABLE, *PDBA*, FOR MEMORY DUMP.
  19326.  
  19327. PDB2 MX2 -24 CALCULATE FWA OF DAYFILE BUFFER
  19328. AX1 36
  19329. BX7 -X2*X1
  19330. IX6 X0+X7
  19331. SA7 PDBA SET DAYFILE BUFFER FWA
  19332. SA6 A7+B1 SET DAYFILE BUFFER LWA+1
  19333. SB2 A7
  19334. BX6 X4
  19335. SA2 CN
  19336. SA6 A6+B1 SET FWA DAYFILE BUFFER IN MANAGED TABLE
  19337. PDB3 RJ PMD PROCESS MEMORY DUMP
  19338. SA1 CN CHECK FOR BINARY MAINTANENCE LOG (BML)
  19339. SX1 X1+3
  19340. ZR X1,PDBX IF BML DAYFILE
  19341. SA1 PDBB+2
  19342. ZR X1,PDBX IF NO LINES IN BUFFER
  19343. PRINT (=2C )
  19344. PRINT (=C* DAYFILE LINES IN BUFFER*)
  19345. PRINT (=2C )
  19346. PDB4 SA4 PDBB GET CURRENT WORD POINTER
  19347. SA3 A4+B1 GET LWA+1 DAYFILE BUFFER IN MANAGED TABLE
  19348. BX2 X2-X2
  19349. SA5 A3+B1 GET NUMBER OF WORDS REMAINING
  19350. MX0 -12
  19351. ZR X5,PDBX IF END OF WORDS IN BUFFER
  19352. PDB5 IX6 X4-X3
  19353. NZ X6,PDB6 IF NO WRAP REQUIRED
  19354. SA4 F.TSCR
  19355. PDB6 SA1 X4 GET NEXT WORD IN DAYFILE BUFFER
  19356. LX7 X1
  19357. SX5 X5-1
  19358. BX6 -X0*X1
  19359. SA7 BUF+X2 BUILD LINE
  19360. SX2 X2+B1
  19361. ZR X5,PDB7 IF LAST WORD PROCESSED
  19362. SX4 X4+B1
  19363. NZ X6,PDB5 IF NOT END OF LINE
  19364. PDB7 SX1 10 CALCULATE CHARACTERS IN LINE
  19365. BX6 X4
  19366. IX1 X2*X1
  19367. SA6 PDBB SAVE CURRENT WORD POINTER
  19368. BX7 X5
  19369. SB6 X1
  19370. SA7 PDBB+2 SAVE WORDS REMAINING
  19371. SA2 BUF SET LINE BUFFER ADDRESS
  19372. SB7 PRBF SET STRING BUFFER ADDRESS
  19373. RJ SDI SET DISPLAY CODE INTERPRETATION
  19374. PRINT CCCH,B7-CCCH
  19375. EQ PDB4 CONTINUE PRINTING DAYFILE LINES
  19376.  
  19377.  
  19378. PDBA BSS 0 DUMP PARAMETERS
  19379.  
  19380. LOC 0
  19381. CON 0 FWA
  19382. CON 0 LWA+1
  19383. CON 0 CORE ADDRESS
  19384. CON 0 NO SUPPRESS FLAG
  19385. CON 2 *E* FORMAT CODE
  19386. CON 0 COLUMN LENGTH
  19387. CON 0 INVERTED ADDRESS
  19388.  
  19389. LOC *O
  19390.  
  19391. PDBB BSS 0 MESSAGE PROCESSING PARAMETERS
  19392.  
  19393. LOC 0
  19394. CON 0 CURRENT WORD POINTER IN MANAGED TABLE
  19395. CON 0 LWA+1 DAYFILE BUFFER IN MANAGED TABLE
  19396. CON 0 WORDS REMAINING IN DAYFILE BUFFER
  19397.  
  19398. LOC *O
  19399. PDF SPACE 4,12
  19400. ** PDF - POSITION DUMP FILE.
  19401. *
  19402. * ENTRY RI = RANDOM ADDRESS OF CURRENT RECORD.
  19403. * X3 = DESIRED WORD ADDRESS.
  19404. *
  19405. * EXIT BINARY DUMP FILE IS POSITIONED AT DESIRED WORD.
  19406. *
  19407. * SAVES X - 0,5.
  19408. * B - 1.
  19409. * A - 0,5.
  19410. *
  19411. * CALLS CIO=,RDW=,WNB=.
  19412.  
  19413.  
  19414. PDF SUBR
  19415. NG X3,ERR18 IF WORD ADDRESS INCORRECT
  19416. RECALL S
  19417. SA1 RI
  19418. BX6 X1
  19419. AX6 30 RECORD WORD COUNT
  19420. IX4 X3-X6
  19421. PL X4,ERR18 IF WORD ADDRESS NOT IN RECORD
  19422. BX6 X3
  19423. MX3 -6
  19424. BX3 -X3*X6 WORD OFFSET
  19425. AX6 6 RELATIVE PRU NUMBER
  19426. MX4 -30
  19427. BX1 -X4*X1 RECORD RANDOM ADDRESS
  19428. IX6 X1+X6
  19429. SA6 S+6 SET RANDOM ADDRESS FOR READ
  19430. SA1 X2+B1 READ FIRST
  19431. SX6 X1
  19432. SA6 A1+B1 IN = FIRST
  19433. SA6 A6+B1 OUT = FIRST
  19434. READ X2 BEGIN READ
  19435. ZR X3,PDFX IF READ BEGINS ON PRU BOUNDARY
  19436. READW X2,PDFA,X3 READ TO DESIRED WORD
  19437. JP PDFX EXIT
  19438.  
  19439. PDFA BSS 64 GARBAGE BUFFER
  19440. PDP SPACE 4,9
  19441. ** PDP - PRINT DAYFILE POINTERS.
  19442. *
  19443. * ENTRY (GDBC) = MEMORY ADDRESS OF POINTERS.
  19444. * DAYFILE BUFFER POINTERS STORED IN TABLE *TSC1*.
  19445. *
  19446. * SAVES X - NONE.
  19447. * B - 1.
  19448. * A - 0.
  19449. *
  19450. * CALLS PMD.
  19451.  
  19452.  
  19453. PDP SUBR
  19454. SA1 F.TSC1
  19455. SA2 F.TCMT
  19456. BX6 X1
  19457. SA6 PDPA+2 SET CORE ADDRESS OF POINTERS
  19458. SA1 GDBC GET ADDRESS OF POINTERS
  19459. BX6 X1
  19460. SX2 3
  19461. SA6 PDPA SET FWA
  19462. IX6 X6+X2 FORM LWA+1
  19463. SA6 A6+B1
  19464. SB2 A6-B1
  19465. RJ PMD PROCESS MEMORY DUMP
  19466. JP PDPX EXIT
  19467.  
  19468. PDPA BSS 0 DUMP PARAMETERS
  19469.  
  19470. CON 0 FWA
  19471. CON 0 LWA+1
  19472. CON 0 CORE ADDRESS
  19473. CON 1 NO SUPPRESS FLAG
  19474. CON 1 *D* FORMAT CODE
  19475. CON 3 COLUMN LENGTH
  19476. CON 0 INVERTED ADDRESS
  19477. PEC SPACE 4,10
  19478. ** PEC - PRINT EIGHT CONTROL POINTS.
  19479. *
  19480. * ENTRY (X5) = CONTROL POINT AREA POINTER.
  19481. * (LW) = LWA+1 OF CPA/PCPA.
  19482. * (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
  19483. *
  19484. * EXIT (X5) = UPDATED CONTROL POINT AREA POINTER.
  19485. *
  19486. * USES X - ALL.
  19487. * A - 1, 2, 4, 6.
  19488. * B - 2, 3, 4, 5, 6, 7.
  19489. *
  19490. * CALLS CTS, POM, SBL, UPS.
  19491. *
  19492. * MACROS GETCM, PRINT.
  19493.  
  19494.  
  19495. PEC SUBR
  19496. SB2 X5 CONTROL POINT AREA ADDRESS
  19497. SB7 PRBF PRINT STRING ADDRESS
  19498. SB3 B2+8*CPLEN LIMIT ADDRESS
  19499. SA1 LW
  19500. SB4 X1 LWA+1 OF CONTROL POINT AREA
  19501.  
  19502. * PRINT CONTROL POINT NUMBERS.
  19503.  
  19504. PEC1 SA2 =10HCP
  19505. SB6 3
  19506. SA1 OP
  19507. ZR X1,PEC1.1 IF NOT DUMPING PCPA-S
  19508. SA2 =10HPCP
  19509. PEC1.1 RJ UPS UNPACK STRING
  19510. SX1 B2
  19511. SA2 OP
  19512. IX1 X1-X2 SUBTRACT OFF PCPA OFFSET
  19513. LX1 -13
  19514. SB6 2
  19515. RJ CTS SET CONTROL POINT NUMBER
  19516. SB6 4
  19517. RJ SBL SPACE 4
  19518. SB2 B2+CPLEN ADVANCE CONTROL POINT ADDRESS
  19519. GE,B2,B3,PEC2 IF END OF LINE
  19520. LT B2,B4,PEC1 IF MORE CONTROL POINTS TO PROCESS
  19521. PEC2 PRINT PRBF,B7-PRBF
  19522.  
  19523. * PRINT JOB SEQUENCE NUMBERS.
  19524.  
  19525. SB7 PRBF PRESET PRINT STRING ADDRESS
  19526. SB2 X5+ SET CONTROL POINT AREA ADDRESS
  19527. SX6 B2+8*CPLEN SET CONTROL POINT AREA LIMIT ADDRESS
  19528. SA6 PECB
  19529. SA1 LW SET CONTROL POINT AREA LWA+1
  19530. BX6 X1
  19531. SA6 PECA
  19532. SB4 X6
  19533. PEC3 SA4 F.TCMT READ EJT ORDINAL
  19534. SX2 X4+B2
  19535. SA2 X2+TFSW
  19536. MX3 12 SET EJT ORDINAL MASK
  19537. BX2 X3*X2
  19538. NZ X2,PEC3.1 IF CONTROL POINT ACTIVE
  19539. SB6 9 SPACE 9 IF CONTROL POINT NOT ACTIVE
  19540. SB5 B2+CPLEN
  19541. LT B5,B4,PEC4 IF NOT SYSTEM CONTROL POINT
  19542. PEC3.1 SA1 X4+EJTP GET FWA EJT
  19543. MX0 24
  19544. BX1 X0*X1
  19545. LX1 24
  19546. LX2 12 FIND EJT ENTRY ADDRESS
  19547. SX6 EJTE
  19548. IX2 X2*X6
  19549. IX6 X2+X1 SET ADDRESS INTO DUMP FILE
  19550. SA6 CPRA
  19551. SA0 B2+ SAVE CONTROL POINT AREA ADDRESS
  19552. SX0 B7 SAVE PRINT STRING ADDRESS
  19553. SB2 A6
  19554. RJ POM
  19555. GETCM READ FIRST WORD OF EJT ENTRY
  19556. SB7 X0+ RESTORE PRINT STRING ADDRESS
  19557. MX0 24
  19558. BX2 X0*X6 SET JOB SEQUENCE NUMBER
  19559. SB6 4
  19560. RJ UPS
  19561. SB2 A0+ RESTORE CONTROL POINT AREA ADDRESS
  19562. SB6 5 SPACE 5
  19563. PEC4 RJ SBL
  19564. SB2 B2+CPLEN
  19565. SA4 PECB GET CONTROL POINT AREA LIMIT ADDRESS
  19566. SA2 PECA GET CONTROL POINT AREA LWA+1
  19567. SB4 X2
  19568. SB3 X4
  19569. GE B2,B3,PEC5 IF END OF LINE
  19570. LT B2,B4,PEC3 IF MORE CONTROL POINTS
  19571. PEC5 PRINT PRBF,B7-PRBF
  19572.  
  19573. * PRINT CONTROL POINT AREA ADDRESS.
  19574.  
  19575. SB7 PRBF RESET PRINT STRING ADDRESS
  19576. SA1 LW
  19577. SB2 X5 CONTROL POINT AREA ADDRESS
  19578. SB3 B2+8*CPLEN LIMIT ADDRESS FOR THIS LINE
  19579. SB4 X1 CONTROL POINT AREA LWA+1
  19580. SB5 -4 -(ADDRESS DIGIT COUNT)
  19581. SA2 OP
  19582. ZR X2,PEC6 IF NOT DUMPING PCPA-S
  19583. SB5 -5
  19584. PEC6 SX1 B2
  19585. SB6 B5+60
  19586. LX1 B6 SHIFT ADDRESS
  19587. SB2 B2+CPLEN ADVANCE CPA/PCPA ADDRESS
  19588. LX1 B6
  19589. LX1 B6
  19590. SB6 -B5
  19591. RJ CTS CONVERT ADDRESS
  19592. SB6 B5+9
  19593. RJ SBL SPACE TO NEXT CPA/PCPA
  19594. GE B2,B3,PEC7 IF END OF LINE
  19595. LT B2,B4,PEC6 IF MORE CONTROL POINTS
  19596. PEC7 SX5 B2+ UPDATE CONTROL POINT AREA ADDRESS
  19597. PRINT PRBF,B7-PRBF
  19598. JP PECX EXIT
  19599.  
  19600. PECA BSS 1 SAVED CONTROL POINT AREA ADDRESS
  19601. PECB BSS 1 SAVED CONTROL POINT AREA LIMIT ADDRESS
  19602. PEN SPACE 4,12
  19603. ** PEN - PRINT BUFFERED DEVICE TABLE ENTRY NUMBER.
  19604. *
  19605. * ENTRY (X1) = ENTRY NUMBER, LEFT-JUSTIFIED.
  19606. * (X2) = TABLE NAME IN DISPLAY CODE, LEFT-JUSTIFIED
  19607. * AND SPACE-FILLED.
  19608. * (B6) = TABLE NAME CHARACTER COUNT.
  19609. *
  19610. * USES B - 6, 7.
  19611. *
  19612. * CALLS CTS, UPS.
  19613. *
  19614. * MACROS PRINT.
  19615.  
  19616.  
  19617. PEN SUBR ENTRY/EXIT
  19618. SB7 PRBF
  19619. RJ UPS STORE TABLE NAME IN STRING BUFFER
  19620. SB6 4
  19621. RJ CTS STORE ENTRY NUMBER IN STRING BUFFER
  19622. PRINT CCCH,B7-CCCH
  19623. PRINT (=2C )
  19624. EQ PENX RETURN
  19625. PER SPACE 4,7
  19626. ** PER - PROCESS ERROR EXIT.
  19627. *
  19628. * ENTRY (RPVB+7) = ERROR EXIT INFORMATION.
  19629. *
  19630. * EXIT IF AN ARITHMETIC ERROR IS ENCOUNTERED,
  19631. * PROCESSING IS RESUMED AT *ERR19.1*. IF
  19632. * ANY OTHER ERROR IS ENCOUNTERED *DSDI*
  19633. * IS ABORTED AND THE ERROR IS REPORTED.
  19634. *
  19635. * USES X - 0, 1, 2, 3, 6, 7.
  19636. * A - 1, 2, 6, 7.
  19637. *
  19638. * MACROS REPRIEVE.
  19639.  
  19640.  
  19641. PER SA2 RPVB+7 ERROR FLAG
  19642. MX0 -12
  19643. BX3 -X0*X2 EXTRACT ERROR FLAG
  19644. SX3 X3-ARET
  19645. ZR X3,PER1 IF ARITHMETIC ERROR
  19646. REPRIEVE RPVB,RESET,001
  19647.  
  19648. PER1 SA1 PERA RESTORE REPRIEVE BLOCK
  19649. SA2 A1+B1
  19650. BX6 X1
  19651. BX7 X2
  19652. SA6 RPVB
  19653. SA7 A6+B1
  19654. REPRIEVE RPVB,SET,001
  19655. EQ ERR19.1 * BAD SYSTEM POINTER.*
  19656.  
  19657. PERA VFD 36/0,12/31B,12/0
  19658. VFD 30/0,30/PER
  19659. PFS SPACE 4,9
  19660. ** PFS - PRINT FILE SUMMARY.
  19661. *
  19662. * ENTRY FILE INFORMATION IS AT *GNFA*.
  19663. *
  19664. * SAVES X - NONE.
  19665. * B - 1.
  19666. * A - 0.
  19667. *
  19668. * CALLS ATC,CTS,FDW,PTC,SDI,SSB,UPS,WOF.
  19669.  
  19670.  
  19671. PFS SUBR
  19672. RJ SSB CLEAR PRINT STRING
  19673. SA2 =10HFNT -FUT -
  19674. SB6 5
  19675. SB7 PRBF+24
  19676. RJ UPS SET HEADER INFORMATION
  19677. SB6 5
  19678. SB7 PRBF+74
  19679. RJ UPS
  19680.  
  19681. * SET FILE ORDINAL.
  19682.  
  19683. SA1 GNFA
  19684. SB6 4
  19685. SB7 PRBF+3
  19686. LX1 -12
  19687. RJ CTS
  19688.  
  19689. * SET FILE NAME.
  19690.  
  19691. SA2 GNFA+1
  19692. SB6 7
  19693. SB7 PRBF+9
  19694. RJ UPS
  19695.  
  19696. * SET FILE TYPE.
  19697.  
  19698. LX2 6
  19699. MX1 6
  19700. BX2 X1*X2
  19701. LX2 6 TYPE CODE
  19702. SX3 5 CALCULATE WORD ORDINAL
  19703. BX4 X2
  19704. SX7 X3
  19705. IX0 X2/X3
  19706. IX3 X0*X7
  19707. SA1 PFSA+X0 GET WORD IN FILE TYPE MICRO
  19708. IX4 X4-X3 CALCULATE SHIFT COUNT
  19709. SX3 12
  19710. MX0 12
  19711. IX4 X3*X4
  19712. SB2 X4+
  19713. LX1 X1,B2
  19714. BX2 X0*X1
  19715. SB6 2
  19716. SB7 PRBF+18
  19717. RJ UPS
  19718.  
  19719. * SET FNT.
  19720.  
  19721. SA1 GNFA+1
  19722. SB7 PRBF+30
  19723. SA2 =4000005B FORMAT CONTROL
  19724. RJ FDW
  19725. BX2 X1
  19726. SB6 10
  19727. RJ SDI
  19728.  
  19729. * SET FUT.
  19730.  
  19731. SA1 GNFA+3
  19732. SB7 PRBF+80
  19733. SA2 =4000005B FORMAT CONTROL
  19734. RJ FDW
  19735. BX2 X1
  19736. SB6 10
  19737. RJ SDI
  19738. PRINT CCCH,B7-CCCH
  19739.  
  19740. * LINE 2.
  19741.  
  19742. RJ SSB CLEAR PRINT STRING
  19743. SA2 =10HFST -EST -
  19744. SB6 5
  19745. SB7 PRBF+24
  19746. RJ UPS
  19747. SB6 5
  19748. SB7 PRBF+74
  19749. RJ UPS
  19750.  
  19751. * SET FST.
  19752.  
  19753. SA1 GNFA+2
  19754. SB7 PRBF+30
  19755. SA2 =4000005B FORMAT CONTROL
  19756. RJ FDW
  19757. BX2 X1
  19758. SB6 10
  19759. RJ SDI
  19760.  
  19761. * SET EST ADDRESS.
  19762.  
  19763. SA1 GNFA+4
  19764. LX1 -18
  19765. SB6 6
  19766. SB7 PRBF+80
  19767. RJ CTS
  19768.  
  19769. * SET EST.
  19770.  
  19771. SA1 GNFA+5
  19772. SB7 B7+2
  19773. SA2 =4000005B FORMAT CONTROL
  19774. RJ FDW
  19775. BX2 X1
  19776. SB6 10
  19777. RJ SDI
  19778. PRINT CCCH,B7-CCCH
  19779. SA1 GNFA+5
  19780. PL X1,PFS1 IF NOT MASS STORAGE
  19781. PRINT (=C* TRACK CHAIN -*)
  19782. RJ ATC ASSEMBLE TRACK CHAIN
  19783. RJ PTC PRINT TRACK CHAIN
  19784. PFS1 PRINT (=2C )
  19785. JP PFSX EXIT
  19786.  
  19787. PFSA DATA H*"NMFT"* FILE TYPE NAMES
  19788. PIO SPACE 4,5
  19789. ** PIO - PRESET INPUT AND OUTPUT FILES.
  19790. *
  19791. * USES ALL REGISTERS.
  19792. *
  19793. * CALLS CIO=,RSP,STF,WNB=.
  19794.  
  19795.  
  19796. PIO SUBR
  19797.  
  19798. * CHECK OUTPUT FILE.
  19799.  
  19800. SX2 L
  19801. RJ STF CHECK IF TERMINAL
  19802. NZ X6,PIO1 IF NOT A TERMINAL
  19803. SA1 =0LOUTPUT
  19804. BX6 X1+X2
  19805. SA6 B1+B1 SET OUTPUT FILE FET POINTER
  19806. SX6 15B
  19807. BX6 X1+X6
  19808. SA6 X2 SET NON-BUSY WRITE CODE IN FET
  19809. SX6 1R
  19810. SA6 CCCH SET CARRIAGE CONTROL CHARACTER
  19811. SX6 1
  19812. SA6 TF SET TERMINAL OUTPUT FLAG
  19813. JP PIO2 PROCESS INPUT FILE
  19814. PIO1 SA1 PRSB
  19815. RJ RSP RESET PRINT DENSITY
  19816.  
  19817. * PRESET INPUT FILE.
  19818.  
  19819. PIO2 SA1 ZF
  19820. NZ X1,PIOX IF DIRECTIVES ON COMMAND
  19821. SA4 I
  19822. ZR X4,PIOX IF ZERO FET
  19823. SX2 A4
  19824. RJ STF CHECK IF TERMINAL
  19825. NZ X6,PIO3 IF NOT A TERMINAL
  19826. SA1 TF
  19827. ZR X1,PIO3 IF OUTPUT NOT TO A TERMINAL
  19828. PRINT (=C*ENTER DIRECTIVES--*)
  19829. PIO3 RECALL I
  19830. READ X2 BEGIN INPUT READ
  19831. JP PIOX EXIT
  19832. PKS SPACE 4,11
  19833. ** PKS - PACK CHARACTERS FROM STRING BUFFER.
  19834. *
  19835. * ENTRY B2 = FWA OF STRING BUFFER.
  19836. * B6 = NUMBER OF CHARACTERS TO PACK.
  19837. * B7 = FWA OF PACKED BUFFER.
  19838. *
  19839. * EXIT B2 AND B7 ARE UPDATED.
  19840. *
  19841. * USES X - 1,6.
  19842. * B - 2,5,6,7.
  19843. * A - 1,6.
  19844.  
  19845.  
  19846. PKS SUBR
  19847. PKS1 SX6 0 CLEAR ASSEMBLY
  19848. SB5 60 LEFT JUSTIFICATION SHIFT COUNT
  19849. PKS2 SA1 B2 READ STRING
  19850. LX6 6
  19851. SB6 B6-1 COUNT CHARACTER
  19852. SB2 B2+B1 ADVANCE STRING POINTER
  19853. SB5 B5-6 DECREASE SHIFT COUNT
  19854. BX6 X6+X1 MERGE NEW CHARACTER
  19855. ZR B5,PKS3 IF FULL WORD ASSEMBLED
  19856. NZ B6,PKS2 IF MORE CHARACTERS TO PACK
  19857. PKS3 LX6 X6,B5 LEFT JUSTIFY LAST WORD
  19858. SA6 B7 STORE PACKED DATA
  19859. SB7 B7+1 ADVANCE OUTPUT POINTER
  19860. NZ B6,PKS1 IF MORE CHARACTERS TO PACK
  19861. JP PKSX EXIT
  19862. PMD SPACE 4,36
  19863. ** PMD - PROCESS MEMORY DUMP.
  19864. *
  19865. * ENTRY B2 = DUMP PARAMETER BLOCK ADDRESS.
  19866. *
  19867. * PARAMETER BLOCK FORMAT -
  19868. *
  19869. *T WORD0 60/FWA OF DUMP
  19870. *T WORD1 60/LWA+1 OF DUMP
  19871. *T WORD2 60/CORE ADDRESS
  19872. *T WORD3 60/NO SUPPRESS FLAG
  19873. *T WORD4 60/FORMAT CODE
  19874. *T WORD5 60/COLUMN LENGTH
  19875. *T WORD6 60/INVERTED ADDRESS
  19876. *
  19877. * WHERE -
  19878. *
  19879. * CORE ADDRESS = ADDRESS OF DATA IF DUMPING FROM MEMORY.
  19880. * = 0 IF DUMPING FROM DUMP FILE.
  19881. *
  19882. * NO SUPPRESS FLAG = 0 TO SUPPRESS REPEAT DATA.
  19883. * .NE.0 IF NO SUPPRESSION REQUESTED.
  19884. *
  19885. * FORMAT CODE = 0 FOR *C* FORMAT.
  19886. * = 1 FOR *D* FORMAT.
  19887. * = 2 FOR *E* FORMAT.
  19888. *
  19889. * COLUMN LENGTH = 0 - COMPUTE COLUMN LENGTH.
  19890. * = L - FORCE COLUMNS TO BE L WORDS LONG.
  19891. * INVERTED ADDRESS USED TO INDICATE ADDRESS ON
  19892. * THE DUMP SHOULD DECREMENT.
  19893. *
  19894. * EXIT INPUT PARAMETER BLOCK NOT UPDATED.
  19895. * B2 = ADDRESS OF UPDATED PARAMETER BLOCK.
  19896. *
  19897. * SAVES X - NONE.
  19898. * B - 1.
  19899. * A - 0.
  19900. *
  19901. * CALLS CTS, FPB, PPB, SDI, SRD, SSB.
  19902. *
  19903. * MACROS GETCM, MOVE, PRINT.
  19904.  
  19905.  
  19906. PMD SUBR
  19907. MOVE 7,B2,PMDB MOVE PARAMETER BLOCK
  19908. RJ SSB SPACEFILL STRING BUFFER
  19909. MX6 1
  19910. SA6 SRDA PRESET FIRST CALL TO *SRD*
  19911. SA1 PMDB+4 FORMAT CODE
  19912. SB2 X1+
  19913. JP B2+PMDA EXECUTE SELECTED PROCESSOR
  19914.  
  19915. PMDA BSS 0
  19916. LOC 0
  19917. + JP PMD1 *C* FORMAT
  19918. + JP PMD1 *D* FORMAT
  19919. + JP PMD2 *E* FORMAT
  19920. LOC *O
  19921.  
  19922. * PROCESS C AND D FORMAT.
  19923.  
  19924. PMD1 SB2 PMDB
  19925. RJ FPB FILL PAGE BUFFER
  19926. SB2 PMDB
  19927. RJ PPB PRINT PAGE BUFFER
  19928. SA1 PMDB FWA
  19929. SA2 A1+B1 LWA+1
  19930. IX2 X1-X2
  19931. NG X2,PMD1 IF MORE TO DUMP
  19932. SB2 PMDB
  19933. JP PMDX EXIT
  19934.  
  19935. * PROCESS E FORMAT.
  19936.  
  19937. PMD2 SA1 PMDB+2
  19938. NZ X1,PMD3 IF DUMPING FROM CORE
  19939. GETCM BUF,4
  19940. SX1 BUF SET DATA ADDRESS
  19941. PMD3 SA2 PMDB+3
  19942. NZ X2,PMD4 IF NO SUPPRESS REQUESTED
  19943. SB5 4 WORD COUNT
  19944. RJ SRD SENSE REPEAT DATA
  19945. NZ X1,PMD7 IF REPEAT SENSED
  19946. PMD4 SA1 PMDB+6
  19947. NZ X1,PMD4.1 IF INVERTED ADDRESS TO BE USED
  19948. SA1 PMDB GET NORMAL ADDRESS
  19949. PMD4.1 LX1 -24 LEFT JUSTIFY BINARY DIGITS
  19950. SB6 8 NUMBER OF DIGITS
  19951. SB7 PRBF
  19952. RJ CTS CONVERT ADDRESS
  19953. SA1 PMDB+2
  19954. SB7 B7+1
  19955. NZ X1,PMD5 IF DUMPING FROM CORE
  19956. SX1 BUF
  19957. PMD5 SA1 X1+ READ FIRST DATA WORD
  19958. SB2 4 WORD COUNT
  19959. PMD6 SB6 20
  19960. RJ CTS CONVERT DATA WORD
  19961. SB7 B7+1
  19962. SA1 A1+B1
  19963. SB2 B2-B1
  19964. NZ B2,PMD6 IF MORE TO DUMP
  19965. SA2 A1-4
  19966. SB6 40
  19967. RJ SDI SET DISPLAY CODE INTERPRETATION
  19968. PRINT CCCH,B7-CCCH
  19969. PMD7 SA1 PMDB+2
  19970. ZR X1,PMD8 IF DUMPING FROM FILE
  19971. SX6 X1+4
  19972. SA6 A1+ UPDATE CORE ADDRESS
  19973. PMD8 SA1 PMDB+6
  19974. SX6 4
  19975. ZR X1,PMD9 IF NO INVERTED ADDRESS
  19976. IX7 X1-X6
  19977. SA7 A1
  19978. PMD9 SA1 PMDB
  19979. IX6 X1+X6
  19980. SA6 A1 UPDATE ADDRESS
  19981. SA2 A1+B1 LWA+1
  19982. IX6 X6-X2
  19983. NG X6,PMD2 IF MORE TO DUMP
  19984. SB2 PMDB UPDATED PARAMETER BLOCK ADDRESS
  19985. JP PMDX EXIT
  19986.  
  19987. PMDB BSS 7 DUMP PARAMETER BLOCK
  19988. PNF SPACE 4,15
  19989. ** PNF - PRINT NEGATIVE FL AREA.
  19990. *
  19991. * ENTRY (X3) = NEGATIVE FIELD LENGTH ORDINAL OF LWA+1.
  19992. * (X0) = NEGATIVE FIELD LENGTH ORDINAL OF FWA.
  19993. * (RC) = RA OF CONTROL POINT.
  19994. * (L.TNFL) = NFL OF CONTROL POINT.
  19995. * TABLE *TNFL* CONTAINS NFL MEMORY.
  19996. *
  19997. * USES DCGA - DCGA+6.
  19998. * X - 1, 2, 6, 7.
  19999. * A - 1, 2, 6, 7.
  20000. * B - 2.
  20001. *
  20002. * CALLS PMD.
  20003.  
  20004.  
  20005. PNF SUBR ENTRY/EXIT
  20006. SA1 RC GET RA
  20007. SA2 L.TNFL GET NFL
  20008. IX7 X1-X0 FORM ABSOLUTE FWA
  20009. IX6 X1-X3 FORM ABSOLUTE LWA+1.
  20010. SA7 DCGA
  20011. SA6 A7+B1
  20012. SA1 F.TNFL GET BASE ADDRESS OF DATA
  20013. IX7 X2-X0 FORM INDEX
  20014. IX7 X1+X7 FORM ADDRESS OF DATA IN CORE
  20015. SA7 A6+B1
  20016. SB2 A6-B1 SET BASE ADDRESS OF DUMP PARAMETERS
  20017. BX7 X0 SAVE INVERTED ADDRESS
  20018. SA7 DCGA+6
  20019. RJ PMD PROCESS DUMP
  20020. JP PNFX RETURN
  20021. POM SPACE 4,10
  20022. ** POM - POSITION CM/EXTENDED MEMORY.
  20023. *
  20024. * ENTRY MI = MEMORY BLOCK RANDOM INDEX.
  20025. * B2 = ADDRESS OF DUMP PARAMETER BLOCK.
  20026. *
  20027. * SAVES X - 0,5.
  20028. * B - 1.
  20029. * A - 0,5.
  20030. *
  20031. * CALLS PCM.
  20032.  
  20033.  
  20034. POM SUBR
  20035. SA1 MI
  20036. BX6 X1
  20037. SA1 B2 FWA OF DUMP
  20038. SA6 RI SET RANDOM INDEX FOR CURRENT MEMORY BLOCK
  20039. SA2 MB MEMORY BASE ADDRESS
  20040. IX3 X1+X2
  20041. SA2 BA RA OF DUMP
  20042. IX3 X3+X2
  20043. RJ PCM POSITION DUMP FILE
  20044. JP POMX EXIT
  20045. PPB SPACE 4,11
  20046. ** PPB - PRINT PAGE BUFFER.
  20047. *
  20048. * ENTRY X1 = BUFFER LENGTH.
  20049. * B2 = DUMP PARAMETER BLOCK ADDRESS.
  20050. * PAGE BUFFER IS AT *BUF*.
  20051. *
  20052. * SAVES X - NONE.
  20053. * B - 1.
  20054. * A - 0.
  20055. *
  20056. * CALLS CTS,FDW,SDI,UPS,WOF.
  20057.  
  20058. PPB SUBR
  20059. SX6 BUF
  20060. IX7 X6+X1
  20061. SA6 PPBA SAVE PAGE BUFFER FWA
  20062. SA4 B2+5 COLUMN LENGTH
  20063. ZR X4,PPB1 IF COLUMN LENGTH NOT SPECIFIED
  20064. LX6 X4,B1
  20065. JP PPB2 SET ROW INCREMENT
  20066. PPB1 SX2 6 COMPUTE ROW INCREMENT = 2*(WORDS+2)/3
  20067. SX1 X1+4
  20068. IX6 X1/X2
  20069. LX6 1
  20070. PPB2 SA6 A6+B1 SAVE PRINT ROW INCREMENT
  20071. SA7 A6+B1 SAVE PRINT BUFFER LWA+1
  20072. SA5 B2+4 FORMAT CODE
  20073. SA5 X5+PPBB FORMAT CONTROL PARAMETERS
  20074.  
  20075. * FORMAT ONE ROW.
  20076.  
  20077. PPB3 SA1 PPBA
  20078. SA3 A1+B1 ROW INCREMENT
  20079. SA2 A3+B1
  20080. SB3 X1 SET BUFFER POINTER
  20081. SB4 X2 BUFFER LWA+1
  20082. SX4 3 LOOP COUNT
  20083. SB7 PRBF PRINT STRING ADDRESS
  20084.  
  20085. * PROCESS ONE WORD.
  20086.  
  20087. PPB4 LT B3,B4,PPB5 IF NOT BEYOND END OF BUFFER
  20088. SA2 =50H
  20089. JP PPB6 BLANK THIS PORTION OF PRINT LINE
  20090.  
  20091. PPB5 SA1 B3+ READ PAGE BUFFER ENTRY
  20092. PL X1,PPB7 IF VALID DATA
  20093. SA2 =50H-------------------------------------------
  20094. PPB6 SB6 X5+39 NUMBER OF CHARACTERS
  20095. RJ UPS STORE REPEAT DATA INDICATOR IN PRINT LINE
  20096. JP PPB8 PROCESS NEXT WORD
  20097.  
  20098. * FORMAT DATA WORD.
  20099.  
  20100. PPB7 SB6 8 NUMBER OF DIGITS
  20101. LX1 -24 LEFT JUSTIFY BINARY DIGITS
  20102. RJ CTS CONVERT ADDRESS TO PRINT STRING
  20103. SX6 1R
  20104. SA6 B7
  20105. SB7 B7+B1 SPACE ONE
  20106. SA1 A1+B1 READ DATA WORD
  20107. BX2 X5 SET FORMAT CONTROL
  20108. RJ FDW FORMAT DATA WORD
  20109. SB6 10
  20110. BX2 X1 SET DATA WORD FOR *SDI*
  20111. RJ SDI SET DISPLAY CODE INTERPRETATION
  20112. PPB8 SB3 B3+X3 ADVANCE PAGE BUFFER ADDRESS
  20113. SB7 B7+2 SPACE 2
  20114. SX4 X4-1
  20115. NZ X4,PPB4 IF MORE TO FORMAT IN THIS ROW
  20116. PRINT CCCH,B7-CCCH-2
  20117. SA1 PPBA ADVANCE PAGE BUFFER POINTER
  20118. SA2 A1+1
  20119. SX2 X2+BUF LWA+1 OF END OF FIRST COLUMN
  20120. SX6 X1+2
  20121. SA6 A1 UPDATE POINTER
  20122. IX7 X6-X2
  20123. NG X7,PPB3 IF MORE TO DUMP
  20124. JP PPBX EXIT
  20125.  
  20126. PPBA BSS 1 PAGE BUFFER POINTER
  20127. BSS 1 PAGE ROW INCREMENT
  20128. BSS 1 PAGE BUFFER LWA+1
  20129.  
  20130. PPBB BSS 0 FORMAT CONTROL PARAMETERS
  20131. VFD 24/0,18/5,18/4 *C* FORMAT
  20132. VFD 24/0,18/4,18/5 *D* FORMAT
  20133. PPE SPACE 4,10
  20134. ** PPE - PROCESS PREMATURE EOF.
  20135. *
  20136. * ENTRY TO *PPE* TO END CURRENT RECORD AND ISSUE MESSAGE.
  20137. * TO *PPE1* TO ISSUE MESSAGE ONLY.
  20138. *
  20139. * EXIT TO *RBI2*.
  20140. *
  20141. * CALLS ERS.
  20142. *
  20143. * MACROS MESSAGE.
  20144.  
  20145.  
  20146. PPE BSS 0 ENTRY
  20147. RJ ERS END RECORD ON FILE *S*
  20148. PPE1 MESSAGE MSG5,,R * WARNING - INCOMPLETE DUMP FILE.*
  20149. EQ RBI2 READ NEXT RECORD
  20150. PPO SPACE 4,20
  20151. ** PPO - PACK PP OPERATING REGISTERS.
  20152. *
  20153. * ENTRY (PP) = PP NUMBER.
  20154. *
  20155. * EXIT (X6) = 0 IF NO REGISTERS FOUND.
  20156. * (PPOB - PPOB+7) = REGISTERS CAPTURED AT TIME OF DUMP,
  20157. * BEFORE AND AFTER AN *IDLE* WAS ISSUED TO THE PP/CPP
  20158. * (I4A OR I4S IOU ONLY).
  20159. * (PPOB+8 - PPOB+15) = REGISTERS CAPTURED BY *DFT*.
  20160. *
  20161. * USES X - 0, 1, 2, 3, 5, 6, 7.
  20162. * A - 1, 2, 3, 6, 7.
  20163. * B - 6, 7.
  20164. *
  20165. * CALLS CPN, DRA, FBP, GDA, NXB, RDR, RPB.
  20166. *
  20167. * MACROS MOVE.
  20168.  
  20169.  
  20170. PPO3 RJ GDA GET DFT/OS BUFFER FWA
  20171. BX6 X5
  20172. ZR X3,PPOX IF NO DFT/OS BUFFER
  20173. SA2 X3 GET DFT CONTROL WORD
  20174. MX0 4
  20175. BX2 X0*X2 GET NUMBER OF POINTER WORDS
  20176. SA1 CI SET RANDOM INDEX OF CM RECORD
  20177. BX7 X1
  20178. LX2 4
  20179. SX2 X2-/DFT/DFPR-1
  20180. NG X2,PPOX IF NO PP REGISTERS POINTER WORD
  20181. SA7 RI
  20182. SA3 X3+/DFT/DFPR
  20183. RJ DRA GET PP REGISTER DATA POINTER
  20184. SX6 X6+B1 SKIP HEADER WORD
  20185. SA2 PPOA GET PP/CPP NUMBER
  20186. LX2 2
  20187. IX3 X6+X2 PP REGISTER DATA FWA
  20188. LX3 2 CONVERT TO BYTE NUMBER
  20189. RJ FBP FIND BYTE POSITION
  20190. SB6 PPOB+8-1
  20191. SB7 7
  20192. PPO4 RJ NXB GET NEXT REGISTER
  20193. LX1 16
  20194. BX5 X1
  20195. RJ NXB
  20196. BX7 X5+X1
  20197. SB6 B6+B1
  20198. SA7 B6
  20199. SB7 B7-B1
  20200. PL B7,PPO4 IF NOT THROUGH GETTING REGISTERS
  20201. SX6 1 SET REGISTER DATA FOUND
  20202.  
  20203. PPO SUBR ENTRY/EXIT
  20204. SX5 0 SET NO REGISTER DATA FOUND
  20205. RJ CPN CONVERT PP/CPP NUMBER
  20206. SA1 .PSR
  20207. NZ X3,PPO1 IF DUMPING A CPP
  20208. SA3 TLPP+X6 CHECK FOR PP SWITCH
  20209. SX7 X3-20B
  20210. BX2 X3-X2
  20211. ZR X2,PPO1 IF NO SWITCH
  20212. BX6 X3
  20213. NG X7,PPO1 IF NOT UPPER BANK
  20214. SX6 X3-20B+12B
  20215. PPO1 SA6 PPOA SAVE LOGICAL PP NUMBER
  20216. RJ RDR READ DUMP RECORD
  20217. ZR X2,PPO3 IF RECORD NOT FOUND
  20218. SA1 RI MOVE DATA TO *PBUF*
  20219. AX1 30
  20220. MOVE X1,BUF,PBUF
  20221. SA1 PPOA CALCULATE STARTING BYTE IN RECORD
  20222. SX2 18D
  20223. IX5 X1*X2
  20224. SX0 -452452B BIT MASK FOR NUMBER OF BYTES TO READ
  20225. SB6 A1
  20226. ERRNZ PPOB-1-PPOA *PPOA* AND *PPOB* MUST BE CONTIGUOUS
  20227. SX7 B0+ CLEAR ASSEMBLY REGISTER
  20228. PPO2 BX1 X5
  20229. RJ RPB READ REGISTER BYTE
  20230. LX6 4
  20231. BX7 X7+X6
  20232. LX7 8
  20233. SX5 X5+B1 ADVANCE BYTE ADDRESS
  20234. LX0 -1
  20235. NG X0,PPO2 IF NOT THROUGH READING A REGISTER
  20236. SB6 B6+B1 STORE REGISTER
  20237. SA7 B6
  20238. BX7 X7-X7 CLEAR ASSEMBLY REGISTER
  20239. SX0 X0+
  20240. NZ X0,PPO2 IF NOT THROUGH READING ALL REGISTERS
  20241. EQ PPO3 CHECK FOR DFT BUFFER
  20242.  
  20243.  
  20244. PPOA CON 0 LOGICAL PP NUMBER
  20245. PPOB BSS 0 UNPACKED REGISTERS
  20246. DUP 16,1
  20247. CON 1S59
  20248. PRS SPACE 4,5
  20249. ** PRS - PRESET PROGRAM.
  20250. *
  20251. * USES ALL REGISTERS.
  20252. *
  20253. * CALLS ARG, ZAP.
  20254. *
  20255. * MACROS DATE, REPRIEVE.
  20256.  
  20257.  
  20258. PRS SUBR
  20259. REPRIEVE RPVB,SET,001
  20260. SX6 A0+
  20261. SX1 X6-MFL=
  20262. PL X1,PRS0.0 IF SUFFICIENT FIELD LENGTH
  20263. MEMORY CM,,R,MFL=
  20264. SX6 MFL=+77B ROUND UP BY 100B
  20265. AX6 6
  20266. LX6 6
  20267. PRS0.0 SA6 FN SAVE INITIAL FIELD LENGTH
  20268. SA6 FM SET CURRENT FIELD LENGTH
  20269. SX6 X6-10B
  20270. SA6 F.TEND INITIALIZE TABLE SPACE
  20271. GETPP PRSE,PRSD,PRSC JOBS DEFAULT PRINT INFORMATION
  20272. SA1 =1LS
  20273. SA2 PRSC
  20274. BX2 X1-X2
  20275. NZ X2,PRS0 IF NOT 6 LINES PER INCH (1LS)
  20276. SA1 =1L6 SET 6 LINES PER INCH
  20277. EQ PRS0.1 SET JOBS DEFAULT PRINT DENSITY
  20278.  
  20279. PRS0 SA1 =1L8 SET 8 LINES PER INCH
  20280. PRS0.1 BX6 X1
  20281. SA6 PRSB JOBS DEFAULT PRINT DESITY SELECTION
  20282. SA1 ACTR
  20283. SB4 X1+ ARGUMENT COUNT
  20284. ZR B4,PRS1 IF NO ARGUMENTS
  20285. SB5 PRSA ARGUMENT TABLE ADDRESS
  20286. SA4 ARGR READ FIRST ARGUMENT
  20287. RJ ARG PROCESS COMMAND ARGUMENTS
  20288. NZ X1,ERR1 IF ARGUMENT ERROR
  20289. SA1 F
  20290. ZR X1,ERR1 IF F=0 SPECIFIED
  20291. SA1 BF
  20292. ZR X1,PRS1 IF *B* NOT SPECIFIED
  20293. SA2 B SET BML FILE NAME IN FET
  20294. MX0 -18
  20295. BX6 -X0*X2
  20296. BX6 X1+X6
  20297. SA6 A2
  20298. SA6 EB SET EMPTY BML FILE FLAG
  20299. SA1 BD
  20300. NZ X1,ERR43 IF BINARY DUMP
  20301. PRS1 SA1 ZF
  20302. ZR X1,PRS2 IF *Z* ARGUMENT NOT SELECTED
  20303. SX2 I SET INPUT FET ADDRESS
  20304. SB6 80 SET STRING BUFFER LENGTH
  20305. RJ ZAP PROCESS *Z* ARGUMENT
  20306. PRS2 DATE DATE SET DATE
  20307. SX6 1R.
  20308. SA6 CHAR+80 GUARANTEE TERMINATOR ON DIRECTIVES
  20309. SA3 BD
  20310. ZR X3,PRS3 IF NOT BINARY DUMP
  20311. SX6 1RX CHANGE CPO DIRECTIVE DEFAULT
  20312. SA1 =10H(DMB MODE) SET MODE IN HEADER
  20313. LX6 59-5
  20314. BX7 X1
  20315. SA6 CO
  20316. SA7 TITL2+2
  20317. PRS3 SA1 DR
  20318. SA2 S
  20319. MX3 42
  20320. BX6 X3*X1
  20321. ZR X6,PRSX IF NO RANDOM FILE NAME SPECIFIED
  20322. BX2 -X3*X2
  20323. BX6 X6+X2
  20324. SX7 -1
  20325. SA6 A2
  20326. SA7 A1
  20327. JP PRSX EXIT
  20328.  
  20329. PRSA BSS 0 COMMAND ARGUMENT TABLE
  20330. I ARG I,I
  20331. F ARG F,F
  20332. L ARG L,L
  20333. B ARG BF,BF
  20334. D ARG =1,DR
  20335. DMB ARG -=1,BD
  20336. NR ARG -=1,RBIA
  20337. FULL ARG -=1,VE
  20338. PD ARG =0L8,PRSB
  20339. P ARG -=1,PF
  20340. Z ARG -=1,ZF
  20341. VFD 60/0
  20342.  
  20343. PRSB CON 0 PRINT DESITY SELECTION
  20344. PRSC CON 0 PRINT DESITY FORMAT CONTROL CHARACTER
  20345. PRSD CON 0 PAGE LINE LIMIT
  20346. PRSE CON 0,0 *GETPP* REPLY BUFFER
  20347. PSM SPACE 4,10
  20348. ** PSM - POSITION SIXTY-FOUR BIT MEMORY.
  20349. *
  20350. * ENTRY (B2) = POINTER TO 64-BIT MEMORY ADDRESS.
  20351. *
  20352. * EXIT *NXB* SET TO GET NEXT BYTE.
  20353. *
  20354. * USES X - 1, 2, 3, 6, 7.
  20355. * A - 1, 2, 3, 6, 7.
  20356. *
  20357. * CALLS FBP, ISM.
  20358.  
  20359.  
  20360. PSM SUBR ENTRY/EXIT
  20361. SA1 B2 64 BIT MEMORY BYTE ADDRESS
  20362. BX7 X7-X7
  20363. SA2 XB FETCH MEMORY BOUNDS
  20364. IX1 X1-X2
  20365. NG X1,PSM1 IF NOT *EI* ADDRESS
  20366. BX7 X2
  20367. PSM1 SA7 AO DETERMINE 64-BIT MEMORY RECORD
  20368. RJ ISM
  20369. SA1 XI SET CM RANDOM INDEX
  20370. BX6 X1
  20371. SA1 B2
  20372. SA6 RI
  20373. SA3 XH
  20374. IX6 X1-X3 64 BIT WORD OFFSET WITHIN RECORD
  20375. AX3 X6,B1
  20376. RJ FBP FIND BYTE POSITION
  20377. EQ PSMX RETURN
  20378. PTC SPACE 4,11
  20379. ** PTC - PRINT TRACK CHAIN.
  20380. *
  20381. * ENTRY TRACK LINKS IN TABLE *TSC1* ONE PER WORD RIGHT
  20382. * JUSITIFIED. A NEGATIVE TABLE ENTRY IS AN ERROR
  20383. * MESSAGE ADDRESS.
  20384. *
  20385. * USES X - 1, 2, 3, 5.
  20386. * A - 1, 2, 3.
  20387. * B - 2, 3, 4, 6, 7.
  20388. *
  20389. * CALLS CTS, SSB.
  20390. *
  20391. * MACROS PRINT.
  20392.  
  20393.  
  20394. PTC4 BX1 -X1
  20395. PRINT X1 PRINT ERROR MESSAGE
  20396.  
  20397. PTC SUBR
  20398. SX5 0 PRESET TABLE INDEX
  20399. RJ SSB CLEAR PRINT STRING
  20400. PTC1 SA2 F.TSC1 LINK TABLE BASE ADDRESS
  20401. SA3 L.TSC1
  20402. SB2 X5 SET CURRENT INDEX
  20403. SB3 X3 TABLE LENGTH
  20404. GE B2,B3,PTCX IF FINISHED
  20405. SB7 PRBF+24 PRINT STRING ADDRESS
  20406. SB4 21 LOOP COUNT
  20407. PTC2 SA1 X2+B2 READ NEXT ENTRY
  20408. NG X1,PTC4 IF ERROR
  20409. LX1 -12
  20410. SB6 4
  20411. RJ CTS CONVERT TRACK LINK
  20412. SB7 B7+B1
  20413. SB2 B2+B1 ADVANCE INDEX
  20414. SB4 B4-1 LOOP COUNT
  20415. GE B2,B3,PTC3 IF END OF CHAIN REACHED
  20416. GE B4,B0,PTC2 IF MORE SPACE IN THIS LINE
  20417. PTC3 SX5 B2+ SAVE INDEX
  20418. PRINT CCCH,B7-CCCH
  20419. JP PTC1 CONTINUE
  20420. PTL SPACE 4,16
  20421. ** PTL - PRINT TABLE LINE.
  20422. *
  20423. * ENTRY X1 = FORMAT TABLE POINTER.
  20424. * A1 = ADDRESS OF FORMAT TABLE POINTER.
  20425. * B2 = BASE ADDRESS OF TABLE DATA IN CORE.
  20426. * FW = BASE ADDRESS OF TABLE IN DUMP.
  20427. * B7 = PRINT STRING ADDRESS.
  20428. *
  20429. * EXIT FORMAT TABLE POINTER IS UPDATED.
  20430. * X2.LT.0 IF END OF DUMP.
  20431. *
  20432. * SAVES X - NONE.
  20433. * B - 1,2.
  20434. * A - 0.
  20435. *
  20436. * CALLS CTS,SBL,SDI,UPS.
  20437.  
  20438.  
  20439. PTL SUBR
  20440. SA2 X1+ READ FORMAT TABLE
  20441. NG X2,PTLX IF END OF DUMP
  20442. NZ X2,PTL1 IF DATA TO DUMP
  20443. SB6 68
  20444. RJ SBL BLANKFILL LINE
  20445. JP PTLX EXIT
  20446.  
  20447. PTL1 SX6 X1+4
  20448. SA6 A1 UPDATE FORMAT TABLE POINTER
  20449. SB3 X2 WORD ORDINAL IN TABLE
  20450. AX2 18
  20451. SB4 X2 FIRST DIGIT POSITION OF FIELD
  20452. AX2 18
  20453. SX4 X2 NUMBER OF DIGITS IN FIELD
  20454. AX2 18
  20455. ZR X2,PTL2 IF NOT INDIRECT PROCESSING
  20456. SA1 B3
  20457. SB3 X1+ WORD ORDINAL IN TABLE
  20458. PTL2 SA2 A2+1 READ FIRST WORD OF FIELD DESCRIPTION
  20459. SB6 28
  20460. RJ UPS STORE IN PRINT STRING
  20461. NZ B4,PTL3 IF NOT FIRST FIELD IN WORD
  20462. SA1 FW
  20463. SX1 X1+B3 FORM WORD ADDRESS
  20464. SB6 6
  20465. LX1 -18
  20466. RJ CTS CONVERT WORD ADDRESS
  20467. SB7 B7+B1
  20468. JP PTL4 PROCESS FIELD DATA
  20469.  
  20470. PTL3 SB6 7
  20471. RJ SBL BLANK OUT ADDRESS CHARACTERS
  20472. PTL4 SX5 B7+21 SAVE ADDRESS OF END OF DATA FIELD
  20473. SA1 FW
  20474. SB6 B2+B3
  20475. SA1 X1+B6 READ DATA WORD FROM TABLE
  20476. SX6 1R
  20477. SB3 B4+ SAVE FIRST DIGIT NUMBER
  20478. PTL5 ZR B4,PTL6 IF FIRST DIGIT POSITION REACHED
  20479. LX1 3 SHIFT DATA
  20480. SA6 B7 SPACEFILL TO FIRST DIGIT POSITION
  20481. SB7 B7+B1
  20482. SB4 B4-B1
  20483. EQ PTL5 CONTINUE
  20484.  
  20485. PTL6 SB6 X4 DIGIT COUNT FOR THIS FIELD
  20486. RJ CTS CONVERT FIELD
  20487. SB6 X5
  20488. SB6 B6-B7
  20489. RJ SBL SPACEFILL TO END OF DATA FIELD
  20490. SX2 0 PRESET FOR NO INTERPRETATION
  20491. SB6 10
  20492. NZ B3,PTL7 IF NOT FIRST FIELD OF WORD
  20493. SA2 A1+ READ DATA WORD TO INTERPRET
  20494. PTL7 RJ SDI STORE DISPLAY CODE INTERPRETATION FOR WORD
  20495. SX2 0 CLEAR END OF DUMP INDICATOR
  20496. JP PTLX EXIT
  20497. PTX SPACE 4,15
  20498. ** PTX - POSITION TO EXCHANGE PACKAGE.
  20499. *
  20500. * ENTRY (B6) = LIVE EXCHANGE PACKAGE FLAG.
  20501. * 0 = USE LIVE EXCHANGE PACKAGE.
  20502. * (X3) = RADIAL MCI FLAG.
  20503. * (X6) = ADDRESS OF EXCHANGE PACKAGE.
  20504. *
  20505. * EXIT (X2) = DIRECTORY ADDRESS OF LIVE EXCHANGE PACKAGE.
  20506. * 0 = CM RESIDENT EXCHANGE PACKAGE.
  20507. * *NXB* PARAMETERS SET TO READ NEXT BYTE.
  20508. *
  20509. * USES X - 1, 2, 3, 6, 7.
  20510. * A - 1, 2, 3, 6, 7.
  20511. *
  20512. * CALLS FBP, FPR, PVM.
  20513.  
  20514.  
  20515. PTX1 SA6 PXPA SAVE SVA
  20516. RJ PVM POSITION VIRTUAL MEMORY
  20517. NZ X2,ERR30 IF PAGE NOT FOUND
  20518. PTX1.1 SA1 PTXA
  20519. SX2 0
  20520.  
  20521. PTX SUBR ENTRY/EXIT
  20522. SA1 S2LPS
  20523. ZR B6,PTX2 IF NO ADDRESS GIVEN
  20524. BX1 X1-X6
  20525. NZ X1,PTX1 IF NOT SAME AS LIVE EXCHANGE
  20526. SX7 B1 SET PARAMETER FLAG
  20527. SA7 PTXB
  20528. SA2 SPPB
  20529. BX7 X2
  20530. SA7 PTXC SAVE CPU NUMBER
  20531. PTX2 SA1 .PXP
  20532. BX6 X3 RADIAL MCI FLAG
  20533. RJ FPR FIND PROCESSOR RECORD
  20534. ZR X2,ERR14 IF RECORD NOT FOUND
  20535. SA3 PTXC
  20536. ZR X3,PTX4.1 IF CPU-0 EXCHANGE PACKAGE
  20537. SA2 NR
  20538. SA2 X2 CPU-1 RANDOM ADDRESS POINTER
  20539. BX3 X3-X3
  20540. PTX4.1 BX6 X2
  20541. SA6 PTXA SAVE DIRECTORY ENTRY
  20542. RJ FBP POSITION DUMP FILE
  20543. SX6 B0+
  20544. SA3 PTXB
  20545. ZR X3,PTX5 IF NO PARAMETERS
  20546. SA6 NR CLEAR NEXT EXCHANGE PACKAGE ENTRY
  20547. PTX5 SA6 PTXB CLEAR FLAG
  20548. SA3 PTXC
  20549. SA6 PTXC CLEAR FLAG
  20550. NZ X3,PTX1.1 IF CPU-1 EXCHANGE PACKAGE
  20551. SA2 PTXA DIRECTORY ENTRY
  20552. JP PTXX RETURN
  20553.  
  20554.  
  20555. PTXA DATA 0
  20556. PTXB CON 0
  20557. PTXC CON 0
  20558. PVM SPACE 4,10
  20559. ** PVM - POSITION VIRTUAL MEMORY.
  20560. *
  20561. * ENTRY (X6) = SYSTEM VIRTUAL ADDRESS.
  20562. *
  20563. * EXIT (X1) = (BRMA) = BYTE REAL MEMORY ADDRESS.
  20564. * (X2) = 0, IF PAGE FOUND.
  20565. *
  20566. * USES A - 6.
  20567. * X - 2.
  20568. * B - 2.
  20569. *
  20570. * CALLS PSM, SPT.
  20571.  
  20572.  
  20573. PVM SUBR ENTRY/EXIT
  20574. SA6 BRMA SAVE POSSIBLE RMA
  20575. SB2 BRMA
  20576. RJ SPT SEARCH PAGE TABLE
  20577. NZ X2,PVMX IF PAGE NOT FOUND
  20578. SB2 BRMA
  20579. RJ PSM POSITION 64-BIT MEMORY
  20580. SX2 0
  20581. JP PVMX RETURN
  20582. PXH SPACE 4,12
  20583. ** PXH - PRINT PPU XP HEADING.
  20584. *
  20585. * EXIT (X1) = 0 IF NO MORE XP-S TO PROCESS.
  20586. * (X5) = 0 IF ONLY ONE XP TO PROCESS.
  20587. *
  20588. * USES X - 1, 5.
  20589. * B - 7.
  20590. *
  20591. * CALLS CPS, SXH.
  20592. *
  20593. * MACROS PRINT.
  20594.  
  20595.  
  20596. PXH SUBR
  20597. SB7 PRBF SET PRINT STRING ADDRESS
  20598. RJ SXH SET LEFT HEADING
  20599. ZR X1,PXHX IF NO MORE XPS TO PROCESS
  20600. SX1 20
  20601. RJ CPS CHECK PAGE SPACE
  20602. PRINT (=2C )
  20603. SB7 PRBF+45
  20604. RJ SXH SET RIGHT HEADING
  20605. NZ X1,PXH1 IF BOTH XPS ARE PRESENT
  20606. SX5 B0 SET ONE XP FLAG
  20607. PXH1 PRINT CCCH,B7-CCCH
  20608. PRINT (=2C )
  20609. SX1 1 ENSURE X1 NON-ZERO
  20610. JP PXHX EXIT
  20611. PXM SPACE 4,20
  20612. ** PXM - PRINT MULTIPLE EXCHANGE PACKAGES.
  20613. *
  20614. * PRINT A PAIR OF EXCHANGE PACKAGES WITH THE HEADER
  20615. * POINTED TO BY THE CONTENTS OF X1.
  20616. *
  20617. * ENTRY (X1) = EXCHANGE PACKAGE HEADER ADDRESS.
  20618. * (PXMM) = PRINT 1 XP FLAG
  20619. * (B2) = DATA BUFFER OFFSET.
  20620. * (CPRA) = ADDRESS OF FIRST EXCHANGE PACKAGE.
  20621. * XP DATA IS IN *BUF*.
  20622. *
  20623. * EXIT CPRA IS UPDATED.
  20624. * (PXMM) = 0.
  20625. * (PXMP) = 0.
  20626. *
  20627. * USES ALL REGISTERS.
  20628. *
  20629. * CALLS CPS,CTS,FXW,SSB,UPS,WOF.
  20630.  
  20631.  
  20632. PXM SUBR
  20633. SX7 X1+ SAVE HEADER ADDRESS
  20634. SA7 PXME
  20635. SX6 BUF+B2
  20636. SA6 PXMB SET EXCHANGE PACKAGE DATA ADDRESS
  20637.  
  20638. * PRINT HEADINGS.
  20639.  
  20640. SX1 20
  20641. RJ CPS CHECK REMAINING PAGE SPACE
  20642. RJ SSB CLEAR PRINT STRING
  20643. SA2 PXME
  20644. SA2 X2+ READ FIRST WORD OF HEADER
  20645. SB6 90
  20646. SB7 PRBF
  20647. RJ UPS SET HEADING
  20648.  
  20649. * SET EXCHANGE PACKAGE ADDRESSES.
  20650.  
  20651. SA1 CPRA
  20652. LX1 -15
  20653. SB6 5
  20654. SB7 PRBF
  20655. RJ CTS CONVERT ADDRESS
  20656. SA2 PXMM
  20657. NZ X2,PXM0 IF ONLY 1 XP
  20658. SX1 X1+20B ADVANCE FOR SECOND PACKAGE
  20659. LX1 -15
  20660. SB6 5
  20661. SB7 PRBF+45
  20662. RJ CTS
  20663. PXM0 SX6 X1+20B
  20664. SA6 CPRA UPDATE XP ADDRESS
  20665. PRINT (=2C )
  20666. PRINT CCCH,90
  20667. PRINT (=2C )
  20668.  
  20669. * FORMAT TWO EXCHANGE PACKAGES.
  20670.  
  20671. SX6 0
  20672. SA6 PXMA CLEAR LINE INDEX
  20673. SA5 PXMB
  20674. SA5 X5+ READ FIRST XP WORD
  20675. PXM1 RJ SSB CLEAR PRINT STRING
  20676. SB7 PRBF+1
  20677. SA1 PXMA LINE INDEX
  20678. RJ FXW FORMAT EXCHANGE PACKAGE WORD
  20679. SA2 PXMM
  20680. NZ X2,PXM1.1 IF ONLY 1 XP
  20681. SA5 A5+17B ADVANCE TO NEXT EXCHANGE PACKAGE
  20682. SA1 PXMA LINE INDEX
  20683. SB7 PRBF+46
  20684. RJ FXW
  20685. SA5 A5-20B
  20686. PXM1.1 PRINT CCCH,B7-CCCH
  20687. SA1 PXMA
  20688. SX6 X1+B1
  20689. SA6 A1 ADVANCE LINE INDEX
  20690. SX7 X6-10B
  20691. NZ X7,PXM2 IF NOT END OF A AND B REGISTERS
  20692. PRINT (=2C )
  20693. PXM2 SA1 PXMA
  20694. SX1 X1-20B
  20695. NG X1,PXM1 IF MORE LINES TO FORMAT
  20696. BX6 X6-X6
  20697. SA6 PXMM CLEAR 1 XP FLAG
  20698. JP PXMX EXIT
  20699.  
  20700. PXMA BSS 1 EXCHANGE PACKAGE LINE INDEX
  20701. PXMB BSS 1 EXCHANGE PACKAGE DATA ADDRESS
  20702. PXMM CON 0 PRINT 1 XP FLAG
  20703.  
  20704.  
  20705. PXMC CON =90H - PP MONITOR XP
  20706. ,- BREAKPOINT / HANG XP
  20707. PXMN CON =90H - IDLE 0 XP
  20708. ,
  20709. PXMO CON =90H - IDLE 1 XP
  20710. ,
  20711. PXMD CON =90H - CPU DEADSTART XP
  20712. ,- REAL TIME CLOCK XP
  20713. PXMF CON =90H - ERROR EXIT XP
  20714. ,- UNUSED XP
  20715. PXME CON 0 EXCHANGE PACKAGE HEADER ADDRESS
  20716. PXMG CON =90H - CHANNEL 2 INPUT XP
  20717. ,- CHANNEL 2 OUTPUT XP
  20718. PXMH CON =90H - CHANNEL 3 INPUT XP
  20719. ,- CHANNEL 3 OUTPUT XP
  20720. PXMI CON =90H - CHANNEL 4 INPUT XP
  20721. ,- CHANNEL 4 OUTPUT XP
  20722. PXMJ CON =90H - CHANNEL 5 INPUT XP
  20723. ,- CHANNEL 5 OUTPUT XP
  20724. PXMK CON =90H - CHANNEL 6 INPUT XP
  20725. ,- CHANNEL 6 OUTPUT XP
  20726. PXML CON =90H - CHANNEL 7 INPUT XP
  20727. ,- CHANNEL 7 OUTPUT XP
  20728. PXP SPACE 4,8
  20729. ** PXP - PRINT PPU EXCHANGE PACKAGES.
  20730. *
  20731. * ENTRY CPRA = XP ADDRESS.
  20732. *
  20733. * USES ALL REGISTERS.
  20734. *
  20735. * CALLS FXW,PXH,SSB,WOF.
  20736.  
  20737.  
  20738. PXP SUBR
  20739. SX7 BUF PRESET PP EXCHANGE PACKAGE ADDRESS
  20740. SA7 FW
  20741. SX6 1
  20742. SA6 PP CLEAR PPU NUMBER
  20743. SA5 X7+ READ FIRST EXCHANGE PACKAGE WORD
  20744. PXP1 RJ PXH PRINT XP HEADING
  20745. ZR X1,PXPX IF NO MORE TO DUMP
  20746. NZ X5,PXP1.1 IF ONLY ONE XP LEFT
  20747. BX6 X5
  20748. SA6 PXPB
  20749. PXP1.1 SX6 0
  20750. SA6 PXPA CLEAR XP LINE INDEX
  20751. PXP2 SA1 PXPA
  20752. RJ SSB CLEAR PRINT STRING
  20753. SB7 PRBF+1
  20754. RJ FXW FORMAT LEFT XP
  20755. SA1 PXPB
  20756. ZR X1,PXP2.1 IF AT LAST XP
  20757. SA5 A5+20B READ DATA FROM NEXT XP
  20758. SA1 PXPA
  20759. SB7 PRBF+46
  20760. RJ FXW FORMAT RIGHT XP
  20761. SA5 A5-21B RESET FOR PREVIOUS XP
  20762. PXP2.1 PRINT CCCH,B7-CCCH
  20763. SA1 PXPA
  20764. SX6 X1+B1
  20765. SA6 A1 ADVANCE LINE INDEX
  20766. SX6 X6-10B
  20767. NZ X6,PXP3 IF NOT END OF A AND B REGISTERS
  20768. PRINT (=2C )
  20769. PXP3 SA1 PXPA
  20770. SX1 X1-20B
  20771. NG X1,PXP2 IF MORE LINES
  20772. SA5 A5+22B ADVANCE TO NEXT XP PAIR
  20773. JP PXP1 CONTINUE
  20774.  
  20775. PXPA BSS 1 XP LINE INDEX
  20776. PXPB CON 1 LAST XP FLAG
  20777. P4F SPACE 4,11
  20778. ** P4F - PRINT FOUR BIT FLAGS.
  20779. *
  20780. * ENTRY X1 = FLAG BITS LEFT JUSTIFIED.
  20781. * B7 = PRINT STRING ADDRESS.
  20782. *
  20783. * EXIT X1 SHIFTED LEFT FOUR PLACES.
  20784. * B7 IS UPDATED.
  20785. *
  20786. * USES X - 1,6.
  20787. * B - 5,7.
  20788. * A - 6.
  20789.  
  20790.  
  20791. P4F SUBR
  20792. SB5 4 LOOP COUNT
  20793. P4F1 PL X1,P4F3 IF FLAG NOT SET
  20794. SX6 1R1 *ON* INDICATOR
  20795. P4F2 SA6 B7 STORE INDICATOR
  20796. SB7 B7+B1 ADVANCE PRINT STRING
  20797. SB5 B5-B1
  20798. LX1 1 SHIFT FLAGS
  20799. GT B5,B0,P4F1 IF MORE TO PRINT
  20800. JP P4FX EXIT
  20801.  
  20802. P4F3 SX6 1R- *OFF* INDICATOR
  20803. JP P4F2
  20804. RBC SPACE 4,15
  20805. ** RBC - READ BUFFER CONTROLLER MEMORY.
  20806. *
  20807. * ENTRY DUMP FILE POSITIONED TO CORRECT WORD
  20808. *
  20809. * EXIT (X1) .EQ. 0 IF TRANSFER COMPLETE.
  20810. * .NE. 0 IF TRANSFER NOT COMPLETE.
  20811. * (X7) = 20/0,8/B1,8/B2,8/B3,8/B4,8/B5.
  20812. *
  20813. * USES X - 0, 1, 6, 7.
  20814. * B - 2.
  20815. *
  20816. * MACROS READO.
  20817. *
  20818. * NOTES THE X7 EXIT CONDITION WILL BE SET ONLY IF THE
  20819. * TRANSFER COMPLETED NORMALLY (X1 .EQ. 0). IF THE
  20820. * TRANSFER COMPLETED NORMALLY, THE DUMP FILE WILL BE
  20821. * ADVANCED TO THE NEXT WORD.
  20822.  
  20823.  
  20824. RBC SUBR ENTRY/EXIT
  20825. READO S READ NEXT WORD
  20826. NZ X1,RBCX IF TRANSFER NOT COMPLETE
  20827. MX0 -8
  20828. BX7 X7-X7 CLEAR ASSEMBLY REGISTER
  20829. SB2 5 SET LOOP COUNT
  20830.  
  20831. * CONVERT 8/12 FORMAT- 4/0,8/B1,4/0,8/B2 ...
  20832.  
  20833. RBC1 LX6 12
  20834. LX7 8
  20835. BX1 -X0*X6
  20836. BX7 X7+X1
  20837. SB2 B2-1
  20838. NZ B2,RBC1 IF WORD NOT PACKED
  20839. BX1 X1-X1 INDICATE TRANSFER COMPLETE
  20840. EQ RBCX RETURN
  20841. RBF SPACE 4,15
  20842. ** RBF - READ UP TO 512 WORDS OR TO EOR FROM FILE F.
  20843. *
  20844. * EXIT (X1) = NONZERO IF EOF.
  20845. * (EOFF) = NONZERO IF EOF.
  20846. * (EORF) = NEGATIVE IF EOR.
  20847. * (BWCF) = BLOCK WORD COUNT.
  20848. * (RWCF) = RECORD WORD COUNT.
  20849. *
  20850. * USES A - 1, 2, 6, 7.
  20851. * X - 0, 1, 2, 3, 5, 6, 7.
  20852. *
  20853. * MACROS READW.
  20854.  
  20855.  
  20856. RBF SUBR ENTRY/EXIT
  20857. SA1 RBHA CHECK FOR DEFERRED HEADER
  20858. SX0 BUF ADDRESS TO READ DATA
  20859. SA2 RBFA FILE TO READ
  20860. ZR X1,RBF1 IF NO DEFERRED HEADER
  20861. SX6 B0+ CLEAR HEADER WORD COUNT
  20862. BX5 X1
  20863. SA6 A1
  20864. EQ RBF1.1 PROCESS HEADER
  20865.  
  20866. RBF1 READW X2,CONW,B1 READ HEADER CONTROL WORD
  20867. BX6 X1 SAVE EOF INFORMATION
  20868. SA6 EOFF
  20869. NZ X1,RBFX IF EOF
  20870. SA1 CONW COMPUTE WORD COUNT FOR PRU
  20871. SX6 5
  20872. SX3 X1+4
  20873. IX5 X3/X6
  20874. READW X2,X0,X5+B1 READ DATA PLUS TRAILER CONTROL WORD
  20875. ZR X5,RBF1 IF ZERO LENGTH PRU
  20876. RBF1.1 IX0 X0+X5 INCREMENT BUFFER ADDRESS
  20877. SA1 CONW CHECK FOR SHORT PRU (EOR)
  20878. AX1 36
  20879. SX1 X1
  20880. IX6 X5-X1
  20881. MX1 0 CLEAR EOF FLAG
  20882. NG X6,RBF2 IF SHORT PRU (EOR)
  20883. SX6 X0-BUF-512 CHECK FOR 512 WORDS READ
  20884. NG X6,RBF1 IF NOT 512 WORDS
  20885. RBF2 SA6 EORF SET/CLEAR EOR
  20886. SX7 X0-BUF NUMBER OF WORDS IN BLOCK
  20887. SA7 BWCF
  20888. EQ RBFX RETURN
  20889.  
  20890.  
  20891. RBFA CON F INITIAL FILE TO READ
  20892. BWCF CON 0 BLOCK WORD COUNT
  20893. EOFF CON 0 NONZERO IF EOF
  20894. RBH SPACE 4,15
  20895. ** RBH - READ BLOCK OR HEADER RECORD.
  20896. *
  20897. * EXIT (X1) .EQ. +0, IF NOT EOF OR DEFERRED HEADER EOR.
  20898. * .NE. 0, IF EOF.
  20899. * .EQ. -0, IF EOR WITH DEFERRED HEADER.
  20900. * (EOFF) = NONZERO IF EOF.
  20901. * (EORF) = NEGATIVE IF EOR.
  20902. * = NEGATIVE ZERO IF EOR WITH DEFERRED HEADER.
  20903. * (BWCF) = BLOCK WORD COUNT.
  20904. * (RWCF) = RECORD WORD COUNT.
  20905. * (RBHA) = WORD COUNT OF DEFERRED HEADER.
  20906. *
  20907. * USES A - 1, 6, 7.
  20908. * X - 1, 6, 7.
  20909. *
  20910. * CALLS DRT, RBF.
  20911.  
  20912.  
  20913. RBH SUBR ENTRY/EXIT
  20914. RJ RBF READ BLOCK OF UP TO 512 WORDS
  20915. NZ X1,RBHX IF EOF
  20916. SA1 EORF
  20917. ZR X1,RBHX IF NOT EOR
  20918. SA1 BWCF CHECK FOR HEADER
  20919. SX6 0 PRESET FOR EXIT CONDITION
  20920. SX1 X1-4
  20921. NZ X1,RBH1 IF NOT RIGHT SIZE FOR HEADER
  20922. SA1 BUF
  20923. RJ DRT DETERMINE RECORD TYPE
  20924. ZR X4,RBH1 IF NO MATCH ON RECORD TYPE
  20925. SA1 BWCF SAVE HEADER WORD COUNT
  20926. MX6 60 SET HEADER DEFERRED STATUS
  20927. BX7 X1
  20928. SA6 EORF
  20929. SA7 RBHA
  20930. RBH1 BX1 X6 SET EXIT CONDITION
  20931. EQ RBHX RETURN
  20932.  
  20933.  
  20934. RBHA CON 0 DEFERRED HEADER WORD COUNT
  20935. RBI SPACE 4,10
  20936. ** RBI - RANDOMIZE BINARY INPUT FILE.
  20937. *
  20938. * USES X - 0, 1, 2, 3, 5, 6, 7.
  20939. * A - 1, 2, 3, 5, 6, 7.
  20940. *
  20941. * CALLS BPN, DRT, LDD, RBF, RDR, SFR.
  20942. *
  20943. * MACROS ADDWRD, MESSAGE, READ, READW, READCW, RECALL, RENAME,
  20944. * RETURN, REWIND, SEARCH, SETFS, WRITEF, WRITEO, WRITER,
  20945. * WRITEW.
  20946.  
  20947.  
  20948. RBI10 BX6 X1 PLACE DUMP NUMBER IN HEADER
  20949. SA6 TITL2
  20950.  
  20951. RBI SUBR
  20952. RJ LDD LOAD DUMP DIRECTORY
  20953. ZR X1,RBI6 IF DUMP INPUT RANDOM
  20954.  
  20955. * INITIALIZE FOR RANDOM FILE GENERATION.
  20956.  
  20957. SETFET F,ERP=E
  20958. RECALL F
  20959. SA1 DR
  20960. NG X1,RBI0 IF RANDOM FILE NAME SPECIFIED
  20961. RETURN S,R DELETE BINARY SCRATCH FILE
  20962. EQ RBI0.1 INITIATE COPY
  20963.  
  20964. RBI0 REWIND S,R REWIND EXISTING SCRATCH FILE, IF PRESENT
  20965. RBI0.1 MESSAGE (=C* COPYING DUMP TO RANDOM FILE.*),1,R
  20966. SA1 RBIA
  20967. NZ X1,RBI1 IF NO REWIND REQUESTED
  20968. REWIND F,R
  20969. RBI1 SA2 RBFA INITIATE READ OF INPUT FILE
  20970. READCW X2,17B
  20971.  
  20972. * PROCESS INPUT FILE.
  20973.  
  20974. RBI2 RJ RBF READ UP TO 512 WORD BLOCK
  20975. NZ X1,RBI3 IF END OF FILE
  20976. RBI2.1 SA1 BUF SET RECORD ID = 1ST WORD OF RECORD
  20977. BX7 X1
  20978. SA7 ID
  20979. RJ DRT DETERMINE RECORD TYPE
  20980. JP B3 BRANCH ON RECORD TYPE
  20981.  
  20982. * PROCESS END OF FILE.
  20983.  
  20984. RBI3 SA1 DR
  20985. ZR X1,RBI3.1 IF *D* NOT SPECIFIED
  20986. NG X1,RBI3.1 IF *D=FILE* SPECIFIED
  20987. RETURN F
  20988. RBI3.1 SX6 B0+ MAKE *PP* ENTRIES FOR ALL IOU-S
  20989. SA6 PP
  20990. RBI4 RJ BPN BUILD PP NAME
  20991. SA1 .IPP
  20992. MX0 18
  20993. LX3 42 FORM RECORD ID
  20994. SA2 PP
  20995. SX6 X2+B1
  20996. SA6 A2 INCREMENT PP NUMBER
  20997. SX2 X2-32B
  20998. ZR X2,RBI5 IF END OF POSSIBLE IOU-S
  20999. IX6 X1+X3
  21000. SEARCH TDIR,X6,X0
  21001. ZR X2,RBI4 IF IOU NOT FOUND
  21002. SA1 BPNA
  21003. SA5 A2+B1 FETCH SECOND WORD OF ENTRY
  21004. ADDWRD TDIR,X1
  21005. ADDWRD TDIR,X5
  21006. EQ RBI4 PROCESS NEXT IOU
  21007.  
  21008. RBI5 WRITEW S,RBIB,RBIBL WRITE 7700 TABLE
  21009. SA1 L.TDIR
  21010. SA3 =0LDUMP
  21011. BX6 X1+X3
  21012. WRITEO X2 WRITE DIRECTORY LENGTH WORD
  21013. SA1 F.TDIR
  21014. WRITEW X2,X1,X6 WRITE DIRECTORY TABLE
  21015. WRITER X2,R
  21016. WRITEF X2,R TERMINATE DUMP FILE
  21017. SA1 DR
  21018. NG X1,RBI5.1 IF *D=FILE* SPECIFIED
  21019. ZR X1,RBI6 IF *D* NOT SPECIFIED
  21020. RENAME S,F RENAME SCRATCH FILE
  21021. RBI5.1 SETFS S,0
  21022. RBI6 ADDWRD TDIR,X6-X6 TERMINATE DIRECTORY TABLE
  21023. ADDWRD A0,X6-X6
  21024. SA1 .EIC LOOK FOR *EIC* RECORD
  21025. MX0 18
  21026. SEARCH TDIR,X1,X0
  21027. ZR X2,RBI7 IF RECORD NOT FOUND
  21028. BX6 X2
  21029. SA3 A2+B1
  21030. SA6 EH SAVE RECORD HEADER
  21031. BX7 X3 SAVE RANDOM ADDRESS
  21032. SA7 A6+B1
  21033. RBI7 SA1 .MEM LOOK FOR *MEM* RECORD
  21034. SEARCH TDIR,X1,X0
  21035. ZR X2,RBI9 IF RECORD NOT FOUND
  21036. BX6 X2
  21037. SA3 A2+B1
  21038. SA6 MH SAVE RECORD HEADER
  21039. BX7 X3 SAVE RANDOM ADDRESS
  21040. SA7 A6+B1
  21041. SA1 .MMR LOCATE *MMR* RECORD
  21042. RJ RDR
  21043. ZR X2,ERR42 IF RECORD NOT FOUND
  21044. SX5 /IOU/MBRG ASSEMBLE MEMORY BOUNDS
  21045. RJ SFR
  21046. NG X1,ERR42 IF REGISTER NOT FOUND
  21047. MX0 -16
  21048. BX7 -X0*X7 UPPER BOUND
  21049. LX7 12 CONVERT TO FWA OF EI
  21050. SA7 XB
  21051. RBI9 SX6 0 CLEAR RANDOM ADDRESS IN FET
  21052. SA6 S+6
  21053.  
  21054. * SET EXPRESS DUMP NUMBER IN TITLE LINE.
  21055.  
  21056. REWIND S,R
  21057. SA1 X2+B1 RESET FET
  21058. SX6 X1
  21059. SA6 A1+B1 IN = FIRST
  21060. SA6 A6+B1 OUT = FIRST
  21061. READ X2 READ FIRST LABEL BLOCK
  21062. READW X2,BUF,4 READ DUMP HEADER
  21063. SA1 BUF+3 DUMP NUMBER FROM *EDD*
  21064. SA2 BD
  21065. NZ X2,RBI10 IF BINARY DUMP
  21066. SA2 =8R DUMP
  21067. MX3 12
  21068. BX6 X3*X1
  21069. BX6 X6+X2
  21070. LX6 18
  21071. SA6 TITL2 SET DUMP NUMBER IN HEADER
  21072. JP RBIX EXIT
  21073.  
  21074.  
  21075. RBIA CON 0 NO REWIND FLAG
  21076. RBIB DATA 77000016000000000000B
  21077. DATA 0LDUMP
  21078. BSSZ 15B
  21079. RBIBL EQU *-RBIB
  21080. CONW CON 0 HEADER CONTROL WORD
  21081. EORF VFD 1/1,59/0 EOR FLAG
  21082. RBT SPACE 4,11
  21083. ** RBT - READ DATA IN BYTE FORMAT.
  21084. *
  21085. * ENTRY (A0) = NUMBER OF BYTES TO READ.
  21086. * (APPG) = PP DATA IN *PBUF* FLAG.
  21087. * (RBTA) = CURRENT BYTE NUMBER.
  21088. * (RBTA+1) = CURRENT WORD.
  21089. *
  21090. * EXIT BYTES STORED LEFT JUSTIFIED AT *BUF*.
  21091. *
  21092. * USES X - 0, 1, 5, 6, 7.
  21093. * A - 0, 1, 6, 7.
  21094. * B - 3, 4, 5.
  21095. *
  21096. * CALLS NXB.
  21097. *
  21098. * MACROS READO.
  21099.  
  21100.  
  21101. RBT9 SX7 B5
  21102. SA7 RBTA SAVE BYTE COUNTER
  21103. SA6 A7+B1 SAVE CURRENT WORD
  21104.  
  21105. RBT SUBR
  21106. SA1 RBTA
  21107. SB5 X1 SET CURRENT BYTE COUNTER
  21108. SA1 A1+B1
  21109. BX6 X1 SET CURRENT WORD
  21110. MX0 12
  21111. SB3 BUF
  21112. SB4 B3+A0 BUFFER LIMIT
  21113. SA1 APPG
  21114. NZ X1,RBT6 IF DATA IS IN *PBUF*
  21115. SA1 AP
  21116. NZ X1,RBT4 IF 16-BIT PP
  21117. JP RBT3 ENTER READ LOOP
  21118.  
  21119. * GET 12-BIT BYTES FROM FILE.
  21120.  
  21121. RBT1 SB5 5 RESET BYTE COUNTER
  21122. READO S READ NEXT WORD
  21123. RBT2 BX7 X0*X6
  21124. SA7 B3 STORE NEXT BYTE
  21125. SB5 B5-B1 COUNT BYTE
  21126. LX6 12
  21127. SB3 B3+1 ADVANCE BUFFER ADDRESS
  21128. EQ B3,B4,RBT9 IF NO MORE TO READ
  21129. RBT3 NZ B5,RBT2 IF NOT END OF WORD
  21130. JP RBT1 READ NEXT WORD
  21131.  
  21132. * GET 16-BIT BYTES FROM FILE. BYTES STORED 4 PER 64 BITS.
  21133.  
  21134. RBT4 SX5 A0 SAVE BYTE COUNT
  21135. SA0 BUF NEXT ADDRESS TO STORE
  21136. MX0 12 PP BYTE MASK
  21137. RBT5 RJ NXB READ NEXT IOU BYTE
  21138. LX1 59-11
  21139. BX6 X0*X1 EXTRACT PP BYTE
  21140. SA6 A0
  21141. SA0 A0+B1
  21142. SX5 X5-1
  21143. NZ X5,RBT5 IF MORE BYTES TO READ
  21144. EQ RBTX RETURN
  21145.  
  21146. * GET 12-BIT BYTES FROM *PBUF*.
  21147.  
  21148. RBT6 SA1 RBTB GET CURRENT *PBUF* ADDRESS
  21149. SA1 X1+
  21150. RBT7 NZ B5,RBT8 IF NOT END OF WORD
  21151. SA1 A1+1 READ NEXT WORD
  21152. SB5 5 RESET BYTE COUNTER
  21153. BX6 X1
  21154. RBT8 BX7 X0*X6
  21155. SB5 B5-B1 COUNT BYTE
  21156. SA7 B3 STORE NEXT BYTE
  21157. SB3 B3+B1 ADVANCE BUFFER ADDRESS
  21158. LX6 12
  21159. LT B3,B4,RBT7 IF MORE TO COPY
  21160. SX7 A1
  21161. SA7 RBTB SAVE CURRENT *PBUF* ADDRESS
  21162. EQ RBT9 RETURN
  21163.  
  21164.  
  21165. RBTA BSS 2 PARAMETER SAVE
  21166. RBTB CON 0 PBUF-1 OR LAST *PBUF* WORD READ
  21167. RCM SPACE 4,15
  21168. ** RCM - READ 60-BIT CM.
  21169. *
  21170. * ENTRY (B6) = FWA OF BLOCK TO READ CM.
  21171. * (B7) = LENGTH OF BLOCK.
  21172. *
  21173. * EXIT 60-BIT CM WORDS READ FROM FILE.
  21174. *
  21175. * USES X - 1, 6.
  21176. * A - 1, 6.
  21177. * B - 5, 6, 7.
  21178. *
  21179. * CALLS RCW.
  21180. *
  21181. * MACROS READO, READW.
  21182.  
  21183.  
  21184. RCM SUBR ENTRY/EXIT
  21185. SA1 MT
  21186. NZ X1,RCM0 IF MEMORY TYPE IS ESM
  21187. SA1 AP
  21188. NZ X1,RCM2 IF ADVANCED PROCESSOR PRESENT
  21189. RCM0 ZR B6,RCM1 IF READING ONE WORD
  21190. READW S,B6,B7
  21191. EQ RCMX RETURN
  21192.  
  21193. RCM1 READO S
  21194. EQ RCMX RETURN
  21195.  
  21196. RCM2 NZ B6,RCM3 IF MULTIPLE WORD TRANSFER
  21197. RJ RCW READ CYBER WORD
  21198. EQ RCMX RETURN
  21199.  
  21200. RCM3 SB5 B6 SAVE CM ADDRESS
  21201. RJ RCW READ CYBER WORD
  21202. NZ X1,RCMX IF EOR
  21203. SA6 B5
  21204. SB6 B5+B1
  21205. SB7 B7-B1
  21206. NZ B7,RCM3 IF BLOCK NOT READ
  21207. EQ RCMX RETURN
  21208. RCW SPACE 4,15
  21209. ** RCW - READ CYBER WORD.
  21210. *
  21211. * ENTRY UBUF CONTAINS UNPACKED 60 BIT WORDS.
  21212. * BI = INDEX INTO UBUF.
  21213. *
  21214. * EXIT (X6) = NEXT CM WORD.
  21215. * (X1) = DUMP FILE STATUS.
  21216. * UBUF UPDATED.
  21217. *
  21218. * USES X - 1, 2, 3, 6, 7.
  21219. * A - 2, 3, 6, 7.
  21220. * B - 5, 7.
  21221. *
  21222. * CALLS UPW.
  21223.  
  21224.  
  21225. RCW SUBR ENTRY/EXIT
  21226. SA3 BI
  21227. SA2 UBUF+16+X3
  21228. SX7 X3+B1
  21229. SA7 A3
  21230. MX1 0
  21231. BX6 X2
  21232. NZ X7,RCWX IF NOT END OF BUFFER
  21233. SA6 RCWA
  21234. SX6 B7
  21235. SA6 A6+B1
  21236. SX6 B5
  21237. SA6 A6+B1
  21238. RJ UPW READ AND UNPACK WORDS
  21239. SX6 -15
  21240. SA6 BI SET WORD INDEX
  21241. SA3 RCWA
  21242. SA2 A3+B1
  21243. SB7 X2
  21244. SA2 A2+B1
  21245. SB5 X2
  21246. BX6 X3
  21247. EQ RCWX RETURN
  21248.  
  21249.  
  21250. RCWA BSS 3 SAVE AREA
  21251. RDC SPACE 4,12
  21252. ** RDC - READ DIRECTIVE INPUT CARD.
  21253. *
  21254. * ENTRY AF = 0 READ FROM REGULAR INPUT FILE.
  21255. * = 1 READ FROM ALTERNATE FILE TO EOR.
  21256. * = 2 READ FROM ALTERNATE FILE TO EOF.
  21257. *
  21258. * EXIT X1.NE.0 IF END OF DIRECTIVES SENSED.
  21259. * DIRECTIVE READ IN 80R1 FORMAT TO *CHAR*.
  21260. *
  21261. * USES ALL REGISTERS.
  21262. *
  21263. * CALLS CIO=,PKS,RDS=,RDO=.
  21264.  
  21265.  
  21266. RDC SUBR
  21267. SA1 AF
  21268. NZ X1,RDC3 IF READING FROM ALTERNATE INPUT
  21269. SX1 B1+ SET END OF DIRECTIVES
  21270. SA2 I
  21271. ZR X2,RDCX IF ZERO FET
  21272. RDC1 READS I,CHAR,80
  21273. NZ X1,RDCX IF END OF RECORD SENSED
  21274. RDC2 SB6 50
  21275. SB7 TITL1
  21276. SB2 CHAR
  21277. RJ PKS MOVE DIRECTIVE TO TITLE LINE
  21278. SA1 DP
  21279. SX6 X1+B1
  21280. SA6 A1 ADVANCE DIRECTIVES PROCESSED COUNTER
  21281. MX1 0
  21282. JP RDCX EXIT
  21283.  
  21284. RDC3 READS J,CHAR,80 READ ALTERNATE INPUT FILE
  21285. ZR X1,RDC2 IF NOT END OF RECORD
  21286. NG X1,RDC4 IF END OF FILE
  21287. SA3 AF
  21288. SX3 X3-2
  21289. NZ X3,RDC4 IF READING ONLY 1 RECORD
  21290. READ X2 READ NEXT RECORD
  21291. READO X2 READ RECORD NAME
  21292. JP RDC3 CONTINUE
  21293.  
  21294. RDC4 SX6 0
  21295. SA6 AF CLEAR ALTERNATE INPUT FLAG
  21296. JP RDC1 RETURN TO NORMAL INPUT FILE
  21297. RDR SPACE 4,15
  21298. ** RDR - READ DUMP RECORD.
  21299. *
  21300. * ENTRY (X1) = RECORD ID TO READ.
  21301. *
  21302. * EXIT (X2) = FIRST WORD OF RECORD.
  21303. * = 0, IF RECORD NOT FOUND.
  21304. *
  21305. * USES X - 1, 2, 3, 6.
  21306. * A - 1, 2, 6.
  21307. *
  21308. * CALLS FPR, PDF.
  21309. *
  21310. * MACROS READW.
  21311.  
  21312.  
  21313. RDR SUBR ENTRY/EXIT
  21314. SX6 B0+ SET NO RADIAL MCI DISPLAY
  21315. RJ FPR FIND RECORD
  21316. ZR X2,RDRX IF RECORD NOT FOUND
  21317. BX6 X2 SAVE FIRST WORD OF TABLE ENTRY
  21318. SX3 B0
  21319. SA6 RDRA
  21320. RJ PDF POSITION DUMP FILE
  21321. SA1 RI READ MAINTENANCE REGISTERS RECORD
  21322. AX1 30
  21323. BX6 X6-X6
  21324. SA6 BUF+X1
  21325. SA6 BUF+1+X1
  21326. READW S,BUF,X1
  21327. SA2 RDRA RETURN FIRST WORD OF TABLE ENTRY
  21328. EQ RDRX RETURN
  21329.  
  21330.  
  21331. RDRA DATA 0 FIRST WORD OF DIRECTORY TABLE ENTRY
  21332. RMB SPACE 4,10
  21333. ** RMB - READ MEMORY BYTES.
  21334. *
  21335. * ENTRY (X1) = SVA OF BYTES TO READ.
  21336. * (X6) = NUMBER OF WORDS OF BYTES TO READ.
  21337. *
  21338. * EXIT (BUF - BUF+X6*4-1) = 16 BIT DATA CHUNKS.
  21339. *
  21340. * USES A - 0, 2, 3, 6, 7.
  21341. * X - 4, 6.
  21342. * B - 2.
  21343. *
  21344. * CALLS CPC, NXB.
  21345.  
  21346.  
  21347. RMB SUBR ENTRY/EXIT
  21348. SA6 RMBA SAVE NUMBER OF WORDS TO READ
  21349. BX6 X1
  21350. SA6 A6+B1 SAVE CURRENT SVA
  21351. SA0 BUF+1
  21352. RMB1 SB2 RMBA+1 CHECK IF CROSSING A PAGE BOUNDARY
  21353. RJ CPC
  21354. NZ X2,ERR30 IF PAGE ENTRY NOT PRESENT
  21355. RJ NXB GET NEXT 16 BITS
  21356. BX6 X1
  21357. SA6 A0-B1
  21358. RJ NXB AND THE NEXT
  21359. BX6 X1
  21360. SA6 A0
  21361. RJ NXB AND THE NEXT
  21362. BX6 X1
  21363. SA6 A0+B1
  21364. RJ NXB AND THE LAST
  21365. SA2 RMBA FETCH SVA
  21366. SA3 A2+B1
  21367. BX6 X1
  21368. SA6 A0+2
  21369. SX6 X2-1
  21370. SX4 8
  21371. SA0 A0+4
  21372. IX7 X4+X3
  21373. SA6 A2
  21374. SA7 A3 INCREMENT SVA
  21375. NZ X2,RMB1 IF MORE WORDS TO READ
  21376. JP RMBX RETURN
  21377.  
  21378. RMBA BSS 2
  21379. RMR SPACE 4,15
  21380. ** RMR - READ MAINTENANCE REGISTER.
  21381. *
  21382. * ENTRY (LPWA+1) = WORD OFFSET.
  21383. *
  21384. * EXIT (X1) = 0 IF END OF REGISTERS.
  21385. * (RMRA) = REGISTER LENGTH.
  21386. * (RMRB) = REGISTER NUMBER.
  21387. * (MRBF,MRBF+7) = 1ST 64 BITS OF REGISTER.
  21388. *
  21389. * USES B - 3, 4.
  21390. * A - 6, 7.
  21391. * X - 1, 7.
  21392. *
  21393. * CALLS LPW.
  21394.  
  21395.  
  21396. RMR SUBR ENTRY/EXIT
  21397. RJ LPW GET REGISTER LENGTH
  21398. ZR X1,RMRX IF END OF REGISTERS
  21399. SX7 X6
  21400. RJ LPW GET REGISTER NUMBER
  21401. SA7 RMRA
  21402. SA6 A7+B1
  21403. SB4 B0
  21404. SB3 X7
  21405. RMR1 RJ LPW GET ANOTHER 8 BITS OF REGISTER
  21406. SA6 MRBF+B4
  21407. SB4 B4+B1
  21408. MX1 1
  21409. NE B3,B4,RMR1 IF MORE BYTES TO GET
  21410. EQ RMRX RETURN
  21411.  
  21412.  
  21413. RMRA CON 0 REGISTER LENGTH
  21414. RMRB CON 0 REGISTER NUMBER
  21415. RNF SPACE 4,20
  21416. ** RNF - READ NEGATIVE FL OF CONTROL POINT.
  21417. *
  21418. * ENTRY (X2) = CONTROL POINT NUMBER.
  21419. * (X1) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
  21420. *
  21421. * EXIT (RC) = RA.
  21422. * (FC) = FL.
  21423. * TABLE TNFL CONTAINS NFL DATA.
  21424. *
  21425. * ERROR TO *ERR8*, IF CONTROL POINT NUMBER IS ZERO.
  21426. *
  21427. * USES X - 1, 2, 6, 7.
  21428. * A - 1, 2, 6, 7.
  21429. * B - 2.
  21430. *
  21431. * CALLS GFL, POM.
  21432. *
  21433. * MACROS ALLOC, GETCM.
  21434.  
  21435.  
  21436. RNF SUBR ENTRY/EXIT
  21437. ZR X2,ERR8.1 IF CONTROL POINT ZERO
  21438. LX2 7
  21439. IX1 X1+X2
  21440. RJ GFL GET FL, RA
  21441. SA7 FC
  21442. SA6 RC
  21443. AX2 36 GET NFL
  21444. MX6 -12
  21445. BX6 -X6*X2
  21446. LX6 6
  21447. SA2 L.TNFL ALLOCATE SPACE FOR NFL
  21448. IX1 X6-X2
  21449. ALLOC TNFL,X1
  21450. SA1 RC POSITION DUMP FILE
  21451. SA2 L.TNFL
  21452. IX7 X1-X2
  21453. SA7 CPRA
  21454. SB2 A7
  21455. RJ POM POSITION TO CM WORD
  21456. SA2 L.TNFL LENGTH TO READ
  21457. SA1 F.TNFL BUFFER ADDRESS
  21458. ZR X2,RNFX IF NO NFL TO READ
  21459. GETCM X1,X2
  21460. EQ RNFX RETURN
  21461. RPB SPACE 4,10
  21462. ** RPB - READ PPU BYTE.
  21463. *
  21464. * ENTRY X1 = PPU ADDRESS TO READ.
  21465. * PPU DATA IS AT *PBUF*.
  21466. *
  21467. * EXIT X6 = PPU BYTE READ LEFT JUSTIFIED.
  21468. *
  21469. * USES X - 1,2,3,6.
  21470. * B - 7.
  21471. * A - 2.
  21472.  
  21473.  
  21474. RPB SUBR
  21475. BX3 X1
  21476. SX2 5
  21477. IX2 X3/X2 CPU WORD ORDINAL = AD/5
  21478. SX3 5
  21479. IX3 X2*X3 COMPUTE BYTE POS = AD-(AD/5)*5
  21480. IX3 X1-X3
  21481. SX1 12
  21482. IX1 X1*X3
  21483. SB7 X1 SHIFT COUNT
  21484. MX1 12
  21485. SA2 X2+PBUF READ WORD
  21486. LX2 X2,B7 POSITION TO BYTE
  21487. BX6 X1*X2 EXTRACT BYTE
  21488. JP RPBX EXIT
  21489. RPD SPACE 4,12
  21490. ** RPD - READ PPU DATA TO CORE.
  21491. *
  21492. * ENTRY (PP) = PPU NUMBER.
  21493. *
  21494. * EXIT ALL OF REQUESTED PPU STORED AT *PBUF*.
  21495. * (BPNA) = PPU NAME.
  21496. *
  21497. * USES X - 0, 1, 2, 3, 4, 5, 6.
  21498. * A - 1, 2, 3, 6.
  21499. * B - 2, 6, 7.
  21500. *
  21501. * CALLS BPN, CPD, CPN, NXB, PDF, SFN.
  21502. *
  21503. * MACROS READW, SEARCH.
  21504.  
  21505.  
  21506. RPD SUBR
  21507. RJ BPN BUILD PPU NAME
  21508. SA1 F.TCMT
  21509. SB2 X1 SET TCMT TABLE ADDRESS
  21510. MX4 24
  21511. SA1 PC GET PP COMMUNICATION AREA POINTER
  21512. RJ CPN CONVERT PP/CPP NUMBER
  21513. ZR X3,RPD1 IF *CPP* RECORDS NOT CHOSEN
  21514. MX4 30
  21515. RPD1 LX6 3
  21516. IX1 X1+X6
  21517. SA2 X1+B2
  21518. MX3 18
  21519. BX1 X3*X2 EXTRACT PROGRAM NAME
  21520. RJ SFN SPACEFILL NAME
  21521. LX6 24
  21522. SA1 BPNA+1
  21523. BX6 -X4*X6
  21524. BX6 X6+X1 MERGE PP AND PROGRAM NAMES
  21525. SA1 A1-B1 GET PP RECORD NAME
  21526. SA6 SBTL1 STORE IN SUBTITLE LINE
  21527. SEARCH TDIR,X1,X0
  21528. ZR X2,ERR7 IF NO SUCH PPU
  21529. SA1 A2+B1
  21530. BX6 X1
  21531. SA6 RI SET RANDOM ADDRESS OF REQUESTED PPU
  21532. SX3 0
  21533. RJ PDF POSITION DUMP FILE
  21534. SA3 AP
  21535. NZ X3,RPD2 IF IOU TO BE READ
  21536. READW X2,PBUF,PBUFL READ ENTIRE PPU TO CORE
  21537. JP RPDX EXIT
  21538.  
  21539. RPD2 RJ CPD COPY PP DATA TO BUFFER
  21540. SB7 B0 STORING INDEX INTO PBUF
  21541. MX0 -12
  21542. RPD3 SB6 5
  21543. SX5 B0+
  21544. RPD4 RJ NXB GET FIRST BYTE OF DATA
  21545. LX5 12
  21546. BX2 -X0*X1
  21547. SB6 B6-B1
  21548. BX5 X5+X2
  21549. NZ B6,RPD4 IF MORE BYTES TO COLLECT
  21550. SA1 PS BYTES IN PP (4096 OR 8192)
  21551. BX6 X5
  21552. SX5 B7+B1 WORDS MOVED
  21553. SB7 B7+B1
  21554. LX5 2
  21555. SA6 PBUF-1+B7 SAVE PP BYTES
  21556. SX6 X5+B7 BYTES MOVED
  21557. IX6 X6-X1
  21558. NG X6,RPD3 IF MORE TO MOVE
  21559. EQ RPDX RETURN
  21560. RSP SPACE 4,14
  21561. ** RSP - RESET PRINT DENSITY SELECTION.
  21562. *
  21563. * ENTRY X1 = 1L3 FOR 3 LINES PER INCH.
  21564. * 1L4 FOR 4 LINES PER INCH.
  21565. * 1L6 FOR 6 LINES PER INCH.
  21566. * 1L8 FOR 8 LINES PER INCH.
  21567. *
  21568. * EXIT CCCH = 1R0 FOR 3 OR 4 LINES PER INCH.
  21569. * 1R FOR 6 OR 8 LINES PER INCH.
  21570. * PD = NUMBER OF LINES PER PAGE.
  21571. *
  21572. * USES ALL REGISTERS.
  21573. *
  21574. * CALLS WTO=.
  21575.  
  21576.  
  21577. RSP SUBR
  21578. SB2 RSPA OPTION TABLE ADDRESS
  21579. MX0 6
  21580. RSP1 SA2 B2 READ OPTION TABLE
  21581. SB2 B2+B1
  21582. ZR X2,ERR9 IF OPTION NOT IN TABLE
  21583. BX3 X1-X2
  21584. BX3 X3*X0
  21585. NZ X3,RSP1 IF NO MATCH
  21586. SX6 X2
  21587. AX2 18
  21588. NG X6,ERR9 IF VALUE UNUSABLE
  21589. ZR X6,ERR9 IF VALUE UNUSABLE
  21590. SA6 PD SET NUMBER OF LINES PER PAGE
  21591. SX6 X2+
  21592. SA6 CCCH SET CARRIAGE CONTROL CHARACTER
  21593. SA6 CC
  21594. SA1 TF
  21595. NZ X1,RSPX IF TERMINAL OUTPUT
  21596. AX2 18
  21597. SX6 X2
  21598. LX6 -18
  21599. SA2 OF
  21600. WRITEO X2 OUTPUT DENSITY SELECTION CONTROL CHAR
  21601. JP RSPX EXIT
  21602.  
  21603. RSPA BSS 0 PRINT DENSITY OPTION TABLE
  21604. VFD 6/1L3,18/1LS,18/1R0,18/RSPC
  21605. VFD 6/1L4,18/1LT,18/1R0,18/RSPD
  21606. VFD 6/1L6,18/1LS,18/1R ,18/RSPB
  21607. VFD 6/1L8,18/1LT,18/1R ,18/RSPE
  21608. VFD 60/0
  21609. RSPB EQU LINP-3 6 LINES PER INCH DENSITY
  21610. RSPC EQU RSPB/2 3 LINES PER INCH DENSITY
  21611. RSPD EQU RSPB*2/3 4 LINES PER INCH DENSITY
  21612. RSPE EQU RSPB*4/3 8 LINES PER INCH DENSITY
  21613. RST SPACE 4,20
  21614. ** RST - READ SYSTEM TABLES.
  21615. *
  21616. * READS ALL TABLES THROUGH THE SECDED ID TABLE
  21617. * FROM THE DUMP FILE TO TABLE *TCMT*.
  21618. *
  21619. * ENTRY (PF) = 0, IF TO READ LOW CORE WORDS FROM DUMP FILE.
  21620. * ELSE, READ LOW CORE WORDS FROM RUNNING SYSTEM.
  21621. *
  21622. * EXIT (CF) = NONZERO, IF CYBER 176.
  21623. * (ME) = NUMBER OF MEMORY CONTROL TABLE (MCT) ENTRIES.
  21624. * (NC) = NUMBER OF CONTROL POINTS - 1.
  21625. * (NP) = NUMBER OF PPU-S IN SYSTEM.
  21626. * (PC) = PP COMMUNICATION AREA POINTER.
  21627. *
  21628. * USES X - 0, 1, 2, 3, 6, 7.
  21629. * A - 1, 2, 3, 6, 7.
  21630. *
  21631. * CALLS GID, PCM.
  21632. *
  21633. * MACROS ALLOC, GETCM, SEARCH, SYSTEM.
  21634.  
  21635.  
  21636. RST SUBR
  21637. ALLOC TCMT,CPAS ALLOCATE LOW CORE POINTER SPACE
  21638. SA1 PF
  21639. NZ X1,RST6 IF POINTERS TO COME FROM RUNNING SYSTEM
  21640. SX3 0
  21641. RJ PCM
  21642. SA1 F.TCMT
  21643. SA2 L.TCMT
  21644. GETCM X1,X2
  21645. RST1 SA1 F.TCMT
  21646. SA1 X1+JBCP READ JOB CONTROL AREA POINTER
  21647. LX1 24
  21648. SX1 X1-CPAS LENGTH OF REMAINING CM TABLES
  21649. SX2 X1-110000B CHECK IF CMR SIZE REASONABLE
  21650. NG X1,RST2 IF UNREASONABLE SIZE
  21651. NG X2,RST3 IF SIZE WITHIN MAXIMUM
  21652. RST2 SX1 20000B SELECT LOAD LENGTH IF CMR BASHED
  21653. RST3 ALLOC TCMT,X1 ALLOCATE REMAINDER OF TABLE
  21654. GETCM X2+CPAS,X1
  21655. SA1 F.TCMT
  21656. SA2 X1+NCPL READ NUMBER OF CONTROL POINTS FROM SYSTEM
  21657. MX0 -12
  21658. SA3 X1+PPCP SET PP COMMUNICATION AREA POINTER
  21659. BX7 -X0*X3
  21660. LX2 24
  21661. LX3 36 SET EXTENDED MEMORY SHIFT COUNTS
  21662. ERRNZ MEFL-PPCP CODE ASSUMES SAME WORD
  21663. SA7 PC
  21664. BX7 -X0*X3
  21665. AX7 5
  21666. MX6 -2
  21667. BX6 -X6*X7
  21668. SA6 EM
  21669. AX7 4
  21670. SA7 UE
  21671. BX6 -X0*X2 EXTRACT NUMBER OF CONTROL POINTS
  21672. SX7 X6-/DSL/NCPS
  21673. NG X7,RST4 IF NOT MAXIMUM OR BAD POINTER
  21674. SX6 /DSL/NCPS SET MAXIMUM NUMBER OF CONTROL POINTS
  21675. RST4 SA6 NC
  21676. SA3 X1+MCTP SET NUMBER OF MCT ENTRIES
  21677. AX3 24
  21678. BX6 -X0*X3
  21679. SA6 ME
  21680. SX6 B0+
  21681. SA6 IO INITIALIZE *I4A OR I4S IOU* FLAG
  21682. SA1 BD
  21683. NZ X1,RST5 IF *DMB* FILE, SKIP PP CHECKS
  21684. SA1 .NPP
  21685. MX0 12
  21686. SEARCH TDIR,X1,X0
  21687. ZR X2,ERR7 IF FIRST PP RECORD NOT FOUND
  21688. SX6 0
  21689. SA3 =2LPP
  21690. MX0 12
  21691. RST4.1 SX6 X6+B1
  21692. SA2 A2+2 GET NEXT DIRECTORY ENTRY
  21693. BX2 X0*X2
  21694. IX2 X3-X2
  21695. ZR X2,RST4.1 IF MORE PP RECORDS
  21696. SA6 AC NUMBER OF PP-S ON DUMP TAPE
  21697. SX7 X6-10D
  21698. ZR X7,RST5 IF 10 PP SYSTEM
  21699. SX6 MAXP SET MAXIMUM NUMBER OF PPU-S
  21700. RST5 SA6 NP SET NUMBER OF PP COMMUNICATION AREAS
  21701. SA1 .CPP
  21702. MX0 24
  21703. SEARCH TDIR,X1,X0
  21704. SX6 0
  21705. ZR X2,RST5.2 IF NO *CPP* RECORDS
  21706. MX0 12
  21707. SA3 .CPP
  21708. BX3 X0*X3
  21709. RST5.1 SX6 X6+1
  21710. SA2 A2+2 CHECK NEXT RECORD
  21711. BX2 X0*X2
  21712. IX2 X3-X2
  21713. ZR X2,RST5.1 IF CPP RECORD
  21714. RST5.2 SA6 C4 NUMBER OF CPP-S AND CPP COMM. AREAS
  21715. SA1 F.TCMT
  21716. SA2 X1+MABL GET HARDWARE OPTIONS
  21717. MX7 -2 SET CYBER 176 FLAG
  21718. LX2 0-45
  21719. BX6 -X7*X2
  21720. BX6 -X7-X6
  21721. SA6 CF
  21722. SX7 B1+
  21723. LX2 0-47-0+45
  21724. BX6 X7*X2
  21725. NZ X6,RSTX IF NOT CYBER 8X5
  21726. SA7 CE SET CM EXTENSION
  21727. LX2 59-42-0+47-60
  21728. PL X2,RSTX IF CYBER 170-865/875
  21729. SA1 =3LIMR CHECK FOR *I4* IOU
  21730. RJ GID
  21731. SX6 X6-4
  21732. SA6 IO SAVE *I4A OR I4S IOU* FLAG
  21733. SX7 X7-0#44
  21734. ZR X5,ERR47 IF *I4C* IOU
  21735. EQ RSTX RETURN
  21736.  
  21737. * READ LOW CORE FROM RUNNING SYSTEM.
  21738.  
  21739. RST6 SA1 F.TCMT
  21740. SX6 -B1
  21741. SA6 X1 PRESET BUFFER FOR ABSOLUTE MEMORY READ
  21742. SA6 A6+100B
  21743. SA2 RSTA
  21744. SA3 RSTB UPDATE BUFFER ADDRESS IN *RSB* CALLS
  21745. IX6 X2+X1
  21746. IX7 X3+X1
  21747. SA6 A2
  21748. SA7 A3
  21749. SYSTEM RSB,R,RSTA
  21750. SYSTEM RSB,R,RSTB
  21751. SX3 CPAS
  21752. RJ PCM POSITION DUMP FILE PAST POINTER AREA
  21753. JP RST1 READ REST OF CM TABLES
  21754.  
  21755. RSTA VFD 12/0,12/100B,18/0,18/0 *RSB* CALL PARAMETERS
  21756. RSTB VFD 12/0,12/100B,18/100B,18/100B
  21757. RUC SPACE 4,11
  21758. ** RUC - RESET USER SELECTED CONTROLS.
  21759. * RESTORES REFERENCE ADDRESS, SUBTITLE AND MEMORY TYPE
  21760. * TO THOSE SELECTED BY THE USER.
  21761. *
  21762. * ENTRY UA = USER SELECTED REFERENCE ADDRESS.
  21763. * UI = USER SELECTED MEMORY INDEX.
  21764. * US = SUBTITLE DISPLAY OF USER SELECTED RA.
  21765. * US+1 = SUBTITLE MEMORY BLOCK NAME.
  21766. *
  21767. * USES X - 1,2,6,7.
  21768. * A - 1,2,6,7.
  21769.  
  21770.  
  21771. RUC SUBR
  21772. SA1 UA
  21773. SA2 UI
  21774. BX6 X1
  21775. LX7 X2
  21776. SA6 BA RESTORE REFERENCE ADDRESS
  21777. SA7 MI RESTORE MEMORY BLOCK RANDOM INDEX
  21778. SA1 US
  21779. SA2 A1+1
  21780. BX6 X1
  21781. LX7 X2
  21782. SA6 SBTL RESTORE SUBTITLE
  21783. SA7 SBTL1
  21784. JP RUCX EXIT
  21785. SAI SPACE 4,15
  21786. ** SAI - SET ASCII INTERPRETATION.
  21787. *
  21788. * ENTRY (X2) = ASCII 8 BIT CHARACTERS.
  21789. * (B6) = NUMBER OF CHARACTERS TO CONVERT.
  21790. * (B7) = POSITION TO PLACE CHARACTERS.
  21791. *
  21792. * EXIT (X1) = SHIFTED (B6)*8 BITS.
  21793. * (B7) = UPDATED.
  21794. *
  21795. * USES X - 1, 2, 3, 6, 7.
  21796. * A - 3, 7.
  21797. * B - 6, 7.
  21798.  
  21799.  
  21800. SAI SUBR ENTRY/EXIT
  21801. MX1 -7 STRIP PARITY BIT FROM CHARACTER
  21802. SAI1 LX2 8
  21803. BX6 -X1*X2 EXTRACT CHARACTER
  21804. SA3 X6+/COMTVDT/TVXD GET DISPLAY CODE EQUIVALENT
  21805. SX7 X3
  21806. PL X3,SAI2 IF CHARACTER IS PRINTABLE
  21807. SX7 1R CHANGE TO A SPACE
  21808. SAI2 SX6 X7 CHECK FOR 74/76 ESCAPE
  21809. AX6 6
  21810. SB6 B6-B1 DECREMENT CHARACTER COUNT
  21811. LX6 6
  21812. IX7 X7-X6 REMOVE ANY 74/76 ESCAPE
  21813. SA7 B7
  21814. SB7 B7+B1
  21815. NZ B6,SAI1 IF MORE CHARACTERS TO UNPACK
  21816. EQ SAIX RETURN
  21817. SBC SPACE 4,20
  21818. ** SBC - SELECT NEXT BUFFER CONTROLLER CHANNEL.
  21819. *
  21820. * ENTRY (BCDA) = LAST DIRECTORY ENTRY ADDRESS.
  21821. * (PI) = 0, IF DUMPING ALL CHANNELS.
  21822. * (SBCB) = OPTION SELECTION IF DUMPING ALL CHANNELS.
  21823. *
  21824. * EXIT (X1) = 0, IF NO MORE CHANNELS TO DUMP.
  21825. * (A2) = DIRECTORY ENTRY ADDRESS.
  21826. * (SBCA) = CHANNEL NUMBER SELECTED.
  21827. * (SBCB) = PARAMETERS SELECTED FOR NEXT CHANNEL.
  21828. *
  21829. * USES X - 0, 1, 2, 6.
  21830. * A - 1, 2, 6.
  21831. * B - 7.
  21832. *
  21833. * CALLS ASD, ASN.
  21834. *
  21835. * MACROS SEARCH.
  21836.  
  21837.  
  21838. SBC SUBR ENTRY/EXIT
  21839. SA1 PI
  21840. NZ X1,SBC2 IF CHANNELS ON DIRECTIVE
  21841. SA1 /DIRECT/BCDA GET ADDRESS OF LAST DIRECTORY ENTRY
  21842. SA2 X1+2 GET NEXT ENTRY
  21843. SX1 2RCH CHECK IF STILL BUFFER CONTROLLER RECORD
  21844. LX1 -24
  21845. MX0 12
  21846. LX0 -12
  21847. BX2 X0*X2
  21848. BX2 X1-X2
  21849. ZR X2,SBC1 IF BUFFER CONTROLLER CHANNEL
  21850. MX1 0 FLAG END OF DUMP
  21851. EQ SBCX RETURN
  21852.  
  21853. SBC1 SA2 A2 FORM CHANNEL NUMBER
  21854. AX2 24
  21855. MX0 -6
  21856. BX1 -X0*X2
  21857. AX2 6
  21858. BX2 -X0*X2
  21859. SX1 X1-1R0
  21860. SX2 X2-1R0
  21861. LX2 3
  21862. IX6 X2+X1
  21863. SA6 SBCA SAVE CHANNEL NUMBER
  21864. SX1 B1 FLAG CHANNEL FOUND
  21865. EQ SBCX RETURN
  21866.  
  21867. * PROCESS PARAMETERS FROM DIRECTIVE.
  21868.  
  21869. SBC2 SB7 0 SET OCTAL BASE
  21870. RJ ASD ASSEMBLE CHANNEL NUMBER
  21871. SX1 B6+
  21872. ZR X1,SBCX IF NO MORE TO DUMP
  21873. NZ X4,ERR6 IF CONVERSION ERROR
  21874. SA6 SBCA SAVE CHANNEL NUMBER
  21875. SA1 CH CHECK IF OPTIONS PRESENT
  21876. SA1 X1+
  21877. SX1 X1-1R/
  21878. SX6 2RHD SET DEFAULT OPTIONS
  21879. NZ X1,SBC3 IF NO PARAMETERS
  21880. RJ ASN ASSEMBLE PARAMETERS
  21881. AX6 B6
  21882. SBC3 SA6 SBCB SAVE PARAMETERS
  21883. SA1 SBCA FORM RECORD HEADER FOR SEARCH
  21884. MX0 -3
  21885. BX2 -X0*X1
  21886. AX1 3
  21887. BX1 -X0*X1
  21888. LX1 6
  21889. BX1 X1+X2
  21890. SA2 .BCH
  21891. LX1 24
  21892. MX0 24
  21893. IX6 X2+X1
  21894. LX0 -12
  21895. SEARCH TDIR,X6,X0
  21896. ZR X2,ERR6 IF CHANNEL NOT FOUND
  21897. SX1 1 FLAG CHANNEL FOUND
  21898. EQ SBCX RETURN
  21899.  
  21900.  
  21901. SBCA CON 0 CHANNEL NUMBER
  21902. SBCB CON 0 SELECTED PARAMETERS FOR DUMP
  21903. SBL SPACE 4,10
  21904. ** SBL - STORE BLANKS IN PRINT LINE.
  21905. *
  21906. * ENTRY B6 = NUMBER OF BLANKS DESIRED.
  21907. * B7 = CURRENT PRINT STRING ADDRESS.
  21908. *
  21909. * EXIT B7 IS UPDATED.
  21910. *
  21911. * USES X - 6.
  21912. * B - 6,7.
  21913. * A - 6.
  21914.  
  21915.  
  21916. SBL SUBR
  21917. SX6 1R
  21918. SBL1 SA6 B7
  21919. SB7 B7+1
  21920. SB6 B6-B1
  21921. NZ B6,SBL1 IF MORE SPACES TO STORE
  21922. JP SBLX EXIT
  21923. SCH SPACE 4,13
  21924. ** SCH - SET SC DIRECTIVE HEADER.
  21925. *
  21926. * ENTRY X5 = CURRENT SC DIRECTORY WORD.
  21927. * A5 = ADDRESS OF CURRENT SC DIRECTORY WORD.
  21928. * A0 = ADDRESS OF WHERE TO STORE SC REGISTERS.
  21929. * A2 = ADDRESS OF 38 CHARACTER HEADER MESSAGE.
  21930. * B7 = PRINT STRING ADDRESS.
  21931. *
  21932. * EXIT A5 IS UPDATED TO RANDOM INDEX WORD.
  21933. *
  21934. * USES ALL REGISTERS.
  21935. *
  21936. * CALLS PDF,RDW=,UPS.
  21937.  
  21938.  
  21939. SCH SUBR
  21940. SB6 38
  21941. RJ UPS
  21942. SA5 A5+1
  21943. BX6 X5
  21944. SX3 B1
  21945. SA6 RI
  21946. RJ PDF POSITION TO SC REGISTERS
  21947. READW S,A0,4
  21948. JP SCHX EXIT
  21949. SCM SPACE 4,7
  21950. ** SCM - SET CENTRAL MEMORY.
  21951. *
  21952. * EXIT X6 = SBTL1 = CENTRAL MEMORY NAME FOR SUBTITLE.
  21953. * X7 = MI = CENTRAL MEMORY BLOCK RANDOM INDEX.
  21954. *
  21955. * USES X - 1, 2, 6, 7.
  21956. * A - 1, 2, 6, 7.
  21957.  
  21958.  
  21959. SCM1 SA2 =4R CLEAR POSSIBLE *UEC *
  21960. AX1 24
  21961. LX1 24
  21962. BX6 X1-X2
  21963. SA6 A1
  21964.  
  21965. SCM SUBR
  21966. SA2 CI
  21967. LX7 X2
  21968. SX6 B0 CLEAR MEMORY BASE ADDRESS
  21969. SA7 MI SET RANDOM INDEX OF CM
  21970. SA6 MB
  21971. SA6 MT SET MEMORY TYPE
  21972. SA1 SBTL1
  21973. MX6 12
  21974. BX2 X6*X1
  21975. LX2 12
  21976. SX6 X2-2RCP
  21977. ZR X6,SCM1 IF DUMPING CONTROL POINTS
  21978. SX6 X2-2RPC
  21979. ZR X6,SCM1 IF DUMPING PSEUDO-CONTROL POINTS
  21980. SA2 =10HCM
  21981. BX6 X2
  21982. SA6 A1 SET NAME FOR SUBTITLE
  21983. JP SCMX EXIT
  21984. SCP SPACE 4,21
  21985. ** SCP - SELECT NEXT CONTROL POINT/PSEUDO-CONTROL POINT TO DUMP.
  21986. *
  21987. * ENTRY (CH) = ADDRESS OF NEXT CHARACTER IN DIRECTIVE.
  21988. * (CO) = DEFAULT LIST OPTIONS FOR CONTROL POINT DUMP.
  21989. * (NC) = NUMBER OF CONTROL POINTS - 1.
  21990. * (OP) = PCPA FWA OFFSET (0 IF DUMPING CONTROL POINTS).
  21991. * (PI) = 0, IF NEXT CP NUMBER TO BE FROM DIRECTIVE CARD.
  21992. * ELSE, CP AREA INDEX FOR ACTIVE CP SEARCH.
  21993. *
  21994. * EXIT (X1) = 0, IF NO MORE CONTROL POINTS TO DUMP.
  21995. * (CL) = LIST OPTIONS SELECTED.
  21996. * (CN) = SELECTED CONTROL POINT NUMBER.
  21997. * (PI) = UPDATED CP SEARCH INDEX.
  21998. *
  21999. * ERROR TO *ERR8*, IF INCORRECT CONTROL POINT NUMBER.
  22000. *
  22001. * USES X - 1, 2, 3, 4, 6, 7.
  22002. * A - 1, 2, 6, 7.
  22003. * B - 2, 3, 4, 7.
  22004. *
  22005. * CALLS ASD, ASN.
  22006.  
  22007.  
  22008. SCP6 SA6 SBTL1
  22009. SX1 1 SET CONTROL POINT SELECTED FLAG
  22010.  
  22011. SCP SUBR
  22012. SA1 PI
  22013. NZ X1,SCP3 IF DUMPING ALL ACTIVE CONTROL POINTS
  22014.  
  22015. * SELECT NEXT CONTROL POINT NUMBER FROM DIRECTIVE CARD.
  22016.  
  22017. SB7 B0 SET OCTAL BASE
  22018. RJ ASD ASSEMBLE CP NUMBER
  22019. SX1 B6+
  22020. ZR X1,SCPX IF END OF DIRECTIVE
  22021. NZ X4,ERR8 IF CONVERSION NOT OK
  22022. ZR X6,ERR8.1 IF CONTROL POINT ZERO
  22023. SA6 CN SAVE NUMBER
  22024. SA1 NC
  22025. IX7 X1-X6
  22026. SX7 X7+B1 ALLOW FOR SYSTEM CONTROL POINT
  22027. SA1 OP
  22028. ZR X1,SCP1 IF NOT DUMPING PSEUDO-CONTROL POINTS
  22029. PL X7,ERR8.1 IF INCORRECT PCP NUMBER
  22030. SA1 ME NUMBER OF MCT ENTRIES
  22031. SX7 X6+B1
  22032. IX7 X1-X7
  22033. SCP1 NG X7,ERR8.1 IF INCORRECT CONTROL POINT NUMBER
  22034. SA1 CH CHECK SEPARATOR
  22035. SA1 X1+
  22036. SX1 X1-1R/
  22037. SA2 CO
  22038. BX6 X2 SET DEFAULT LIST OPTIONS
  22039. NZ X1,SCP2 IF SEPERATOR NOT */*
  22040. RJ ASN ASSEMBLE LIST OPTIONS
  22041. SCP2 SA6 CL SET LIST OPTIONS
  22042. SA1 CN SET CP/PCP NUMBER IN SUBTITLE LINE
  22043. RJ COD
  22044. SX1 2RCP&2R
  22045. BX6 X4-X1
  22046. LX6 -12
  22047. SA1 OP
  22048. ZR X1,SCP6 IF NOT DUMPING PCP-S
  22049. SX1 1RP&1R
  22050. BX6 X6-X1
  22051. LX6 -6
  22052. EQ SCP6 SET SUBTITLE
  22053.  
  22054. * FIND NEXT ACTIVE CONTROL POINT.
  22055.  
  22056. SCP3 SB2 X1 SET SEARCH INDEX
  22057. SA2 NC LAST CONTROL POINT NUMBER-1
  22058. SX2 X2+B1
  22059. MX4 12
  22060. SA3 OP
  22061. ZR X3,SCP3.1 IF NOT DUMPING PCP-S
  22062. SA2 ME
  22063. SCP3.1 LX2 7
  22064. IX2 X2+X3 ADD PCPA OFFSET
  22065. SB3 X2+TFSW
  22066. SA2 F.TCMT
  22067. SB4 X2 SET TCMT TABLE BASE ADDRESS
  22068. SX1 B0 PRESET NO MORE TO DUMP FLAG
  22069. SCP4 SB2 B2+CPLEN ADVANCE SEARCH POINTER
  22070. LT B2,B3,SCP4.1 IF NOT AT SYSTEM CP OR LAST PCP+1
  22071. SA2 OP
  22072. NZ X2,SCPX IF ALL THROUGH DUMPING PCP-S
  22073. EQ B2,B3,SCP5 IF SYSTEM CP
  22074. SA3 F.TCMT CHECK FOR PCP-S TO DUMP
  22075. SA3 X3+PCPP
  22076. SX2 B2-TFSW SET PCPA OFFSET
  22077. SX3 X3
  22078. ZR X3,SCPX IF NO PCP-S TO DUMP
  22079. IX6 X3-X2
  22080. SA6 A2
  22081. SB2 B2+X6 ADVANCE SEARCH POINTER TO PCPA-S
  22082. SA2 ME SET LAST PCPA+1 TO DUMP
  22083. LX2 7
  22084. IX2 X2+X6
  22085. SB3 X2+TFSW
  22086. SCP4.1 SA2 B2+B4 READ NEXT EJT ORDINAL
  22087. BX2 X4*X2
  22088. ZR X2,SCP4 IF CONTROL POINT NOT ACTIVE
  22089. SCP5 SX1 B2-TFSW
  22090. SA2 OP SUBTRACT OFF PCPA OFFSET
  22091. IX7 X1-X2
  22092. AX7 7
  22093. SA7 CN SET CONTROL POINT NUMBER
  22094. SX6 B2
  22095. SA6 A1 UPDATE SEARCH POINTER
  22096. SA1 CO DEFAULT LIST OPTIONS
  22097. BX6 X1
  22098. EQ SCP2 SET LIST OPTIONS
  22099. SDI SPACE 4,13
  22100. ** SDI - SET DISPLAY CODE INTERPRETATION.
  22101. * COLONS AND DISPLAY CODE CHARACTERS ABOVE 57B ARE
  22102. * REPLACED WITH SPACES IN ORDER NOT TO SLOW DOWN THE LINE
  22103. * PRINTER.
  22104. *
  22105. * ENTRY A2 = ADDRESS OF FIRST DATA WORD.
  22106. * X2 = FIRST DATA WORD.
  22107. * B6 = NUMBER OF CHARACTERS.
  22108. * B7 = STRING BUFFER ADDRESS.
  22109. *
  22110. * USES X - 0,2,6,7.
  22111. * B - 5,6,7.
  22112. * A - 2,6.
  22113.  
  22114.  
  22115. SDI SUBR
  22116. SDI1 SX0 77B
  22117. SB5 10 CHARACTER COUNT
  22118. SDI2 LX2 6 POSITION NEXT CHARACTER
  22119. BX6 X0*X2
  22120. ZR X6,SDI3 IF COLON
  22121. SX7 X6-60B
  22122. NG X7,SDI4 IF NOT A SPECIAL CHARACTER
  22123. SDI3 SX6 1R
  22124. SDI4 SA6 B7 STORE CHARACTER IN STRING
  22125. SB7 B7+1
  22126. SB6 B6-B1 COUNT CHARACTER
  22127. ZR B6,SDIX IF NO MORE TO CONVERT
  22128. SB5 B5-1
  22129. NZ B5,SDI2 IF NOT END OF WORD
  22130. SA2 A2+1 READ NEXT WORD
  22131. EQ SDI1 CONTINUE
  22132. SDT SPACE 4,15
  22133. ** SDT - SEARCH DESCRIPTOR TABLE.
  22134. *
  22135. * ENTRY (X1) = SEARCH ARGUMENT (LOWER 8 BITS).
  22136. * (A2) = ADDRESS OF DESCRIPTOR TABLE.
  22137. * (X2) = FIRST ENTRY IN DESCRIPTOR TABLE.
  22138. * (X4) = MODEL NUMBER BIT MASK.
  22139. *
  22140. * EXIT (X2) = 0 IF NO FIND.
  22141. * = TABLE ENTRY IF FIND.
  22142. * (A2) = ADDRESS OF DESCRIPTOR TABLE ENTRY.
  22143. *
  22144. * USES X - 0, 1, 2, 3, 4.
  22145. * A - 2.
  22146.  
  22147.  
  22148. SDT SUBR ENTRY/EXIT
  22149. MX0 9
  22150. LX1 51
  22151. LX4 34
  22152. SDT1 BX3 X0*X2
  22153. BX3 X3-X1
  22154. NZ X3,SDT2 IF NO MATCH
  22155. BX3 X2*X4
  22156. NZ X3,SDTX IF VALID FOR THIS MODEL
  22157. SDT2 SA2 A2+B1
  22158. NZ X2,SDT1 IF NOT END OF DESCRIPTOR TABLE
  22159. EQ SDTX RETURN
  22160. SEA SPACE 4,10
  22161. ** SEA - SET EXCHANGE ADDRESS FOR CYBER 176.
  22162. *
  22163. * EXIT (X6) = REFERENCE ADDRESS.
  22164. *
  22165. * USES X - 1, 2, 3, 6.
  22166. * A - 1.
  22167.  
  22168.  
  22169. SEA SUBR ENTRY/EXIT
  22170. SA1 F.TCMT GET EST FWA AND SIZE
  22171. SA1 X1+ESTP
  22172. AX1 24
  22173. MX6 -12
  22174. BX2 -X6*X1
  22175. AX1 12 GET FWA EST
  22176. R= X3,ESTE
  22177. IX3 X2*X3
  22178. IX6 X1+X3
  22179. SX6 X6+777B ROUND UP TO NEXT 1000B
  22180. AX6 9
  22181. LX6 9
  22182. EQ SEAX RETURN
  22183. SEC SPACE 4,8
  22184. ** SEC - SET EXTENDED CORE STORAGE.
  22185. *
  22186. * EXIT X6 = SBTL1 = EXTENDED MEMORY NAME FOR SUBTITLE.
  22187. * X7 = MI = EXTENDED MEMORY BLOCK RANDOM INDEX.
  22188. *
  22189. * USES X - 0, 1, 2, 3, 6, 7.
  22190. * A - 1, 2, 3, 6, 7.
  22191. *
  22192. * CALLS COD.
  22193. *
  22194. * MACROS SEARCH.
  22195.  
  22196.  
  22197. SEC SUBR
  22198. BX7 X7-X7 CLEAR EXTENDED MEMORY ERROR FLAG
  22199. SA7 EE
  22200. SA7 MB CLEAR MEMORY BASE ADDRESS
  22201. SA1 .ECS
  22202. MX0 18
  22203. SEARCH TDIR,X1,X0
  22204. NZ X2,SEC0 IF ECS RECORD FOUND
  22205. SA1 .ESM
  22206. MX0 18
  22207. SEARCH TDIR,X1,X0
  22208. ZR X2,SEC2 IF NO ESM RECORD FOUND
  22209. SEC0 SA1 CF CHECK IF A CYBER 176
  22210. SA3 =10REC SET HEADER FOR NO FLAG REGISTER
  22211. BX6 X3
  22212. ZR X1,SEC1 IF CYBER 176
  22213. SA1 A2 READ FLAG REGISTER FROM TDIR ENTRY
  22214. SA3 =10000000B
  22215. MX0 -18
  22216. LX1 -12
  22217. BX1 -X0*X1
  22218. IX1 X1+X3 GUARANTEE LEADING ZEROS
  22219. RJ COD CONVERT FLAG REGISTER
  22220. SA3 =4L EC
  22221. MX0 -36
  22222. BX6 -X0*X6
  22223. BX6 X6+X3
  22224. LX6 6
  22225. SEC1 SA6 SBTL1 SET NAME AND FLAG REGISTER FOR SUBTITLE
  22226. SA2 A2+3 READ RANDOM INDEX
  22227. ZR X2,SEC2 IF NO EXTENDED MEMORY RECORD
  22228. BX7 X2
  22229. SA7 MT SET MEMORY TYPE
  22230. SA7 MI SET RANDOM INDEX OF EXTENDED MEMORY
  22231. JP SECX EXIT
  22232.  
  22233. SEC2 SX7 B1 SET EXTENDED MEMORY ERROR FLAG
  22234. SA7 EE
  22235. JP ERR5 *EXTENDED MEMORY RECORD NOT FOUND*
  22236. SEM SPACE 4,10
  22237. ** SEM - SET UNIFIED EXTENDED MEMORY.
  22238. *
  22239. * EXIT (X3) = *UEML* WORD SHIFTED 59-1.
  22240. * (X6) = (SBTL1) = UEM NAME FOR SUBTITLE.
  22241. * (X7) = (MI) = CENTRAL MEMORY BLOCK RANDOM INDEX.
  22242. *
  22243. * USES A - 1, 2, 3, 6, 7.
  22244. * X - 1, 2, 3, 6, 7.
  22245.  
  22246.  
  22247. SEM SUBR ENTRY/EXIT
  22248. SA1 F.TCMT
  22249. SA3 X1+UEML
  22250. MX6 12
  22251. BX7 X7-X7
  22252. BX6 X6*X3
  22253. LX3 59-1
  22254. SA7 EE CLEAR EXTENDED MEMORY ERROR FLAG
  22255. SA7 MT SET MEMORY TYPE
  22256. LX6 12+9
  22257. SA6 MB SET MEMORY BASE ADDRESS TO UEM ADDRESS
  22258. SA1 =10HUEM
  22259. SA2 CI
  22260. BX6 X1
  22261. LX7 X2
  22262. SA6 SBTL1 SET NAME FOR SUBTITLE
  22263. SA7 MI SET RANDOM INDEX OF CM
  22264. EQ SEMX RETURN
  22265. SFP SPACE 4,10
  22266. ** SFP - SEARCH FOR PAGE.
  22267. *
  22268. * ENTRY (DSMB, DSMB+1) = FWA, LWA OF DUMP.
  22269. *
  22270. * EXIT DSMB UPDATED.
  22271. * (X3) < 0, IF PAGES FOUND.
  22272. *
  22273. * USES A - 1, 2, 3, 6.
  22274. * X - 2, 3, 6.
  22275. * B - 2, 6, 7.
  22276. *
  22277. * CALLS CPC, HTS, PSM, SPT, SSB, UPS.
  22278.  
  22279.  
  22280. SFP SUBR ENTRY/EXIT
  22281. RJ SSB SPACE FILL BUFFER
  22282. SA2 SFPA * PAGE ENTRY IS MISSING.*
  22283. SB7 PRBF
  22284. SB6 23
  22285. RJ UPS UNPACK STRING
  22286. SB2 DSMB
  22287. RJ SPT CHECK PAGE CHANGE
  22288. NG X3,SFP3 IF INITIAL PAGE IS PRESENT
  22289. ZR X2,SFP2 IF PAGE IS NOT REALLY MISSING
  22290. PRINT (=2C )
  22291. PRINT CCCH,24
  22292. SFP1 SA1 DSMB INCREMENT TO NEXT PAGE
  22293. SA2 XM
  22294. SX2 X2+B1
  22295. IX6 X2+X1
  22296. SA6 A1
  22297. SA3 A1+B1
  22298. IX6 X6-X3
  22299. PL X6,SFP4 IF NO MORE TO DUMP
  22300. SB2 DSMB
  22301. RJ CPC CHECK PAGE CHANGE
  22302. SFP2 NZ X2,SFP1 IF PAGE MISSING
  22303. SB7 PRBF+15 FETCH UPPER 4 BITS
  22304. SA1 A3 FETCH VALID BITS
  22305. SB6 B1
  22306. RJ HTS
  22307. SA1 A1+B1
  22308. SB6 15
  22309. RJ HTS
  22310. PRINT (=2C )
  22311. PRINT CCCH,32
  22312. PRINT (=2C )
  22313. SFP3 SB2 BRMA BYTE RMA OF PAGE
  22314. RJ PSM POSITION DUMP FILE
  22315. RJ SSB SPACE FILL BUFFER
  22316. MX3 1
  22317. JP SFPX RETURN
  22318.  
  22319. SFP4 MX3 0 DEFINE MISSING PAGE/END OF DUMP
  22320. JP SFPX RETURN
  22321.  
  22322. SFPA DATA H* PAGE ENTRY IS MISSING.*
  22323. SFR SPACE 4,15
  22324. ** SFR - SEARCH FOR REGISTER.
  22325. *
  22326. * ENTRY (X5) = REGISTER NUMBER.
  22327. *
  22328. * EXIT (X1) = REGISTER NUMBER IF FOUND.
  22329. * = NEGATIVE IF NOT FOUND.
  22330. * (X6) = UPPER 4 BITS OF REGISTER (BITS 0-3).
  22331. * (X7) = LOWER 60 BITS OF REGISTER (BITS 4-63).
  22332. *
  22333. * USES B - 2.
  22334. * A - 1, 2.
  22335. * X - 1, 2, 3, 6, 7.
  22336. * LPWA - LPWA+1.
  22337. *
  22338. * CALLS RMR.
  22339.  
  22340.  
  22341. SFR SUBR ENTRY/EXIT
  22342. SX6 -1
  22343. SA6 LPWA PRESET BUFFER POINTERS FOR *LPW*
  22344. SX6 X6+B1
  22345. SA6 A6+B1
  22346. SFR1 RJ RMR READ MAINTENANCE REGISTER
  22347. BX2 X1
  22348. MX1 1
  22349. ZR X2,SFRX IF END OF REGISTERS
  22350. SA1 RMRA+1 GET REGISTER NUMBER
  22351. IX6 X5-X1
  22352. NZ X6,SFR1 IF NOT SELECTED REGISTER
  22353. SA2 MRBF FWA OF REGISTER VALUE
  22354. MX3 -4
  22355. BX7 -X3*X2
  22356. AX2 4
  22357. SX6 X2
  22358. SB2 7
  22359. SFR2 SA2 A2+B1 PACK INTO 60 BIT VALUE
  22360. LX7 8
  22361. BX7 X7+X2
  22362. SB2 B2-B1
  22363. NZ B2,SFR2 IF MORE BYTES TO INCLUDE
  22364. EQ SFRX RETURN
  22365. SHA SPACE 4,12
  22366. ** SHA - SET HEX ADDRESSES.
  22367. *
  22368. * ENTRY (X6) = MAXIMUM ADDRESS TO DUMP.
  22369. * (NR) = NEXT RECORD FLAG.
  22370. *
  22371. * EXIT (FW) AND (LW) SET.
  22372. *
  22373. * USES X - 0, 1, 6.
  22374. * A - 1, 6.
  22375. *
  22376. * CALLS ASX.
  22377.  
  22378.  
  22379. SHA2 SA1 NR
  22380. ZR X1,SHAX IF NO SECOND RECORD EXISTS
  22381. SA1 FW SAVE FWA, LWA+1
  22382. BX6 X1
  22383. SA1 A1+B1
  22384. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  22385. SHA3 SA6 SHAA
  22386. BX6 X1
  22387. SA6 A6+B1
  22388.  
  22389. SHA SUBR ENTRY/EXIT
  22390. SA1 SHAA+1
  22391. ZR X1,SHA1 IF FIRST RECORD
  22392. SA1 SHAA RESTORE FWA, LWA+1
  22393. BX6 X1
  22394. SA1 A1+B1
  22395. SA6 FW
  22396. BX6 X1
  22397. SA6 A6+B1
  22398. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  22399. SX1 B0
  22400. SX6 B0
  22401. EQ SHA3 CLEAR SAVE AREA
  22402.  
  22403. SHA1 SA6 LW PRESET LWA+1
  22404. BX0 X6 SAVE MAXIMUM
  22405. SX6 B0 PRESET FWA
  22406. SA6 FW
  22407. RJ ASX ASSEMBLE FWA
  22408. NZ X4,SHA2 IF NO ADDRESSES SPECIFIED
  22409. SA6 FW SET FWA
  22410. SX6 X6+B1 RESET LWA+1
  22411. SA6 A6+B1
  22412. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  22413. RJ ASX ASSEMBLE LWA+1
  22414. NZ X4,SHA2 IF NOT SPECIFIED
  22415. SA6 LW SET NEW LWA+1
  22416. IX6 X0-X6
  22417. PL X6,SHA2 IF LWA+1 NOT TOO LARGE
  22418. BX6 X0
  22419. SA6 A6+ RESET LWA+1
  22420. EQ SHA2 CHECK NEXT RECORD
  22421.  
  22422.  
  22423. SHAA CON 0 FWA
  22424. CON 0 LWA+1
  22425. SLP SPACE 4,12
  22426. ** SLP - SET LOGICAL PP IN MESSAGE.
  22427. *
  22428. * ENTRY (A0) = MESSAGE WORD ADDRESS.
  22429. * (PP) = PP BEING DUMPED.
  22430. *
  22431. * EXIT (X6) = 0 IF NO PP SWITCH.
  22432. *
  22433. * USES X - 0, 2, 3, 4, 6, 7.
  22434. * A - 2, 3, 7.
  22435. *
  22436. * CALLS CPN.
  22437.  
  22438.  
  22439. SLP1 SX6 0 SET NO PP SWITCH
  22440.  
  22441. SLP SUBR ENTRY/EXIT
  22442. RJ CPN CONVERT PP/CPP NUMBER
  22443. NZ X3,SLP1 IF CPP
  22444. SA3 TLPP+X6
  22445. BX6 X3-X2
  22446. ZR X6,SLPX IF NO PP SWITCH
  22447. BX4 X3
  22448. SX2 707B CONVERT LOGICAL NUMBER TO DISPLAY CODE
  22449. LX3 3
  22450. BX3 X3+X4
  22451. BX3 X3*X2
  22452. SX6 X3+2R00
  22453. SA2 A0 SET LOGICAL NUMBER IN HEADER
  22454. LX6 36
  22455. MX0 12
  22456. LX0 -12
  22457. BX2 -X0*X2
  22458. BX7 X2+X6
  22459. SA7 A0
  22460. EQ SLPX RETURN
  22461. SMT SPACE 4,16
  22462. ** SMT - SELECT MASS STORAGE TABLE TO DUMP.
  22463. *
  22464. * ENTRY (CH) = ADDRESS OF NEXT CHARACTER IN DIRECTIVE.
  22465. * (PI) = EST SEARCH ORDINAL.
  22466. * (PI) = 0 IF MST-S ARE SPECIFIED ON THE DIRECTIVE.
  22467. *
  22468. * EXIT (X6) = MST ADDRESS.
  22469. * 0, IF NO MORE MST-S TO DUMP.
  22470. * (EQ) = *EQDE* WORD OF EST ENTRY.
  22471. * (FI) = EST ORDINAL TO DUMP.
  22472. * (PI) ADVANCED.
  22473. *
  22474. * USES X - 1, 2, 3, 4, 5, 6, 7.
  22475. * A - 1, 2, 3, 4, 6, 7.
  22476. * B - 2, 7.
  22477. *
  22478. * CALLS ASD, COD.
  22479.  
  22480.  
  22481. SMT3 SA6 EQ SAVE EST ENTRY WORD FOR *MRT*
  22482. SA1 FI CONVERT EST ORDINAL
  22483. RJ COD
  22484. SX1 3REST&3R CREATE SUBTITLE
  22485. MX6 -18
  22486. BX1 -X6*X1
  22487. LX1 6
  22488. BX6 X4-X1 ADD CONVERTED ORDINAL
  22489. LX6 -24
  22490. SA6 SBTL1
  22491. BX6 X5 RESTORE MST ADDRESS
  22492. LX6 3
  22493.  
  22494. SMT SUBR ENTRY/EXIT
  22495. SA1 PI
  22496. NZ X1,SMT1 IF DUMPING ALL MSTS
  22497.  
  22498. * READ NEXT DEVICE NUMBER FROM DIRECTIVE CARD.
  22499.  
  22500. SB7 B0
  22501. RJ ASD ASSEMBLE NEXT EST ORDINAL
  22502. ZR X6,SMTX IF END OF DIRECTIVE
  22503. NZ X4,ERR6 IF ERROR
  22504. SA1 F.TCMT READ EST POINTERS
  22505. SA2 X1+ESTP
  22506. MX3 -12
  22507. AX2 12
  22508. BX7 -X3*X2 SET LAST MASS STORAGE ORDINAL + 1
  22509. AX2 24
  22510. IX7 X6-X7
  22511. PL X7,ERR6 IF INCORRECT EST ORDINAL
  22512. SA6 FI SAVE EST ORDINAL
  22513. R= X7,ESTE
  22514. IX7 X6*X7
  22515. IX2 X2+X7
  22516. SX2 X2+EQDE
  22517. IX2 X2+X1
  22518. SA2 X2 READ EST ENTRY
  22519. PL X2,ERR23 IF NOT MASS STORAGE
  22520. BX5 -X3*X2 SET MST ADDRESS
  22521. BX6 X2
  22522. JP SMT3 EXIT
  22523.  
  22524. * SEARCH FOR NEXT MASS STORAGE DEVICE.
  22525.  
  22526. SMT1 SA2 F.TCMT
  22527. SA4 X2+ESTP READ EST POINTER WORD
  22528. SB2 X2+
  22529. MX6 0 PRESET MST ADDRESS
  22530. MX2 -12
  22531. AX4 12
  22532. BX7 -X2*X4 LAST MASS STORAGE ORDINAL + 1
  22533. AX4 12
  22534. BX3 -X2*X4 LAST EST ORDINAL + 1
  22535. AX4 12
  22536. SB2 B2+X4 SET (B2) = FWA OF EST IN *TCMT*
  22537. SX4 X3 VERIFY LAST MASS STORAGE .LE. LAST EST
  22538. IX2 X7-X4
  22539. PL X2,SMT2 IF MAXIMUM MS DEVICES OR POINTERS BAD
  22540. SX4 X7+
  22541. SMT2 IX2 X1-X4
  22542. PL X2,SMTX IF END OF MASS STORAGE EST-S
  22543. R= X3,ESTE
  22544. IX2 X1*X3
  22545. SX2 X2+EQDE
  22546. SA3 X2+B2 READ EST ENTRY
  22547. SX1 X1+B1
  22548. PL X3,SMT2 IF NOT A MASS STORAGE DEVICE
  22549. BX6 X1
  22550. SA6 A1 UPDATE EST POINTER
  22551. SX6 X1-1
  22552. SA6 FI SAVE FOR *MST*
  22553. MX2 -12
  22554. BX5 -X2*X3 SET MST ADDRESS
  22555. BX6 X3
  22556. JP SMT3 EXIT
  22557. SNO SPACE 4,13
  22558. ** SNO - SELECT NEXT LIST OPTION.
  22559. *
  22560. * ENTRY (X1) = OPTION CHARACTER STRING LEFT JUSTIFIED.
  22561. * (A1) = ADDRESS OF OPTION STRING.
  22562. * (B2) = OPTION PROCESSOR ADDRESS TABLE.
  22563. *
  22564. * EXIT (X3) = 0 IF OPTION STRING EMPTY.
  22565. * (B3) = PROCESSOR ADDRESS IF FOUND.
  22566. * OPTION STRING IS UPDATED.
  22567. *
  22568. * USES X - 1, 2, 3, 6.
  22569. * A - 2, 6.
  22570. * B - 2, 3.
  22571.  
  22572.  
  22573. SNO SUBR
  22574. LX1 6 POSITION NEXT OPTION CHARACTER
  22575. MX2 -6
  22576. BX3 -X2*X1 EXTRACT NEXT CHARACTER
  22577. BX6 X2*X1
  22578. SA6 A1+ UPDATE STRING
  22579. ZR X3,SNOX IF END OF OPTIONS
  22580. SNO1 SA2 B2 READ PROCESSOR ADDRESS
  22581. ZR X2,ERR22 IF END OF TABLE
  22582. SB3 X2 SET PROCESSOR ADDRESS
  22583. AX2 18
  22584. BX2 X2-X3
  22585. ZR X2,SNOX IF MATCH FOUND
  22586. SB2 B2+B1
  22587. EQ SNO1 CHECK NEXT TABLE ENTRY
  22588. SNP SPACE 4,13
  22589. ** SNP - SELECT NEXT PPU/FLPP TO DUMP.
  22590. *
  22591. * ENTRY (PI) = *TDIR* TABLE POINTER IF DUMPING ALL PPUS/FLPPS.
  22592. * = 0 IF NEXT PPU/FLPP NUMBER IS ON DIRECTIVE CARD.
  22593. *
  22594. * EXIT (X1) = 0, IF NO MORE PP-S/FLPP-S TO DUMP.
  22595. * (PI) = UPDATED.
  22596. * DUMP FILE IS POSITIONED.
  22597. *
  22598. * USES X - 0, 1, 2, 3, 5, 6.
  22599. * A - 1, 2, 5, 6.
  22600. * B - 7.
  22601. *
  22602. * CALLS ASD, SPD.
  22603.  
  22604.  
  22605. SNP SUBR
  22606. SA5 PI
  22607. ZR X5,SNP2 IF NEXT NUMBER IS ON DIRECTIVE CARD
  22608. SA1 BPNA
  22609. SA2 X5
  22610. MX0 12
  22611. BX3 X2-X1
  22612. BX3 X0*X3
  22613. SX1 B0+ PRESET NO MORE TO DUMP
  22614. NZ X3,SNPX IF NO MORE TO DUMP
  22615. SX6 X5+2
  22616. SA6 A5 ADVANCE TABLE POINTER
  22617. LX2 12 SET *PP* FROM TABLE ENTRY
  22618. BX2 X0*X2
  22619. LX2 12
  22620. SX3 X2-2R00
  22621. MX0 -3
  22622. BX2 -X0*X3
  22623. AX3 3
  22624. BX6 X2+X3
  22625. SNP1 RJ SPD SET UP PP/CPP/FLPP DUMP
  22626. SX1 1 SET PPU/FLPP SELECTED
  22627. EQ SNPX EXIT
  22628.  
  22629. * SELECT NEXT PPU/FLPP FROM DIRECTIVE CARD.
  22630.  
  22631. SNP2 SB7 0 ASSUME OCTAL BASE
  22632. RJ ASD CONVERT NEXT NUMBER FROM DIRECTIVE
  22633. SX1 B6+
  22634. ZR X1,SNPX IF NO MORE PP/FLPP NUMBERS
  22635. NZ X4,ERR6 IF CONVERSION ERROR
  22636. EQ SNP1 SET NAME AND POSITION FILE
  22637. SPA SPACE 4,17
  22638. ** SPA - SELECT NEXT PPU TO ANALYZE.
  22639. *
  22640. * ENTRY (FI) = NAMED PP SEARCH INDEX.
  22641. * (PI) = PP COMMUNICATION AREA SEARCH POINTER.
  22642. * = 0, IF NEXT PP NUMBER IS ON DIRECTIVE.
  22643. *
  22644. * EXIT (X1) = 0, IF NO MORE PP-S TO DUMP.
  22645. * (PI) = UPDATED, IF DUMPING ALL ACTIVE PP-S.
  22646. * (PP) = NUMBER OF PP SELECTED.
  22647. *
  22648. * USES X - ALL.
  22649. * A - 1, 2, 3, 4, 5, 6, 7.
  22650. * B - 2, 3, 7.
  22651. *
  22652. * CALLS ASN, DXB, FPP.
  22653. *
  22654. * MACROS PRINT.
  22655.  
  22656.  
  22657. SPA9.1 SX7 1 SET PROGRAM FOUND
  22658. SA7 SPAA
  22659. SPA10 SA6 PP SET PPU NUMBER
  22660. SX1 1 SET PPU SELECTED
  22661.  
  22662. SPA SUBR
  22663. SA1 PI
  22664. NZ X1,SPA4 IF DUMPING ALL ACTIVE PPU-S
  22665.  
  22666. * SELECT NEXT PPU FROM DIRECTIVE CARD.
  22667.  
  22668. SA1 FI
  22669. NZ X1,SPA2 IF SEARCHING FOR NAMED PPUS
  22670. SPA1 SB7 0 SET OCTAL BASE
  22671. RJ ASN ASSEMBLE NEXT PP NUMBER
  22672. SX1 B6
  22673. ZR X1,SPAX IF END OF DIRECTIVE
  22674. BX7 X7-X7
  22675. SA6 SPAB STORE PP NUMBER/NAME
  22676. SA7 SPAA CLEAR NAMED PPU FOUND FLAG
  22677. BX5 X6
  22678. RJ DXB CONVERT NUMBER TO OCTAL
  22679. ZR X4,SPA10 IF NO CONVERSION ERROR
  22680.  
  22681. * SEARCH FOR NAMED PPU.
  22682.  
  22683. SPA2 SA4 SPAB READ NAME
  22684. MX2 18
  22685. BX2 -X2*X4
  22686. NZ X2,ERR49 IF NAME LONGER THAN 3 CHARACTERS
  22687. RJ FPP FIND PPU PROGRAM
  22688. NZ X1,SPA9.1 IF PPU FOUND
  22689. SA2 SPAA
  22690. NZ X2,SPA1 IF PROGRAM ALREADY FOUND AND DISPLAYED
  22691. SA1 SPAB GET PROGRAM NAME
  22692. EQ ERR50 *PROGRAM NOT FOUND - XXX*
  22693.  
  22694. * SELECT NEXT ACTIVE PPU.
  22695.  
  22696. SPA4 SA3 F.TCMT
  22697. SA2 PC GET PP COMMUNICATION AREA POINTER
  22698. SA4 NP NUMBER OF PPUS IN THE SYSTEM
  22699. SA5 IC
  22700. ZR X5,SPA4.1 IF NOT DUMPING CPP-S
  22701. LX4 3 SET CPP COMMUNICATION AREA POINTER
  22702. IX2 X4+X2
  22703. SA4 C4 NUMBER OF CPP COMMUNICATION AREAS
  22704. SPA4.1 SB2 X1 SET SEARCH INDEX
  22705. LX4 3
  22706. SB3 X4
  22707. SB3 B3+X2 LWA+1 OF COMMUNICATION AREA
  22708. GE B2,B3,SPA7 IF END OF SEARCH
  22709. SPA5 SA4 B2+X3 READ INPUT REGISTER
  22710. MX0 18
  22711. BX1 X0*X4
  22712. ZR X1,SPA6 IF PPU NOT ACTIVE
  22713. SA4 =3R***
  22714. LX1 18 CHECK FOR UNAVAILABLE PPU
  22715. BX6 X1-X4
  22716. NZ X6,SPA8 IF PPU AVAILABLE
  22717. SPA6 SB2 B2+10B ADVANCE SEARCH
  22718. LT B2,B3,SPA5 IF NOT END OF PPU-S
  22719. SPA7 MX1 0 SET END OF SEARCH
  22720. BX6 X1
  22721. SA6 A1+ CLEAR SEARCH INDEX
  22722. JP SPAX EXIT
  22723.  
  22724. SPA8 SX6 B2+ COMPUTE PPU NUMBER
  22725. IX6 X6-X2
  22726. AX6 3
  22727. SX7 X6-12B
  22728. NG X7,SPA9 IF NOT PPU-S 20-31
  22729. SX6 X6+20B-12B CORRECT PPU NUMBER
  22730. SPA9 SA6 PP STORE PPU NUMBER
  22731. SX6 B2+10B
  22732. SA6 A1 UPDATE SEARCH INDEX
  22733. SX1 B1 SET PPU FOUND
  22734. JP SPAX EXIT
  22735.  
  22736.  
  22737. SPAA CON 0 PROGRAM FOUND FLAG
  22738. SPAB BSS 1 PP NUMBER OR NAME READ FROM DIRECTIVE
  22739. SPD SPACE 4,15
  22740. ** SPD - SET UP PP/CPP/FLPP DUMP
  22741. *
  22742. * ENTRY (X6) = PP/CPP/FLPP NUMBER.
  22743. *
  22744. * EXIT DUMP FILE IS POSITIONED.
  22745. * SUBTITLE LINE PRINTED.
  22746. * PP OPERATING REGISTERS PRINTED, IF PRESENT.
  22747. *
  22748. * USES X - 1, 2, 3, 5, 6.
  22749. * A - 0, 1, 2, 6.
  22750. * B - 7.
  22751. *
  22752. * CALLS BPN, FPO, LDC, PDF, PPO, SFN, SLP, SSB.
  22753. *
  22754. * MACROS PRINT, SEARCH.
  22755.  
  22756.  
  22757. SPD SUBR ENTRY/EXIT
  22758. SA6 PP SAVE PP/CPP/FLPP NUMBER
  22759. RJ PPO PACK PP OPERATING REGISTERS
  22760. BX5 X6 SAVE REGISTERS NOT FOUND FLAG
  22761. RJ BPN BUILD PP NAME
  22762. SEARCH TDIR,X7,X0 FIND SELECTED PP
  22763. ZR X2,ERR7 IF NOT FOUND
  22764. SA2 A2+B1
  22765. BX6 X2
  22766. SA6 RI SET RANDOM INDEX
  22767. SA1 BPNA+1
  22768. RJ SFN SPACE FILL NAME
  22769. SA6 SBTL1 SET IN SUBTITLE
  22770. RJ LDC LIST DIRECTIVE CARD
  22771. SA0 SPDA+2 SET LOGICAL PP IN MESSAGE
  22772. RJ SLP
  22773. ZR X6,SPD1 IF NO PP SWITCH
  22774. PRINT (=2C )
  22775. PRINT SPDA PRINT LOGICAL PP NUMBER
  22776. PRINT (=2C )
  22777. SPD1 SX3 B0+
  22778. RJ PDF POSITION DUMP FILE
  22779. ZR X5,SPDX IF NO OPERATING REGISTERS FOUND
  22780. PRINT SPDB
  22781. SX5 0 INITIALIZE LINE COUNTER
  22782. SPD2 RJ SSB CLEAR PRINT STRING BUFFER
  22783. SB7 PRBF
  22784. RJ FPO FORMAT PP OPERATING REGISTERS
  22785. ZR X6,SPDX IF FINISHED DISPLAYING REGISTERS
  22786. PRINT CCCH,B7-CCCH
  22787. SX5 X5+1 INCREMENT LINE COUNTER
  22788. EQ SPD2 LOOP
  22789.  
  22790.  
  22791. SPDA DATA C* (LOGICAL PPXX)*
  22792. SPDB DATA C* P Q K A*
  22793. SPP SPACE 4,10
  22794. ** SPP - SET CYBER 170-8X5 PROCESSOR POINTERS.
  22795. *
  22796. * EXIT *S2MPS* - *S2JPS* PRESET.
  22797. *
  22798. * USES X - 1, 4, 5, 6, 7.
  22799. * A - 1, 5, 6.
  22800. * B - 6.
  22801. *
  22802. * CALLS RDR, SFR.
  22803.  
  22804.  
  22805. SPP2 SX5 0 READ PROCESSOR SUMMARY STATUS
  22806. RJ SFR SEARCH FOR REGISTER
  22807. NG X1,SPPX IF NOT FOUND
  22808. SA1 S2MPS
  22809. BX6 X1
  22810. LX7 59-63+58 C180 MONITOR MODE
  22811. SA1 A1+B1 GET JPS
  22812. SA6 A1+B1 SET S2LPS TO (S2MPS)
  22813. NG X7,SPPX IF PROCESSOR IN MONITOR MODE
  22814. BX6 X1
  22815. SA6 A6 SET S2LPS TO (S2JPS)
  22816.  
  22817. SPP SUBR ENTRY/EXIT
  22818. SA1 .PMR
  22819. RJ RDR LOCATE *PMR* RECORD
  22820. ZR X2,SPPX IF RECORD NOT FOUND
  22821. SA1 SPPB CPU NUMBER
  22822. ZR X1,SPP0 IF CPU 0
  22823. SA1 NR
  22824. ZR X1,ERR6 IF NO OTHER CPU RECORDS
  22825. RJ RDR POSITION TO NEXT CPU-S *PMR* RECORD
  22826. SPP0 SA5 SPPA START OF TABLE
  22827. SPP1 SB6 X5 ADDRESS TO SAVE REGISTER VALUE
  22828. ZR X5,SPP2 IF END OF REGISTER
  22829. AX5 30 REGISTER NUMBER
  22830. RJ SFR SEARCH FOR REGISTER
  22831. SA5 A5+B1
  22832. NG X1,SPP1 IF REGISTER NOT FOUND
  22833. MX4 -30
  22834. BX6 -X4*X7 USE LOWER 30 BITS OF REGISTER
  22835. SA6 B6
  22836. JP SPP1 SEARCH FOR NEXT REGISTER
  22837.  
  22838.  
  22839. SPPA BSS 0
  22840. VFD 30//IOU/PMPS,30/S2MPS MONITOR PROCESS POINTER
  22841. VFD 30//IOU/PSTL,30/S2STL SEGMENT TABLE LENGTH
  22842. VFD 30//IOU/PSTA,30/S2STA SEGMENT TABLE ADDRESS
  22843. VFD 30//IOU/PPTA,30/S2PTA PAGE TABLE ADDRESS
  22844. VFD 30//IOU/PPTL,30/S2PTL PAGE TABLE LENGTH
  22845. VFD 30//IOU/PPSM,30/S2PSM PAGE SIZE MASK
  22846. VFD 30//IOU/PJPS,30/S2JPS JOB PROCESS STATE POINTER
  22847. CON 0 END OF LIST
  22848. SPPB CON 0 CPU NUMBER
  22849. SPT SPACE 4,15
  22850. ** SPT - SEARCH CYBER 170-8X5 PAGE TABLE.
  22851. *
  22852. * ENTRY ((B2)) = 12/0, 16/ASID, 32/BYTE OFFSET
  22853. *
  22854. * EXIT (BRMA) = REAL MEMORY ADDRESS.
  22855. * (X2) = 0, IF PAGE ENTRY FOUND.
  22856. * (X3) < 0, IF PAGE ENTRY IS VALID.
  22857. * (A3) = *PTEVCUM*.
  22858. *
  22859. * USES X - 1, 2, 3, 4, 5, 6, 7.
  22860. * A - 1, 2, 3, 6, 7.
  22861. * B - 2, 3.
  22862. *
  22863. * CALLS NPE.
  22864.  
  22865.  
  22866. SPT SUBR ENTRY/EXIT
  22867. SA2 B2 GET SVA (ASID AND BYTE OFFSET)
  22868. SA5 XM PAGE SIZE MASK
  22869. MX3 -32
  22870. BX6 -X3*X2 ISOLATE BYTE OFFSET
  22871. SA6 BRMA
  22872. AX2 32
  22873. ZR X2,SPTX IF NO ASID SPECIFIED
  22874. CX7 X5
  22875. SB3 X7
  22876. AX4 X6,B3 EXTRACT INFORMATION FOR HASH
  22877. MX3 -6 GET RIGHTMOST SIX BITS FOR EXPANDED OFFSET
  22878. BX5 -X3*X4
  22879. BX7 -X5*X6 EXTRACT PAGE NUMBER
  22880. AX7 9
  22881. BX4 X2-X4
  22882. LX2 22
  22883. BX7 X2+X7 CREATE SVA
  22884. BX6 X6*X5
  22885. AX2 22+10 GET LEFTMOST SIX BITS OF ASID FOR OFFSET
  22886. SA7 SPTA SAVE PAGE NUMBER + ASID
  22887. SA6 A7+B1
  22888. BX5 X5-X2
  22889. LX5 16 POSITION EXPANDED OFFSET FIELD
  22890. BX4 X4+X5
  22891. LX4 4
  22892. SPT1 RJ NPE FETCH NEXT PAGE ENTRY
  22893. SA2 SPTA SVA OF PAGE TO FIND
  22894. MX4 -22
  22895. BX6 -X4*X5 EXTRACT RMA OF PAGE
  22896. BX5 X4*X5
  22897. LX5 -22
  22898. BX2 X2-X5 COMPARE SVA-S
  22899. LX6 9
  22900. SA1 A2+B1 BYTE OFFSET INTO PAGE
  22901. BX6 X6+X1 RMA OF PAGE
  22902. SA6 BRMA
  22903. ZR X2,SPTX IF PAGE FOUND
  22904. LX4 X3,B1
  22905. SX3 B0
  22906. NG X4,SPT1 IF CONTINUE BIT IS SET
  22907. JP SPTX RETURN WITH PAGE NOT FOUND
  22908.  
  22909. SPTA CON 0
  22910. SPTB CON 0
  22911. SRA SPACE 4,11
  22912. ** SRA - SET REFERENCE ADDRESS.
  22913. *
  22914. * ENTRY X6 = NEW REFERENCE ADDRESS.
  22915. *
  22916. * EXIT X6 = SBTL = REFERENCE ADDRESS FOR SUBTITLE.
  22917. *
  22918. * SAVES X - NONE.
  22919. * B - 1.
  22920. * A - 0.
  22921. *
  22922. * CALLS COD.
  22923.  
  22924.  
  22925. SRA SUBR
  22926. SA6 BA SET NEW REFERENCE ADDRESS
  22927. SA1 =10000000B
  22928. IX1 X1+X6 GUARANTEE LEADING ZEROS
  22929. RJ COD CONVERT TO DISPLAY CODE
  22930. MX0 42
  22931. SA1 =3R
  22932. LX4 6 DISCARD LEADING DIGIT
  22933. BX6 X0*X4 EXTRACT RA
  22934. BX6 X1+X6 SPACEFILL
  22935. LX6 -6
  22936. SA6 SBTL STORE IN SUBTITLE
  22937. JP SRAX EXIT
  22938. SRD SPACE 4,16
  22939. ** SRD - SUPPRESS REPEATED DATA.
  22940. *
  22941. * ENTRY B5 = NUMBER OF WORDS TO CHECK, MAXIMUM = 20B.
  22942. * X1 = DATA ADDRESS.
  22943. * SRDA = MINUS, IF FIRST CALL.
  22944. * = ZERO, PRINT DASHES IF REPEAT SENSED.
  22945. * = NON-ZERO IF DASHES HAVE BEEN PRINTED,
  22946. * EXIT IF REPEAT SENSED.
  22947. *
  22948. * EXIT X1.NE.0 IF REPEAT SENSED.
  22949. *
  22950. * SAVES X - NONE.
  22951. * B - 1.
  22952. * A - 0.
  22953. *
  22954. * CALLS MVE=,WOF.
  22955.  
  22956.  
  22957. SRD SUBR
  22958. SA3 SRDA
  22959. NG X3,SRD3 IF FIRST CALL
  22960.  
  22961. * COMPARE DATA WITH DATA FROM LAST CALL.
  22962.  
  22963. SB2 0
  22964. SRD1 SA2 X1+B2 READ DATA WORD
  22965. SA3 SRDB+B2
  22966. BX3 X2-X3
  22967. ZR X3,SRD2 IF DATA IS SAME OR IS LOGICAL OPPOSITE
  22968. JP SRD3
  22969.  
  22970. SRD2 NG X3,SRD3 IF DATA IS LOGICAL OPPOSITE
  22971. SB2 B2+1
  22972. NE B2,B5,SRD1 IF MORE DATA TO CHECK
  22973.  
  22974. * PROCESS REPEATED DATA.
  22975.  
  22976. SA2 SRDA
  22977. SX1 B1
  22978. NZ X2,SRDX IF DASHES ALREADY PRINTED
  22979. SX6 B1
  22980. SA6 A2+ SET REPEAT IN PROCESS FLAG
  22981. PRINT SRDC PRINT DASHES
  22982. SX1 B1 SET REPEAT PROCESSED
  22983. JP SRDX EXIT
  22984.  
  22985. * SAVE CURRENT BLOCK TO COMPARE WITH NEXT.
  22986.  
  22987. SRD3 MX6 0
  22988. SA6 SRDA CLEAR REPEAT FLAG
  22989. BX2 X1 SET DATA ADDRESS
  22990. MOVE B5,X2,SRDB
  22991. SX1 0 SET NO REPEAT SENSED
  22992. JP SRDX EXIT
  22993.  
  22994. SRDA BSS 1 REPEAT PROCESSING FLAG
  22995. SRDB BSS 20B PREVIOUS DATA BLOCK BUFFER
  22996. SRDC DATA 50H -------------------------------------------------
  22997. DATA 50H--------------------------------------------------
  22998. DATA 36C------------------------------------
  22999. SSB SPACE 4,7
  23000. ** SSB - SPACEFILL STRING BUFFER.
  23001. *
  23002. * USES B - 6, 7.
  23003. *
  23004. * CALLS SBL.
  23005.  
  23006.  
  23007. SSB SUBR
  23008. SB6 136
  23009. SB7 PRBF
  23010. RJ SBL STORE BLANKS
  23011. JP SSBX EXIT
  23012. SVA SPACE 4,10
  23013. ** SVA - GET ASID FROM SEGMENT TABLE OF XP.
  23014. *
  23015. * ENTRY ((B2)+0) = PVA.
  23016. * ((B2)+1) = EXCHANGE PACKAGE ADDRESS.
  23017. *
  23018. * EXIT (X6) = SVA.
  23019. * (X1) = SVA.
  23020. *
  23021. * USES A - 1, 2, 6.
  23022. * X - 1, 2, 6, 7.
  23023. * B - 2.
  23024. *
  23025. * CALLS NXB, PVM.
  23026.  
  23027.  
  23028. SVA SUBR ENTRY/EXIT
  23029. SA1 B2 GET SEGMENT NUMBER
  23030. SA2 B2+B1 GET EXCH PACKAGE ADDRESS
  23031. MX6 -32
  23032. BX7 -X6*X2
  23033. BX6 -X6*X1
  23034. SA6 SVAA SAVE BYTE OFFSET
  23035. AX2 32
  23036. AX1 32
  23037. IX6 X2-X1
  23038. NG X6,ERR44 IF BAD SEGMENT NUMBER
  23039. LX1 3
  23040. IX6 X7+X1 RMA OF SEGMENT DESCRIPTOR
  23041. RJ PVM POSITION VIRTUAL MEMORY
  23042. NZ X2,ERR30 IF PAGE NOT FOUND
  23043. RJ NXB GET NEXT BYTE
  23044. BX6 X1
  23045. SA6 STSDE SEGMENT TABLE DESCRIPTOR ENTRY
  23046. LX1 59-15
  23047. PL X1,ERR44 IF VALID BIT NOT SET FOR SEGMENT
  23048. RJ NXB GET ASID
  23049. SA2 SVAA GET BYTE OFFSET
  23050. ZR X1,ERR44 IF ASID IS ZERO
  23051. LX1 32
  23052. BX6 X1+X2 FORM SVA
  23053. BX1 X6
  23054. JP SVAX RETURN
  23055.  
  23056. SVAA DATA 0 BYTE OFFSET
  23057. SXH SPACE 4,14
  23058. ** SXH - SET PPU XP HEADING IN PRINT STRING.
  23059. *
  23060. * ENTRY (B7) = PRINT STRING ADDRESS.
  23061. * (PP) = NUMBER OF LAST PP PROCESSED.
  23062. * (CPRA) = CURRENT XP ADDRESS.
  23063. *
  23064. * EXIT (X1) = 0 IF NO MORE TO PROCESS.
  23065. * PP, CPRA, AND B7 ARE UPDATED.
  23066. *
  23067. * USES X - 1, 2, 3, 4, 6, 7.
  23068. * A - 1, 2, 4, 6, 7.
  23069. * B - 6, 7.
  23070. *
  23071. * CALLS BPN, CTS, SBL, UPS.
  23072.  
  23073.  
  23074. SXH SUBR
  23075. SA1 PP
  23076. SA2 AC
  23077. BX3 X2
  23078. SA4 C4
  23079. IX2 X2+X4 ADD CPP-S
  23080. SX6 X1+B1 ADVANCE PPU NUMBER
  23081. IX1 X6-X2
  23082. ZR X1,SXHX IF NO MORE TO PROCESS
  23083. SX4 X6+ SAVE PPU NUMBER
  23084. SX7 X6-10
  23085. NG X7,SXH4 IF NOT UPPER 10 PPUS
  23086. SX3 X3-11
  23087. PL X3,SXH1 IF 20 PPU SYSTEM
  23088. SX6 X6+10 ADJUST FOR 10 PPU SYSTEM
  23089. EQ SXH2 PROCESS *CPP-S*
  23090.  
  23091. SXH1 SX7 X7-12B
  23092. NG X7,SXH3 IF NOT A *CPP*
  23093. SXH2 SX7 1
  23094. SA7 IC
  23095. SX6 X6-20-6 ADJUST FOR *CPP-S*
  23096. SXH3 SX6 X6+6 ADJUST FOR PP 20 - 30
  23097. SXH4 SA6 A1+ UPDATE PPU NUMBER
  23098. RJ BPN BUILD PPU NAME
  23099. SX6 X4+ RESET PPU NUMBER
  23100. SA6 PP
  23101. SA1 CPRA
  23102. SB6 5
  23103. SX6 X1+21B
  23104. SA6 A1 UPDATE XP ADDRESS
  23105. LX1 -15
  23106. RJ CTS CONVERT XP ADDRESS
  23107. SX6 1R
  23108. SX7 1R-
  23109. SA6 B7
  23110. SB7 B7+B1
  23111. SA7 B7
  23112. SB7 B7+B1
  23113. SA6 B7
  23114. SB7 B7+B1
  23115. SA2 BPNA+1 READ PP NAME
  23116. SB6 5
  23117. RJ UPS
  23118. SA2 =10H XP
  23119. SB6 3
  23120. RJ UPS
  23121. SB6 32
  23122. RJ SBL
  23123. SX1 1
  23124. JP SXHX EXIT
  23125. TOV SPACE 4,14
  23126. ** TOV - PROCESS MANAGED TABLE OVERFLOW.
  23127. *
  23128. * ENTRY (B5) = -(NUMBER OF WORDS NEEDED).
  23129. * (B6) = RETURN ADDRESS.
  23130. * (FM) = CURRENT FIELD LENGTH.
  23131. * (F.TEND) = CURRENT END OF TABLE SPACE.
  23132. *
  23133. * EXIT FM, F.TEND ARE UPDATED.
  23134. *
  23135. * USES X - 0, 1, 6, 7.
  23136. * A - 1, 6, 7.
  23137. *
  23138. * MACROS MEMORY.
  23139.  
  23140.  
  23141. TOV SX6 -B5 NUMBER OF WORDS NEEDED
  23142. SX6 X6+1010B ROUND UP TO NEXT 1000 WORDS
  23143. MX0 -9
  23144. BX6 X0*X6
  23145. SA1 FM READ CURRENT FIELD LENGTH
  23146. IX7 X1+X6
  23147. ZR X6,ERR19 IF (B5) DESTROYED
  23148. SX6 X7-10B
  23149. SA7 A1 UPDATE CURRENT FIELD LENGTH
  23150. LX7 30
  23151. SA6 F.TEND UPDATE END OF TABLE SPACE POINTER
  23152. SA7 TOVA SET RFL REQUEST WORD
  23153. MEMORY CM,TOVA,R
  23154. JP B6 RETURN TO TABLE ALLOCATOR
  23155.  
  23156.  
  23157. TOVA BSS 1 RFL PARAMETER
  23158. TPF SPACE 4,15
  23159. ** TPF - CYBER 180-990 PROCESSOR FILE.
  23160. *
  23161. * ENTRY ONLY IF ON A CYBER 180-990.
  23162. *
  23163. * EXIT DIRECTIVE PRORF PROCESSED; RECORDS PRF, PRG, AND
  23164. * PRH DISPLAYED.
  23165. *
  23166. * USES X - 0, 1, 2, 3, 5, 6, 7.
  23167. * A - 0, 1, 2, 3, 5, 6, 7.
  23168. * B - 3, 6, 7.
  23169. *
  23170. * CALLS CDD, CEP, DHR, FBP, FPR, HTS, LDC, NXB, SSB, UPS.
  23171. *
  23172. * MACROS PRINT.
  23173.  
  23174.  
  23175. TPF17 SA1 NR
  23176. NZ X1,TPF1 IF MORE RECORDS TO DISPLAY
  23177.  
  23178. TPF SUBR ENTRY/EXIT
  23179. RJ CEP CHECK FOR EXTRANEOUS PARAMETERS
  23180. TPF1 RJ LDC LIST DIRECTIVE CARD
  23181. SA5 TPFA INITIALIZE RECORD TABLE POINTER
  23182. SX6 1 DISPLAY RADIAL MCI
  23183.  
  23184. * GET NEXT RECORD.
  23185.  
  23186. TPF2 SA1 A5 SET/CLEAR RECORD POINTER
  23187. MX0 18
  23188. BX7 X1
  23189. SA7 NR
  23190. SA1 A5+TPFE-TPFA GET RECORD ID
  23191. BX1 X0*X1
  23192. RJ FPR FIND PROCESSOR RECORD
  23193. ZR X2,ERR14 IF RECORD ID NOT IN DIRECTORY
  23194. SA1 NR SAVE POINTER TO SECOND RECORD
  23195. BX6 X1
  23196. SA6 A5
  23197. SA5 A5+B1 ADVANCE RECORD POINTER
  23198. SX3 B0
  23199. RJ FBP POSITION DUMP FILE
  23200. PRINT (=2C )
  23201. SA1 A5+TPFE-1-TPFA
  23202. RJ SSB SPACE FILL STRING BUFFER
  23203. SB3 X1
  23204. JP B3 PROCESS RECORD
  23205.  
  23206. * PROCESS *PRF* RECORD.
  23207.  
  23208. TPF3 PRINT (=C* IDU CURRENT INSTRUCTION REGISTER*)
  23209. SX6 -8
  23210. SA6 FW
  23211. TPF4 SX6 X6+8+1R0 DISPLAY REGISTER NUMBER
  23212. SA6 PRBF+5
  23213. SB7 PRBF+9
  23214. RJ DHR DISPLAY REGISTER
  23215. SA1 FW INCREMENT REGISTER NUMBER
  23216. SX6 X1+B1
  23217. SA6 A1
  23218. NZ X6,TPF4 IF NOT THROUGH WITH FIRST SEVEN WORDS
  23219.  
  23220. * PRINT NEXT HEADER.
  23221.  
  23222. RJ SSB
  23223. PRINT (=2C )
  23224. PRINT (=C* EXECUTING WORDS OF SOFT CONTROL MEMORIES*)
  23225.  
  23226. * PRINT NEXT 13 WORDS FROM PRF FILE.
  23227.  
  23228. TPF5 SA1 FW
  23229. SX6 X1+B1
  23230. SA6 A1
  23231. SA2 TPFB+X1 GET DESCRIPTOR
  23232. ZR X2,TPF6 IF AT END OF TABLE
  23233. SB7 PRBF
  23234. SB6 7+2
  23235. RJ UPS
  23236. RJ DHR DISPLAY REGISTER
  23237. JP TPF5 CHECK NEXT WORD
  23238.  
  23239. * PRINT NEXT HEADER.
  23240.  
  23241. TPF6 RJ SSB
  23242. PRINT (=2C )
  23243. PRINT (=C* ERROR INFORMATION TABLE *)
  23244.  
  23245. * PRINT NEXT 16 WORDS FROM PRF FILE.
  23246.  
  23247. SA0 16
  23248. TPF7 SX6 A0
  23249. BX6 -X6
  23250. SA6 FW
  23251. TPF8 SB7 PRBF+4
  23252. SB6 2
  23253. SX1 A0
  23254. IX1 X1+X6
  23255. RJ CDD
  23256. BX2 X6
  23257. LX2 59-11
  23258. RJ UPS
  23259. SB7 B7+3
  23260. RJ DHR DISPLAY REGISTER
  23261. SA1 FW
  23262. SX6 X1+B1
  23263. SA6 A1
  23264. NG X6,TPF8 IF MORE WORDS TO DISPLAY
  23265. EQ TPF2 GET NEXT RECORD
  23266.  
  23267. * PROCESS INSTRUCTION BUFFER STACK (*PIS*) RECORD.
  23268.  
  23269. TPF9 PRINT (=C* INSTRUCTION BUFFER STACK*)
  23270. SA0 64
  23271. EQ TPF7 DISPLAY RECORD
  23272.  
  23273. * PROCESS PROCESSOR REGISTER UNIT (*PRG*) RECORD.
  23274.  
  23275. TPF10 PRINT (=C* REGISTER UNIT*)
  23276. SX6 B0
  23277. SA6 FW INITIALIZE DIGIT
  23278. SA6 A6+B1 INITIALIZE DESCRIPTOR SHIFT COUNT
  23279. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  23280. TPF11 SA1 LW GET SHIFT COUNT
  23281. SA2 TPFC GET DESCRIPTOR
  23282. SB3 X1
  23283. LX2 B3 POSITION DESCRIPTOR
  23284. SB6 B1+B1
  23285. SA1 A1-B1 GET DIGIT
  23286. SB7 PRBF+3
  23287. RJ UPS
  23288. LX1 59-3
  23289. SB6 B1
  23290. RJ HTS
  23291. SB7 B7+3
  23292. RJ DHR DISPLAY REGISTER
  23293. SA1 FW INCREMENT DIGIT
  23294. SX6 X1+B1
  23295. SA6 A1
  23296. SX7 X6-16
  23297. NZ X7,TPF11 IF LAST DIGIT .LE. F (HEX)
  23298. SA1 A1+B1 INCREMENT SHIFT COUNT
  23299. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  23300. SX6 X1+12
  23301. SA6 A1
  23302. SX6 X6-48
  23303. ZR X6,TPF2 IF END OF REGISTERS
  23304. SX2 X6+24
  23305. SX6 8 SET FIRST DIGIT FOR *SA* OR *SX* REGISTERS
  23306. SA6 FW
  23307. NZ X2,TPF11 IF NOT *X* REGISTERS NEXT
  23308. SA7 A6
  23309. JP TPF11 CHECK NEXT WORD
  23310.  
  23311. * PROCESS PROCESSOR HISTORY FILE (*PRH*) RECORD.
  23312.  
  23313. TPF12 PRINT (=C* HISTORY FILE*)
  23314. SX6 B0
  23315. SA6 LW REGISTER NUMBER
  23316. SA6 A6-B1 TABLE POINTER
  23317. TPF13 SA2 FW
  23318. SX7 X2-3
  23319. NZ X7,TPF15 IF NOT END OF REGISTER
  23320. SA2 A2+B1 REGISTER NUMBER
  23321. ERRNZ LW-FW-1 CODE REQUIRES CONTIGUOUS WORDS
  23322. SX6 X2+B1 INCREMENT REGISTER NUMBER
  23323. SX3 X2-15
  23324. ZR X3,TPF17 IF END OF TABLE
  23325. SA6 A2
  23326. SA7 A6-B1 RESET TABLE POINTER
  23327. SB6 6
  23328. TPF14 RJ NXB SKIP 6*16 BITS OF ZEROS
  23329. SB6 B6-B1
  23330. NZ B6,TPF14 IF NOT THROUGH SKIPPING
  23331. TPF15 SA1 LW REGISTER NUMBER
  23332. SB7 PRBF
  23333. SB6 B1
  23334. LX1 59-3
  23335. RJ HTS HEX TO STRING
  23336. SA1 FW TABLE POINTER
  23337. SA2 TPFD+X1
  23338. SX6 X1+B1 INCREMENT POINTER
  23339. SA6 A1
  23340. SB7 PRBF+3
  23341. SB6 5+2
  23342. RJ UPS
  23343. SX5 3
  23344. NZ X1,TPF16 IF *A* OR *P* REGISTER
  23345. SX5 4
  23346. TPF16 SB7 B7+2
  23347. RJ NXB
  23348. SB6 4
  23349. LX1 59-15
  23350. SX5 X5-1
  23351. RJ HTS
  23352. NZ X5,TPF16 IF MORE REGISTER DATA TO DISPLAY
  23353. PRINT CCCH,B7-CCCH+1
  23354. JP TPF13 READ NEXT WORD IN TABLE
  23355.  
  23356.  
  23357. TPFA CON 0 SECOND *PRF* POINTER
  23358. CON 0 SECOND *PIS* POINTER
  23359. CON 0 SECOND *PRG* POINTER
  23360. CON 0 SECOND *PRH* POINTER
  23361. TPFB DATA C*ACU M2 *
  23362. DATA C*ACU M3 *
  23363. DATA C*ACU M4 *
  23364. DATA C*BDP *
  23365. DATA C* *
  23366. DATA C*EPN SCM*
  23367. DATA C*EPN ETM*
  23368. DATA C*IDU CS *
  23369. DATA C* *
  23370. DATA C*INU MAP*
  23371. DATA C*INU IBS*
  23372. DATA C*LSU *
  23373. DATA C*SVA BN *
  23374. CON 0
  23375. TPFC DATA C* ASA XSX*
  23376. TPFD DATA C*X-REG*
  23377. DATA C*A-REG*
  23378. DATA C*P, N *
  23379. CON 0
  23380. TPFE VFD 18/3LPRF,24/0,18/TPF3
  23381. VFD 18/3LPIS,24/0,18/TPF9
  23382. VFD 18/3LPRG,24/0,18/TPF10
  23383. VFD 18/3LPRH,24/0,18/TPF12
  23384. TRT SPACE 4,15
  23385. ** TRT - DUMP TRACK RESERVATION TABLE.
  23386. *
  23387. * ENTRY (BUF) = MST WORDS.
  23388. *
  23389. * EXIT BUF CONTAINS MST AND TRT.
  23390. *
  23391. * USES X - 1, 2, 3, 6, 7.
  23392. * A - 1, 2, 6, 7.
  23393. * B - 2, 5, 6, 7.
  23394. *
  23395. * CALLS CTS, FDW, POM, P4F, SDI, SRD, SSB.
  23396. *
  23397. * MACROS GETCM, PRINT.
  23398.  
  23399.  
  23400. TRT SUBR
  23401. PRINT (=2C )
  23402. PRINT (=C* TRACK RESERVATION TABLE*)
  23403. PRINT (=2C )
  23404. SA1 BUF+TRLL SET FWA OF TRT
  23405. SX6 X1
  23406. SA6 CPRA
  23407. SA6 FW
  23408. SB2 A6
  23409. RJ POM POSITION TO TRT
  23410. SA1 BUF+TDGL SET TRT LENGTH
  23411. MX7 -12
  23412. AX1 24
  23413. BX7 -X7*X1
  23414. SA7 LW SET TRT LWA+1
  23415. GETCM BUF+MSTXL,X7 READ TRT INTO *BUF*
  23416. MX7 1
  23417. SA7 SRDA PRESET FIRST CALL TO *SRD*
  23418. SX6 B0
  23419. SA6 TRTA CLEAR LINK ORDINAL
  23420. SA6 TRTB CLEAR DATA WORD ORDINAL
  23421. SA6 SRDC+7 STOP DASHES AFTER 70 CHARACTERS
  23422. RJ SSB CLEAR PRINT STRING
  23423. TRT1 SA1 TRTB SET DATA ADDRESS
  23424. SX1 X1+BUF+MSTXL
  23425. SB5 1 SET WORD COUNT
  23426. RJ SRD SENSE REPEAT DATA
  23427. NZ X1,TRT2 IF REPEAT SENSED
  23428. SA1 FW GET TRT ADDRESS
  23429. SA2 TRTB
  23430. IX1 X1+X2
  23431. LX1 -18
  23432. SB6 6
  23433. SB7 PRBF
  23434. RJ CTS CONVERT TRT ADDRESS
  23435. SB7 B7+B1
  23436. SX6 1R+
  23437. SA6 B7
  23438. SB7 B7+B1
  23439. SA1 TRTA LINK ORDINAL
  23440. LX1 -12
  23441. SB6 4
  23442. RJ CTS CONVERT LINK ORDINAL
  23443. SB7 B7+2
  23444. SA2 =4000005B
  23445. SA1 TRTB READ TRT DATA WORD
  23446. SA1 X1+BUF+MSTXL
  23447. RJ FDW FORMAT DATA WORD
  23448. SB7 B7+B1
  23449. LX1 -12
  23450. RJ P4F LIST FIRST TRACK DIRECT FILE FLAGS
  23451. SB7 B7+1
  23452. RJ P4F LIST INTERLOCK FLAGS
  23453. SB7 B7+1
  23454. RJ P4F LIST RESERVATION FLAGS
  23455. SA2 TRTB RE-READ DATA WORD
  23456. SA2 X2+BUF+MSTXL
  23457. SB7 B7+2
  23458. SB6 10
  23459. RJ SDI SET DISPLAY CODE INTERPRETATION
  23460. PRINT CCCH,B7-CCCH
  23461. TRT2 SA1 TRTA
  23462. SX6 X1+4
  23463. SA6 A1+ UPDATE TRACK ORDINAL
  23464. SA1 TRTB
  23465. SX6 X1+B1
  23466. SA6 A1+ UPDATE TRT ADDRESS
  23467. SA2 LW
  23468. IX3 X6-X2
  23469. NG X3,TRT1 IF MORE TO DUMP
  23470. SA1 SRDC+1
  23471. BX6 X1
  23472. SA6 SRDC+7 PRESET DASHES FOR 136 CHARACTERS
  23473. JP TRTX EXIT
  23474.  
  23475. TRTA BSS 1 TRACK LINK ORDINAL
  23476. TRTB BSS 1 TRT DATA WORD ORDINAL
  23477. UCS SPACE 4,15
  23478. ** UCS - UNPACK CHARACTER STRING.
  23479. * STRING IS DELIMITED BY 00 CHARACTER.
  23480. *
  23481. * ENTRY (A2) = FWA OF PACKED DATA.
  23482. * (X2) = FIRST WORD OF PACKED DATA.
  23483. * (B7) = FWA OF STRING BUFFER.
  23484. *
  23485. * EXIT (A2) = UPDATED.
  23486. * (B7) = UPDATED.
  23487. *
  23488. * USES X - 0, 2, 6.
  23489. * B - 5, 7.
  23490. * A - 2, 6.
  23491.  
  23492.  
  23493. UCS SUBR ENTRY/EXIT
  23494. UCS1 SX0 77B CHARACTER MASK
  23495. SB5 10 CHARACTER COUNT
  23496. UCS2 LX2 6
  23497. BX6 X0*X2
  23498. ZR X6,UCSX IF DELIMITER
  23499. SB5 B5-B1
  23500. SA6 B7 STORE CHARACTER
  23501. SB7 B7+B1 ADVANCE OUTPUT STRING POINTER
  23502. NZ B5,UCS2 IF MORE CHARACTERS IN THIS WORD
  23503. SA2 A2+1 READ NEXT WORD OF PACKED DATA
  23504. EQ UCS1 CONTINUE UNPACKING CHARACTER STRING
  23505. UPS SPACE 4,13
  23506. ** UPS - UNPACK CHARACTERS TO STRING BUFFER.
  23507. * COLONS ARE REPLACED WITH SPACES.
  23508. *
  23509. * ENTRY A2 = FWA OF PACKED BUFFER.
  23510. * X2 = FIRST WORD OF PACKED DATA.
  23511. * B6 = NUMBER OF CHARACTERS TO UNPACK.
  23512. * B7 = FWA OF STRING BUFFER.
  23513. *
  23514. * EXIT A2 AND B7 ARE UPDATED.
  23515. *
  23516. * USES X - 0,2,6.
  23517. * B - 5,6,7.
  23518. * A - 2,6.
  23519.  
  23520.  
  23521. UPS SUBR
  23522. UPS1 SX0 77B CHARACTER MASK
  23523. SB5 10 CHARACTER COUNTER
  23524. UPS2 LX2 6
  23525. BX6 X0*X2
  23526. SB6 B6-B1 DECREASE COUNT
  23527. SB5 B5-B1
  23528. NZ X6,UPS3 IF NOT COLON CODE
  23529. SX6 1R REPLACE COLON WITH SPACE
  23530. UPS3 SA6 B7 STORE CHARACTER
  23531. SB7 B7+B1 ADVANCE OUTPUT STRING POINTER
  23532. ZR B6,UPSX IF NO MORE CHARACTERS TO UNPACK
  23533. NZ B5,UPS2 IF MORE CHARACTERS IN THIS WORD
  23534. SA2 A2+1 READ NEXT WORD OF PACKED DATA
  23535. EQ UPS1 CONTINUE
  23536. UPW SPACE 4,15
  23537. ** UPW - UNPACK 60 BIT WORDS FROM 64 BIT WORDS.
  23538. *
  23539. * ENTRY FILE POSITIONED AT NEXT 16 WORD BLOCK.
  23540. *
  23541. * EXIT UBUF FILLED WITH 60 BIT WORDS.
  23542. * (X1) = FILE STATUS.
  23543. *
  23544. * USES X - 2, 3, 6, 7.
  23545. * A - 3, 6.
  23546. * B - 2.
  23547. *
  23548. * MACROS READW.
  23549.  
  23550.  
  23551. UPW SUBR ENTRY/EXIT
  23552. READW S,UBUF,16
  23553. SB2 B0
  23554. MX2 4
  23555. SA3 UBUF
  23556. UPW1 BX6 -X2*X3
  23557. SA3 A3+B1 GET SECOND PART OF WORD
  23558. BX7 X2*X3
  23559. BX6 X6+X7 FORM 60-BIT WORD
  23560. SB2 B2+4
  23561. LX6 B2
  23562. SA6 A3
  23563. ZR X2,UPWX IF BLOCK UNPACKED
  23564. AX2 4
  23565. EQ UPW1 EXTRACT NEXT 60-BIT WORD
  23566. VOL SPACE 4,10
  23567. ** VOL - CHECK RECORD FOR TAPE VOLUME HEADER.
  23568. *
  23569. * ENTRY FROM *DRT*.
  23570. *
  23571. * EXIT TO *OTH* IF NOT FIRST RECORD.
  23572. * TO ERR46 IF FIRST RECORD.
  23573.  
  23574. VOL BSS 0
  23575. SA1 L.TDIR
  23576. NZ X1,OTH IF NOT FIRST RECORD
  23577. EQ ERR46 DISPLAY MESSAGE AND ABORT
  23578. WBS SPACE 4,15
  23579. ** WBS - WRITE BLOCK TO FILE *S*.
  23580. *
  23581. * ENTRY (BWCS) = NUMBER OF WORDS TO WRITE.
  23582. *
  23583. * EXIT (RWCS) = UPDATED.
  23584. *
  23585. * USES A - 1, 5, 6.
  23586. * X - 1, 5, 6.
  23587. *
  23588. * MACROS WRITEW.
  23589.  
  23590.  
  23591. WBS SUBR ENTRY/EXIT
  23592. SA5 BWCS WORD COUNT
  23593. WRITEW S,BUF,X5 WRITE BLOCK
  23594. SA1 RWCS UPDATE RECORD SIZE
  23595. IX6 X1+X5
  23596. SA6 A1
  23597. EQ WBSX RETURN
  23598.  
  23599.  
  23600. BWCS CON 0 BLOCK WORD COUNT
  23601. RWCS CON 0 RECORD WORD COUNT
  23602. WOF SPACE 4,12
  23603. ** WOF - WRITE LINE TO OUTPUT.
  23604. *
  23605. * ENTRY X1 = FWA OF LINE.
  23606. * X2 = WORD COUNT IF LINE IS IN *S* FORMAT.
  23607. * = 0 IF LINE IS IN *C* FORMAT.
  23608. * CCCH = CARRIAGE CONTROL CHARACTER RIGHT JUSTIFIED.
  23609. *
  23610. * SAVES X - 0,5.
  23611. * B - NONE.
  23612. * A - 0,5.
  23613. *
  23614. * CALLS CDD.
  23615. *
  23616. * MACROS CLOCK, WRITEC, WRITES, WRITEW.
  23617.  
  23618.  
  23619. WOF SUBR
  23620. SA3 TF CHECK FOR TERMINAL OUTPUT
  23621. ZR X3,WOF1 IF NOT TO TERMINAL
  23622. ZR X2,WOF3 IF *C* FORMAT
  23623. SB7 X2 CHARACTER COUNT
  23624. SA2 OF
  23625. WRITES X2,X1,B7
  23626. SX6 1R
  23627. SA6 CCCH
  23628. EQ WOFX RETURN
  23629.  
  23630. WOF1 SA3 LC ADVANCE LINE COUNT
  23631. SX6 X3+B1
  23632. SA6 A3
  23633. SA4 PD NUMBER OF LINES PER PAGE
  23634. IX7 X3-X4
  23635. NG X7,WOF2 IF BOTTOM OF PAGE NOT REACHED
  23636. BX6 X1 SAVE REQUEST
  23637. LX7 X2
  23638. SA6 WOFA
  23639. SA7 A6+1
  23640. SA1 PN ADVANCE PAGE NUMBER
  23641. SX6 B1 RESET LINE COUNT
  23642. SX7 X1+B1
  23643. SA6 A3
  23644. SA7 A1
  23645. RJ CDD CONVERT PAGE NUMBER
  23646. MX1 -12
  23647. LX6 4*6 STORE PAGE NUMBER
  23648. BX6 X1*X6
  23649. SA6 PAGE
  23650. CLOCK TIMM
  23651. SA2 OF
  23652. WRITEW X2,TITL,TITLL
  23653. WRITEW X2,SBTL,SBTLL
  23654. SA1 WOFA RESTORE REQUEST
  23655. SA2 A1+1
  23656. WOF2 NZ X2,WOF4 IF *S* FORMAT
  23657. SA2 CCCH CARRIAGE CONTROL CHARACTER
  23658. SA3 X1 READ FIRST WORD OF OUTPUT LINE
  23659. MX4 6
  23660. BX6 -X4*X3
  23661. LX2 -6
  23662. BX6 X6+X2 MERGE CARRIAGE CONTROL CHARACTER
  23663. SA6 X1+ UPDATE OUTPUT LINE
  23664. WOF3 SA2 OF
  23665. WRITEC X2,X1
  23666. JP WOFX EXIT
  23667.  
  23668. WOF4 SB7 X2
  23669. SA2 OF
  23670. WRITES X2,X1,B7
  23671. JP WOFX EXIT
  23672.  
  23673. WOFA DATA 0,0
  23674. XPH SPACE 4,13
  23675. ** XPH - SET XP DIRECTIVE HEADER.
  23676. *
  23677. * ENTRY X5 = CURRENT CPU DIRECTORY WORD.
  23678. * A5 = ADDRESS OF CURRENT CPU DIRECTORY WORD.
  23679. * A0 = ADDRESS OF WHERE TO STORE EXCHANGE PACKAGE.
  23680. * B7 = PRINT STRING ADDRESS.
  23681. *
  23682. * EXIT X6 = CPU ON/OFF FLAG.
  23683. * A5 IS UPDATED TO RANDOM INDEX WORD.
  23684. *
  23685. * USES ALL REGISTERS.
  23686. *
  23687. * CALLS PDF,RDW=,UPS.
  23688.  
  23689.  
  23690. XPH SUBR
  23691. SA2 =21HHARDWARE REGISTERS -
  23692. SB6 21
  23693. RJ UPS
  23694. SX6 X5
  23695. SA5 A5+B1
  23696. ZR X6,XPH1 IF CPU IS ON
  23697. SA2 =3HOFF
  23698. SB6 3
  23699. RJ UPS
  23700. JP XPH2
  23701.  
  23702. XPH1 SA2 =2HON
  23703. SB6 2
  23704. RJ UPS
  23705. BX6 X5
  23706. SX3 B1
  23707. SA6 RI
  23708. RJ PDF POSITION TO EXCHANGE PACKAGE
  23709. READW S,A0,20B
  23710. XPH2 SA1 A5-B1
  23711. SX6 X1 SET CPU ON/OFF
  23712. JP XPHX EXIT
  23713. TITLE TABLES.
  23714. TLPP SPACE 4,10
  23715. ** TLPP - TABLE OF LOGICAL PP NUMBERS.
  23716. *
  23717. * ONE WORD ENTRY FOR EACH PP CONTAINING THE CURRENT LOGICAL
  23718. * PP NUMBER FOR THAT PP.
  23719.  
  23720.  
  23721. TLPP CON 0 PP00
  23722. CON 1 PP01
  23723. CON 2 PP02
  23724. CON 3 PP03
  23725. CON 4 PP04
  23726. CON 5 PP05
  23727. CON 6 PP06
  23728. CON 7 PP07
  23729. CON 10B PP10
  23730. CON 11B PP11
  23731. CON 20B PP20
  23732. CON 21B PP21
  23733. CON 22B PP22
  23734. CON 23B PP23
  23735. CON 24B PP24
  23736. CON 25B PP25
  23737. CON 26B PP26
  23738. CON 27B PP27
  23739. CON 30B PP30
  23740. CON 31B PP31
  23741. SPACE 4
  23742. USE END FORCE LITERALS
  23743. IDENT
  23744. SEG
  23745. END BSS 0 END OF PROGRAM BINARY
  23746. TITLE BUFFERS AND TABLE SPACE.
  23747. BUFFERS SPACE 4
  23748. ** MISCELLANEOUS WORKING BUFFERS.
  23749.  
  23750.  
  23751. BUF BSS 1002B BINARY WORKING BUFFER
  23752. BUFL EQU *-BUF
  23753.  
  23754. USBB BSS 0 STRING BUFFER
  23755. CHAR BSS 81 DIRECTIVE CARD STRING BUFFER
  23756.  
  23757. PBUF BSS 10000B/5+1 PPU DATA BUFFER
  23758. PBUFL EQU *-PBUF
  23759.  
  23760. IUBUFL1 EQU 0#1000*16/60+4 4K PRINT BUFFER LENGTH
  23761. IUBUFL2 EQU 0#2000*16/60+2 8K PRINT BUFFER LENGTH
  23762. IUBUFL3 EQU 0#10600*16/60+2
  23763. IUBUFL4 EQU 0#4000*16/60+2 16K PRINT BUFFER LENGTH
  23764.  
  23765. BSS IUBUFL2-PBUFL
  23766. MRBF BSS 8
  23767. PSAV BSS PPSA
  23768.  
  23769. CCCH BSS 1 CARRIAGE CONTROL CHARACTER
  23770. PRBF BSS 136 OUTPUT PRINT STRING BUFFER
  23771.  
  23772. SSBF BSS 0 SUBSYSTEM LOW CORE WORKING BUFFER
  23773. SSBFL MAX /BIO/BUFR+1,/MTX/TVSP+1,/REM/TXORG+1
  23774. BSS SSBFL
  23775.  
  23776. UBUF BSS 16 UNPACK BUFFER
  23777. SPACE 4
  23778. ** FILE BUFFERS AND TABLE SPACE.
  23779.  
  23780.  
  23781. IBUF BSS IBUFL DIRECTIVE INPUT FILE BUFFER
  23782. JBUF BSS JBUFL ALTERNATE INPUT FILE BUFFER
  23783. OBUF BSS OBUFL LIST OUTPUT FILE BUFFER
  23784. ABUF BSS ABUFL ALTERNATE OUTPUT FILE BUFFER
  23785. FBUF BSS FBUFL DUMP INPUT FILE BUFFER
  23786. SBUF BSS SBUFL BINARY SCRATCH FILE BUFFER
  23787. BBUF BSS BBUFL BML MAINTENANCE REGISTER FILE BUFFER
  23788.  
  23789. MEML BSS TMIN+10B MANAGED TABLE SPACE
  23790. MFL= BSS 0 MINIMUM FL NEEDED FOR EXECUTION
  23791.  
  23792. ORG END
  23793. SPACE 4
  23794. END