Compilation listing of file >2.1spec>online>mib083074>runoff_mr9.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0705.3 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 05/30/74 at 18:45:56 by R F Mabee. 4 // 5 // Tree_search Find a named symbol in the symbol table. 6 // GetSymbol Return value and type of a named symbol. 7 // SetSymbol Assign new value and type to a named symbol. 8 // SetCtable Update any character translation table. 9 // StoreCtable Evaluate translation table as string. 10 // UpdateSymbol Set value and type of named symbol from control line. 11 // Set_ref Process a .sr control line. 12 // Use_ref Perform substitutions for named symbols. 13 // Check_ref Implicit .ur for expression beginning with %. 14 // Only Tree_search, GetSymbol, and SetSymbol are not declared external. 15 16 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 17 18 // General permission is granted to copy and use this program, but not to sell it, provided that the above 19 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 20 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 21 22 get "head" 1 // Declarations for common BCPL library routines for Multics. 2 // Last modified on 09/05/73 at 03:57:35 by R F Mabee. 3 // Largely rewritten for 6180 Multics; installed in June 1973 by R F Mabee. 4 // First version installed in September 1971 by R F Mabee. 5 6 external // Functions to perform mathematical operations not provided by the language. 7 $( MaxI = "bcpl_arithmetic_$MaxI" // i := MaxI (j, k) 8 MaxR = "bcpl_arithmetic_$MaxR" // x := MaxR (y, z) 9 MinI = "bcpl_arithmetic_$MinI" // i := MinI (j, k) 10 MinR = "bcpl_arithmetic_$MinR" // x := MinR (y, z) 11 AbsI = "bcpl_arithmetic_$AbsI" // i := AbsI (j) 12 AbsR = "bcpl_arithmetic_$AbsR" // x := AbsR (y) 13 SquareRoot = "bcpl_arithmetic_$SquareRoot" // x := SquareRoot (y) 14 IpowerI = "bcpl_arithmetic_$IpowerI" // i := IpowerI (j, k) 15 RpowerI = "bcpl_arithmetic_$RpowerI" // x := RpowerI (y, k) 16 RpowerR = "bcpl_arithmetic_$RpowerR" // x := RpowerR (y, z) 17 RandomI = "bcpl_arithmetic_$RandomI" // i := RandomI () 18 RandomR = "bcpl_arithmetic_$RandomR" // x := RandomR () 19 Logarithm = "bcpl_arithmetic_$Logarithm" // x := Logarithm (y) 20 Exponential = "bcpl_arithmetic_$Exponential" // x := Exponential (y) 21 $) 22 external // Routines to manipulate strings. Caller must supply space to hold string results. 23 $( Packstring = "bcpl_machine_code_$Packstring" // Packstring (Unpacked, Space) 24 Unpackstring = "bcpl_machine_code_$Unpackstring" // Unpackstring (String, Space) 25 CopyString = "bcpl_strings_$CopyString" // CopyString (String, Space) 26 EqualString = "bcpl_strings_$EqualString" // if EqualString (StringA, StringB) do ... 27 CompareStrings = "bcpl_strings_$CompareStrings" // CollatingOrder := CompareStrings (StringA, StringB) 28 Concatenate = "bcpl_strings_$Concatenate" // s := Concatenate (Space, Maxlen, StrA, StrB, ...) 29 Substr = "bcpl_strings_$Substr" // s := Substr (Space, String, Index, [Length]) 30 Subch = "bcpl_machine_code_$Subch" // Ch := Subch (String, Index) 31 Length = "bcpl_strings_$Length" // Len := Length (String) 32 SetLength = "bcpl_strings_$SetLength" // SetLength (String, Len) 33 LengthInWords = "bcpl_strings_$LengthInWords" // Len := LengthInWords (String) 34 Index = "bcpl_strings_$Index" // i := Index (StringA, StringB) 35 IndexCh = "bcpl_strings_$IndexCh" // i := IndexCh (String, Ch) 36 StringToChar = "bcpl_strings_$StringToChar" // Char := StringToChar (String) 37 CharToString = "bcpl_strings_$CharToString" // String := CharToString (Char, Space) 38 MakePl1String = "bcpl_strings_$MakePl1String" // Pl1String := MakePl1String (BcplString, Space, Len) 39 MakeBcplString = "bcpl_strings_$MakeBcplString" // s := MakeBcplString (Pl1String, Len, Space) 40 $) 41 external // Functions to convert values from one representation to another. 42 $( RtoI = "bcpl_machine_code_$RtoI" // i := RtoI (x) 43 ItoR = "bcpl_machine_code_$ItoR" // x := ItoR (i) 44 ConvertStoN = "bcpl_conversions_$ConvertStoN" // r := ConvertStoN (String, [Base]) 45 ConvertNtoS = "bcpl_conversions_$ConvertNtoS" // String := ConvertNtoS (i, Space, [Base, [Digits]]) 46 ConvertFtoS = "bcpl_conversions_$ConvertFtoS" // String := ConvertFtoS (x, Space, [Digits]) 47 RemoveEscapes = "bcpl_conversions_$RemoveEscapes" // s := RemoveEscapes (String, Space) 48 InsertEscapes = "bcpl_conversions_$InsertEscapes" // s := InsertEscapes (String, Space) 49 FormDate = "bcpl_conversions_$FormDate" // FormDate (Seconds, Space10, GMTsw) 50 $) 51 external // Miscellaneous routines to extend the power of the language. 52 $( Longjump = "bcpl_machine_code_$Longjump" // Longjump (Label, Psaved) 53 Level = "bcpl_machine_code_$Level" // Psaved := Level () 54 Bcall = "bcpl_machine_code_$Bcall" // r := Bcall (F, n, (list A1, A2, .. An)) 55 Pl1Call = "bcpl_machine_code_$Pl1Call" // Pl1Call (Routine, ArglistAddress) 56 Move = "bcpl_machine_code_$Move" // Move (ToPtr, FromPtr, WordCount) 57 MoveBits = "bcpl_machine_code_$MoveBits" // MoveBits (ToPtr, ToBit, FromPtr, FromBit, BitCount) 58 ScanChar = "bcpl_machine_code_$ScanChar" // Offset := ScanChar (Ptr, Offset, Length, Ch) 59 NumbArgs = "bcpl_machine_code_$NumbArgs" // Nargs := NumbArgs () 60 NewvecInit = "bcpl_filesys_lib_$NewvecInit" // NewvecInit (Space, Size) 61 NewvecCleanup = "bcpl_filesys_lib_$NewvecCleanup" // NewvecCleanup () 62 Newvec = "bcpl_filesys_lib_$Newvec" // v := Newvec (Size - 1) 63 Freevec = "bcpl_filesys_lib_$Freevec" // Freevec (v) 64 Allocate = "bcpl_filesys_lib_$Allocate" // v := Allocate (Size) 65 Findadr = "bcpl_filesys_lib_$Findadr" // Ptr := Findadr (Name) 66 $) 67 external // BCPL stream I/O routines. 68 $( Open = "bcpl_stream_io_$Open" // Stream := Open (Options, Name, [Length, Delimiter]) 69 Close = "bcpl_stream_io_$Close" // Close (StreamA, StreamB, ...) 70 Readch = "bcpl_machine_code_$Readch" // Readch (Stream, lv Ch) 71 Writech = "bcpl_machine_code_$Writech" // Writech (Stream, Ch) 72 WriteS = "bcpl_stream_io_$WriteS" // WriteS (Stream, String) 73 WriteN = "bcpl_stream_io_$WriteN" // WriteN (Stream, i) 74 Format = "bcpl_stream_io_$Format" // Format (Stream, ControlString, A1, A2, ...) 75 FormatString = "bcpl_stream_io_$FormatString" // FormatString (Space, MaxLen, ControlString, A1, A2, ...) 76 Writeout = "bcpl_stream_io_$Writeout" // Writeout (Stream) 77 Flushinput = "bcpl_stream_io_$Flushinput" // Flushinput (Stream) 78 ResetStream = "bcpl_stream_io_$ResetStream" // ResetStream (Stream, Offset) 79 StreamOffset = "bcpl_stream_io_$StreamOffset" // Offset := StreamOffset (Stream) 80 StreamLength = "bcpl_stream_io_$StreamLength" // Length := StreamLength (Stream) 81 StreamPointer = "bcpl_stream_io_$StreamPointer" // Ptr := StreamPointer (Stream) 82 $) 83 external // Interface to Multics file system. Note: Dirname and Entryname are PL/I strings. 84 $( ExpandPathname = "bcpl_filesys_lib_$ExpandPathname" // s := ExpandPathname (RelativePath, Space) 85 JoinPathname = "bcpl_filesys_lib_$JoinPathname" // s := JoinPathname (Dirname, Entryname, Space) 86 SplitPathname = "bcpl_filesys_lib_$SplitPathname" // SplitPathname (AbsolutePath, Dirname, Entryname) 87 FindSegment = "bcpl_filesys_lib_$FindSegment" // Ptr := FindSegment (Pathname, lv BitCount) 88 MakeSegment = "bcpl_filesys_lib_$MakeSegment" // Ptr := MakeSegment (Pathname) 89 GetPathname = "bcpl_filesys_lib_$GetPathname" // s := GetPathname (Pointer, Space) 90 MakeTempSeg = "bcpl_filesys_lib_$MakeTempSeg" // Ptr := MakeTempSeg (Number, Purpose) 91 DeleteTempSeg = "bcpl_filesys_lib_$DeleteTempSeg" // DeleteTempSeg (Number, Purpose) 92 Terminate = "bcpl_filesys_lib_$Terminate" // Terminate (Pointer) 93 SetBitCount = "bcpl_filesys_lib_$SetBitCount" // SetBitCount (Pointer, BitCount) 94 RawClockTime = "bcpl_machine_code_$RawClockTime" // RawTime := RawClockTime (Space2) 95 TimeToSeconds = "bcpl_machine_code_$TimeToSeconds" // TimeNow := TimeToSeconds (RawTime) 96 GetCpuUsage = "bcpl_filesys_lib_$GetCpuUsage" // MicrosecondsUsed := GetCpuUsage () 97 $) 98 external // Interface to Multics command level features. 99 $( Pl1NumbArgs = "bcpl_command_lib_$Pl1NumbArgs" // Nargs := Pl1NumbArgs () 100 Pl1ArgPtr = "bcpl_command_lib_$Pl1ArgPtr" // Ptr := Pl1ArgPtr (ArgIndex) 101 Pl1Descriptor = "bcpl_command_lib_$Pl1Descriptor" // D := Pl1Descriptor (ArgIndex) 102 Pl1ArgString = "bcpl_command_lib_$Pl1ArgString" // s := Pl1ArgString (ArgIndex, Space, [MaxLen]) 103 Pl1ReturnString = "bcpl_command_lib_$Pl1ReturnString" // Pl1ReturnString (String) 104 ConcatenateArgs = "bcpl_command_lib_$ConcatenateArgs" // s := ConcatenateArgs (FirstIndex, Space, MaxLen) 105 OptionParse = "bcpl_command_lib_$OptionParse" // OptionParse (GetNextCommandArg, Nopts, OptionsList, 106 GetNextCommandArg = "bcpl_command_lib_$GetNextCommandArg" // PointersList, FlagsList, PutName) 107 Complain = "bcpl_command_lib_$Complain" // Complain (ControlString, [A1, A2, A3]) 108 BCPLaddr = "bcpl_machine_code_$BCPLaddr" // Pointer := BCPLaddr (ITSaddress) 109 ITS = "bcpl_machine_code_$ITS" // ITSaddress := ITS (Pointer, Space, [BitOffset]) 110 SetOverflowMask = "bcpl_machine_code_$SetOverflowMask" // SetOverflowMask (true -> Inhibit, Enable) 111 SetHandler = "bcpl_command_lib_$SetHandler" // SetHandler (Name, Handler, Space16) 112 RevertHandler = "bcpl_command_lib_$RevertHandler" // RevertHandler (Name) 113 $) 114 115 global // Library currently reserves all cells below 60 and may expand up to 99. 116 $( OUTPUT : 32; INPUT : 33 117 MONITOR : 34; CONSOLE : 35 118 Ch : 36 119 ProgramID : 37 // Must be set to name of program before calling Complain or MakeTempSeg. 120 Errcode : 38; IOstatus : 39 // Used by Complain; set by some library routines. 121 ArgIndex : 40 // Used by GetNextCommandArg. 122 $) 123 124 manifest // Description of object machine, etc. 125 $( Machine = 6180 126 WordSize = 36 127 ByteSize = 9 // Bits per character in strings. 128 CountSize = 18 // Bits for string length field. 129 Left = 18; Right = $8777777 130 Endofstreamch = $87777 131 Null = $8007777000001 // Multics uses this for empty pointer. 132 $) 133 manifest // These are the options referred to in the declaration of Open. 134 $( Pointer = 1; Console = 2; StreamName = 3 // Type. Specify exactly one. 135 PathName = 4; EntryName = 5; SearchName = 6 136 Read = 16; Write = 32; Append = 48 // Direction. Logor into Type. 137 MultiSegmentFile = 128 // May be logor'ed into above. 138 $) 139 manifest // These are the flags that appear in the list given to OptionParse. 140 $( OptNegatable = 1 // Logor any combination of these values. 141 OptNegate = 2 142 OptGetNext = 4 143 OptConvert = 8 144 OptCallOut = 16 145 $) 23 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 } 24 25 global 26 $( Global : 0 $) 27 28 manifest 29 $( NUMBER = 1 30 STRING = 2 31 CTABLE = 3 32 FUNCTION = 4 33 COUNTER = 5 34 BUILTIN = 8 35 SETS_PRINT = 16 36 READ_ONLY = 32 37 RELOCATE = 64 38 $) 39 40 41 let Tree_search (Name, Create) = valof 42 $( let x = Name!0 43 let k = LengthInWords (Name) - 1 44 let P, Q = 0, lv TreeRoot 45 $( P := rv Q 46 if P = 0 break 47 let d = P!4 - x 48 if d = 0 for i = 1 to k do 49 $( d := P!(i + 4) - Name!i 50 unless d = 0 break 51 $) 52 if d = 0 resultis P 53 Q := d < 0 -> lv P!3, lv P!2 54 $) repeat 55 56 unless Create resultis 0 57 58 P := Newvec (k + 4) 59 for i = 0 to k do P!(i + 4) := Name!i 60 P!0, P!1, P!2, P!3 := 0, NUMBER, 0, 0 61 rv Q := P 62 resultis P 63 $) 64 65 let GetSymbol (Name, Space) be // Return value of named symbol as unpacked string. 66 $( let P = Tree_search (Name, false) 67 if P = 0 do // Undefined name - value is null string by definition. 68 $( Space!0 := 0 69 return 70 $) 71 72 let Value, Flags = lv P!0, P!1 73 if (Flags & BUILTIN) ne 0 do 74 $( Value := rv Value 75 if (Flags & RELOCATE) ne 0 do Value := Value + (lv Global) 76 $) 77 switchon Flags & 7 into // Dispatch on Type. 78 $( case NUMBER: 79 StoreArabic (rv Value, Space) 80 return 81 82 case STRING: 83 Unpackstring (rv Value, Space) 84 return 85 86 case FUNCTION: 87 Value (Space, false) 88 return 89 90 case CTABLE: 91 StoreCtable (Value, Space) 92 return 93 94 case COUNTER: 95 rv Value := rv Value + 1 96 StoreArabic (rv Value - 1, Space) 97 return 98 $) 99 $) 100 101 and SetSymbol (Name, Type, Value) be 102 $( let P = Tree_search (Name, true) 103 let OldValue, Flags = lv P!0, P!1 104 if (Flags & BUILTIN) ne 0 & (Flags & READ_ONLY) = 0 do 105 $( OldValue := rv OldValue 106 if (Flags & RELOCATE) ne 0 do OldValue := OldValue + (lv Global) 107 switchon Flags & 7 into // Dispatch on old Type. 108 $( case NUMBER: 109 case COUNTER: 110 unless Type = NUMBER goto UserCell 111 rv OldValue := Value 112 if (Flags & SETS_PRINT) ne 0 do Print := Fp le Np le Lp & Passes le 1 113 return 114 115 case STRING: 116 unless Type = STRING goto UserCell 117 Freevec (rv OldValue) 118 rv OldValue := Value 119 return 120 121 case CTABLE: 122 unless Type = STRING goto UserCell 123 SetCtable (OldValue, Value) 124 return 125 126 case FUNCTION: 127 unless Type = NUMBER goto UserCell 128 OldValue (Value, true) 129 return 130 $) 131 $) 132 133 if Flags = STRING do Freevec (P!0) 134 UserCell: 135 P!0, P!1 := Value, Type 136 $) 137 and SetCtable (Table, Value) be 138 $( let w = vec 512 139 Unpackstring (Value, w) 140 let l = w!0 141 if l > 128 do l := 128 142 while l < 128 do 143 $( l := l + 1 144 w!l := '*s' 145 $) 146 for i = 0 to 127 do Table!i := w!(i + 1) 147 Freevec (Value) 148 $) 149 and StoreCtable (Table, v) be 150 $( let j = 0 151 for i = 0 to 127 do 152 $( j := j + 1 153 let c = Table!i 154 c := valof switchon c into 155 $( case '*b':resultis 'b' 156 case '*n':resultis 'n' 157 case '*t':resultis 't' 158 case '**':resultis '**' 159 case '"': resultis '"' 160 default: 161 if $8040 le c le $8176 do 162 $( v!j := c 163 loop 164 $) 165 v!j := '**' 166 v!(j + 1) := 'c' 167 v!(j + 2) := c / 100 + '0' 168 v!(j + 3) := c / 10 rem 10 + '0' 169 v!(j + 4) := c rem 10 + '0' 170 j := j + 4 171 loop 172 $) 173 v!j := '**' 174 v!(j + 1) := c 175 j := j + 1 176 loop 177 $) 178 v!0 := j 179 $) 180 181 let UpdateSymbol (Name) be 182 $( Check_ref () // Do substitutions if necessary. 183 let Type, Value = 0, 0 184 test Rawchar!Nrx = '"' 185 then Type, Value := STRING, GetString () 186 or $( let v = vec Maxline 187 ExpError := false 188 Type, Value := NUMBER, ReadExp (0, v) 189 if ExpError | Nrx < Nr do Report ("Malformed expression") 190 $) 191 SetSymbol (Name, Type, Value) 192 $) 193 194 and Set_ref () be 195 $( let v = vec Maxline / 4 196 if ReadName (v) = 0 return 197 UpdateSymbol (v) 198 $) 199 200 and Use_ref (In, Out, Inl) = valof // = Outl 201 $( let Ini, Outi = 0, 0 202 let v = vec Maxline * 2 203 while Ini < Inl & Outi < Maxline do 204 $( Ini := Ini + 1 205 unless In!Ini = Spec_char do 206 $( Outi := Outi + 1 207 Out!Outi := In!Ini 208 loop 209 $) 210 if In!(Ini + 1) = Spec_char do // Double escape turns to single in output. 211 $( Ini := Ini + 1 212 Outi := Outi + 1 213 Out!Outi := Spec_char 214 loop 215 $) 216 for i = Ini + 1 to Inl do 217 $( let c = In!i 218 if c = Spec_char do 219 $( let w = vec Maxline 220 for j = 1 to i - Ini - 1 do v!j := In!(Ini + j) 221 v!0 := i - Ini - 1 222 Packstring (v, w) 223 GetSymbol (w, v) 224 Ini := i 225 goto StoreS 226 $) 227 unless 'a' le c le 'z' logor 'A' le c le 'Z' logor '0' le c le '9' logor c = '_' break 228 $) 229 (Roman -> StoreRoman, StoreArabic) (Np, v) 230 StoreS: for i = 1 to v!0 do Out!(Outi + i) := v!i 231 Outi := Outi + v!0 232 $) 233 resultis Outi 234 $) 235 236 237 and Check_ref () be // Do symbol substitution for control line if first or second character is %. 238 $( unless Rawchar!Nrx = Spec_char logor Rawchar!(Nrx + 1) = Spec_char return 239 let w = vec Maxline 240 for i = 1 to Nr do w!i := Rawchar!i 241 let OldRoman = Roman 242 Roman := false 243 Nr := Use_ref (w + Nrx - 1, Rawchar + Nrx - 1, Nr - Nrx + 1) + Nrx - 1 244 Roman := OldRoman 245 $) 246 247 let InitializeSymbolTree () be // Set up symbol table with built-in names. 248 $( TreeRoot := 0 249 250 Define ("Ad", lv Ad, NUMBER | RELOCATE) 251 Define ("Ce", lv Ce, NUMBER | RELOCATE) 252 Define ("Eq", lv Eq, NUMBER | RELOCATE) 253 Define ("Fi", lv Fi, NUMBER | RELOCATE) 254 Define ("Fr", lv Fr, NUMBER | RELOCATE) 255 Define ("Ft", lv Ft, NUMBER | RELOCATE) 256 Define ("Ll", lv Ll, NUMBER | RELOCATE) 257 Define ("Ms", lv Ms, NUMBER | RELOCATE) 258 Define ("Nl", lv Nl, NUMBER | RELOCATE) 259 Define ("Pi", lv Pi, NUMBER | RELOCATE) 260 Define ("Pl", lv Pl, NUMBER | RELOCATE) 261 Define ("To", lv To, NUMBER | RELOCATE) 262 Define ("Un", lv Un, NUMBER | RELOCATE) 263 Define ("Ma1", lv Ma1, NUMBER | RELOCATE) 264 Define ("Ma2", lv Ma2, NUMBER | RELOCATE) 265 Define ("Ma3", lv Ma3, NUMBER | RELOCATE) 266 Define ("Ma4", lv Ma4, NUMBER | RELOCATE) 267 Define ("NNp", lv NNp, NUMBER | RELOCATE) 268 Define ("Foot", lv Foot, NUMBER | RELOCATE) 269 Define ("From", lv From, NUMBER | RELOCATE) 270 Define ("Print", lv Print, NUMBER | RELOCATE) 271 Define ("Start", lv Start, NUMBER | RELOCATE) 272 Define ("Roman", lv Roman, NUMBER | RELOCATE) 273 Define ("NoFtNo", lv NoFtNo, NUMBER | RELOCATE) 274 Define ("Stopsw", lv Stopsw, NUMBER | RELOCATE) 275 Define ("Waitsw", lv Waitsw, NUMBER | RELOCATE) 276 Define ("PadLeft", lv PadLeft, NUMBER | RELOCATE) 277 Define ("ExtraMargin", lv ExtraMargin, NUMBER | RELOCATE) 278 Define ("Hyphenating", lv Hyphenating, NUMBER | RELOCATE) 279 Define ("PrintLineNumbers", lv PrintLineNumbers, NUMBER | RELOCATE) 280 Define ("MultiplePagecount", lv MultiplePagecount, NUMBER | RELOCATE) 281 282 Define ("Fp", lv Fp, NUMBER | SETS_PRINT | RELOCATE) 283 Define ("Lp", lv Lp, NUMBER | SETS_PRINT | RELOCATE) 284 Define ("Passes", lv Passes, NUMBER | SETS_PRINT | RELOCATE) 285 286 Define ("In", lv In, NUMBER | READ_ONLY | RELOCATE) 287 Define ("Np", lv Np, NUMBER | READ_ONLY | RELOCATE) 288 Define ("Selsw", lv Selsw, NUMBER | READ_ONLY | RELOCATE) 289 Define ("Time", lv TimeNow, NUMBER | READ_ONLY | RELOCATE) 290 Define ("Filesw", lv Filesw, NUMBER | READ_ONLY | RELOCATE) 291 Define ("LinesLeft", lv LinesLeft, NUMBER | READ_ONLY | RELOCATE) 292 Define ("Printersw", lv Printersw, NUMBER | READ_ONLY | RELOCATE) 293 Define ("InputLines", lv InputLines, NUMBER | READ_ONLY | RELOCATE) 294 Define ("NestingDepth", lv NestingDepth, NUMBER | READ_ONLY | RELOCATE) 295 296 Define ("Eqcnt", lv Eqcnt, COUNTER | RELOCATE) 297 298 Define ("FootRef", lv FootRef, STRING | RELOCATE) 299 Define ("TextRef", lv TextRef, STRING | RELOCATE) 300 Define ("Parameter", lv Parameter, STRING | RELOCATE) 301 302 Define ("FileName", lv FileName, STRING | READ_ONLY | RELOCATE) 303 Define ("InputFileName", lv InputFileName, STRING | READ_ONLY | RELOCATE) 304 305 Define ("ConvTable", Conv, CTABLE) 306 Define ("TrTable", TrTable, CTABLE) 307 Define ("CharsTable", CharsTable, CTABLE) 308 Define ("DeviceTable", DeviceTable, CTABLE) 309 310 Define ("Date", StoreDate, FUNCTION | READ_ONLY) 311 Define ("Console", ConsoleReadline, FUNCTION | READ_ONLY) 312 313 Define ("NoPaging", NoPagingFUNCTION, FUNCTION) 314 Define ("Charsw", CharswFUNCTION, FUNCTION) 315 Define ("Device", DeviceFUNCTION, FUNCTION) 316 $) 317 and Define (Name, Value, Flag) be 318 $( let P = Tree_search (Name, true) 319 if (Flag & RELOCATE) ne 0 do Value := Value - (lv Global) 320 P!0, P!1 := Value, Flag | BUILTIN 321 $) 322 323 and NoPagingFUNCTION (Arg, SetSw) be 324 test SetSw 325 then SetPaging (Arg) 326 or StoreArabic (NoPaging, Arg) 327 328 and CharswFUNCTION (Arg, SetSw) be 329 test SetSw 330 then SetCharsw (Arg) 331 or StoreArabic (Charsw, Arg) 332 333 and DeviceFUNCTION (Arg, SetSw) be 334 test SetSw 335 then SetDevice (Arg) 336 or StoreArabic (Device, Arg) CAE time 6.8, 106 source lines per second. cross reference table AbsI head: 11 AbsR head: 12 Ad runoff_head: 130, runoff_mr9: 250 Again runoff_head: 131 Allocate head: 64 Append head: 136 Arg runoff_mr9: 323, 325, 326, 328, 330, 331, 333, 335, 336 ArgIndex head: 121 Bcall head: 54 BCPLaddr head: 108 Blank runoff_head: 35 Break runoff_head: 36 BUILTIN runoff_mr9: 34, 73, 104, 320 ByteBits runoff_head: 243 ByteSize head: 127 c runoff_mr9: 153, 154, 154, 161, 162, 167, 168, 169, 174, 217, 218, 227, 227, 227, 227 Ce runoff_head: 132, runoff_mr9: 251 Ch head: 118 Char runoff_head: 133 CharsTable runoff_head: 134, runoff_mr9: 307 Charsw runoff_head: 135, runoff_mr9: 331 CharswFUNCTION runoff_mr9: 314, 328 CharToString head: 37 Check_ref runoff_head: 38, runoff_mr9: 182, 237 ChStream runoff_head: 136 Close head: 69 CompareStrings head: 27 Complain head: 107 Concatenate head: 28 ConcatenateArgs head: 104 CONSOLE head: 117 Console head: 134 ConsoleReadline runoff_head: 40, runoff_mr9: 311 Control runoff_head: 41 Conv runoff_head: 137, runoff_mr9: 305 ConvertFtoS head: 46 ConvertNtoS head: 45, runoff_head: 19 ConvertStoN head: 44 CopyString head: 25 COUNTER runoff_mr9: 33, 94, 109, 296 CountSize head: 128 Create runoff_mr9: 41, 56 CTABLE runoff_mr9: 31, 90, 121, 305, 306, 307, 308 d runoff_mr9: 47, 48, 49, 50, 52, 53 Define runoff_mr9: 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 296, 298, 299, 300, 302, 303, 305, 306, 307, 308, 310, 311, 313, 314, 315, 317 DeleteTempSeg head: 91 Device runoff_head: 139, runoff_mr9: 336 DeviceFUNCTION runoff_mr9: 315, 333 DeviceTable runoff_head: 140, runoff_mr9: 308 Ef runoff_head: 141 Eh runoff_head: 142 Eject runoff_head: 47 Endofstreamch head: 130 EntryName head: 135 Eq runoff_head: 143, runoff_mr9: 252 Eqcnt runoff_head: 144, runoff_mr9: 296 EqualString head: 26 Errcode head: 120 ErrorfilePointer runoff_head: 145 Errorstream runoff_head: 146 ErrorTempID runoff_head: 148 ExecuteCommand runoff_head: 49 ExpandPathname head: 84 ExpError runoff_head: 149, runoff_mr9: 187, 189 Exponential head: 20 ExtraMargin runoff_head: 150, runoff_mr9: 277 Fc runoff_head: 151 Fd runoff_head: 152 Fi runoff_head: 153, runoff_mr9: 253 FileName runoff_head: 154, runoff_mr9: 302 Filesw runoff_head: 155, runoff_mr9: 290 FillTrTable runoff_head: 50 Findadr head: 65 Findent runoff_head: 157 FindInput runoff_head: 51 FindSegment head: 87 Fl runoff_head: 158 Flag runoff_mr9: 317, 319, 320 Flags runoff_mr9: 72, 73, 75, 77, 103, 104, 104, 106, 107, 112, 133 Flp runoff_head: 159 Flushinput head: 77 Foot runoff_head: 160, runoff_mr9: 268 Footbuf runoff_head: 161 FootList runoff_head: 162 FootListBase runoff_head: 163 FootRef runoff_head: 164, runoff_mr9: 298 Foot_begin runoff_head: 53 Foot_end runoff_head: 54 Format head: 74 FormatString head: 75 FormDate head: 49, runoff_head: 24 Fp runoff_head: 166, runoff_mr9: 112, 282 Fr runoff_head: 167, runoff_mr9: 254 Freeheads runoff_head: 55 Freevec head: 63, runoff_head: 21, runoff_mr9: 117, 133, 147 From runoff_head: 168, runoff_mr9: 269 Ft runoff_head: 169, runoff_mr9: 255 Fth runoff_head: 170 FUNCTION runoff_mr9: 32, 86, 126, 310, 311, 313, 314, 315 Fundent runoff_head: 171 GetCpuUsage head: 96 Gethead runoff_head: 57 GetNextCommandArg head: 106 GetPathname head: 89 GetString runoff_head: 59, runoff_mr9: 185 GetSymbol runoff_mr9: 65, 223 Global runoff_mr9: 26, 75, 106, 319 Hyphenating runoff_head: 172, runoff_mr9: 278 i runoff_mr9: 48, 49, 49, 59, 59, 59, 146, 146, 146, 151, 153, 216, 217, 220, 221, 224, 230, 230, 230, 240, 240, 240 In runoff_head: 173, runoff_mr9: 200, 205, 207, 210, 217, 220, 286 Index head: 34 IndexCh head: 35 Ini runoff_mr9: 201, 203, 204, 204, 205, 207, 210, 211, 211, 216, 220, 220, 221, 224 InitializeSymbolTree runoff_head: 61, runoff_mr9: 247 Inl runoff_mr9: 200, 203, 216 INPUT head: 116 InputFileName runoff_head: 175, runoff_mr9: 303 InputLines runoff_head: 176, runoff_mr9: 293 InputStack runoff_head: 177 InsertEscapes head: 48 InsertFile runoff_head: 62 IOstatus head: 120 IpowerI head: 14 ItoR head: 43 ITS head: 109 j runoff_mr9: 150, 152, 152, 162, 165, 166, 167, 168, 169, 170, 170, 173, 174, 175, 175, 178, 220, 220, 220 JoinPathname head: 85 JumpLine runoff_head: 178 k runoff_mr9: 43, 48, 58, 59 l runoff_mr9: 140, 141, 141, 142, 143, 143, 144 Left head: 129 Length head: 31 LengthInWords head: 33, runoff_mr9: 43 Level head: 53 LinesLeft runoff_head: 179, runoff_mr9: 291 LIno runoff_head: 180 Ll runoff_head: 181, runoff_mr9: 256 LL_ runoff_head: 249 Logarithm head: 19 Longjump head: 52 Lp runoff_head: 182, runoff_mr9: 112, 283 Ma1 runoff_head: 184, runoff_mr9: 263 MA1_ runoff_head: 251 Ma2 runoff_head: 185, runoff_mr9: 264 MA2_ runoff_head: 252 Ma3 runoff_head: 186, runoff_mr9: 265 MA3_ runoff_head: 253 Ma4 runoff_head: 187, runoff_mr9: 266 MA4_ runoff_head: 254 Machine head: 125 MakeBcplString head: 39 MakePl1String head: 38 MakeSegment head: 88 MakeTempSeg head: 90 MaxDepth runoff_head: 247 Maxheads runoff_head: 246 MaxI head: 7, runoff_head: 23 Maxline runoff_head: 245, runoff_mr9: 186, 195, 202, 203, 219, 239 MaxR head: 8 MinI head: 9, runoff_head: 22 MinR head: 10 MONITOR head: 117 Move head: 56 MoveBits head: 57 Ms runoff_head: 188, runoff_mr9: 257 MultiplePagecount runoff_head: 189, runoff_mr9: 280 MultiSegmentFile head: 137 Name runoff_mr9: 41, 42, 43, 49, 59, 65, 66, 101, 102, 181, 191, 317, 318 Nc runoff_head: 190 Need runoff_head: 64 NeedSS runoff_head: 65 NestingDepth runoff_head: 191, runoff_mr9: 294 Newline runoff_head: 66 Newvec head: 62, runoff_head: 20, runoff_mr9: 58 NewvecCleanup head: 61 NewvecInit head: 60 Nl runoff_head: 193, runoff_mr9: 258 NNp runoff_head: 194, runoff_mr9: 267 NoControl runoff_head: 195 NoFill runoff_head: 196 NoFtNo runoff_head: 197, runoff_mr9: 273 NoPaging runoff_head: 198, runoff_mr9: 326 NoPagingFUNCTION runoff_mr9: 313, 323 Np runoff_head: 199, runoff_mr9: 112, 229, 287 Nr runoff_head: 200, runoff_mr9: 189, 240, 243, 243 Nrx runoff_head: 202, runoff_mr9: 184, 189, 238, 238, 243, 243, 243, 243 Null head: 131 NumbArgs head: 59 NUMBER runoff_mr9: 29, 60, 78, 108, 110, 127, 188, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294 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 OldRoman runoff_mr9: 241, 244 OldValue runoff_mr9: 103, 105, 105, 106, 106, 111, 117, 118, 123, 128 Open head: 68 OptCallOut head: 144 OptConvert head: 143 OptGetNext head: 142 OptionParse head: 105 OptNegatable head: 140 OptNegate head: 141 Out runoff_mr9: 200, 207, 213, 230 Outi runoff_mr9: 201, 203, 206, 206, 207, 212, 212, 213, 230, 231, 231, 233 OUTPUT head: 116 Output runoff_head: 206 P runoff_mr9: 44, 45, 46, 47, 49, 52, 53, 53, 58, 59, 60, 60, 60, 60, 61, 62, 66, 67, 72, 72, 102, 103, 103, 133, 135, 135, 318, 320, 320 Packstring head: 23, runoff_head: 14, runoff_mr9: 222 PadLeft runoff_head: 207, runoff_mr9: 276 Parameter runoff_head: 208, runoff_mr9: 300 Passes runoff_head: 209, runoff_mr9: 112, 284 PathName head: 135 Pi runoff_head: 211, runoff_mr9: 259 Pl runoff_head: 212, runoff_mr9: 260 Pl1ArgPtr head: 100 Pl1ArgString head: 102 Pl1Call head: 55 Pl1Descriptor head: 101 Pl1NumbArgs head: 99 Pl1ReturnString head: 103 PL_ runoff_head: 250 Pointer head: 134 Print runoff_head: 213, runoff_mr9: 112, 270 PrinterIndent runoff_head: 73 Printersw runoff_head: 214, runoff_mr9: 292 PrintFootnotes runoff_head: 74 PrintLineNumbers runoff_head: 215, runoff_mr9: 279 ProgramID head: 119 Q runoff_mr9: 44, 45, 53, 61 RandomI head: 17 RandomR head: 18 Rawchar runoff_head: 216, runoff_mr9: 184, 238, 238, 240, 243 RawClockTime head: 94 Read head: 136 Readch head: 70 ReadExp runoff_head: 77, runoff_mr9: 188 Readhead runoff_head: 76 Readline runoff_head: 75 ReadName runoff_head: 78, runoff_mr9: 196 ReadNumber runoff_head: 79 ReadParam runoff_head: 80 ReadString runoff_head: 81 READ_ONLY runoff_mr9: 36, 104, 286, 287, 288, 289, 290, 291, 292, 293, 294, 302, 303, 310, 311 RELOCATE runoff_mr9: 37, 75, 106, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 296, 298, 299, 300, 302, 303, 319 RemoveEscapes head: 47 Report runoff_head: 82, runoff_mr9: 189 ResetStream head: 78 RevertHandler head: 112 Right head: 129 Roff runoff_head: 83 RoffProcess runoff_head: 84 Roman runoff_head: 217, runoff_mr9: 229, 241, 242, 244, 272 RpowerI head: 15 RpowerR head: 16 RtoI head: 42 SavedCc runoff_head: 218 ScanChar head: 58 SearchName head: 135 Selsw runoff_head: 220, runoff_mr9: 288 SetBitCount head: 93 SetCharsw runoff_head: 88, runoff_mr9: 330 SetCtable runoff_mr9: 123, 137 SetDevice runoff_head: 90, runoff_mr9: 335 SetHandler head: 111 Sethead runoff_head: 91 SetLength head: 32 SetLinesLeft runoff_head: 92 SetOverflowMask head: 110 SetPaging runoff_head: 94, runoff_mr9: 325 SetSw runoff_mr9: 323, 324, 328, 329, 333, 334 SetSwitches runoff_head: 95 SetSymbol runoff_mr9: 101, 191 SETS_PRINT runoff_mr9: 35, 112, 282, 283, 284 Set_ref runoff_head: 98, runoff_mr9: 194 Skip runoff_head: 244 Skiptolabel runoff_head: 100 Space runoff_mr9: 65, 68, 79, 83, 87, 91, 96 Spacing runoff_head: 101 Spec_char runoff_head: 221, runoff_mr9: 205, 210, 213, 218, 238, 238 SplitPathname head: 86 SquareRoot head: 13 Start runoff_head: 222, runoff_mr9: 271 Stopsw runoff_head: 223, runoff_mr9: 274 StoreArabic runoff_head: 104, runoff_mr9: 79, 96, 229, 326, 331, 336 StoreCtable runoff_mr9: 91, 149 StoreDate runoff_head: 106, runoff_mr9: 310 StoreRoman runoff_head: 107, runoff_mr9: 229 StoreS runoff_mr9: 225, 230 StoreString runoff_head: 108 StreamLength head: 80 StreamName head: 134 StreamOffset head: 79 StreamPointer head: 81 STRING runoff_mr9: 30, 82, 115, 116, 122, 133, 185, 298, 299, 300, 302, 303 StringToChar head: 36 Subch head: 30 Substr head: 29 Table runoff_mr9: 137, 146, 149, 153 Temp runoff_head: 224 Tempc runoff_head: 225 Terminate head: 92 Text runoff_head: 111 TextRef runoff_head: 226, runoff_mr9: 299 TimeNow runoff_head: 227, runoff_mr9: 289 TimeToSeconds head: 95 Title runoff_head: 112 To runoff_head: 229, runoff_mr9: 261 TreeRoot runoff_head: 231, runoff_mr9: 44, 248 Tree_search runoff_mr9: 41, 66, 102, 318 TrTable runoff_head: 230, runoff_mr9: 306 Type runoff_mr9: 101, 110, 116, 122, 127, 135, 183, 185, 188, 191 Typeout runoff_head: 115 Un runoff_head: 232, runoff_mr9: 262 Unpackstring head: 24, runoff_head: 15, runoff_mr9: 83, 139 UpdateSymbol runoff_head: 117, runoff_mr9: 181, 197 UserCell runoff_mr9: 110, 116, 122, 127, 134 Use_ref runoff_head: 118, runoff_mr9: 200, 243 v runoff_mr9: 149, 162, 165, 166, 167, 168, 169, 173, 174, 178, 186, 188, 195, 196, 197, 202, 220, 221, 222, 223, 229, 230, 230, 231 Value runoff_mr9: 72, 74, 74, 75, 75, 79, 83, 87, 91, 95, 95, 96, 101, 111, 118, 123, 128, 135, 137, 139, 147, 183, 185, 188, 191, 317, 319, 319, 320 w runoff_mr9: 138, 139, 140, 144, 146, 219, 222, 223, 239, 240, 243 Wait runoff_head: 119 Waitsw runoff_head: 233, runoff_mr9: 275 Width runoff_head: 120 WordSize head: 126 WrCh runoff_head: 121 WrChInit runoff_head: 122 Write head: 136 Writech head: 71, runoff_head: 16 WriteChar runoff_head: 123 WriteN head: 73, runoff_head: 18 Writeout head: 76 WriteS head: 72, runoff_head: 17 x runoff_mr9: 42, 47 Trans time 2.9, 659 object words per second. " Begin text of Tree_search aa 000000 000013 124162 zero 11,43122 " Tree_search aa 000001 145145 137163 zero 51813,48755 aa 000002 145141 162143 zero 51809,58467 aa 000003 150000 000000 zero 53248 L1: aa 000004 000000 213000 41 epaq 0 " set lp to linkage section aa 000005 700026 764161 lprplp sb|22,*au aa 000006 200000 021100 adlx1 bp|0 " BCPL save aa 000007 700000 542111 sprpbp sb|0,x1 aa 000010 700001 544111 sprplp sb|1,x1 aa 000011 700422 620111 eax0 sb|274,x1 aa 000012 777760 360003 anx0 -16,du aa 000013 700025 740100 stx0 sb|21 " end of save sequence aa 000014 700002 760111 42 lprpap sb|2,x1 " Name aa 000015 000000 236100 ldq ap|0 aa 000016 700005 756111 stq sb|5,x1 " x aa 000017 700002 236111 43 ldq sb|2,x1 " Name aa 000020 700022 756111 stq sb|18,x1 4a 000021 400046 272120 tsbbp lp|L5,* " LengthInWords aa 000022 000020 000001 zero 16,1 aa 000023 000001 176007 sbq 1,dl " 1 aa 000024 700006 756111 stq sb|6,x1 " k aa 000025 600324 352100 44 eapbp sp|212 " TreeRoot aa 000026 700010 542111 sprpbp sb|8,x1 " Q aa 000027 700007 450111 stz sb|7,x1 " P L6: aa 000030 700010 762111 45 lprpbp sb|8,x1 " Q aa 000031 200000 236100 ldq bp|0 aa 000032 700007 756111 stq sb|7,x1 " P aa 000033 700007 234111 46 szn sb|7,x1 " P aa 000034 000051 600004 tze L7 aa 000035 700007 761111 47 lprpab sb|7,x1 " P aa 000036 100004 236100 ldq ab|4 aa 000037 700005 176111 sbq sb|5,x1 " x aa 000040 700011 756111 stq sb|9,x1 " d aa 000041 700011 234111 48 szn sb|9,x1 " d aa 000042 000024 601004 tnz L8 aa 000043 000001 236007 ldq 1,dl " 1 aa 000044 700012 756111 stq sb|10,x1 " i aa 000045 700006 236111 ldq sb|6,x1 " k aa 000046 700013 756111 stq sb|11,x1 aa 000047 000014 710004 tra L9 L10: aa 000050 700012 236111 49 ldq sb|10,x1 " i aa 000051 000004 076007 adq 4,dl " 4 aa 000052 700007 763111 lprpbb sb|7,x1 " P aa 000053 300000 235106 lda bb|0,ql aa 000054 700012 722111 lxl2 sb|10,x1 " i aa 000055 700002 765111 lprplb sb|2,x1 " Name aa 000056 500000 175112 sba lb|0,x2 aa 000057 700011 755111 sta sb|9,x1 " d aa 000060 700011 234111 50 szn sb|9,x1 " d aa 000061 000005 601004 tnz L11 aa 000062 700012 054111 aos sb|10,x1 " i L9: aa 000063 700012 236111 ldq sb|10,x1 " i aa 000064 700013 116111 cmpq sb|11,x1 aa 000065 777763 604404 tmoz L10 L11: L8: aa 000066 700011 234111 52 szn sb|9,x1 " d aa 000067 000003 601004 tnz L12 aa 000070 700007 235111 lda sb|7,x1 " P aa 000071 000062 710004 tra L4 L12: aa 000072 700011 234111 53 szn sb|9,x1 " d aa 000073 000004 605004 tpl L13 aa 000074 700007 760111 lprpap sb|7,x1 " P aa 000075 000003 350100 eapap ap|3 aa 000076 000003 710004 tra L14 L13: aa 000077 700007 762111 lprpbp sb|7,x1 " P aa 000100 200002 350100 eapap bp|2 L14: aa 000101 700014 540111 sprpap sb|12,x1 aa 000102 700014 236111 ldq sb|12,x1 aa 000103 700010 756111 stq sb|8,x1 " Q aa 000104 777724 710004 tra L6 L7: aa 000105 700003 234111 56 szn sb|3,x1 " Create aa 000106 000003 601004 tnz L15 aa 000107 000000 235007 lda 0,dl " 0 aa 000110 000043 710004 tra L4 L15: aa 000111 700006 236111 58 ldq sb|6,x1 " k aa 000112 000004 076007 adq 4,dl " 4 aa 000113 700022 756111 stq sb|18,x1 4a 000114 400044 272120 tsbbp lp|L16,* " Newvec aa 000115 000020 000001 zero 16,1 aa 000116 700007 756111 stq sb|7,x1 " P aa 000117 700011 450111 59 stz sb|9,x1 " i aa 000120 700006 236111 ldq sb|6,x1 " k aa 000121 700012 756111 stq sb|10,x1 aa 000122 000011 710004 tra L17 L18: aa 000123 700011 236111 ldq sb|9,x1 " i aa 000124 000004 076007 adq 4,dl " 4 aa 000125 700011 723111 lxl3 sb|9,x1 " i aa 000126 700002 760111 lprpap sb|2,x1 " Name aa 000127 000000 235113 lda ap|0,x3 aa 000130 700007 761111 lprpab sb|7,x1 " P aa 000131 100000 755106 sta ab|0,ql aa 000132 700011 054111 aos sb|9,x1 " i L17: aa 000133 700011 236111 ldq sb|9,x1 " i aa 000134 700012 116111 cmpq sb|10,x1 aa 000135 777766 604404 tmoz L18 aa 000136 700007 763111 60 lprpbb sb|7,x1 " P aa 000137 300003 450100 stz bb|3 aa 000140 700007 765111 lprplb sb|7,x1 " P aa 000141 500002 450100 stz lb|2 aa 000142 000001 235007 lda 1,dl " NUMBER aa 000143 700007 762111 lprpbp sb|7,x1 " P aa 000144 200001 755100 sta bp|1 aa 000145 700007 760111 lprpap sb|7,x1 " P aa 000146 000000 450100 stz ap|0 aa 000147 700007 235111 61 lda sb|7,x1 " P aa 000150 700010 761111 lprpab sb|8,x1 " Q aa 000151 100000 755100 sta ab|0 " Q aa 000152 700007 235111 62 lda sb|7,x1 " P L4: aa 000153 700005 755111 sta sb|5,x1 aa 000154 700005 235111 lda sb|5,x1 aa 000155 000044 777000 llr 36 " exchange A and Q aa 000156 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000157 200000 121100 sblx1 bp|0 aa 000160 700001 764111 lprplp sb|1,x1 aa 000161 200001 710100 tra bp|1 " end of return sequence " Begin text of StoreCtable aa 000162 000013 123164 zero 11,42612 " StoreCtable aa 000163 157162 145103 zero 56946,51779 aa 000164 164141 142154 zero 59489,50284 aa 000165 145000 000000 zero 51712 aa 000166 700004 756111 149 stq sb|4,x1 " temporary L22: aa 000167 000000 213000 epaq 0 " set lp to linkage section aa 000170 700026 764161 lprplp sb|22,*au aa 000171 200000 021100 adlx1 bp|0 " BCPL save aa 000172 700000 542111 sprpbp sb|0,x1 aa 000173 700001 544111 sprplp sb|1,x1 aa 000174 700417 620111 eax0 sb|271,x1 aa 000175 777760 360003 anx0 -16,du aa 000176 700025 740100 stx0 sb|21 " end of save sequence aa 000177 700004 450111 150 stz sb|4,x1 " j aa 000200 700005 450111 151 stz sb|5,x1 " i aa 000201 000146 710004 tra L26 L27: aa 000202 700004 054111 152 aos sb|4,x1 " j aa 000203 700005 724111 153 lxl4 sb|5,x1 " i aa 000204 700002 763111 lprpbb sb|2,x1 " Table aa 000205 300000 236114 ldq bb|0,x4 aa 000206 700006 756111 stq sb|6,x1 " c aa 000207 000076 710004 155 tra L30 L31: aa 000210 000142 236007 ldq 98,dl " 'b' aa 000211 000120 710004 156 tra L28 L32: aa 000212 000156 236007 ldq 110,dl " 'n' aa 000213 000116 710004 157 tra L28 L33: aa 000214 000164 236007 ldq 116,dl " 't' aa 000215 000114 710004 158 tra L28 L34: aa 000216 000052 236007 ldq 42,dl " '**' aa 000217 000112 710004 159 tra L28 L35: aa 000220 000042 236007 ldq 34,dl " '"' aa 000221 000110 710004 160 tra L28 L36: aa 000222 000040 235007 161 lda 32,dl " $8040 aa 000223 700006 115111 cmpa sb|6,x1 " c aa 000224 000011 605404 tpnz L37 aa 000225 700006 236111 ldq sb|6,x1 " c aa 000226 000176 116007 cmpq 126,dl " $8176 aa 000227 000006 605404 tpnz L37 aa 000230 700006 235111 162 lda sb|6,x1 " c aa 000231 700004 725111 lxl5 sb|4,x1 " j aa 000232 700003 765111 lprplb sb|3,x1 " v aa 000233 500000 755115 sta lb|0,x5 aa 000234 000112 710004 163 tra L38 L37: aa 000235 000052 235007 165 lda 42,dl " '**' aa 000236 700004 726111 lxl6 sb|4,x1 " j aa 000237 700003 762111 lprpbp sb|3,x1 " v aa 000240 200000 755116 sta bp|0,x6 aa 000241 700004 235111 166 lda sb|4,x1 " j aa 000242 000001 075007 ada 1,dl " 1 aa 000243 000143 236007 ldq 99,dl " 'c' aa 000244 700003 760111 lprpap sb|3,x1 " v aa 000245 000000 756105 stq ap|0,al aa 000246 700004 236111 167 ldq sb|4,x1 " j aa 000247 000002 076007 adq 2,dl " 2 aa 000250 700010 756111 stq sb|8,x1 " temporary aa 000251 700006 236111 ldq sb|6,x1 " c aa 000252 000144 506007 div 100,dl " 100 aa 000253 000060 076007 adq 48,dl " '0' aa 000254 700010 722111 lxl2 sb|8,x1 aa 000255 700003 761111 lprpab sb|3,x1 " v aa 000256 100000 756112 stq ab|0,x2 aa 000257 700004 236111 168 ldq sb|4,x1 " j aa 000260 000003 076007 adq 3,dl " 3 aa 000261 700010 756111 stq sb|8,x1 " temporary aa 000262 700006 236111 ldq sb|6,x1 " c aa 000263 000012 506007 div 10,dl " 10 aa 000264 000012 506007 div 10,dl " 10 aa 000265 000060 075007 ada 48,dl " '0' aa 000266 700010 723111 lxl3 sb|8,x1 aa 000267 700003 763111 lprpbb sb|3,x1 " v aa 000270 300000 755113 sta bb|0,x3 aa 000271 700004 236111 169 ldq sb|4,x1 " j aa 000272 000004 076007 adq 4,dl " 4 aa 000273 700010 756111 stq sb|8,x1 " temporary aa 000274 700006 236111 ldq sb|6,x1 " c aa 000275 000012 506007 div 10,dl " 10 aa 000276 000060 075007 ada 48,dl " '0' aa 000277 700010 724111 lxl4 sb|8,x1 aa 000300 700003 765111 lprplb sb|3,x1 " v aa 000301 500000 755114 sta lb|0,x4 aa 000302 000004 235007 170 lda 4,dl " 4 aa 000303 700004 055111 asa sb|4,x1 " j aa 000304 000042 710004 171 tra L38 L30: " Begin switchon aa 000305 700006 235111 lda sb|6,x1 " c aa 000306 000043 773000 lrl 35 aa 000307 000007 507007 dvf 7,dl " hash table size 0a 000310 000322 115006 cmpa L39,ql aa 000311 777711 601004 tnz L36 0a 000312 000313 710006 tra L40,ql L40: aa 000313 777703 710004 tra L34 aa 000314 777674 710004 tra L31 aa 000315 777677 710004 tra L33 aa 000316 777674 710004 tra L32 aa 000317 777703 710004 tra L36 aa 000320 777702 710004 tra L36 aa 000321 777677 710004 tra L35 L39: aa 000322 000000 000006 zero 0,6 aa 000323 000000 000001 zero 0,1 aa 000324 000000 000001 zero 0,1 aa 000325 000000 000001 zero 0,1 aa 000326 000000 000000 zero 0 aa 000327 000000 000000 zero 0 aa 000330 000000 000004 zero 0,4 L29: L28: aa 000331 700007 756111 stq sb|7,x1 aa 000332 700007 236111 ldq sb|7,x1 aa 000333 700006 756111 stq sb|6,x1 " c aa 000334 000052 236007 173 ldq 42,dl " '**' aa 000335 700004 725111 lxl5 sb|4,x1 " j aa 000336 700003 762111 lprpbp sb|3,x1 " v aa 000337 200000 756115 stq bp|0,x5 aa 000340 700004 236111 174 ldq sb|4,x1 " j aa 000341 000001 076007 adq 1,dl " 1 aa 000342 700006 235111 lda sb|6,x1 " c aa 000343 700003 760111 lprpap sb|3,x1 " v aa 000344 000000 755106 sta ap|0,ql aa 000345 700004 054111 175 aos sb|4,x1 " j L38: aa 000346 700005 054111 176 aos sb|5,x1 " i L26: aa 000347 700005 236111 ldq sb|5,x1 " i aa 000350 000177 116007 cmpq 127,dl " 127 aa 000351 777631 604404 tmoz L27 aa 000352 700004 235111 178 lda sb|4,x1 " j aa 000353 700003 761111 lprpab sb|3,x1 " v aa 000354 100000 755100 sta ab|0 L25: aa 000355 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000356 200000 121100 sblx1 bp|0 aa 000357 700001 764111 lprplp sb|1,x1 aa 000360 200001 710100 tra bp|1 " end of return sequence " Begin text of SetCtable aa 000361 000011 123145 zero 9,42597 " SetCtable aa 000362 164103 164141 zero 59459,59489 aa 000363 142154 145000 zero 50284,51712 L21: aa 000364 000000 213000 137 epaq 0 " set lp to linkage section aa 000365 700026 764161 lprplp sb|22,*au aa 000366 200000 021100 adlx1 bp|0 " BCPL save aa 000367 700000 542111 sprpbp sb|0,x1 aa 000370 700001 544111 sprplp sb|1,x1 aa 000371 701035 620111 eax0 sb|541,x1 aa 000372 777760 360003 anx0 -16,du aa 000373 700025 740100 stx0 sb|21 " end of save sequence aa 000374 700006 353511 138 eapbb sb|6,x1 " a vector aa 000375 700004 543111 sprpbb sb|4,x1 " w aa 000376 700003 235111 139 lda sb|3,x1 " Value aa 000377 701014 755111 sta sb|524,x1 aa 000400 700004 235111 lda sb|4,x1 " w aa 000401 701015 755111 sta sb|525,x1 4a 000402 400042 272120 tsbbp lp|L44,* " Unpackstring aa 000403 001012 000002 zero 522,2 aa 000404 700004 763111 140 lprpbb sb|4,x1 " w aa 000405 300000 235100 lda bb|0 aa 000406 700005 755111 sta sb|5,x1 " l aa 000407 700005 235111 141 lda sb|5,x1 " l aa 000410 000200 115007 cmpa 128,dl " 128 aa 000411 000003 604404 tmoz L45 aa 000412 000200 236007 ldq 128,dl " 128 aa 000413 700005 756111 stq sb|5,x1 " l L45: aa 000414 000006 710004 142 tra L46 L47: aa 000415 700005 054111 143 aos sb|5,x1 " l aa 000416 000040 236007 144 ldq 32,dl " '*s' aa 000417 700005 726111 lxl6 sb|5,x1 " l aa 000420 700004 765111 lprplb sb|4,x1 " w aa 000421 500000 756116 stq lb|0,x6 L46: aa 000422 700005 236111 ldq sb|5,x1 " l aa 000423 000200 116007 cmpq 128,dl " 128 aa 000424 777771 604004 tmi L47 aa 000425 701007 450111 146 stz sb|519,x1 " i aa 000426 000011 710004 tra L48 L49: aa 000427 701007 235111 lda sb|519,x1 " i aa 000430 000001 075007 ada 1,dl " 1 aa 000431 700004 762111 lprpbp sb|4,x1 " w aa 000432 200000 236105 ldq bp|0,al aa 000433 701007 722111 lxl2 sb|519,x1 " i aa 000434 700002 760111 lprpap sb|2,x1 " Table aa 000435 000000 756112 stq ap|0,x2 aa 000436 701007 054111 aos sb|519,x1 " i L48: aa 000437 701007 236111 ldq sb|519,x1 " i aa 000440 000177 116007 cmpq 127,dl " 127 aa 000441 777766 604404 tmoz L49 aa 000442 700003 235111 147 lda sb|3,x1 " Value aa 000443 701014 755111 sta sb|524,x1 4a 000444 400040 272120 tsbbp lp|L50,* " Freevec aa 000445 001012 000001 zero 522,1 L43: aa 000446 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000447 200000 121100 sblx1 bp|0 aa 000450 700001 764111 lprplp sb|1,x1 aa 000451 200001 710100 tra bp|1 " end of return sequence " Begin text of SetSymbol aa 000452 000011 123145 zero 9,42597 " SetSymbol aa 000453 164123 171155 zero 59475,62061 aa 000454 142157 154000 zero 50287,55296 L20: aa 000455 000000 213000 101 epaq 0 " set lp to linkage section aa 000456 700026 764161 lprplp sb|22,*au aa 000457 200000 021100 adlx1 bp|0 " BCPL save aa 000460 700000 542111 sprpbp sb|0,x1 aa 000461 700001 544111 sprplp sb|1,x1 aa 000462 700423 620111 eax0 sb|275,x1 aa 000463 777760 360003 anx0 -16,du aa 000464 700025 740100 stx0 sb|21 " end of save sequence aa 000465 700002 235111 102 lda sb|2,x1 " Name aa 000466 700016 755111 sta sb|14,x1 aa 000467 000001 335007 lca 1,dl " true aa 000470 700017 755111 sta sb|15,x1 aa 000471 777315 272004 tsbbp L1+2 " Tree_search aa 000472 000014 000002 zero 12,2 aa 000473 700005 756111 stq sb|5,x1 " P aa 000474 700005 761111 103 lprpab sb|5,x1 " P aa 000475 100001 236100 ldq ab|1 aa 000476 700007 756111 stq sb|7,x1 " Flags aa 000477 700005 763111 lprpbb sb|5,x1 " P aa 000500 300000 353500 eapbb bb|0 aa 000501 700006 543111 sprpbb sb|6,x1 " OldValue aa 000502 700007 236111 104 ldq sb|7,x1 " Flags aa 000503 000010 376007 anq 8,dl " BUILTIN aa 000504 000132 600004 tze L55 aa 000505 700007 236111 ldq sb|7,x1 " Flags aa 000506 000040 376007 anq 32,dl " READ_ONLY aa 000507 000127 601004 tnz L55 aa 000510 700006 763111 105 lprpbb sb|6,x1 " OldValue aa 000511 300000 236100 ldq bb|0 aa 000512 700006 756111 stq sb|6,x1 " OldValue aa 000513 700007 236111 106 ldq sb|7,x1 " Flags aa 000514 000100 376007 anq 64,dl " RELOCATE aa 000515 000005 600004 tze L56 aa 000516 600000 371500 eaplb sp|0 " Global aa 000517 600000 545100 sprplb sp|0 aa 000520 600000 236100 ldq sp|0 " Global aa 000521 700006 056111 asq sb|6,x1 " OldValue L56: aa 000522 000102 710004 108 tra L58 L59: aa 000523 700003 236111 110 ldq sb|3,x1 " Type aa 000524 000001 116007 cmpq 1,dl " NUMBER aa 000525 000121 601004 tnz L51 aa 000526 700004 235111 111 lda sb|4,x1 " Value aa 000527 700006 765111 lprplb sb|6,x1 " OldValue aa 000530 500000 755100 sta lb|0 " OldValue aa 000531 700007 235111 112 lda sb|7,x1 " Flags aa 000532 000020 375007 ana 16,dl " SETS_PRINT aa 000533 000027 600004 tze L60 aa 000534 600273 235100 lda sp|187 " Passes aa 000535 000001 115007 cmpa 1,dl " 1 aa 000536 000003 605404 tpnz L61 aa 000537 000001 336007 lcq 1,dl " true aa 000540 000002 710004 tra L62 L61: aa 000541 000000 236007 ldq 0,dl " false L62: aa 000542 700011 756111 stq sb|9,x1 aa 000543 700011 236111 ldq sb|9,x1 aa 000544 600214 235100 lda sp|140 " Fp aa 000545 600260 115100 cmpa sp|176 " Np aa 000546 000007 605404 tpnz L63 aa 000547 700010 756111 stq sb|8,x1 " temporary aa 000550 600260 236100 ldq sp|176 " Np aa 000551 600235 116100 cmpq sp|157 " Lp aa 000552 000003 605404 tpnz L63 aa 000553 000001 335007 lca 1,dl " true aa 000554 000002 710004 tra L64 L63: aa 000555 000000 235007 lda 0,dl " false L64: aa 000556 700013 755111 sta sb|11,x1 aa 000557 700013 235111 lda sb|11,x1 aa 000560 700010 375111 ana sb|8,x1 aa 000561 600300 755100 sta sp|192 " Print L60: aa 000562 000072 710004 115 tra L54 L65: aa 000563 700003 235111 116 lda sb|3,x1 " Type aa 000564 000002 115007 cmpa 2,dl " STRING aa 000565 000061 601004 tnz L51 aa 000566 700006 762111 117 lprpbp sb|6,x1 " OldValue aa 000567 200000 236100 ldq bp|0 aa 000570 700016 756111 stq sb|14,x1 4a 000571 400040 272120 tsbbp lp|L50,* " Freevec aa 000572 000014 000001 zero 12,1 aa 000573 700004 236111 118 ldq sb|4,x1 " Value aa 000574 700006 760111 lprpap sb|6,x1 " OldValue aa 000575 000000 756100 stq ap|0 " OldValue aa 000576 000056 710004 121 tra L54 L66: aa 000577 700003 236111 122 ldq sb|3,x1 " Type aa 000600 000002 116007 cmpq 2,dl " STRING aa 000601 000045 601004 tnz L51 aa 000602 700006 235111 123 lda sb|6,x1 " OldValue aa 000603 700016 755111 sta sb|14,x1 aa 000604 700004 235111 lda sb|4,x1 " Value aa 000605 700017 755111 sta sb|15,x1 aa 000606 777560 272004 tsbbp L21+2 " SetCtable aa 000607 000014 000002 zero 12,2 aa 000610 000044 710004 126 tra L54 L67: aa 000611 700003 235111 127 lda sb|3,x1 " Type aa 000612 000001 115007 cmpa 1,dl " NUMBER aa 000613 000033 601004 tnz L51 aa 000614 700004 236111 128 ldq sb|4,x1 " Value aa 000615 700016 756111 stq sb|14,x1 aa 000616 000001 336007 lcq 1,dl " true aa 000617 700017 756111 stq sb|15,x1 aa 000620 700006 761111 lprpab sb|6,x1 " OldValue aa 000621 100000 272100 tsbbp ab|0 " OldValue aa 000622 000014 000002 zero 12,2 aa 000623 000031 710004 129 tra L54 L58: aa 000624 700007 236111 ldq sb|7,x1 " Flags aa 000625 000007 376007 anq 7,dl " 7 " Begin switchon aa 000626 000044 777000 llr 36 " exchange A and Q 0a 000627 000630 710005 tra L68-1,al aa 000630 700010 755111 sta sb|8,x1 " temporary L68: aa 000631 777672 710004 tra L59 aa 000632 777731 710004 tra L65 aa 000633 777744 710004 tra L66 aa 000634 777755 710004 tra L67 aa 000635 777666 710004 tra L59 L57: L55: aa 000636 700007 235111 133 lda sb|7,x1 " Flags aa 000637 000002 115007 cmpa 2,dl " STRING aa 000640 000006 601004 tnz L69 aa 000641 700005 763111 lprpbb sb|5,x1 " P aa 000642 300000 236100 ldq bb|0 aa 000643 700016 756111 stq sb|14,x1 4a 000644 400040 272120 tsbbp lp|L50,* " Freevec aa 000645 000014 000001 zero 12,1 L69: L51: aa 000646 700003 236111 135 ldq sb|3,x1 " Type aa 000647 700005 765111 lprplb sb|5,x1 " P aa 000650 500001 756100 stq lb|1 aa 000651 700004 236111 ldq sb|4,x1 " Value aa 000652 700005 762111 lprpbp sb|5,x1 " P aa 000653 200000 756100 stq bp|0 L54: aa 000654 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000655 200000 121100 sblx1 bp|0 aa 000656 700001 764111 lprplp sb|1,x1 aa 000657 200001 710100 tra bp|1 " end of return sequence " Begin text of GetSymbol aa 000660 000011 107145 zero 9,36453 " GetSymbol aa 000661 164123 171155 zero 59475,62061 aa 000662 142157 154000 zero 50287,55296 L19: aa 000663 000000 213000 65 epaq 0 " set lp to linkage section aa 000664 700026 764161 lprplp sb|22,*au aa 000665 200000 021100 adlx1 bp|0 " BCPL save aa 000666 700000 542111 sprpbp sb|0,x1 aa 000667 700001 544111 sprplp sb|1,x1 aa 000670 700423 620111 eax0 sb|275,x1 aa 000671 777760 360003 anx0 -16,du aa 000672 700025 740100 stx0 sb|21 " end of save sequence aa 000673 700002 236111 66 ldq sb|2,x1 " Name aa 000674 700014 756111 stq sb|12,x1 aa 000675 700015 450111 stz sb|13,x1 aa 000676 777110 272004 tsbbp L1+2 " Tree_search aa 000677 000012 000002 zero 10,2 aa 000700 700004 756111 stq sb|4,x1 " P aa 000701 700004 234111 67 szn sb|4,x1 " P aa 000702 000004 601004 tnz L73 aa 000703 700003 760111 68 lprpap sb|3,x1 " Space aa 000704 000000 450100 stz ap|0 aa 000705 000113 710004 69 tra L72 L73: aa 000706 700004 761111 72 lprpab sb|4,x1 " P aa 000707 100001 236100 ldq ab|1 aa 000710 700005 756111 stq sb|5,x1 " Flags aa 000711 700004 763111 lprpbb sb|4,x1 " P aa 000712 300000 353500 eapbb bb|0 aa 000713 700006 543111 sprpbb sb|6,x1 " Value aa 000714 700005 236111 73 ldq sb|5,x1 " Flags aa 000715 000010 376007 anq 8,dl " BUILTIN aa 000716 000013 600004 tze L74 aa 000717 700006 763111 74 lprpbb sb|6,x1 " Value aa 000720 300000 236100 ldq bb|0 aa 000721 700006 756111 stq sb|6,x1 " Value aa 000722 700005 236111 75 ldq sb|5,x1 " Flags aa 000723 000100 376007 anq 64,dl " RELOCATE aa 000724 000005 600004 tze L75 aa 000725 600000 371500 eaplb sp|0 " Global aa 000726 600000 545100 sprplb sp|0 aa 000727 600000 236100 ldq sp|0 " Global aa 000730 700006 056111 asq sb|6,x1 " Value L75: L74: aa 000731 000055 710004 78 tra L77 L78: aa 000732 700006 765111 79 lprplb sb|6,x1 " Value aa 000733 500000 236100 ldq lb|0 aa 000734 700014 756111 stq sb|12,x1 aa 000735 700003 236111 ldq sb|3,x1 " Space aa 000736 700015 756111 stq sb|13,x1 4a 000737 400036 272120 tsbbp lp|L79,* " StoreArabic aa 000740 000012 000002 zero 10,2 aa 000741 000057 710004 82 tra L72 L80: aa 000742 700006 762111 83 lprpbp sb|6,x1 " Value aa 000743 200000 236100 ldq bp|0 aa 000744 700014 756111 stq sb|12,x1 aa 000745 700003 236111 ldq sb|3,x1 " Space aa 000746 700015 756111 stq sb|13,x1 4a 000747 400042 272120 tsbbp lp|L44,* " Unpackstring aa 000750 000012 000002 zero 10,2 aa 000751 000047 710004 86 tra L72 L81: aa 000752 700003 236111 87 ldq sb|3,x1 " Space aa 000753 700014 756111 stq sb|12,x1 aa 000754 700015 450111 stz sb|13,x1 aa 000755 700006 760111 lprpap sb|6,x1 " Value aa 000756 000000 272100 tsbbp ap|0 " Value aa 000757 000012 000002 zero 10,2 aa 000760 000040 710004 90 tra L72 L82: aa 000761 700006 236111 91 ldq sb|6,x1 " Value aa 000762 700014 756111 stq sb|12,x1 aa 000763 700003 236111 ldq sb|3,x1 " Space aa 000764 700015 756111 stq sb|13,x1 aa 000765 777204 272004 tsbbp L22+2 " StoreCtable aa 000766 000012 000002 zero 10,2 aa 000767 000031 710004 94 tra L72 L83: aa 000770 700006 761111 95 lprpab sb|6,x1 " Value aa 000771 100000 236100 ldq ab|0 aa 000772 000001 076007 adq 1,dl " 1 aa 000773 700006 763111 lprpbb sb|6,x1 " Value aa 000774 300000 756100 stq bb|0 " Value aa 000775 700006 765111 96 lprplb sb|6,x1 " Value aa 000776 500000 236100 ldq lb|0 aa 000777 000001 176007 sbq 1,dl " 1 aa 001000 700014 756111 stq sb|12,x1 aa 001001 700003 236111 ldq sb|3,x1 " Space aa 001002 700015 756111 stq sb|13,x1 4a 001003 400036 272120 tsbbp lp|L79,* " StoreArabic aa 001004 000012 000002 zero 10,2 aa 001005 000013 710004 97 tra L72 L77: aa 001006 700005 236111 ldq sb|5,x1 " Flags aa 001007 000007 376007 anq 7,dl " 7 " Begin switchon aa 001010 000044 777000 llr 36 " exchange A and Q 0a 001011 001012 710005 tra L84-1,al aa 001012 700007 755111 sta sb|7,x1 " temporary L84: aa 001013 777717 710004 tra L78 aa 001014 777726 710004 tra L80 aa 001015 777744 710004 tra L82 aa 001016 777734 710004 tra L81 aa 001017 777751 710004 tra L83 L76: L72: aa 001020 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001021 200000 121100 sblx1 bp|0 aa 001022 700001 764111 lprplp sb|1,x1 aa 001023 200001 710100 tra bp|1 " end of return sequence " Begin text of Set_ref aa 001024 000007 123145 zero 7,42597 " Set_ref aa 001025 164137 162145 zero 59487,58469 aa 001026 146000 000000 zero 52224 L86: aa 001027 000000 213000 194 epaq 0 " set lp to linkage section aa 001030 700026 764161 lprplp sb|22,*au aa 001031 200000 021100 adlx1 bp|0 " BCPL save aa 001032 700000 542111 sprpbp sb|0,x1 aa 001033 700001 544111 sprplp sb|1,x1 aa 001034 700422 620111 eax0 sb|274,x1 aa 001035 777760 360003 anx0 -16,du aa 001036 700025 740100 stx0 sb|21 " end of save sequence aa 001037 700004 352111 195 eapbp sb|4,x1 " a vector aa 001040 700002 542111 sprpbp sb|2,x1 " v aa 001041 700002 235111 196 lda sb|2,x1 " v aa 001042 700154 755111 sta sb|108,x1 4a 001043 400034 272120 tsbbp lp|L92,* " ReadName aa 001044 000152 000001 zero 106,1 aa 001045 000000 116007 cmpq 0,dl aa 001046 000005 600004 tze L91 aa 001047 700002 236111 197 ldq sb|2,x1 " v aa 001050 700154 756111 stq sb|108,x1 aa 001051 000370 272004 tsbbp L85+2 " UpdateSymbol aa 001052 000152 000001 zero 106,1 L91: aa 001053 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001054 200000 121100 sblx1 bp|0 aa 001055 700001 764111 lprplp sb|1,x1 aa 001056 200001 710100 tra bp|1 " end of return sequence " Begin text of Use_ref aa 001057 000007 125163 zero 7,43635 " Use_ref aa 001060 145137 162145 zero 51807,58469 aa 001061 146000 000000 zero 52224 L87: aa 001062 000000 213000 200 epaq 0 " set lp to linkage section aa 001063 700026 764161 lprplp sb|22,*au aa 001064 200000 021100 adlx1 bp|0 " BCPL save aa 001065 700000 542111 sprpbp sb|0,x1 aa 001066 700001 544111 sprplp sb|1,x1 aa 001067 702327 620111 eax0 sb|1239,x1 aa 001070 777760 360003 anx0 -16,du aa 001071 700025 740100 stx0 sb|21 " end of save sequence aa 001072 700007 450111 201 stz sb|7,x1 " Ini aa 001073 700006 450111 stz sb|6,x1 " Outi aa 001074 700012 352111 202 eapbp sb|10,x1 " a vector aa 001075 700010 542111 sprpbp sb|8,x1 " v aa 001076 000215 710004 203 tra L97 L98: aa 001077 700007 054111 204 aos sb|7,x1 " Ini aa 001100 700007 723111 205 lxl3 sb|7,x1 " Ini aa 001101 700002 762111 lprpbp sb|2,x1 " In aa 001102 200000 236113 ldq bp|0,x3 aa 001103 600311 116100 cmpq sp|201 " Spec_char aa 001104 000011 600004 tze L99 aa 001105 700006 054111 206 aos sb|6,x1 " Outi aa 001106 700007 724111 207 lxl4 sb|7,x1 " Ini aa 001107 700002 760111 lprpap sb|2,x1 " In aa 001110 000000 235114 lda ap|0,x4 aa 001111 700006 725111 lxl5 sb|6,x1 " Outi aa 001112 700003 761111 lprpab sb|3,x1 " Out aa 001113 100000 755115 sta ab|0,x5 aa 001114 000177 710004 208 tra L97 L99: aa 001115 700007 235111 210 lda sb|7,x1 " Ini aa 001116 000001 075007 ada 1,dl " 1 aa 001117 700002 763111 lprpbb sb|2,x1 " In aa 001120 300000 236105 ldq bb|0,al aa 001121 600311 116100 cmpq sp|201 " Spec_char aa 001122 000010 601004 tnz L100 aa 001123 700007 054111 211 aos sb|7,x1 " Ini aa 001124 700006 054111 212 aos sb|6,x1 " Outi aa 001125 600311 235100 213 lda sp|201 " Spec_char aa 001126 700006 726111 lxl6 sb|6,x1 " Outi aa 001127 700003 765111 lprplb sb|3,x1 " Out aa 001130 500000 755116 sta lb|0,x6 aa 001131 000162 710004 214 tra L97 L100: aa 001132 700007 235111 216 lda sb|7,x1 " Ini aa 001133 000001 075007 ada 1,dl " 1 aa 001134 700011 755111 sta sb|9,x1 " i aa 001135 700004 235111 lda sb|4,x1 " Inl aa 001136 701453 755111 sta sb|811,x1 aa 001137 000106 710004 tra L101 L102: aa 001140 700011 722111 217 lxl2 sb|9,x1 " i aa 001141 700002 762111 lprpbp sb|2,x1 " In aa 001142 200000 235112 lda bp|0,x2 aa 001143 701454 755111 sta sb|812,x1 " c aa 001144 701454 235111 218 lda sb|812,x1 " c aa 001145 600311 115100 cmpa sp|201 " Spec_char aa 001146 000051 601004 tnz L103 aa 001147 701456 350111 219 eapap sb|814,x1 " a vector aa 001150 701455 540111 sprpap sb|813,x1 " w aa 001151 000001 236007 220 ldq 1,dl " 1 aa 001152 702277 756111 stq sb|1215,x1 " j aa 001153 700011 236111 ldq sb|9,x1 " i aa 001154 700007 176111 sbq sb|7,x1 " Ini aa 001155 000001 176007 sbq 1,dl " 1 aa 001156 702300 756111 stq sb|1216,x1 aa 001157 000011 710004 tra L104 L105: aa 001160 700007 236111 ldq sb|7,x1 " Ini aa 001161 702277 076111 adq sb|1215,x1 " j aa 001162 700002 760111 lprpap sb|2,x1 " In aa 001163 000000 235106 lda ap|0,ql aa 001164 702277 723111 lxl3 sb|1215,x1 " j aa 001165 700010 761111 lprpab sb|8,x1 " v aa 001166 100000 755113 sta ab|0,x3 aa 001167 702277 054111 aos sb|1215,x1 " j L104: aa 001170 702277 236111 ldq sb|1215,x1 " j aa 001171 702300 116111 cmpq sb|1216,x1 aa 001172 777766 604404 tmoz L105 aa 001173 700011 235111 221 lda sb|9,x1 " i aa 001174 700007 175111 sba sb|7,x1 " Ini aa 001175 000001 175007 sba 1,dl " 1 aa 001176 700010 763111 lprpbb sb|8,x1 " v aa 001177 300000 755100 sta bb|0 aa 001200 700010 235111 222 lda sb|8,x1 " v aa 001201 702306 755111 sta sb|1222,x1 aa 001202 701455 235111 lda sb|813,x1 " w aa 001203 702307 755111 sta sb|1223,x1 4a 001204 400032 272120 tsbbp lp|L106,* " Packstring aa 001205 002304 000002 zero 1220,2 aa 001206 701455 235111 223 lda sb|813,x1 " w aa 001207 702306 755111 sta sb|1222,x1 aa 001210 700010 235111 lda sb|8,x1 " v aa 001211 702307 755111 sta sb|1223,x1 aa 001212 777453 272004 tsbbp L19+2 " GetSymbol aa 001213 002304 000002 zero 1220,2 aa 001214 700011 235111 224 lda sb|9,x1 " i aa 001215 700007 755111 sta sb|7,x1 " Ini aa 001216 000051 710004 225 tra L93 L103: aa 001217 000141 235007 227 lda 97,dl " 'a' aa 001220 701454 115111 cmpa sb|812,x1 " c aa 001221 000004 605404 tpnz L109 aa 001222 701454 236111 ldq sb|812,x1 " c aa 001223 000172 116007 cmpq 122,dl " 'z' aa 001224 000020 604404 tmoz L108 L109: aa 001225 000101 235007 lda 65,dl " 'A' aa 001226 701454 115111 cmpa sb|812,x1 " c aa 001227 000004 605404 tpnz L110 aa 001230 701454 236111 ldq sb|812,x1 " c aa 001231 000132 116007 cmpq 90,dl " 'Z' aa 001232 000012 604404 tmoz L108 L110: aa 001233 000060 235007 lda 48,dl " '0' aa 001234 701454 115111 cmpa sb|812,x1 " c aa 001235 000004 605404 tpnz L111 aa 001236 701454 236111 ldq sb|812,x1 " c aa 001237 000071 116007 cmpq 57,dl " '9' aa 001240 000004 604404 tmoz L108 L111: aa 001241 701454 235111 lda sb|812,x1 " c aa 001242 000137 115007 cmpa 95,dl " '_' aa 001243 000005 601004 tnz L107 L108: aa 001244 700011 054111 aos sb|9,x1 " i L101: aa 001245 700011 236111 ldq sb|9,x1 " i aa 001246 701453 116111 cmpq sb|811,x1 aa 001247 777671 604404 tmoz L102 L107: aa 001250 600260 235100 229 lda sp|176 " Np aa 001251 702306 755111 sta sb|1222,x1 aa 001252 700010 235111 lda sb|8,x1 " v aa 001253 702307 755111 sta sb|1223,x1 aa 001254 600304 234100 szn sp|196 " Roman aa 001255 000003 600004 tze L112 4a 001256 400030 371520 eaplb lp|L114,* " StoreRoman aa 001257 000002 710004 tra L113 L112: 4a 001260 400036 371520 eaplb lp|L79,* " StoreArabic L113: aa 001261 700011 545111 sprplb sb|9,x1 aa 001262 700011 235111 lda sb|9,x1 aa 001263 600000 755100 sta sp|0 aa 001264 600000 765100 lprplb sp|0 aa 001265 500000 272100 tsbbp lb|0 aa 001266 002304 000002 zero 1220,2 L93: aa 001267 000001 235007 230 lda 1,dl " 1 aa 001270 701453 755111 sta sb|811,x1 " i aa 001271 700010 762111 lprpbp sb|8,x1 " v aa 001272 200000 235100 lda bp|0 aa 001273 700011 755111 sta sb|9,x1 aa 001274 000011 710004 tra L115 L116: aa 001275 700006 235111 lda sb|6,x1 " Outi aa 001276 701453 075111 ada sb|811,x1 " i aa 001277 701453 724111 lxl4 sb|811,x1 " i aa 001300 700010 760111 lprpap sb|8,x1 " v aa 001301 000000 236114 ldq ap|0,x4 aa 001302 700003 761111 lprpab sb|3,x1 " Out aa 001303 100000 756105 stq ab|0,al aa 001304 701453 054111 aos sb|811,x1 " i L115: aa 001305 701453 236111 ldq sb|811,x1 " i aa 001306 700011 116111 cmpq sb|9,x1 aa 001307 777766 604404 tmoz L116 aa 001310 700010 763111 231 lprpbb sb|8,x1 " v aa 001311 300000 235100 lda bb|0 aa 001312 700006 055111 asa sb|6,x1 " Outi L97: aa 001313 700007 235111 lda sb|7,x1 " Ini aa 001314 700004 115111 cmpa sb|4,x1 " Inl aa 001315 000004 605004 tpl L117 aa 001316 700006 236111 ldq sb|6,x1 " Outi aa 001317 000620 116007 cmpq 400,dl " Maxline aa 001320 777557 604004 tmi L98 L117: aa 001321 700006 235111 233 lda sb|6,x1 " Outi L96: aa 001322 700006 755111 sta sb|6,x1 aa 001323 700006 235111 lda sb|6,x1 aa 001324 000044 777000 llr 36 " exchange A and Q aa 001325 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001326 200000 121100 sblx1 bp|0 aa 001327 700001 764111 lprplp sb|1,x1 aa 001330 200001 710100 tra bp|1 " end of return sequence " Begin text of Check_ref aa 001331 000011 103150 zero 9,34408 " Check_ref aa 001332 145143 153137 zero 51811,54879 aa 001333 162145 146000 zero 58469,52224 aa 001334 700005 756111 237 stq sb|5,x1 " temporary L88: aa 001335 000000 213000 epaq 0 " set lp to linkage section aa 001336 700026 764161 lprplp sb|22,*au aa 001337 200000 021100 adlx1 bp|0 " BCPL save aa 001340 700000 542111 sprpbp sb|0,x1 aa 001341 700001 544111 sprplp sb|1,x1 aa 001342 700662 620111 eax0 sb|434,x1 aa 001343 777760 360003 anx0 -16,du aa 001344 700025 740100 stx0 sb|21 " end of save sequence aa 001345 600264 725100 238 lxl5 sp|180 " Nrx aa 001346 600303 765100 lprplb sp|195 " Rawchar aa 001347 500000 236115 ldq lb|0,x5 aa 001350 600311 116100 cmpq sp|201 " Spec_char aa 001351 000007 600004 tze L121 aa 001352 600264 235100 lda sp|180 " Nrx aa 001353 000001 075007 ada 1,dl " 1 aa 001354 600303 762100 lprpbp sp|195 " Rawchar aa 001355 200000 236105 ldq bp|0,al aa 001356 600311 116100 cmpq sp|201 " Spec_char aa 001357 000050 601004 tnz L120 L121: aa 001360 700004 350111 239 eapap sb|4,x1 " a vector aa 001361 700002 540111 sprpap sb|2,x1 " w aa 001362 000001 235007 240 lda 1,dl " 1 aa 001363 700003 755111 sta sb|3,x1 " i aa 001364 600261 235100 lda sp|177 " Nr aa 001365 700625 755111 sta sb|405,x1 aa 001366 000010 710004 tra L122 L123: aa 001367 700003 726111 lxl6 sb|3,x1 " i aa 001370 600303 760100 lprpap sp|195 " Rawchar aa 001371 000000 235116 lda ap|0,x6 aa 001372 700003 722111 lxl2 sb|3,x1 " i aa 001373 700002 761111 lprpab sb|2,x1 " w aa 001374 100000 755112 sta ab|0,x2 aa 001375 700003 054111 aos sb|3,x1 " i L122: aa 001376 700003 235111 lda sb|3,x1 " i aa 001377 700625 115111 cmpa sb|405,x1 aa 001400 777767 604404 tmoz L123 aa 001401 600304 236100 241 ldq sp|196 " Roman aa 001402 700003 756111 stq sb|3,x1 " OldRoman aa 001403 600304 450100 242 stz sp|196 " Roman aa 001404 700002 236111 243 ldq sb|2,x1 " w aa 001405 600264 076100 adq sp|180 " Nrx aa 001406 000001 176007 sbq 1,dl " 1 aa 001407 700640 756111 stq sb|416,x1 aa 001410 600303 236100 ldq sp|195 " Rawchar aa 001411 600264 076100 adq sp|180 " Nrx aa 001412 000001 176007 sbq 1,dl " 1 aa 001413 700641 756111 stq sb|417,x1 aa 001414 600261 236100 ldq sp|177 " Nr aa 001415 600264 176100 sbq sp|180 " Nrx aa 001416 000001 076007 adq 1,dl " 1 aa 001417 700642 756111 stq sb|418,x1 aa 001420 777444 272004 tsbbp L87+2 " Use_ref aa 001421 000636 000003 zero 414,3 aa 001422 600264 076100 adq sp|180 " Nrx aa 001423 000001 176007 sbq 1,dl " 1 aa 001424 600261 756100 stq sp|177 " Nr aa 001425 700003 236111 244 ldq sb|3,x1 " OldRoman aa 001426 600304 756100 stq sp|196 " Roman L120: aa 001427 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001430 200000 121100 sblx1 bp|0 aa 001431 700001 764111 lprplp sb|1,x1 aa 001432 200001 710100 tra bp|1 " end of return sequence " Begin text of UpdateSymbol aa 001433 000014 125160 zero 12,43632 " UpdateSymbol aa 001434 144141 164145 zero 51297,59493 aa 001435 123171 155142 zero 42617,55906 aa 001436 157154 000000 zero 56940 L85: aa 001437 000000 213000 181 epaq 0 " set lp to linkage section aa 001440 700026 764161 lprplp sb|22,*au aa 001441 200000 021100 adlx1 bp|0 " BCPL save aa 001442 700000 542111 sprpbp sb|0,x1 aa 001443 700001 544111 sprplp sb|1,x1 aa 001444 700654 620111 eax0 sb|428,x1 aa 001445 777760 360003 anx0 -16,du aa 001446 700025 740100 stx0 sb|21 " end of save sequence aa 001447 777670 272004 182 tsbbp L88+2 " Check_ref aa 001450 000630 000000 zero 408 aa 001451 700004 450111 183 stz sb|4,x1 " Value aa 001452 700003 450111 stz sb|3,x1 " Type aa 001453 600264 723100 184 lxl3 sp|180 " Nrx aa 001454 600303 763100 lprpbb sp|195 " Rawchar aa 001455 300000 236113 ldq bb|0,x3 aa 001456 000042 116007 cmpq 34,dl " '"' aa 001457 000007 601004 tnz L127 aa 001460 000002 235007 185 lda 2,dl " STRING aa 001461 700003 755111 sta sb|3,x1 " Type 4a 001462 400026 272120 tsbbp lp|L129,* " GetString aa 001463 000630 000000 zero 408 aa 001464 700004 756111 stq sb|4,x1 " Value aa 001465 000025 710004 tra L128 L127: aa 001466 700006 371511 186 eaplb sb|6,x1 " a vector aa 001467 700005 545111 sprplb sb|5,x1 " v aa 001470 600171 450100 187 stz sp|121 " ExpError aa 001471 000001 236007 188 ldq 1,dl " NUMBER aa 001472 700003 756111 stq sb|3,x1 " Type aa 001473 700632 450111 stz sb|410,x1 aa 001474 700005 236111 ldq sb|5,x1 " v aa 001475 700633 756111 stq sb|411,x1 4a 001476 400024 272120 tsbbp lp|L130,* " ReadExp aa 001477 000630 000002 zero 408,2 aa 001500 700004 756111 stq sb|4,x1 " Value aa 001501 600171 234100 189 szn sp|121 " ExpError aa 001502 000004 601004 tnz L132 aa 001503 600264 236100 ldq sp|180 " Nrx aa 001504 600261 116100 cmpq sp|177 " Nr aa 001505 000005 605004 tpl L131 L132: aa 001506 000020 371404 eaplb L133 " "Malformed expression" aa 001507 700632 545111 sprplb sb|410,x1 4a 001510 400022 272120 tsbbp lp|L134,* " Report aa 001511 000630 000001 zero 408,1 L131: L128: aa 001512 700002 235111 191 lda sb|2,x1 " Name aa 001513 700632 755111 sta sb|410,x1 aa 001514 700003 235111 lda sb|3,x1 " Type aa 001515 700633 755111 sta sb|411,x1 aa 001516 700004 235111 lda sb|4,x1 " Value aa 001517 700634 755111 sta sb|412,x1 aa 001520 776737 272004 tsbbp L20+2 " SetSymbol aa 001521 000630 000003 zero 408,3 L126: aa 001522 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001523 200000 121100 sblx1 bp|0 aa 001524 700001 764111 lprplp sb|1,x1 aa 001525 200001 710100 tra bp|1 " end of return sequence " Literal pool L133: aa 001526 000024 115141 zero 20,39521 " "Malformed expression" aa 001527 154146 157162 zero 55398,56946 aa 001530 155145 144040 zero 55909,51232 aa 001531 145170 160162 zero 51832,57458 aa 001532 145163 163151 zero 51827,58985 aa 001533 157156 000000 zero 56942 " Begin text of Define aa 001534 000006 104145 zero 6,34917 " Define aa 001535 146151 156145 zero 52329,56421 L136: aa 001536 000000 213000 317 epaq 0 " set lp to linkage section aa 001537 700026 764161 lprplp sb|22,*au aa 001540 200000 021100 adlx1 bp|0 " BCPL save aa 001541 700000 542111 sprpbp sb|0,x1 aa 001542 700001 544111 sprplp sb|1,x1 aa 001543 700423 620111 eax0 sb|275,x1 aa 001544 777760 360003 anx0 -16,du aa 001545 700025 740100 stx0 sb|21 " end of save sequence aa 001546 700002 235111 318 lda sb|2,x1 " Name aa 001547 700012 755111 sta sb|10,x1 aa 001550 000001 335007 lca 1,dl " true aa 001551 700013 755111 sta sb|11,x1 aa 001552 776234 272004 tsbbp L1+2 " Tree_search aa 001553 000010 000002 zero 8,2 aa 001554 700005 756111 stq sb|5,x1 " P aa 001555 700004 236111 319 ldq sb|4,x1 " Flag aa 001556 000100 376007 anq 64,dl " RELOCATE aa 001557 000005 600004 tze L143 aa 001560 600000 371500 eaplb sp|0 " Global aa 001561 600000 545100 sprplb sp|0 aa 001562 600000 336100 lcq sp|0 " Global aa 001563 700003 056111 asq sb|3,x1 " Value L143: aa 001564 700004 236111 320 ldq sb|4,x1 " Flag aa 001565 000010 276007 orq 8,dl " BUILTIN aa 001566 700005 765111 lprplb sb|5,x1 " P aa 001567 500001 756100 stq lb|1 aa 001570 700003 236111 ldq sb|3,x1 " Value aa 001571 700005 762111 lprpbp sb|5,x1 " P aa 001572 200000 756100 stq bp|0 L142: aa 001573 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001574 200000 121100 sblx1 bp|0 aa 001575 700001 764111 lprplp sb|1,x1 aa 001576 200001 710100 tra bp|1 " end of return sequence " Begin text of DeviceFUNCTION aa 001577 000016 104145 zero 14,34917 " DeviceFUNCTION aa 001600 166151 143145 zero 60521,50789 aa 001601 106125 116103 zero 35925,40003 aa 001602 124111 117116 zero 43081,40526 L139: aa 001603 000000 213000 333 epaq 0 " set lp to linkage section aa 001604 700026 764161 lprplp sb|22,*au aa 001605 200000 021100 adlx1 bp|0 " BCPL save aa 001606 700000 542111 sprpbp sb|0,x1 aa 001607 700001 544111 sprplp sb|1,x1 aa 001610 700423 620111 eax0 sb|275,x1 aa 001611 777760 360003 anx0 -16,du aa 001612 700025 740100 stx0 sb|21 " end of save sequence aa 001613 700003 234111 334 szn sb|3,x1 " SetSw aa 001614 000006 600004 tze L147 aa 001615 700002 236111 335 ldq sb|2,x1 " Arg aa 001616 700006 756111 stq sb|6,x1 4a 001617 400020 272120 tsbbp lp|L149,* " SetDevice aa 001620 000004 000001 zero 4,1 aa 001621 000007 710004 tra L148 L147: aa 001622 600156 236100 336 ldq sp|110 " Device aa 001623 700006 756111 stq sb|6,x1 aa 001624 700002 236111 ldq sb|2,x1 " Arg aa 001625 700007 756111 stq sb|7,x1 4a 001626 400036 272120 tsbbp lp|L79,* " StoreArabic aa 001627 000004 000002 zero 4,2 L148: L146: aa 001630 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001631 200000 121100 sblx1 bp|0 aa 001632 700001 764111 lprplp sb|1,x1 aa 001633 200001 710100 tra bp|1 " end of return sequence " Begin text of CharswFUNCTION aa 001634 000016 103150 zero 14,34408 " CharswFUNCTION aa 001635 141162 163167 zero 49778,58999 aa 001636 106125 116103 zero 35925,40003 aa 001637 124111 117116 zero 43081,40526 L138: aa 001640 000000 213000 328 epaq 0 " set lp to linkage section aa 001641 700026 764161 lprplp sb|22,*au aa 001642 200000 021100 adlx1 bp|0 " BCPL save aa 001643 700000 542111 sprpbp sb|0,x1 aa 001644 700001 544111 sprplp sb|1,x1 aa 001645 700423 620111 eax0 sb|275,x1 aa 001646 777760 360003 anx0 -16,du aa 001647 700025 740100 stx0 sb|21 " end of save sequence aa 001650 700003 234111 329 szn sb|3,x1 " SetSw aa 001651 000006 600004 tze L153 aa 001652 700002 236111 330 ldq sb|2,x1 " Arg aa 001653 700006 756111 stq sb|6,x1 4a 001654 400016 272120 tsbbp lp|L155,* " SetCharsw aa 001655 000004 000001 zero 4,1 aa 001656 000007 710004 tra L154 L153: aa 001657 600151 236100 331 ldq sp|105 " Charsw aa 001660 700006 756111 stq sb|6,x1 aa 001661 700002 236111 ldq sb|2,x1 " Arg aa 001662 700007 756111 stq sb|7,x1 4a 001663 400036 272120 tsbbp lp|L79,* " StoreArabic aa 001664 000004 000002 zero 4,2 L154: L152: aa 001665 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001666 200000 121100 sblx1 bp|0 aa 001667 700001 764111 lprplp sb|1,x1 aa 001670 200001 710100 tra bp|1 " end of return sequence " Begin text of NoPagingFUNCTION aa 001671 000020 116157 zero 16,40047 " NoPagingFUNCTION aa 001672 120141 147151 zero 41057,52841 aa 001673 156147 106125 zero 56423,35925 aa 001674 116103 124111 zero 40003,43081 aa 001675 117116 000000 zero 40526 L137: aa 001676 000000 213000 323 epaq 0 " set lp to linkage section aa 001677 700026 764161 lprplp sb|22,*au aa 001700 200000 021100 adlx1 bp|0 " BCPL save aa 001701 700000 542111 sprpbp sb|0,x1 aa 001702 700001 544111 sprplp sb|1,x1 aa 001703 700423 620111 eax0 sb|275,x1 aa 001704 777760 360003 anx0 -16,du aa 001705 700025 740100 stx0 sb|21 " end of save sequence aa 001706 700003 234111 324 szn sb|3,x1 " SetSw aa 001707 000006 600004 tze L159 aa 001710 700002 236111 325 ldq sb|2,x1 " Arg aa 001711 700006 756111 stq sb|6,x1 4a 001712 400014 272120 tsbbp lp|L161,* " SetPaging aa 001713 000004 000001 zero 4,1 aa 001714 000007 710004 tra L160 L159: aa 001715 600257 236100 326 ldq sp|175 " NoPaging aa 001716 700006 756111 stq sb|6,x1 aa 001717 700002 236111 ldq sb|2,x1 " Arg aa 001720 700007 756111 stq sb|7,x1 4a 001721 400036 272120 tsbbp lp|L79,* " StoreArabic aa 001722 000004 000002 zero 4,2 L160: L158: aa 001723 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001724 200000 121100 sblx1 bp|0 aa 001725 700001 764111 lprplp sb|1,x1 aa 001726 200001 710100 tra bp|1 " end of return sequence " Begin text of InitializeSymbolTree aa 001727 000024 111156 zero 20,37486 " InitializeSymbolTree aa 001730 151164 151141 zero 53876,53857 aa 001731 154151 172145 zero 55401,62565 aa 001732 123171 155142 zero 42617,55906 aa 001733 157154 124162 zero 56940,43122 aa 001734 145145 000000 zero 51813 L135: aa 001735 000000 213000 247 epaq 0 " set lp to linkage section aa 001736 700026 764161 lprplp sb|22,*au aa 001737 200000 021100 adlx1 bp|0 " BCPL save aa 001740 700000 542111 sprpbp sb|0,x1 aa 001741 700001 544111 sprplp sb|1,x1 aa 001742 700424 620111 eax0 sb|276,x1 aa 001743 777760 360003 anx0 -16,du aa 001744 700025 740100 stx0 sb|21 " end of save sequence aa 001745 600324 450100 248 stz sp|212 " TreeRoot aa 001746 001123 350004 250 eapap L165 " "Ad" aa 001747 700004 540111 sprpap sb|4,x1 aa 001750 600144 350100 eapap sp|100 " Ad aa 001751 700005 540111 sprpap sb|5,x1 aa 001752 000101 236007 ldq 65,dl aa 001753 700006 756111 stq sb|6,x1 aa 001754 777564 272004 tsbbp L136+2 " Define aa 001755 000002 000003 zero 2,3 aa 001756 001112 350004 251 eapap L166 " "Ce" aa 001757 700004 540111 sprpap sb|4,x1 aa 001760 600146 350100 eapap sp|102 " Ce aa 001761 700005 540111 sprpap sb|5,x1 aa 001762 000101 236007 ldq 65,dl aa 001763 700006 756111 stq sb|6,x1 aa 001764 777554 272004 tsbbp L136+2 " Define aa 001765 000002 000003 zero 2,3 aa 001766 001101 350004 252 eapap L167 " "Eq" aa 001767 700004 540111 sprpap sb|4,x1 aa 001770 600162 350100 eapap sp|114 " Eq aa 001771 700005 540111 sprpap sb|5,x1 aa 001772 000101 236007 ldq 65,dl aa 001773 700006 756111 stq sb|6,x1 aa 001774 777544 272004 tsbbp L136+2 " Define aa 001775 000002 000003 zero 2,3 aa 001776 001070 350004 253 eapap L168 " "Fi" aa 001777 700004 540111 sprpap sb|4,x1 aa 002000 600175 350100 eapap sp|125 " Fi aa 002001 700005 540111 sprpap sb|5,x1 aa 002002 000101 236007 ldq 65,dl aa 002003 700006 756111 stq sb|6,x1 aa 002004 777534 272004 tsbbp L136+2 " Define aa 002005 000002 000003 zero 2,3 aa 002006 001057 350004 254 eapap L169 " "Fr" aa 002007 700004 540111 sprpap sb|4,x1 aa 002010 600215 350100 eapap sp|141 " Fr aa 002011 700005 540111 sprpap sb|5,x1 aa 002012 000101 236007 ldq 65,dl aa 002013 700006 756111 stq sb|6,x1 aa 002014 777524 272004 tsbbp L136+2 " Define aa 002015 000002 000003 zero 2,3 aa 002016 001046 350004 255 eapap L170 " "Ft" aa 002017 700004 540111 sprpap sb|4,x1 aa 002020 600217 350100 eapap sp|143 " Ft aa 002021 700005 540111 sprpap sb|5,x1 aa 002022 000101 236007 ldq 65,dl aa 002023 700006 756111 stq sb|6,x1 aa 002024 777514 272004 tsbbp L136+2 " Define aa 002025 000002 000003 zero 2,3 aa 002026 001035 350004 256 eapap L171 " "Ll" aa 002027 700004 540111 sprpap sb|4,x1 aa 002030 600234 350100 eapap sp|156 " Ll aa 002031 700005 540111 sprpap sb|5,x1 aa 002032 000101 236007 ldq 65,dl aa 002033 700006 756111 stq sb|6,x1 aa 002034 777504 272004 tsbbp L136+2 " Define aa 002035 000002 000003 zero 2,3 aa 002036 001024 350004 257 eapap L172 " "Ms" aa 002037 700004 540111 sprpap sb|4,x1 aa 002040 600244 350100 eapap sp|164 " Ms aa 002041 700005 540111 sprpap sb|5,x1 aa 002042 000101 236007 ldq 65,dl aa 002043 700006 756111 stq sb|6,x1 aa 002044 777474 272004 tsbbp L136+2 " Define aa 002045 000002 000003 zero 2,3 aa 002046 001013 350004 258 eapap L173 " "Nl" aa 002047 700004 540111 sprpap sb|4,x1 aa 002050 600252 350100 eapap sp|170 " Nl aa 002051 700005 540111 sprpap sb|5,x1 aa 002052 000101 236007 ldq 65,dl aa 002053 700006 756111 stq sb|6,x1 aa 002054 777464 272004 tsbbp L136+2 " Define aa 002055 000002 000003 zero 2,3 aa 002056 001002 350004 259 eapap L174 " "Pi" aa 002057 700004 540111 sprpap sb|4,x1 aa 002060 600276 350100 eapap sp|190 " Pi aa 002061 700005 540111 sprpap sb|5,x1 aa 002062 000101 236007 ldq 65,dl aa 002063 700006 756111 stq sb|6,x1 aa 002064 777454 272004 tsbbp L136+2 " Define aa 002065 000002 000003 zero 2,3 aa 002066 000771 350004 260 eapap L175 " "Pl" aa 002067 700004 540111 sprpap sb|4,x1 aa 002070 600277 350100 eapap sp|191 " Pl aa 002071 700005 540111 sprpap sb|5,x1 aa 002072 000101 236007 ldq 65,dl aa 002073 700006 756111 stq sb|6,x1 aa 002074 777444 272004 tsbbp L136+2 " Define aa 002075 000002 000003 zero 2,3 aa 002076 000760 350004 261 eapap L176 " "To" aa 002077 700004 540111 sprpap sb|4,x1 aa 002100 600322 350100 eapap sp|210 " To aa 002101 700005 540111 sprpap sb|5,x1 aa 002102 000101 236007 ldq 65,dl aa 002103 700006 756111 stq sb|6,x1 aa 002104 777434 272004 tsbbp L136+2 " Define aa 002105 000002 000003 zero 2,3 aa 002106 000747 350004 262 eapap L177 " "Un" aa 002107 700004 540111 sprpap sb|4,x1 aa 002110 600325 350100 eapap sp|213 " Un aa 002111 700005 540111 sprpap sb|5,x1 aa 002112 000101 236007 ldq 65,dl aa 002113 700006 756111 stq sb|6,x1 aa 002114 777424 272004 tsbbp L136+2 " Define aa 002115 000002 000003 zero 2,3 aa 002116 000735 350004 263 eapap L178 " "Ma1" aa 002117 700004 540111 sprpap sb|4,x1 aa 002120 600240 350100 eapap sp|160 " Ma1 aa 002121 700005 540111 sprpap sb|5,x1 aa 002122 000101 236007 ldq 65,dl aa 002123 700006 756111 stq sb|6,x1 aa 002124 777414 272004 tsbbp L136+2 " Define aa 002125 000002 000003 zero 2,3 aa 002126 000723 350004 264 eapap L179 " "Ma2" aa 002127 700004 540111 sprpap sb|4,x1 aa 002130 600241 350100 eapap sp|161 " Ma2 aa 002131 700005 540111 sprpap sb|5,x1 aa 002132 000101 236007 ldq 65,dl aa 002133 700006 756111 stq sb|6,x1 aa 002134 777404 272004 tsbbp L136+2 " Define aa 002135 000002 000003 zero 2,3 aa 002136 000711 350004 265 eapap L180 " "Ma3" aa 002137 700004 540111 sprpap sb|4,x1 aa 002140 600242 350100 eapap sp|162 " Ma3 aa 002141 700005 540111 sprpap sb|5,x1 aa 002142 000101 236007 ldq 65,dl aa 002143 700006 756111 stq sb|6,x1 aa 002144 777374 272004 tsbbp L136+2 " Define aa 002145 000002 000003 zero 2,3 aa 002146 000677 350004 266 eapap L181 " "Ma4" aa 002147 700004 540111 sprpap sb|4,x1 aa 002150 600243 350100 eapap sp|163 " Ma4 aa 002151 700005 540111 sprpap sb|5,x1 aa 002152 000101 236007 ldq 65,dl aa 002153 700006 756111 stq sb|6,x1 aa 002154 777364 272004 tsbbp L136+2 " Define aa 002155 000002 000003 zero 2,3 aa 002156 000665 350004 267 eapap L182 " "NNp" aa 002157 700004 540111 sprpap sb|4,x1 aa 002160 600253 350100 eapap sp|171 " NNp aa 002161 700005 540111 sprpap sb|5,x1 aa 002162 000101 236007 ldq 65,dl aa 002163 700006 756111 stq sb|6,x1 aa 002164 777354 272004 tsbbp L136+2 " Define aa 002165 000002 000003 zero 2,3 aa 002166 000653 350004 268 eapap L183 " "Foot" aa 002167 700004 540111 sprpap sb|4,x1 aa 002170 600205 350100 eapap sp|133 " Foot aa 002171 700005 540111 sprpap sb|5,x1 aa 002172 000101 236007 ldq 65,dl aa 002173 700006 756111 stq sb|6,x1 aa 002174 777344 272004 tsbbp L136+2 " Define aa 002175 000002 000003 zero 2,3 aa 002176 000641 350004 269 eapap L184 " "From" aa 002177 700004 540111 sprpap sb|4,x1 aa 002200 600216 350100 eapap sp|142 " From aa 002201 700005 540111 sprpap sb|5,x1 aa 002202 000101 236007 ldq 65,dl aa 002203 700006 756111 stq sb|6,x1 aa 002204 777334 272004 tsbbp L136+2 " Define aa 002205 000002 000003 zero 2,3 aa 002206 000627 350004 270 eapap L185 " "Print" aa 002207 700004 540111 sprpap sb|4,x1 aa 002210 600300 350100 eapap sp|192 " Print aa 002211 700005 540111 sprpap sb|5,x1 aa 002212 000101 236007 ldq 65,dl aa 002213 700006 756111 stq sb|6,x1 aa 002214 777324 272004 tsbbp L136+2 " Define aa 002215 000002 000003 zero 2,3 aa 002216 000615 350004 271 eapap L186 " "Start" aa 002217 700004 540111 sprpap sb|4,x1 aa 002220 600312 350100 eapap sp|202 " Start aa 002221 700005 540111 sprpap sb|5,x1 aa 002222 000101 236007 ldq 65,dl aa 002223 700006 756111 stq sb|6,x1 aa 002224 777314 272004 tsbbp L136+2 " Define aa 002225 000002 000003 zero 2,3 aa 002226 000603 350004 272 eapap L187 " "Roman" aa 002227 700004 540111 sprpap sb|4,x1 aa 002230 600304 350100 eapap sp|196 " Roman aa 002231 700005 540111 sprpap sb|5,x1 aa 002232 000101 236007 ldq 65,dl aa 002233 700006 756111 stq sb|6,x1 aa 002234 777304 272004 tsbbp L136+2 " Define aa 002235 000002 000003 zero 2,3 aa 002236 000571 350004 273 eapap L188 " "NoFtNo" aa 002237 700004 540111 sprpap sb|4,x1 aa 002240 600256 350100 eapap sp|174 " NoFtNo aa 002241 700005 540111 sprpap sb|5,x1 aa 002242 000101 236007 ldq 65,dl aa 002243 700006 756111 stq sb|6,x1 aa 002244 777274 272004 tsbbp L136+2 " Define aa 002245 000002 000003 zero 2,3 aa 002246 000557 350004 274 eapap L189 " "Stopsw" aa 002247 700004 540111 sprpap sb|4,x1 aa 002250 600313 350100 eapap sp|203 " Stopsw aa 002251 700005 540111 sprpap sb|5,x1 aa 002252 000101 236007 ldq 65,dl aa 002253 700006 756111 stq sb|6,x1 aa 002254 777264 272004 tsbbp L136+2 " Define aa 002255 000002 000003 zero 2,3 aa 002256 000545 350004 275 eapap L190 " "Waitsw" aa 002257 700004 540111 sprpap sb|4,x1 aa 002260 600326 350100 eapap sp|214 " Waitsw aa 002261 700005 540111 sprpap sb|5,x1 aa 002262 000101 236007 ldq 65,dl aa 002263 700006 756111 stq sb|6,x1 aa 002264 777254 272004 tsbbp L136+2 " Define aa 002265 000002 000003 zero 2,3 aa 002266 000532 350004 276 eapap L191 " "PadLeft" aa 002267 700004 540111 sprpap sb|4,x1 aa 002270 600271 350100 eapap sp|185 " PadLeft aa 002271 700005 540111 sprpap sb|5,x1 aa 002272 000101 236007 ldq 65,dl aa 002273 700006 756111 stq sb|6,x1 aa 002274 777244 272004 tsbbp L136+2 " Define aa 002275 000002 000003 zero 2,3 aa 002276 000516 350004 277 eapap L192 " "ExtraMargin" aa 002277 700004 540111 sprpap sb|4,x1 aa 002300 600172 350100 eapap sp|122 " ExtraMargin aa 002301 700005 540111 sprpap sb|5,x1 aa 002302 000101 236007 ldq 65,dl aa 002303 700006 756111 stq sb|6,x1 aa 002304 777234 272004 tsbbp L136+2 " Define aa 002305 000002 000003 zero 2,3 aa 002306 000502 350004 278 eapap L193 " "Hyphenating" aa 002307 700004 540111 sprpap sb|4,x1 aa 002310 600222 350100 eapap sp|146 " Hyphenating aa 002311 700005 540111 sprpap sb|5,x1 aa 002312 000101 236007 ldq 65,dl aa 002313 700006 756111 stq sb|6,x1 aa 002314 777224 272004 tsbbp L136+2 " Define aa 002315 000002 000003 zero 2,3 aa 002316 000465 350004 279 eapap L194 " "PrintLineNumbers" aa 002317 700004 540111 sprpap sb|4,x1 aa 002320 600302 350100 eapap sp|194 " PrintLineNumbers aa 002321 700005 540111 sprpap sb|5,x1 aa 002322 000101 236007 ldq 65,dl aa 002323 700006 756111 stq sb|6,x1 aa 002324 777214 272004 tsbbp L136+2 " Define aa 002325 000002 000003 zero 2,3 aa 002326 000450 350004 280 eapap L195 " "MultiplePagecount" aa 002327 700004 540111 sprpap sb|4,x1 aa 002330 600245 350100 eapap sp|165 " MultiplePagecount aa 002331 700005 540111 sprpap sb|5,x1 aa 002332 000101 236007 ldq 65,dl aa 002333 700006 756111 stq sb|6,x1 aa 002334 777204 272004 tsbbp L136+2 " Define aa 002335 000002 000003 zero 2,3 aa 002336 000437 350004 282 eapap L196 " "Fp" aa 002337 700004 540111 sprpap sb|4,x1 aa 002340 600214 350100 eapap sp|140 " Fp aa 002341 700005 540111 sprpap sb|5,x1 aa 002342 000121 236007 ldq 81,dl aa 002343 700006 756111 stq sb|6,x1 aa 002344 777174 272004 tsbbp L136+2 " Define aa 002345 000002 000003 zero 2,3 aa 002346 000426 350004 283 eapap L197 " "Lp" aa 002347 700004 540111 sprpap sb|4,x1 aa 002350 600235 350100 eapap sp|157 " Lp aa 002351 700005 540111 sprpap sb|5,x1 aa 002352 000121 236007 ldq 81,dl aa 002353 700006 756111 stq sb|6,x1 aa 002354 777164 272004 tsbbp L136+2 " Define aa 002355 000002 000003 zero 2,3 aa 002356 000414 350004 284 eapap L198 " "Passes" aa 002357 700004 540111 sprpap sb|4,x1 aa 002360 600273 350100 eapap sp|187 " Passes aa 002361 700005 540111 sprpap sb|5,x1 aa 002362 000121 236007 ldq 81,dl aa 002363 700006 756111 stq sb|6,x1 aa 002364 777154 272004 tsbbp L136+2 " Define aa 002365 000002 000003 zero 2,3 aa 002366 000403 350004 286 eapap L199 " "In" aa 002367 700004 540111 sprpap sb|4,x1 aa 002370 600223 350100 eapap sp|147 " In aa 002371 700005 540111 sprpap sb|5,x1 aa 002372 000141 236007 ldq 97,dl aa 002373 700006 756111 stq sb|6,x1 aa 002374 777144 272004 tsbbp L136+2 " Define aa 002375 000002 000003 zero 2,3 aa 002376 000372 350004 287 eapap L200 " "Np" aa 002377 700004 540111 sprpap sb|4,x1 aa 002400 600260 350100 eapap sp|176 " Np aa 002401 700005 540111 sprpap sb|5,x1 aa 002402 000141 236007 ldq 97,dl aa 002403 700006 756111 stq sb|6,x1 aa 002404 777134 272004 tsbbp L136+2 " Define aa 002405 000002 000003 zero 2,3 aa 002406 000360 350004 288 eapap L201 " "Selsw" aa 002407 700004 540111 sprpap sb|4,x1 aa 002410 600310 350100 eapap sp|200 " Selsw aa 002411 700005 540111 sprpap sb|5,x1 aa 002412 000141 236007 ldq 97,dl aa 002413 700006 756111 stq sb|6,x1 aa 002414 777124 272004 tsbbp L136+2 " Define aa 002415 000002 000003 zero 2,3 aa 002416 000346 350004 289 eapap L202 " "Time" aa 002417 700004 540111 sprpap sb|4,x1 aa 002420 600317 350100 eapap sp|207 " TimeNow aa 002421 700005 540111 sprpap sb|5,x1 aa 002422 000141 236007 ldq 97,dl aa 002423 700006 756111 stq sb|6,x1 aa 002424 777114 272004 tsbbp L136+2 " Define aa 002425 000002 000003 zero 2,3 aa 002426 000334 350004 290 eapap L203 " "Filesw" aa 002427 700004 540111 sprpap sb|4,x1 aa 002430 600177 350100 eapap sp|127 " Filesw aa 002431 700005 540111 sprpap sb|5,x1 aa 002432 000141 236007 ldq 97,dl aa 002433 700006 756111 stq sb|6,x1 aa 002434 777104 272004 tsbbp L136+2 " Define aa 002435 000002 000003 zero 2,3 aa 002436 000321 350004 291 eapap L204 " "LinesLeft" aa 002437 700004 540111 sprpap sb|4,x1 aa 002440 600232 350100 eapap sp|154 " LinesLeft aa 002441 700005 540111 sprpap sb|5,x1 aa 002442 000141 236007 ldq 97,dl aa 002443 700006 756111 stq sb|6,x1 aa 002444 777074 272004 tsbbp L136+2 " Define aa 002445 000002 000003 zero 2,3 aa 002446 000306 350004 292 eapap L205 " "Printersw" aa 002447 700004 540111 sprpap sb|4,x1 aa 002450 600301 350100 eapap sp|193 " Printersw aa 002451 700005 540111 sprpap sb|5,x1 aa 002452 000141 236007 ldq 97,dl aa 002453 700006 756111 stq sb|6,x1 aa 002454 777064 272004 tsbbp L136+2 " Define aa 002455 000002 000003 zero 2,3 aa 002456 000273 350004 293 eapap L206 " "InputLines" aa 002457 700004 540111 sprpap sb|4,x1 aa 002460 600227 350100 eapap sp|151 " InputLines aa 002461 700005 540111 sprpap sb|5,x1 aa 002462 000141 236007 ldq 97,dl aa 002463 700006 756111 stq sb|6,x1 aa 002464 777054 272004 tsbbp L136+2 " Define aa 002465 000002 000003 zero 2,3 aa 002466 000257 350004 294 eapap L207 " "NestingDepth" aa 002467 700004 540111 sprpap sb|4,x1 aa 002470 600247 350100 eapap sp|167 " NestingDepth aa 002471 700005 540111 sprpap sb|5,x1 aa 002472 000141 236007 ldq 97,dl aa 002473 700006 756111 stq sb|6,x1 aa 002474 777044 272004 tsbbp L136+2 " Define aa 002475 000002 000003 zero 2,3 aa 002476 000245 350004 296 eapap L208 " "Eqcnt" aa 002477 700004 540111 sprpap sb|4,x1 aa 002500 600163 350100 eapap sp|115 " Eqcnt aa 002501 700005 540111 sprpap sb|5,x1 aa 002502 000105 236007 ldq 69,dl aa 002503 700006 756111 stq sb|6,x1 aa 002504 777034 272004 tsbbp L136+2 " Define aa 002505 000002 000003 zero 2,3 aa 002506 000232 350004 298 eapap L209 " "FootRef" aa 002507 700004 540111 sprpap sb|4,x1 aa 002510 600211 350100 eapap sp|137 " FootRef aa 002511 700005 540111 sprpap sb|5,x1 aa 002512 000102 236007 ldq 66,dl aa 002513 700006 756111 stq sb|6,x1 aa 002514 777024 272004 tsbbp L136+2 " Define aa 002515 000002 000003 zero 2,3 aa 002516 000217 350004 299 eapap L210 " "TextRef" aa 002517 700004 540111 sprpap sb|4,x1 aa 002520 600316 350100 eapap sp|206 " TextRef aa 002521 700005 540111 sprpap sb|5,x1 aa 002522 000102 236007 ldq 66,dl aa 002523 700006 756111 stq sb|6,x1 aa 002524 777014 272004 tsbbp L136+2 " Define aa 002525 000002 000003 zero 2,3 aa 002526 000204 350004 300 eapap L211 " "Parameter" aa 002527 700004 540111 sprpap sb|4,x1 aa 002530 600272 350100 eapap sp|186 " Parameter aa 002531 700005 540111 sprpap sb|5,x1 aa 002532 000102 236007 ldq 66,dl aa 002533 700006 756111 stq sb|6,x1 aa 002534 777004 272004 tsbbp L136+2 " Define aa 002535 000002 000003 zero 2,3 aa 002536 000171 350004 302 eapap L212 " "FileName" aa 002537 700004 540111 sprpap sb|4,x1 aa 002540 600176 350100 eapap sp|126 " FileName aa 002541 700005 540111 sprpap sb|5,x1 aa 002542 000142 236007 ldq 98,dl aa 002543 700006 756111 stq sb|6,x1 aa 002544 776774 272004 tsbbp L136+2 " Define aa 002545 000002 000003 zero 2,3 aa 002546 000155 350004 303 eapap L213 " "InputFileName" aa 002547 700004 540111 sprpap sb|4,x1 aa 002550 600226 350100 eapap sp|150 " InputFileName aa 002551 700005 540111 sprpap sb|5,x1 aa 002552 000142 236007 ldq 98,dl aa 002553 700006 756111 stq sb|6,x1 aa 002554 776764 272004 tsbbp L136+2 " Define aa 002555 000002 000003 zero 2,3 aa 002556 000142 350004 305 eapap L214 " "ConvTable" aa 002557 700004 540111 sprpap sb|4,x1 aa 002560 600153 236100 ldq sp|107 " Conv aa 002561 700005 756111 stq sb|5,x1 aa 002562 000003 236007 ldq 3,dl " CTABLE aa 002563 700006 756111 stq sb|6,x1 aa 002564 776754 272004 tsbbp L136+2 " Define aa 002565 000002 000003 zero 2,3 aa 002566 000127 350004 306 eapap L215 " "TrTable" aa 002567 700004 540111 sprpap sb|4,x1 aa 002570 600323 236100 ldq sp|211 " TrTable aa 002571 700005 756111 stq sb|5,x1 aa 002572 000003 236007 ldq 3,dl " CTABLE aa 002573 700006 756111 stq sb|6,x1 aa 002574 776744 272004 tsbbp L136+2 " Define aa 002575 000002 000003 zero 2,3 aa 002576 000114 350004 307 eapap L216 " "CharsTable" aa 002577 700004 540111 sprpap sb|4,x1 aa 002600 600150 236100 ldq sp|104 " CharsTable aa 002601 700005 756111 stq sb|5,x1 aa 002602 000003 236007 ldq 3,dl " CTABLE aa 002603 700006 756111 stq sb|6,x1 aa 002604 776734 272004 tsbbp L136+2 " Define aa 002605 000002 000003 zero 2,3 aa 002606 000100 350004 308 eapap L217 " "DeviceTable" aa 002607 700004 540111 sprpap sb|4,x1 aa 002610 600157 236100 ldq sp|111 " DeviceTable aa 002611 700005 756111 stq sb|5,x1 aa 002612 000003 236007 ldq 3,dl " CTABLE aa 002613 700006 756111 stq sb|6,x1 aa 002614 776724 272004 tsbbp L136+2 " Define aa 002615 000002 000003 zero 2,3 aa 002616 000066 350004 310 eapap L218 " "Date" aa 002617 700004 540111 sprpap sb|4,x1 4a 002620 400012 350120 eapap lp|L219,* " StoreDate aa 002621 700005 540111 sprpap sb|5,x1 aa 002622 000044 236007 ldq 36,dl aa 002623 700006 756111 stq sb|6,x1 aa 002624 776714 272004 tsbbp L136+2 " Define aa 002625 000002 000003 zero 2,3 aa 002626 000053 350004 311 eapap L220 " "Console" aa 002627 700004 540111 sprpap sb|4,x1 4a 002630 400010 350120 eapap lp|L221,* " ConsoleReadline aa 002631 700005 540111 sprpap sb|5,x1 aa 002632 000044 236007 ldq 36,dl aa 002633 700006 756111 stq sb|6,x1 aa 002634 776704 272004 tsbbp L136+2 " Define aa 002635 000002 000003 zero 2,3 aa 002636 000040 350004 313 eapap L222 " "NoPaging" aa 002637 700004 540111 sprpap sb|4,x1 aa 002640 777036 350004 eapap L137 " NoPagingFUNCTION aa 002641 700005 540111 sprpap sb|5,x1 aa 002642 000004 236007 ldq 4,dl " FUNCTION aa 002643 700006 756111 stq sb|6,x1 aa 002644 776674 272004 tsbbp L136+2 " Define aa 002645 000002 000003 zero 2,3 aa 002646 000026 350004 314 eapap L223 " "Charsw" aa 002647 700004 540111 sprpap sb|4,x1 aa 002650 776770 350004 eapap L138 " CharswFUNCTION aa 002651 700005 540111 sprpap sb|5,x1 aa 002652 000004 236007 ldq 4,dl " FUNCTION aa 002653 700006 756111 stq sb|6,x1 aa 002654 776664 272004 tsbbp L136+2 " Define aa 002655 000002 000003 zero 2,3 aa 002656 000014 350004 315 eapap L224 " "Device" aa 002657 700004 540111 sprpap sb|4,x1 aa 002660 776723 350004 eapap L139 " DeviceFUNCTION aa 002661 700005 540111 sprpap sb|5,x1 aa 002662 000004 236007 ldq 4,dl " FUNCTION aa 002663 700006 756111 stq sb|6,x1 aa 002664 776654 272004 tsbbp L136+2 " Define aa 002665 000002 000003 zero 2,3 L164: aa 002666 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002667 200000 121100 sblx1 bp|0 aa 002670 700001 764111 lprplp sb|1,x1 aa 002671 200001 710100 tra bp|1 " end of return sequence " Literal pool L224: aa 002672 000006 104145 zero 6,34917 " "Device" aa 002673 166151 143145 zero 60521,50789 L223: aa 002674 000006 103150 zero 6,34408 " "Charsw" aa 002675 141162 163167 zero 49778,58999 L222: aa 002676 000010 116157 zero 8,40047 " "NoPaging" aa 002677 120141 147151 zero 41057,52841 aa 002700 156147 000000 zero 56423 L220: aa 002701 000007 103157 zero 7,34415 " "Console" aa 002702 156163 157154 zero 56435,56940 aa 002703 145000 000000 zero 51712 L218: aa 002704 000004 104141 zero 4,34913 " "Date" aa 002705 164145 000000 zero 59493 L217: aa 002706 000013 104145 zero 11,34917 " "DeviceTable" aa 002707 166151 143145 zero 60521,50789 aa 002710 124141 142154 zero 43105,50284 aa 002711 145000 000000 zero 51712 L216: aa 002712 000012 103150 zero 10,34408 " "CharsTable" aa 002713 141162 163124 zero 49778,58964 aa 002714 141142 154145 zero 49762,55397 L215: aa 002715 000007 124162 zero 7,43122 " "TrTable" aa 002716 124141 142154 zero 43105,50284 aa 002717 145000 000000 zero 51712 L214: aa 002720 000011 103157 zero 9,34415 " "ConvTable" aa 002721 156166 124141 zero 56438,43105 aa 002722 142154 145000 zero 50284,51712 L213: aa 002723 000015 111156 zero 13,37486 " "InputFileName" aa 002724 160165 164106 zero 57461,59462 aa 002725 151154 145116 zero 53868,51790 aa 002726 141155 145000 zero 49773,51712 L212: aa 002727 000010 106151 zero 8,35945 " "FileName" aa 002730 154145 116141 zero 55397,40033 aa 002731 155145 000000 zero 55909 L211: aa 002732 000011 120141 zero 9,41057 " "Parameter" aa 002733 162141 155145 zero 58465,55909 aa 002734 164145 162000 zero 59493,58368 L210: aa 002735 000007 124145 zero 7,43109 " "TextRef" aa 002736 170164 122145 zero 61556,42085 aa 002737 146000 000000 zero 52224 L209: aa 002740 000007 106157 zero 7,35951 " "FootRef" aa 002741 157164 122145 zero 56948,42085 aa 002742 146000 000000 zero 52224 L208: aa 002743 000005 105161 zero 5,35441 " "Eqcnt" aa 002744 143156 164000 zero 50798,59392 L207: aa 002745 000014 116145 zero 12,40037 " "NestingDepth" aa 002746 163164 151156 zero 58996,53870 aa 002747 147104 145160 zero 52804,51824 aa 002750 164150 000000 zero 59496 L206: aa 002751 000012 111156 zero 10,37486 " "InputLines" aa 002752 160165 164114 zero 57461,59468 aa 002753 151156 145163 zero 53870,51827 L205: aa 002754 000011 120162 zero 9,41074 " "Printersw" aa 002755 151156 164145 zero 53870,59493 aa 002756 162163 167000 zero 58483,60928 L204: aa 002757 000011 114151 zero 9,39017 " "LinesLeft" aa 002760 156145 163114 zero 56421,58956 aa 002761 145146 164000 zero 51814,59392 L203: aa 002762 000006 106151 zero 6,35945 " "Filesw" aa 002763 154145 163167 zero 55397,58999 L202: aa 002764 000004 124151 zero 4,43113 " "Time" aa 002765 155145 000000 zero 55909 L201: aa 002766 000005 123145 zero 5,42597 " "Selsw" aa 002767 154163 167000 zero 55411,60928 L200: aa 002770 000002 116160 zero 2,40048 " "Np" L199: aa 002771 000002 111156 zero 2,37486 " "In" L198: aa 002772 000006 120141 zero 6,41057 " "Passes" aa 002773 163163 145163 zero 58995,51827 L197: aa 002774 000002 114160 zero 2,39024 " "Lp" L196: aa 002775 000002 106160 zero 2,35952 " "Fp" L195: aa 002776 000021 115165 zero 17,39541 " "MultiplePagecount" aa 002777 154164 151160 zero 55412,53872 aa 003000 154145 120141 zero 55397,41057 aa 003001 147145 143157 zero 52837,50799 aa 003002 165156 164000 zero 60014,59392 L194: aa 003003 000020 120162 zero 16,41074 " "PrintLineNumbers" aa 003004 151156 164114 zero 53870,59468 aa 003005 151156 145116 zero 53870,51790 aa 003006 165155 142145 zero 60013,50277 aa 003007 162163 000000 zero 58483 L193: aa 003010 000013 110171 zero 11,36985 " "Hyphenating" aa 003011 160150 145156 zero 57448,51822 aa 003012 141164 151156 zero 49780,53870 aa 003013 147000 000000 zero 52736 L192: aa 003014 000013 105170 zero 11,35448 " "ExtraMargin" aa 003015 164162 141115 zero 59506,49741 aa 003016 141162 147151 zero 49778,52841 aa 003017 156000 000000 zero 56320 L191: aa 003020 000007 120141 zero 7,41057 " "PadLeft" aa 003021 144114 145146 zero 51276,51814 aa 003022 164000 000000 zero 59392 L190: aa 003023 000006 127141 zero 6,44641 " "Waitsw" aa 003024 151164 163167 zero 53876,58999 L189: aa 003025 000006 123164 zero 6,42612 " "Stopsw" aa 003026 157160 163167 zero 56944,58999 L188: aa 003027 000006 116157 zero 6,40047 " "NoFtNo" aa 003030 106164 116157 zero 35956,40047 L187: aa 003031 000005 122157 zero 5,42095 " "Roman" aa 003032 155141 156000 zero 55905,56320 L186: aa 003033 000005 123164 zero 5,42612 " "Start" aa 003034 141162 164000 zero 49778,59392 L185: aa 003035 000005 120162 zero 5,41074 " "Print" aa 003036 151156 164000 zero 53870,59392 L184: aa 003037 000004 106162 zero 4,35954 " "From" aa 003040 157155 000000 zero 56941 L183: aa 003041 000004 106157 zero 4,35951 " "Foot" aa 003042 157164 000000 zero 56948 L182: aa 003043 000003 116116 zero 3,40014 " "NNp" aa 003044 160000 000000 zero 57344 L181: aa 003045 000003 115141 zero 3,39521 " "Ma4" aa 003046 064000 000000 zero 26624 L180: aa 003047 000003 115141 zero 3,39521 " "Ma3" aa 003050 063000 000000 zero 26112 L179: aa 003051 000003 115141 zero 3,39521 " "Ma2" aa 003052 062000 000000 zero 25600 L178: aa 003053 000003 115141 zero 3,39521 " "Ma1" aa 003054 061000 000000 zero 25088 L177: aa 003055 000002 125156 zero 2,43630 " "Un" L176: aa 003056 000002 124157 zero 2,43119 " "To" L175: aa 003057 000002 120154 zero 2,41068 " "Pl" L174: aa 003060 000002 120151 zero 2,41065 " "Pi" L173: aa 003061 000002 116154 zero 2,40044 " "Nl" L172: aa 003062 000002 115163 zero 2,39539 " "Ms" L171: aa 003063 000002 114154 zero 2,39020 " "Ll" L170: aa 003064 000002 106164 zero 2,35956 " "Ft" L169: aa 003065 000002 106162 zero 2,35954 " "Fr" L168: aa 003066 000002 106151 zero 2,35945 " "Fi" L167: aa 003067 000002 105161 zero 2,35441 " "Eq" L166: aa 003070 000002 103145 zero 2,34405 " "Ce" L165: aa 003071 000002 101144 zero 2,33380 " "Ad" " Definition section part one - external entry points 5a 000000 000033 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_mr9" aa 000004 157146 146137 aa 000005 155162 071000 aa 000006 024111 156151 " "InitializeSymbolTree" aa 000007 164151 141154 aa 000010 151172 145123 aa 000011 171155 142157 aa 000012 154124 162145 aa 000013 145000 000000 aa 000014 011103 150145 " "Check_ref" aa 000015 143153 137162 aa 000016 145146 000000 aa 000017 007125 163145 " "Use_ref" aa 000020 137162 145146 aa 000021 007123 145164 " "Set_ref" aa 000022 137162 145146 aa 000023 014125 160144 " "UpdateSymbol" aa 000024 141164 145123 aa 000025 171155 142157 aa 000026 154000 000000 aa 000027 014163 171155 " "symbol_table" aa 000030 142157 154137 aa 000031 164141 142154 aa 000032 145000 000000 " Segname definition for runoff_mr9 55 000033 000036 000002 " forward, backward threads 5a 000034 000002 400003 " value defined, class flags 55 000035 000003 000036 " name pointer, first entry def " Definition for InitializeSymbolTree 55 000036 000041 000033 " forward, backward threads 0a 000037 001735 500000 " value defined, class flags 55 000040 000006 000033 " name pointer, segname def pointer " Definition for Check_ref 55 000041 000044 000036 " forward, backward threads 0a 000042 001335 500000 " value defined, class flags 55 000043 000014 000033 " name pointer, segname def pointer " Definition for Use_ref 55 000044 000047 000041 " forward, backward threads 0a 000045 001062 500000 " value defined, class flags 55 000046 000017 000033 " name pointer, segname def pointer " Definition for Set_ref 55 000047 000052 000044 " forward, backward threads 0a 000050 001027 500000 " value defined, class flags 55 000051 000021 000033 " name pointer, segname def pointer " Definition for UpdateSymbol 55 000052 000055 000047 " forward, backward threads 0a 000053 001437 500000 " value defined, class flags 55 000054 000023 000033 " name pointer, segname def pointer " Definition for symbol_table 55 000055 000002 000052 " forward, backward threads 6a 000056 000000 400002 " value defined, class flags 55 000057 000027 000033 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000060 012162 165156 " "runoff_mr0" aa 000061 157146 146137 aa 000062 155162 060000 aa 000063 017103 157156 " "ConsoleReadline" aa 000064 163157 154145 aa 000065 122145 141144 aa 000066 154151 156145 5a 000067 000070 000000 aa 000070 000004 000000 55 000071 000060 000063 aa 000072 012162 165156 " "runoff_mr4" aa 000073 157146 146137 aa 000074 155162 064000 aa 000075 011123 164157 " "StoreDate" aa 000076 162145 104141 aa 000077 164145 000000 5a 000100 000101 000000 aa 000101 000004 000000 55 000102 000072 000075 aa 000103 012162 165156 " "runoff_mr1" aa 000104 157146 146137 aa 000105 155162 061000 aa 000106 011123 145164 " "SetPaging" aa 000107 120141 147151 aa 000110 156147 000000 5a 000111 000112 000000 aa 000112 000004 000000 55 000113 000103 000106 aa 000114 011123 145164 " "SetCharsw" aa 000115 103150 141162 aa 000116 163167 000000 5a 000117 000120 000000 aa 000120 000004 000000 55 000121 000060 000114 aa 000122 011123 145164 " "SetDevice" aa 000123 104145 166151 aa 000124 143145 000000 5a 000125 000126 000000 aa 000126 000004 000000 55 000127 000103 000122 aa 000130 006122 145160 " "Report" aa 000131 157162 164000 5a 000132 000133 000000 aa 000133 000004 000000 55 000134 000060 000130 aa 000135 012162 165156 " "runoff_mr8" aa 000136 157146 146137 aa 000137 155162 070000 aa 000140 007122 145141 " "ReadExp" aa 000141 144105 170160 5a 000142 000143 000000 aa 000143 000004 000000 55 000144 000135 000140 aa 000145 011107 145164 " "GetString" aa 000146 123164 162151 aa 000147 156147 000000 5a 000150 000151 000000 aa 000151 000004 000000 55 000152 000135 000145 aa 000153 012123 164157 " "StoreRoman" aa 000154 162145 122157 aa 000155 155141 156000 5a 000156 000157 000000 aa 000157 000004 000000 55 000160 000072 000153 aa 000161 022142 143160 " "bcpl_machine_code_" aa 000162 154137 155141 aa 000163 143150 151156 aa 000164 145137 143157 aa 000165 144145 137000 aa 000166 012120 141143 " "Packstring" aa 000167 153163 164162 aa 000170 151156 147000 5a 000171 000172 000000 aa 000172 000004 000000 55 000173 000161 000166 aa 000174 010122 145141 " "ReadName" aa 000175 144116 141155 aa 000176 145000 000000 5a 000177 000200 000000 aa 000200 000004 000000 55 000201 000072 000174 aa 000202 013123 164157 " "StoreArabic" aa 000203 162145 101162 aa 000204 141142 151143 5a 000205 000206 000000 aa 000206 000004 000000 55 000207 000072 000202 aa 000210 021142 143160 " "bcpl_filesys_lib_" aa 000211 154137 146151 aa 000212 154145 163171 aa 000213 163137 154151 aa 000214 142137 000000 aa 000215 007106 162145 " "Freevec" aa 000216 145166 145143 5a 000217 000220 000000 aa 000220 000004 000000 55 000221 000210 000215 aa 000222 014125 156160 " "Unpackstring" aa 000223 141143 153163 aa 000224 164162 151156 aa 000225 147000 000000 5a 000226 000227 000000 aa 000227 000004 000000 55 000230 000161 000222 aa 000231 006116 145167 " "Newvec" aa 000232 166145 143000 5a 000233 000234 000000 aa 000234 000004 000000 55 000235 000210 000231 aa 000236 015142 143160 " "bcpl_strings_" aa 000237 154137 163164 aa 000240 162151 156147 aa 000241 163137 000000 aa 000242 015114 145156 " "LengthInWords" aa 000243 147164 150111 aa 000244 156127 157162 aa 000245 144163 000000 5a 000246 000247 000000 aa 000247 000004 000000 55 000250 000236 000242 aa 000251 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 003072 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000050 " offset to links, total length aa 000007 000000 000050 " obsolete length " External link pairs L221: 3a 000010 777770 000046 " "runoff_mr0$ConsoleReadline" 5a 000011 000067 000000 L219: 3a 000012 777766 000046 " "runoff_mr4$StoreDate" 5a 000013 000100 000000 L161: 3a 000014 777764 000046 " "runoff_mr1$SetPaging" 5a 000015 000111 000000 L155: 3a 000016 777762 000046 " "runoff_mr0$SetCharsw" 5a 000017 000117 000000 L149: 3a 000020 777760 000046 " "runoff_mr1$SetDevice" 5a 000021 000125 000000 L134: 3a 000022 777756 000046 " "runoff_mr0$Report" 5a 000023 000132 000000 L130: 3a 000024 777754 000046 " "runoff_mr8$ReadExp" 5a 000025 000142 000000 L129: 3a 000026 777752 000046 " "runoff_mr8$GetString" 5a 000027 000150 000000 L114: 3a 000030 777750 000046 " "runoff_mr4$StoreRoman" 5a 000031 000156 000000 L106: 3a 000032 777746 000046 " "bcpl_machine_code_$Packstring" 5a 000033 000171 000000 L92: 3a 000034 777744 000046 " "runoff_mr4$ReadName" 5a 000035 000177 000000 L79: 3a 000036 777742 000046 " "runoff_mr4$StoreArabic" 5a 000037 000205 000000 L50: 3a 000040 777740 000046 " "bcpl_filesys_lib_$Freevec" 5a 000041 000217 000000 L44: 3a 000042 777736 000046 " "bcpl_machine_code_$Unpackstring" 5a 000043 000226 000000 L16: 3a 000044 777734 000046 " "bcpl_filesys_lib_$Newvec" 5a 000045 000233 000000 L5: 3a 000046 777732 000046 " "bcpl_strings_$LengthInWords" 5a 000047 000246 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 442430 053033 " 01/24/75 0705.3 mst Fri aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000042 000035 " compiler version name - pointer, length aa 000013 000052 000024 " user id - pointer, length aa 000014 000057 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 000123 " section header pointer, block size aa 000020 000000 000123 " next block pointer, rel_text aa 000021 000000 000145 " rel_def, rel_link aa 000022 000155 000123 " rel_symbol, default truncate aa 000023 000024 000000 " optional truncate, unused aa 000024 000000 000001 " source files map: version number aa 000025 000000 000003 " number of files aa 000026 000070 000051 " runoff_mr9 aa 000027 023333 611457 " last modified on aa 000030 000000 102333 " 01/24/75 0647.2 mst Fri aa 000031 432367 200000 aa 000032 000103 000033 " head aa 000033 021607 540547 " last modified on aa 000034 000000 101621 " 05/06/74 1742.4 mst Mon aa 000035 352261 400000 aa 000036 000112 000042 " runoff_head aa 000037 021607 541104 " last modified on aa 000040 000000 101621 " 05/06/74 1743.2 mst Mon aa 000041 352532 200000 aa 000042 102103 120114 " "BCPL version 3.4, August 1973" aa 000043 040166 145162 aa 000044 163151 157156 aa 000045 040063 056064 aa 000046 054040 101165 aa 000047 147165 163164 aa 000050 040061 071067 aa 000051 063040 040040 aa 000052 115141 162164 " "Martinson.SysMaint.a" aa 000053 151156 163157 aa 000054 156056 123171 aa 000055 163115 141151 aa 000056 156164 056141 aa 000057 163157 165162 " "source xref alist optimize 6180" aa 000060 143145 040040 aa 000061 170162 145146 aa 000062 040040 141154 aa 000063 151163 164040 aa 000064 040157 160164 aa 000065 151155 151172 aa 000066 145040 040066 aa 000067 061070 060040 aa 000070 076062 056061 " ">2.1spec>online>mib083074>runoff_mr9.bcpl" aa 000071 163160 145143 aa 000072 076157 156154 aa 000073 151156 145076 aa 000074 155151 142060 aa 000075 070063 060067 aa 000076 064076 162165 aa 000077 156157 146146 aa 000100 137155 162071 aa 000101 056142 143160 aa 000102 154040 040040 aa 000103 076154 144144 " ">ldd>include>head.incl.bcpl" aa 000104 076151 156143 aa 000105 154165 144145 aa 000106 076150 145141 aa 000107 144056 151156 aa 000110 143154 056142 aa 000111 143160 154040 aa 000112 076154 144144 " ">ldd>include>runoff_head.incl.bcpl" aa 000113 076151 156143 aa 000114 154165 144145 aa 000115 076162 165156 aa 000116 157146 146137 aa 000117 150145 141144 aa 000120 056151 156143 aa 000121 154056 142143 aa 000122 160154 040040 " Relocation information " text section relocation bits aa 000123 000000 000002 " version number of rel-bits structure aa 000124 000000 001035 " length in bits aa 000125 740425 170353 aa 000126 236173 600417 aa 000127 033723 604164 aa 000130 742515 170167 aa 000131 036014 647416 aa 000132 550000 012360 aa 000133 336400 010360 aa 000134 316474 301517 aa 000135 024720 247440 aa 000136 351700 572360 aa 000137 116474 215500 aa 000140 000517 012720 aa 000141 000123 602664 aa 000142 000024 755755 aa 000143 000001 236241 aa 000144 400000 000000 l " inkage relocation bits aa 000145 000000 000002 " version number of rel-bits structure aa 000146 000000 000330 " length in bits aa 000147 100002 204652 aa 000150 465246 524652 aa 000151 465246 524652 aa 000152 465246 524652 aa 000153 465246 524652 aa 000154 465246 524652 s " ymbol relocation bits aa 000155 000000 000002 " version number of rel-bits structure aa 000156 000000 000043 " length in bits aa 000157 740365 770416 " Object map aa 003574 000000 000001 " version number of object_map structure aa 003575 157142 152137 " "obj_map " aa 003576 155141 160040 aa 003577 000000 003072 " text offset, length aa 003600 003072 000251 " def offset, length aa 003601 003344 000050 " link offset, length aa 003602 003414 000160 " symbol offset, length aa 003603 000000 000000 " break map offset, length aa 003604 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 003605 003574 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