Compilation listing of file >udd>sm>ds>w>ml>runoff_mr2.bcpl. Compilation performed for Schroth.SysMaint.m at 04/18/00 1141.2 mdt Tue. Compiled by BCPL version 3.5, March 1982. Compiler updated at 04/22/82 1732.8 mdt Thu. Options applied: source xref alist optimize 6180. 1 // ROFF for Multics 2 // 3 // Last modified on 05/30/74 at 18:43:45 by R F Mabee. 4 // 5 // This file contains the main routine for processing control 6 // lines for ROFF for Multics, and some short routines used by it. 7 // Routines are: 8 // Control Routine to process control line. 9 // Set_param Update parameter with possibly signed value. 10 // Number Read numeric expression from line. 11 12 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 13 14 // General permission is granted to copy and use this program, but not to sell it, provided that the above 15 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 16 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 17 18 get "runoff_head" 1 // External, global, and manifest declarations for RUNOFF on Multics. 2 // Last modified on 04/02/74 at 16:09:55 by R F Mabee. 3 4 external // BCPL library routines used by RUNOFF. 5 $( Packstring = "bcpl_machine_code_$Packstring" 6 Unpackstring = "bcpl_machine_code_$Unpackstring" 7 Writech = "bcpl_machine_code_$Writech" 8 WriteS = "bcpl_stream_io_$WriteS" 9 WriteN = "bcpl_stream_io_$WriteN" 10 ConvertNtoS = "bcpl_conversions_$ConvertNtoS" 11 Newvec = "bcpl_filesys_lib_$Newvec" 12 Freevec = "bcpl_filesys_lib_$Freevec" 13 MinI = "bcpl_arithmetic_$MinI" 14 MaxI = "bcpl_arithmetic_$MaxI" 15 FormDate = "bcpl_conversions_$FormDate" 16 $) 17 18 19 external 20 { 21 22 // All routines that form RUNOFF are listed below, even those that are 23 // not external. This listing is thus a table of contents of RUNOFF. 24 25 // Adjust = "runoff_mr3$Adjust" // Print a line, with right-adjustment. 26 Blank = "runoff_mr4$Blank" // Print n blanks. 27 Break = "runoff_mr3$Break" // Break text, printing buffers. 28 // Center = "runoff_mr3$Center" // Print the current line, centered. 29 Check_ref = "runoff_mr9$Check_ref" // Handle reference to symbol in control line. 30 // Cleanup = "runoff_driver$Cleanup" // Close files, etc. Invoked by unwinder. 31 ConsoleReadline = "runoff_mr0$ConsoleReadline" // Accept next line from user_input. 32 Control = "runoff_mr2$Control" // Process a control line. 33 // DimAttach = "runoff_dim$runoff_attach" // IOSIM attach entry point. 34 // DimChangemode = "runoff_dim$runoff_changemode" // Change internal modes. 35 // DimDetach = "runoff_dim$runoff_detach" // Disconnect runoff DIM. 36 // DimOrder = "runoff_dim$runoff_order" // Execute runoff command line for dim. 37 // DimWrite = "runoff_dim$DimWrite" // Process chunk of text as runoff input. 38 Eject = "runoff_mr3$Eject" // Eject paper, printing footer. 39 // Equation = "runoff_mr3$Equation" // Print an equation. 40 ExecuteCommand = "runoff_mr0$ExecuteCommand" // Pass control line to command processor. 41 FillTrTable = "runoff_mr1$FillTrTable" // Set up a conversion table. 42 FindInput = "runoff_driver$FindInput" // Open new input stream for given name. 43 // FixTab = "runoff_mr0$FixTab" // Calculate tab position and insert blanks. 44 Foot_begin = "runoff_mr6$Foot_begin" // Start processing footnote 45 Foot_end = "runoff_mr6$Foot_end" // Finish processing footnote. 46 Freeheads = "runoff_mr5$Freeheads" // Release a set of headers or footers. 47 // GetArg = "runoff_driver$GetArg" // Arg fetching routine for Option. 48 Gethead = "runoff_mr5$Gethead" // Package header up in new vector. 49 // GetModeArg = "runoff_dim$GetArgMode" // Arg fetching routine for Option for DIM. 50 GetString = "runoff_mr8$GetString" // Read and store string expression. 51 // GetSymbol = "runoff_mr9$GetSymbol" // Find value and type of named symbol. 52 InitializeSymbolTree = "runoff_mr9$InitializeSymbolTree" // Load up symbol table at start-up. 53 InsertFile = "runoff_mr4$InsertFile" // Process .if line. 54 // MakeN = "runoff_mr8$MakeN" // Convert string to character constant (number). 55 Need = "runoff_mr4$Need" // Eject if not enough lines remain. 56 NeedSS = "runoff_mr4$NeedSS" // Need regardless of double-spacing. 57 Newline = "runoff_mr4$Newline" // Print n newline characters. 58 // Number = "runoff_mr2$Number" // Scan a number from a control line. 59 Nx_close = "runoff_mr0$Nx_close" // Close current input stream. 60 Nx_open = "runoff_mr0$Nx_open" // Open a new stacked input stream. 61 Nx_reset = "runoff_mr0$Nx_reset" // Set read pointer back to beginning of current file. 62 // OldModes = "runoff_dim$OldModes" // Create return mode string for changemode (dim). 63 // PrintErrorFile = "runoff_driver$PrintErrorFile" // Dump buffered error messages on console. 64 PrinterIndent = "runoff_mr4$PrinterIndent" // Indent an extra twenty spaces for printer. 65 PrintFootnotes = "runoff_mr6$PrintFootnotes" // To output the accumulated footnotes. 66 Readline = "runoff_mr0$Readline" // Read a line of input. 67 Readhead = "runoff_mr5$Readhead" // Read header into vector provided. 68 ReadExp = "runoff_mr8$ReadExp" // Evaluate an expression. 69 ReadName = "runoff_mr4$ReadName" // Scan name from control line, pack in vector. 70 ReadNumber = "runoff_mr8$ReadNumber" // Convert number from control line. 71 ReadParam = "runoff_mr8$ReadParam" // Evaluate a parameter expression. 72 ReadString = "runoff_mr8$ReadString" // Read a string. 73 Report = "runoff_mr0$Report" // Report an error in usage, etc. 74 Roff = "runoff_mr1$Roff" // The main program for RUNOFF. 75 RoffProcess = "runoff_mr0$RoffProcess" // Called for each input file. 76 // runoff_module = "runoff_$runoff_module_" // Outer module transfer vector for dim. 77 // RunoffCommand = "runoff_driver$runoff" // Command interface. 78 // Save = "runoff_dim$Save" // Store global vector in SDB for dim. 79 SetCharsw = "runoff_mr0$SetCharsw" // Turn chars feature on or off. 80 // SetCtable = "runoff_mr9$SetCtable" // Update translation table from .sr command. 81 SetDevice = "runoff_mr1$SetDevice" // Change tables for a new device. 82 Sethead = "runoff_mr5$Sethead" // Set up header or footer. 83 SetLinesLeft = "runoff_mr4$SetLinesLeft" // Repeat calculation of LinesLeft. 84 // SetModes = "runoff_dim$SetModes" // Mode changing subroutine for DIM. 85 SetPaging = "runoff_mr1$SetPaging" // Turn no pagination feature on or off. 86 SetSwitches = "runoff_mr1$SetSwitches" // Initialize most of runoff. 87 // SetSymbol = "runoff_mr9$SetSymbol" // Assign new value and type to named symbol. 88 // Set_param = "runoff_mr2$Set_param" // Update variable, absolute or relatve. 89 Set_ref = "runoff_mr9$Set_ref" // Define or update symbol. 90 // Skip = "runoff_mr8$Skip" // Skip over blanks in control line. 91 Skiptolabel = "runoff_mr4$Skiptolabel" // For .gb and .gf. 92 Spacing = "runoff_mr3$Spacing" // Process vertical spacing. 93 // StNum = "runoff_dim$StNum" // Store number into mode string for OldModes. 94 // Store = "runoff_mr7$Store" // Save character until line is complete (for "chars"). 95 StoreArabic = "runoff_mr4$StoreArabic" // Convert number to string. 96 // StoreCtable = "runoff_mr9$StoreCtable" // Convert translation table to string form. 97 StoreDate = "runoff_mr4$StoreDate" // Store current date in vector. 98 StoreRoman = "runoff_mr4$StoreRoman" // Store number as roman numeral. 99 StoreString = "runoff_mr0$StoreString" // Make copy of string in free storage. 100 // StSwitch = "runoff_dim$StSwitch" // Store switch mode into mode string. 101 // SubscriptString = "runoff_mr8$SubscriptString" // Evaluate substring expression. 102 Text = "runoff_mr3$Text" // Process 1 line of input text. 103 Title = "runoff_mr5$Title" // Print a header or a footer. 104 // Tree_search = "runoff_mr9$Tree_search" // Look named symbol up in symbol table. 105 // TryToHyphenate = "runoff_mr3$TryToHyphenate" // Last word won't fit on line, break it if possible. 106 Typeout = "runoff_mr0$Typeout" // Type rest of input line on console. 107 // Unsave = "runoff_dim$Unsave" // Restore globals from SDB for dim. 108 UpdateSymbol = "runoff_mr9$UpdateSymbol" // Set named symbol to value from control line. 109 Use_ref = "runoff_mr9$Use_ref" // Insert symbol value in place of symbol 110 Wait = "runoff_mr0$Wait" // Wait for an interaction from the console. 111 Width = "runoff_mr3$Width" // Return width of a character. 112 WrCh = "runoff_mr7$WrCh" // "Chars" routine 113 WrChInit = "runoff_mr7$WrChInit" // Initialize "chars" routine 114 WriteChar = "runoff_mr4$WriteChar" // Write a character of output. 115 // Wrline = "runoff_ms7$Wrline" // Write stored line into chars file. 116 117 } 118 119 global // Scalars, switches, common vectors, etc. ... 120 { 121 Ad : 100 // Adjust 122 Again : 101 // Input line in Rawchar must be reprocessed. 123 Ce : 102 // Number of lines to center. 124 Char : 103 // Buffer for output characters. 125 CharsTable : 104 // Table of special characters for .chars output. 126 Charsw : 105 // Indication of unprintable characters. 127 ChStream : 106 // Output stream for "chars" option output 128 Conv : 107 // Character conversion. 129 130 Device : 110 // Type of device output is to be formatted for. 131 DeviceTable : 111 // Conversions for this device. 132 Ef : 112 // Even foot 133 Eh : 113 // Even head. 134 Eq : 114 // Equation line counter. 135 Eqcnt : 115 // Equation reference counter 136 ErrorfilePointer : 116 // Pointer to the temporary error file if any. 137 Errorstream : 117 // Output stream for diagnostics. 138 139 ErrorTempID : 120 // ID number for temporary error message segment. 140 ExpError : 121 // Indicates badly formed expression. 141 ExtraMargin : 122 // Indent entire text this many spaces. 142 Fc : 123 // No. of characters in Footbuf 143 Fd : 124 // Remember if text is double spaced 144 Fi : 125 // Fill switch. 145 FileName : 126 // Name of first input file. 146 Filesw : 127 // True if output is going to a file. 147 148 Findent : 130 // Indenting in use before entering footnote. 149 Fl : 131 // No. of lines in FootList 150 Flp : 132 // Print line although page appears full 151 Foot : 133 // Footnote counter 152 Footbuf : 134 // Buffer to hold current footnote. 153 FootList : 135 // Working pointer into list of footnote lines. 154 FootListBase : 136 // Base of footnote list. 155 FootRef : 137 // Footnote reference string in footnote body. 156 157 Fp : 140 // First page to print. 158 Fr : 141 // Footnote counter reset switch 159 From : 142 // -from argument. 160 Ft : 143 // Footnote processing switch 161 Fth : 144 // Vector for user-defined demarcation line 162 Fundent : 145 // Undenting in use before entering footnote. 163 Hyphenating : 146 // True if an attempt to break a word should be made. 164 In : 147 // Indent to here. 165 166 InputFileName : 150 // Name of current input file. 167 InputLines : 151 // Current line number in current source file. 168 InputStack : 152 // Stack of saved input streams. 169 JumpLine : 153 // Line number of .gb or .gf command during skip. 170 LinesLeft : 154 // Number of usable text lines left on this page. 171 LIno : 155 // Number of literal lines following. 172 Ll : 156 // Line length. 173 Lp : 157 // Last page to print. 174 175 Ma1 : 160 // Space above header. 176 Ma2 : 161 // Space below header. 177 Ma3 : 162 // Space above foot. 178 Ma4 : 163 // Space below foot. 179 Ms : 164 // Spacing between lines (ss = 1, ds = 2, etc.) 180 MultiplePagecount : 165 // Form feeds between pages to printer. 181 Nc : 166 // Number of characters in Char. 182 NestingDepth : 167 // Index into stack of input files. 183 184 Nl : 170 // Last used line number. 185 NNp : 171 // Next page number. 186 NoControl : 172 // True if control lines are to be ignored. 187 NoFill : 173 // True if fill mode is always off. 188 NoFtNo : 174 // True to suppress number on next footnote reference. 189 NoPaging : 175 // True if no pagination is desired. 190 Np : 176 // Current page number. 191 Nr : 177 // Number of characters in Rawchar. 192 193 Nrx : 180 // Count through input buffer. 194 OddPage : 181 // True if current page number is odd. 195 Of : 182 // Odd foot. 196 Oh : 183 // Odd head. 197 Output : 184 // Runoff's main text output stream. 198 PadLeft : 185 // True if padding is to start from left of line. 199 Parameter : 186 // Initial value of built-in symbol. 200 Passes : 187 // Number of passes left to make. 201 202 Pi : 190 // Space needed for a picture. 203 Pl : 191 // Paper length. 204 Print : 192 // Whether or not to print. 205 Printersw : 193 // Output is intended for online printer. 206 PrintLineNumbers : 194 // True if source line numbers are to be printed in output. 207 Rawchar : 195 // Buffer for input line. 208 Roman : 196 // Roman numeral pagination. 209 SavedCc : 197 // Temporary used by WriteChar. 210 211 Selsw : 200 // for selectric ball option 212 Spec_char : 201 // For symbol references. 213 Start : 202 // -start argument. 214 Stopsw : 203 // Stop between pages of output. 215 Temp : 204 // Vector to hold unprinted character 216 Tempc : 205 // No. of characters in Temp 217 TextRef : 206 // Footnote reference string in main text. 218 TimeNow : 207 // Clock reading when runoff is entered. 219 220 To : 210 // -to argument. 221 TrTable : 211 // Translation table for .tr. 222 TreeRoot : 212 // Base of symbol tree. 223 Un : 213 // Undent to here. 224 Waitsw : 214 // From -wait option. 225 226 // 300 to 309 are reserved for runoff_driver. 227 // 310 to 319 are reserved for runoff_dim. 228 // 320 to 329 are reserved for runoff_mr0. 229 // 330 to 339 are reserved for runoff_mr7. 230 } 231 232 manifest 233 { 234 ByteBits = 9 // Bits per character, as packed by compiler. 235 Skip = $8177 // A character that will be ignored on output. 236 Maxline = 400 // Buffer lengths for input and output 237 Maxheads = 20 // No of header or footer lines. 238 MaxDepth = 90 // Nesting times 3 for .if. 239 240 LL_ = 65 // Default line length. 241 PL_ = 66 // Default page length -- 11 inches, 6 lines/in. 242 MA1_ = 4 // Default top margin above header 243 MA2_ = 2 // Default top margin below header 244 MA3_ = 2 // Default bottom margin above footer 245 MA4_ = 4 // Default bottom margin below footer 246 } 18 // Declarations for ROFF. 19 20 21 // Control is called with a control line in 22 // Rawchar[1] ... Rawchar[Nr] 23 // when Rawchar[1] is '.' . It processes 24 // the control word in columns 2 and 3. 25 26 let Control () be 27 { // Control 28 29 // Set Nrx to point to first non-blank 30 // after column 3. (We know column 3 is non-blank.) 31 32 Nrx := 4 // Start scan here. 33 Nr := Nr + 1 // So characters in the last column of input can be read (kludge) 34 while Rawchar[Nrx] ne '*s' & Nrx < Nr do Nrx := Nrx + 1 35 while Rawchar[Nrx] = '*s' & Nrx < Nr do Nrx := Nrx + 1 36 37 // Branch, depending on the control word in columns 2 and 3. 38 39 switchon (Rawchar[2]lshift ByteBits logor Rawchar[3]) into 40 { 41 default: if Rawchar[2] = '**' return // Valid comment. 42 Report ("Unknown control request") 43 return 44 45 case '** ': 46 return // Most comments. 47 48 case '~ ': 49 if Charsw do // .~ means copy line into chars file. 50 $( for i = 1 to Nr - 1 do WrCh (Rawchar!i) 51 WrCh ('*n') 52 $) 53 return 54 55 case 'ad': 56 Break (); Ad := true; return 57 58 case 'ar': 59 Roman := false; return 60 61 case 'bp': 62 Break (); Eject (); return 63 64 case 'br': 65 Break (); return 66 67 case 'cc': 68 test Nrx = Nr 69 then Spec_char := '%' 70 else Spec_char := Rawchar[Nrx] 71 return 72 73 case 'ce': 74 Break (); Ce := Number (); Need (Ce); return 75 76 case 'ch': 77 while Nrx < Nr do 78 $( CharsTable!(Rawchar!Nrx) := Rawchar!(Nrx + 1) 79 Nrx := Nrx + 2 80 $) 81 return 82 83 case 'ds': 84 Break (); Ms := 2; Need (2); return 85 86 case 'ef': 87 Sethead (Ef); SetLinesLeft (); return 88 89 case 'eh': 90 Sethead (Eh); return 91 92 case 'eq': 93 // Next n lines are equations. 94 Break (); Eq := Number (); Need (Eq); return 95 96 case 'ex': 97 if Nrx < Nr do ExecuteCommand () 98 return 99 100 case 'fh': 101 unless Fth = 0 do Freevec (Fth) 102 Fth := Gethead () 103 return 104 105 case 'fi': 106 Break (); unless NoFill do Fi := true; return 107 108 case 'fo': 109 Sethead (Ef); Sethead (Of); SetLinesLeft (); return 110 111 case 'fr': 112 if Rawchar[Nrx] = 'f' do { Fr := false; return } // Renumber on each page - _false. 113 if Rawchar[Nrx] = 't' do { Fr := true; return } // '' - _true. 114 if Rawchar[Nrx] = 'u' do { NoFtNo := true; return } // Next footnote _unnumbered. 115 Fr := false 116 return 117 118 case 'ft': 119 test Ft 120 then Foot_end () 121 or Foot_begin () 122 return 123 124 case 'gb': 125 Skiptolabel (false) // Jump backwards. 126 return 127 128 case 'gf': 129 Skiptolabel (true) // Jump forward. 130 return 131 132 case 'he': 133 Sethead (Eh); Sethead (Oh); return 134 135 case 'if': 136 InsertFile (); return 137 138 case 'in': 139 // Establish indenting. 140 Break () 141 Set_param (lv In, 0) 142 Un := In 143 return 144 145 case 'la': 146 return // Label for jumps, ignore. 147 148 case 'li': 149 // Treat next n lines as text. 150 LIno := Number (); return 151 152 case 'll': 153 // Set line length. 154 Set_param (lv Ll, LL_); return 155 156 case 'ma': 157 // Establish top and bottom margins. 158 Set_param (lv Ma1, MA1_); Set_param (lv Ma4, MA4_) 159 SetLinesLeft () 160 return 161 162 case 'm1': 163 // Set space above header 164 Set_param (lv Ma1, MA1_) 165 return 166 167 case 'm2': 168 // Set space below header and above text 169 Set_param (lv Ma2,MA2_) 170 return 171 172 case 'm3': 173 // Set space above footer and below text 174 Set_param (lv Ma3,MA3_) 175 SetLinesLeft () 176 return 177 178 case 'm4': 179 // Set space below footer 180 Set_param (lv Ma4,MA4_) 181 SetLinesLeft () 182 return 183 184 case 'mp': 185 // Set multiple paging. 186 Set_param (lv MultiplePagecount, 1) 187 return 188 189 case 'ms': 190 // Set multiple spacing 191 Break () 192 Set_param (lv Ms, 1) 193 Need (2) 194 return 195 196 case 'na': 197 Break (); Ad := false; return 198 199 case 'ne': 200 NeedSS (Number ()); return 201 202 case 'nf': 203 Break (); Fi := false; return 204 205 case 'of': 206 Sethead (Of); SetLinesLeft (); return 207 208 case 'oh': 209 Sethead (Oh); return 210 211 case 'op': 212 Break (); Eject (); Np := Np + 1 - Np rem 2; goto SetPrint 213 214 case 'pa': 215 // Start a new page, with designated page number. 216 Break (); Eject () // Finish this page. 217 Set_param (lv Np, Np) // Set next page number. 218 SetPrint: 219 NNp := Np + 1 220 Print := Fp le Np le Lp & Passes le 1 221 return 222 223 case 'pi': 224 // Leave space for a picture to be drawn. 225 Pi := Pi + Number () 226 if Pi le LinesLeft do 227 $( Newline (Pi) 228 Pi := 0 229 $) 230 return 231 232 case 'pl': 233 // Set up paper length. 234 unless NoPaging do Set_param (lv Pl, PL_) 235 SetLinesLeft () 236 return 237 238 239 case 'rd': 240 Nr := ConsoleReadline (Rawchar) 241 Again := true 242 return 243 244 case 'ro': 245 Roman := true; return 246 247 case 'rt': 248 Nr := 0; Nx_close (); return 249 250 case 'sk': 251 NNp := NNp + Number (); return 252 253 case 'sp': 254 // Leave n lines blank. 255 Break () // Finish current line. 256 if Nl = 0 do Spacing () // If new page, print header. 257 Newline (MinI (Number (), LinesLeft)) 258 Need (2) 259 return 260 261 case 'sr': 262 Set_ref () 263 return 264 265 case 'ss': 266 Break (); Ms := 1; Need (2); return 267 268 case 'tr': 269 // Modify character conversion table. 270 while Nrx < Nr do 271 $( TrTable!(Rawchar!Nrx) := Rawchar!(Nrx + 1) 272 Conv!(Rawchar!Nrx) := DeviceTable!(Rawchar!(Nrx + 1)) 273 Nrx := Nrx + 2 274 $) 275 return 276 277 case 'ts': 278 if Number () = 0 do Readline (); return // Conditional skip. 279 280 case 'ty': 281 Typeout (); return 282 283 case 'un': 284 // Undent next line n spaces. 285 Break () 286 Un := Nrx ge Nr -> 0, In - Number () // Default is undent to left margin. 287 if Un < 0 do Un := 0 288 return 289 290 case 'ur': 291 if Nrx < Nr do 292 $( let w = vec Maxline 293 Nr := Use_ref (Rawchar + Nrx - 1, w, Nr - Nrx) 294 for i = 1 to Nr do Rawchar!i := w!i 295 Rawchar!(Nr + 1) := '*s' 296 Again := true 297 $) 298 return 299 300 case 'wt': 301 Wait (); return 302 303 } 304 } // Control 305 306 // This subroutine sets some parameter of runoff to either some value 307 // or to some offset from its current value. If the operand is omitted 308 // in the control line, the result is Default. If the operand is signed, 309 // it is added into the old value. Otherwise the operand field value 310 // replaces the old value. 311 // Param is actually the lv of the cell to update. 312 // This function returns the value of the operand field of a control line. 313 // If the operand is omitted, it returns one. 314 and Set_param (Param, Default) be 315 $( Check_ref () 316 if Nrx ge Nr do 317 $( rv Param := Default 318 return 319 $) 320 let OldNrx = Nrx 321 let P = ReadParam (rv Param) 322 if P < 0 do P := 0 323 rv Param := P 324 Nrx := OldNrx 325 $) 326 and Number () = valof 327 $( if Nrx ge Nr resultis 1 328 Check_ref () 329 ExpError := false 330 let v = vec Maxline 331 let n = ReadExp (0, v) 332 if ExpError | Nrx < Nr do Report ("Malformed expression") 333 resultis n 334 $) CAE time 2.5, 223 source lines per second. cross reference table Ad runoff_head: 121, runoff_mr2: 56, 197 Again runoff_head: 122, runoff_mr2: 241, 296 Blank runoff_head: 26 Break runoff_head: 27, runoff_mr2: 56, 62, 65, 74, 84, 94, 106, 140, 191, 197, 203, 212, 216, 255, 266, 285 ByteBits runoff_head: 234, runoff_mr2: 39 Ce runoff_head: 123, runoff_mr2: 74, 74 Char runoff_head: 124 CharsTable runoff_head: 125, runoff_mr2: 78 Charsw runoff_head: 126, runoff_mr2: 49 Check_ref runoff_head: 29, runoff_mr2: 315, 328 ChStream runoff_head: 127 ConsoleReadline runoff_head: 31, runoff_mr2: 240 Control runoff_head: 32, runoff_mr2: 26 Conv runoff_head: 128, runoff_mr2: 272 ConvertNtoS runoff_head: 10 Default runoff_mr2: 314, 317 Device runoff_head: 130 DeviceTable runoff_head: 131, runoff_mr2: 272 Ef runoff_head: 132, runoff_mr2: 87, 109 Eh runoff_head: 133, runoff_mr2: 90, 133 Eject runoff_head: 38, runoff_mr2: 62, 212, 216 Eq runoff_head: 134, runoff_mr2: 94, 94 Eqcnt runoff_head: 135 ErrorfilePointer runoff_head: 136 Errorstream runoff_head: 137 ErrorTempID runoff_head: 139 ExecuteCommand runoff_head: 40, runoff_mr2: 97 ExpError runoff_head: 140, runoff_mr2: 329, 332 ExtraMargin runoff_head: 141 Fc runoff_head: 142 Fd runoff_head: 143 Fi runoff_head: 144, runoff_mr2: 106, 203 FileName runoff_head: 145 Filesw runoff_head: 146 FillTrTable runoff_head: 41 Findent runoff_head: 148 FindInput runoff_head: 42 Fl runoff_head: 149 Flp runoff_head: 150 Foot runoff_head: 151 Footbuf runoff_head: 152 FootList runoff_head: 153 FootListBase runoff_head: 154 FootRef runoff_head: 155 Foot_begin runoff_head: 44, runoff_mr2: 121 Foot_end runoff_head: 45, runoff_mr2: 120 FormDate runoff_head: 15 Fp runoff_head: 157, runoff_mr2: 220 Fr runoff_head: 158, runoff_mr2: 112, 113, 115 Freeheads runoff_head: 46 Freevec runoff_head: 12, runoff_mr2: 101 From runoff_head: 159 Ft runoff_head: 160, runoff_mr2: 119 Fth runoff_head: 161, runoff_mr2: 101, 101, 102 Fundent runoff_head: 162 Gethead runoff_head: 48, runoff_mr2: 102 GetString runoff_head: 50 Hyphenating runoff_head: 163 i runoff_mr2: 50, 50, 294, 294, 294 In runoff_head: 164, runoff_mr2: 141, 142, 286 InitializeSymbolTree runoff_head: 52 InputFileName runoff_head: 166 InputLines runoff_head: 167 InputStack runoff_head: 168 InsertFile runoff_head: 53, runoff_mr2: 136 JumpLine runoff_head: 169 LinesLeft runoff_head: 170, runoff_mr2: 226, 257 LIno runoff_head: 171, runoff_mr2: 150 Ll runoff_head: 172, runoff_mr2: 154 LL_ runoff_head: 240, runoff_mr2: 154 Lp runoff_head: 173, runoff_mr2: 220 Ma1 runoff_head: 175, runoff_mr2: 158, 164 MA1_ runoff_head: 242, runoff_mr2: 158, 164 Ma2 runoff_head: 176, runoff_mr2: 169 MA2_ runoff_head: 243, runoff_mr2: 169 Ma3 runoff_head: 177, runoff_mr2: 174 MA3_ runoff_head: 244, runoff_mr2: 174 Ma4 runoff_head: 178, runoff_mr2: 158, 180 MA4_ runoff_head: 245, runoff_mr2: 158, 180 MaxDepth runoff_head: 238 Maxheads runoff_head: 237 MaxI runoff_head: 14 Maxline runoff_head: 236, runoff_mr2: 292, 330 MinI runoff_head: 13, runoff_mr2: 257 Ms runoff_head: 179, runoff_mr2: 84, 192, 266 MultiplePagecount runoff_head: 180, runoff_mr2: 186 n runoff_mr2: 331, 333 Nc runoff_head: 181 Need runoff_head: 55, runoff_mr2: 74, 84, 94, 193, 258, 266 NeedSS runoff_head: 56, runoff_mr2: 200 NestingDepth runoff_head: 182 Newline runoff_head: 57, runoff_mr2: 227, 257 Newvec runoff_head: 11 Nl runoff_head: 184, runoff_mr2: 256 NNp runoff_head: 185, runoff_mr2: 219, 251, 251 NoControl runoff_head: 186 NoFill runoff_head: 187, runoff_mr2: 106 NoFtNo runoff_head: 188, runoff_mr2: 114 NoPaging runoff_head: 189, runoff_mr2: 234 Np runoff_head: 190, runoff_mr2: 212, 212, 212, 217, 217, 219, 220 Nr runoff_head: 191, runoff_mr2: 33, 33, 34, 35, 50, 68, 77, 97, 240, 248, 270, 286, 291, 293, 293, 294, 295, 316, 327, 332 Nrx runoff_head: 193, runoff_mr2: 32, 34, 34, 34, 34, 35, 35, 35, 35, 68, 70, 77, 78, 78, 79, 79, 97, 112, 113, 114, 270, 271, 271, 272, 272, 273, 273, 286, 291, 293, 293, 316, 320, 324, 327, 332 Number runoff_mr2: 74, 94, 150, 200, 225, 251, 257, 278, 286, 326 Nx_close runoff_head: 59, runoff_mr2: 248 Nx_open runoff_head: 60 Nx_reset runoff_head: 61 OddPage runoff_head: 194 Of runoff_head: 195, runoff_mr2: 109, 206 Oh runoff_head: 196, runoff_mr2: 133, 209 OldNrx runoff_mr2: 320, 324 Output runoff_head: 197 P runoff_mr2: 321, 322, 322, 323 Packstring runoff_head: 5 PadLeft runoff_head: 198 Param runoff_mr2: 314, 317, 321, 323 Parameter runoff_head: 199 Passes runoff_head: 200, runoff_mr2: 220 Pi runoff_head: 202, runoff_mr2: 225, 225, 226, 227, 228 Pl runoff_head: 203, runoff_mr2: 234 PL_ runoff_head: 241, runoff_mr2: 234 Print runoff_head: 204, runoff_mr2: 220 PrinterIndent runoff_head: 64 Printersw runoff_head: 205 PrintFootnotes runoff_head: 65 PrintLineNumbers runoff_head: 206 Rawchar runoff_head: 207, runoff_mr2: 34, 35, 39, 39, 41, 50, 70, 78, 78, 112, 113, 114, 240, 271, 271, 272, 272, 293, 294, 295 ReadExp runoff_head: 68, runoff_mr2: 331 Readhead runoff_head: 67 Readline runoff_head: 66, runoff_mr2: 278 ReadName runoff_head: 69 ReadNumber runoff_head: 70 ReadParam runoff_head: 71, runoff_mr2: 321 ReadString runoff_head: 72 Report runoff_head: 73, runoff_mr2: 42, 332 Roff runoff_head: 74 RoffProcess runoff_head: 75 Roman runoff_head: 208, runoff_mr2: 59, 245 SavedCc runoff_head: 209 Selsw runoff_head: 211 SetCharsw runoff_head: 79 SetDevice runoff_head: 81 Sethead runoff_head: 82, runoff_mr2: 87, 90, 109, 109, 133, 133, 206, 209 SetLinesLeft runoff_head: 83, runoff_mr2: 87, 109, 159, 175, 181, 206, 235 SetPaging runoff_head: 85 SetPrint runoff_mr2: 212, 218 SetSwitches runoff_head: 86 Set_param runoff_mr2: 141, 154, 158, 158, 164, 169, 174, 180, 186, 192, 217, 234, 314 Set_ref runoff_head: 89, runoff_mr2: 262 Skip runoff_head: 235 Skiptolabel runoff_head: 91, runoff_mr2: 125, 129 Spacing runoff_head: 92, runoff_mr2: 256 Spec_char runoff_head: 212, runoff_mr2: 69, 70 Start runoff_head: 213 Stopsw runoff_head: 214 StoreArabic runoff_head: 95 StoreDate runoff_head: 97 StoreRoman runoff_head: 98 StoreString runoff_head: 99 Temp runoff_head: 215 Tempc runoff_head: 216 Text runoff_head: 102 TextRef runoff_head: 217 TimeNow runoff_head: 218 Title runoff_head: 103 To runoff_head: 220 TreeRoot runoff_head: 222 TrTable runoff_head: 221, runoff_mr2: 271 Typeout runoff_head: 106, runoff_mr2: 281 Un runoff_head: 223, runoff_mr2: 142, 286, 287, 287 Unpackstring runoff_head: 6 UpdateSymbol runoff_head: 108 Use_ref runoff_head: 109, runoff_mr2: 293 v runoff_mr2: 330, 331 w runoff_mr2: 292, 293, 294 Wait runoff_head: 110, runoff_mr2: 301 Waitsw runoff_head: 224 Width runoff_head: 111 WrCh runoff_head: 112, runoff_mr2: 50, 51 WrChInit runoff_head: 113 Writech runoff_head: 7 WriteChar runoff_head: 114 WriteN runoff_head: 9 WriteS runoff_head: 8 Trans time 1.9, 673 object words per second. " Begin text of Number aa 000000 000006 116165 zero 6,40053 " Number aa 000001 155142 145162 zero 55906,51826 L3: aa 000002 000000 213000 326 epaq 0 " set lp to linkage section aa 000003 700026 764161 lprplp sb|22,*au aa 000004 200000 021100 adlx1 bp|0 " BCPL save aa 000005 700000 542111 sprpbp sb|0,x1 aa 000006 700001 544111 sprplp sb|1,x1 aa 000007 700651 620111 eax0 sb|425,x1 aa 000010 777760 360003 anx0 -16,du aa 000011 700025 740100 stx0 sb|21 aa 000012 600023 740100 stx0 sp|19 " end of save sequence aa 000013 600264 236100 327 ldq sp|180 " Nrx aa 000014 600261 116100 cmpq sp|177 " Nr aa 000015 000003 604004 tmi L7 aa 000016 000001 235007 lda 1,dl " 1 aa 000017 000026 710004 tra L6 L7: 4a 000020 400076 272120 328 tsbbp lp|L8,* " Check_ref aa 000021 000626 000000 zero 406 aa 000022 600171 450100 329 stz sp|121 " ExpError aa 000023 700004 350111 330 eapap sb|4,x1 " a vector aa 000024 700003 540111 sprpap sb|3,x1 " v aa 000025 700630 450111 331 stz sb|408,x1 aa 000026 700003 236111 ldq sb|3,x1 " v aa 000027 700631 756111 stq sb|409,x1 4a 000030 400074 272120 tsbbp lp|L9,* " ReadExp aa 000031 000626 000002 zero 406,2 aa 000032 700625 756111 stq sb|405,x1 " n aa 000033 600171 234100 332 szn sp|121 " ExpError aa 000034 000004 601004 tnz L11 aa 000035 600264 236100 ldq sp|180 " Nrx aa 000036 600261 116100 cmpq sp|177 " Nr aa 000037 000005 605004 tpl L10 L11: aa 000040 000012 350004 eapap L12 " "Malformed expression" aa 000041 700630 540111 sprpap sb|408,x1 4a 000042 400072 272120 tsbbp lp|L13,* " Report aa 000043 000626 000001 zero 406,1 L10: aa 000044 700625 235111 333 lda sb|405,x1 " n L6: aa 000045 000044 777000 llr 36 " exchange A and Q aa 000046 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000047 200000 121100 sblx1 bp|0 aa 000050 700001 764111 lprplp sb|1,x1 aa 000051 200001 710100 tra bp|1 " end of return sequence " Literal pool L12: aa 000052 000024 115141 zero 20,39521 " "Malformed expression" aa 000053 154146 157162 zero 55398,56946 aa 000054 155145 144040 zero 55909,51232 aa 000055 145170 160162 zero 51832,57458 aa 000056 145163 163151 zero 51827,58985 aa 000057 157156 000000 zero 56942 " Begin text of Set_param aa 000060 000011 123145 zero 9,42597 " Set_param aa 000061 164137 160141 zero 59487,57441 aa 000062 162141 155000 zero 58465,55808 L2: aa 000063 000000 213000 314 epaq 0 " set lp to linkage section aa 000064 700026 764161 lprplp sb|22,*au aa 000065 200000 021100 adlx1 bp|0 " BCPL save aa 000066 700000 542111 sprpbp sb|0,x1 aa 000067 700001 544111 sprplp sb|1,x1 aa 000070 700422 620111 eax0 sb|274,x1 aa 000071 777760 360003 anx0 -16,du aa 000072 700025 740100 stx0 sb|21 aa 000073 600023 740100 stx0 sp|19 " end of save sequence 4a 000074 400076 272120 315 tsbbp lp|L8,* " Check_ref aa 000075 000010 000000 zero 8 aa 000076 600264 236100 316 ldq sp|180 " Nrx aa 000077 600261 116100 cmpq sp|177 " Nr aa 000100 000005 604004 tmi L17 aa 000101 700003 235111 317 lda sb|3,x1 " Default aa 000102 700002 760111 lprpap sb|2,x1 " Param aa 000103 000000 755100 sta ap|0 " Param aa 000104 000021 710004 318 tra L16 L17: aa 000105 600264 235100 320 lda sp|180 " Nrx aa 000106 700004 755111 sta sb|4,x1 " OldNrx aa 000107 700002 762111 321 lprpbp sb|2,x1 " Param aa 000110 200000 235100 lda bp|0 aa 000111 700012 755111 sta sb|10,x1 4a 000112 400070 272120 tsbbp lp|L18,* " ReadParam aa 000113 000010 000001 zero 8,1 aa 000114 700005 756111 stq sb|5,x1 " P aa 000115 700005 234111 322 szn sb|5,x1 " P aa 000116 000002 605004 tpl L19 aa 000117 700005 450111 stz sb|5,x1 " P L19: aa 000120 700005 236111 323 ldq sb|5,x1 " P aa 000121 700002 761111 lprpab sb|2,x1 " Param aa 000122 100000 756100 stq ab|0 " Param aa 000123 700004 236111 324 ldq sb|4,x1 " OldNrx aa 000124 600264 756100 stq sp|180 " Nrx L16: aa 000125 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000126 200000 121100 sblx1 bp|0 aa 000127 700001 764111 lprplp sb|1,x1 aa 000130 200001 710100 tra bp|1 " end of return sequence " Begin text of Control aa 000131 000007 103157 zero 7,34415 " Control aa 000132 156164 162157 zero 56436,58479 aa 000133 154000 000000 zero 55296 L1: aa 000134 000000 213000 26 epaq 0 " set lp to linkage section aa 000135 700026 764161 lprplp sb|22,*au aa 000136 200000 021100 adlx1 bp|0 " BCPL save aa 000137 700000 542111 sprpbp sb|0,x1 aa 000140 700001 544111 sprplp sb|1,x1 aa 000141 700654 620111 eax0 sb|428,x1 aa 000142 777760 360003 anx0 -16,du aa 000143 700025 740100 stx0 sb|21 aa 000144 600023 740100 stx0 sp|19 " end of save sequence aa 000145 000004 236007 32 ldq 4,dl " 4 aa 000146 600264 756100 stq sp|180 " Nrx aa 000147 600261 054100 33 aos sp|177 " Nr aa 000150 000002 710004 34 tra L24 L25: aa 000151 600264 054100 aos sp|180 " Nrx L24: aa 000152 600264 722100 lxl2 sp|180 " Nrx aa 000153 600303 763100 lprpbb sp|195 " Rawchar aa 000154 300000 236112 ldq bb|0,x2 aa 000155 000040 116007 cmpq 32,dl " '*s' aa 000156 000004 600004 tze L26 aa 000157 600264 235100 lda sp|180 " Nrx aa 000160 600261 115100 cmpa sp|177 " Nr aa 000161 777770 604004 tmi L25 L26: aa 000162 000002 710004 35 tra L27 L28: aa 000163 600264 054100 aos sp|180 " Nrx L27: aa 000164 600264 723100 lxl3 sp|180 " Nrx aa 000165 600303 765100 lprplb sp|195 " Rawchar aa 000166 500000 236113 ldq lb|0,x3 aa 000167 000040 116007 cmpq 32,dl " '*s' aa 000170 000004 601004 tnz L29 aa 000171 600264 235100 lda sp|180 " Nrx aa 000172 600261 115100 cmpa sp|177 " Nr aa 000173 777770 604004 tmi L28 L29: aa 000174 001036 710004 41 tra L31 L32: aa 000175 600303 760100 lprpap sp|195 " Rawchar aa 000176 000002 236100 ldq ap|2 aa 000177 000052 116007 cmpq 42,dl " '**' aa 000200 001346 600004 tze L23 aa 000201 001351 352004 42 eapbp L33 " "Unknown control request" aa 000202 700632 542111 sprpbp sb|410,x1 4a 000203 400072 272120 tsbbp lp|L13,* " Report aa 000204 000630 000001 zero 408,1 aa 000205 001341 710004 45 tra L23 L34: aa 000206 001340 710004 48 tra L23 L35: aa 000207 600151 234100 49 szn sp|105 " Charsw aa 000210 000025 600004 tze L36 aa 000211 000001 235007 50 lda 1,dl " 1 aa 000212 700002 755111 sta sb|2,x1 " i aa 000213 600261 235100 lda sp|177 " Nr aa 000214 000001 175007 sba 1,dl " 1 aa 000215 700003 755111 sta sb|3,x1 aa 000216 000010 710004 tra L38 L37: aa 000217 700002 724111 lxl4 sb|2,x1 " i aa 000220 600303 762100 lprpbp sp|195 " Rawchar aa 000221 200000 235114 lda bp|0,x4 aa 000222 700632 755111 sta sb|410,x1 4a 000223 400066 272120 tsbbp lp|L39,* " WrCh aa 000224 000630 000001 zero 408,1 aa 000225 700002 054111 aos sb|2,x1 " i L38: aa 000226 700002 235111 lda sb|2,x1 " i aa 000227 700003 115111 cmpa sb|3,x1 aa 000230 777767 604404 tmoz L37 aa 000231 000012 236007 51 ldq 10,dl " '*n' aa 000232 700632 756111 stq sb|410,x1 4a 000233 400066 272120 tsbbp lp|L39,* " WrCh aa 000234 000630 000001 zero 408,1 L36: aa 000235 001311 710004 55 tra L23 L40: 4a 000236 400064 272120 56 tsbbp lp|L41,* " Break aa 000237 000630 000000 zero 408 aa 000240 000001 336007 lcq 1,dl " true aa 000241 600144 756100 stq sp|100 " Ad aa 000242 001304 710004 58 tra L23 L42: aa 000243 600304 450100 59 stz sp|196 " Roman aa 000244 001302 710004 61 tra L23 L43: 4a 000245 400064 272120 62 tsbbp lp|L41,* " Break aa 000246 000630 000000 zero 408 4a 000247 400062 272120 tsbbp lp|L44,* " Eject aa 000250 000630 000000 zero 408 aa 000251 001275 710004 64 tra L23 L45: 4a 000252 400064 272120 65 tsbbp lp|L41,* " Break aa 000253 000630 000000 zero 408 aa 000254 001272 710004 67 tra L23 L46: aa 000255 600264 236100 68 ldq sp|180 " Nrx aa 000256 600261 116100 cmpq sp|177 " Nr aa 000257 000004 601004 tnz L48 aa 000260 000045 235007 69 lda 37,dl " '%' aa 000261 600311 755100 sta sp|201 " Spec_char aa 000262 000005 710004 tra L47 L48: aa 000263 600264 725100 70 lxl5 sp|180 " Nrx aa 000264 600303 761100 lprpab sp|195 " Rawchar aa 000265 100000 235115 lda ab|0,x5 aa 000266 600311 755100 sta sp|201 " Spec_char L47: aa 000267 001257 710004 73 tra L23 L49: 4a 000270 400064 272120 74 tsbbp lp|L41,* " Break aa 000271 000630 000000 zero 408 aa 000272 777512 272004 tsbbp L3+2 " Number aa 000273 000630 000000 zero 408 aa 000274 600146 756100 stq sp|102 " Ce aa 000275 600146 236100 ldq sp|102 " Ce aa 000276 700632 756111 stq sb|410,x1 4a 000277 400060 272120 tsbbp lp|L50,* " Need aa 000300 000630 000001 zero 408,1 aa 000301 001245 710004 76 tra L23 L51: aa 000302 000014 710004 77 tra L52 L53: aa 000303 600264 236100 78 ldq sp|180 " Nrx aa 000304 000001 076007 adq 1,dl " 1 aa 000305 600303 763100 lprpbb sp|195 " Rawchar aa 000306 300000 235106 lda bb|0,ql aa 000307 600264 726100 lxl6 sp|180 " Nrx aa 000310 600303 765100 lprplb sp|195 " Rawchar aa 000311 500000 726116 lxl6 lb|0,x6 aa 000312 600150 760100 lprpap sp|104 " CharsTable aa 000313 000000 755116 sta ap|0,x6 aa 000314 000002 236007 79 ldq 2,dl " 2 aa 000315 600264 056100 asq sp|180 " Nrx L52: aa 000316 600264 236100 ldq sp|180 " Nrx aa 000317 600261 116100 cmpq sp|177 " Nr aa 000320 777763 604004 tmi L53 aa 000321 001225 710004 83 tra L23 L54: 4a 000322 400064 272120 84 tsbbp lp|L41,* " Break aa 000323 000630 000000 zero 408 aa 000324 000002 235007 lda 2,dl " 2 aa 000325 600244 755100 sta sp|164 " Ms aa 000326 000002 235007 lda 2,dl " 2 aa 000327 700632 755111 sta sb|410,x1 4a 000330 400060 272120 tsbbp lp|L50,* " Need aa 000331 000630 000001 zero 408,1 aa 000332 001214 710004 86 tra L23 L55: aa 000333 600160 235100 87 lda sp|112 " Ef aa 000334 700632 755111 sta sb|410,x1 4a 000335 400056 272120 tsbbp lp|L56,* " Sethead aa 000336 000630 000001 zero 408,1 4a 000337 400054 272120 tsbbp lp|L57,* " SetLinesLeft aa 000340 000630 000000 zero 408 aa 000341 001205 710004 89 tra L23 L58: aa 000342 600161 235100 90 lda sp|113 " Eh aa 000343 700632 755111 sta sb|410,x1 4a 000344 400056 272120 tsbbp lp|L56,* " Sethead aa 000345 000630 000001 zero 408,1 aa 000346 001200 710004 92 tra L23 L59: 4a 000347 400064 272120 94 tsbbp lp|L41,* " Break aa 000350 000630 000000 zero 408 aa 000351 777433 272004 tsbbp L3+2 " Number aa 000352 000630 000000 zero 408 aa 000353 600162 756100 stq sp|114 " Eq aa 000354 600162 236100 ldq sp|114 " Eq aa 000355 700632 756111 stq sb|410,x1 4a 000356 400060 272120 tsbbp lp|L50,* " Need aa 000357 000630 000001 zero 408,1 aa 000360 001166 710004 96 tra L23 L60: aa 000361 600264 236100 97 ldq sp|180 " Nrx aa 000362 600261 116100 cmpq sp|177 " Nr aa 000363 000003 605004 tpl L61 4a 000364 400052 272120 tsbbp lp|L62,* " ExecuteCommand aa 000365 000630 000000 zero 408 L61: aa 000366 001160 710004 100 tra L23 L63: aa 000367 600220 234100 101 szn sp|144 " Fth aa 000370 000005 600004 tze L64 aa 000371 600220 235100 lda sp|144 " Fth aa 000372 700632 755111 sta sb|410,x1 4a 000373 400050 272120 tsbbp lp|L65,* " Freevec aa 000374 000630 000001 zero 408,1 L64: 4a 000375 400046 272120 102 tsbbp lp|L66,* " Gethead aa 000376 000630 000000 zero 408 aa 000377 600220 756100 stq sp|144 " Fth aa 000400 001146 710004 105 tra L23 L67: 4a 000401 400064 272120 106 tsbbp lp|L41,* " Break aa 000402 000630 000000 zero 408 aa 000403 600255 234100 szn sp|173 " NoFill aa 000404 000003 601004 tnz L68 aa 000405 000001 336007 lcq 1,dl " true aa 000406 600175 756100 stq sp|125 " Fi L68: aa 000407 001137 710004 108 tra L23 L69: aa 000410 600160 236100 109 ldq sp|112 " Ef aa 000411 700632 756111 stq sb|410,x1 4a 000412 400056 272120 tsbbp lp|L56,* " Sethead aa 000413 000630 000001 zero 408,1 aa 000414 600266 236100 ldq sp|182 " Of aa 000415 700632 756111 stq sb|410,x1 4a 000416 400056 272120 tsbbp lp|L56,* " Sethead aa 000417 000630 000001 zero 408,1 4a 000420 400054 272120 tsbbp lp|L57,* " SetLinesLeft aa 000421 000630 000000 zero 408 aa 000422 001124 710004 111 tra L23 L70: aa 000423 600264 722100 112 lxl2 sp|180 " Nrx aa 000424 600303 762100 lprpbp sp|195 " Rawchar aa 000425 200000 236112 ldq bp|0,x2 aa 000426 000146 116007 cmpq 102,dl " 'f' aa 000427 000003 601004 tnz L71 aa 000430 600215 450100 stz sp|141 " Fr aa 000431 001115 710004 tra L23 L71: aa 000432 600264 723100 113 lxl3 sp|180 " Nrx aa 000433 600303 761100 lprpab sp|195 " Rawchar aa 000434 100000 235113 lda ab|0,x3 aa 000435 000164 115007 cmpa 116,dl " 't' aa 000436 000004 601004 tnz L72 aa 000437 000001 336007 lcq 1,dl " true aa 000440 600215 756100 stq sp|141 " Fr aa 000441 001105 710004 tra L23 L72: aa 000442 600264 724100 114 lxl4 sp|180 " Nrx aa 000443 600303 763100 lprpbb sp|195 " Rawchar aa 000444 300000 236114 ldq bb|0,x4 aa 000445 000165 116007 cmpq 117,dl " 'u' aa 000446 000004 601004 tnz L73 aa 000447 000001 335007 lca 1,dl " true aa 000450 600256 755100 sta sp|174 " NoFtNo aa 000451 001075 710004 tra L23 L73: aa 000452 600215 450100 115 stz sp|141 " Fr aa 000453 001073 710004 118 tra L23 L74: aa 000454 600217 234100 119 szn sp|143 " Ft aa 000455 000004 600004 tze L76 4a 000456 400044 272120 120 tsbbp lp|L77,* " Foot_end aa 000457 000630 000000 zero 408 aa 000460 000003 710004 tra L75 L76: 4a 000461 400042 272120 121 tsbbp lp|L78,* " Foot_begin aa 000462 000630 000000 zero 408 L75: aa 000463 001063 710004 124 tra L23 L79: aa 000464 700632 450111 125 stz sb|410,x1 4a 000465 400040 272120 tsbbp lp|L80,* " Skiptolabel aa 000466 000630 000001 zero 408,1 aa 000467 001057 710004 128 tra L23 L81: aa 000470 000001 335007 129 lca 1,dl " true aa 000471 700632 755111 sta sb|410,x1 4a 000472 400040 272120 tsbbp lp|L80,* " Skiptolabel aa 000473 000630 000001 zero 408,1 aa 000474 001052 710004 132 tra L23 L82: aa 000475 600161 235100 133 lda sp|113 " Eh aa 000476 700632 755111 sta sb|410,x1 4a 000477 400056 272120 tsbbp lp|L56,* " Sethead aa 000500 000630 000001 zero 408,1 aa 000501 600267 235100 lda sp|183 " Oh aa 000502 700632 755111 sta sb|410,x1 4a 000503 400056 272120 tsbbp lp|L56,* " Sethead aa 000504 000630 000001 zero 408,1 aa 000505 001041 710004 135 tra L23 L83: 4a 000506 400036 272120 136 tsbbp lp|L84,* " InsertFile aa 000507 000630 000000 zero 408 aa 000510 001036 710004 138 tra L23 L85: 4a 000511 400064 272120 140 tsbbp lp|L41,* " Break aa 000512 000630 000000 zero 408 aa 000513 600223 371500 141 eaplb sp|147 " In aa 000514 700632 545111 sprplb sb|410,x1 aa 000515 700633 450111 stz sb|411,x1 aa 000516 777347 272004 tsbbp L2+2 " Set_param aa 000517 000630 000002 zero 408,2 aa 000520 600223 235100 142 lda sp|147 " In aa 000521 600325 755100 sta sp|213 " Un aa 000522 001024 710004 145 tra L23 L86: aa 000523 001023 710004 148 tra L23 L87: aa 000524 777260 272004 150 tsbbp L3+2 " Number aa 000525 000630 000000 zero 408 aa 000526 600233 756100 stq sp|155 " LIno aa 000527 001017 710004 152 tra L23 L88: aa 000530 600234 371500 154 eaplb sp|156 " Ll aa 000531 700632 545111 sprplb sb|410,x1 aa 000532 000101 236007 ldq 65,dl " LL_ aa 000533 700633 756111 stq sb|411,x1 aa 000534 777331 272004 tsbbp L2+2 " Set_param aa 000535 000630 000002 zero 408,2 aa 000536 001010 710004 156 tra L23 L89: aa 000537 600240 371500 158 eaplb sp|160 " Ma1 aa 000540 700632 545111 sprplb sb|410,x1 aa 000541 000004 236007 ldq 4,dl " MA1_ aa 000542 700633 756111 stq sb|411,x1 aa 000543 777322 272004 tsbbp L2+2 " Set_param aa 000544 000630 000002 zero 408,2 aa 000545 600243 371500 158 eaplb sp|163 " Ma4 aa 000546 700632 545111 sprplb sb|410,x1 aa 000547 000004 236007 ldq 4,dl " MA4_ aa 000550 700633 756111 stq sb|411,x1 aa 000551 777314 272004 tsbbp L2+2 " Set_param aa 000552 000630 000002 zero 408,2 4a 000553 400054 272120 159 tsbbp lp|L57,* " SetLinesLeft aa 000554 000630 000000 zero 408 aa 000555 000771 710004 162 tra L23 L90: aa 000556 600240 371500 164 eaplb sp|160 " Ma1 aa 000557 700632 545111 sprplb sb|410,x1 aa 000560 000004 236007 ldq 4,dl " MA1_ aa 000561 700633 756111 stq sb|411,x1 aa 000562 777303 272004 tsbbp L2+2 " Set_param aa 000563 000630 000002 zero 408,2 aa 000564 000762 710004 167 tra L23 L91: aa 000565 600241 371500 169 eaplb sp|161 " Ma2 aa 000566 700632 545111 sprplb sb|410,x1 aa 000567 000002 236007 ldq 2,dl " MA2_ aa 000570 700633 756111 stq sb|411,x1 aa 000571 777274 272004 tsbbp L2+2 " Set_param aa 000572 000630 000002 zero 408,2 aa 000573 000753 710004 172 tra L23 L92: aa 000574 600242 371500 174 eaplb sp|162 " Ma3 aa 000575 700632 545111 sprplb sb|410,x1 aa 000576 000002 236007 ldq 2,dl " MA3_ aa 000577 700633 756111 stq sb|411,x1 aa 000600 777265 272004 tsbbp L2+2 " Set_param aa 000601 000630 000002 zero 408,2 4a 000602 400054 272120 175 tsbbp lp|L57,* " SetLinesLeft aa 000603 000630 000000 zero 408 aa 000604 000742 710004 178 tra L23 L93: aa 000605 600243 371500 180 eaplb sp|163 " Ma4 aa 000606 700632 545111 sprplb sb|410,x1 aa 000607 000004 236007 ldq 4,dl " MA4_ aa 000610 700633 756111 stq sb|411,x1 aa 000611 777254 272004 tsbbp L2+2 " Set_param aa 000612 000630 000002 zero 408,2 4a 000613 400054 272120 181 tsbbp lp|L57,* " SetLinesLeft aa 000614 000630 000000 zero 408 aa 000615 000731 710004 184 tra L23 L94: aa 000616 600245 371500 186 eaplb sp|165 " MultiplePagecount aa 000617 700632 545111 sprplb sb|410,x1 aa 000620 000001 236007 ldq 1,dl " 1 aa 000621 700633 756111 stq sb|411,x1 aa 000622 777243 272004 tsbbp L2+2 " Set_param aa 000623 000630 000002 zero 408,2 aa 000624 000722 710004 189 tra L23 L95: 4a 000625 400064 272120 191 tsbbp lp|L41,* " Break aa 000626 000630 000000 zero 408 aa 000627 600244 371500 192 eaplb sp|164 " Ms aa 000630 700632 545111 sprplb sb|410,x1 aa 000631 000001 236007 ldq 1,dl " 1 aa 000632 700633 756111 stq sb|411,x1 aa 000633 777232 272004 tsbbp L2+2 " Set_param aa 000634 000630 000002 zero 408,2 aa 000635 000002 236007 193 ldq 2,dl " 2 aa 000636 700632 756111 stq sb|410,x1 4a 000637 400060 272120 tsbbp lp|L50,* " Need aa 000640 000630 000001 zero 408,1 aa 000641 000705 710004 196 tra L23 L96: 4a 000642 400064 272120 197 tsbbp lp|L41,* " Break aa 000643 000630 000000 zero 408 aa 000644 600144 450100 stz sp|100 " Ad aa 000645 000701 710004 199 tra L23 L97: aa 000646 777136 272004 200 tsbbp L3+2 " Number aa 000647 000630 000000 zero 408 aa 000650 700002 756111 stq sb|2,x1 aa 000651 700002 236111 ldq sb|2,x1 aa 000652 700632 756111 stq sb|410,x1 4a 000653 400034 272120 tsbbp lp|L98,* " NeedSS aa 000654 000630 000001 zero 408,1 aa 000655 000671 710004 202 tra L23 L99: 4a 000656 400064 272120 203 tsbbp lp|L41,* " Break aa 000657 000630 000000 zero 408 aa 000660 600175 450100 stz sp|125 " Fi aa 000661 000665 710004 205 tra L23 L100: aa 000662 600266 236100 206 ldq sp|182 " Of aa 000663 700632 756111 stq sb|410,x1 4a 000664 400056 272120 tsbbp lp|L56,* " Sethead aa 000665 000630 000001 zero 408,1 4a 000666 400054 272120 tsbbp lp|L57,* " SetLinesLeft aa 000667 000630 000000 zero 408 aa 000670 000656 710004 208 tra L23 L101: aa 000671 600267 236100 209 ldq sp|183 " Oh aa 000672 700632 756111 stq sb|410,x1 4a 000673 400056 272120 tsbbp lp|L56,* " Sethead aa 000674 000630 000001 zero 408,1 aa 000675 000651 710004 211 tra L23 L102: 4a 000676 400064 272120 212 tsbbp lp|L41,* " Break aa 000677 000630 000000 zero 408 4a 000700 400062 272120 tsbbp lp|L44,* " Eject aa 000701 000630 000000 zero 408 aa 000702 600260 236100 ldq sp|176 " Np aa 000703 000002 506007 div 2,dl " 2 aa 000704 600260 236100 ldq sp|176 " Np aa 000705 000001 076007 adq 1,dl " 1 aa 000706 600000 755100 sta sp|0 aa 000707 600000 176100 sbq sp|0 aa 000710 600260 756100 stq sp|176 " Np aa 000711 000013 710004 214 tra L20 L103: 4a 000712 400064 272120 216 tsbbp lp|L41,* " Break aa 000713 000630 000000 zero 408 4a 000714 400062 272120 216 tsbbp lp|L44,* " Eject aa 000715 000630 000000 zero 408 aa 000716 600260 371500 217 eaplb sp|176 " Np aa 000717 700632 545111 sprplb sb|410,x1 aa 000720 600260 236100 ldq sp|176 " Np aa 000721 700633 756111 stq sb|411,x1 aa 000722 777143 272004 tsbbp L2+2 " Set_param aa 000723 000630 000002 zero 408,2 L20: aa 000724 600260 236100 219 ldq sp|176 " Np aa 000725 000001 076007 adq 1,dl " 1 aa 000726 600253 756100 stq sp|171 " NNp aa 000727 600273 236100 220 ldq sp|187 " Passes aa 000730 000001 116007 cmpq 1,dl " 1 aa 000731 000003 605404 tpnz L104 aa 000732 000001 335007 lca 1,dl " true aa 000733 000002 710004 tra L105 L104: aa 000734 000000 235007 lda 0,dl " false L105: aa 000735 600214 236100 ldq sp|140 " Fp aa 000736 600260 116100 cmpq sp|176 " Np aa 000737 000007 605404 tpnz L106 aa 000740 700002 755111 sta sb|2,x1 " temporary aa 000741 600260 235100 lda sp|176 " Np aa 000742 600235 115100 cmpa sp|157 " Lp aa 000743 000003 605404 tpnz L106 aa 000744 000001 336007 lcq 1,dl " true aa 000745 000002 710004 tra L107 L106: aa 000746 000000 236007 ldq 0,dl " false L107: aa 000747 700002 376111 anq sb|2,x1 aa 000750 600300 756100 stq sp|192 " Print aa 000751 000575 710004 223 tra L23 L108: aa 000752 777032 272004 225 tsbbp L3+2 " Number aa 000753 000630 000000 zero 408 aa 000754 600276 056100 asq sp|190 " Pi aa 000755 600276 236100 226 ldq sp|190 " Pi aa 000756 600232 116100 cmpq sp|154 " LinesLeft aa 000757 000006 605404 tpnz L109 aa 000760 600276 235100 227 lda sp|190 " Pi aa 000761 700632 755111 sta sb|410,x1 4a 000762 400032 272120 tsbbp lp|L110,* " Newline aa 000763 000630 000001 zero 408,1 aa 000764 600276 450100 228 stz sp|190 " Pi L109: aa 000765 000561 710004 232 tra L23 L111: aa 000766 600257 234100 234 szn sp|175 " NoPaging aa 000767 000007 601004 tnz L112 aa 000770 600277 371500 eaplb sp|191 " Pl aa 000771 700632 545111 sprplb sb|410,x1 aa 000772 000102 235007 lda 66,dl " PL_ aa 000773 700633 755111 sta sb|411,x1 aa 000774 777071 272004 tsbbp L2+2 " Set_param aa 000775 000630 000002 zero 408,2 L112: 4a 000776 400054 272120 235 tsbbp lp|L57,* " SetLinesLeft aa 000777 000630 000000 zero 408 aa 001000 000546 710004 239 tra L23 L113: aa 001001 600303 235100 240 lda sp|195 " Rawchar aa 001002 700632 755111 sta sb|410,x1 4a 001003 400030 272120 tsbbp lp|L114,* " ConsoleReadline aa 001004 000630 000001 zero 408,1 aa 001005 600261 756100 stq sp|177 " Nr aa 001006 000001 336007 241 lcq 1,dl " true aa 001007 600145 756100 stq sp|101 " Again aa 001010 000536 710004 244 tra L23 L115: aa 001011 000001 336007 245 lcq 1,dl " true aa 001012 600304 756100 stq sp|196 " Roman aa 001013 000533 710004 247 tra L23 L116: aa 001014 600261 450100 248 stz sp|177 " Nr 4a 001015 400026 272120 tsbbp lp|L117,* " Nx_close aa 001016 000630 000000 zero 408 aa 001017 000527 710004 250 tra L23 L118: aa 001020 776764 272004 251 tsbbp L3+2 " Number aa 001021 000630 000000 zero 408 aa 001022 600253 056100 asq sp|171 " NNp aa 001023 000523 710004 253 tra L23 L119: 4a 001024 400064 272120 255 tsbbp lp|L41,* " Break aa 001025 000630 000000 zero 408 aa 001026 600252 234100 256 szn sp|170 " Nl aa 001027 000003 601004 tnz L120 4a 001030 400024 272120 tsbbp lp|L121,* " Spacing aa 001031 000630 000000 zero 408 L120: aa 001032 776752 272004 257 tsbbp L3+2 " Number aa 001033 000630 000000 zero 408 aa 001034 700004 756111 stq sb|4,x1 aa 001035 700004 236111 ldq sb|4,x1 aa 001036 700632 756111 stq sb|410,x1 aa 001037 600232 236100 ldq sp|154 " LinesLeft aa 001040 700633 756111 stq sb|411,x1 4a 001041 400022 272120 tsbbp lp|L122,* " MinI aa 001042 000630 000002 zero 408,2 aa 001043 700002 756111 stq sb|2,x1 aa 001044 700002 236111 ldq sb|2,x1 aa 001045 700632 756111 stq sb|410,x1 4a 001046 400032 272120 tsbbp lp|L110,* " Newline aa 001047 000630 000001 zero 408,1 aa 001050 000002 236007 258 ldq 2,dl " 2 aa 001051 700632 756111 stq sb|410,x1 4a 001052 400060 272120 tsbbp lp|L50,* " Need aa 001053 000630 000001 zero 408,1 aa 001054 000472 710004 261 tra L23 L123: 4a 001055 400020 272120 262 tsbbp lp|L124,* " Set_ref aa 001056 000630 000000 zero 408 aa 001057 000467 710004 265 tra L23 L125: 4a 001060 400064 272120 266 tsbbp lp|L41,* " Break aa 001061 000630 000000 zero 408 aa 001062 000001 236007 ldq 1,dl " 1 aa 001063 600244 756100 stq sp|164 " Ms aa 001064 000002 236007 ldq 2,dl " 2 aa 001065 700632 756111 stq sb|410,x1 4a 001066 400060 272120 tsbbp lp|L50,* " Need aa 001067 000630 000001 zero 408,1 aa 001070 000456 710004 268 tra L23 L126: aa 001071 000027 710004 270 tra L127 L128: aa 001072 600264 236100 271 ldq sp|180 " Nrx aa 001073 000001 076007 adq 1,dl " 1 aa 001074 600303 765100 lprplb sp|195 " Rawchar aa 001075 500000 235106 lda lb|0,ql aa 001076 600264 725100 lxl5 sp|180 " Nrx aa 001077 600303 760100 lprpap sp|195 " Rawchar aa 001100 000000 725115 lxl5 ap|0,x5 aa 001101 600323 762100 lprpbp sp|211 " TrTable aa 001102 200000 755115 sta bp|0,x5 aa 001103 600264 236100 272 ldq sp|180 " Nrx aa 001104 000001 076007 adq 1,dl " 1 aa 001105 600303 761100 lprpab sp|195 " Rawchar aa 001106 100000 726106 lxl6 ab|0,ql aa 001107 600157 763100 lprpbb sp|111 " DeviceTable aa 001110 300000 235116 lda bb|0,x6 aa 001111 600264 722100 lxl2 sp|180 " Nrx aa 001112 600303 765100 lprplb sp|195 " Rawchar aa 001113 500000 722112 lxl2 lb|0,x2 aa 001114 600153 760100 lprpap sp|107 " Conv aa 001115 000000 755112 sta ap|0,x2 aa 001116 000002 236007 273 ldq 2,dl " 2 aa 001117 600264 056100 asq sp|180 " Nrx L127: aa 001120 600264 236100 ldq sp|180 " Nrx aa 001121 600261 116100 cmpq sp|177 " Nr aa 001122 777750 604004 tmi L128 aa 001123 000423 710004 277 tra L23 L129: aa 001124 776660 272004 278 tsbbp L3+2 " Number aa 001125 000630 000000 zero 408 aa 001126 000000 116007 cmpq 0,dl aa 001127 000003 601004 tnz L130 4a 001130 400016 272120 tsbbp lp|L131,* " Readline aa 001131 000630 000000 zero 408 L130: aa 001132 000414 710004 280 tra L23 L132: 4a 001133 400014 272120 281 tsbbp lp|L133,* " Typeout aa 001134 000630 000000 zero 408 aa 001135 000411 710004 283 tra L23 L134: 4a 001136 400064 272120 285 tsbbp lp|L41,* " Break aa 001137 000630 000000 zero 408 aa 001140 600264 236100 286 ldq sp|180 " Nrx aa 001141 600261 116100 cmpq sp|177 " Nr aa 001142 000003 604004 tmi L135 aa 001143 000000 235007 lda 0,dl " 0 aa 001144 000006 710004 tra L136 L135: aa 001145 776637 272004 tsbbp L3+2 " Number aa 001146 000630 000000 zero 408 aa 001147 600223 176100 sbq sp|147 " In aa 001150 000000 533007 negl 0,dl aa 001151 000044 777000 llr 36 " exchange A and Q L136: aa 001152 600325 755100 sta sp|213 " Un aa 001153 600325 234100 287 szn sp|213 " Un aa 001154 000002 605004 tpl L137 aa 001155 600325 450100 stz sp|213 " Un L137: aa 001156 000370 710004 290 tra L23 L138: aa 001157 600264 235100 291 lda sp|180 " Nrx aa 001160 600261 115100 cmpa sp|177 " Nr aa 001161 000045 605004 tpl L139 aa 001162 700006 352111 292 eapbp sb|6,x1 " a vector aa 001163 700002 542111 sprpbp sb|2,x1 " w aa 001164 600303 236100 293 ldq sp|195 " Rawchar aa 001165 600264 076100 adq sp|180 " Nrx aa 001166 000001 176007 sbq 1,dl " 1 aa 001167 700632 756111 stq sb|410,x1 aa 001170 700002 236111 ldq sb|2,x1 " w aa 001171 700633 756111 stq sb|411,x1 aa 001172 600261 236100 ldq sp|177 " Nr aa 001173 600264 176100 sbq sp|180 " Nrx aa 001174 700634 756111 stq sb|412,x1 4a 001175 400012 272120 tsbbp lp|L140,* " Use_ref aa 001176 000630 000003 zero 408,3 aa 001177 600261 756100 stq sp|177 " Nr aa 001200 000001 236007 294 ldq 1,dl " 1 aa 001201 700003 756111 stq sb|3,x1 " i aa 001202 600261 236100 ldq sp|177 " Nr aa 001203 700004 756111 stq sb|4,x1 aa 001204 000010 710004 tra L142 L141: aa 001205 700003 723111 lxl3 sb|3,x1 " i aa 001206 700002 762111 lprpbp sb|2,x1 " w aa 001207 200000 236113 ldq bp|0,x3 aa 001210 700003 724111 lxl4 sb|3,x1 " i aa 001211 600303 761100 lprpab sp|195 " Rawchar aa 001212 100000 756114 stq ab|0,x4 aa 001213 700003 054111 aos sb|3,x1 " i L142: aa 001214 700003 236111 ldq sb|3,x1 " i aa 001215 700004 116111 cmpq sb|4,x1 aa 001216 777767 604404 tmoz L141 aa 001217 600261 235100 295 lda sp|177 " Nr aa 001220 000001 075007 ada 1,dl " 1 aa 001221 000040 236007 ldq 32,dl " '*s' aa 001222 600303 763100 lprpbb sp|195 " Rawchar aa 001223 300000 756105 stq bb|0,al aa 001224 000001 336007 296 lcq 1,dl " true aa 001225 600145 756100 stq sp|101 " Again L139: aa 001226 000320 710004 300 tra L23 L143: 4a 001227 400010 272120 301 tsbbp lp|L144,* " Wait aa 001230 000630 000000 zero 408 aa 001231 000315 710004 tra L23 L31: aa 001232 600303 765100 lprplb sp|195 " Rawchar aa 001233 500002 236100 ldq lb|2 aa 001234 000011 736000 qls 9 aa 001235 600303 760100 lprpap sp|195 " Rawchar aa 001236 000003 276100 orq ap|3 " Begin switchon aa 001237 000044 777000 llr 36 " exchange A and Q aa 001240 141144 115007 cmpa 49764,dl aa 001241 000302 604004 tmi L145 aa 001242 776774 600004 tze L40 aa 001243 176040 115007 cmpa 64544,dl aa 001244 000004 604004 tmi L146 aa 001245 776742 600004 tze L35 aa 001246 776727 710004 tra L32 aa 001247 700002 755111 sta sb|2,x1 " temporary L146: aa 001250 154141 115007 cmpa 55393,dl aa 001251 000155 604004 tmi L147 aa 001252 777251 600004 tze L86 aa 001253 167164 115007 cmpa 61044,dl aa 001254 000003 604004 tmi L148 aa 001255 777752 600004 tze L143 aa 001256 776717 710004 tra L32 L148: aa 001257 162144 115007 cmpa 58468,dl aa 001260 000053 604004 tmi L149 aa 001261 777520 600004 tze L113 aa 001262 164162 115007 cmpa 59506,dl aa 001263 000015 604004 tmi L150 aa 001264 777605 600004 tze L126 aa 001265 165156 115007 cmpa 60014,dl aa 001266 000005 604004 tmi L151 aa 001267 777647 600004 tze L134 aa 001270 165162 115007 cmpa 60018,dl aa 001271 777666 600004 tze L138 aa 001272 776703 710004 tra L32 L151: aa 001273 164163 115007 cmpa 59507,dl aa 001274 777630 600004 tze L129 aa 001275 164171 115007 cmpa 59513,dl aa 001276 777635 600004 tze L132 aa 001277 776676 710004 tra L32 L150: aa 001300 000043 773000 lrl 35 aa 001301 000013 507007 dvf 11,dl " hash table size 0a 001302 001320 115006 cmpa L152,ql aa 001303 776672 601004 tnz L32 0a 001304 001305 710006 tra L153,ql L153: aa 001305 776670 710004 tra L32 aa 001306 777547 710004 tra L123 aa 001307 777551 710004 tra L125 aa 001310 777501 710004 tra L115 aa 001311 776664 710004 tra L32 aa 001312 777506 710004 tra L118 aa 001313 776662 710004 tra L32 aa 001314 776661 710004 tra L32 aa 001315 777477 710004 tra L116 aa 001316 776657 710004 tra L32 aa 001317 777505 710004 tra L119 L152: aa 001320 000000 000000 zero 0 aa 001321 000000 012363 zero 0,5363 aa 001322 000000 012363 zero 0,5363 aa 001323 000000 012304 zero 0,5316 aa 001324 000000 000000 zero 0 aa 001325 000000 012362 zero 0,5362 aa 001326 000000 000000 zero 0 aa 001327 000000 000000 zero 0 aa 001330 000000 012304 zero 0,5316 aa 001331 000000 000000 zero 0 aa 001332 000000 012362 zero 0,5362 L149: aa 001333 157146 115007 cmpa 56934,dl aa 001334 000017 604004 tmi L154 aa 001335 777325 600004 tze L100 aa 001336 160141 115007 cmpa 57441,dl aa 001337 000007 604004 tmi L155 aa 001340 777352 600004 tze L103 aa 001341 160151 115007 cmpa 57449,dl aa 001342 777410 600004 tze L108 aa 001343 160154 115007 cmpa 57452,dl aa 001344 777422 600004 tze L111 aa 001345 776630 710004 tra L32 L155: aa 001346 157150 115007 cmpa 56936,dl aa 001347 777322 600004 tze L101 aa 001350 157160 115007 cmpa 56944,dl aa 001351 777325 600004 tze L102 aa 001352 776623 710004 tra L32 L154: aa 001353 156141 115007 cmpa 56417,dl aa 001354 000007 604004 tmi L156 aa 001355 777265 600004 tze L96 aa 001356 156145 115007 cmpa 56421,dl aa 001357 777267 600004 tze L97 aa 001360 156146 115007 cmpa 56422,dl aa 001361 777275 600004 tze L99 aa 001362 776613 710004 tra L32 L156: aa 001363 155061 115007 cmpa 55857,dl aa 001364 000035 604004 tmi L157 aa 001365 777171 600004 tze L90 aa 001366 000043 773000 lrl 35 aa 001367 000013 507007 dvf 11,dl " hash table size 0a 001370 001406 115006 cmpa L158,ql aa 001371 776604 601004 tnz L32 0a 001372 001373 710006 tra L159,ql L159: aa 001373 777172 710004 tra L91 aa 001374 777200 710004 tra L92 aa 001375 777210 710004 tra L93 aa 001376 777141 710004 tra L89 aa 001377 776576 710004 tra L32 aa 001400 776575 710004 tra L32 aa 001401 776574 710004 tra L32 aa 001402 777214 710004 tra L94 aa 001403 776572 710004 tra L32 aa 001404 776571 710004 tra L32 aa 001405 777220 710004 tra L95 L158: aa 001406 000000 011726 zero 0,5078 aa 001407 000000 011726 zero 0,5078 aa 001410 000000 011726 zero 0,5078 aa 001411 000000 011732 zero 0,5082 aa 001412 000000 000000 zero 0 aa 001413 000000 000000 zero 0 aa 001414 000000 000000 zero 0 aa 001415 000000 011733 zero 0,5083 aa 001416 000000 000000 zero 0 aa 001417 000000 000000 zero 0 aa 001420 000000 011733 zero 0,5083 L157: aa 001421 154151 115007 cmpa 55401,dl aa 001422 777102 600004 tze L87 aa 001423 154154 115007 cmpa 55404,dl aa 001424 777104 600004 tze L88 aa 001425 776550 710004 tra L32 L147: aa 001426 144163 115007 cmpa 51315,dl aa 001427 000061 604004 tmi L160 aa 001430 776672 600004 tze L54 aa 001431 151146 115007 cmpa 53862,dl aa 001432 000005 604004 tmi L161 aa 001433 777053 600004 tze L83 aa 001434 151156 115007 cmpa 53870,dl aa 001435 777054 600004 tze L85 aa 001436 776537 710004 tra L32 L161: aa 001437 150145 115007 cmpa 53349,dl aa 001440 000003 604004 tmi L162 aa 001441 777034 600004 tze L82 aa 001442 776533 710004 tra L32 L162: aa 001443 146150 115007 cmpa 52328,dl aa 001444 000025 604004 tmi L163 aa 001445 776722 600004 tze L63 aa 001446 000043 773000 lrl 35 aa 001447 000007 507007 dvf 7,dl " hash table size 0a 001450 001462 115006 cmpa L164,ql aa 001451 776524 601004 tnz L32 0a 001452 001453 710006 tra L165,ql L165: aa 001453 776522 710004 tra L32 aa 001454 777000 710004 tra L74 aa 001455 777013 710004 tra L81 aa 001456 776732 710004 tra L69 aa 001457 776722 710004 tra L67 aa 001460 777004 710004 tra L79 aa 001461 776742 710004 tra L70 L164: aa 001462 000000 000000 zero 0 aa 001463 000000 016465 zero 0,7477 aa 001464 000000 016574 zero 0,7548 aa 001465 000000 016464 zero 0,7476 aa 001466 000000 016463 zero 0,7475 aa 001467 000000 016573 zero 0,7547 aa 001470 000000 016464 zero 0,7476 L163: aa 001471 000043 773000 lrl 35 aa 001472 000005 507007 dvf 5,dl " hash table size 0a 001473 001503 115006 cmpa L166,ql aa 001474 776501 601004 tnz L32 0a 001475 001476 710006 tra L167,ql L167: aa 001476 776651 710004 tra L59 aa 001477 776643 710004 tra L58 aa 001500 776661 710004 tra L60 aa 001501 776474 710004 tra L32 aa 001502 776631 710004 tra L55 L166: aa 001503 000000 024175 zero 0,10365 aa 001504 000000 024173 zero 0,10363 aa 001505 000000 024176 zero 0,10366 aa 001506 000000 000000 zero 0 aa 001507 000000 024172 zero 0,10362 L160: aa 001510 000043 773000 lrl 35 aa 001511 000013 507007 dvf 11,dl " hash table size 0a 001512 001530 115006 cmpa L168,ql aa 001513 776462 601004 tnz L32 0a 001514 001515 710006 tra L169,ql L169: aa 001515 776540 710004 tra L46 aa 001516 776457 710004 tra L32 aa 001517 776551 710004 tra L49 aa 001520 776523 710004 tra L42 aa 001521 776454 710004 tra L32 aa 001522 776560 710004 tra L51 aa 001523 776452 710004 tra L32 aa 001524 776521 710004 tra L43 aa 001525 776450 710004 tra L32 aa 001526 776524 710004 tra L45 aa 001527 776446 710004 tra L32 L168: aa 001530 000000 011011 zero 0,4617 aa 001531 000000 000000 zero 0 aa 001532 000000 011011 zero 0,4617 aa 001533 000000 010655 zero 0,4525 aa 001534 000000 000000 zero 0 aa 001535 000000 011011 zero 0,4617 aa 001536 000000 000000 zero 0 aa 001537 000000 010733 zero 0,4571 aa 001540 000000 000000 zero 0 aa 001541 000000 010733 zero 0,4571 aa 001542 000000 000000 zero 0 L145: aa 001543 052040 115007 cmpa 21536,dl aa 001544 776442 600004 tze L34 aa 001545 776430 710004 tra L32 L30: L23: aa 001546 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001547 200000 121100 sblx1 bp|0 aa 001550 700001 764111 lprplp sb|1,x1 aa 001551 200001 710100 tra bp|1 " end of return sequence " Literal pool L33: aa 001552 000027 125156 zero 23,43630 " "Unknown control request" aa 001553 153156 157167 zero 54894,56951 aa 001554 156040 143157 zero 56352,50799 aa 001555 156164 162157 zero 56436,58479 aa 001556 154040 162145 zero 55328,58469 aa 001557 161165 145163 zero 57973,51827 aa 001560 164000 000000 zero 59392 aa 001561 000000 000000 " padding " Definition section part one - external entry points 5a 000000 000014 000000 " pointer to first definition aa 000001 000000 600000 " flags: new format, ignore header aa 000002 000000 000000 " list terminator aa 000003 012162 165156 " "runoff_mr2" aa 000004 157146 146137 aa 000005 155162 062000 aa 000006 007103 157156 " "Control" aa 000007 164162 157154 aa 000010 014163 171155 " "symbol_table" aa 000011 142157 154137 aa 000012 164141 142154 aa 000013 145000 000000 " Segname definition for runoff_mr2 55 000014 000017 000002 " forward, backward threads 5a 000015 000002 400003 " value defined, class flags 55 000016 000003 000017 " name pointer, first entry def " Definition for Control 55 000017 000022 000014 " forward, backward threads 0a 000020 000134 500000 " value defined, class flags 55 000021 000006 000014 " name pointer, segname def pointer " Definition for symbol_table 55 000022 000002 000017 " forward, backward threads 6a 000023 000000 400002 " value defined, class flags 55 000024 000010 000014 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000025 012162 165156 " "runoff_mr0" aa 000026 157146 146137 aa 000027 155162 060000 aa 000030 004127 141151 " "Wait" aa 000031 164000 000000 5a 000032 000033 000000 aa 000033 000004 000000 55 000034 000025 000030 aa 000035 012162 165156 " "runoff_mr9" aa 000036 157146 146137 aa 000037 155162 071000 aa 000040 007125 163145 " "Use_ref" aa 000041 137162 145146 5a 000042 000043 000000 aa 000043 000004 000000 55 000044 000035 000040 aa 000045 007124 171160 " "Typeout" aa 000046 145157 165164 5a 000047 000050 000000 aa 000050 000004 000000 55 000051 000025 000045 aa 000052 010122 145141 " "Readline" aa 000053 144154 151156 aa 000054 145000 000000 5a 000055 000056 000000 aa 000056 000004 000000 55 000057 000025 000052 aa 000060 007123 145164 " "Set_ref" aa 000061 137162 145146 5a 000062 000063 000000 aa 000063 000004 000000 55 000064 000035 000060 aa 000065 020142 143160 " "bcpl_arithmetic_" aa 000066 154137 141162 aa 000067 151164 150155 aa 000070 145164 151143 aa 000071 137000 000000 aa 000072 004115 151156 " "MinI" aa 000073 111000 000000 5a 000074 000075 000000 aa 000075 000004 000000 55 000076 000065 000072 aa 000077 012162 165156 " "runoff_mr3" aa 000100 157146 146137 aa 000101 155162 063000 aa 000102 007123 160141 " "Spacing" aa 000103 143151 156147 5a 000104 000105 000000 aa 000105 000004 000000 55 000106 000077 000102 aa 000107 010116 170137 " "Nx_close" aa 000110 143154 157163 aa 000111 145000 000000 5a 000112 000113 000000 aa 000113 000004 000000 55 000114 000025 000107 aa 000115 017103 157156 " "ConsoleReadline" aa 000116 163157 154145 aa 000117 122145 141144 aa 000120 154151 156145 5a 000121 000122 000000 aa 000122 000004 000000 55 000123 000025 000115 aa 000124 012162 165156 " "runoff_mr4" aa 000125 157146 146137 aa 000126 155162 064000 aa 000127 007116 145167 " "Newline" aa 000130 154151 156145 5a 000131 000132 000000 aa 000132 000004 000000 55 000133 000124 000127 aa 000134 006116 145145 " "NeedSS" aa 000135 144123 123000 5a 000136 000137 000000 aa 000137 000004 000000 55 000140 000124 000134 aa 000141 012111 156163 " "InsertFile" aa 000142 145162 164106 aa 000143 151154 145000 5a 000144 000145 000000 aa 000145 000004 000000 55 000146 000124 000141 aa 000147 013123 153151 " "Skiptolabel" aa 000150 160164 157154 aa 000151 141142 145154 5a 000152 000153 000000 aa 000153 000004 000000 55 000154 000124 000147 aa 000155 012162 165156 " "runoff_mr6" aa 000156 157146 146137 aa 000157 155162 066000 aa 000160 012106 157157 " "Foot_begin" aa 000161 164137 142145 aa 000162 147151 156000 5a 000163 000164 000000 aa 000164 000004 000000 55 000165 000155 000160 aa 000166 010106 157157 " "Foot_end" aa 000167 164137 145156 aa 000170 144000 000000 5a 000171 000172 000000 aa 000172 000004 000000 55 000173 000155 000166 aa 000174 012162 165156 " "runoff_mr5" aa 000175 157146 146137 aa 000176 155162 065000 aa 000177 007107 145164 " "Gethead" aa 000200 150145 141144 5a 000201 000202 000000 aa 000202 000004 000000 55 000203 000174 000177 aa 000204 021142 143160 " "bcpl_filesys_lib_" aa 000205 154137 146151 aa 000206 154145 163171 aa 000207 163137 154151 aa 000210 142137 000000 aa 000211 007106 162145 " "Freevec" aa 000212 145166 145143 5a 000213 000214 000000 aa 000214 000004 000000 55 000215 000204 000211 aa 000216 016105 170145 " "ExecuteCommand" aa 000217 143165 164145 aa 000220 103157 155155 aa 000221 141156 144000 5a 000222 000223 000000 aa 000223 000004 000000 55 000224 000025 000216 aa 000225 014123 145164 " "SetLinesLeft" aa 000226 114151 156145 aa 000227 163114 145146 aa 000230 164000 000000 5a 000231 000232 000000 aa 000232 000004 000000 55 000233 000124 000225 aa 000234 007123 145164 " "Sethead" aa 000235 150145 141144 5a 000236 000237 000000 aa 000237 000004 000000 55 000240 000174 000234 aa 000241 004116 145145 " "Need" aa 000242 144000 000000 5a 000243 000244 000000 aa 000244 000004 000000 55 000245 000124 000241 aa 000246 005105 152145 " "Eject" aa 000247 143164 000000 5a 000250 000251 000000 aa 000251 000004 000000 55 000252 000077 000246 aa 000253 005102 162145 " "Break" aa 000254 141153 000000 5a 000255 000256 000000 aa 000256 000004 000000 55 000257 000077 000253 aa 000260 012162 165156 " "runoff_mr7" aa 000261 157146 146137 aa 000262 155162 067000 aa 000263 004127 162103 " "WrCh" aa 000264 150000 000000 5a 000265 000266 000000 aa 000266 000004 000000 55 000267 000260 000263 aa 000270 012162 165156 " "runoff_mr8" aa 000271 157146 146137 aa 000272 155162 070000 aa 000273 011122 145141 " "ReadParam" aa 000274 144120 141162 aa 000275 141155 000000 5a 000276 000277 000000 aa 000277 000004 000000 55 000300 000270 000273 aa 000301 006122 145160 " "Report" aa 000302 157162 164000 5a 000303 000304 000000 aa 000304 000004 000000 55 000305 000025 000301 aa 000306 007122 145141 " "ReadExp" aa 000307 144105 170160 5a 000310 000311 000000 aa 000311 000004 000000 55 000312 000270 000306 aa 000313 011103 150145 " "Check_ref" aa 000314 143153 137162 aa 000315 145146 000000 5a 000316 000317 000000 aa 000317 000004 000000 55 000320 000035 000313 aa 000321 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 001562 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000100 " offset to links, total length aa 000007 000000 000100 " obsolete length " External link pairs L144: 3a 000010 777770 000046 " "runoff_mr0$Wait" 5a 000011 000032 000000 L140: 3a 000012 777766 000046 " "runoff_mr9$Use_ref" 5a 000013 000042 000000 L133: 3a 000014 777764 000046 " "runoff_mr0$Typeout" 5a 000015 000047 000000 L131: 3a 000016 777762 000046 " "runoff_mr0$Readline" 5a 000017 000055 000000 L124: 3a 000020 777760 000046 " "runoff_mr9$Set_ref" 5a 000021 000062 000000 L122: 3a 000022 777756 000046 " "bcpl_arithmetic_$MinI" 5a 000023 000074 000000 L121: 3a 000024 777754 000046 " "runoff_mr3$Spacing" 5a 000025 000104 000000 L117: 3a 000026 777752 000046 " "runoff_mr0$Nx_close" 5a 000027 000112 000000 L114: 3a 000030 777750 000046 " "runoff_mr0$ConsoleReadline" 5a 000031 000121 000000 L110: 3a 000032 777746 000046 " "runoff_mr4$Newline" 5a 000033 000131 000000 L98: 3a 000034 777744 000046 " "runoff_mr4$NeedSS" 5a 000035 000136 000000 L84: 3a 000036 777742 000046 " "runoff_mr4$InsertFile" 5a 000037 000144 000000 L80: 3a 000040 777740 000046 " "runoff_mr4$Skiptolabel" 5a 000041 000152 000000 L78: 3a 000042 777736 000046 " "runoff_mr6$Foot_begin" 5a 000043 000163 000000 L77: 3a 000044 777734 000046 " "runoff_mr6$Foot_end" 5a 000045 000171 000000 L66: 3a 000046 777732 000046 " "runoff_mr5$Gethead" 5a 000047 000201 000000 L65: 3a 000050 777730 000046 " "bcpl_filesys_lib_$Freevec" 5a 000051 000213 000000 L62: 3a 000052 777726 000046 " "runoff_mr0$ExecuteCommand" 5a 000053 000222 000000 L57: 3a 000054 777724 000046 " "runoff_mr4$SetLinesLeft" 5a 000055 000231 000000 L56: 3a 000056 777722 000046 " "runoff_mr5$Sethead" 5a 000057 000236 000000 L50: 3a 000060 777720 000046 " "runoff_mr4$Need" 5a 000061 000243 000000 L44: 3a 000062 777716 000046 " "runoff_mr3$Eject" 5a 000063 000250 000000 L41: 3a 000064 777714 000046 " "runoff_mr3$Break" 5a 000065 000255 000000 L39: 3a 000066 777712 000046 " "runoff_mr7$WrCh" 5a 000067 000265 000000 L18: 3a 000070 777710 000046 " "runoff_mr8$ReadParam" 5a 000071 000276 000000 L13: 3a 000072 777706 000046 " "runoff_mr0$Report" 5a 000073 000303 000000 L9: 3a 000074 777704 000046 " "runoff_mr8$ReadExp" 5a 000075 000310 000000 L8: 3a 000076 777702 000046 " "runoff_mr9$Check_ref" 5a 000077 000316 000000 " Symbol section header aa 000000 000000 000001 " version number of header structure aa 000001 163171 155142 " "symbtree" aa 000002 164162 145145 aa 000003 000000 000003 " compiler version number aa 000004 000000 110731 " date/time compiler modified aa 000005 452422 044440 " 04/22/82 1732.8 mdt Thu aa 000006 000000 131036 " time of this compilation aa 000007 714173 635663 " 04/18/00 1141.2 mdt Tue aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000036 000034 " compiler version name - pointer, length aa 000013 000045 000022 " user id - pointer, length aa 000014 000052 000043 " comment string - pointer, length aa 000015 000002 000002 " text and linkage boundaries aa 000016 000024 000000 " source map, symbol tree root 7a 000017 000000 000103 " section header pointer, block size aa 000020 000000 000103 " next block pointer, rel_text aa 000021 000000 000146 " rel_def, rel_link aa 000022 000162 000103 " rel_symbol, default truncate aa 000023 000024 000000 " optional truncate, unused aa 000024 000000 000001 " source files map: version number aa 000025 000000 000002 " number of files aa 000026 000063 000037 " runoff_mr2 aa 000027 310157 127166 " last modified on aa 000030 000000 131036 " 04/18/00 1141.2 mdt Tue aa 000031 714175 000000 aa 000032 000073 000037 " runoff_head aa 000033 305736 051371 " last modified on aa 000034 000000 110731 " 04/22/82 1614.9 mdt Thu aa 000035 407547 200000 aa 000036 102103 120114 " "BCPL version 3.5, March 1982" aa 000037 040166 145162 aa 000040 163151 157156 aa 000041 040063 056065 aa 000042 054040 115141 aa 000043 162143 150040 aa 000044 061071 070062 aa 000045 123143 150162 " "Schroth.SysMaint.m" aa 000046 157164 150056 aa 000047 123171 163115 aa 000050 141151 156164 aa 000051 056155 040040 aa 000052 163157 165162 " "source xref alist optimize 6180" aa 000053 143145 040040 aa 000054 170162 145146 aa 000055 040040 141154 aa 000056 151163 164040 aa 000057 040157 160164 aa 000060 151155 151172 aa 000061 145040 040066 aa 000062 061070 060040 aa 000063 076165 144144 " ">udd>sm>ds>w>ml>runoff_mr2.bcpl" aa 000064 076163 155076 aa 000065 144163 076167 aa 000066 076155 154076 aa 000067 162165 156157 aa 000070 146146 137155 aa 000071 162062 056142 aa 000072 143160 154040 aa 000073 076154 144144 " ">ldd>incl>runoff_head.incl.bcpl" aa 000074 076151 156143 aa 000075 154076 162165 aa 000076 156157 146146 aa 000077 137150 145141 aa 000100 144056 151156 aa 000101 143154 056142 aa 000102 143160 154040 " Relocation information " text section relocation bits aa 000103 000000 000002 " version number of rel-bits structure aa 000104 000000 002241 " length in bits aa 000105 740405 000001 aa 000106 236011 647406 aa 000107 351700 672360 aa 000110 706474 037500 aa 000111 000120 050000 aa 000112 050120 051700 aa 000113 672000 012360 aa 000114 226400 012000 aa 000115 240500 012005 aa 000116 000005 000024 aa 000117 000024 050005 aa 000120 170043 200120 aa 000121 247407 350024 aa 000122 002400 050001 aa 000123 200120 050024 aa 000124 741035 170133 aa 000125 236010 647402 aa 000126 351700 472005 aa 000127 170043 200500 aa 000130 002405 000120 aa 000131 050123 601164 aa 000132 051702 272360 aa 000133 136400 051700 aa 000134 472000 012001 aa 000135 236010 640005 aa 000136 000500 240120 aa 000137 000517 020720 aa 000140 050024 740755 aa 000141 170147 236052 aa 000142 600417 031700 aa 000143 207413 340103 aa 000144 602060 041700 aa 000145 630020 741130 l " inkage relocation bits aa 000146 000000 000002 " version number of rel-bits structure aa 000147 000000 000550 " length in bits aa 000150 100002 204652 aa 000151 465246 524652 aa 000152 465246 524652 aa 000153 465246 524652 aa 000154 465246 524652 aa 000155 465246 524652 aa 000156 465246 524652 aa 000157 465246 524652 aa 000160 465246 524652 aa 000161 465246 524652 s " ymbol relocation bits aa 000162 000000 000002 " version number of rel-bits structure aa 000163 000000 000043 " length in bits aa 000164 740365 770316 " Object map aa 002371 000000 000001 " version number of object_map structure aa 002372 157142 152137 " "obj_map " aa 002373 155141 160040 aa 002374 000000 001561 " text offset, length aa 002375 001562 000321 " def offset, length aa 002376 002104 000100 " link offset, length aa 002377 002204 000165 " symbol offset, length aa 002400 000000 000000 " break map offset, length aa 002401 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 002402 002371 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