Compilation listing of file >2.1spec>online>mib083074>runoff_mr6.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0704.8 mst Fri. Compiled by BCPL version 3.4, August 1973. Compiler updated at 09/25/73 0959.1 mst Tue. Options applied: source xref alist optimize 6180. 1 // ROFF for Multics 2 // 3 // Last modified on 06/23/74 at 19:31:29 by R F Mabee. 4 // 5 // This file contains the routines peculiar to the processing of footnotes: 6 // 7 // Foot_begin Start processing a footnote. 8 // Foot_end Finish processing a footnote. 9 // PrintFootnotes Print out the saved footnotes at the bottom of a page. 10 // All are declared external. 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 06/21/73 at 23:30:13 by R F Mabee. 3 4 // Copyright (c) 1973 by the author, Robert F. Mabee. 5 // This program may be reproduced or modified only with explicit written 6 // permission of the author. Permission is hereby extended to those 7 // persons responsible for operating the Multics system to make such 8 // copies as are normally required to ensure the integrity of the Multics 9 // file system. Permission is also hereby extended to those persons 10 // responsible for maintaining the Multics program libraries to make such 11 // copies as are normally required for online installations. 12 13 external // BCPL library routines used by RUNOFF. 14 $( Packstring = "bcpl_machine_code_$Packstring" 15 Unpackstring = "bcpl_machine_code_$Unpackstring" 16 Writech = "bcpl_machine_code_$Writech" 17 WriteS = "bcpl_stream_io_$WriteS" 18 WriteN = "bcpl_stream_io_$WriteN" 19 ConvertNtoS = "bcpl_conversions_$ConvertNtoS" 20 Newvec = "bcpl_filesys_lib_$Newvec" 21 Freevec = "bcpl_filesys_lib_$Freevec" 22 MinI = "bcpl_arithmetic_$MinI" 23 MaxI = "bcpl_arithmetic_$MaxI" 24 FormDate = "bcpl_conversions_$FormDate" 25 $) 26 27 28 external 29 { 30 31 // All routines that form RUNOFF are listed below, even those that are 32 // not external. This listing is thus a table of contents of RUNOFF. 33 34 // Adjust = "runoff_mr3$Adjust" // Print a line, with right-adjustment. 35 Blank = "runoff_mr4$Blank" // Print n blanks. 36 Break = "runoff_mr3$Break" // Break text, printing buffers. 37 // Center = "runoff_mr3$Center" // Print the current line, centered. 38 Check_ref = "runoff_mr9$Check_ref" // Handle reference to symbol in control line. 39 // Cleanup = "runoff_driver$Cleanup" // Close files, etc. Invoked by unwinder. 40 ConsoleReadline = "runoff_mr0$ConsoleReadline" // Accept next line from user_input. 41 Control = "runoff_mr2$Control" // Process a control line. 42 // DimAttach = "runoff_dim$runoff_attach" // IOSIM attach entry point. 43 // DimChangemode = "runoff_dim$runoff_changemode" // Change internal modes. 44 // DimDetach = "runoff_dim$runoff_detach" // Disconnect runoff DIM. 45 // DimOrder = "runoff_dim$runoff_order" // Execute runoff command line for dim. 46 // DimWrite = "runoff_dim$DimWrite" // Process chunk of text as runoff input. 47 Eject = "runoff_mr3$Eject" // Eject paper, printing footer. 48 // Equation = "runoff_mr3$Equation" // Print an equation. 49 ExecuteCommand = "runoff_mr0$ExecuteCommand" // Pass control line to command processor. 50 FillTrTable = "runoff_mr1$FillTrTable" // Set up a conversion table. 51 FindInput = "runoff_driver$FindInput" // Open new input stream for given name. 52 // FixTab = "runoff_mr0$FixTab" // Calculate tab position and insert blanks. 53 Foot_begin = "runoff_mr6$Foot_begin" // Start processing footnote 54 Foot_end = "runoff_mr6$Foot_end" // Finish processing footnote. 55 Freeheads = "runoff_mr5$Freeheads" // Release a set of headers or footers. 56 // GetArg = "runoff_driver$GetArg" // Arg fetching routine for Option. 57 Gethead = "runoff_mr5$Gethead" // Package header up in new vector. 58 // GetModeArg = "runoff_dim$GetArgMode" // Arg fetching routine for Option for DIM. 59 GetString = "runoff_mr8$GetString" // Read and store string expression. 60 // GetSymbol = "runoff_mr9$GetSymbol" // Find value and type of named symbol. 61 InitializeSymbolTree = "runoff_mr9$InitializeSymbolTree" // Load up symbol table at start-up. 62 InsertFile = "runoff_mr4$InsertFile" // Process .if line. 63 // MakeN = "runoff_mr8$MakeN" // Convert string to character constant (number). 64 Need = "runoff_mr4$Need" // Eject if not enough lines remain. 65 NeedSS = "runoff_mr4$NeedSS" // Need regardless of double-spacing. 66 Newline = "runoff_mr4$Newline" // Print n newline characters. 67 // Number = "runoff_mr2$Number" // Scan a number from a control line. 68 Nx_close = "runoff_mr0$Nx_close" // Close current input stream. 69 Nx_open = "runoff_mr0$Nx_open" // Open a new stacked input stream. 70 Nx_reset = "runoff_mr0$Nx_reset" // Set read pointer back to beginning of current file. 71 // OldModes = "runoff_dim$OldModes" // Create return mode string for changemode (dim). 72 // PrintErrorFile = "runoff_driver$PrintErrorFile" // Dump buffered error messages on console. 73 PrinterIndent = "runoff_mr4$PrinterIndent" // Indent an extra twenty spaces for printer. 74 PrintFootnotes = "runoff_mr6$PrintFootnotes" // To output the accumulated footnotes. 75 Readline = "runoff_mr0$Readline" // Read a line of input. 76 Readhead = "runoff_mr5$Readhead" // Read header into vector provided. 77 ReadExp = "runoff_mr8$ReadExp" // Evaluate an expression. 78 ReadName = "runoff_mr4$ReadName" // Scan name from control line, pack in vector. 79 ReadNumber = "runoff_mr8$ReadNumber" // Convert number from control line. 80 ReadParam = "runoff_mr8$ReadParam" // Evaluate a parameter expression. 81 ReadString = "runoff_mr8$ReadString" // Read a string. 82 Report = "runoff_mr0$Report" // Report an error in usage, etc. 83 Roff = "runoff_mr1$Roff" // The main program for RUNOFF. 84 RoffProcess = "runoff_mr0$RoffProcess" // Called for each input file. 85 // runoff_module = "runoff_$runoff_module_" // Outer module transfer vector for dim. 86 // RunoffCommand = "runoff_driver$runoff" // Command interface. 87 // Save = "runoff_dim$Save" // Store global vector in SDB for dim. 88 SetCharsw = "runoff_mr0$SetCharsw" // Turn chars feature on or off. 89 // SetCtable = "runoff_mr9$SetCtable" // Update translation table from .sr command. 90 SetDevice = "runoff_mr1$SetDevice" // Change tables for a new device. 91 Sethead = "runoff_mr5$Sethead" // Set up header or footer. 92 SetLinesLeft = "runoff_mr4$SetLinesLeft" // Repeat calculation of LinesLeft. 93 // SetModes = "runoff_dim$SetModes" // Mode changing subroutine for DIM. 94 SetPaging = "runoff_mr1$SetPaging" // Turn no pagination feature on or off. 95 SetSwitches = "runoff_mr1$SetSwitches" // Initialize most of runoff. 96 // SetSymbol = "runoff_mr9$SetSymbol" // Assign new value and type to named symbol. 97 // Set_param = "runoff_mr2$Set_param" // Update variable, absolute or relatve. 98 Set_ref = "runoff_mr9$Set_ref" // Define or update symbol. 99 // Skip = "runoff_mr8$Skip" // Skip over blanks in control line. 100 Skiptolabel = "runoff_mr4$Skiptolabel" // For .gb and .gf. 101 Spacing = "runoff_mr3$Spacing" // Process vertical spacing. 102 // StNum = "runoff_dim$StNum" // Store number into mode string for OldModes. 103 // Store = "runoff_mr7$Store" // Save character until line is complete (for "chars"). 104 StoreArabic = "runoff_mr4$StoreArabic" // Convert number to string. 105 // StoreCtable = "runoff_mr9$StoreCtable" // Convert translation table to string form. 106 StoreDate = "runoff_mr4$StoreDate" // Store current date in vector. 107 StoreRoman = "runoff_mr4$StoreRoman" // Store number as roman numeral. 108 StoreString = "runoff_mr0$StoreString" // Make copy of string in free storage. 109 // StSwitch = "runoff_dim$StSwitch" // Store switch mode into mode string. 110 // SubscriptString = "runoff_mr8$SubscriptString" // Evaluate substring expression. 111 Text = "runoff_mr3$Text" // Process 1 line of input text. 112 Title = "runoff_mr5$Title" // Print a header or a footer. 113 // Tree_search = "runoff_mr9$Tree_search" // Look named symbol up in symbol table. 114 // TryToHyphenate = "runoff_mr3$TryToHyphenate" // Last word won't fit on line, break it if possible. 115 Typeout = "runoff_mr0$Typeout" // Type rest of input line on console. 116 // Unsave = "runoff_dim$Unsave" // Restore globals from SDB for dim. 117 UpdateSymbol = "runoff_mr9$UpdateSymbol" // Set named symbol to value from control line. 118 Use_ref = "runoff_mr9$Use_ref" // Insert symbol value in place of symbol 119 Wait = "runoff_mr0$Wait" // Wait for an interaction from the console. 120 Width = "runoff_mr3$Width" // Return width of a character. 121 WrCh = "runoff_mr7$WrCh" // "Chars" routine 122 WrChInit = "runoff_mr7$WrChInit" // Initialize "chars" routine 123 WriteChar = "runoff_mr4$WriteChar" // Write a character of output. 124 // Wrline = "runoff_ms7$Wrline" // Write stored line into chars file. 125 126 } 127 128 global // Scalars, switches, common vectors, etc. ... 129 { 130 Ad : 100 // Adjust 131 Again : 101 // Input line in Rawchar must be reprocessed. 132 Ce : 102 // Number of lines to center. 133 Char : 103 // Buffer for output characters. 134 CharsTable : 104 // Table of special characters for .chars output. 135 Charsw : 105 // Indication of unprintable characters. 136 ChStream : 106 // Output stream for "chars" option output 137 Conv : 107 // Character conversion. 138 139 Device : 110 // Type of device output is to be formatted for. 140 DeviceTable : 111 // Conversions for this device. 141 Ef : 112 // Even foot 142 Eh : 113 // Even head. 143 Eq : 114 // Equation line counter. 144 Eqcnt : 115 // Equation reference counter 145 ErrorfilePointer : 116 // Pointer to the temporary error file if any. 146 Errorstream : 117 // Output stream for diagnostics. 147 148 ErrorTempID : 120 // ID number for temporary error message segment. 149 ExpError : 121 // Indicates badly formed expression. 150 ExtraMargin : 122 // Indent entire text this many spaces. 151 Fc : 123 // No. of characters in Footbuf 152 Fd : 124 // Remember if text is double spaced 153 Fi : 125 // Fill switch. 154 FileName : 126 // Name of first input file. 155 Filesw : 127 // True if output is going to a file. 156 157 Findent : 130 // Indenting in use before entering footnote. 158 Fl : 131 // No. of lines in FootList 159 Flp : 132 // Print line although page appears full 160 Foot : 133 // Footnote counter 161 Footbuf : 134 // Buffer to hold current footnote. 162 FootList : 135 // Working pointer into list of footnote lines. 163 FootListBase : 136 // Base of footnote list. 164 FootRef : 137 // Footnote reference string in footnote body. 165 166 Fp : 140 // First page to print. 167 Fr : 141 // Footnote counter reset switch 168 From : 142 // -from argument. 169 Ft : 143 // Footnote processing switch 170 Fth : 144 // Vector for user-defined demarcation line 171 Fundent : 145 // Undenting in use before entering footnote. 172 Hyphenating : 146 // True if an attempt to break a word should be made. 173 In : 147 // Indent to here. 174 175 InputFileName : 150 // Name of current input file. 176 InputLines : 151 // Current line number in current source file. 177 InputStack : 152 // Stack of saved input streams. 178 JumpLine : 153 // Line number of .gb or .gf command during skip. 179 LinesLeft : 154 // Number of usable text lines left on this page. 180 LIno : 155 // Number of literal lines following. 181 Ll : 156 // Line length. 182 Lp : 157 // Last page to print. 183 184 Ma1 : 160 // Space above header. 185 Ma2 : 161 // Space below header. 186 Ma3 : 162 // Space above foot. 187 Ma4 : 163 // Space below foot. 188 Ms : 164 // Spacing between lines (ss = 1, ds = 2, etc.) 189 MultiplePagecount : 165 // Form feeds between pages to printer. 190 Nc : 166 // Number of characters in Char. 191 NestingDepth : 167 // Index into stack of input files. 192 193 Nl : 170 // Last used line number. 194 NNp : 171 // Next page number. 195 NoControl : 172 // True if control lines are to be ignored. 196 NoFill : 173 // True if fill mode is always off. 197 NoFtNo : 174 // True to suppress number on next footnote reference. 198 NoPaging : 175 // True if no pagination is desired. 199 Np : 176 // Current page number. 200 Nr : 177 // Number of characters in Rawchar. 201 202 Nrx : 180 // Count through input buffer. 203 OddPage : 181 // True if current page number is odd. 204 Of : 182 // Odd foot. 205 Oh : 183 // Odd head. 206 Output : 184 // Runoff's main text output stream. 207 PadLeft : 185 // True if padding is to start from left of line. 208 Parameter : 186 // Initial value of built-in symbol. 209 Passes : 187 // Number of passes left to make. 210 211 Pi : 190 // Space needed for a picture. 212 Pl : 191 // Paper length. 213 Print : 192 // Whether or not to print. 214 Printersw : 193 // Output is intended for online printer. 215 PrintLineNumbers : 194 // True if source line numbers are to be printed in output. 216 Rawchar : 195 // Buffer for input line. 217 Roman : 196 // Roman numeral pagination. 218 SavedCc : 197 // Temporary used by WriteChar. 219 220 Selsw : 200 // for selectric ball option 221 Spec_char : 201 // For symbol references. 222 Start : 202 // -start argument. 223 Stopsw : 203 // Stop between pages of output. 224 Temp : 204 // Vector to hold unprinted character 225 Tempc : 205 // No. of characters in Temp 226 TextRef : 206 // Footnote reference string in main text. 227 TimeNow : 207 // Clock reading when runoff is entered. 228 229 To : 210 // -to argument. 230 TrTable : 211 // Translation table for .tr. 231 TreeRoot : 212 // Base of symbol tree. 232 Un : 213 // Undent to here. 233 Waitsw : 214 // From -wait option. 234 235 // 300 to 309 are reserved for runoff_driver. 236 // 310 to 319 are reserved for runoff_dim. 237 // 320 to 329 are reserved for runoff_mr0. 238 // 330 to 339 are reserved for runoff_mr7. 239 } 240 241 manifest 242 { 243 ByteBits = 9 // Bits per character, as packed by compiler. 244 Skip = $8177 // A character that will be ignored on output. 245 Maxline = 400 // Buffer lengths for input and output 246 Maxheads = 20 // No of header or footer lines. 247 MaxDepth = 90 // Nesting times 3 for .if. 248 249 LL_ = 65 // Default line length. 250 PL_ = 66 // Default page length -- 11 inches, 6 lines/in. 251 MA1_ = 4 // Default top margin above header 252 MA2_ = 2 // Default top margin below header 253 MA3_ = 2 // Default bottom margin above footer 254 MA4_ = 4 // Default bottom margin below footer 255 } 19 20 // Foot_begin starts processing footnotes. 21 22 let Foot_begin () be 23 { NeedSS (NoFtNo -> 3, 4) // Make sure room enough for some part of footnote. 24 unless NoFtNo do // Insert numbers into text and footnote unless requested not to. 25 $( let B = false 26 Nc := Nc - 1 // Remove trailing blanks from previous line. 27 if Char!Nc = '*s' do 28 $( B := true // B indicates that line ended with . so extra space goes after number. 29 Nc := Nc - 1 30 $) 31 32 let v = vec Maxline // Expand user-settable footnote number reference. 33 Unpackstring (TextRef, v) 34 Nr := Use_ref (v, Rawchar, v!0) 35 if B do 36 $( Nr := Nr + 1 37 Rawchar!Nr := '*s' 38 $) 39 for i = 1 to Nr do Char!(Nc + i) := Rawchar!i 40 Nc := Nc + Nr 41 42 Unpackstring (FootRef, v) 43 Nr := Use_ref (v, Rawchar, v!0) 44 Again := Nr > 0 45 $) 46 47 Fd, Findent, Fundent := Ms, In, Un // Remember parameters re-used by footnotes. 48 Ms, In, Un := 1, 0, 0 49 PadLeft := false 50 Ft := true // Say we are now processing a footnote 51 if Fl = 0 do Fl := 1 // Count footnote demarcation line. 52 Newline (1) // Blank line to begin footnote. 53 for i = 1 to Nc do Temp[i] := Char[i] // Save unprinted stuff in Char 54 Tempc := Nc 55 Nc := 0 56 } 57 58 59 // Foot_end finishes processing footnotes 60 61 and Foot_end () be 62 { Break() // Finishes last line of footnote 63 Ft := false // No longer processing footnote 64 Ms, In, Un := Fd, Findent, Fundent // Restore text parameters. 65 for i = 1 to Tempc do Char[i] := Temp[i] //Restore Char 66 Nc := Tempc 67 Flp := not NoFtNo // Print the next text line regardless of room. 68 // It contains the reference to a footnote to be 69 // printed on this page. 70 NoFtNo := false 71 Foot := Foot + 1 72 } 73 74 // PrintFootnotes puts out as much footnote text as will fit. 75 76 and PrintFootnotes () be 77 { if Nl = 0 do Spacing () 78 let Lleft = LinesLeft + Fl // Number of lines available for footnotes on this page. 79 let Ftp = MinI (Fl, Lleft) // Number to print this page. 80 if Ftp = Fl - 1 > 3 do Ftp := Fl - 2 // Never leave just one line unprinted. 81 if Ftp le 1 return 82 Newline (NoPaging -> 1, Lleft - Ftp) 83 84 test Fth = 0 85 then $( PrinterIndent () 86 for i = 1 to Ll do WriteChar ('_') // Default separator. 87 Newline (1) 88 $) 89 or Title (Fth) 90 91 for i = 2 to Ftp unless FootListBase = 0 do 92 $( for j = 1 to FootListBase!1 do WriteChar (FootListBase!(j + 1)) 93 Newline (1) 94 let t = FootListBase 95 FootListBase := FootListBase!0 96 Freevec (t) 97 Fl := Fl - 1 98 $) 99 if Fl le 1 | FootListBase = 0 | FootList = 0 do Fl, FootListBase, FootList := 0, 0, 0 100 } CAE time 3.1, 111 source lines per second. cross reference table Ad runoff_head: 130 Again runoff_head: 131, runoff_mr6: 44 B runoff_mr6: 25, 28, 35 Blank runoff_head: 35 Break runoff_head: 36, runoff_mr6: 62 ByteBits runoff_head: 243 Ce runoff_head: 132 Char runoff_head: 133, runoff_mr6: 27, 39, 53, 65 CharsTable runoff_head: 134 Charsw runoff_head: 135 Check_ref runoff_head: 38 ChStream runoff_head: 136 ConsoleReadline runoff_head: 40 Control runoff_head: 41 Conv runoff_head: 137 ConvertNtoS runoff_head: 19 Device runoff_head: 139 DeviceTable runoff_head: 140 Ef runoff_head: 141 Eh runoff_head: 142 Eject runoff_head: 47 Eq runoff_head: 143 Eqcnt runoff_head: 144 ErrorfilePointer runoff_head: 145 Errorstream runoff_head: 146 ErrorTempID runoff_head: 148 ExecuteCommand runoff_head: 49 ExpError runoff_head: 149 ExtraMargin runoff_head: 150 Fc runoff_head: 151 Fd runoff_head: 152, runoff_mr6: 47, 64 Fi runoff_head: 153 FileName runoff_head: 154 Filesw runoff_head: 155 FillTrTable runoff_head: 50 Findent runoff_head: 157, runoff_mr6: 47, 64 FindInput runoff_head: 51 Fl runoff_head: 158, runoff_mr6: 51, 51, 78, 79, 80, 80, 97, 97, 99, 99 Flp runoff_head: 159, runoff_mr6: 67 Foot runoff_head: 160, runoff_mr6: 71, 71 Footbuf runoff_head: 161 FootList runoff_head: 162, runoff_mr6: 99, 99 FootListBase runoff_head: 163, runoff_mr6: 91, 92, 92, 94, 95, 95, 99, 99 FootRef runoff_head: 164, runoff_mr6: 42 Foot_begin runoff_head: 53, runoff_mr6: 22 Foot_end runoff_head: 54, runoff_mr6: 61 FormDate runoff_head: 24 Fp runoff_head: 166 Fr runoff_head: 167 Freeheads runoff_head: 55 Freevec runoff_head: 21, runoff_mr6: 96 From runoff_head: 168 Ft runoff_head: 169, runoff_mr6: 50, 63 Fth runoff_head: 170, runoff_mr6: 84, 89 Ftp runoff_mr6: 79, 80, 80, 81, 82, 91 Fundent runoff_head: 171, runoff_mr6: 47, 64 Gethead runoff_head: 57 GetString runoff_head: 59 Hyphenating runoff_head: 172 i runoff_mr6: 39, 39, 39, 53, 53, 53, 65, 65, 65, 86, 91 In runoff_head: 173, runoff_mr6: 47, 48, 64 InitializeSymbolTree runoff_head: 61 InputFileName runoff_head: 175 InputLines runoff_head: 176 InputStack runoff_head: 177 InsertFile runoff_head: 62 j runoff_mr6: 92, 92 JumpLine runoff_head: 178 LinesLeft runoff_head: 179, runoff_mr6: 78 LIno runoff_head: 180 Ll runoff_head: 181, runoff_mr6: 86 Lleft runoff_mr6: 78, 79, 82 LL_ runoff_head: 249 Lp runoff_head: 182 Ma1 runoff_head: 184 MA1_ runoff_head: 251 Ma2 runoff_head: 185 MA2_ runoff_head: 252 Ma3 runoff_head: 186 MA3_ runoff_head: 253 Ma4 runoff_head: 187 MA4_ runoff_head: 254 MaxDepth runoff_head: 247 Maxheads runoff_head: 246 MaxI runoff_head: 23 Maxline runoff_head: 245, runoff_mr6: 32 MinI runoff_head: 22, runoff_mr6: 79 Ms runoff_head: 188, runoff_mr6: 47, 48, 64 MultiplePagecount runoff_head: 189 Nc runoff_head: 190, runoff_mr6: 26, 26, 27, 29, 29, 39, 40, 40, 53, 54, 55, 66 Need runoff_head: 64 NeedSS runoff_head: 65, runoff_mr6: 23 NestingDepth runoff_head: 191 Newline runoff_head: 66, runoff_mr6: 52, 82, 87, 93 Newvec runoff_head: 20 Nl runoff_head: 193, runoff_mr6: 77 NNp runoff_head: 194 NoControl runoff_head: 195 NoFill runoff_head: 196 NoFtNo runoff_head: 197, runoff_mr6: 23, 24, 67, 70 NoPaging runoff_head: 198, runoff_mr6: 82 Np runoff_head: 199 Nr runoff_head: 200, runoff_mr6: 34, 36, 36, 37, 39, 40, 43, 44 Nrx runoff_head: 202 Nx_close runoff_head: 68 Nx_open runoff_head: 69 Nx_reset runoff_head: 70 OddPage runoff_head: 203 Of runoff_head: 204 Oh runoff_head: 205 Output runoff_head: 206 Packstring runoff_head: 14 PadLeft runoff_head: 207, runoff_mr6: 49 Parameter runoff_head: 208 Passes runoff_head: 209 Pi runoff_head: 211 Pl runoff_head: 212 PL_ runoff_head: 250 Print runoff_head: 213 PrinterIndent runoff_head: 73, runoff_mr6: 85 Printersw runoff_head: 214 PrintFootnotes runoff_head: 74, runoff_mr6: 76 PrintLineNumbers runoff_head: 215 Rawchar runoff_head: 216, runoff_mr6: 34, 37, 39, 43 ReadExp runoff_head: 77 Readhead runoff_head: 76 Readline runoff_head: 75 ReadName runoff_head: 78 ReadNumber runoff_head: 79 ReadParam runoff_head: 80 ReadString runoff_head: 81 Report runoff_head: 82 Roff runoff_head: 83 RoffProcess runoff_head: 84 Roman runoff_head: 217 SavedCc runoff_head: 218 Selsw runoff_head: 220 SetCharsw runoff_head: 88 SetDevice runoff_head: 90 Sethead runoff_head: 91 SetLinesLeft runoff_head: 92 SetPaging runoff_head: 94 SetSwitches runoff_head: 95 Set_ref runoff_head: 98 Skip runoff_head: 244 Skiptolabel runoff_head: 100 Spacing runoff_head: 101, runoff_mr6: 77 Spec_char runoff_head: 221 Start runoff_head: 222 Stopsw runoff_head: 223 StoreArabic runoff_head: 104 StoreDate runoff_head: 106 StoreRoman runoff_head: 107 StoreString runoff_head: 108 t runoff_mr6: 94, 96 Temp runoff_head: 224, runoff_mr6: 53, 65 Tempc runoff_head: 225, runoff_mr6: 54, 65, 66 Text runoff_head: 111 TextRef runoff_head: 226, runoff_mr6: 33 TimeNow runoff_head: 227 Title runoff_head: 112, runoff_mr6: 89 To runoff_head: 229 TreeRoot runoff_head: 231 TrTable runoff_head: 230 Typeout runoff_head: 115 Un runoff_head: 232, runoff_mr6: 47, 48, 64 Unpackstring runoff_head: 15, runoff_mr6: 33, 42 UpdateSymbol runoff_head: 117 Use_ref runoff_head: 118, runoff_mr6: 34, 43 v runoff_mr6: 32, 33, 34, 34, 42, 43, 43 Wait runoff_head: 119 Waitsw runoff_head: 233 Width runoff_head: 120 WrCh runoff_head: 121 WrChInit runoff_head: 122 Writech runoff_head: 16 WriteChar runoff_head: 123, runoff_mr6: 86, 92 WriteN runoff_head: 18 WriteS runoff_head: 17 Trans time 0.7, 814 object words per second. " Begin text of Foot_begin aa 000000 000012 106157 zero 10,35951 " Foot_begin aa 000001 157164 137142 zero 56948,48738 aa 000002 145147 151156 zero 51815,53870 L1: aa 000003 000000 213000 22 epaq 0 " set lp to linkage section aa 000004 700026 764161 lprplp sb|22,*au aa 000005 200000 021100 adlx1 bp|0 " BCPL save aa 000006 700000 542111 sprpbp sb|0,x1 aa 000007 700001 544111 sprplp sb|1,x1 aa 000010 700656 620111 eax0 sb|430,x1 aa 000011 777760 360003 anx0 -16,du aa 000012 700025 740100 stx0 sb|21 " end of save sequence aa 000013 600256 234100 23 szn sp|174 " NoFtNo aa 000014 000003 600004 tze L7 aa 000015 000003 236007 ldq 3,dl " 3 aa 000016 000002 710004 tra L8 L7: aa 000017 000004 236007 ldq 4,dl " 4 L8: aa 000020 700003 756111 stq sb|3,x1 aa 000021 700003 236111 ldq sb|3,x1 aa 000022 700002 756111 stq sb|2,x1 aa 000023 700002 236111 ldq sb|2,x1 aa 000024 700634 756111 stq sb|412,x1 4a 000025 400034 272120 tsbbp lp|L9,* " NeedSS aa 000026 000632 000001 zero 410,1 aa 000027 600256 234100 24 szn sp|174 " NoFtNo aa 000030 000120 601004 tnz L10 aa 000031 700002 450111 25 stz sb|2,x1 " B aa 000032 000001 336007 26 lcq 1,dl " 1 aa 000033 600246 056100 asq sp|166 " Nc aa 000034 600246 722100 27 lxl2 sp|166 " Nc aa 000035 600147 760100 lprpap sp|103 " Char aa 000036 000000 236112 ldq ap|0,x2 aa 000037 000040 116007 cmpq 32,dl " '*s' aa 000040 000005 601004 tnz L11 aa 000041 000001 335007 28 lca 1,dl " true aa 000042 700002 755111 sta sb|2,x1 " B aa 000043 000001 335007 29 lca 1,dl " 1 aa 000044 600246 055100 asa sp|166 " Nc L11: aa 000045 700004 352111 32 eapbp sb|4,x1 " a vector aa 000046 700003 542111 sprpbp sb|3,x1 " v aa 000047 600316 235100 33 lda sp|206 " TextRef aa 000050 700634 755111 sta sb|412,x1 aa 000051 700003 235111 lda sb|3,x1 " v aa 000052 700635 755111 sta sb|413,x1 4a 000053 400032 272120 tsbbp lp|L12,* " Unpackstring aa 000054 000632 000002 zero 410,2 aa 000055 700003 235111 34 lda sb|3,x1 " v aa 000056 700634 755111 sta sb|412,x1 aa 000057 600303 235100 lda sp|195 " Rawchar aa 000060 700635 755111 sta sb|413,x1 aa 000061 700003 762111 lprpbp sb|3,x1 " v aa 000062 200000 235100 lda bp|0 aa 000063 700636 755111 sta sb|414,x1 4a 000064 400030 272120 tsbbp lp|L13,* " Use_ref aa 000065 000632 000003 zero 410,3 aa 000066 600261 756100 stq sp|177 " Nr aa 000067 700002 234111 35 szn sb|2,x1 " B aa 000070 000006 600004 tze L14 aa 000071 600261 054100 36 aos sp|177 " Nr aa 000072 000040 236007 37 ldq 32,dl " '*s' aa 000073 600261 723100 lxl3 sp|177 " Nr aa 000074 600303 761100 lprpab sp|195 " Rawchar aa 000075 100000 756113 stq ab|0,x3 L14: aa 000076 000001 236007 39 ldq 1,dl " 1 aa 000077 700625 756111 stq sb|405,x1 " i aa 000100 600261 236100 ldq sp|177 " Nr aa 000101 700626 756111 stq sb|406,x1 aa 000102 000011 710004 tra L15 L16: aa 000103 600246 236100 ldq sp|166 " Nc aa 000104 700625 076111 adq sb|405,x1 " i aa 000105 700625 724111 lxl4 sb|405,x1 " i aa 000106 600303 763100 lprpbb sp|195 " Rawchar aa 000107 300000 235114 lda bb|0,x4 aa 000110 600147 765100 lprplb sp|103 " Char aa 000111 500000 755106 sta lb|0,ql aa 000112 700625 054111 aos sb|405,x1 " i L15: aa 000113 700625 236111 ldq sb|405,x1 " i aa 000114 700626 116111 cmpq sb|406,x1 aa 000115 777766 604404 tmoz L16 aa 000116 600261 235100 40 lda sp|177 " Nr aa 000117 600246 055100 asa sp|166 " Nc aa 000120 600211 235100 42 lda sp|137 " FootRef aa 000121 700634 755111 sta sb|412,x1 aa 000122 700003 235111 lda sb|3,x1 " v aa 000123 700635 755111 sta sb|413,x1 4a 000124 400032 272120 tsbbp lp|L12,* " Unpackstring aa 000125 000632 000002 zero 410,2 aa 000126 700003 235111 43 lda sb|3,x1 " v aa 000127 700634 755111 sta sb|412,x1 aa 000130 600303 235100 lda sp|195 " Rawchar aa 000131 700635 755111 sta sb|413,x1 aa 000132 700003 760111 lprpap sb|3,x1 " v aa 000133 000000 235100 lda ap|0 aa 000134 700636 755111 sta sb|414,x1 4a 000135 400030 272120 tsbbp lp|L13,* " Use_ref aa 000136 000632 000003 zero 410,3 aa 000137 600261 756100 stq sp|177 " Nr aa 000140 600261 234100 44 szn sp|177 " Nr aa 000141 000003 604404 tmoz L17 aa 000142 000001 336007 lcq 1,dl " true aa 000143 000002 710004 tra L18 L17: aa 000144 000000 236007 ldq 0,dl " false L18: aa 000145 700625 756111 stq sb|405,x1 aa 000146 700625 236111 ldq sb|405,x1 aa 000147 600145 756100 stq sp|101 " Again L10: aa 000150 600244 236100 47 ldq sp|164 " Ms aa 000151 600174 756100 stq sp|124 " Fd aa 000152 600223 236100 ldq sp|147 " In aa 000153 600202 756100 stq sp|130 " Findent aa 000154 600325 236100 ldq sp|213 " Un aa 000155 600221 756100 stq sp|145 " Fundent aa 000156 600223 450100 48 stz sp|147 " In aa 000157 600325 450100 stz sp|213 " Un aa 000160 000001 236007 ldq 1,dl " 1 aa 000161 600244 756100 stq sp|164 " Ms aa 000162 600271 450100 49 stz sp|185 " PadLeft aa 000163 000001 336007 50 lcq 1,dl " true aa 000164 600217 756100 stq sp|143 " Ft aa 000165 600203 234100 51 szn sp|131 " Fl aa 000166 000003 601004 tnz L19 aa 000167 000001 236007 ldq 1,dl " 1 aa 000170 600203 756100 stq sp|131 " Fl L19: aa 000171 000001 236007 52 ldq 1,dl " 1 aa 000172 700634 756111 stq sb|412,x1 4a 000173 400026 272120 tsbbp lp|L20,* " Newline aa 000174 000632 000001 zero 410,1 aa 000175 000001 236007 53 ldq 1,dl " 1 aa 000176 700002 756111 stq sb|2,x1 " i aa 000177 600246 236100 ldq sp|166 " Nc aa 000200 700003 756111 stq sb|3,x1 aa 000201 000010 710004 tra L21 L22: aa 000202 700002 725111 lxl5 sb|2,x1 " i aa 000203 600147 762100 lprpbp sp|103 " Char aa 000204 200000 236115 ldq bp|0,x5 aa 000205 700002 726111 lxl6 sb|2,x1 " i aa 000206 600314 761100 lprpab sp|204 " Temp aa 000207 100000 756116 stq ab|0,x6 aa 000210 700002 054111 aos sb|2,x1 " i L21: aa 000211 700002 236111 ldq sb|2,x1 " i aa 000212 700003 116111 cmpq sb|3,x1 aa 000213 777767 604404 tmoz L22 aa 000214 600246 235100 54 lda sp|166 " Nc aa 000215 600315 755100 sta sp|205 " Tempc aa 000216 600246 450100 55 stz sp|166 " Nc L6: aa 000217 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000220 200000 121100 sblx1 bp|0 aa 000221 700001 764111 lprplp sb|1,x1 aa 000222 200001 710100 tra bp|1 " end of return sequence " Begin text of Foot_end aa 000223 000010 106157 zero 8,35951 " Foot_end aa 000224 157164 137145 zero 56948,48741 aa 000225 156144 000000 zero 56420 L2: aa 000226 000000 213000 61 epaq 0 " set lp to linkage section aa 000227 700026 764161 lprplp sb|22,*au aa 000230 200000 021100 adlx1 bp|0 " BCPL save aa 000231 700000 542111 sprpbp sb|0,x1 aa 000232 700001 544111 sprplp sb|1,x1 aa 000233 700421 620111 eax0 sb|273,x1 aa 000234 777760 360003 anx0 -16,du aa 000235 700025 740100 stx0 sb|21 " end of save sequence 4a 000236 400024 272120 62 tsbbp lp|L26,* " Break aa 000237 000006 000000 zero 6 aa 000240 600217 450100 63 stz sp|143 " Ft aa 000241 600202 235100 64 lda sp|130 " Findent aa 000242 600223 755100 sta sp|147 " In aa 000243 600174 235100 lda sp|124 " Fd aa 000244 600244 755100 sta sp|164 " Ms aa 000245 600221 235100 lda sp|145 " Fundent aa 000246 600325 755100 sta sp|213 " Un aa 000247 000001 235007 65 lda 1,dl " 1 aa 000250 700002 755111 sta sb|2,x1 " i aa 000251 600315 235100 lda sp|205 " Tempc aa 000252 700003 755111 sta sb|3,x1 aa 000253 000010 710004 tra L27 L28: aa 000254 700002 722111 lxl2 sb|2,x1 " i aa 000255 600314 763100 lprpbb sp|204 " Temp aa 000256 300000 235112 lda bb|0,x2 aa 000257 700002 723111 lxl3 sb|2,x1 " i aa 000260 600147 765100 lprplb sp|103 " Char aa 000261 500000 755113 sta lb|0,x3 aa 000262 700002 054111 aos sb|2,x1 " i L27: aa 000263 700002 235111 lda sb|2,x1 " i aa 000264 700003 115111 cmpa sb|3,x1 aa 000265 777767 604404 tmoz L28 aa 000266 600315 236100 66 ldq sp|205 " Tempc aa 000267 600246 756100 stq sp|166 " Nc aa 000270 000001 336007 67 lcq 1,dl " true aa 000271 600256 676100 erq sp|174 " NoFtNo aa 000272 600204 756100 stq sp|132 " Flp aa 000273 600256 450100 70 stz sp|174 " NoFtNo aa 000274 600205 054100 71 aos sp|133 " Foot L25: aa 000275 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000276 200000 121100 sblx1 bp|0 aa 000277 700001 764111 lprplp sb|1,x1 aa 000300 200001 710100 tra bp|1 " end of return sequence " Begin text of PrintFootnotes aa 000301 000016 120162 zero 14,41074 " PrintFootnotes aa 000302 151156 164106 zero 53870,59462 aa 000303 157157 164156 zero 56943,59502 aa 000304 157164 145163 zero 56948,51827 L3: aa 000305 000000 213000 76 epaq 0 " set lp to linkage section aa 000306 700026 764161 lprplp sb|22,*au aa 000307 200000 021100 adlx1 bp|0 " BCPL save aa 000310 700000 542111 sprpbp sb|0,x1 aa 000311 700001 544111 sprplp sb|1,x1 aa 000312 700423 620111 eax0 sb|275,x1 aa 000313 777760 360003 anx0 -16,du aa 000314 700025 740100 stx0 sb|21 " end of save sequence aa 000315 600252 234100 77 szn sp|170 " Nl aa 000316 000003 601004 tnz L32 4a 000317 400022 272120 tsbbp lp|L33,* " Spacing aa 000320 000012 000000 zero 10 L32: aa 000321 600232 236100 78 ldq sp|154 " LinesLeft aa 000322 600203 076100 adq sp|131 " Fl aa 000323 700002 756111 stq sb|2,x1 " Lleft aa 000324 600203 236100 79 ldq sp|131 " Fl aa 000325 700014 756111 stq sb|12,x1 aa 000326 700002 236111 ldq sb|2,x1 " Lleft aa 000327 700015 756111 stq sb|13,x1 4a 000330 400020 272120 tsbbp lp|L34,* " MinI aa 000331 000012 000002 zero 10,2 aa 000332 700003 756111 stq sb|3,x1 " Ftp aa 000333 600203 236100 80 ldq sp|131 " Fl aa 000334 000001 176007 sbq 1,dl " 1 aa 000335 700003 116111 cmpq sb|3,x1 " Ftp aa 000336 000010 601004 tnz L35 aa 000337 600203 236100 ldq sp|131 " Fl aa 000340 000001 176007 sbq 1,dl " 1 aa 000341 000003 116007 cmpq 3,dl " 3 aa 000342 000004 604404 tmoz L35 aa 000343 600203 236100 ldq sp|131 " Fl aa 000344 000002 176007 sbq 2,dl " 2 aa 000345 700003 756111 stq sb|3,x1 " Ftp L35: aa 000346 700003 236111 81 ldq sb|3,x1 " Ftp aa 000347 000001 116007 cmpq 1,dl " 1 aa 000350 000136 604404 tmoz L31 aa 000351 600257 234100 82 szn sp|175 " NoPaging aa 000352 000003 600004 tze L36 aa 000353 000001 235007 lda 1,dl " 1 aa 000354 000004 710004 tra L37 L36: aa 000355 700002 236111 ldq sb|2,x1 " Lleft aa 000356 700003 176111 sbq sb|3,x1 " Ftp aa 000357 000044 777000 llr 36 " exchange A and Q L37: aa 000360 700006 755111 sta sb|6,x1 aa 000361 700006 235111 lda sb|6,x1 aa 000362 700004 755111 sta sb|4,x1 aa 000363 700004 235111 lda sb|4,x1 aa 000364 700014 755111 sta sb|12,x1 4a 000365 400026 272120 tsbbp lp|L20,* " Newline aa 000366 000012 000001 zero 10,1 aa 000367 600220 234100 84 szn sp|144 " Fth aa 000370 000025 601004 tnz L38 4a 000371 400016 272120 85 tsbbp lp|L40,* " PrinterIndent aa 000372 000012 000000 zero 10 aa 000373 000001 235007 86 lda 1,dl " 1 aa 000374 700004 755111 sta sb|4,x1 " i aa 000375 600234 235100 lda sp|156 " Ll aa 000376 700005 755111 sta sb|5,x1 aa 000377 000006 710004 tra L41 L42: aa 000400 000137 235007 lda 95,dl " '_' aa 000401 700014 755111 sta sb|12,x1 4a 000402 400014 272120 tsbbp lp|L43,* " WriteChar aa 000403 000012 000001 zero 10,1 aa 000404 700004 054111 aos sb|4,x1 " i L41: aa 000405 700004 235111 lda sb|4,x1 " i aa 000406 700005 115111 cmpa sb|5,x1 aa 000407 777771 604404 tmoz L42 aa 000410 000001 236007 87 ldq 1,dl " 1 aa 000411 700014 756111 stq sb|12,x1 4a 000412 400026 272120 tsbbp lp|L20,* " Newline aa 000413 000012 000001 zero 10,1 aa 000414 000005 710004 tra L39 L38: aa 000415 600220 236100 89 ldq sp|144 " Fth aa 000416 700014 756111 stq sb|12,x1 4a 000417 400012 272120 tsbbp lp|L44,* " Title aa 000420 000012 000001 zero 10,1 L39: aa 000421 000002 236007 91 ldq 2,dl " 2 aa 000422 700005 756111 stq sb|5,x1 " i aa 000423 700003 236111 ldq sb|3,x1 " Ftp aa 000424 700004 756111 stq sb|4,x1 aa 000425 000044 710004 tra L45 L46: aa 000426 600210 234100 szn sp|136 " FootListBase aa 000427 000041 600004 tze L47 aa 000430 000001 236007 92 ldq 1,dl " 1 aa 000431 700006 756111 stq sb|6,x1 " j aa 000432 600210 760100 lprpap sp|136 " FootListBase aa 000433 000001 236100 ldq ap|1 aa 000434 700007 756111 stq sb|7,x1 aa 000435 000011 710004 tra L48 L49: aa 000436 700006 236111 ldq sb|6,x1 " j aa 000437 000001 076007 adq 1,dl " 1 aa 000440 600210 762100 lprpbp sp|136 " FootListBase aa 000441 200000 235106 lda bp|0,ql aa 000442 700014 755111 sta sb|12,x1 4a 000443 400014 272120 tsbbp lp|L43,* " WriteChar aa 000444 000012 000001 zero 10,1 aa 000445 700006 054111 aos sb|6,x1 " j L48: aa 000446 700006 236111 ldq sb|6,x1 " j aa 000447 700007 116111 cmpq sb|7,x1 aa 000450 777766 604404 tmoz L49 aa 000451 000001 235007 93 lda 1,dl " 1 aa 000452 700014 755111 sta sb|12,x1 4a 000453 400026 272120 tsbbp lp|L20,* " Newline aa 000454 000012 000001 zero 10,1 aa 000455 600210 235100 94 lda sp|136 " FootListBase aa 000456 700006 755111 sta sb|6,x1 " t aa 000457 600210 761100 95 lprpab sp|136 " FootListBase aa 000460 100000 235100 lda ab|0 aa 000461 600210 755100 sta sp|136 " FootListBase aa 000462 700006 235111 96 lda sb|6,x1 " t aa 000463 700014 755111 sta sb|12,x1 4a 000464 400010 272120 tsbbp lp|L50,* " Freevec aa 000465 000012 000001 zero 10,1 aa 000466 000001 335007 97 lca 1,dl " 1 aa 000467 600203 055100 asa sp|131 " Fl L47: aa 000470 700005 054111 aos sb|5,x1 " i L45: aa 000471 700005 235111 lda sb|5,x1 " i aa 000472 700004 115111 cmpa sb|4,x1 aa 000473 777733 604404 tmoz L46 aa 000474 600203 236100 99 ldq sp|131 " Fl aa 000475 000001 116007 cmpq 1,dl " 1 aa 000476 000005 604404 tmoz L52 aa 000477 600210 234100 szn sp|136 " FootListBase aa 000500 000003 600004 tze L52 aa 000501 600207 234100 szn sp|135 " FootList aa 000502 000004 601004 tnz L51 L52: aa 000503 600207 450100 stz sp|135 " FootList aa 000504 600210 450100 stz sp|136 " FootListBase aa 000505 600203 450100 stz sp|131 " Fl L51: L31: aa 000506 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000507 200000 121100 sblx1 bp|0 aa 000510 700001 764111 lprplp sb|1,x1 aa 000511 200001 710100 tra bp|1 " end of return sequence " Definition section part one - external entry points 5a 000000 000024 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_mr6" aa 000004 157146 146137 aa 000005 155162 066000 aa 000006 016120 162151 " "PrintFootnotes" aa 000007 156164 106157 aa 000010 157164 156157 aa 000011 164145 163000 aa 000012 010106 157157 " "Foot_end" aa 000013 164137 145156 aa 000014 144000 000000 aa 000015 012106 157157 " "Foot_begin" aa 000016 164137 142145 aa 000017 147151 156000 aa 000020 014163 171155 " "symbol_table" aa 000021 142157 154137 aa 000022 164141 142154 aa 000023 145000 000000 " Segname definition for runoff_mr6 55 000024 000027 000002 " forward, backward threads 5a 000025 000002 400003 " value defined, class flags 55 000026 000003 000027 " name pointer, first entry def " Definition for PrintFootnotes 55 000027 000032 000024 " forward, backward threads 0a 000030 000305 500000 " value defined, class flags 55 000031 000006 000024 " name pointer, segname def pointer " Definition for Foot_end 55 000032 000035 000027 " forward, backward threads 0a 000033 000226 500000 " value defined, class flags 55 000034 000012 000024 " name pointer, segname def pointer " Definition for Foot_begin 55 000035 000040 000032 " forward, backward threads 0a 000036 000003 500000 " value defined, class flags 55 000037 000015 000024 " name pointer, segname def pointer " Definition for symbol_table 55 000040 000002 000035 " forward, backward threads 6a 000041 000000 400002 " value defined, class flags 55 000042 000020 000024 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000043 021142 143160 " "bcpl_filesys_lib_" aa 000044 154137 146151 aa 000045 154145 163171 aa 000046 163137 154151 aa 000047 142137 000000 aa 000050 007106 162145 " "Freevec" aa 000051 145166 145143 5a 000052 000053 000000 aa 000053 000004 000000 55 000054 000043 000050 aa 000055 012162 165156 " "runoff_mr5" aa 000056 157146 146137 aa 000057 155162 065000 aa 000060 005124 151164 " "Title" aa 000061 154145 000000 5a 000062 000063 000000 aa 000063 000004 000000 55 000064 000055 000060 aa 000065 012162 165156 " "runoff_mr4" aa 000066 157146 146137 aa 000067 155162 064000 aa 000070 011127 162151 " "WriteChar" aa 000071 164145 103150 aa 000072 141162 000000 5a 000073 000074 000000 aa 000074 000004 000000 55 000075 000065 000070 aa 000076 015120 162151 " "PrinterIndent" aa 000077 156164 145162 aa 000100 111156 144145 aa 000101 156164 000000 5a 000102 000103 000000 aa 000103 000004 000000 55 000104 000065 000076 aa 000105 020142 143160 " "bcpl_arithmetic_" aa 000106 154137 141162 aa 000107 151164 150155 aa 000110 145164 151143 aa 000111 137000 000000 aa 000112 004115 151156 " "MinI" aa 000113 111000 000000 5a 000114 000115 000000 aa 000115 000004 000000 55 000116 000105 000112 aa 000117 012162 165156 " "runoff_mr3" aa 000120 157146 146137 aa 000121 155162 063000 aa 000122 007123 160141 " "Spacing" aa 000123 143151 156147 5a 000124 000125 000000 aa 000125 000004 000000 55 000126 000117 000122 aa 000127 005102 162145 " "Break" aa 000130 141153 000000 5a 000131 000132 000000 aa 000132 000004 000000 55 000133 000117 000127 aa 000134 007116 145167 " "Newline" aa 000135 154151 156145 5a 000136 000137 000000 aa 000137 000004 000000 55 000140 000065 000134 aa 000141 012162 165156 " "runoff_mr9" aa 000142 157146 146137 aa 000143 155162 071000 aa 000144 007125 163145 " "Use_ref" aa 000145 137162 145146 5a 000146 000147 000000 aa 000147 000004 000000 55 000150 000141 000144 aa 000151 022142 143160 " "bcpl_machine_code_" aa 000152 154137 155141 aa 000153 143150 151156 aa 000154 145137 143157 aa 000155 144145 137000 aa 000156 014125 156160 " "Unpackstring" aa 000157 141143 153163 aa 000160 164162 151156 aa 000161 147000 000000 5a 000162 000163 000000 aa 000163 000004 000000 55 000164 000151 000156 aa 000165 006116 145145 " "NeedSS" aa 000166 144123 123000 5a 000167 000170 000000 aa 000170 000004 000000 55 000171 000065 000165 " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 000512 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000036 " offset to links, total length aa 000007 000000 000036 " obsolete length " External link pairs L50: 3a 000010 777770 000046 " "bcpl_filesys_lib_$Freevec" 5a 000011 000052 000000 L44: 3a 000012 777766 000046 " "runoff_mr5$Title" 5a 000013 000062 000000 L43: 3a 000014 777764 000046 " "runoff_mr4$WriteChar" 5a 000015 000073 000000 L40: 3a 000016 777762 000046 " "runoff_mr4$PrinterIndent" 5a 000017 000102 000000 L34: 3a 000020 777760 000046 " "bcpl_arithmetic_$MinI" 5a 000021 000114 000000 L33: 3a 000022 777756 000046 " "runoff_mr3$Spacing" 5a 000023 000124 000000 L26: 3a 000024 777754 000046 " "runoff_mr3$Break" 5a 000025 000131 000000 L20: 3a 000026 777752 000046 " "runoff_mr4$Newline" 5a 000027 000136 000000 L13: 3a 000030 777750 000046 " "runoff_mr9$Use_ref" 5a 000031 000146 000000 L12: 3a 000032 777746 000046 " "bcpl_machine_code_$Unpackstring" 5a 000033 000162 000000 L9: 3a 000034 777744 000046 " "runoff_mr4$NeedSS" 5a 000035 000167 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 101170 " date/time compiler modified aa 000005 533311 032072 " 09/25/73 0959.1 mst Tue aa 000006 000000 102333 " time of this compilation aa 000007 442263 456153 " 01/24/75 0704.8 mst Fri aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000036 000035 " compiler version name - pointer, length aa 000013 000046 000024 " user id - pointer, length aa 000014 000053 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 000110 " section header pointer, block size aa 000020 000000 000110 " next block pointer, rel_text aa 000021 000000 000124 " rel_def, rel_link aa 000022 000133 000110 " 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 000064 000051 " runoff_mr6 aa 000027 023333 611454 " last modified on aa 000030 000000 102333 " 01/24/75 0647.2 mst Fri aa 000031 432367 200000 aa 000032 000077 000042 " runoff_head aa 000033 021607 541104 " last modified on aa 000034 000000 101621 " 05/06/74 1743.2 mst Mon aa 000035 352532 200000 aa 000036 102103 120114 " "BCPL version 3.4, August 1973" aa 000037 040166 145162 aa 000040 163151 157156 aa 000041 040063 056064 aa 000042 054040 101165 aa 000043 147165 163164 aa 000044 040061 071067 aa 000045 063040 040040 aa 000046 115141 162164 " "Martinson.SysMaint.a" aa 000047 151156 163157 aa 000050 156056 123171 aa 000051 163115 141151 aa 000052 156164 056141 aa 000053 163157 165162 " "source xref alist optimize 6180" aa 000054 143145 040040 aa 000055 170162 145146 aa 000056 040040 141154 aa 000057 151163 164040 aa 000060 040157 160164 aa 000061 151155 151172 aa 000062 145040 040066 aa 000063 061070 060040 aa 000064 076062 056061 " ">2.1spec>online>mib083074>runoff_mr6.bcpl" aa 000065 163160 145143 aa 000066 076157 156154 aa 000067 151156 145076 aa 000070 155151 142060 aa 000071 070063 060067 aa 000072 064076 162165 aa 000073 156157 146146 aa 000074 137155 162066 aa 000075 056142 143160 aa 000076 154040 040040 aa 000077 076154 144144 " ">ldd>include>runoff_head.incl.bcpl" aa 000100 076151 156143 aa 000101 154165 144145 aa 000102 076162 165156 aa 000103 157146 146137 aa 000104 150145 141144 aa 000105 056151 156143 aa 000106 154056 142143 aa 000107 160154 040040 " Relocation information " text section relocation bits aa 000110 000000 000002 " version number of rel-bits structure aa 000111 000000 000525 " length in bits aa 000112 740525 170127 aa 000113 236010 647407 aa 000114 751700 432360 aa 000115 356474 105517 aa 000116 030323 601064 aa 000117 740715 000517 aa 000120 004320 000024 aa 000121 000517 011720 aa 000122 000024 740215 aa 000123 170126 000000 l " inkage relocation bits aa 000124 000000 000002 " version number of rel-bits structure aa 000125 000000 000234 " length in bits aa 000126 100002 204652 aa 000127 465246 524652 aa 000130 465246 524652 aa 000131 465246 524652 aa 000132 465200 000000 s " ymbol relocation bits aa 000133 000000 000002 " version number of rel-bits structure aa 000134 000000 000043 " length in bits aa 000135 740365 770342 " Object map aa 001100 000000 000001 " version number of object_map structure aa 001101 157142 152137 " "obj_map " aa 001102 155141 160040 aa 001103 000000 000512 " text offset, length aa 001104 000512 000172 " def offset, length aa 001105 000704 000036 " link offset, length aa 001106 000742 000136 " symbol offset, length aa 001107 000000 000000 " break map offset, length aa 001110 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 001111 001100 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