Compilation listing of file >2.1spec>online>mib083074>runoff_mr1.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0703.9 mst Fri. Compiled by BCPL version 3.4, August 1973. Compiler updated at 09/25/73 0959.1 mst Tue. Options applied: source xref alist optimize 6180. 1 // Roff for MULTICS 2 // 3 // The first ROFF for Multics was written in March, 1969, by 4 // Doug McIlroy of Bell Labs. Art Evans made extensive 5 // modifications to it in May and June, 1969, adding many 6 // comments and making various changes. 7 // Footnoting added by Dennis Capps in 1970. 8 // Maintained by Harwell Thrasher in 1971. 9 // Many new features added and bugs fixed by R Mabee in 1971-1972. 10 // RUNOFF and BCPL were brought over to the 6180 Multics (from 645) in May of 1973 by R F Mabee. 11 12 // Last modified on 05/30/74 at 18:43:28 by R F Mabee. 13 14 // The following files compose the RUNOFF command: 15 // runoff_driver the command and driver. 16 // runoff_mr0 Miscellaneous utility subroutines. 17 // runoff_mr1 Roff - the main routine. 18 // runoff_mr2 Control line processors. 19 // runoff_mr3 Routines for text printing. 20 // runoff_mr4 Miscellaneous output subroutines. 21 // runoff_mr5 Routines for header and footer printing. 22 // runoff_mr6 Routines for footnote processing 23 // runoff_mr7 Routines for the "chars" option 24 // runoff_mr8 ReadExp - expression reading and evaluating subroutines. 25 // runoff_mr9 Reference symbol subroutines. 26 // runoff_dim Routines for optional use of runoff as IOSIM. 27 // runoff_ Outer module transfer vector for ios_ to use above. 28 // runoff_head Global and other declarations for RUNOFF. 29 30 // This last file includes a table-of-contents, listing for each 31 // routine which file it is declared in. 32 // In addition, of course, the usual BCPL library is used. 33 34 // This file contains the main program for RUNOFF on Multics. 35 // Roff is called by the driver, and sets things up before calling 36 // RoffProcess to do the work. Its parameters are as follows: 37 // Streams a vector of input streams to be processed. 38 // Sn the number of streams in the vector Streams (1 to Sn). 39 // OutStream the main output stream. 40 // In addition, many global variables must be set (encoding options) before Roff is entered. 41 42 43 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 44 45 // General permission is granted to copy and use this program, but not to sell it, provided that the above 46 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 47 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 48 49 get "runoff_head" 1 // External, global, and manifest declarations for RUNOFF on Multics. 2 // Last modified on 06/21/73 at 23:30:13 by R F Mabee. 3 4 // Copyright (c) 1973 by the author, Robert F. Mabee. 5 // This program may be reproduced or modified only with explicit written 6 // permission of the author. Permission is hereby extended to those 7 // persons responsible for operating the Multics system to make such 8 // copies as are normally required to ensure the integrity of the Multics 9 // file system. Permission is also hereby extended to those persons 10 // responsible for maintaining the Multics program libraries to make such 11 // copies as are normally required for online installations. 12 13 external // BCPL library routines used by RUNOFF. 14 $( Packstring = "bcpl_machine_code_$Packstring" 15 Unpackstring = "bcpl_machine_code_$Unpackstring" 16 Writech = "bcpl_machine_code_$Writech" 17 WriteS = "bcpl_stream_io_$WriteS" 18 WriteN = "bcpl_stream_io_$WriteN" 19 ConvertNtoS = "bcpl_conversions_$ConvertNtoS" 20 Newvec = "bcpl_filesys_lib_$Newvec" 21 Freevec = "bcpl_filesys_lib_$Freevec" 22 MinI = "bcpl_arithmetic_$MinI" 23 MaxI = "bcpl_arithmetic_$MaxI" 24 FormDate = "bcpl_conversions_$FormDate" 25 $) 26 27 28 external 29 { 30 31 // All routines that form RUNOFF are listed below, even those that are 32 // not external. This listing is thus a table of contents of RUNOFF. 33 34 // Adjust = "runoff_mr3$Adjust" // Print a line, with right-adjustment. 35 Blank = "runoff_mr4$Blank" // Print n blanks. 36 Break = "runoff_mr3$Break" // Break text, printing buffers. 37 // Center = "runoff_mr3$Center" // Print the current line, centered. 38 Check_ref = "runoff_mr9$Check_ref" // Handle reference to symbol in control line. 39 // Cleanup = "runoff_driver$Cleanup" // Close files, etc. Invoked by unwinder. 40 ConsoleReadline = "runoff_mr0$ConsoleReadline" // Accept next line from user_input. 41 Control = "runoff_mr2$Control" // Process a control line. 42 // DimAttach = "runoff_dim$runoff_attach" // IOSIM attach entry point. 43 // DimChangemode = "runoff_dim$runoff_changemode" // Change internal modes. 44 // DimDetach = "runoff_dim$runoff_detach" // Disconnect runoff DIM. 45 // DimOrder = "runoff_dim$runoff_order" // Execute runoff command line for dim. 46 // DimWrite = "runoff_dim$DimWrite" // Process chunk of text as runoff input. 47 Eject = "runoff_mr3$Eject" // Eject paper, printing footer. 48 // Equation = "runoff_mr3$Equation" // Print an equation. 49 ExecuteCommand = "runoff_mr0$ExecuteCommand" // Pass control line to command processor. 50 FillTrTable = "runoff_mr1$FillTrTable" // Set up a conversion table. 51 FindInput = "runoff_driver$FindInput" // Open new input stream for given name. 52 // FixTab = "runoff_mr0$FixTab" // Calculate tab position and insert blanks. 53 Foot_begin = "runoff_mr6$Foot_begin" // Start processing footnote 54 Foot_end = "runoff_mr6$Foot_end" // Finish processing footnote. 55 Freeheads = "runoff_mr5$Freeheads" // Release a set of headers or footers. 56 // GetArg = "runoff_driver$GetArg" // Arg fetching routine for Option. 57 Gethead = "runoff_mr5$Gethead" // Package header up in new vector. 58 // GetModeArg = "runoff_dim$GetArgMode" // Arg fetching routine for Option for DIM. 59 GetString = "runoff_mr8$GetString" // Read and store string expression. 60 // GetSymbol = "runoff_mr9$GetSymbol" // Find value and type of named symbol. 61 InitializeSymbolTree = "runoff_mr9$InitializeSymbolTree" // Load up symbol table at start-up. 62 InsertFile = "runoff_mr4$InsertFile" // Process .if line. 63 // MakeN = "runoff_mr8$MakeN" // Convert string to character constant (number). 64 Need = "runoff_mr4$Need" // Eject if not enough lines remain. 65 NeedSS = "runoff_mr4$NeedSS" // Need regardless of double-spacing. 66 Newline = "runoff_mr4$Newline" // Print n newline characters. 67 // Number = "runoff_mr2$Number" // Scan a number from a control line. 68 Nx_close = "runoff_mr0$Nx_close" // Close current input stream. 69 Nx_open = "runoff_mr0$Nx_open" // Open a new stacked input stream. 70 Nx_reset = "runoff_mr0$Nx_reset" // Set read pointer back to beginning of current file. 71 // OldModes = "runoff_dim$OldModes" // Create return mode string for changemode (dim). 72 // PrintErrorFile = "runoff_driver$PrintErrorFile" // Dump buffered error messages on console. 73 PrinterIndent = "runoff_mr4$PrinterIndent" // Indent an extra twenty spaces for printer. 74 PrintFootnotes = "runoff_mr6$PrintFootnotes" // To output the accumulated footnotes. 75 Readline = "runoff_mr0$Readline" // Read a line of input. 76 Readhead = "runoff_mr5$Readhead" // Read header into vector provided. 77 ReadExp = "runoff_mr8$ReadExp" // Evaluate an expression. 78 ReadName = "runoff_mr4$ReadName" // Scan name from control line, pack in vector. 79 ReadNumber = "runoff_mr8$ReadNumber" // Convert number from control line. 80 ReadParam = "runoff_mr8$ReadParam" // Evaluate a parameter expression. 81 ReadString = "runoff_mr8$ReadString" // Read a string. 82 Report = "runoff_mr0$Report" // Report an error in usage, etc. 83 Roff = "runoff_mr1$Roff" // The main program for RUNOFF. 84 RoffProcess = "runoff_mr0$RoffProcess" // Called for each input file. 85 // runoff_module = "runoff_$runoff_module_" // Outer module transfer vector for dim. 86 // RunoffCommand = "runoff_driver$runoff" // Command interface. 87 // Save = "runoff_dim$Save" // Store global vector in SDB for dim. 88 SetCharsw = "runoff_mr0$SetCharsw" // Turn chars feature on or off. 89 // SetCtable = "runoff_mr9$SetCtable" // Update translation table from .sr command. 90 SetDevice = "runoff_mr1$SetDevice" // Change tables for a new device. 91 Sethead = "runoff_mr5$Sethead" // Set up header or footer. 92 SetLinesLeft = "runoff_mr4$SetLinesLeft" // Repeat calculation of LinesLeft. 93 // SetModes = "runoff_dim$SetModes" // Mode changing subroutine for DIM. 94 SetPaging = "runoff_mr1$SetPaging" // Turn no pagination feature on or off. 95 SetSwitches = "runoff_mr1$SetSwitches" // Initialize most of runoff. 96 // SetSymbol = "runoff_mr9$SetSymbol" // Assign new value and type to named symbol. 97 // Set_param = "runoff_mr2$Set_param" // Update variable, absolute or relatve. 98 Set_ref = "runoff_mr9$Set_ref" // Define or update symbol. 99 // Skip = "runoff_mr8$Skip" // Skip over blanks in control line. 100 Skiptolabel = "runoff_mr4$Skiptolabel" // For .gb and .gf. 101 Spacing = "runoff_mr3$Spacing" // Process vertical spacing. 102 // StNum = "runoff_dim$StNum" // Store number into mode string for OldModes. 103 // Store = "runoff_mr7$Store" // Save character until line is complete (for "chars"). 104 StoreArabic = "runoff_mr4$StoreArabic" // Convert number to string. 105 // StoreCtable = "runoff_mr9$StoreCtable" // Convert translation table to string form. 106 StoreDate = "runoff_mr4$StoreDate" // Store current date in vector. 107 StoreRoman = "runoff_mr4$StoreRoman" // Store number as roman numeral. 108 StoreString = "runoff_mr0$StoreString" // Make copy of string in free storage. 109 // StSwitch = "runoff_dim$StSwitch" // Store switch mode into mode string. 110 // SubscriptString = "runoff_mr8$SubscriptString" // Evaluate substring expression. 111 Text = "runoff_mr3$Text" // Process 1 line of input text. 112 Title = "runoff_mr5$Title" // Print a header or a footer. 113 // Tree_search = "runoff_mr9$Tree_search" // Look named symbol up in symbol table. 114 // TryToHyphenate = "runoff_mr3$TryToHyphenate" // Last word won't fit on line, break it if possible. 115 Typeout = "runoff_mr0$Typeout" // Type rest of input line on console. 116 // Unsave = "runoff_dim$Unsave" // Restore globals from SDB for dim. 117 UpdateSymbol = "runoff_mr9$UpdateSymbol" // Set named symbol to value from control line. 118 Use_ref = "runoff_mr9$Use_ref" // Insert symbol value in place of symbol 119 Wait = "runoff_mr0$Wait" // Wait for an interaction from the console. 120 Width = "runoff_mr3$Width" // Return width of a character. 121 WrCh = "runoff_mr7$WrCh" // "Chars" routine 122 WrChInit = "runoff_mr7$WrChInit" // Initialize "chars" routine 123 WriteChar = "runoff_mr4$WriteChar" // Write a character of output. 124 // Wrline = "runoff_ms7$Wrline" // Write stored line into chars file. 125 126 } 127 128 global // Scalars, switches, common vectors, etc. ... 129 { 130 Ad : 100 // Adjust 131 Again : 101 // Input line in Rawchar must be reprocessed. 132 Ce : 102 // Number of lines to center. 133 Char : 103 // Buffer for output characters. 134 CharsTable : 104 // Table of special characters for .chars output. 135 Charsw : 105 // Indication of unprintable characters. 136 ChStream : 106 // Output stream for "chars" option output 137 Conv : 107 // Character conversion. 138 139 Device : 110 // Type of device output is to be formatted for. 140 DeviceTable : 111 // Conversions for this device. 141 Ef : 112 // Even foot 142 Eh : 113 // Even head. 143 Eq : 114 // Equation line counter. 144 Eqcnt : 115 // Equation reference counter 145 ErrorfilePointer : 116 // Pointer to the temporary error file if any. 146 Errorstream : 117 // Output stream for diagnostics. 147 148 ErrorTempID : 120 // ID number for temporary error message segment. 149 ExpError : 121 // Indicates badly formed expression. 150 ExtraMargin : 122 // Indent entire text this many spaces. 151 Fc : 123 // No. of characters in Footbuf 152 Fd : 124 // Remember if text is double spaced 153 Fi : 125 // Fill switch. 154 FileName : 126 // Name of first input file. 155 Filesw : 127 // True if output is going to a file. 156 157 Findent : 130 // Indenting in use before entering footnote. 158 Fl : 131 // No. of lines in FootList 159 Flp : 132 // Print line although page appears full 160 Foot : 133 // Footnote counter 161 Footbuf : 134 // Buffer to hold current footnote. 162 FootList : 135 // Working pointer into list of footnote lines. 163 FootListBase : 136 // Base of footnote list. 164 FootRef : 137 // Footnote reference string in footnote body. 165 166 Fp : 140 // First page to print. 167 Fr : 141 // Footnote counter reset switch 168 From : 142 // -from argument. 169 Ft : 143 // Footnote processing switch 170 Fth : 144 // Vector for user-defined demarcation line 171 Fundent : 145 // Undenting in use before entering footnote. 172 Hyphenating : 146 // True if an attempt to break a word should be made. 173 In : 147 // Indent to here. 174 175 InputFileName : 150 // Name of current input file. 176 InputLines : 151 // Current line number in current source file. 177 InputStack : 152 // Stack of saved input streams. 178 JumpLine : 153 // Line number of .gb or .gf command during skip. 179 LinesLeft : 154 // Number of usable text lines left on this page. 180 LIno : 155 // Number of literal lines following. 181 Ll : 156 // Line length. 182 Lp : 157 // Last page to print. 183 184 Ma1 : 160 // Space above header. 185 Ma2 : 161 // Space below header. 186 Ma3 : 162 // Space above foot. 187 Ma4 : 163 // Space below foot. 188 Ms : 164 // Spacing between lines (ss = 1, ds = 2, etc.) 189 MultiplePagecount : 165 // Form feeds between pages to printer. 190 Nc : 166 // Number of characters in Char. 191 NestingDepth : 167 // Index into stack of input files. 192 193 Nl : 170 // Last used line number. 194 NNp : 171 // Next page number. 195 NoControl : 172 // True if control lines are to be ignored. 196 NoFill : 173 // True if fill mode is always off. 197 NoFtNo : 174 // True to suppress number on next footnote reference. 198 NoPaging : 175 // True if no pagination is desired. 199 Np : 176 // Current page number. 200 Nr : 177 // Number of characters in Rawchar. 201 202 Nrx : 180 // Count through input buffer. 203 OddPage : 181 // True if current page number is odd. 204 Of : 182 // Odd foot. 205 Oh : 183 // Odd head. 206 Output : 184 // Runoff's main text output stream. 207 PadLeft : 185 // True if padding is to start from left of line. 208 Parameter : 186 // Initial value of built-in symbol. 209 Passes : 187 // Number of passes left to make. 210 211 Pi : 190 // Space needed for a picture. 212 Pl : 191 // Paper length. 213 Print : 192 // Whether or not to print. 214 Printersw : 193 // Output is intended for online printer. 215 PrintLineNumbers : 194 // True if source line numbers are to be printed in output. 216 Rawchar : 195 // Buffer for input line. 217 Roman : 196 // Roman numeral pagination. 218 SavedCc : 197 // Temporary used by WriteChar. 219 220 Selsw : 200 // for selectric ball option 221 Spec_char : 201 // For symbol references. 222 Start : 202 // -start argument. 223 Stopsw : 203 // Stop between pages of output. 224 Temp : 204 // Vector to hold unprinted character 225 Tempc : 205 // No. of characters in Temp 226 TextRef : 206 // Footnote reference string in main text. 227 TimeNow : 207 // Clock reading when runoff is entered. 228 229 To : 210 // -to argument. 230 TrTable : 211 // Translation table for .tr. 231 TreeRoot : 212 // Base of symbol tree. 232 Un : 213 // Undent to here. 233 Waitsw : 214 // From -wait option. 234 235 // 300 to 309 are reserved for runoff_driver. 236 // 310 to 319 are reserved for runoff_dim. 237 // 320 to 329 are reserved for runoff_mr0. 238 // 330 to 339 are reserved for runoff_mr7. 239 } 240 241 manifest 242 { 243 ByteBits = 9 // Bits per character, as packed by compiler. 244 Skip = $8177 // A character that will be ignored on output. 245 Maxline = 400 // Buffer lengths for input and output 246 Maxheads = 20 // No of header or footer lines. 247 MaxDepth = 90 // Nesting times 3 for .if. 248 249 LL_ = 65 // Default line length. 250 PL_ = 66 // Default page length -- 11 inches, 6 lines/in. 251 MA1_ = 4 // Default top margin above header 252 MA2_ = 2 // Default top margin below header 253 MA3_ = 2 // Default bottom margin above footer 254 MA4_ = 4 // Default bottom margin below footer 255 } 49 // Include declarations for ROFF. 50 51 52 let Roff (Streams, Sn, OutStream) be 53 $( 54 Output := OutStream 55 56 // Set up buffers for input and output lines. 57 58 Char := vec Maxline * 2 // Text buffer for output lines. 59 Rawchar := vec Maxline + 20 // Buffer for input lines. 60 Rawchar[0] := 0 61 62 63 // Establish buffer to hold one footnote line. 64 Footbuf := vec Maxline + 20 65 66 // Establish a temporary storeroom for the unprocessed stuff in 67 // Char while a footnote is being processed. 68 Temp := vec Maxline * 2 69 70 // Set up translation tables. 71 72 TrTable, DeviceTable, Conv, CharsTable := vec 128, vec 128, vec 128, vec 128 73 for i = 0 to 127 do CharsTable!i := '*s' 74 75 // Establish buffers for headers' addresses. 76 77 Eh, Oh := vec Maxheads, vec Maxheads // Headers. 78 for i = 0 to Maxheads do Eh!i, Oh!i := 0, 0 79 Ef, Of := vec Maxheads, vec Maxheads // Footers. 80 for i = 0 to Maxheads do Ef!i, Of!i := 0, 0 81 82 // Other initialization. 83 84 InitializeSymbolTree () 85 InputStack := vec MaxDepth 86 87 $(Pass // Make requested number of passes. Output is produced only on last pass. 88 // This is a repeatwhile Passes > 0 loop. 89 // Initialize various switches and things in global: 90 91 SetSwitches () 92 93 if Passes > 1 do Fp, Lp, Print := 999999, 999999, false // Not final pass, suppress output. 94 95 96 // Set up conversion table for output. 97 98 FillTrTable () 99 100 SetDevice (Device) 101 SetCharsw (Charsw) 102 SetPaging (NoPaging) 103 104 105 // Do all the work. 106 107 for i = 1 to Sn do RoffProcess (Streams!i) 108 109 110 if Ft do Foot_end () // Otherwise we die. 111 Break () 112 Eject () repeatuntil Fl = 0 113 114 Freeheads (Oh) 115 Freeheads (Eh) 116 Freeheads (Of) 117 Freeheads (Ef) 118 119 unless Fth = 0 do Freevec (Fth) 120 Freevec (FootRef) 121 Freevec (TextRef) 122 123 Passes := Passes - 1 124 $)Pass repeatwhile Passes > 0 125 $) 126 127 128 and SetDevice (New) be 129 $( Printersw, Selsw := false, false 130 Device := New 131 for i = 0 to 127 do DeviceTable!i := i 132 let T = valof switchon Device into 133 $( case 1050: case 2741: case 963: 134 resultis table 6, '{', '}', '[', ']', '`', '~' 135 case 041: Selsw := true 136 resultis table 2, '[', ']' 137 case 015: case 012: case 088: 138 Selsw := true 139 resultis table 0 140 case 202: case 300: 141 Printersw := true 142 default: resultis table 0 143 $) 144 145 if Selsw do 146 $( let St = "-M;**:%m*"(>Bg.kh9y2384657#Ee b H*c 147 *Bg.kh912384657#**;<=%H*c 150 *-P|XVUCAZO+WYJSQDFNR\TL!?I) _ K^*c 151 * p,xvucazo&wyjsqdfnr@tl$/i0 G " 152 Unpackstring (St, DeviceTable + '*s') 153 DeviceTable!'*s', DeviceTable!Skip := '*s', Skip // Limits of above string. 154 $) 155 156 for i = 1 to T!0 do DeviceTable!(T!i) := '*s' 157 for i = 0 to 127 do Conv!i := DeviceTable!(TrTable!i) 158 $) 159 160 and FillTrTable() be 161 $( for i = 0 to $8037 do TrTable!i := Skip 162 for i = $8040 to $8176 do TrTable!i := i 163 TrTable!Skip := Skip 164 TrTable!'*t', TrTable!'*b', TrTable!'*n' := '*t', '*b', '*n' 165 TrTable!'*f', TrTable!'*d', TrTable!'*k' := '*f', '*d', '*k' 166 $) 167 and SetPaging (New) be 168 $( NoPaging := New 169 test NoPaging 170 then Pl, Ma1, Ma2, Ma3, Ma4 := 1000000000, 0, 0, 0, 0 171 or Pl, Ma1, Ma2, Ma3, Ma4 := PL_, MA1_, MA2_, MA3_, MA4_ 172 SetLinesLeft () 173 $) 174 175 and SetSwitches () be 176 $( Fp := From // First page to print. 177 Lp := To // Last page to print. 178 Np := Start // Number to be on first page. 179 NNp := Np + 1 // Next page number. 180 Print := Fp le Np le Lp & Passes le 1 // Are we now printing? 181 OddPage := Np rem 2 ne 0 182 183 Ad := true // Adjust 184 Again := false // Control line to be reprocessed 185 Ce := 0 // Do not center. 186 Eq := 0 // Do not print line as equation. 187 Eqcnt := 1 // Start equation counter at 1 188 Fc := 0 // Number of characters in Footbuf 189 Fl := 0 // Number of lines in FootList 190 Flp := false // Pagefull override off 191 Fi := not NoFill // Fill lines unless global override option. 192 Foot := 1 // Start footnote counter at 1 193 FootList := 0 // Top of list (growing end). 194 FootListBase := 0 // Base of list. 195 Fr := true // Reset footnote counter at each page 196 Ft := false // Not processing a footnote 197 Fth := 0 // Footnote demarcation. 198 In := 0 // No indenting. 199 JumpLine := -1 // Not performing goto. 200 LIno := NoControl -> 1000000000, 0 // Process control lines normally. 201 Ll := LL_ // Default line length. 202 Ma1 := MA1_ // Space above header 203 Ma2 := MA2_ // Space below header 204 Ma3 := MA3_ // Space above footer 205 Ma4 := MA4_ // Space below footer 206 MultiplePagecount := 1 // Print every page. 207 Ms := 1 // Multiple spacing 208 Nc := 0 // No characters stored yet. 209 Nl := 0 // Last used line number on page. 210 NoFtNo := false // Number footnotes normally. 211 Nr := 0 // Count of characters in Rawchar. 212 PadLeft := false // Start adjusting with right end. 213 Pi := 0 // Space needed for a picture. 214 Pl := PL_ // Page length, in lines. 215 Roman := false // Print page numbers in Arabic. 216 SavedCc := 0 // Initially no character in buffer cell. 217 Spec_char := '%' // Special character for symbol references. 218 Un := 0 // No undenting. 219 220 FootRef := StoreString ("(%Foot%) ") 221 TextRef := StoreString (" (%Foot%) ") 222 $) CAE time 3.9, 121 source lines per second. cross reference table Ad runoff_head: 130, runoff_mr1: 183 Again runoff_head: 131, runoff_mr1: 184 Blank runoff_head: 35 Break runoff_head: 36, runoff_mr1: 111 ByteBits runoff_head: 243 Ce runoff_head: 132, runoff_mr1: 185 Char runoff_head: 133, runoff_mr1: 58 CharsTable runoff_head: 134, runoff_mr1: 72, 73 Charsw runoff_head: 135, runoff_mr1: 101 Check_ref runoff_head: 38 ChStream runoff_head: 136 ConsoleReadline runoff_head: 40 Control runoff_head: 41 Conv runoff_head: 137, runoff_mr1: 72, 157 ConvertNtoS runoff_head: 19 Device runoff_head: 139, runoff_mr1: 100, 130, 132, 149 DeviceTable runoff_head: 140, runoff_mr1: 72, 131, 152, 153, 153, 156, 157 Ef runoff_head: 141, runoff_mr1: 79, 80, 117 Eh runoff_head: 142, runoff_mr1: 77, 78, 115 Eject runoff_head: 47, runoff_mr1: 112 Eq runoff_head: 143, runoff_mr1: 186 Eqcnt runoff_head: 144, runoff_mr1: 187 ErrorfilePointer runoff_head: 145 Errorstream runoff_head: 146 ErrorTempID runoff_head: 148 ExecuteCommand runoff_head: 49 ExpError runoff_head: 149 ExtraMargin runoff_head: 150 Fc runoff_head: 151, runoff_mr1: 188 Fd runoff_head: 152 Fi runoff_head: 153, runoff_mr1: 191 FileName runoff_head: 154 Filesw runoff_head: 155 FillTrTable runoff_head: 50, runoff_mr1: 98, 160 Findent runoff_head: 157 FindInput runoff_head: 51 Fl runoff_head: 158, runoff_mr1: 112, 189 Flp runoff_head: 159, runoff_mr1: 190 Foot runoff_head: 160, runoff_mr1: 192 Footbuf runoff_head: 161, runoff_mr1: 64 FootList runoff_head: 162, runoff_mr1: 193 FootListBase runoff_head: 163, runoff_mr1: 194 FootRef runoff_head: 164, runoff_mr1: 120, 220 Foot_begin runoff_head: 53 Foot_end runoff_head: 54, runoff_mr1: 110 FormDate runoff_head: 24 Fp runoff_head: 166, runoff_mr1: 93, 176, 180 Fr runoff_head: 167, runoff_mr1: 195 Freeheads runoff_head: 55, runoff_mr1: 114, 115, 116, 117 Freevec runoff_head: 21, runoff_mr1: 119, 120, 121 From runoff_head: 168, runoff_mr1: 176 Ft runoff_head: 169, runoff_mr1: 110, 196 Fth runoff_head: 170, runoff_mr1: 119, 119, 197 Fundent runoff_head: 171 Gethead runoff_head: 57 GetString runoff_head: 59 Hyphenating runoff_head: 172 i runoff_mr1: 73, 73, 78, 78, 78, 80, 80, 80, 107, 107, 131, 131, 131, 156, 156, 157, 157, 157, 161, 161, 162, 162, 162 In runoff_head: 173, runoff_mr1: 198 InitializeSymbolTree runoff_head: 61, runoff_mr1: 84 InputFileName runoff_head: 175 InputLines runoff_head: 176 InputStack runoff_head: 177, runoff_mr1: 85 InsertFile runoff_head: 62 JumpLine runoff_head: 178, runoff_mr1: 199 LinesLeft runoff_head: 179 LIno runoff_head: 180, runoff_mr1: 200 Ll runoff_head: 181, runoff_mr1: 201 LL_ runoff_head: 249, runoff_mr1: 201 Lp runoff_head: 182, runoff_mr1: 93, 177, 180 Ma1 runoff_head: 184, runoff_mr1: 170, 171, 202 MA1_ runoff_head: 251, runoff_mr1: 171, 202 Ma2 runoff_head: 185, runoff_mr1: 170, 171, 203 MA2_ runoff_head: 252, runoff_mr1: 171, 203 Ma3 runoff_head: 186, runoff_mr1: 170, 171, 204 MA3_ runoff_head: 253, runoff_mr1: 171, 204 Ma4 runoff_head: 187, runoff_mr1: 170, 171, 205 MA4_ runoff_head: 254, runoff_mr1: 171, 205 MaxDepth runoff_head: 247, runoff_mr1: 85 Maxheads runoff_head: 246, runoff_mr1: 77, 77, 78, 79, 79, 80 MaxI runoff_head: 23 Maxline runoff_head: 245, runoff_mr1: 58, 59, 64, 68 MinI runoff_head: 22 Ms runoff_head: 188, runoff_mr1: 207 MultiplePagecount runoff_head: 189, runoff_mr1: 206 Nc runoff_head: 190, runoff_mr1: 208 Need runoff_head: 64 NeedSS runoff_head: 65 NestingDepth runoff_head: 191 New runoff_mr1: 128, 130, 167, 168 Newline runoff_head: 66 Newvec runoff_head: 20 Nl runoff_head: 193, runoff_mr1: 209 NNp runoff_head: 194, runoff_mr1: 179 NoControl runoff_head: 195, runoff_mr1: 200 NoFill runoff_head: 196, runoff_mr1: 191 NoFtNo runoff_head: 197, runoff_mr1: 210 NoPaging runoff_head: 198, runoff_mr1: 102, 168, 169 Np runoff_head: 199, runoff_mr1: 178, 179, 180, 181 Nr runoff_head: 200, runoff_mr1: 211 Nrx runoff_head: 202 Nx_close runoff_head: 68 Nx_open runoff_head: 69 Nx_reset runoff_head: 70 OddPage runoff_head: 203, runoff_mr1: 181 Of runoff_head: 204, runoff_mr1: 79, 80, 116 Oh runoff_head: 205, runoff_mr1: 77, 78, 114 Output runoff_head: 206, runoff_mr1: 54 OutStream runoff_mr1: 52, 54 Packstring runoff_head: 14 PadLeft runoff_head: 207, runoff_mr1: 212 Parameter runoff_head: 208 Passes runoff_head: 209, runoff_mr1: 93, 123, 123, 124, 180 Pi runoff_head: 211, runoff_mr1: 213 Pl runoff_head: 212, runoff_mr1: 170, 171, 214 PL_ runoff_head: 250, runoff_mr1: 171, 214 Print runoff_head: 213, runoff_mr1: 93, 180 PrinterIndent runoff_head: 73 Printersw runoff_head: 214, runoff_mr1: 129, 141 PrintFootnotes runoff_head: 74 PrintLineNumbers runoff_head: 215 Rawchar runoff_head: 216, runoff_mr1: 59, 60 ReadExp runoff_head: 77 Readhead runoff_head: 76 Readline runoff_head: 75 ReadName runoff_head: 78 ReadNumber runoff_head: 79 ReadParam runoff_head: 80 ReadString runoff_head: 81 Report runoff_head: 82 Roff runoff_head: 83, runoff_mr1: 52 RoffProcess runoff_head: 84, runoff_mr1: 107 Roman runoff_head: 217, runoff_mr1: 215 SavedCc runoff_head: 218, runoff_mr1: 216 Selsw runoff_head: 220, runoff_mr1: 129, 135, 138, 145 SetCharsw runoff_head: 88, runoff_mr1: 101 SetDevice runoff_head: 90, runoff_mr1: 100, 128 Sethead runoff_head: 91 SetLinesLeft runoff_head: 92, runoff_mr1: 172 SetPaging runoff_head: 94, runoff_mr1: 102, 167 SetSwitches runoff_head: 95, runoff_mr1: 91, 175 Set_ref runoff_head: 98 Skip runoff_head: 244, runoff_mr1: 153, 153, 161, 163, 163 Skiptolabel runoff_head: 100 Sn runoff_mr1: 52, 107 Spacing runoff_head: 101 Spec_char runoff_head: 221, runoff_mr1: 217 St runoff_mr1: 146, 149, 152 Start runoff_head: 222, runoff_mr1: 178 Stopsw runoff_head: 223 StoreArabic runoff_head: 104 StoreDate runoff_head: 106 StoreRoman runoff_head: 107 StoreString runoff_head: 108, runoff_mr1: 220, 221 Streams runoff_mr1: 52, 107 T runoff_mr1: 132, 156, 156 Temp runoff_head: 224, runoff_mr1: 68 Tempc runoff_head: 225 Text runoff_head: 111 TextRef runoff_head: 226, runoff_mr1: 121, 221 TimeNow runoff_head: 227 Title runoff_head: 112 To runoff_head: 229, runoff_mr1: 177 TreeRoot runoff_head: 231 TrTable runoff_head: 230, runoff_mr1: 72, 157, 161, 162, 163, 164, 164, 164, 165, 165, 165 Typeout runoff_head: 115 Un runoff_head: 232, runoff_mr1: 218 Unpackstring runoff_head: 15, runoff_mr1: 152 UpdateSymbol runoff_head: 117 Use_ref runoff_head: 118 Wait runoff_head: 119 Waitsw runoff_head: 233 Width runoff_head: 120 WrCh runoff_head: 121 WrChInit runoff_head: 122 Writech runoff_head: 16 WriteChar runoff_head: 123 WriteN runoff_head: 18 WriteS runoff_head: 17 Trans time 1.1, 744 object words per second. " Begin text of SetPaging aa 000000 000011 123145 zero 9,42597 " SetPaging aa 000001 164120 141147 zero 59472,49767 aa 000002 151156 147000 zero 53870,52736 L4: aa 000003 000000 213000 167 epaq 0 " set lp to linkage section aa 000004 700026 764161 lprplp sb|22,*au aa 000005 200000 021100 adlx1 bp|0 " BCPL save aa 000006 700000 542111 sprpbp sb|0,x1 aa 000007 700001 544111 sprplp sb|1,x1 aa 000010 700421 620111 eax0 sb|273,x1 aa 000011 777760 360003 anx0 -16,du aa 000012 700025 740100 stx0 sb|21 " end of save sequence aa 000013 700002 236111 168 ldq sb|2,x1 " New aa 000014 600257 756100 stq sp|175 " NoPaging aa 000015 600257 234100 169 szn sp|175 " NoPaging aa 000016 000010 600004 tze L9 aa 000017 600240 450100 170 stz sp|160 " Ma1 aa 000020 600242 450100 stz sp|162 " Ma3 aa 000021 600243 450100 stz sp|163 " Ma4 aa 000022 600241 450100 stz sp|161 " Ma2 aa 000023 000023 236004 ldq L11 " 1000000000 aa 000024 600277 756100 stq sp|191 " Pl aa 000025 000013 710004 tra L10 L9: aa 000026 000102 236007 171 ldq 66,dl " PL_ aa 000027 600277 756100 stq sp|191 " Pl aa 000030 000002 236007 ldq 2,dl " MA2_ aa 000031 600241 756100 stq sp|161 " Ma2 aa 000032 000004 236007 ldq 4,dl " MA1_ aa 000033 600240 756100 stq sp|160 " Ma1 aa 000034 000002 236007 ldq 2,dl " MA3_ aa 000035 600242 756100 stq sp|162 " Ma3 aa 000036 000004 236007 ldq 4,dl " MA4_ aa 000037 600243 756100 stq sp|163 " Ma4 L10: 4a 000040 400034 272120 172 tsbbp lp|L12,* " SetLinesLeft aa 000041 000004 000000 zero 4 L8: aa 000042 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000043 200000 121100 sblx1 bp|0 aa 000044 700001 764111 lprplp sb|1,x1 aa 000045 200001 710100 tra bp|1 " end of return sequence " Literal pool L11: aa 000046 007346 545000 zero 3814,-79360 " 1000000000 " Begin text of SetSwitches aa 000047 000013 123145 zero 11,42597 " SetSwitches aa 000050 164123 167151 zero 59475,61033 aa 000051 164143 150145 zero 59491,53349 aa 000052 163000 000000 zero 58880 L5: aa 000053 000000 213000 175 epaq 0 " set lp to linkage section aa 000054 700026 764161 lprplp sb|22,*au aa 000055 200000 021100 adlx1 bp|0 " BCPL save aa 000056 700000 542111 sprpbp sb|0,x1 aa 000057 700001 544111 sprplp sb|1,x1 aa 000060 700422 620111 eax0 sb|274,x1 aa 000061 777760 360003 anx0 -16,du aa 000062 700025 740100 stx0 sb|21 " end of save sequence aa 000063 600216 236100 176 ldq sp|142 " From aa 000064 600214 756100 stq sp|140 " Fp aa 000065 600322 236100 177 ldq sp|210 " To aa 000066 600235 756100 stq sp|157 " Lp aa 000067 600312 236100 178 ldq sp|202 " Start aa 000070 600260 756100 stq sp|176 " Np aa 000071 600260 236100 179 ldq sp|176 " Np aa 000072 000001 076007 adq 1,dl " 1 aa 000073 600253 756100 stq sp|171 " NNp aa 000074 600273 236100 180 ldq sp|187 " Passes aa 000075 000001 116007 cmpq 1,dl " 1 aa 000076 000003 605404 tpnz L16 aa 000077 000001 335007 lca 1,dl " true aa 000100 000002 710004 tra L17 L16: aa 000101 000000 235007 lda 0,dl " false L17: aa 000102 700003 755111 sta sb|3,x1 aa 000103 700003 235111 lda sb|3,x1 aa 000104 600214 236100 ldq sp|140 " Fp aa 000105 600260 116100 cmpq sp|176 " Np aa 000106 000007 605404 tpnz L18 aa 000107 700002 755111 sta sb|2,x1 " temporary aa 000110 600260 235100 lda sp|176 " Np aa 000111 600235 115100 cmpa sp|157 " Lp aa 000112 000003 605404 tpnz L18 aa 000113 000001 336007 lcq 1,dl " true aa 000114 000002 710004 tra L19 L18: aa 000115 000000 236007 ldq 0,dl " false L19: aa 000116 700005 756111 stq sb|5,x1 aa 000117 700005 236111 ldq sb|5,x1 aa 000120 700002 376111 anq sb|2,x1 aa 000121 600300 756100 stq sp|192 " Print aa 000122 600260 236100 181 ldq sp|176 " Np aa 000123 000002 506007 div 2,dl " 2 aa 000124 000000 115007 cmpa 0,dl aa 000125 000003 600004 tze L20 aa 000126 000001 335007 lca 1,dl " true aa 000127 000002 710004 tra L21 L20: aa 000130 000000 235007 lda 0,dl " false L21: aa 000131 700002 755111 sta sb|2,x1 aa 000132 700002 235111 lda sb|2,x1 aa 000133 600265 755100 sta sp|181 " OddPage aa 000134 000001 335007 183 lca 1,dl " true aa 000135 600144 755100 sta sp|100 " Ad aa 000136 600145 450100 184 stz sp|101 " Again aa 000137 600146 450100 185 stz sp|102 " Ce aa 000140 600162 450100 186 stz sp|114 " Eq aa 000141 000001 235007 187 lda 1,dl " 1 aa 000142 600163 755100 sta sp|115 " Eqcnt aa 000143 600173 450100 188 stz sp|123 " Fc aa 000144 600203 450100 189 stz sp|131 " Fl aa 000145 600204 450100 190 stz sp|132 " Flp aa 000146 000001 335007 191 lca 1,dl " true aa 000147 600255 675100 era sp|173 " NoFill aa 000150 600175 755100 sta sp|125 " Fi aa 000151 000001 235007 192 lda 1,dl " 1 aa 000152 600205 755100 sta sp|133 " Foot aa 000153 600207 450100 193 stz sp|135 " FootList aa 000154 600210 450100 194 stz sp|136 " FootListBase aa 000155 000001 335007 195 lca 1,dl " true aa 000156 600215 755100 sta sp|141 " Fr aa 000157 600217 450100 196 stz sp|143 " Ft aa 000160 600220 450100 197 stz sp|144 " Fth aa 000161 600223 450100 198 stz sp|147 " In aa 000162 000001 335007 199 lca 1,dl aa 000163 600231 755100 sta sp|153 " JumpLine aa 000164 600254 234100 200 szn sp|172 " NoControl aa 000165 000003 600004 tze L22 aa 000166 777660 235004 lda L11 " 1000000000 aa 000167 000002 710004 tra L23 L22: aa 000170 000000 235007 lda 0,dl " 0 L23: aa 000171 700002 755111 sta sb|2,x1 aa 000172 700002 235111 lda sb|2,x1 aa 000173 600233 755100 sta sp|155 " LIno aa 000174 000101 235007 201 lda 65,dl " LL_ aa 000175 600234 755100 sta sp|156 " Ll aa 000176 000004 235007 202 lda 4,dl " MA1_ aa 000177 600240 755100 sta sp|160 " Ma1 aa 000200 000002 235007 203 lda 2,dl " MA2_ aa 000201 600241 755100 sta sp|161 " Ma2 aa 000202 000002 235007 204 lda 2,dl " MA3_ aa 000203 600242 755100 sta sp|162 " Ma3 aa 000204 000004 235007 205 lda 4,dl " MA4_ aa 000205 600243 755100 sta sp|163 " Ma4 aa 000206 000001 235007 206 lda 1,dl " 1 aa 000207 600245 755100 sta sp|165 " MultiplePagecount aa 000210 000001 235007 207 lda 1,dl " 1 aa 000211 600244 755100 sta sp|164 " Ms aa 000212 600246 450100 208 stz sp|166 " Nc aa 000213 600252 450100 209 stz sp|170 " Nl aa 000214 600256 450100 210 stz sp|174 " NoFtNo aa 000215 600261 450100 211 stz sp|177 " Nr aa 000216 600271 450100 212 stz sp|185 " PadLeft aa 000217 600276 450100 213 stz sp|190 " Pi aa 000220 000102 235007 214 lda 66,dl " PL_ aa 000221 600277 755100 sta sp|191 " Pl aa 000222 600304 450100 215 stz sp|196 " Roman aa 000223 600305 450100 216 stz sp|197 " SavedCc aa 000224 000045 235007 217 lda 37,dl " '%' aa 000225 600311 755100 sta sp|201 " Spec_char aa 000226 600325 450100 218 stz sp|213 " Un aa 000227 000021 350004 220 eapap L24 " "(%Foot%) " aa 000230 700010 540111 sprpap sb|8,x1 4a 000231 400032 272120 tsbbp lp|L25,* " StoreString aa 000232 000006 000001 zero 6,1 aa 000233 600211 756100 stq sp|137 " FootRef aa 000234 000011 350004 221 eapap L26 " " (%Foot%) " aa 000235 700010 540111 sprpap sb|8,x1 4a 000236 400032 272120 tsbbp lp|L25,* " StoreString aa 000237 000006 000001 zero 6,1 aa 000240 600316 756100 stq sp|206 " TextRef L15: aa 000241 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000242 200000 121100 sblx1 bp|0 aa 000243 700001 764111 lprplp sb|1,x1 aa 000244 200001 710100 tra bp|1 " end of return sequence " Literal pool L26: aa 000245 000012 040050 zero 10,16424 " " (%Foot%) " aa 000246 045106 157157 zero 19014,56943 aa 000247 164045 051040 zero 59429,21024 L24: aa 000250 000011 050045 zero 9,20517 " "(%Foot%) " aa 000251 106157 157164 zero 35951,56948 aa 000252 045051 040000 zero 18985,16384 " Begin text of FillTrTable aa 000253 000013 106151 zero 11,35945 " FillTrTable aa 000254 154154 124162 zero 55404,43122 aa 000255 124141 142154 zero 43105,50284 aa 000256 145000 000000 zero 51712 L3: aa 000257 000000 213000 160 epaq 0 " set lp to linkage section aa 000260 700026 764161 lprplp sb|22,*au aa 000261 200000 021100 adlx1 bp|0 " BCPL save aa 000262 700000 542111 sprpbp sb|0,x1 aa 000263 700001 544111 sprplp sb|1,x1 aa 000264 700417 620111 eax0 sb|271,x1 aa 000265 777760 360003 anx0 -16,du aa 000266 700025 740100 stx0 sb|21 " end of save sequence aa 000267 700002 450111 161 stz sb|2,x1 " i aa 000270 000006 710004 tra L30 L31: aa 000271 000177 236007 ldq 127,dl " Skip aa 000272 700002 722111 lxl2 sb|2,x1 " i aa 000273 600323 760100 lprpap sp|211 " TrTable aa 000274 000000 756112 stq ap|0,x2 aa 000275 700002 054111 aos sb|2,x1 " i L30: aa 000276 700002 236111 ldq sb|2,x1 " i aa 000277 000037 116007 cmpq 31,dl " $8037 aa 000300 777771 604404 tmoz L31 aa 000301 000040 235007 162 lda 32,dl " $8040 aa 000302 700002 755111 sta sb|2,x1 " i aa 000303 000006 710004 tra L32 L33: aa 000304 700002 235111 lda sb|2,x1 " i aa 000305 700002 723111 lxl3 sb|2,x1 " i aa 000306 600323 762100 lprpbp sp|211 " TrTable aa 000307 200000 755113 sta bp|0,x3 aa 000310 700002 054111 aos sb|2,x1 " i L32: aa 000311 700002 235111 lda sb|2,x1 " i aa 000312 000176 115007 cmpa 126,dl " $8176 aa 000313 777771 604404 tmoz L33 aa 000314 000177 236007 163 ldq 127,dl " Skip aa 000315 600323 761100 lprpab sp|211 " TrTable aa 000316 100177 756100 stq ab|127 aa 000317 000010 236007 164 ldq 8,dl " '*b' aa 000320 600323 763100 lprpbb sp|211 " TrTable aa 000321 300010 756100 stq bb|8 aa 000322 000012 236007 ldq 10,dl " '*n' aa 000323 600323 765100 lprplb sp|211 " TrTable aa 000324 500012 756100 stq lb|10 aa 000325 000011 236007 ldq 9,dl " '*t' aa 000326 600323 760100 lprpap sp|211 " TrTable aa 000327 000011 756100 stq ap|9 aa 000330 000016 236007 165 ldq 14,dl " '*d' aa 000331 600323 762100 lprpbp sp|211 " TrTable aa 000332 200016 756100 stq bp|14 aa 000333 000017 236007 ldq 15,dl " '*k' aa 000334 600323 761100 lprpab sp|211 " TrTable aa 000335 100017 756100 stq ab|15 aa 000336 000014 236007 ldq 12,dl " '*f' aa 000337 600323 763100 lprpbb sp|211 " TrTable aa 000340 300014 756100 stq bb|12 L29: aa 000341 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000342 200000 121100 sblx1 bp|0 aa 000343 700001 764111 lprplp sb|1,x1 aa 000344 200001 710100 tra bp|1 " end of return sequence " Begin text of SetDevice aa 000345 000011 123145 zero 9,42597 " SetDevice aa 000346 164104 145166 zero 59460,51830 aa 000347 151143 145000 zero 53859,51712 L2: aa 000350 000000 213000 128 epaq 0 " set lp to linkage section aa 000351 700026 764161 lprplp sb|22,*au aa 000352 200000 021100 adlx1 bp|0 " BCPL save aa 000353 700000 542111 sprpbp sb|0,x1 aa 000354 700001 544111 sprplp sb|1,x1 aa 000355 700423 620111 eax0 sb|275,x1 aa 000356 777760 360003 anx0 -16,du aa 000357 700025 740100 stx0 sb|21 " end of save sequence aa 000360 600301 450100 129 stz sp|193 " Printersw aa 000361 600310 450100 stz sp|200 " Selsw aa 000362 700002 236111 130 ldq sb|2,x1 " New aa 000363 600156 756100 stq sp|110 " Device aa 000364 700003 450111 131 stz sb|3,x1 " i aa 000365 000006 710004 tra L37 L38: aa 000366 700003 236111 ldq sb|3,x1 " i aa 000367 700003 724111 lxl4 sb|3,x1 " i aa 000370 600157 765100 lprplb sp|111 " DeviceTable aa 000371 500000 756114 stq lb|0,x4 aa 000372 700003 054111 aos sb|3,x1 " i L37: aa 000373 700003 236111 ldq sb|3,x1 " i aa 000374 000177 116007 cmpq 127,dl " 127 aa 000375 777771 604404 tmoz L38 aa 000376 000017 710004 133 tra L41 L42: aa 000377 000237 350004 134 eapap L43 " a table aa 000400 000055 710004 135 tra L39 L44: aa 000401 000001 335007 lca 1,dl " true aa 000402 600310 755100 sta sp|200 " Selsw aa 000403 000227 350004 136 eapap L45 " a table aa 000404 000051 710004 137 tra L39 L46: aa 000405 000001 335007 138 lca 1,dl " true aa 000406 600310 755100 sta sp|200 " Selsw aa 000407 000141 350004 139 eapap L47 " a table aa 000410 000045 710004 140 tra L39 L48: aa 000411 000001 335007 141 lca 1,dl " true aa 000412 600301 755100 sta sp|193 " Printersw L49: aa 000413 000135 350004 142 eapap L47 " a table aa 000414 000041 710004 tra L39 L41: " Begin switchon aa 000415 600156 235100 lda sp|110 " Device aa 000416 005265 115007 cmpa 2741,dl aa 000417 000003 604004 tmi L50 aa 000420 777757 600004 tze L42 aa 000421 777772 710004 tra L49 L50: aa 000422 001703 115007 cmpa 963,dl aa 000423 000005 604004 tmi L51 aa 000424 777753 600004 tze L42 aa 000425 002032 115007 cmpa 1050,dl aa 000426 777751 600004 tze L42 aa 000427 777764 710004 tra L49 L51: aa 000430 000312 115007 cmpa 202,dl aa 000431 000005 604004 tmi L52 aa 000432 777757 600004 tze L48 aa 000433 000454 115007 cmpa 300,dl aa 000434 777755 600004 tze L48 aa 000435 777756 710004 tra L49 L52: aa 000436 000043 773000 lrl 35 aa 000437 000005 507007 dvf 5,dl " hash table size 0a 000440 000450 115006 cmpa L53,ql aa 000441 777752 601004 tnz L49 0a 000442 000443 710006 tra L54,ql L54: aa 000443 777742 710004 tra L46 aa 000444 777735 710004 tra L44 aa 000445 777740 710004 tra L46 aa 000446 777737 710004 tra L46 aa 000447 777744 710004 tra L49 L53: aa 000450 000000 000003 zero 0,3 aa 000451 000000 000010 zero 0,8 aa 000452 000000 000002 zero 0,2 aa 000453 000000 000021 zero 0,17 aa 000454 000000 000000 zero 0 L40: L39: aa 000455 700004 540111 sprpap sb|4,x1 aa 000456 700004 236111 ldq sb|4,x1 aa 000457 700003 756111 stq sb|3,x1 " T aa 000460 600310 234100 145 szn sp|200 " Selsw aa 000461 000025 600004 tze L55 aa 000462 000117 350004 146 eapap L56 " "-M;**:%m*"(>Bg.kh9y2384657#Ee b H*c *Bg.kh912384657#**;<=%H*c *-P|XVUCAZO+WYJSQDFNR\TL!?I) _ K^*c * p,xvucazo&wyjsqdfnr@tl$/i0 G " aa 000470 700004 540111 sprpap sb|4,x1 " St L57: aa 000471 700004 235111 152 lda sb|4,x1 " St aa 000472 700012 755111 sta sb|10,x1 aa 000473 600157 235100 lda sp|111 " DeviceTable aa 000474 000040 075007 ada 32,dl " '*s' aa 000475 700013 755111 sta sb|11,x1 4a 000476 400030 272120 tsbbp lp|L59,* " Unpackstring aa 000477 000010 000002 zero 8,2 aa 000500 000040 235007 153 lda 32,dl " '*s' aa 000501 600157 760100 lprpap sp|111 " DeviceTable aa 000502 000040 755100 sta ap|32 aa 000503 000177 235007 lda 127,dl " Skip aa 000504 600157 762100 lprpbp sp|111 " DeviceTable aa 000505 200177 755100 sta bp|127 L55: aa 000506 000001 235007 156 lda 1,dl " 1 aa 000507 700004 755111 sta sb|4,x1 " i aa 000510 700003 761111 lprpab sb|3,x1 " T aa 000511 100000 235100 lda ab|0 aa 000512 700005 755111 sta sb|5,x1 aa 000513 000010 710004 tra L60 L61: aa 000514 000040 235007 lda 32,dl " '*s' aa 000515 700004 725111 lxl5 sb|4,x1 " i aa 000516 700003 763111 lprpbb sb|3,x1 " T aa 000517 300000 725115 lxl5 bb|0,x5 aa 000520 600157 765100 lprplb sp|111 " DeviceTable aa 000521 500000 755115 sta lb|0,x5 aa 000522 700004 054111 aos sb|4,x1 " i L60: aa 000523 700004 235111 lda sb|4,x1 " i aa 000524 700005 115111 cmpa sb|5,x1 aa 000525 777767 604404 tmoz L61 aa 000526 700004 450111 157 stz sb|4,x1 " i aa 000527 000012 710004 tra L62 L63: aa 000530 700004 726111 lxl6 sb|4,x1 " i aa 000531 600323 760100 lprpap sp|211 " TrTable aa 000532 000000 726116 lxl6 ap|0,x6 aa 000533 600157 762100 lprpbp sp|111 " DeviceTable aa 000534 200000 236116 ldq bp|0,x6 aa 000535 700004 722111 lxl2 sb|4,x1 " i aa 000536 600153 761100 lprpab sp|107 " Conv aa 000537 100000 756112 stq ab|0,x2 aa 000540 700004 054111 aos sb|4,x1 " i L62: aa 000541 700004 236111 ldq sb|4,x1 " i aa 000542 000177 116007 cmpq 127,dl " 127 aa 000543 777765 604404 tmoz L63 L36: aa 000544 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000545 200000 121100 sblx1 bp|0 aa 000546 700001 764111 lprplp sb|1,x1 aa 000547 200001 710100 tra bp|1 " end of return sequence " Literal pool L47: aa 000550 000000 000000 zero 0 " a table L58: aa 000551 000136 105115 zero 94,35405 " "EMme:b*'*"(>Bg.kh912384657#**;<=%H*c *-P|XVUCAZO+WYJSQDFNR\TL!?I) _ K^*c * p,xvucazo&wyjsqdfnr@tl$/i0 G " aa 000552 155145 072142 zero 55909,29794 aa 000553 047042 050076 zero 20002,20542 aa 000554 102147 056153 zero 33895,23659 aa 000555 150071 061062 zero 53305,25138 aa 000556 063070 064066 zero 26168,26678 aa 000557 065067 043052 zero 27191,17962 aa 000560 073074 075045 zero 30268,31269 aa 000561 110055 120174 zero 36909,41084 aa 000562 130126 125103 zero 45142,43587 aa 000563 101132 117053 zero 33370,40491 aa 000564 127131 112123 zero 44633,37971 aa 000565 121104 106116 zero 41540,35918 aa 000566 122134 124114 zero 42076,43084 aa 000567 041077 111051 zero 16959,37417 aa 000570 040137 040113 zero 16479,16459 aa 000571 136040 160054 zero 48160,57388 aa 000572 170166 165143 zero 61558,60003 aa 000573 141172 157046 zero 49786,56870 aa 000574 167171 152163 zero 61049,54387 aa 000575 161144 146156 zero 57956,52334 aa 000576 162100 164154 zero 58432,59500 aa 000577 044057 151060 zero 18479,53808 aa 000600 040107 040040 zero 16455,16416 L56: aa 000601 000136 055115 zero 94,23117 " "-M;**:%m*"(>Bg.kh9y2384657#Ee b H*c *2.1spec>online>mib083074>runoff_mr1.bcpl" aa 000065 163160 145143 aa 000066 076157 156154 aa 000067 151156 145076 aa 000070 155151 142060 aa 000071 070063 060067 aa 000072 064076 162165 aa 000073 156157 146146 aa 000074 137155 162061 aa 000075 056142 143160 aa 000076 154040 040040 aa 000077 076154 144144 " ">ldd>include>runoff_head.incl.bcpl" aa 000100 076151 156143 aa 000101 154165 144145 aa 000102 076162 165156 aa 000103 157146 146137 aa 000104 150145 141144 aa 000105 056151 156143 aa 000106 154056 142143 aa 000107 160154 040040 " Relocation information " text section relocation bits aa 000110 000000 000002 " version number of rel-bits structure aa 000111 000000 000461 " length in bits aa 000112 741005 170743 aa 000113 200024 744034 aa 000114 010360 336474 aa 000115 535517 012723 aa 000116 601664 000005 aa 000117 012024 000120 aa 000120 012001 200120 aa 000121 000500 050005 aa 000122 170056 000000 l " inkage relocation bits aa 000123 000000 000002 " version number of rel-bits structure aa 000124 000000 000234 " length in bits aa 000125 100002 204652 aa 000126 465246 524652 aa 000127 465246 524652 aa 000130 465246 524652 aa 000131 465200 000000 s " ymbol relocation bits aa 000132 000000 000002 " version number of rel-bits structure aa 000133 000000 000043 " length in bits aa 000134 740365 770342 " Object map aa 001523 000000 000001 " version number of object_map structure aa 001524 157142 152137 " "obj_map " aa 001525 155141 160040 aa 001526 000000 001111 " text offset, length aa 001527 001112 000215 " def offset, length aa 001530 001330 000036 " link offset, length aa 001531 001366 000135 " symbol offset, length aa 001532 000000 000000 " break map offset, length aa 001533 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 001534 001523 000000 " object map pointer, unused ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved