Compilation listing of file >udd>sm>ds>w>ml>runoff_mr4.bcpl. Compilation performed for Schroth.SysMaint.m at 04/18/00 1141.6 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:44:49 by R F Mabee. 4 // 5 // This file contains the following miscellaneous routines used for ROFF: 6 // 7 // Need Eject paper if less than n lines at current spacing on page. 8 // NeedSS Eject paper if less than n lines on page. 9 // Newline Upspace paper n lines. 10 // SetLinesLeft Keep track of lines left on page. 11 // Blank Store n blanks into output. 12 // WriteChar Write a character. 13 // PrinterIndent Make output for printer start indented twenty spaces. 14 // StoreArabic Convert number to character, decimal arabic numerals. 15 // StoreRoman Convert number to roman numeral representation. 16 // StoreDate Convert current date to character representation. 17 // ReadName Read name from control line and pack into vector. 18 // Skiptolabel Scan through input for particular label line. 19 // InsertFile Use new input file. 20 // All are declared external. 21 22 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 23 24 // General permission is granted to copy and use this program, but not to sell it, provided that the above 25 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 26 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 27 28 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 } 28 // Declarations for ROFF. 29 30 31 let Need (n) be // Eject paper if less than n lines left. 32 if n * Ms > LinesLeft do Eject () 33 34 and NeedSS (n) be // Need for n lines, regardless of double spacing 35 if n > LinesLeft do Eject () 36 37 and Newline (n) be // Print n 'newline' characters. 38 { for i = 1 to n do 39 { test Ft 40 then $( let P = Newvec (Fc + 1) 41 for j = 1 to Fc do P!(j + 1) := Footbuf!j 42 P!0, P!1 := 0, Fc 43 test FootListBase = 0 44 then FootListBase := P 45 or FootList!0 := P 46 FootList := P 47 Fl := Fl + 1 48 Fc := 0 49 $) 50 or $( WriteChar ('*n') 51 Nl := Nl + 1 52 $) 53 } 54 SetLinesLeft () 55 } 56 57 and SetLinesLeft () be 58 LinesLeft := Pl - Nl - Ma3 - Ma4 - Fl - (OddPage -> Of, Ef)!0 59 60 and Blank (n) be 61 for i = 1 to n do WriteChar ('*s') 62 63 and WriteChar (c) be // Write 'c' into output stream or footnote buffer. 64 { test Ft 65 then { Footbuf[Fc + 1] := c 66 Fc := Fc + 1 67 } 68 else if Print do 69 { if Charsw do WrCh (TrTable!c) 70 let Cc = Conv[c] 71 if Cc = Skip return 72 // Partially canonicalize output by eliminating space-backspace pairs. 73 // This is necessary because the printer DIM can't handle them. 74 // Whenever a space or backspace arrives, we delay printing it 75 // until the next character arrives. Then if the two form a space-backspace 76 // pair, we don't put out either. If the second is some other character, 77 // the held character has to be forced out first. 78 test Cc = '*s' | Cc = '*b' 79 then test SavedCc = 0 80 then $( SavedCc := Cc 81 return 82 $) 83 or if SavedCc ne Cc do 84 $( SavedCc := 0 85 return 86 $) 87 or unless SavedCc = 0 do 88 $( Writech (Output, SavedCc) 89 SavedCc := 0 90 $) 91 Writech (Output, Cc) 92 } 93 } 94 95 96 and PrinterIndent () be 97 if Print logor Ft do 98 $( let p = 0 99 if PrintLineNumbers do 100 $( let v = vec 20 101 StoreArabic (InputLines, v) 102 p := v!0 103 for i = p to 5 do WriteChar ('*s') 104 for i = 1 to p do WriteChar (v!i) 105 if p < 10 do 106 $( WriteChar ('*t') 107 p := 10 108 $) 109 $) 110 unless ExtraMargin = 0 do 111 $( while p / 10 < ExtraMargin / 10 do 112 $( WriteChar ('*t') 113 p := p + 10 - p rem 10 114 $) 115 while p < ExtraMargin do 116 $( WriteChar ('*s') 117 p := p + 1 118 $) 119 $) 120 $) 121 122 and StoreArabic (n, v) be 123 $( let w = vec 20 124 Unpackstring (ConvertNtoS (n, w), v) 125 $) 126 and StoreRoman (n, v) be 127 $( let i, Wa, Wb = 0, vec 3, vec 3 128 let Ta, Tb = (table 'i', 'x', 'c', 'm') - 1, (table 'v', 'l', 'd') - 1 129 if n < 0 do n := -n 130 for j = 1 to 3 do 131 $( let r = n rem 10 132 Wa!j, Wb!j := r rem 5, r / 5 133 n := n / 10 134 $) 135 if n > 20 do n := 20 136 137 for j = 1 to n do 138 $( i := i + 1 139 v!i := 'm' 140 $) 141 for j = 3 to 1 by -1 do 142 test Wa!j = 4 143 then $( i := i + 1 144 v!i := Ta!j 145 i := i + 1 146 v!i := Wb!j = 0 -> Tb!j, Ta!(j + 1) 147 $) 148 or $( unless Wb!j = 0 do 149 $( i := i + 1 150 v!i := Tb!j 151 $) 152 for k = 1 to Wa!j do 153 $( i := i + 1 154 v!i := Ta!j 155 $) 156 $) 157 v!0 := i 158 $) 159 160 let StoreDate (v) be 161 $( let w = vec 10 162 FormDate (TimeNow, w, false) 163 v!1, v!2 := w!0 / 10 + '0', w!0 rem 10 + '0' 164 v!3 := '/' 165 v!4, v!5 := w!2 / 10 + '0', w!2 rem 10 + '0' 166 v!6 := '/' 167 v!7, v!8 := w!3 / 10 rem 10 + '0', w!3 rem 10 + '0' 168 v!0 := 8 169 $) 170 and ReadName (v) = valof 171 $( let i = 0 172 let w = vec Maxline 173 while Nrx < Nr & Rawchar!Nrx ne '*s' do 174 $( i := i + 1 175 w!i := Rawchar!Nrx 176 Nrx := Nrx + 1 177 $) 178 while Nrx < Nr & Rawchar!Nrx = '*s' do Nrx := Nrx + 1 179 w!0 := i 180 Packstring (w, v) 181 resultis i 182 $) 183 let Skiptolabel (Forward) be 184 $( let L, v = Nr - 1, vec Maxline 185 for i = 1 to L do v!i := Rawchar!i 186 v!2, v!3 := 'l', 'a' 187 JumpLine := InputLines 188 unless Forward do Nx_reset () 189 190 Loop: Nr := 0 191 Readline () 192 if JumpLine < 0 do 193 $( Nr := Nr + 1 194 Report ("Target label not found") 195 return 196 $) 197 unless Nr = L goto Loop 198 for i = 1 to L do unless v!i = Rawchar!i goto Loop 199 JumpLine := -1 200 $) 201 let InsertFile () be 202 $( let v = vec Maxline / 4 203 if ReadName (v) = 0 do 204 $( Report ("Missing file name") 205 return 206 $) 207 Nx_open (v) 208 if Nrx < Nr do UpdateSymbol ("Parameter") 209 $) CAE time 2.2, 197 source lines per second. cross reference table Ad runoff_head: 121 Again runoff_head: 122 Blank runoff_head: 26, runoff_mr4: 60 Break runoff_head: 27 ByteBits runoff_head: 234 c runoff_mr4: 63, 65, 69, 70 Cc runoff_mr4: 70, 71, 78, 78, 80, 83, 91 Ce runoff_head: 123 Char runoff_head: 124 CharsTable runoff_head: 125 Charsw runoff_head: 126, runoff_mr4: 69 Check_ref runoff_head: 29 ChStream runoff_head: 127 ConsoleReadline runoff_head: 31 Control runoff_head: 32 Conv runoff_head: 128, runoff_mr4: 70 ConvertNtoS runoff_head: 10, runoff_mr4: 124 Device runoff_head: 130 DeviceTable runoff_head: 131 Ef runoff_head: 132, runoff_mr4: 58 Eh runoff_head: 133 Eject runoff_head: 38, runoff_mr4: 32, 35 Eq runoff_head: 134 Eqcnt runoff_head: 135 ErrorfilePointer runoff_head: 136 Errorstream runoff_head: 137 ErrorTempID runoff_head: 139 ExecuteCommand runoff_head: 40 ExpError runoff_head: 140 ExtraMargin runoff_head: 141, runoff_mr4: 110, 111, 115 Fc runoff_head: 142, runoff_mr4: 40, 41, 42, 48, 65, 66, 66 Fd runoff_head: 143 Fi runoff_head: 144 FileName runoff_head: 145 Filesw runoff_head: 146 FillTrTable runoff_head: 41 Findent runoff_head: 148 FindInput runoff_head: 42 Fl runoff_head: 149, runoff_mr4: 47, 47, 58 Flp runoff_head: 150 Foot runoff_head: 151 Footbuf runoff_head: 152, runoff_mr4: 41, 65 FootList runoff_head: 153, runoff_mr4: 45, 46 FootListBase runoff_head: 154, runoff_mr4: 43, 44 FootRef runoff_head: 155 Foot_begin runoff_head: 44 Foot_end runoff_head: 45 FormDate runoff_head: 15, runoff_mr4: 162 Forward runoff_mr4: 183, 188 Fp runoff_head: 157 Fr runoff_head: 158 Freeheads runoff_head: 46 Freevec runoff_head: 12 From runoff_head: 159 Ft runoff_head: 160, runoff_mr4: 39, 64, 97 Fth runoff_head: 161 Fundent runoff_head: 162 Gethead runoff_head: 48 GetString runoff_head: 50 Hyphenating runoff_head: 163 i runoff_mr4: 38, 61, 103, 104, 104, 127, 138, 138, 139, 143, 143, 144, 145, 145, 146, 149, 149, 150, 153, 153, 154, 157, 171, 174, 174, 175, 179, 181, 185, 185, 185, 198, 198, 198 In runoff_head: 164 InitializeSymbolTree runoff_head: 52 InputFileName runoff_head: 166 InputLines runoff_head: 167, runoff_mr4: 101, 187 InputStack runoff_head: 168 InsertFile runoff_head: 53, runoff_mr4: 201 j runoff_mr4: 41, 41, 41, 130, 132, 132, 137, 141, 142, 144, 146, 146, 146, 148, 150, 152, 154 JumpLine runoff_head: 169, runoff_mr4: 187, 192, 199 k runoff_mr4: 152 L runoff_mr4: 184, 185, 197, 198 LinesLeft runoff_head: 170, runoff_mr4: 32, 35, 58 LIno runoff_head: 171 Ll runoff_head: 172 LL_ runoff_head: 240 Loop runoff_mr4: 190, 197, 198 Lp runoff_head: 173 Ma1 runoff_head: 175 MA1_ runoff_head: 242 Ma2 runoff_head: 176 MA2_ runoff_head: 243 Ma3 runoff_head: 177, runoff_mr4: 58 MA3_ runoff_head: 244 Ma4 runoff_head: 178, runoff_mr4: 58 MA4_ runoff_head: 245 MaxDepth runoff_head: 238 Maxheads runoff_head: 237 MaxI runoff_head: 14 Maxline runoff_head: 236, runoff_mr4: 172, 184, 202 MinI runoff_head: 13 Ms runoff_head: 179, runoff_mr4: 32 MultiplePagecount runoff_head: 180 n runoff_mr4: 31, 32, 34, 35, 37, 38, 60, 61, 122, 124, 126, 129, 129, 129, 131, 133, 133, 135, 135, 137 Nc runoff_head: 181 Need runoff_head: 55, runoff_mr4: 31 NeedSS runoff_head: 56, runoff_mr4: 34 NestingDepth runoff_head: 182 Newline runoff_head: 57, runoff_mr4: 37 Newvec runoff_head: 11, runoff_mr4: 40 Nl runoff_head: 184, runoff_mr4: 51, 51, 58 NNp runoff_head: 185 NoControl runoff_head: 186 NoFill runoff_head: 187 NoFtNo runoff_head: 188 NoPaging runoff_head: 189 Np runoff_head: 190 Nr runoff_head: 191, runoff_mr4: 173, 178, 184, 190, 193, 193, 197, 208 Nrx runoff_head: 193, runoff_mr4: 173, 173, 175, 176, 176, 178, 178, 178, 178, 208 Nx_close runoff_head: 59 Nx_open runoff_head: 60, runoff_mr4: 207 Nx_reset runoff_head: 61, runoff_mr4: 188 OddPage runoff_head: 194, runoff_mr4: 58 Of runoff_head: 195, runoff_mr4: 58 Oh runoff_head: 196 Output runoff_head: 197, runoff_mr4: 88, 91 P runoff_mr4: 40, 41, 42, 42, 44, 45, 46 p runoff_mr4: 98, 102, 103, 104, 105, 107, 111, 113, 113, 113, 115, 117, 117 Packstring runoff_head: 5, runoff_mr4: 180 PadLeft runoff_head: 198 Parameter runoff_head: 199 Passes runoff_head: 200 Pi runoff_head: 202 Pl runoff_head: 203, runoff_mr4: 58 PL_ runoff_head: 241 Print runoff_head: 204, runoff_mr4: 68, 97 PrinterIndent runoff_head: 64, runoff_mr4: 96 Printersw runoff_head: 205 PrintFootnotes runoff_head: 65 PrintLineNumbers runoff_head: 206, runoff_mr4: 99 r runoff_mr4: 131, 132, 132 Rawchar runoff_head: 207, runoff_mr4: 173, 175, 178, 185, 198 ReadExp runoff_head: 68 Readhead runoff_head: 67 Readline runoff_head: 66, runoff_mr4: 191 ReadName runoff_head: 69, runoff_mr4: 170, 203 ReadNumber runoff_head: 70 ReadParam runoff_head: 71 ReadString runoff_head: 72 Report runoff_head: 73, runoff_mr4: 194, 204 Roff runoff_head: 74 RoffProcess runoff_head: 75 Roman runoff_head: 208 SavedCc runoff_head: 209, runoff_mr4: 79, 80, 83, 84, 87, 88, 89 Selsw runoff_head: 211 SetCharsw runoff_head: 79 SetDevice runoff_head: 81 Sethead runoff_head: 82 SetLinesLeft runoff_head: 83, runoff_mr4: 54, 57 SetPaging runoff_head: 85 SetSwitches runoff_head: 86 Set_ref runoff_head: 89 Skip runoff_head: 235, runoff_mr4: 71 Skiptolabel runoff_head: 91, runoff_mr4: 183 Spacing runoff_head: 92 Spec_char runoff_head: 212 Start runoff_head: 213 Stopsw runoff_head: 214 StoreArabic runoff_head: 95, runoff_mr4: 101, 122 StoreDate runoff_head: 97, runoff_mr4: 160 StoreRoman runoff_head: 98, runoff_mr4: 126 StoreString runoff_head: 99 Ta runoff_mr4: 128, 144, 146, 154 Tb runoff_mr4: 128, 146, 150 Temp runoff_head: 215 Tempc runoff_head: 216 Text runoff_head: 102 TextRef runoff_head: 217 TimeNow runoff_head: 218, runoff_mr4: 162 Title runoff_head: 103 To runoff_head: 220 TreeRoot runoff_head: 222 TrTable runoff_head: 221, runoff_mr4: 69 Typeout runoff_head: 106 Un runoff_head: 223 Unpackstring runoff_head: 6, runoff_mr4: 124 UpdateSymbol runoff_head: 108, runoff_mr4: 208 Use_ref runoff_head: 109 v runoff_mr4: 100, 101, 102, 104, 122, 124, 126, 139, 144, 146, 150, 154, 157, 160, 163, 163, 164, 165, 165, 166, 167, 167, 168, 170, 180, 184, 185, 186, 186, 198, 202, 203, 207 w runoff_mr4: 123, 124, 161, 162, 163, 163, 165, 165, 167, 167, 172, 175, 179, 180 Wa runoff_mr4: 127, 132, 142, 152 Wait runoff_head: 110 Waitsw runoff_head: 224 Wb runoff_mr4: 127, 132, 146, 148 Width runoff_head: 111 WrCh runoff_head: 112, runoff_mr4: 69 WrChInit runoff_head: 113 Writech runoff_head: 7, runoff_mr4: 88, 91 WriteChar runoff_head: 114, runoff_mr4: 50, 61, 63, 103, 104, 106, 112, 116 WriteN runoff_head: 9 WriteS runoff_head: 8 Trans time 0.7, 1410 object words per second. " Begin text of Need aa 000000 000004 116145 zero 4,40037 " Need aa 000001 145144 000000 zero 51812 L1: aa 000002 000000 213000 31 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 700421 620111 eax0 sb|273,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 700002 236111 32 ldq sb|2,x1 " n aa 000014 600244 402100 mpy sp|164 " Ms aa 000015 600232 116100 cmpq sp|154 " LinesLeft aa 000016 000003 604404 tmoz L13 4a 000017 400040 272120 tsbbp lp|L14,* " Eject aa 000020 000004 000000 zero 4 L13: L12: aa 000021 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000022 200000 121100 sblx1 bp|0 aa 000023 700001 764111 lprplp sb|1,x1 aa 000024 200001 710100 tra bp|1 " end of return sequence " Begin text of SetLinesLeft aa 000025 000014 123145 zero 12,42597 " SetLinesLeft aa 000026 164114 151156 zero 59468,53870 aa 000027 145163 114145 zero 51827,39013 aa 000030 146164 000000 zero 52340 L4: aa 000031 000000 213000 57 epaq 0 " set lp to linkage section aa 000032 700026 764161 lprplp sb|22,*au aa 000033 200000 021100 adlx1 bp|0 " BCPL save aa 000034 700000 542111 sprpbp sb|0,x1 aa 000035 700001 544111 sprplp sb|1,x1 aa 000036 700417 620111 eax0 sb|271,x1 aa 000037 777760 360003 anx0 -16,du aa 000040 700025 740100 stx0 sb|21 aa 000041 600023 740100 stx0 sp|19 " end of save sequence aa 000042 600265 234100 58 szn sp|181 " OddPage aa 000043 000003 600004 tze L18 aa 000044 600266 236100 ldq sp|182 " Of aa 000045 000002 710004 tra L19 L18: aa 000046 600160 236100 ldq sp|112 " Ef L19: aa 000047 600277 235100 lda sp|191 " Pl aa 000050 600252 175100 sba sp|170 " Nl aa 000051 600242 175100 sba sp|162 " Ma3 aa 000052 600243 175100 sba sp|163 " Ma4 aa 000053 600203 175100 sba sp|131 " Fl aa 000054 600000 756100 stq sp|0 aa 000055 600000 760100 lprpap sp|0 aa 000056 000000 175100 sba ap|0 aa 000057 600232 755100 sta sp|154 " LinesLeft L17: aa 000060 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000061 200000 121100 sblx1 bp|0 aa 000062 700001 764111 lprplp sb|1,x1 aa 000063 200001 710100 tra bp|1 " end of return sequence " Begin text of Blank aa 000064 000005 102154 zero 5,33900 " Blank aa 000065 141156 153000 zero 49774,54784 L5: aa 000066 000000 213000 60 epaq 0 " set lp to linkage section aa 000067 700026 764161 lprplp sb|22,*au aa 000070 200000 021100 adlx1 bp|0 " BCPL save aa 000071 700000 542111 sprpbp sb|0,x1 aa 000072 700001 544111 sprplp sb|1,x1 aa 000073 700422 620111 eax0 sb|274,x1 aa 000074 777760 360003 anx0 -16,du aa 000075 700025 740100 stx0 sb|21 aa 000076 600023 740100 stx0 sp|19 " end of save sequence aa 000077 000001 236007 61 ldq 1,dl " 1 aa 000100 700003 756111 stq sb|3,x1 " i aa 000101 700002 236111 ldq sb|2,x1 " n aa 000102 700004 756111 stq sb|4,x1 aa 000103 000006 710004 tra L24 L23: aa 000104 000040 236007 ldq 32,dl " '*s' aa 000105 700010 756111 stq sb|8,x1 aa 000106 000017 272004 tsbbp L6+2 " WriteChar aa 000107 000006 000001 zero 6,1 aa 000110 700003 054111 aos sb|3,x1 " i L24: aa 000111 700003 236111 ldq sb|3,x1 " i aa 000112 700004 116111 cmpq sb|4,x1 aa 000113 777771 604404 tmoz L23 L22: aa 000114 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000115 200000 121100 sblx1 bp|0 aa 000116 700001 764111 lprplp sb|1,x1 aa 000117 200001 710100 tra bp|1 " end of return sequence " Begin text of WriteChar aa 000120 000011 127162 zero 9,44658 " WriteChar aa 000121 151164 145103 zero 53876,51779 aa 000122 150141 162000 zero 53345,58368 L6: aa 000123 000000 213000 63 epaq 0 " set lp to linkage section aa 000124 700026 764161 lprplp sb|22,*au aa 000125 200000 021100 adlx1 bp|0 " BCPL save aa 000126 700000 542111 sprpbp sb|0,x1 aa 000127 700001 544111 sprplp sb|1,x1 aa 000130 700423 620111 eax0 sb|275,x1 aa 000131 777760 360003 anx0 -16,du aa 000132 700025 740100 stx0 sb|21 aa 000133 600023 740100 stx0 sp|19 " end of save sequence aa 000134 600217 234100 64 szn sp|143 " Ft aa 000135 000010 600004 tze L29 aa 000136 600173 235100 65 lda sp|123 " Fc aa 000137 000001 075007 ada 1,dl " 1 aa 000140 700002 236111 ldq sb|2,x1 " c aa 000141 600206 762100 lprpbp sp|134 " Footbuf aa 000142 200000 756105 stq bp|0,al aa 000143 600173 054100 66 aos sp|123 " Fc aa 000144 000062 710004 tra L28 L29: aa 000145 600300 234100 68 szn sp|192 " Print aa 000146 000060 600004 tze L30 aa 000147 600151 234100 69 szn sp|105 " Charsw aa 000150 000007 600004 tze L31 aa 000151 700002 722111 lxl2 sb|2,x1 " c aa 000152 600323 761100 lprpab sp|211 " TrTable aa 000153 100000 236112 ldq ab|0,x2 aa 000154 700010 756111 stq sb|8,x1 4a 000155 400036 272120 tsbbp lp|L32,* " WrCh aa 000156 000006 000001 zero 6,1 L31: aa 000157 700002 723111 70 lxl3 sb|2,x1 " c aa 000160 600153 763100 lprpbb sp|107 " Conv aa 000161 300000 236113 ldq bb|0,x3 aa 000162 700003 756111 stq sb|3,x1 " Cc aa 000163 700003 236111 71 ldq sb|3,x1 " Cc aa 000164 000177 116007 cmpq 127,dl " Skip aa 000165 000041 600004 tze L27 aa 000166 700003 235111 78 lda sb|3,x1 " Cc aa 000167 000040 115007 cmpa 32,dl " '*s' aa 000170 000004 600004 tze L35 aa 000171 700003 236111 ldq sb|3,x1 " Cc aa 000172 000010 116007 cmpq 8,dl " '*b' aa 000173 000014 601004 tnz L34 L35: aa 000174 600305 234100 79 szn sp|197 " SavedCc aa 000175 000004 601004 tnz L37 aa 000176 700003 235111 80 lda sb|3,x1 " Cc aa 000177 600305 755100 sta sp|197 " SavedCc aa 000200 000026 710004 81 tra L27 L37: aa 000201 600305 235100 83 lda sp|197 " SavedCc aa 000202 700003 115111 cmpa sb|3,x1 " Cc aa 000203 000003 600004 tze L38 aa 000204 600305 450100 84 stz sp|197 " SavedCc aa 000205 000021 710004 85 tra L27 L38: L36: aa 000206 000012 710004 tra L33 L34: aa 000207 600305 234100 87 szn sp|197 " SavedCc aa 000210 000010 600004 tze L39 aa 000211 600270 236100 88 ldq sp|184 " Output aa 000212 700010 756111 stq sb|8,x1 aa 000213 600305 236100 ldq sp|197 " SavedCc aa 000214 700011 756111 stq sb|9,x1 4a 000215 400034 272120 tsbbp lp|L40,* " Writech aa 000216 000006 000002 zero 6,2 aa 000217 600305 450100 89 stz sp|197 " SavedCc L39: L33: aa 000220 600270 236100 91 ldq sp|184 " Output aa 000221 700010 756111 stq sb|8,x1 aa 000222 700003 236111 ldq sb|3,x1 " Cc aa 000223 700011 756111 stq sb|9,x1 4a 000224 400034 272120 tsbbp lp|L40,* " Writech aa 000225 000006 000002 zero 6,2 L30: L28: L27: aa 000226 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000227 200000 121100 sblx1 bp|0 aa 000230 700001 764111 lprplp sb|1,x1 aa 000231 200001 710100 tra bp|1 " end of return sequence " Begin text of PrinterIndent aa 000232 000015 120162 zero 13,41074 " PrinterIndent aa 000233 151156 164145 zero 53870,59493 aa 000234 162111 156144 zero 58441,56420 aa 000235 145156 164000 zero 51822,59392 L7: aa 000236 000000 213000 96 epaq 0 " set lp to linkage section aa 000237 700026 764161 lprplp sb|22,*au aa 000240 200000 021100 adlx1 bp|0 " BCPL save aa 000241 700000 542111 sprpbp sb|0,x1 aa 000242 700001 544111 sprplp sb|1,x1 aa 000243 700423 620111 eax0 sb|275,x1 aa 000244 777760 360003 anx0 -16,du aa 000245 700025 740100 stx0 sb|21 aa 000246 600023 740100 stx0 sp|19 " end of save sequence aa 000247 600300 234100 97 szn sp|192 " Print aa 000250 000003 601004 tnz L45 aa 000251 600217 234100 szn sp|143 " Ft aa 000252 000120 600004 tze L44 L45: aa 000253 700002 450111 98 stz sb|2,x1 " p aa 000254 600302 234100 99 szn sp|194 " PrintLineNumbers aa 000255 000057 600004 tze L46 aa 000256 700004 371511 100 eaplb sb|4,x1 " a vector aa 000257 700003 545111 sprplb sb|3,x1 " v aa 000260 600227 236100 101 ldq sp|151 " InputLines aa 000261 700036 756111 stq sb|30,x1 aa 000262 700003 236111 ldq sb|3,x1 " v aa 000263 700037 756111 stq sb|31,x1 aa 000264 000351 272004 tsbbp L8+2 " StoreArabic aa 000265 000034 000002 zero 28,2 aa 000266 700003 765111 102 lprplb sb|3,x1 " v aa 000267 500000 236100 ldq lb|0 aa 000270 700002 756111 stq sb|2,x1 " p aa 000271 700002 236111 103 ldq sb|2,x1 " p aa 000272 700031 756111 stq sb|25,x1 " i aa 000273 000006 710004 tra L48 L47: aa 000274 000040 236007 ldq 32,dl " '*s' aa 000275 700036 756111 stq sb|30,x1 aa 000276 777627 272004 tsbbp L6+2 " WriteChar aa 000277 000034 000001 zero 28,1 aa 000300 700031 054111 aos sb|25,x1 " i L48: aa 000301 700031 236111 ldq sb|25,x1 " i aa 000302 000005 116007 cmpq 5,dl " 5 aa 000303 777771 604404 tmoz L47 aa 000304 000001 235007 104 lda 1,dl " 1 aa 000305 700031 755111 sta sb|25,x1 " i aa 000306 700002 235111 lda sb|2,x1 " p aa 000307 700032 755111 sta sb|26,x1 aa 000310 000010 710004 tra L50 L49: aa 000311 700031 724111 lxl4 sb|25,x1 " i aa 000312 700003 760111 lprpap sb|3,x1 " v aa 000313 000000 235114 lda ap|0,x4 aa 000314 700036 755111 sta sb|30,x1 aa 000315 777610 272004 tsbbp L6+2 " WriteChar aa 000316 000034 000001 zero 28,1 aa 000317 700031 054111 aos sb|25,x1 " i L50: aa 000320 700031 235111 lda sb|25,x1 " i aa 000321 700032 115111 cmpa sb|26,x1 aa 000322 777767 604404 tmoz L49 aa 000323 700002 236111 105 ldq sb|2,x1 " p aa 000324 000012 116007 cmpq 10,dl " 10 aa 000325 000007 605004 tpl L51 aa 000326 000011 235007 106 lda 9,dl " '*t' aa 000327 700036 755111 sta sb|30,x1 aa 000330 777575 272004 tsbbp L6+2 " WriteChar aa 000331 000034 000001 zero 28,1 aa 000332 000012 235007 107 lda 10,dl " 10 aa 000333 700002 755111 sta sb|2,x1 " p L51: L46: aa 000334 600172 234100 110 szn sp|122 " ExtraMargin aa 000335 000035 600004 tze L52 aa 000336 000014 710004 111 tra L53 L54: aa 000337 000011 235007 112 lda 9,dl " '*t' aa 000340 700036 755111 sta sb|30,x1 aa 000341 777564 272004 tsbbp L6+2 " WriteChar aa 000342 000034 000001 zero 28,1 aa 000343 700002 236111 113 ldq sb|2,x1 " p aa 000344 000012 506007 div 10,dl " 10 aa 000345 700002 236111 ldq sb|2,x1 " p aa 000346 000012 076007 adq 10,dl " 10 aa 000347 600000 755100 sta sp|0 aa 000350 600000 176100 sbq sp|0 aa 000351 700002 756111 stq sb|2,x1 " p L53: aa 000352 700002 236111 ldq sb|2,x1 " p aa 000353 000012 506007 div 10,dl " 10 aa 000354 700003 756111 stq sb|3,x1 " temporary aa 000355 600172 236100 ldq sp|122 " ExtraMargin aa 000356 000012 506007 div 10,dl " 10 aa 000357 700003 116111 cmpq sb|3,x1 aa 000360 777757 605404 tpnz L54 aa 000361 000006 710004 115 tra L55 L56: aa 000362 000040 236007 116 ldq 32,dl " '*s' aa 000363 700036 756111 stq sb|30,x1 aa 000364 777541 272004 tsbbp L6+2 " WriteChar aa 000365 000034 000001 zero 28,1 aa 000366 700002 054111 117 aos sb|2,x1 " p L55: aa 000367 700002 236111 ldq sb|2,x1 " p aa 000370 600172 116100 cmpq sp|122 " ExtraMargin aa 000371 777771 604004 tmi L56 L52: L44: L43: aa 000372 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000373 200000 121100 sblx1 bp|0 aa 000374 700001 764111 lprplp sb|1,x1 aa 000375 200001 710100 tra bp|1 " end of return sequence " Begin text of StoreRoman aa 000376 000012 123164 zero 10,42612 " StoreRoman aa 000377 157162 145122 zero 56946,51794 aa 000400 157155 141156 zero 56941,49774 L9: aa 000401 000000 213000 126 epaq 0 " set lp to linkage section aa 000402 700026 764161 lprplp sb|22,*au aa 000403 200000 021100 adlx1 bp|0 " BCPL save aa 000404 700000 542111 sprpbp sb|0,x1 aa 000405 700001 544111 sprplp sb|1,x1 aa 000406 700417 620111 eax0 sb|271,x1 aa 000407 777760 360003 anx0 -16,du aa 000410 700025 740100 stx0 sb|21 aa 000411 600023 740100 stx0 sp|19 " end of save sequence aa 000412 700005 450111 127 stz sb|5,x1 " i aa 000413 700010 352111 eapbp sb|8,x1 " a vector aa 000414 700004 542111 sprpbp sb|4,x1 " Wa aa 000415 700014 352111 eapbp sb|12,x1 " a vector aa 000416 700006 542111 sprpbp sb|6,x1 " Wb aa 000417 000205 352004 128 eapbp L60 " a table aa 000420 600000 542100 sprpbp sp|0 aa 000421 600000 235100 lda sp|0 " a table aa 000422 000001 175007 sba 1,dl " 1 aa 000423 700020 755111 sta sb|16,x1 " Tb aa 000424 000174 352004 eapbp L61 " a table aa 000425 600000 542100 sprpbp sp|0 aa 000426 600000 235100 lda sp|0 " a table aa 000427 000001 175007 sba 1,dl " 1 aa 000430 700007 755111 sta sb|7,x1 " Ta aa 000431 700002 234111 129 szn sb|2,x1 " n aa 000432 000003 605004 tpl L62 aa 000433 000000 235007 lda 0,dl aa 000434 700002 155111 ssa sb|2,x1 " n L62: aa 000435 000001 235007 130 lda 1,dl " 1 aa 000436 700021 755111 sta sb|17,x1 " j aa 000437 000022 710004 tra L64 L63: aa 000440 700002 236111 131 ldq sb|2,x1 " n aa 000441 000012 506007 div 10,dl " 10 aa 000442 700022 755111 sta sb|18,x1 " r aa 000443 700022 236111 132 ldq sb|18,x1 " r aa 000444 000005 506007 div 5,dl " 5 aa 000445 700021 725111 lxl5 sb|17,x1 " j aa 000446 700004 762111 lprpbp sb|4,x1 " Wa aa 000447 200000 755115 sta bp|0,x5 aa 000450 700022 236111 ldq sb|18,x1 " r aa 000451 000005 506007 div 5,dl " 5 aa 000452 700021 726111 lxl6 sb|17,x1 " j aa 000453 700006 761111 lprpab sb|6,x1 " Wb aa 000454 100000 756116 stq ab|0,x6 aa 000455 700002 236111 133 ldq sb|2,x1 " n aa 000456 000012 506007 div 10,dl " 10 aa 000457 700002 756111 stq sb|2,x1 " n aa 000460 700021 054111 aos sb|17,x1 " j L64: aa 000461 700021 236111 ldq sb|17,x1 " j aa 000462 000003 116007 cmpq 3,dl " 3 aa 000463 777755 604404 tmoz L63 aa 000464 700002 235111 135 lda sb|2,x1 " n aa 000465 000024 115007 cmpa 20,dl " 20 aa 000466 000003 604404 tmoz L65 aa 000467 000024 236007 ldq 20,dl " 20 aa 000470 700002 756111 stq sb|2,x1 " n L65: aa 000471 000001 236007 137 ldq 1,dl " 1 aa 000472 700021 756111 stq sb|17,x1 " j aa 000473 700002 236111 ldq sb|2,x1 " n aa 000474 700022 756111 stq sb|18,x1 aa 000475 000007 710004 tra L67 L66: aa 000476 700005 054111 138 aos sb|5,x1 " i aa 000477 000155 236007 139 ldq 109,dl " 'm' aa 000500 700005 722111 lxl2 sb|5,x1 " i aa 000501 700003 763111 lprpbb sb|3,x1 " v aa 000502 300000 756112 stq bb|0,x2 aa 000503 700021 054111 aos sb|17,x1 " j L67: aa 000504 700021 236111 ldq sb|17,x1 " j aa 000505 700022 116111 cmpq sb|18,x1 aa 000506 777770 604404 tmoz L66 aa 000507 000003 235007 141 lda 3,dl " 3 aa 000510 700021 755111 sta sb|17,x1 " j aa 000511 000075 710004 tra L69 L68: aa 000512 700021 723111 142 lxl3 sb|17,x1 " j aa 000513 700004 765111 lprplb sb|4,x1 " Wa aa 000514 500000 235113 lda lb|0,x3 aa 000515 000004 115007 cmpa 4,dl " 4 aa 000516 000031 601004 tnz L71 aa 000517 700005 054111 143 aos sb|5,x1 " i aa 000520 700021 724111 144 lxl4 sb|17,x1 " j aa 000521 700007 760111 lprpap sb|7,x1 " Ta aa 000522 000000 236114 ldq ap|0,x4 aa 000523 700005 725111 lxl5 sb|5,x1 " i aa 000524 700003 762111 lprpbp sb|3,x1 " v aa 000525 200000 756115 stq bp|0,x5 aa 000526 700005 054111 145 aos sb|5,x1 " i aa 000527 700021 726111 146 lxl6 sb|17,x1 " j aa 000530 700006 761111 lprpab sb|6,x1 " Wb aa 000531 100000 234116 szn ab|0,x6 aa 000532 000005 601004 tnz L72 aa 000533 700021 722111 lxl2 sb|17,x1 " j aa 000534 700020 763111 lprpbb sb|16,x1 " Tb aa 000535 300000 236112 ldq bb|0,x2 aa 000536 000005 710004 tra L73 L72: aa 000537 700021 235111 lda sb|17,x1 " j aa 000540 000001 075007 ada 1,dl " 1 aa 000541 700007 765111 lprplb sb|7,x1 " Ta aa 000542 500000 236105 ldq lb|0,al L73: aa 000543 700005 723111 lxl3 sb|5,x1 " i aa 000544 700003 760111 lprpap sb|3,x1 " v aa 000545 000000 756113 stq ap|0,x3 aa 000546 000036 710004 tra L70 L71: aa 000547 700021 724111 148 lxl4 sb|17,x1 " j aa 000550 700006 762111 lprpbp sb|6,x1 " Wb aa 000551 200000 234114 szn bp|0,x4 aa 000552 000010 600004 tze L74 aa 000553 700005 054111 149 aos sb|5,x1 " i aa 000554 700021 725111 150 lxl5 sb|17,x1 " j aa 000555 700020 761111 lprpab sb|16,x1 " Tb aa 000556 100000 236115 ldq ab|0,x5 aa 000557 700005 726111 lxl6 sb|5,x1 " i aa 000560 700003 763111 lprpbb sb|3,x1 " v aa 000561 300000 756116 stq bb|0,x6 L74: aa 000562 000001 236007 152 ldq 1,dl " 1 aa 000563 700022 756111 stq sb|18,x1 " k aa 000564 700021 722111 lxl2 sb|17,x1 " j aa 000565 700004 765111 lprplb sb|4,x1 " Wa aa 000566 500000 236112 ldq lb|0,x2 aa 000567 700023 756111 stq sb|19,x1 aa 000570 000011 710004 tra L76 L75: aa 000571 700005 054111 153 aos sb|5,x1 " i aa 000572 700021 723111 154 lxl3 sb|17,x1 " j aa 000573 700007 760111 lprpap sb|7,x1 " Ta aa 000574 000000 236113 ldq ap|0,x3 aa 000575 700005 724111 lxl4 sb|5,x1 " i aa 000576 700003 762111 lprpbp sb|3,x1 " v aa 000577 200000 756114 stq bp|0,x4 aa 000600 700022 054111 aos sb|18,x1 " k L76: aa 000601 700022 236111 ldq sb|18,x1 " k aa 000602 700023 116111 cmpq sb|19,x1 aa 000603 777766 604404 tmoz L75 L70: aa 000604 000001 335007 lca 1,dl aa 000605 700021 055111 asa sb|17,x1 " j L69: aa 000606 700021 235111 lda sb|17,x1 " j aa 000607 000001 115007 cmpa 1,dl " 1 aa 000610 777702 605004 tpl L68 aa 000611 700005 236111 157 ldq sb|5,x1 " i aa 000612 700003 761111 lprpab sb|3,x1 " v aa 000613 100000 756100 stq ab|0 L59: aa 000614 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000615 200000 121100 sblx1 bp|0 aa 000616 700001 764111 lprplp sb|1,x1 aa 000617 200001 710100 tra bp|1 " end of return sequence " Literal pool L61: aa 000620 000000 000151 zero 0,105 " a table aa 000621 000000 000170 zero 0,120 aa 000622 000000 000143 zero 0,99 aa 000623 000000 000155 zero 0,109 L60: aa 000624 000000 000166 zero 0,118 " a table aa 000625 000000 000154 zero 0,108 aa 000626 000000 000144 zero 0,100 " Begin text of StoreArabic aa 000627 000013 123164 zero 11,42612 " StoreArabic aa 000630 157162 145101 zero 56946,51777 aa 000631 162141 142151 zero 58465,50281 aa 000632 143000 000000 zero 50688 L8: aa 000633 000000 213000 122 epaq 0 " set lp to linkage section aa 000634 700026 764161 lprplp sb|22,*au aa 000635 200000 021100 adlx1 bp|0 " BCPL save aa 000636 700000 542111 sprpbp sb|0,x1 aa 000637 700001 544111 sprplp sb|1,x1 aa 000640 700423 620111 eax0 sb|275,x1 aa 000641 777760 360003 anx0 -16,du aa 000642 700025 740100 stx0 sb|21 aa 000643 600023 740100 stx0 sp|19 " end of save sequence aa 000644 700006 353511 123 eapbb sb|6,x1 " a vector aa 000645 700004 543111 sprpbb sb|4,x1 " w aa 000646 700002 236111 124 ldq sb|2,x1 " n aa 000647 700036 756111 stq sb|30,x1 aa 000650 700004 236111 ldq sb|4,x1 " w aa 000651 700037 756111 stq sb|31,x1 4a 000652 400032 272120 tsbbp lp|L80,* " ConvertNtoS aa 000653 000034 000002 zero 28,2 aa 000654 700005 756111 stq sb|5,x1 aa 000655 700005 236111 ldq sb|5,x1 aa 000656 700036 756111 stq sb|30,x1 aa 000657 700003 236111 ldq sb|3,x1 " v aa 000660 700037 756111 stq sb|31,x1 4a 000661 400030 272120 tsbbp lp|L81,* " Unpackstring aa 000662 000034 000002 zero 28,2 L79: aa 000663 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000664 200000 121100 sblx1 bp|0 aa 000665 700001 764111 lprplp sb|1,x1 aa 000666 200001 710100 tra bp|1 " end of return sequence " Begin text of Newline aa 000667 000007 116145 zero 7,40037 " Newline aa 000670 167154 151156 zero 61036,53870 aa 000671 145000 000000 zero 51712 L3: aa 000672 000000 213000 37 epaq 0 " set lp to linkage section aa 000673 700026 764161 lprplp sb|22,*au aa 000674 200000 021100 adlx1 bp|0 " BCPL save aa 000675 700000 542111 sprpbp sb|0,x1 aa 000676 700001 544111 sprplp sb|1,x1 aa 000677 700422 620111 eax0 sb|274,x1 aa 000700 777760 360003 anx0 -16,du aa 000701 700025 740100 stx0 sb|21 aa 000702 600023 740100 stx0 sp|19 " end of save sequence aa 000703 000001 236007 38 ldq 1,dl " 1 aa 000704 700003 756111 stq sb|3,x1 " i aa 000705 700002 236111 ldq sb|2,x1 " n aa 000706 700004 756111 stq sb|4,x1 aa 000707 000061 710004 tra L86 L85: aa 000710 600217 234100 39 szn sp|143 " Ft aa 000711 000051 600004 tze L88 aa 000712 600173 236100 40 ldq sp|123 " Fc aa 000713 000001 076007 adq 1,dl " 1 aa 000714 700014 756111 stq sb|12,x1 4a 000715 400026 272120 tsbbp lp|L89,* " Newvec aa 000716 000012 000001 zero 10,1 aa 000717 700005 756111 stq sb|5,x1 " P aa 000720 000001 236007 41 ldq 1,dl " 1 aa 000721 700006 756111 stq sb|6,x1 " j aa 000722 600173 236100 ldq sp|123 " Fc aa 000723 700007 756111 stq sb|7,x1 aa 000724 000011 710004 tra L91 L90: aa 000725 700006 236111 ldq sb|6,x1 " j aa 000726 000001 076007 adq 1,dl " 1 aa 000727 700006 725111 lxl5 sb|6,x1 " j aa 000730 600206 763100 lprpbb sp|134 " Footbuf aa 000731 300000 235115 lda bb|0,x5 aa 000732 700005 765111 lprplb sb|5,x1 " P aa 000733 500000 755106 sta lb|0,ql aa 000734 700006 054111 aos sb|6,x1 " j L91: aa 000735 700006 236111 ldq sb|6,x1 " j aa 000736 700007 116111 cmpq sb|7,x1 aa 000737 777766 604404 tmoz L90 aa 000740 600173 235100 42 lda sp|123 " Fc aa 000741 700005 760111 lprpap sb|5,x1 " P aa 000742 000001 755100 sta ap|1 aa 000743 700005 762111 lprpbp sb|5,x1 " P aa 000744 200000 450100 stz bp|0 aa 000745 600210 234100 43 szn sp|136 " FootListBase aa 000746 000004 601004 tnz L93 aa 000747 700005 235111 44 lda sb|5,x1 " P aa 000750 600210 755100 sta sp|136 " FootListBase aa 000751 000004 710004 tra L92 L93: aa 000752 700005 235111 45 lda sb|5,x1 " P aa 000753 600207 761100 lprpab sp|135 " FootList aa 000754 100000 755100 sta ab|0 L92: aa 000755 700005 235111 46 lda sb|5,x1 " P aa 000756 600207 755100 sta sp|135 " FootList aa 000757 600203 054100 47 aos sp|131 " Fl aa 000760 600173 450100 48 stz sp|123 " Fc aa 000761 000006 710004 tra L87 L88: aa 000762 000012 235007 50 lda 10,dl " '*n' aa 000763 700014 755111 sta sb|12,x1 aa 000764 777141 272004 tsbbp L6+2 " WriteChar aa 000765 000012 000001 zero 10,1 aa 000766 600252 054100 51 aos sp|170 " Nl L87: aa 000767 700003 054111 aos sb|3,x1 " i L86: aa 000770 700003 235111 lda sb|3,x1 " i aa 000771 700004 115111 cmpa sb|4,x1 aa 000772 777716 604404 tmoz L85 aa 000773 777040 272004 54 tsbbp L4+2 " SetLinesLeft aa 000774 000012 000000 zero 10 L84: aa 000775 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000776 200000 121100 sblx1 bp|0 aa 000777 700001 764111 lprplp sb|1,x1 aa 001000 200001 710100 tra bp|1 " end of return sequence " Begin text of NeedSS aa 001001 000006 116145 zero 6,40037 " NeedSS aa 001002 145144 123123 zero 51812,42579 L2: aa 001003 000000 213000 34 epaq 0 " set lp to linkage section aa 001004 700026 764161 lprplp sb|22,*au aa 001005 200000 021100 adlx1 bp|0 " BCPL save aa 001006 700000 542111 sprpbp sb|0,x1 aa 001007 700001 544111 sprplp sb|1,x1 aa 001010 700421 620111 eax0 sb|273,x1 aa 001011 777760 360003 anx0 -16,du aa 001012 700025 740100 stx0 sb|21 aa 001013 600023 740100 stx0 sp|19 " end of save sequence aa 001014 700002 236111 35 ldq sb|2,x1 " n aa 001015 600232 116100 cmpq sp|154 " LinesLeft aa 001016 000003 604404 tmoz L97 4a 001017 400040 272120 tsbbp lp|L14,* " Eject aa 001020 000004 000000 zero 4 L97: L96: aa 001021 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001022 200000 121100 sblx1 bp|0 aa 001023 700001 764111 lprplp sb|1,x1 aa 001024 200001 710100 tra bp|1 " end of return sequence " Begin text of StoreDate aa 001025 000011 123164 zero 9,42612 " StoreDate aa 001026 157162 145104 zero 56946,51780 aa 001027 141164 145000 zero 49780,51712 L98: aa 001030 000000 213000 160 epaq 0 " set lp to linkage section aa 001031 700026 764161 lprplp sb|22,*au aa 001032 200000 021100 adlx1 bp|0 " BCPL save aa 001033 700000 542111 sprpbp sb|0,x1 aa 001034 700001 544111 sprplp sb|1,x1 aa 001035 700424 620111 eax0 sb|276,x1 aa 001036 777760 360003 anx0 -16,du aa 001037 700025 740100 stx0 sb|21 aa 001040 600023 740100 stx0 sp|19 " end of save sequence aa 001041 700004 353511 161 eapbb sb|4,x1 " a vector aa 001042 700003 543111 sprpbb sb|3,x1 " w aa 001043 600317 235100 162 lda sp|207 " TimeNow aa 001044 700030 755111 sta sb|24,x1 aa 001045 700003 235111 lda sb|3,x1 " w aa 001046 700031 755111 sta sb|25,x1 aa 001047 700032 450111 stz sb|26,x1 4a 001050 400024 272120 tsbbp lp|L103,* " FormDate aa 001051 000026 000003 zero 22,3 aa 001052 700003 763111 163 lprpbb sb|3,x1 " w aa 001053 300000 236100 ldq bb|0 aa 001054 000012 506007 div 10,dl " 10 aa 001055 000060 076007 adq 48,dl " '0' aa 001056 700002 765111 lprplb sb|2,x1 " v aa 001057 500001 756100 stq lb|1 aa 001060 700003 760111 lprpap sb|3,x1 " w aa 001061 000000 236100 ldq ap|0 aa 001062 000012 506007 div 10,dl " 10 aa 001063 000060 075007 ada 48,dl " '0' aa 001064 700002 762111 lprpbp sb|2,x1 " v aa 001065 200002 755100 sta bp|2 aa 001066 000057 235007 164 lda 47,dl " '/' aa 001067 700002 761111 lprpab sb|2,x1 " v aa 001070 100003 755100 sta ab|3 aa 001071 700003 763111 165 lprpbb sb|3,x1 " w aa 001072 300002 236100 ldq bb|2 aa 001073 000012 506007 div 10,dl " 10 aa 001074 000060 075007 ada 48,dl " '0' aa 001075 700002 765111 lprplb sb|2,x1 " v aa 001076 500005 755100 sta lb|5 aa 001077 700003 760111 lprpap sb|3,x1 " w aa 001100 000002 236100 ldq ap|2 aa 001101 000012 506007 div 10,dl " 10 aa 001102 000060 076007 adq 48,dl " '0' aa 001103 700002 762111 lprpbp sb|2,x1 " v aa 001104 200004 756100 stq bp|4 aa 001105 000057 236007 166 ldq 47,dl " '/' aa 001106 700002 761111 lprpab sb|2,x1 " v aa 001107 100006 756100 stq ab|6 aa 001110 700003 763111 167 lprpbb sb|3,x1 " w aa 001111 300003 236100 ldq bb|3 aa 001112 000012 506007 div 10,dl " 10 aa 001113 000060 075007 ada 48,dl " '0' aa 001114 700002 765111 lprplb sb|2,x1 " v aa 001115 500010 755100 sta lb|8 aa 001116 700003 760111 lprpap sb|3,x1 " w aa 001117 000003 236100 ldq ap|3 aa 001120 000012 506007 div 10,dl " 10 aa 001121 000012 506007 div 10,dl " 10 aa 001122 000060 075007 ada 48,dl " '0' aa 001123 700002 762111 lprpbp sb|2,x1 " v aa 001124 200007 755100 sta bp|7 aa 001125 000010 236007 168 ldq 8,dl " 8 aa 001126 700002 761111 lprpab sb|2,x1 " v aa 001127 100000 756100 stq ab|0 L102: aa 001130 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001131 200000 121100 sblx1 bp|0 aa 001132 700001 764111 lprplp sb|1,x1 aa 001133 200001 710100 tra bp|1 " end of return sequence " Begin text of ReadName aa 001134 000010 122145 zero 8,42085 " ReadName aa 001135 141144 116141 zero 49764,40033 aa 001136 155145 000000 zero 55909 L99: aa 001137 000000 213000 170 epaq 0 " set lp to linkage section aa 001140 700026 764161 lprplp sb|22,*au aa 001141 200000 021100 adlx1 bp|0 " BCPL save aa 001142 700000 542111 sprpbp sb|0,x1 aa 001143 700001 544111 sprplp sb|1,x1 aa 001144 700653 620111 eax0 sb|427,x1 aa 001145 777760 360003 anx0 -16,du aa 001146 700025 740100 stx0 sb|21 aa 001147 600023 740100 stx0 sp|19 " end of save sequence aa 001150 700004 450111 171 stz sb|4,x1 " i aa 001151 700006 353511 172 eapbb sb|6,x1 " a vector aa 001152 700005 543111 sprpbb sb|5,x1 " w aa 001153 000011 710004 173 tra L107 L108: aa 001154 700004 054111 174 aos sb|4,x1 " i aa 001155 600264 726100 175 lxl6 sp|180 " Nrx aa 001156 600303 763100 lprpbb sp|195 " Rawchar aa 001157 300000 236116 ldq bb|0,x6 aa 001160 700004 722111 lxl2 sb|4,x1 " i aa 001161 700005 765111 lprplb sb|5,x1 " w aa 001162 500000 756112 stq lb|0,x2 aa 001163 600264 054100 176 aos sp|180 " Nrx L107: aa 001164 600264 236100 ldq sp|180 " Nrx aa 001165 600261 116100 cmpq sp|177 " Nr aa 001166 000006 605004 tpl L109 aa 001167 600264 723100 lxl3 sp|180 " Nrx aa 001170 600303 760100 lprpap sp|195 " Rawchar aa 001171 000000 235113 lda ap|0,x3 aa 001172 000040 115007 cmpa 32,dl " '*s' aa 001173 777761 601004 tnz L108 L109: aa 001174 000002 710004 178 tra L110 L111: aa 001175 600264 054100 aos sp|180 " Nrx L110: aa 001176 600264 236100 ldq sp|180 " Nrx aa 001177 600261 116100 cmpq sp|177 " Nr aa 001200 000006 605004 tpl L112 aa 001201 600264 724100 lxl4 sp|180 " Nrx aa 001202 600303 762100 lprpbp sp|195 " Rawchar aa 001203 200000 235114 lda bp|0,x4 aa 001204 000040 115007 cmpa 32,dl " '*s' aa 001205 777770 600004 tze L111 L112: aa 001206 700004 236111 179 ldq sb|4,x1 " i aa 001207 700005 761111 lprpab sb|5,x1 " w aa 001210 100000 756100 stq ab|0 aa 001211 700005 236111 180 ldq sb|5,x1 " w aa 001212 700632 756111 stq sb|410,x1 aa 001213 700002 236111 ldq sb|2,x1 " v aa 001214 700633 756111 stq sb|411,x1 4a 001215 400022 272120 tsbbp lp|L113,* " Packstring aa 001216 000630 000002 zero 408,2 aa 001217 700004 236111 181 ldq sb|4,x1 " i L106: aa 001220 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001221 200000 121100 sblx1 bp|0 aa 001222 700001 764111 lprplp sb|1,x1 aa 001223 200001 710100 tra bp|1 " end of return sequence " Begin text of Skiptolabel aa 001224 000013 123153 zero 11,42603 " Skiptolabel aa 001225 151160 164157 zero 53872,59503 aa 001226 154141 142145 zero 55393,50277 aa 001227 154000 000000 zero 55296 L114: aa 001230 000000 213000 183 epaq 0 " set lp to linkage section aa 001231 700026 764161 lprplp sb|22,*au aa 001232 200000 021100 adlx1 bp|0 " BCPL save aa 001233 700000 542111 sprpbp sb|0,x1 aa 001234 700001 544111 sprplp sb|1,x1 aa 001235 700654 620111 eax0 sb|428,x1 aa 001236 777760 360003 anx0 -16,du aa 001237 700025 740100 stx0 sb|21 aa 001240 600023 740100 stx0 sp|19 " end of save sequence aa 001241 600261 236100 184 ldq sp|177 " Nr aa 001242 000001 176007 sbq 1,dl " 1 aa 001243 700003 756111 stq sb|3,x1 " L aa 001244 700006 353511 eapbb sb|6,x1 " a vector aa 001245 700004 543111 sprpbb sb|4,x1 " v aa 001246 000001 236007 185 ldq 1,dl " 1 aa 001247 700005 756111 stq sb|5,x1 " i aa 001250 700003 236111 ldq sb|3,x1 " L aa 001251 700627 756111 stq sb|407,x1 aa 001252 000010 710004 tra L120 L119: aa 001253 700005 725111 lxl5 sb|5,x1 " i aa 001254 600303 763100 lprpbb sp|195 " Rawchar aa 001255 300000 236115 ldq bb|0,x5 aa 001256 700005 726111 lxl6 sb|5,x1 " i aa 001257 700004 765111 lprplb sb|4,x1 " v aa 001260 500000 756116 stq lb|0,x6 aa 001261 700005 054111 aos sb|5,x1 " i L120: aa 001262 700005 236111 ldq sb|5,x1 " i aa 001263 700627 116111 cmpq sb|407,x1 aa 001264 777767 604404 tmoz L119 aa 001265 000154 235007 186 lda 108,dl " 'l' aa 001266 700004 760111 lprpap sb|4,x1 " v aa 001267 000002 755100 sta ap|2 aa 001270 000141 235007 lda 97,dl " 'a' aa 001271 700004 762111 lprpbp sb|4,x1 " v aa 001272 200003 755100 sta bp|3 aa 001273 600227 235100 187 lda sp|151 " InputLines aa 001274 600231 755100 sta sp|153 " JumpLine aa 001275 700002 234111 188 szn sb|2,x1 " Forward aa 001276 000003 601004 tnz L121 4a 001277 400020 272120 tsbbp lp|L122,* " Nx_reset aa 001300 000632 000000 zero 410 L121: L115: aa 001301 600261 450100 190 stz sp|177 " Nr 4a 001302 400016 272120 191 tsbbp lp|L123,* " Readline aa 001303 000632 000000 zero 410 aa 001304 600231 234100 192 szn sp|153 " JumpLine aa 001305 000007 605004 tpl L124 aa 001306 600261 054100 193 aos sp|177 " Nr aa 001307 000036 351404 194 eapab L125 " "Target label not found" aa 001310 700634 541111 sprpab sb|412,x1 4a 001311 400014 272120 tsbbp lp|L126,* " Report aa 001312 000632 000001 zero 410,1 aa 001313 000026 710004 195 tra L118 L124: aa 001314 600261 235100 197 lda sp|177 " Nr aa 001315 700003 115111 cmpa sb|3,x1 " L aa 001316 777763 601004 tnz L115 aa 001317 000001 236007 198 ldq 1,dl " 1 aa 001320 700005 756111 stq sb|5,x1 " i aa 001321 700003 236111 ldq sb|3,x1 " L aa 001322 700627 756111 stq sb|407,x1 aa 001323 000011 710004 tra L128 L127: aa 001324 700005 722111 lxl2 sb|5,x1 " i aa 001325 700004 761111 lprpab sb|4,x1 " v aa 001326 100000 236112 ldq ab|0,x2 aa 001327 700005 723111 lxl3 sb|5,x1 " i aa 001330 600303 763100 lprpbb sp|195 " Rawchar aa 001331 300000 116113 cmpq bb|0,x3 aa 001332 777747 601004 tnz L115 aa 001333 700005 054111 aos sb|5,x1 " i L128: aa 001334 700005 235111 lda sb|5,x1 " i aa 001335 700627 115111 cmpa sb|407,x1 aa 001336 777766 604404 tmoz L127 aa 001337 000001 336007 199 lcq 1,dl aa 001340 600231 756100 stq sp|153 " JumpLine L118: aa 001341 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001342 200000 121100 sblx1 bp|0 aa 001343 700001 764111 lprplp sb|1,x1 aa 001344 200001 710100 tra bp|1 " end of return sequence " Literal pool L125: aa 001345 000026 124141 zero 22,43105 " "Target label not found" aa 001346 162147 145164 zero 58471,51828 aa 001347 040154 141142 zero 16492,49762 aa 001350 145154 040156 zero 51820,16494 aa 001351 157164 040146 zero 56948,16486 aa 001352 157165 156144 zero 56949,56420 " Begin text of InsertFile aa 001353 000012 111156 zero 10,37486 " InsertFile aa 001354 163145 162164 zero 58981,58484 aa 001355 106151 154145 zero 35945,55397 L129: aa 001356 000000 213000 201 epaq 0 " set lp to linkage section aa 001357 700026 764161 lprplp sb|22,*au aa 001360 200000 021100 adlx1 bp|0 " BCPL save aa 001361 700000 542111 sprpbp sb|0,x1 aa 001362 700001 544111 sprplp sb|1,x1 aa 001363 700422 620111 eax0 sb|274,x1 aa 001364 777760 360003 anx0 -16,du aa 001365 700025 740100 stx0 sb|21 aa 001366 600023 740100 stx0 sp|19 " end of save sequence aa 001367 700004 371511 202 eaplb sb|4,x1 " a vector aa 001370 700002 545111 sprplb sb|2,x1 " v aa 001371 700002 236111 203 ldq sb|2,x1 " v aa 001372 700154 756111 stq sb|108,x1 aa 001373 777546 272004 tsbbp L99+2 " ReadName aa 001374 000152 000001 zero 106,1 aa 001375 000000 116007 cmpq 0,dl aa 001376 000006 601004 tnz L133 aa 001377 000027 371404 204 eaplb L134 " "Missing file name" aa 001400 700154 545111 sprplb sb|108,x1 4a 001401 400014 272120 tsbbp lp|L126,* " Report aa 001402 000152 000001 zero 106,1 aa 001403 000014 710004 205 tra L132 L133: aa 001404 700002 236111 207 ldq sb|2,x1 " v aa 001405 700154 756111 stq sb|108,x1 4a 001406 400012 272120 tsbbp lp|L135,* " Nx_open aa 001407 000152 000001 zero 106,1 aa 001410 600264 236100 208 ldq sp|180 " Nrx aa 001411 600261 116100 cmpq sp|177 " Nr aa 001412 000005 605004 tpl L136 aa 001413 000010 371404 eaplb L137 " "Parameter" aa 001414 700154 545111 sprplb sb|108,x1 4a 001415 400010 272120 tsbbp lp|L138,* " UpdateSymbol aa 001416 000152 000001 zero 106,1 L136: L132: aa 001417 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001420 200000 121100 sblx1 bp|0 aa 001421 700001 764111 lprplp sb|1,x1 aa 001422 200001 710100 tra bp|1 " end of return sequence " Literal pool L137: aa 001423 000011 120141 zero 9,41057 " "Parameter" aa 001424 162141 155145 zero 58465,55909 aa 001425 164145 162000 zero 59493,58368 L134: aa 001426 000021 115151 zero 17,39529 " "Missing file name" aa 001427 163163 151156 zero 58995,53870 aa 001430 147040 146151 zero 52768,52329 aa 001431 154145 040156 zero 55397,16494 aa 001432 141155 145000 zero 49773,51712 aa 001433 000000 000000 " padding " Definition section part one - external entry points 5a 000000 000057 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_mr4" aa 000004 157146 146137 aa 000005 155162 064000 aa 000006 012111 156163 " "InsertFile" aa 000007 145162 164106 aa 000010 151154 145000 aa 000011 013123 153151 " "Skiptolabel" aa 000012 160164 157154 aa 000013 141142 145154 aa 000014 010122 145141 " "ReadName" aa 000015 144116 141155 aa 000016 145000 000000 aa 000017 011123 164157 " "StoreDate" aa 000020 162145 104141 aa 000021 164145 000000 aa 000022 012123 164157 " "StoreRoman" aa 000023 162145 122157 aa 000024 155141 156000 aa 000025 013123 164157 " "StoreArabic" aa 000026 162145 101162 aa 000027 141142 151143 aa 000030 015120 162151 " "PrinterIndent" aa 000031 156164 145162 aa 000032 111156 144145 aa 000033 156164 000000 aa 000034 011127 162151 " "WriteChar" aa 000035 164145 103150 aa 000036 141162 000000 aa 000037 005102 154141 " "Blank" aa 000040 156153 000000 aa 000041 014123 145164 " "SetLinesLeft" aa 000042 114151 156145 aa 000043 163114 145146 aa 000044 164000 000000 aa 000045 007116 145167 " "Newline" aa 000046 154151 156145 aa 000047 006116 145145 " "NeedSS" aa 000050 144123 123000 aa 000051 004116 145145 " "Need" aa 000052 144000 000000 aa 000053 014163 171155 " "symbol_table" aa 000054 142157 154137 aa 000055 164141 142154 aa 000056 145000 000000 " Segname definition for runoff_mr4 55 000057 000062 000002 " forward, backward threads 5a 000060 000002 400003 " value defined, class flags 55 000061 000003 000062 " name pointer, first entry def " Definition for InsertFile 55 000062 000065 000057 " forward, backward threads 0a 000063 001356 500000 " value defined, class flags 55 000064 000006 000057 " name pointer, segname def pointer " Definition for Skiptolabel 55 000065 000070 000062 " forward, backward threads 0a 000066 001230 500000 " value defined, class flags 55 000067 000011 000057 " name pointer, segname def pointer " Definition for ReadName 55 000070 000073 000065 " forward, backward threads 0a 000071 001137 500000 " value defined, class flags 55 000072 000014 000057 " name pointer, segname def pointer " Definition for StoreDate 55 000073 000076 000070 " forward, backward threads 0a 000074 001030 500000 " value defined, class flags 55 000075 000017 000057 " name pointer, segname def pointer " Definition for StoreRoman 55 000076 000101 000073 " forward, backward threads 0a 000077 000401 500000 " value defined, class flags 55 000100 000022 000057 " name pointer, segname def pointer " Definition for StoreArabic 55 000101 000104 000076 " forward, backward threads 0a 000102 000633 500000 " value defined, class flags 55 000103 000025 000057 " name pointer, segname def pointer " Definition for PrinterIndent 55 000104 000107 000101 " forward, backward threads 0a 000105 000236 500000 " value defined, class flags 55 000106 000030 000057 " name pointer, segname def pointer " Definition for WriteChar 55 000107 000112 000104 " forward, backward threads 0a 000110 000123 500000 " value defined, class flags 55 000111 000034 000057 " name pointer, segname def pointer " Definition for Blank 55 000112 000115 000107 " forward, backward threads 0a 000113 000066 500000 " value defined, class flags 55 000114 000037 000057 " name pointer, segname def pointer " Definition for SetLinesLeft 55 000115 000120 000112 " forward, backward threads 0a 000116 000031 500000 " value defined, class flags 55 000117 000041 000057 " name pointer, segname def pointer " Definition for Newline 55 000120 000123 000115 " forward, backward threads 0a 000121 000672 500000 " value defined, class flags 55 000122 000045 000057 " name pointer, segname def pointer " Definition for NeedSS 55 000123 000126 000120 " forward, backward threads 0a 000124 001003 500000 " value defined, class flags 55 000125 000047 000057 " name pointer, segname def pointer " Definition for Need 55 000126 000131 000123 " forward, backward threads 0a 000127 000002 500000 " value defined, class flags 55 000130 000051 000057 " name pointer, segname def pointer " Definition for symbol_table 55 000131 000002 000126 " forward, backward threads 6a 000132 000000 400002 " value defined, class flags 55 000133 000053 000057 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000134 012162 165156 " "runoff_mr9" aa 000135 157146 146137 aa 000136 155162 071000 aa 000137 014125 160144 " "UpdateSymbol" aa 000140 141164 145123 aa 000141 171155 142157 aa 000142 154000 000000 5a 000143 000144 000000 aa 000144 000004 000000 55 000145 000134 000137 aa 000146 012162 165156 " "runoff_mr0" aa 000147 157146 146137 aa 000150 155162 060000 aa 000151 007116 170137 " "Nx_open" aa 000152 157160 145156 5a 000153 000154 000000 aa 000154 000004 000000 55 000155 000146 000151 aa 000156 006122 145160 " "Report" aa 000157 157162 164000 5a 000160 000161 000000 aa 000161 000004 000000 55 000162 000146 000156 aa 000163 010122 145141 " "Readline" aa 000164 144154 151156 aa 000165 145000 000000 5a 000166 000167 000000 aa 000167 000004 000000 55 000170 000146 000163 aa 000171 010116 170137 " "Nx_reset" aa 000172 162145 163145 aa 000173 164000 000000 5a 000174 000175 000000 aa 000175 000004 000000 55 000176 000146 000171 aa 000177 022142 143160 " "bcpl_machine_code_" aa 000200 154137 155141 aa 000201 143150 151156 aa 000202 145137 143157 aa 000203 144145 137000 aa 000204 012120 141143 " "Packstring" aa 000205 153163 164162 aa 000206 151156 147000 5a 000207 000210 000000 aa 000210 000004 000000 55 000211 000177 000204 aa 000212 021142 143160 " "bcpl_conversions_" aa 000213 154137 143157 aa 000214 156166 145162 aa 000215 163151 157156 aa 000216 163137 000000 aa 000217 010106 157162 " "FormDate" aa 000220 155104 141164 aa 000221 145000 000000 5a 000222 000223 000000 aa 000223 000004 000000 55 000224 000212 000217 aa 000225 021142 143160 " "bcpl_filesys_lib_" aa 000226 154137 146151 aa 000227 154145 163171 aa 000230 163137 154151 aa 000231 142137 000000 aa 000232 006116 145167 " "Newvec" aa 000233 166145 143000 5a 000234 000235 000000 aa 000235 000004 000000 55 000236 000225 000232 aa 000237 014125 156160 " "Unpackstring" aa 000240 141143 153163 aa 000241 164162 151156 aa 000242 147000 000000 5a 000243 000244 000000 aa 000244 000004 000000 55 000245 000177 000237 aa 000246 013103 157156 " "ConvertNtoS" aa 000247 166145 162164 aa 000250 116164 157123 5a 000251 000252 000000 aa 000252 000004 000000 55 000253 000212 000246 aa 000254 007127 162151 " "Writech" aa 000255 164145 143150 5a 000256 000257 000000 aa 000257 000004 000000 55 000260 000177 000254 aa 000261 012162 165156 " "runoff_mr7" aa 000262 157146 146137 aa 000263 155162 067000 aa 000264 004127 162103 " "WrCh" aa 000265 150000 000000 5a 000266 000267 000000 aa 000267 000004 000000 55 000270 000261 000264 aa 000271 012162 165156 " "runoff_mr3" aa 000272 157146 146137 aa 000273 155162 063000 aa 000274 005105 152145 " "Eject" aa 000275 143164 000000 5a 000276 000277 000000 aa 000277 000004 000000 55 000300 000271 000274 aa 000301 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 001434 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000042 " offset to links, total length aa 000007 000000 000042 " obsolete length " External link pairs L138: 3a 000010 777770 000046 " "runoff_mr9$UpdateSymbol" 5a 000011 000143 000000 L135: 3a 000012 777766 000046 " "runoff_mr0$Nx_open" 5a 000013 000153 000000 L126: 3a 000014 777764 000046 " "runoff_mr0$Report" 5a 000015 000160 000000 L123: 3a 000016 777762 000046 " "runoff_mr0$Readline" 5a 000017 000166 000000 L122: 3a 000020 777760 000046 " "runoff_mr0$Nx_reset" 5a 000021 000174 000000 L113: 3a 000022 777756 000046 " "bcpl_machine_code_$Packstring" 5a 000023 000207 000000 L103: 3a 000024 777754 000046 " "bcpl_conversions_$FormDate" 5a 000025 000222 000000 L89: 3a 000026 777752 000046 " "bcpl_filesys_lib_$Newvec" 5a 000027 000234 000000 L81: 3a 000030 777750 000046 " "bcpl_machine_code_$Unpackstring" 5a 000031 000243 000000 L80: 3a 000032 777746 000046 " "bcpl_conversions_$ConvertNtoS" 5a 000033 000251 000000 L40: 3a 000034 777744 000046 " "bcpl_machine_code_$Writech" 5a 000035 000256 000000 L32: 3a 000036 777742 000046 " "runoff_mr7$WrCh" 5a 000037 000266 000000 L14: 3a 000040 777740 000046 " "runoff_mr3$Eject" 5a 000041 000276 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 714344 033323 " 04/18/00 1141.6 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 000116 " rel_def, rel_link aa 000022 000125 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_mr4 aa 000027 310157 127165 " last modified on aa 000030 000000 131036 " 04/18/00 1141.6 mdt Tue aa 000031 714344 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_mr4.bcpl" aa 000064 076163 155076 aa 000065 144163 076167 aa 000066 076155 154076 aa 000067 162165 156157 aa 000070 146146 137155 aa 000071 162064 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 000467 " length in bits aa 000105 740365 170567 aa 000106 236037 640000 aa 000107 247505 350000 aa 000110 051701 572361 aa 000111 016474 061517 aa 000112 062323 606164 aa 000113 012000 012360 aa 000114 676400 050000 aa 000115 051700 720000 l " inkage relocation bits aa 000116 000000 000002 " version number of rel-bits structure aa 000117 000000 000264 " length in bits aa 000120 100002 204652 aa 000121 465246 524652 aa 000122 465246 524652 aa 000123 465246 524652 aa 000124 465246 524652 s " ymbol relocation bits aa 000125 000000 000002 " version number of rel-bits structure aa 000126 000000 000043 " length in bits aa 000127 740365 770316 " Object map aa 002130 000000 000001 " version number of object_map structure aa 002131 157142 152137 " "obj_map " aa 002132 155141 160040 aa 002133 000000 001433 " text offset, length aa 002134 001434 000301 " def offset, length aa 002135 001736 000042 " link offset, length aa 002136 002000 000130 " symbol offset, length aa 002137 000000 000000 " break map offset, length aa 002140 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 002141 002130 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