Compilation listing of file >2.1spec>online>mib083074>bcpl_stream_io_.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0700.4 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 // BCPL stream I/O routines. 2 // Last modified on 06/03/74 at 11:50:07 by R F Mabee. 3 // Reinstalled with no material change in June 1974, R F Mabee. 4 // Modified for 6180 bootstrap and installed in June 1973, R F Mabee. 5 // First installed in September 1971 by R F Mabee. 6 7 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 8 9 // General permission is granted to copy and use this program, but not to sell it, provided that the above 10 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 11 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 12 13 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 $) 14 15 external 16 $( GetWdir = "get_wdir_" // call get_wdir_ (return working dir name) 17 FindIncludeFile = "find_include_file_$initiate_count" // call find_include_file_$initiate_count (caller name, 18 // ref ptr, search name, return bit count, return ptr, return code) 19 20 MsfManagerOpen = "msf_manager_$open" // call msf_manager_$open (dir name, entry name, return fcb ptr, 21 // return code) 22 MsfManagerGetPtr = "msf_manager_$get_ptr" // call msf_manager_$get_ptr (fcb ptr, component, create_sw, 23 // return segment pointer, return bit count, return code) 24 MsfManagerAdjust = "msf_manager_$adjust" // call msf_manager_$adjust (fcb ptr, component, bit count, 25 // flags, return code) 26 MsfManagerClose = "msf_manager_$close" // call msf_manager_$close (fcb ptr) 27 28 ReadPtr = "ios_$read_ptr" // call ios_$read_ptr (buffer ptr, buffer length, return line length) 29 WritePtr = "ios_$write_ptr" // call ios_$write_ptr (buffer ptr, character offset, length) 30 IosRead = "ios_$read" // call ios_$read (stream name, buffer ptr, character offset, 31 // buffer length, return line length, return status bits) 32 IosWrite = "ios_$write" // call ios_$write (stream name, buffer ptr, character offset, 33 // length, return length, return status bits) 34 IosResetread = "ios_$resetread" // call ios_$resetread (stream name, return status bits) 35 GetAtEntry = "get_at_entry_" // call get_at_entry_ (stream name, return type, 36 // return ioname 2, return mode, return code) 37 38 SegKnown = "error_table_$segknown" // declare error_table_$segknown fixed binary external static; 39 ZeroLenSeg = "error_table_$zero_length_seg" // declare error_table_$zero_length_seg fixed binary external static; 40 DirSeg = "error_table_$dirseg" // declare error_table_$dirseg fixed binary external static; 41 NoEntry = "error_table_$noentry" // declare error_table_$noentry fixed binary external static; 42 43 MaxSegSize = "sys_info$max_seg_size" // declare sys_info$max_seg_size fixed binary external static; 44 $) 45 static 46 $( In = 0; Out = 0 // Saved console streams. 47 Freelist = 0 // Chain of ten-word free blocks. 48 Bufferlist = 0 // Chain of free stream buffers 49 Zero = 0; One = 1; Eleven = 11 // Constants for Multics calls. 50 $) 51 manifest 52 $( RwaBits = Read | Write | Append 53 TypeBits = Pointer | Console | StreamName | PathName | EntryName | SearchName 54 MsfBits = MultiSegmentFile 55 $) 56 57 58 let Open (Options, Name, Length, Delimiter) = valof // Return pointer to ten-word block representing a stream. 59 // Options consists of one of 60 // { Read Write Append } 61 // plus one of 62 // { Console StreamName Pointer PathName EntryName SearchName } 63 // plus possibly MultiSegmentFile. 64 // 65 // These are manifest constants defined in head.bcpl. There are no defined defaults. Read and 66 // Write are self-explanatory. A stream can not be used for both input and output. Append is 67 // similar to Write except that output is appended to that which already exists rather than 68 // replacing it. This makes no difference for Console or StreamName output. 69 // 70 // Console implies Multics stream I/O on the streams user_input and user_output. 71 // StreamName specifies Multics stream I/O on the stream Name, which is assumed to be already 72 // attached. Length is the length of the buffer to be used; default is 200 characters. 73 // 74 // Pointer indicates that "Name" is actually a pointer to a segment or vector to be read 75 // from or written into. With Read and Write Length is the maximum length; default is a full 76 // segment. With Append Length is the current length; default is 0. 77 // 78 // PathName indicates that Name is a relative path name to the segment to be read or written. 79 // With Write Length is the maximum length; default is a full segment. With Read or Append 80 // Length is the current length; default is the bit count / 9. 81 // 82 // EntryName is similar to PathName except that Name is not expanded; the named segment is 83 // found or created (for Write and Append) in the current working directory. 84 // 85 // SearchName indicates that Name is the entry name of a segment to be located by a standard 86 // search through several directories; the segment must exist. "Length" is then actually a 87 // stream which provides a "referencing dir" for the search rules. 88 // 89 // MultiSegmentFile applies only with PathName, EntryName, or SearchName; it indicates that the file 90 // may already be an MSF or may grow to be one. 91 // 92 // Delimiter applies only with StreamName and Write or Append. 93 // It is the output delimiter character (the default is '*n'). 94 // If it is zero the buffer is written out only when it is full or Writeout is called. 95 // 96 // The format of the stream block: 97 // Nextch, Maxch, Bufflen, Options, Refill, Name, Bufferptr, MSFcount, MSFfcb 98 // 99 // Nextch is the offset within the buffer to the next character position. 100 // 101 // Maxch is the length of the buffer for Write and Append. For Read it is the length of the 102 // current line and the buffer length is stored in Bufflen. 103 // For Write and Append Bufflen is used for the delimiter which, if non-zero, is the 104 // character which causes the current buffer to be written out. It is set to '*n' for Console 105 // and StreamName, otherwise zero. 106 // 107 // Options is a copy of the argument to the call to Open which created this stream. 108 // 109 // Refill is the address of a routine to be called when the buffer must be written out or 110 // refilled. If it is zero, the buffer cannot be written out or refilled. 111 // 112 // Name is a copy of the argument to Open, except for Console, when it is either "user_input" 113 // or "user_output". 114 // 115 // Bufferptr is a pointer to the buffer, or for Pointer, PathName, EntryName, and SearchName it 116 // points directly to the segment referenced by the stream. 117 // 118 // MSFcount is the index of the current segment in an MSF. 119 // 120 // MSFfcb is the File Control Block for msf_manager_. 121 122 123 $( let Rwa, Type, Msf = Options & RwaBits, Options & TypeBits, Options & MsfBits 124 Errcode := 0 125 if Type = Console test Rwa = Read // Special case the two most common streams. All console input 126 then $( if In = 0 do // goes through the same stream block, and similarly for output. 127 $( let f = Allocate (10) 128 f!2, f!3, f!4 := 400 * 4, Console + Read, ConsoleRead 129 f!5, f!6, f!7, f!8 := "user_input", Allocate (400), 0, 0 130 In := f 131 $) 132 In!0, In!1 := 0, 0 // Throw away partial line left from previous use. 133 resultis In 134 $) 135 or $( if Out = 0 do 136 $( let f = Allocate (10) 137 f!1, f!2, f!3, f!4 := 100 * 4, '*n', Console + Write, ConsoleWrite 138 f!5, f!6, f!7, f!8 := "user_output", Allocate (100), 0, 0 139 Out := f 140 $) 141 Out!0 := 0 // Throw away partial line. 142 resultis Out 143 $) 144 let f = Freelist // Chain of free stream blocks. 145 test f = 0 146 then f := Allocate (10) 147 or Freelist := f!0 // Pop chain. 148 let Buffer = nil 149 let Nargs = NumbArgs () 150 f!0, f!1, f!2, f!3, f!4, f!5, f!6, f!7, f!8 := 0, 0, 0, Options, 0, Name, Null, 0, 0 151 test Type = StreamName 152 then $( if Nargs < 3 | Length le 0 do Length := 200 153 let p, q = Bufferlist, lv Bufferlist 154 until p = 0 do // Look for free buffer of exactly the right length. 155 $( if p!1 = Length do // User probably keeps reusing same length, 156 $( Buffer := p // so we never fragment these blocks. 157 q!0 := p!0 158 goto Gotbuf 159 $) 160 q := p 161 p := p!0 162 $) 163 Buffer := Allocate (Length / 4 + 10) // Allow space in Buffer for copy of Name. 164 Gotbuf: for i = 0 to 8 do Buffer!i := Name!i // Make copy so caller can release his copy. 165 f!5 := Buffer 166 Buffer := Buffer + 9 167 if Nargs < 4 do Delimiter := '*n' 168 test Rwa = Read 169 then f!2, f!4 := Length, StreamRead 170 or f!1, f!2, f!4 := Length, Delimiter, StreamWrite 171 let x, y, z = nil, nil, nil 172 call GetAtEntry (Name string, lv x char 0, lv y char 0, lv z char 0, lv Errcode bit 36) 173 // Verify that attachment exists (user may check Errcode.) 174 $) 175 // Otherwise it must be file I/O in some form. 176 or $( test Type = Pointer 177 then $( Buffer := Name 178 if Nargs < 3 do Length := rv MaxSegSize * 4 179 $) 180 or $( let Dir, Ent, Path = vec 42, vec 8, vec 42 181 let Rlen = 0 182 unless Msf = 0 do f!4 := MsfNextSeg 183 test Type = PathName 184 then ExpandPathname (Name, Path) 185 or test Type = EntryName 186 then $( MakePl1String (Name, Ent, 32) 187 call GetWdir (Dir char 168) 188 JoinPathname (Dir, Ent, Path) 189 $) 190 // Otherwise it must be SearchName. 191 or $( let ReferencingSeg = Nargs < 3 | Length = 0 -> Null, Length!6 192 Nargs := 2 // Since Length is really something else. 193 let v, w = vec 2, vec 2 194 call FindIncludeFile (ProgramID string, ITS (ReferencingSeg, v) pointer, 195 Name string, lv Rlen, w pointer, lv Errcode bit 36) 196 if Errcode = 0 do GetPathname (BCPLaddr (w), Path) 197 $) 198 unless Errcode = 0 resultis f 199 Buffer := FindSegment (Path, lv Rlen) 200 if Errcode ne 0 then if Msf ne 0 & Errcode = rv DirSeg do 201 $( SplitPathname (Path, Dir, Ent) 202 MsfOpen (f, Path) 203 unless Errcode = 0 resultis f 204 Buffer := MsfGetseg (f, Rwa = Append -> Rlen - 1, 0, lv Rlen) 205 $) 206 test Rwa = Read 207 then if Rlen = 0 & Errcode = 0 do Errcode := rv ZeroLenSeg 208 or test Buffer = Null 209 then Buffer := MakeSegment (Path) // Create output segment if necessary. 210 or if Rwa = Write do SetBitCount (Buffer, 0) // Truncate segment for faster writing. 211 212 Rlen := Rlen / 9 // Character count (from Findseg). 213 if Nargs < 3 do Length := Rwa = Write -> rv MaxSegSize * 4, Rlen 214 if Rwa = Append & Msf ne 0 & Length ge rv MaxSegSize * 4 do 215 $( if f!8 = 0 do MsfOpen (f, Path) 216 unless Errcode = 0 resultis f 217 Buffer := MsfGetseg (f, Length / (rv MaxSegSize * 4), lv Rlen) 218 Length := Length rem (rv MaxSegSize * 4) 219 $) 220 $) 221 test Rwa = Append 222 then f!0, f!1 := Length, rv MaxSegSize * 4 223 or f!1 := Length 224 $) 225 f!6 := Buffer 226 resultis f 227 $) 228 229 and ConsoleRead (f) be // Routine to refill buffer from user_input. 230 $( unless Out = 0 | Out!0 = 0 do ConsoleWrite (Out) // Write out partial output line before waiting for input. 231 let w = vec 2 232 call ReadPtr (ITS (f!6, w) pointer, lv f!2, lv f!1) 233 f!0 := 0 234 $) 235 and ConsoleWrite (f) be // Routine to write out buffer to user_output. 236 $( let w = vec 2 237 call WritePtr (ITS (f!6, w) pointer, lv Zero, lv f!0) 238 f!0 := 0 239 $) 240 and StreamRead (f) be // Routine to refill buffer from arbitrary Multics stream. 241 $( f!1 := 0 242 let w = vec 2 243 call IosRead (f!5 string, ITS (f!6, w) pointer, lv Zero, lv f!2, lv f!1, lv Errcode bit 72) 244 if f!1 = 0 do f!1, rv (f!6) := 1, Endofstreamch lshift 27 // Stream not attached or at end of file. 245 f!0 := 0 246 $) 247 and StreamWrite (f) be // Routine to write buffer to Multics stream. 248 $( let w, x = vec 2, nil 249 call IosWrite (f!5 string, ITS (f!6, w) pointer, lv Zero, lv f!0, lv x, lv Errcode bit 72) 250 f!0 := 0 251 $) 252 and MsfNextSeg (f) be // Routine to get next segment of multi-segment file stream. 253 $( let Rwa = f!3 & RwaBits 254 let p, l = f!6, 0 255 if f!8 = 0 do 256 $( if Rwa = Read goto NoGood 257 let Path = vec 50 258 GetPathname (p, Path) 259 unless Errcode = 0 goto NoGood 260 MsfOpen (f, Path) 261 unless Errcode = 0 goto NoGood 262 $) 263 unless Rwa = Read do SetBitCount (p, f!0 * 9) 264 f!7 := f!7 + 1 265 p := MsfGetseg (f, f!7, lv l) 266 unless Errcode = 0 goto NoGood 267 f!0 := 0 268 test Rwa = Read 269 then f!1 := l / 9 270 or SetBitCount (p, 0) 271 return 272 NoGood: f!4 := 0 273 $) 274 and MsfOpen (f, Path) be // Make a stream into a multi-segment file. 275 $( let v, Dir, Ent = vec 2, vec 48, vec 8 276 SplitPathname (Path, Dir, Ent) 277 call MsfManagerOpen (Dir char 168, Ent char 32, v pointer, lv Errcode bit 36) 278 if Errcode ne 0 then if Errcode = rv NoEntry & (f!3 & RwaBits) ne Read do Errcode := 0 279 f!8 := BCPLaddr (v) 280 $) 281 and MsfGetseg (f, n, LvL) = valof // Get pointer to n'th segment of a multi-segment file. 282 $( let v, w = vec 2, vec 2 283 let Createsw = (f!3 & RwaBits) = Read -> 0, 1 lshift 35 284 call MsfManagerGetPtr (ITS (f!8, v) pointer, lv n, lv Createsw bit 1, w pointer, LvL, lv Errcode bit 36) 285 if Errcode ne 0 then if Errcode = rv SegKnown do Errcode := 0 286 let p = BCPLaddr (w) 287 f!6, f!7 := p, n 288 resultis p 289 $) 290 291 let Writeout (f) be // Write out contents of buffer. 292 unless f!0 = 0 | f!4 = 0 do (f!4) (f) 293 and Flushinput (f) be // Discard unprocessed contents of buffer & delete read ahead. 294 $( let Rwa, Type = f!3 & RwaBits, f!3 & TypeBits 295 if Rwa = Read & (Type = Console | Type = StreamName) do 296 $( call IosResetread (f!5 string, lv Errcode bit 72) 297 f!0, f!1 := 0, 0 298 $) 299 $) 300 and ResetStream (f, Offset) be // Back up current working point in stream. 301 $( if NumbArgs () = 1 do Offset := 0 302 Errcode := 0 303 let Type, Rwa, p = f!3 & TypeBits, f!3 & RwaBits, f!6 304 if Type = PathName | Type = EntryName | Type = SearchName do 305 $( let l, n = nil, Offset / (rv MaxSegSize * 4) 306 Offset := Offset rem (rv MaxSegSize * 4) 307 unless f!8 = 0 | n = f!7 do 308 $( p := MsfGetseg (f, n, lv l) 309 if Rwa = Read do f!1 := l / 9 310 $) 311 unless Rwa = Read do SetBitCount (p, (Offset + 3) * ByteSize) 312 $) 313 f!0 := Offset 314 $) 315 and StreamPointer (Stream) = Stream!6 316 and StreamOffset (Stream) = Stream!0 + Stream!7 * rv MaxSegSize * 4 317 and StreamLength (Stream) = Stream!1 318 319 let Close (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) be 320 // Release stream block. Write out buffer or set bit count as necessary. 321 for i = 0 to NumbArgs () - 1 do // Walk argument list. 322 $( let f = (lv a)!i 323 let Rwa, Type = f!3 & RwaBits, f!3 & TypeBits 324 switchon Type into 325 $( case Console: // Common stream block should not be released. 326 test Rwa = Read 327 then f!0, f!1 := 0, 0 // Discard unwanted input line. 328 or Writeout (f) 329 loop 330 case StreamName: 331 let l = nil 332 test Rwa = Read 333 then l := f!2 334 or $( Writeout (f) 335 l := f!1 336 $) 337 let p = f!5 // Original buffer area (I hope). 338 p!0, p!1 := Bufferlist, l 339 Bufferlist := p 340 endcase 341 case PathName: 342 case EntryName: 343 case SearchName: 344 let p, BitCount = f!6, f!0 * 9 345 unless Rwa = Read do SetBitCount (p, BitCount) 346 test f!8 = 0 347 then $( Terminate (p) // Free segment number unless otherwise in use. 348 if Type = SearchName do Terminate (p) // Got initiated twice at open. 349 $) 350 or $( let v = vec 2 351 ITS (f!8, v) 352 unless Rwa = Read call MsfManagerAdjust (v pointer, lv f!7, lv BitCount, 353 lv Zero bit 3, lv Errcode bit 36) 354 call MsfManagerClose (v pointer) 355 $) 356 endcase 357 default: loop // Already closed or isn't a stream or Type = Pointer. 358 $) 359 for i = 1 to 8 do f!i := 0 360 f!0 := Freelist 361 Freelist := f 362 $) 363 364 let WriteS (f, s) be // Write a string. 365 $( if NumbArgs () = 1 do 366 $( s := f 367 f := OUTPUT 368 $) 369 let c, l = 0, Length (s) // Current offset, remaining length. 370 if l = 0 return 371 $( let r = f!0 // Current offset in output buffer. 372 let n = f!1 - r // Remaining space. 373 if n > l do n := l 374 MoveBits (f!6, r * ByteSize, s, c * ByteSize + CountSize, n * ByteSize) 375 f!0 := f!0 + n 376 c := c + n 377 l := l - n 378 if l = 0 break 379 Writeout (f) 380 $) repeat 381 if Subch (s, c) = f!2 ne 0 do Writeout (f) // Write out buffer ending with delimiter. 382 $) 383 384 let WriteN (f, n) be // Write out a number in decimal. 385 $( if NumbArgs () = 1 do 386 $( n := f 387 f := OUTPUT 388 $) 389 let w = vec 20 390 WriteS (f, ConvertNtoS (n, w)) 391 $) 392 393 let Format (Stream, Control, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, 394 A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) be 395 // Control string is written out with additional arguments substituted for control codes. 396 $( let Space = vec 500 397 ProcessFormatString (Control, lv a, Space, 500 * WordSize / ByteSize) 398 WriteS (Stream, Space) 399 $) 400 and FormatString (Space, MaxLen, Control, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, 401 A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) be 402 ProcessFormatString (Control, lv a, Space, MaxLen) 403 404 and ProcessFormatString (Control, p, Space, MaxLen) be 405 $( let n = Length (Control) 406 let u, v, w = vec 400, vec 100, vec 100 407 and j = 0 408 SetLength (Space, 0) 409 for i = 1 to n do 410 $( if j > 100 do 411 $( u!0 := j 412 Packstring (u, v) 413 Concatenate (Space, MaxLen, Space, v) 414 j := 0 415 $) 416 let c = Subch (Control, i) 417 if c ne '^' | i ge n do 418 $( j := j + 1 419 u!j := c 420 loop 421 $) 422 let Width, Digits = 0, 0 423 $( i := i + 1 424 c := Subch (Control, i) 425 unless '0' le c le '9' break 426 Width := Width * 10 + c - '0' 427 $) repeat 428 if c = '.' do 429 $( i := i + 1 430 c := Subch (Control, i) 431 unless '0' le c le '9' break 432 Digits := Digits * 10 + c - '0' 433 $) repeat 434 Width, Digits := MinI (Width, 200), MinI (Digits, 200) 435 if c = '^' do 436 $( j := j + 1 437 u!j := '^' 438 loop 439 $) 440 let Val = ProcessItem (c, rv p, Digits, w) 441 p := lv p!1 442 let Len = Length (Val) 443 for k = 1 to Len if Subch (Val, k) = '*b' do Len := Len - 2 444 for k = Len + 1 to Width do 445 $( j := j + 1 446 u!j := '*s' 447 $) 448 u!0 := j 449 Packstring (u, v) 450 Concatenate (Space, MaxLen, Space, v, Val) 451 j := 0 452 $) 453 if j ne 0 do 454 $( u!0 := j 455 Packstring (u, v) 456 Concatenate (Space, MaxLen, Space, v) 457 $) 458 $) 459 and ProcessItem (c, x, Digits, Space) = valof 460 $( let v = vec 100 461 switchon c into 462 $( case 'a': case 's': 463 if Length (x) ge Digits resultis x 464 CopyString (x, Space) 465 Concatenate (Space, 400, Space, " ") repeatwhile Length (Space) < Digits 466 resultis Space 467 468 case 'p': test (x rshift 30) = 0 469 then FormatString (Space, 100, "^o|^o", (x rshift 18) & $87777, x & $8777777) 470 or FormatString (Space, 100, "^o|^o(^2.2d)", (x rshift 18) & $87777, x & $8777777, x rshift 30) 471 resultis Space 472 473 case 'b': resultis x -> "true", "false" 474 475 case 'c': if Digits = 0 do Digits := 1 476 for i = Digits to 1 by -1 do 477 $( v!i := x 478 x := x rshift ByteSize 479 $) 480 v!0 := Digits 481 Packstring (v, Space) 482 resultis Space 483 484 case 'd': 485 case 'n': ConvertNtoS (x, Space, -10, Digits) // -10 requests signed conversion. 486 resultis Space 487 488 case 'w': if Digits = 0 do Digits := 12 489 ConvertNtoS (x, Space, 8, Digits) // Request unsigned conversion. 490 resultis Space 491 492 case 'o': ConvertNtoS (x, Space, -8, Digits) // Request signed conversion. 493 resultis Space 494 495 case 'f': if Digits = 0 do Digits := 5 496 ConvertFtoS (x, Space, Digits) 497 resultis Space 498 499 default: v!0, v!1 := 1, c 500 Packstring (v, Space) 501 $) 502 resultis Space 503 $) CAE time 6.1, 105 source lines per second. cross reference table A bcpl_stream_io_: 394, 401 a bcpl_stream_io_: 319, 322, 393, 397, 400, 402 AbsI head: 11 AbsR head: 12 Allocate head: 64, bcpl_stream_io_: 127, 129, 136, 138, 146, 163 Append head: 136, bcpl_stream_io_: 52, 204, 214, 221 ArgIndex head: 121 B bcpl_stream_io_: 394, 401 b bcpl_stream_io_: 319, 393, 400 Bcall head: 54 BCPLaddr head: 108, bcpl_stream_io_: 196, 279, 286 BitCount bcpl_stream_io_: 344, 345, 352 Buffer bcpl_stream_io_: 148, 156, 163, 164, 165, 166, 166, 177, 199, 204, 208, 209, 210, 217, 225 Bufferlist bcpl_stream_io_: 48, 153, 153, 338, 339 ByteSize head: 127, bcpl_stream_io_: 311, 374, 374, 374, 397, 478 C bcpl_stream_io_: 394, 401 c bcpl_stream_io_: 319, 369, 374, 376, 376, 381, 393, 400, 416, 417, 419, 424, 425, 426, 428, 430, 431, 432, 435, 440, 459, 461, 499 Ch head: 118 CharToString head: 37 Close head: 69, bcpl_stream_io_: 319 CompareStrings head: 27 Complain head: 107 Concatenate head: 28, bcpl_stream_io_: 413, 450, 456, 465 ConcatenateArgs head: 104 CONSOLE head: 117 Console head: 134, bcpl_stream_io_: 53, 125, 128, 137, 295, 325 ConsoleRead bcpl_stream_io_: 128, 229 ConsoleWrite bcpl_stream_io_: 137, 230, 235 Control bcpl_stream_io_: 393, 397, 400, 402, 404, 405, 416, 424, 430 ConvertFtoS head: 46, bcpl_stream_io_: 496 ConvertNtoS head: 45, bcpl_stream_io_: 390, 485, 489, 492 ConvertStoN head: 44 CopyString head: 25, bcpl_stream_io_: 464 CountSize head: 128, bcpl_stream_io_: 374 Createsw bcpl_stream_io_: 283, 284 D bcpl_stream_io_: 394, 401 d bcpl_stream_io_: 319, 393, 400 DeleteTempSeg head: 91 Delimiter bcpl_stream_io_: 58, 167, 170 Digits bcpl_stream_io_: 422, 432, 432, 434, 434, 440, 459, 463, 465, 475, 475, 476, 480, 485, 488, 488, 489, 492, 495, 495, 496 Dir bcpl_stream_io_: 180, 187, 188, 201, 275, 276, 277 DirSeg bcpl_stream_io_: 40, 200 E bcpl_stream_io_: 394, 401 e bcpl_stream_io_: 319, 393, 400 Eleven bcpl_stream_io_: 49 Endofstreamch head: 130, bcpl_stream_io_: 244 Ent bcpl_stream_io_: 180, 186, 188, 201, 275, 276, 277 EntryName head: 135, bcpl_stream_io_: 53, 185, 304, 342 EqualString head: 26 Errcode head: 120, bcpl_stream_io_: 124, 172, 195, 196, 198, 200, 200, 203, 207, 207, 216, 243, 249, 259, 261, 266, 277, 278, 278, 278, 284, 285, 285, 285, 296, 302, 353 ExpandPathname head: 84, bcpl_stream_io_: 184 Exponential head: 20 F bcpl_stream_io_: 394, 401 f bcpl_stream_io_: 127, 128, 128, 128, 129, 129, 129, 129, 130, 136, 137, 137, 137, 137, 138, 138, 138, 138, 139, 144, 145, 146, 147, 150, 150, 150, 150, 150, 150, 150, 150, 150, 165, 169, 169, 170, 170, 170, 182, 198, 202, 203, 204, 215, 215, 216, 217, 222, 222, 223, 225, 226, 229, 232, 232, 232, 233, 235, 237, 237, 238, 240, 241, 243, 243, 243, 243, 244, 244, 244, 245, 247, 249, 249, 249, 250, 252, 253, 254, 255, 260, 263, 264, 264, 265, 265, 267, 269, 272, 274, 278, 279, 281, 283, 284, 287, 287, 291, 292, 292, 292, 292, 293, 294, 294, 296, 297, 297, 300, 303, 303, 303, 307, 307, 308, 309, 313, 319, 322, 323, 323, 327, 327, 328, 333, 334, 335, 337, 344, 344, 346, 351, 352, 359, 360, 361, 364, 366, 367, 371, 372, 374, 375, 375, 379, 381, 381, 384, 386, 387, 390, 393, 400 Findadr head: 65 FindIncludeFile bcpl_stream_io_: 17, 194 FindSegment head: 87, bcpl_stream_io_: 199 Flushinput head: 77, bcpl_stream_io_: 293 Format head: 74, bcpl_stream_io_: 393 FormatString head: 75, bcpl_stream_io_: 400, 469, 470 FormDate head: 49 Freelist bcpl_stream_io_: 47, 144, 147, 360, 361 Freevec head: 63 G bcpl_stream_io_: 394, 401 g bcpl_stream_io_: 319, 393, 400 GetAtEntry bcpl_stream_io_: 35, 172 GetCpuUsage head: 96 GetNextCommandArg head: 106 GetPathname head: 89, bcpl_stream_io_: 196, 258 GetWdir bcpl_stream_io_: 16, 187 Gotbuf bcpl_stream_io_: 158, 164 H bcpl_stream_io_: 394, 401 h bcpl_stream_io_: 319, 393, 400 I bcpl_stream_io_: 394, 401 i bcpl_stream_io_: 164, 164, 164, 319, 321, 322, 359, 359, 393, 400, 409, 416, 417, 423, 423, 424, 429, 429, 430, 476, 477 In bcpl_stream_io_: 46, 126, 130, 132, 132, 133 Index head: 34 IndexCh head: 35 INPUT head: 116 InsertEscapes head: 48 IosRead bcpl_stream_io_: 30, 243 IosResetread bcpl_stream_io_: 34, 296 IOstatus head: 120 IosWrite bcpl_stream_io_: 32, 249 IpowerI head: 14 ItoR head: 43 ITS head: 109, bcpl_stream_io_: 194, 232, 237, 243, 249, 284, 351 J bcpl_stream_io_: 394, 401 j bcpl_stream_io_: 319, 393, 400, 407, 410, 411, 414, 418, 418, 419, 436, 436, 437, 445, 445, 446, 448, 451, 453, 454 JoinPathname head: 85, bcpl_stream_io_: 188 K bcpl_stream_io_: 394, 401 k bcpl_stream_io_: 319, 393, 400, 443, 443, 444 L bcpl_stream_io_: 394, 401 l bcpl_stream_io_: 254, 265, 269, 305, 308, 309, 319, 331, 333, 335, 338, 369, 370, 373, 373, 377, 377, 378, 393, 400 Left head: 129 Len bcpl_stream_io_: 442, 443, 443, 443, 444 Length head: 31, bcpl_stream_io_: 58, 152, 152, 155, 163, 169, 170, 178, 191, 191, 213, 214, 217, 218, 218, 222, 223, 369, 405, 442, 463, 465 LengthInWords head: 33 Level head: 53 Logarithm head: 19 Longjump head: 52 LvL bcpl_stream_io_: 281, 284 M bcpl_stream_io_: 394, 401 m bcpl_stream_io_: 319, 393, 400 Machine head: 125 MakeBcplString head: 39 MakePl1String head: 38, bcpl_stream_io_: 186 MakeSegment head: 88, bcpl_stream_io_: 209 MakeTempSeg head: 90 MaxI head: 7 MaxLen bcpl_stream_io_: 400, 402, 404, 413, 450, 456 MaxR head: 8 MaxSegSize bcpl_stream_io_: 43, 178, 213, 214, 217, 218, 222, 305, 306, 316 MinI head: 9, bcpl_stream_io_: 434, 434 MinR head: 10 MONITOR head: 117 Move head: 56 MoveBits head: 57, bcpl_stream_io_: 374 Msf bcpl_stream_io_: 123, 182, 200, 214 MsfBits bcpl_stream_io_: 54, 123 MsfGetseg bcpl_stream_io_: 204, 217, 265, 281, 308 MsfManagerAdjust bcpl_stream_io_: 24, 352 MsfManagerClose bcpl_stream_io_: 26, 354 MsfManagerGetPtr bcpl_stream_io_: 22, 284 MsfManagerOpen bcpl_stream_io_: 20, 277 MsfNextSeg bcpl_stream_io_: 182, 252 MsfOpen bcpl_stream_io_: 202, 215, 260, 274 MultiSegmentFile head: 137, bcpl_stream_io_: 54 N bcpl_stream_io_: 394, 401 n bcpl_stream_io_: 281, 284, 287, 305, 307, 308, 319, 372, 373, 373, 374, 375, 376, 377, 384, 386, 390, 393, 400, 405, 409, 417 Name bcpl_stream_io_: 58, 150, 164, 172, 177, 184, 186, 195 Nargs bcpl_stream_io_: 149, 152, 167, 178, 191, 192, 213 Newvec head: 62 NewvecCleanup head: 61 NewvecInit head: 60 NoEntry bcpl_stream_io_: 41, 278 NoGood bcpl_stream_io_: 256, 259, 261, 266, 272 Null head: 131, bcpl_stream_io_: 150, 191, 208 NumbArgs head: 59, bcpl_stream_io_: 149, 301, 321, 365, 385 O bcpl_stream_io_: 394, 401 o bcpl_stream_io_: 319, 393, 400 Offset bcpl_stream_io_: 300, 301, 305, 306, 306, 311, 313 One bcpl_stream_io_: 49 Open head: 68, bcpl_stream_io_: 58 OptCallOut head: 144 OptConvert head: 143 OptGetNext head: 142 OptionParse head: 105 Options bcpl_stream_io_: 58, 123, 123, 123, 150 OptNegatable head: 140 OptNegate head: 141 Out bcpl_stream_io_: 46, 135, 139, 141, 142, 230, 230, 230 OUTPUT head: 116, bcpl_stream_io_: 367, 387 P bcpl_stream_io_: 394, 401 p bcpl_stream_io_: 153, 154, 155, 156, 157, 160, 161, 161, 254, 258, 263, 265, 270, 286, 287, 288, 303, 308, 311, 319, 337, 338, 338, 339, 344, 345, 347, 348, 393, 400, 404, 440, 441, 441 Packstring head: 23, bcpl_stream_io_: 412, 449, 455, 481, 500 Path bcpl_stream_io_: 180, 184, 188, 196, 199, 201, 202, 209, 215, 257, 258, 260, 274, 276 PathName head: 135, bcpl_stream_io_: 53, 183, 304, 341 Pl1ArgPtr head: 100 Pl1ArgString head: 102 Pl1Call head: 55 Pl1Descriptor head: 101 Pl1NumbArgs head: 99 Pl1ReturnString head: 103 Pointer head: 134, bcpl_stream_io_: 53, 176 ProcessFormatString bcpl_stream_io_: 397, 402, 404 ProcessItem bcpl_stream_io_: 440, 459 ProgramID head: 119, bcpl_stream_io_: 194 Q bcpl_stream_io_: 394, 401 q bcpl_stream_io_: 153, 157, 160, 319, 393, 400 R bcpl_stream_io_: 394, 401 r bcpl_stream_io_: 319, 371, 372, 374, 393, 400 RandomI head: 17 RandomR head: 18 RawClockTime head: 94 Read head: 136, bcpl_stream_io_: 52, 125, 128, 168, 206, 256, 263, 268, 278, 283, 295, 309, 311, 326, 332, 345, 352 Readch head: 70 ReadPtr bcpl_stream_io_: 28, 232 ReferencingSeg bcpl_stream_io_: 191, 194 RemoveEscapes head: 47 ResetStream head: 78, bcpl_stream_io_: 300 RevertHandler head: 112 Right head: 129 Rlen bcpl_stream_io_: 181, 195, 199, 204, 204, 207, 212, 212, 213, 217 RpowerI head: 15 RpowerR head: 16 RtoI head: 42 Rwa bcpl_stream_io_: 123, 125, 168, 204, 206, 210, 213, 214, 221, 253, 256, 263, 268, 294, 295, 303, 309, 311, 323, 326, 332, 345, 352 RwaBits bcpl_stream_io_: 52, 123, 253, 278, 283, 294, 303, 323 S bcpl_stream_io_: 394, 401 s bcpl_stream_io_: 319, 364, 366, 369, 374, 381, 393, 400 ScanChar head: 58 SearchName head: 135, bcpl_stream_io_: 53, 304, 343, 348 SegKnown bcpl_stream_io_: 38, 285 SetBitCount head: 93, bcpl_stream_io_: 210, 263, 270, 311, 345 SetHandler head: 111 SetLength head: 32, bcpl_stream_io_: 408 SetOverflowMask head: 110 Space bcpl_stream_io_: 396, 397, 398, 400, 402, 404, 408, 413, 413, 450, 450, 456, 456, 459, 464, 465, 465, 465, 466, 469, 470, 471, 481, 482, 485, 486, 489, 490, 492, 493, 496, 497, 500, 502 SplitPathname head: 86, bcpl_stream_io_: 201, 276 SquareRoot head: 13 Stream bcpl_stream_io_: 315, 315, 316, 316, 316, 317, 317, 393, 398 StreamLength head: 80, bcpl_stream_io_: 317 StreamName head: 134, bcpl_stream_io_: 53, 151, 295, 330 StreamOffset head: 79, bcpl_stream_io_: 316 StreamPointer head: 81, bcpl_stream_io_: 315 StreamRead bcpl_stream_io_: 169, 240 StreamWrite bcpl_stream_io_: 170, 247 StringToChar head: 36 Subch head: 30, bcpl_stream_io_: 381, 416, 424, 430, 443 Substr head: 29 T bcpl_stream_io_: 394, 401 t bcpl_stream_io_: 319, 393, 400 Terminate head: 92, bcpl_stream_io_: 347, 348 TimeToSeconds head: 95 Type bcpl_stream_io_: 123, 125, 151, 176, 183, 185, 294, 295, 295, 303, 304, 304, 304, 323, 324, 348 TypeBits bcpl_stream_io_: 53, 123, 294, 303, 323 U bcpl_stream_io_: 394, 401 u bcpl_stream_io_: 319, 393, 400, 406, 411, 412, 419, 437, 446, 448, 449, 454, 455 Unpackstring head: 24 V bcpl_stream_io_: 394, 401 v bcpl_stream_io_: 193, 194, 275, 277, 279, 282, 284, 319, 350, 351, 352, 354, 393, 400, 406, 412, 413, 449, 450, 455, 456, 460, 477, 480, 481, 499, 499, 500 Val bcpl_stream_io_: 440, 442, 443, 450 W bcpl_stream_io_: 394, 401 w bcpl_stream_io_: 193, 195, 196, 231, 232, 236, 237, 242, 243, 248, 249, 282, 284, 286, 319, 389, 390, 393, 400, 406, 440 Width bcpl_stream_io_: 422, 426, 426, 434, 434, 444 WordSize head: 126, bcpl_stream_io_: 397 Write head: 136, bcpl_stream_io_: 52, 137, 210, 213 Writech head: 71 WriteN head: 73, bcpl_stream_io_: 384 Writeout head: 76, bcpl_stream_io_: 291, 328, 334, 379, 381 WritePtr bcpl_stream_io_: 29, 237 WriteS head: 72, bcpl_stream_io_: 364, 390, 398 X bcpl_stream_io_: 394, 401 x bcpl_stream_io_: 171, 172, 248, 249, 319, 393, 400, 459, 463, 463, 464, 468, 469, 469, 470, 470, 470, 473, 477, 478, 478, 485, 489, 492, 496 Y bcpl_stream_io_: 394, 401 y bcpl_stream_io_: 171, 172, 319, 393, 400 z bcpl_stream_io_: 171, 172, 319 Zero bcpl_stream_io_: 49, 237, 243, 249, 353 ZeroLenSeg bcpl_stream_io_: 39, 207 Trans time 3.8, 739 object words per second. " Begin text of ConsoleWrite aa 000000 000014 103157 zero 12,34415 " ConsoleWrite aa 000001 156163 157154 zero 56435,56940 aa 000002 145127 162151 zero 51799,58473 aa 000003 164145 000000 zero 59493 L3: aa 000004 000000 213000 235 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 700435 620111 eax0 sb|285,x1 aa 000012 777760 360003 anx0 -16,du aa 000013 700025 740100 stx0 sb|21 " end of save sequence aa 000014 700004 350111 236 eapap sb|4,x1 " a vector aa 000015 700003 540111 sprpap sb|3,x1 " w aa 000016 700002 760111 237 lprpap sb|2,x1 " f aa 000017 000006 236100 ldq ap|6 aa 000020 700014 756111 stq sb|12,x1 aa 000021 700003 236111 ldq sb|3,x1 " w aa 000022 700015 756111 stq sb|13,x1 4a 000023 400136 272120 tsbbp lp|L12,* " ITS aa 000024 000012 000002 zero 10,2 aa 000025 700007 756111 stq sb|7,x1 aa 000026 000034 237004 ldaq L13 " arglist header aa 000027 700012 757111 staq sb|10,x1 " arg count aa 000030 700007 762111 lprpbp sb|7,x1 aa 000031 700014 252111 stpbp sb|12,x1 aa 000032 000033 352004 eapbp L14 " descriptor aa 000033 700022 252111 stpbp sb|18,x1 9a 000034 400012 351500 eapab lp|10 " Zero aa 000035 700016 251511 stpab sb|14,x1 aa 000036 000026 351404 eapab L15 " descriptor aa 000037 700024 251511 stpab sb|20,x1 aa 000040 700002 763111 lprpbb sb|2,x1 " f aa 000041 300000 353500 eapbb bb|0 aa 000042 700020 253511 stpbb sb|16,x1 aa 000043 000021 353404 eapbb L15 aa 000044 700026 253511 stpbb sb|22,x1 aa 000045 600010 441100 sxl1 sp|8 aa 000046 600030 650100 stplp sp|24 4a 000047 400134 352120 eapbp lp|L16,* " WritePtr aa 000050 700012 350111 eapap sb|10,x1 aa 000051 700036 670120 tsblp sb|30,* " Multics call operator aa 000052 600010 721100 lxl1 sp|8 aa 000053 700001 764111 lprplp sb|1,x1 aa 000054 700002 765111 238 lprplb sb|2,x1 " f aa 000055 500000 450100 stz lb|0 L11: aa 000056 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000057 200000 121100 sblx1 bp|0 aa 000060 700001 764111 lprplp sb|1,x1 aa 000061 200001 710100 tra bp|1 " end of return sequence " Literal pool L13: aa 000062 000006 000004 zero 6,4 " arglist header aa 000063 000006 000000 zero 6 L15: aa 000064 404000 000000 zero -129024 " descriptor L14: aa 000065 464000 000000 zero -104448 " descriptor " Begin text of StreamRead aa 000066 000012 123164 zero 10,42612 " StreamRead aa 000067 162145 141155 zero 58469,49773 aa 000070 122145 141144 zero 42085,49764 L4: aa 000071 000000 213000 240 epaq 0 " set lp to linkage section aa 000072 700026 764161 lprplp sb|22,*au aa 000073 200000 021100 adlx1 bp|0 " BCPL save aa 000074 700000 542111 sprpbp sb|0,x1 aa 000075 700001 544111 sprplp sb|1,x1 aa 000076 700452 620111 eax0 sb|298,x1 aa 000077 777760 360003 anx0 -16,du aa 000100 700025 740100 stx0 sb|21 " end of save sequence aa 000101 700002 760111 241 lprpap sb|2,x1 " f aa 000102 000001 450100 stz ap|1 aa 000103 700004 351511 242 eapab sb|4,x1 " a vector aa 000104 700003 541111 sprpab sb|3,x1 " w aa 000105 700002 761111 243 lprpab sb|2,x1 " f aa 000106 100006 236100 ldq ab|6 aa 000107 700016 756111 stq sb|14,x1 aa 000110 700003 236111 ldq sb|3,x1 " w aa 000111 700017 756111 stq sb|15,x1 4a 000112 400136 272120 tsbbp lp|L12,* " ITS aa 000113 000014 000002 zero 12,2 aa 000114 700007 756111 stq sb|7,x1 aa 000115 000073 237004 ldaq L20 " arglist header aa 000116 700014 757111 staq sb|12,x1 " arg count aa 000117 700002 763111 lprpbb sb|2,x1 " f aa 000120 300005 763100 lprpbb bb|5 aa 000121 000022 722007 lxl2 18,dl aa 000122 300000 503512 abd bb|0,x2 aa 000123 700016 253511 stpbb sb|14,x1 aa 000124 300000 236100 ldq bb|0 aa 000125 000022 772000 qrl 18 aa 000126 524000 276003 orq -88064,du aa 000127 700046 756111 stq sb|38,x1 aa 000130 700046 353511 eapbb sb|38,x1 aa 000131 700032 253511 stpbb sb|26,x1 aa 000132 700007 762111 lprpbp sb|7,x1 aa 000133 700020 252111 stpbp sb|16,x1 aa 000134 777731 352004 eapbp L14 aa 000135 700034 252111 stpbp sb|28,x1 9a 000136 400012 371500 eaplb lp|10 " Zero aa 000137 700022 651511 stplb sb|18,x1 aa 000140 777724 371404 eaplb L15 aa 000141 700036 651511 stplb sb|30,x1 aa 000142 700002 760111 lprpap sb|2,x1 " f aa 000143 000002 350100 eapap ap|2 aa 000144 700024 250111 stpap sb|20,x1 aa 000145 777717 350004 eapap L15 aa 000146 700040 250111 stpap sb|32,x1 aa 000147 700002 761111 lprpab sb|2,x1 " f aa 000150 100001 351500 eapab ab|1 aa 000151 700026 251511 stpab sb|22,x1 aa 000152 777712 351404 eapab L15 aa 000153 700042 251511 stpab sb|34,x1 aa 000154 600046 353500 eapbb sp|38 " Errcode aa 000155 700030 253511 stpbb sb|24,x1 aa 000156 000034 353404 eapbb L21 " descriptor aa 000157 700044 253511 stpbb sb|36,x1 aa 000160 600010 441100 sxl1 sp|8 aa 000161 600030 650100 stplp sp|24 4a 000162 400132 352120 eapbp lp|L22,* " IosRead aa 000163 700014 350111 eapap sb|12,x1 aa 000164 700036 670120 tsblp sb|30,* " Multics call operator aa 000165 600010 721100 lxl1 sp|8 aa 000166 700001 764111 lprplp sb|1,x1 aa 000167 700002 765111 244 lprplb sb|2,x1 " f aa 000170 500001 234100 szn lb|1 aa 000171 000011 601004 tnz L23 aa 000172 000001 236007 ldq 1,dl " 1 aa 000173 700002 760111 lprpap sb|2,x1 " f aa 000174 000001 756100 stq ap|1 aa 000175 007777 236007 ldq 4095,dl " Endofstreamch aa 000176 000033 736000 qls 27 aa 000177 700002 761111 lprpab sb|2,x1 " f aa 000200 100006 761100 lprpab ab|6 aa 000201 100000 756100 stq ab|0 L23: aa 000202 700002 763111 245 lprpbb sb|2,x1 " f aa 000203 300000 450100 stz bb|0 L19: aa 000204 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000205 200000 121100 sblx1 bp|0 aa 000206 700001 764111 lprplp sb|1,x1 aa 000207 200001 710100 tra bp|1 " end of return sequence " Literal pool L20: aa 000210 000014 000004 zero 12,4 " arglist header aa 000211 000014 000000 zero 12 L21: aa 000212 514000 000110 zero -92160,72 " descriptor " Begin text of MsfOpen aa 000213 000007 115163 zero 7,39539 " MsfOpen aa 000214 146117 160145 zero 52303,57445 aa 000215 156000 000000 zero 56320 L7: aa 000216 000000 213000 274 epaq 0 " set lp to linkage section aa 000217 700026 764161 lprplp sb|22,*au aa 000220 200000 021100 adlx1 bp|0 " BCPL save aa 000221 700000 542111 sprpbp sb|0,x1 aa 000222 700001 544111 sprplp sb|1,x1 aa 000223 700441 620111 eax0 sb|289,x1 aa 000224 777760 360003 anx0 -16,du aa 000225 700025 740100 stx0 sb|21 " end of save sequence aa 000226 700010 352111 275 eapbp sb|8,x1 " a vector aa 000227 700005 542111 sprpbp sb|5,x1 " Dir aa 000230 700072 352111 eapbp sb|58,x1 " a vector aa 000231 700004 542111 sprpbp sb|4,x1 " Ent aa 000232 700104 352111 eapbp sb|68,x1 " a vector aa 000233 700006 542111 sprpbp sb|6,x1 " v aa 000234 700003 236111 276 ldq sb|3,x1 " Path aa 000235 700112 756111 stq sb|74,x1 aa 000236 700005 236111 ldq sb|5,x1 " Dir aa 000237 700113 756111 stq sb|75,x1 aa 000240 700004 236111 ldq sb|4,x1 " Ent aa 000241 700114 756111 stq sb|76,x1 4a 000242 400130 272120 tsbbp lp|L27,* " SplitPathname aa 000243 000110 000003 zero 72,3 aa 000244 000056 237004 277 ldaq L28 " arglist header aa 000245 700110 757111 staq sb|72,x1 " arg count aa 000246 700005 762111 lprpbp sb|5,x1 " Dir aa 000247 700112 252111 stpbp sb|74,x1 aa 000250 000056 352004 eapbp L29 " descriptor aa 000251 700122 252111 stpbp sb|82,x1 aa 000252 700004 765111 lprplb sb|4,x1 " Ent aa 000253 700114 651511 stplb sb|76,x1 aa 000254 000051 371404 eaplb L30 " descriptor aa 000255 700124 651511 stplb sb|84,x1 aa 000256 700006 760111 lprpap sb|6,x1 " v aa 000257 700116 250111 stpap sb|78,x1 aa 000260 777605 350004 eapap L14 aa 000261 700126 250111 stpap sb|86,x1 aa 000262 600046 351500 eapab sp|38 " Errcode aa 000263 700120 251511 stpab sb|80,x1 aa 000264 000040 351404 eapab L31 " descriptor aa 000265 700130 251511 stpab sb|88,x1 aa 000266 600010 441100 sxl1 sp|8 aa 000267 600030 650100 stplp sp|24 4a 000270 400126 352120 eapbp lp|L32,* " MsfManagerOpen aa 000271 700110 350111 eapap sb|72,x1 aa 000272 700036 670120 tsblp sb|30,* " Multics call operator aa 000273 600010 721100 lxl1 sp|8 aa 000274 700001 764111 lprplp sb|1,x1 aa 000275 600046 234100 278 szn sp|38 " Errcode aa 000276 000012 600004 tze L33 aa 000277 600046 236100 ldq sp|38 " Errcode 4a 000300 400124 116120 cmpq lp|L35,* aa 000301 000007 601004 tnz L34 aa 000302 700002 763111 lprpbb sb|2,x1 " f aa 000303 300003 235100 lda bb|3 aa 000304 000060 375007 ana 48,dl " RwaBits aa 000305 000020 115007 cmpa 16,dl " Read aa 000306 000002 600004 tze L34 aa 000307 600046 450100 stz sp|38 " Errcode L34: L33: aa 000310 700006 235111 279 lda sb|6,x1 " v aa 000311 700112 755111 sta sb|74,x1 4a 000312 400122 272120 tsbbp lp|L36,* " BCPLaddr aa 000313 000110 000001 zero 72,1 aa 000314 700002 765111 lprplb sb|2,x1 " f aa 000315 500010 756100 stq lb|8 L26: aa 000316 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000317 200000 121100 sblx1 bp|0 aa 000320 700001 764111 lprplp sb|1,x1 aa 000321 200001 710100 tra bp|1 " end of return sequence " Literal pool L28: aa 000322 000010 000004 zero 8,4 " arglist header aa 000323 000010 000000 zero 8 L31: aa 000324 514000 000044 zero -92160,36 " descriptor L30: aa 000325 524000 000040 zero -88064,32 " descriptor L29: aa 000326 524000 000250 zero -88064,168 " descriptor " Begin text of MsfGetseg aa 000327 000011 115163 zero 9,39539 " MsfGetseg aa 000330 146107 145164 zero 52295,51828 aa 000331 163145 147000 zero 58981,52736 L8: aa 000332 000000 213000 281 epaq 0 " set lp to linkage section aa 000333 700026 764161 lprplp sb|22,*au aa 000334 200000 021100 adlx1 bp|0 " BCPL save aa 000335 700000 542111 sprpbp sb|0,x1 aa 000336 700001 544111 sprplp sb|1,x1 aa 000337 700451 620111 eax0 sb|297,x1 aa 000340 777760 360003 anx0 -16,du aa 000341 700025 740100 stx0 sb|21 " end of save sequence aa 000342 700010 350111 282 eapap sb|8,x1 " a vector aa 000343 700006 540111 sprpap sb|6,x1 " v aa 000344 700014 350111 eapap sb|12,x1 " a vector aa 000345 700007 540111 sprpap sb|7,x1 " w aa 000346 700002 760111 283 lprpap sb|2,x1 " f aa 000347 000003 236100 ldq ap|3 aa 000350 000060 376007 anq 48,dl " RwaBits aa 000351 000020 116007 cmpq 16,dl " Read aa 000352 000003 601004 tnz L40 aa 000353 000000 236007 ldq 0,dl " 0 aa 000354 000002 710004 tra L41 L40: aa 000355 400000 236003 ldq -131072,du L41: aa 000356 700017 756111 stq sb|15,x1 aa 000357 700017 236111 ldq sb|15,x1 aa 000360 700013 756111 stq sb|11,x1 " Createsw aa 000361 700002 761111 284 lprpab sb|2,x1 " f aa 000362 100010 236100 ldq ab|8 aa 000363 700024 756111 stq sb|20,x1 aa 000364 700006 236111 ldq sb|6,x1 " v aa 000365 700025 756111 stq sb|21,x1 4a 000366 400136 272120 tsbbp lp|L12,* " ITS aa 000367 000022 000002 zero 18,2 aa 000370 700017 756111 stq sb|15,x1 aa 000371 777617 237004 ldaq L20 aa 000372 700022 757111 staq sb|18,x1 " arg count aa 000373 700017 762111 lprpbp sb|15,x1 aa 000374 700024 252111 stpbp sb|20,x1 aa 000375 777470 352004 eapbp L14 aa 000376 700040 252111 stpbp sb|32,x1 aa 000377 700003 353511 eapbb sb|3,x1 " n aa 000400 700026 253511 stpbb sb|22,x1 aa 000401 777463 353404 eapbb L15 aa 000402 700042 253511 stpbb sb|34,x1 aa 000403 700013 371511 eaplb sb|11,x1 " Createsw aa 000404 700030 651511 stplb sb|24,x1 aa 000405 000056 371404 eaplb L42 " descriptor aa 000406 700044 651511 stplb sb|36,x1 aa 000407 700007 760111 lprpap sb|7,x1 " w aa 000410 700032 250111 stpap sb|26,x1 aa 000411 777454 350004 eapap L14 aa 000412 700046 250111 stpap sb|38,x1 aa 000413 700004 761111 lprpab sb|4,x1 " LvL aa 000414 700034 251511 stpab sb|28,x1 aa 000415 777447 351404 eapab L15 aa 000416 700050 251511 stpab sb|40,x1 aa 000417 600046 352100 eapbp sp|38 " Errcode aa 000420 700036 252111 stpbp sb|30,x1 aa 000421 777703 352004 eapbp L31 aa 000422 700052 252111 stpbp sb|42,x1 aa 000423 600010 441100 sxl1 sp|8 aa 000424 600030 650100 stplp sp|24 4a 000425 400120 352120 eapbp lp|L43,* " MsfManagerGetPtr aa 000426 700022 350111 eapap sb|18,x1 aa 000427 700036 670120 tsblp sb|30,* " Multics call operator aa 000430 600010 721100 lxl1 sp|8 aa 000431 700001 764111 lprplp sb|1,x1 aa 000432 600046 234100 285 szn sp|38 " Errcode aa 000433 000005 600004 tze L44 aa 000434 600046 236100 ldq sp|38 " Errcode 4a 000435 400116 116120 cmpq lp|L46,* aa 000436 000002 601004 tnz L45 aa 000437 600046 450100 stz sp|38 " Errcode L45: L44: aa 000440 700007 235111 286 lda sb|7,x1 " w aa 000441 700024 755111 sta sb|20,x1 4a 000442 400122 272120 tsbbp lp|L36,* " BCPLaddr aa 000443 000022 000001 zero 18,1 aa 000444 700017 756111 stq sb|15,x1 " p aa 000445 700017 236111 287 ldq sb|15,x1 " p aa 000446 700002 763111 lprpbb sb|2,x1 " f aa 000447 300006 756100 stq bb|6 aa 000450 700003 236111 ldq sb|3,x1 " n aa 000451 700002 765111 lprplb sb|2,x1 " f aa 000452 500007 756100 stq lb|7 aa 000453 700017 236111 288 ldq sb|15,x1 " p L39: aa 000454 700006 756111 stq sb|6,x1 aa 000455 700006 236111 ldq sb|6,x1 aa 000456 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000457 200000 121100 sblx1 bp|0 aa 000460 700001 764111 lprplp sb|1,x1 aa 000461 200001 710100 tra bp|1 " end of return sequence aa 000462 700005 756111 stq sb|5,x1 " temporary " Literal pool L42: aa 000463 514000 000001 zero -92160,1 " descriptor " Begin text of MsfNextSeg aa 000464 000012 115163 zero 10,39539 " MsfNextSeg aa 000465 146116 145170 zero 52302,51832 aa 000466 164123 145147 zero 59475,51815 L6: aa 000467 000000 213000 252 epaq 0 " set lp to linkage section aa 000470 700026 764161 lprplp sb|22,*au aa 000471 200000 021100 adlx1 bp|0 " BCPL save aa 000472 700000 542111 sprpbp sb|0,x1 aa 000473 700001 544111 sprplp sb|1,x1 aa 000474 700424 620111 eax0 sb|276,x1 aa 000475 777760 360003 anx0 -16,du aa 000476 700025 740100 stx0 sb|21 " end of save sequence aa 000477 700002 760111 253 lprpap sb|2,x1 " f aa 000500 000003 236100 ldq ap|3 aa 000501 000060 376007 anq 48,dl " RwaBits aa 000502 700003 756111 stq sb|3,x1 " Rwa aa 000503 700004 450111 254 stz sb|4,x1 " l aa 000504 700002 761111 lprpab sb|2,x1 " f aa 000505 100006 236100 ldq ab|6 aa 000506 700005 756111 stq sb|5,x1 " p aa 000507 700002 762111 255 lprpbp sb|2,x1 " f aa 000510 200010 234100 szn bp|8 aa 000511 000026 601004 tnz L51 aa 000512 700003 236111 256 ldq sb|3,x1 " Rwa aa 000513 000020 116007 cmpq 16,dl " Read aa 000514 000074 600004 tze L47 aa 000515 700010 353511 257 eapbb sb|8,x1 " a vector aa 000516 700006 543111 sprpbb sb|6,x1 " Path aa 000517 700005 235111 258 lda sb|5,x1 " p aa 000520 700076 755111 sta sb|62,x1 aa 000521 700006 235111 lda sb|6,x1 " Path aa 000522 700077 755111 sta sb|63,x1 4a 000523 400114 272120 tsbbp lp|L52,* " GetPathname aa 000524 000074 000002 zero 60,2 aa 000525 600046 234100 259 szn sp|38 " Errcode aa 000526 000062 601004 tnz L47 aa 000527 700002 235111 260 lda sb|2,x1 " f aa 000530 700076 755111 sta sb|62,x1 aa 000531 700006 235111 lda sb|6,x1 " Path aa 000532 700077 755111 sta sb|63,x1 aa 000533 777465 272004 tsbbp L7+2 " MsfOpen aa 000534 000074 000002 zero 60,2 aa 000535 600046 234100 261 szn sp|38 " Errcode aa 000536 000052 601004 tnz L47 L51: aa 000537 700003 235111 263 lda sb|3,x1 " Rwa aa 000540 000020 115007 cmpa 16,dl " Read aa 000541 000011 600004 tze L53 aa 000542 700005 236111 ldq sb|5,x1 " p aa 000543 700076 756111 stq sb|62,x1 aa 000544 700002 763111 lprpbb sb|2,x1 " f aa 000545 300000 236100 ldq bb|0 aa 000546 000011 402007 mpy 9,dl " 9 aa 000547 700077 756111 stq sb|63,x1 4a 000550 400112 272120 tsbbp lp|L54,* " SetBitCount aa 000551 000074 000002 zero 60,2 L53: aa 000552 700002 765111 264 lprplb sb|2,x1 " f aa 000553 500007 054100 aos lb|7 aa 000554 700002 236111 265 ldq sb|2,x1 " f aa 000555 700076 756111 stq sb|62,x1 aa 000556 700002 760111 lprpap sb|2,x1 " f aa 000557 000007 236100 ldq ap|7 aa 000560 700077 756111 stq sb|63,x1 aa 000561 700004 351511 eapab sb|4,x1 " l aa 000562 700100 541111 sprpab sb|64,x1 aa 000563 777551 272004 tsbbp L8+2 " MsfGetseg aa 000564 000074 000003 zero 60,3 aa 000565 700005 756111 stq sb|5,x1 " p aa 000566 600046 234100 266 szn sp|38 " Errcode aa 000567 000021 601004 tnz L47 aa 000570 700002 761111 267 lprpab sb|2,x1 " f aa 000571 100000 450100 stz ab|0 aa 000572 700003 236111 268 ldq sb|3,x1 " Rwa aa 000573 000020 116007 cmpq 16,dl " Read aa 000574 000006 601004 tnz L55 aa 000575 700004 236111 269 ldq sb|4,x1 " l aa 000576 000011 506007 div 9,dl " 9 aa 000577 700002 762111 lprpbp sb|2,x1 " f aa 000600 200001 756100 stq bp|1 aa 000601 000006 710004 tra L56 L55: aa 000602 700005 236111 270 ldq sb|5,x1 " p aa 000603 700076 756111 stq sb|62,x1 aa 000604 700077 450111 stz sb|63,x1 4a 000605 400112 272120 tsbbp lp|L54,* " SetBitCount aa 000606 000074 000002 zero 60,2 L56: aa 000607 000003 710004 272 tra L50 L47: aa 000610 700002 763111 lprpbb sb|2,x1 " f aa 000611 300004 450100 stz bb|4 L50: aa 000612 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000613 200000 121100 sblx1 bp|0 aa 000614 700001 764111 lprplp sb|1,x1 aa 000615 200001 710100 tra bp|1 " end of return sequence " Begin text of StreamWrite aa 000616 000013 123164 zero 11,42612 " StreamWrite aa 000617 162145 141155 zero 58469,49773 aa 000620 127162 151164 zero 44658,53876 aa 000621 145000 000000 zero 51712 L5: aa 000622 000000 213000 247 epaq 0 " set lp to linkage section aa 000623 700026 764161 lprplp sb|22,*au aa 000624 200000 021100 adlx1 bp|0 " BCPL save aa 000625 700000 542111 sprpbp sb|0,x1 aa 000626 700001 544111 sprplp sb|1,x1 aa 000627 700452 620111 eax0 sb|298,x1 aa 000630 777760 360003 anx0 -16,du aa 000631 700025 740100 stx0 sb|21 " end of save sequence aa 000632 700006 371511 248 eaplb sb|6,x1 " a vector aa 000633 700003 545111 sprplb sb|3,x1 " w aa 000634 700002 765111 249 lprplb sb|2,x1 " f aa 000635 500006 236100 ldq lb|6 aa 000636 700016 756111 stq sb|14,x1 aa 000637 700003 236111 ldq sb|3,x1 " w aa 000640 700017 756111 stq sb|15,x1 4a 000641 400136 272120 tsbbp lp|L12,* " ITS aa 000642 000014 000002 zero 12,2 aa 000643 700005 756111 stq sb|5,x1 aa 000644 777344 237004 ldaq L20 aa 000645 700014 757111 staq sb|12,x1 " arg count aa 000646 700002 760111 lprpap sb|2,x1 " f aa 000647 000005 760100 lprpap ap|5 aa 000650 000022 723007 lxl3 18,dl aa 000651 000000 503513 abd ap|0,x3 aa 000652 700016 250111 stpap sb|14,x1 aa 000653 000000 236100 ldq ap|0 aa 000654 000022 772000 qrl 18 aa 000655 524000 276003 orq -88064,du aa 000656 700046 756111 stq sb|38,x1 aa 000657 700046 350111 eapap sb|38,x1 aa 000660 700032 250111 stpap sb|26,x1 aa 000661 700005 761111 lprpab sb|5,x1 aa 000662 700020 251511 stpab sb|16,x1 aa 000663 777202 351404 eapab L14 aa 000664 700034 251511 stpab sb|28,x1 9a 000665 400012 352100 eapbp lp|10 " Zero aa 000666 700022 252111 stpbp sb|18,x1 aa 000667 777175 352004 eapbp L15 aa 000670 700036 252111 stpbp sb|30,x1 aa 000671 700002 763111 lprpbb sb|2,x1 " f aa 000672 300000 353500 eapbb bb|0 aa 000673 700024 253511 stpbb sb|20,x1 aa 000674 777170 353404 eapbb L15 aa 000675 700040 253511 stpbb sb|32,x1 aa 000676 700004 371511 eaplb sb|4,x1 " x aa 000677 700026 651511 stplb sb|22,x1 aa 000700 777164 371404 eaplb L15 aa 000701 700042 651511 stplb sb|34,x1 aa 000702 600046 350100 eapap sp|38 " Errcode aa 000703 700030 250111 stpap sb|24,x1 aa 000704 777306 350004 eapap L21 aa 000705 700044 250111 stpap sb|36,x1 aa 000706 600010 441100 sxl1 sp|8 aa 000707 600030 650100 stplp sp|24 4a 000710 400110 352120 eapbp lp|L60,* " IosWrite aa 000711 700014 350111 eapap sb|12,x1 aa 000712 700036 670120 tsblp sb|30,* " Multics call operator aa 000713 600010 721100 lxl1 sp|8 aa 000714 700001 764111 lprplp sb|1,x1 aa 000715 700002 761111 250 lprpab sb|2,x1 " f aa 000716 100000 450100 stz ab|0 L59: aa 000717 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000720 200000 121100 sblx1 bp|0 aa 000721 700001 764111 lprplp sb|1,x1 aa 000722 200001 710100 tra bp|1 " end of return sequence " Begin text of ConsoleRead aa 000723 000013 103157 zero 11,34415 " ConsoleRead aa 000724 156163 157154 zero 56435,56940 aa 000725 145122 145141 zero 51794,51809 aa 000726 144000 000000 zero 51200 L2: aa 000727 000000 213000 229 epaq 0 " set lp to linkage section aa 000730 700026 764161 lprplp sb|22,*au aa 000731 200000 021100 adlx1 bp|0 " BCPL save aa 000732 700000 542111 sprpbp sb|0,x1 aa 000733 700001 544111 sprplp sb|1,x1 aa 000734 700435 620111 eax0 sb|285,x1 aa 000735 777760 360003 anx0 -16,du aa 000736 700025 740100 stx0 sb|21 " end of save sequence 9a 000737 400015 234100 230 szn lp|13 " Out aa 000740 000010 600004 tze L64 9a 000741 400015 763100 lprpbb lp|13 " Out aa 000742 300000 234100 szn bb|0 aa 000743 000005 600004 tze L64 9a 000744 400015 236100 ldq lp|13 " Out aa 000745 700016 756111 stq sb|14,x1 aa 000746 777040 272004 tsbbp L3+2 " ConsoleWrite aa 000747 000014 000001 zero 12,1 L64: aa 000750 700004 371511 231 eaplb sb|4,x1 " a vector aa 000751 700003 545111 sprplb sb|3,x1 " w aa 000752 700002 765111 232 lprplb sb|2,x1 " f aa 000753 500006 236100 ldq lb|6 aa 000754 700016 756111 stq sb|14,x1 aa 000755 700003 236111 ldq sb|3,x1 " w aa 000756 700017 756111 stq sb|15,x1 4a 000757 400136 272120 tsbbp lp|L12,* " ITS aa 000760 000014 000002 zero 12,2 aa 000761 700007 756111 stq sb|7,x1 aa 000762 777100 237004 ldaq L13 aa 000763 700014 757111 staq sb|12,x1 " arg count aa 000764 700007 760111 lprpap sb|7,x1 aa 000765 700016 250111 stpap sb|14,x1 aa 000766 777077 350004 eapap L14 aa 000767 700024 250111 stpap sb|20,x1 aa 000770 700002 762111 lprpbp sb|2,x1 " f aa 000771 200002 352100 eapbp bp|2 aa 000772 700020 252111 stpbp sb|16,x1 aa 000773 777071 352004 eapbp L15 aa 000774 700026 252111 stpbp sb|22,x1 aa 000775 700002 761111 lprpab sb|2,x1 " f aa 000776 100001 351500 eapab ab|1 aa 000777 700022 251511 stpab sb|18,x1 aa 001000 777064 351404 eapab L15 aa 001001 700030 251511 stpab sb|24,x1 aa 001002 600010 441100 sxl1 sp|8 aa 001003 600030 650100 stplp sp|24 4a 001004 400106 352120 eapbp lp|L65,* " ReadPtr aa 001005 700014 350111 eapap sb|12,x1 aa 001006 700036 670120 tsblp sb|30,* " Multics call operator aa 001007 600010 721100 lxl1 sp|8 aa 001010 700001 764111 lprplp sb|1,x1 aa 001011 700002 763111 233 lprpbb sb|2,x1 " f aa 001012 300000 450100 stz bb|0 L63: aa 001013 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001014 200000 121100 sblx1 bp|0 aa 001015 700001 764111 lprplp sb|1,x1 aa 001016 200001 710100 tra bp|1 " end of return sequence " Begin text of Open aa 001017 000004 117160 zero 4,40560 " Open aa 001020 145156 000000 zero 51822 L1: aa 001021 000000 213000 58 epaq 0 " set lp to linkage section aa 001022 700026 764161 lprplp sb|22,*au aa 001023 200000 021100 adlx1 bp|0 " BCPL save aa 001024 700000 542111 sprpbp sb|0,x1 aa 001025 700001 544111 sprplp sb|1,x1 aa 001026 700453 620111 eax0 sb|299,x1 aa 001027 777760 360003 anx0 -16,du aa 001030 700025 740100 stx0 sb|21 " end of save sequence aa 001031 700002 236111 123 ldq sb|2,x1 " Options aa 001032 000007 376007 anq 7,dl " TypeBits aa 001033 700011 756111 stq sb|9,x1 " Type aa 001034 700002 236111 ldq sb|2,x1 " Options aa 001035 000060 376007 anq 48,dl " RwaBits aa 001036 700007 756111 stq sb|7,x1 " Rwa aa 001037 700002 236111 ldq sb|2,x1 " Options aa 001040 000200 376007 anq 128,dl " MsfBits aa 001041 700010 756111 stq sb|8,x1 " Msf aa 001042 600046 450100 124 stz sp|38 " Errcode aa 001043 700011 236111 125 ldq sb|9,x1 " Type aa 001044 000002 116007 cmpq 2,dl " Console aa 001045 000117 601004 tnz L70 aa 001046 700007 235111 lda sb|7,x1 " Rwa aa 001047 000020 115007 cmpa 16,dl " Read aa 001050 000046 601004 tnz L71 9a 001051 400016 234100 126 szn lp|14 " In aa 001052 000036 601004 tnz L73 aa 001053 000012 236007 127 ldq 10,dl " 10 aa 001054 700202 756111 stq sb|130,x1 4a 001055 400104 272120 tsbbp lp|L74,* " Allocate aa 001056 000200 000001 zero 128,1 aa 001057 700012 756111 stq sb|10,x1 " f aa 001060 000022 236007 128 ldq 18,dl aa 001061 700012 765111 lprplb sb|10,x1 " f aa 001062 500003 756100 stq lb|3 aa 001063 003100 236007 ldq 1600,dl aa 001064 700012 760111 lprpap sb|10,x1 " f aa 001065 000002 756100 stq ap|2 aa 001066 777641 351404 eapab L2 " ConsoleRead aa 001067 700012 762111 lprpbp sb|10,x1 " f aa 001070 200004 541100 sprpab bp|4 aa 001071 000620 236007 129 ldq 400,dl " 400 aa 001072 700202 756111 stq sb|130,x1 4a 001073 400104 272120 tsbbp lp|L74,* " Allocate aa 001074 000200 000001 zero 128,1 aa 001075 700012 761111 lprpab sb|10,x1 " f aa 001076 100006 756100 stq ab|6 aa 001077 700012 763111 lprpbb sb|10,x1 " f aa 001100 300010 450100 stz bb|8 aa 001101 700012 765111 lprplb sb|10,x1 " f aa 001102 500007 450100 stz lb|7 aa 001103 001017 350004 eapap L75 " "user_input" aa 001104 700012 762111 lprpbp sb|10,x1 " f aa 001105 200005 540100 sprpap bp|5 aa 001106 700012 236111 130 ldq sb|10,x1 " f 9a 001107 400016 756100 stq lp|14 " In L73: 9a 001110 400016 760100 132 lprpap lp|14 " In aa 001111 000001 450100 stz ap|1 9a 001112 400016 761100 lprpab lp|14 " In aa 001113 100000 450100 stz ab|0 9a 001114 400016 236100 133 ldq lp|14 " In aa 001115 000764 710004 tra L69 L71: 9a 001116 400015 234100 135 szn lp|13 " Out aa 001117 000041 601004 tnz L76 aa 001120 000012 235007 136 lda 10,dl " 10 aa 001121 700202 755111 sta sb|130,x1 4a 001122 400104 272120 tsbbp lp|L74,* " Allocate aa 001123 000200 000001 zero 128,1 aa 001124 700012 756111 stq sb|10,x1 " f aa 001125 000620 236007 137 ldq 400,dl aa 001126 700012 763111 lprpbb sb|10,x1 " f aa 001127 300001 756100 stq bb|1 aa 001130 000012 236007 ldq 10,dl " '*n' aa 001131 700012 765111 lprplb sb|10,x1 " f aa 001132 500002 756100 stq lb|2 aa 001133 776651 352004 eapbp L3 " ConsoleWrite aa 001134 700012 760111 lprpap sb|10,x1 " f aa 001135 000004 542100 sprpbp ap|4 aa 001136 000042 236007 ldq 34,dl aa 001137 700012 762111 lprpbp sb|10,x1 " f aa 001140 200003 756100 stq bp|3 aa 001141 700012 761111 138 lprpab sb|10,x1 " f aa 001142 100007 450100 stz ab|7 aa 001143 000144 236007 ldq 100,dl " 100 aa 001144 700202 756111 stq sb|130,x1 4a 001145 400104 272120 tsbbp lp|L74,* " Allocate aa 001146 000200 000001 zero 128,1 aa 001147 700012 763111 lprpbb sb|10,x1 " f aa 001150 300006 756100 stq bb|6 aa 001151 000745 371404 eaplb L77 " "user_output" aa 001152 700012 760111 lprpap sb|10,x1 " f aa 001153 000005 545100 sprplb ap|5 aa 001154 700012 765111 lprplb sb|10,x1 " f aa 001155 500010 450100 stz lb|8 aa 001156 700012 236111 139 ldq sb|10,x1 " f 9a 001157 400015 756100 stq lp|13 " Out L76: 9a 001160 400015 762100 141 lprpbp lp|13 " Out aa 001161 200000 450100 stz bp|0 9a 001162 400015 236100 142 ldq lp|13 " Out aa 001163 000716 710004 tra L69 L72: L70: 9a 001164 400014 235100 144 lda lp|12 " Freelist aa 001165 700012 755111 sta sb|10,x1 " f aa 001166 700012 234111 145 szn sb|10,x1 " f aa 001167 000007 601004 tnz L78 aa 001170 000012 235007 146 lda 10,dl " 10 aa 001171 700202 755111 sta sb|130,x1 4a 001172 400104 272120 tsbbp lp|L74,* " Allocate aa 001173 000200 000001 zero 128,1 aa 001174 700012 756111 stq sb|10,x1 " f aa 001175 000004 710004 tra L79 L78: aa 001176 700012 761111 147 lprpab sb|10,x1 " f aa 001177 100000 236100 ldq ab|0 9a 001200 400014 756100 stq lp|12 " Freelist L79: 4a 001201 400102 272120 149 tsbbp lp|L80,* " NumbArgs aa 001202 000200 000000 zero 128 aa 001203 700014 756111 stq sb|12,x1 " Nargs aa 001204 700012 763111 150 lprpbb sb|10,x1 " f aa 001205 300000 450100 stz bb|0 aa 001206 700012 760111 lprpap sb|10,x1 " f aa 001207 000002 450100 stz ap|2 aa 001210 700002 236111 ldq sb|2,x1 " Options aa 001211 700012 765111 lprplb sb|10,x1 " f aa 001212 500003 756100 stq lb|3 aa 001213 000702 236004 ldq L81 " Null aa 001214 700012 762111 lprpbp sb|10,x1 " f aa 001215 200006 756100 stq bp|6 aa 001216 700012 761111 lprpab sb|10,x1 " f aa 001217 100010 450100 stz ab|8 aa 001220 700003 236111 ldq sb|3,x1 " Name aa 001221 700012 763111 lprpbb sb|10,x1 " f aa 001222 300005 756100 stq bb|5 aa 001223 700012 760111 lprpap sb|10,x1 " f aa 001224 000007 450100 stz ap|7 aa 001225 700012 765111 lprplb sb|10,x1 " f aa 001226 500004 450100 stz lb|4 aa 001227 700012 762111 lprpbp sb|10,x1 " f aa 001230 200001 450100 stz bp|1 aa 001231 700011 236111 151 ldq sb|9,x1 " Type aa 001232 000003 116007 cmpq 3,dl " StreamName aa 001233 000163 601004 tnz L82 aa 001234 700014 235111 152 lda sb|12,x1 " Nargs aa 001235 000003 115007 cmpa 3,dl " 3 aa 001236 000003 604004 tmi L85 aa 001237 700004 234111 szn sb|4,x1 " Length aa 001240 000003 605404 tpnz L84 L85: aa 001241 000310 236007 ldq 200,dl " 200 aa 001242 700004 756111 stq sb|4,x1 " Length L84: 9a 001243 400013 351500 153 eapab lp|11 " Bufferlist aa 001244 700015 541111 sprpab sb|13,x1 " q 9a 001245 400013 236100 ldq lp|11 " Bufferlist aa 001246 700016 756111 stq sb|14,x1 " p aa 001247 000021 710004 154 tra L86 L87: aa 001250 700016 761111 155 lprpab sb|14,x1 " p aa 001251 100001 236100 ldq ab|1 aa 001252 700004 116111 cmpq sb|4,x1 " Length aa 001253 000010 601004 tnz L88 aa 001254 700016 235111 156 lda sb|14,x1 " p aa 001255 700013 755111 sta sb|11,x1 " Buffer aa 001256 700016 763111 157 lprpbb sb|14,x1 " p aa 001257 300000 235100 lda bb|0 aa 001260 700015 760111 lprpap sb|13,x1 " q aa 001261 000000 755100 sta ap|0 aa 001262 000017 710004 158 tra L66 L88: aa 001263 700016 235111 160 lda sb|14,x1 " p aa 001264 700015 755111 sta sb|13,x1 " q aa 001265 700016 765111 161 lprplb sb|14,x1 " p aa 001266 500000 235100 lda lb|0 aa 001267 700016 755111 sta sb|14,x1 " p L86: aa 001270 700016 234111 szn sb|14,x1 " p aa 001271 777757 601004 tnz L87 aa 001272 700004 236111 163 ldq sb|4,x1 " Length aa 001273 000004 506007 div 4,dl " 4 aa 001274 000012 076007 adq 10,dl " 10 aa 001275 700202 756111 stq sb|130,x1 4a 001276 400104 272120 tsbbp lp|L74,* " Allocate aa 001277 000200 000001 zero 128,1 aa 001300 700013 756111 stq sb|11,x1 " Buffer L66: aa 001301 700017 450111 164 stz sb|15,x1 " i aa 001302 000010 710004 tra L89 L90: aa 001303 700017 724111 lxl4 sb|15,x1 " i aa 001304 700003 762111 lprpbp sb|3,x1 " Name aa 001305 200000 236114 ldq bp|0,x4 aa 001306 700017 725111 lxl5 sb|15,x1 " i aa 001307 700013 761111 lprpab sb|11,x1 " Buffer aa 001310 100000 756115 stq ab|0,x5 aa 001311 700017 054111 aos sb|15,x1 " i L89: aa 001312 700017 236111 ldq sb|15,x1 " i aa 001313 000010 116007 cmpq 8,dl " 8 aa 001314 777767 604404 tmoz L90 aa 001315 700013 235111 165 lda sb|11,x1 " Buffer aa 001316 700012 763111 lprpbb sb|10,x1 " f aa 001317 300005 755100 sta bb|5 aa 001320 000011 235007 166 lda 9,dl " 9 aa 001321 700013 055111 asa sb|11,x1 " Buffer aa 001322 700014 235111 167 lda sb|12,x1 " Nargs aa 001323 000004 115007 cmpa 4,dl " 4 aa 001324 000003 605004 tpl L91 aa 001325 000012 236007 ldq 10,dl " '*n' aa 001326 700005 756111 stq sb|5,x1 " Delimiter L91: aa 001327 700007 236111 168 ldq sb|7,x1 " Rwa aa 001330 000020 116007 cmpq 16,dl " Read aa 001331 000010 601004 tnz L92 aa 001332 700004 235111 169 lda sb|4,x1 " Length aa 001333 700012 760111 lprpap sb|10,x1 " f aa 001334 000002 755100 sta ap|2 aa 001335 776534 371404 eaplb L4 " StreamRead aa 001336 700012 762111 lprpbp sb|10,x1 " f aa 001337 200004 545100 sprplb bp|4 aa 001340 000012 710004 tra L93 L92: aa 001341 700005 235111 170 lda sb|5,x1 " Delimiter aa 001342 700012 765111 lprplb sb|10,x1 " f aa 001343 500002 755100 sta lb|2 aa 001344 777256 351404 eapab L5 " StreamWrite aa 001345 700012 763111 lprpbb sb|10,x1 " f aa 001346 300004 541100 sprpab bb|4 aa 001347 700004 235111 lda sb|4,x1 " Length aa 001350 700012 761111 lprpab sb|10,x1 " f aa 001351 100001 755100 sta ab|1 L93: aa 001352 000540 237004 172 ldaq L94 " arglist header aa 001353 700200 757111 staq sb|128,x1 " arg count aa 001354 700003 760111 lprpap sb|3,x1 " Name aa 001355 000022 726007 lxl6 18,dl aa 001356 000000 503516 abd ap|0,x6 aa 001357 700202 250111 stpap sb|130,x1 aa 001360 000000 235100 lda ap|0 aa 001361 000022 771000 arl 18 aa 001362 524000 275003 ora -88064,du aa 001363 700226 755111 sta sb|150,x1 aa 001364 700226 350111 eapap sb|150,x1 aa 001365 700214 250111 stpap sb|140,x1 aa 001366 700021 352111 eapbp sb|17,x1 " x aa 001367 700204 252111 stpbp sb|132,x1 aa 001370 000524 352004 eapbp L95 " descriptor aa 001371 700216 252111 stpbp sb|142,x1 aa 001372 700020 371511 eaplb sb|16,x1 " y aa 001373 700206 651511 stplb sb|134,x1 aa 001374 000520 371404 eaplb L95 aa 001375 700220 651511 stplb sb|144,x1 aa 001376 700017 353511 eapbb sb|15,x1 " z aa 001377 700210 253511 stpbb sb|136,x1 aa 001400 000514 353404 eapbb L95 aa 001401 700222 253511 stpbb sb|146,x1 aa 001402 600046 351500 eapab sp|38 " Errcode aa 001403 700212 251511 stpab sb|138,x1 aa 001404 776720 351404 eapab L31 aa 001405 700224 251511 stpab sb|148,x1 aa 001406 600010 441100 sxl1 sp|8 aa 001407 600030 650100 stplp sp|24 4a 001410 400100 352120 eapbp lp|L96,* " GetAtEntry aa 001411 700200 350111 eapap sb|128,x1 aa 001412 700036 670120 tsblp sb|30,* " Multics call operator aa 001413 600010 721100 lxl1 sp|8 aa 001414 700001 764111 lprplp sb|1,x1 aa 001415 000460 710004 tra L83 L82: aa 001416 700011 235111 176 lda sb|9,x1 " Type aa 001417 000001 115007 cmpa 1,dl " Pointer aa 001420 000012 601004 tnz L97 aa 001421 700003 236111 177 ldq sb|3,x1 " Name aa 001422 700013 756111 stq sb|11,x1 " Buffer aa 001423 700014 236111 178 ldq sb|12,x1 " Nargs aa 001424 000003 116007 cmpq 3,dl " 3 aa 001425 000004 605004 tpl L99 4a 001426 400076 235120 lda lp|L100,* aa 001427 000002 735000 als 2 aa 001430 700004 755111 sta sb|4,x1 " Length L99: aa 001431 000426 710004 tra L98 L97: aa 001432 700026 350111 180 eapap sb|22,x1 " a vector aa 001433 700016 540111 sprpap sb|14,x1 " Path aa 001434 700102 350111 eapap sb|66,x1 " a vector aa 001435 700015 540111 sprpap sb|13,x1 " Dir aa 001436 700156 350111 eapap sb|110,x1 " a vector aa 001437 700017 540111 sprpap sb|15,x1 " Ent aa 001440 700155 450111 181 stz sb|109,x1 " Rlen aa 001441 700010 234111 182 szn sb|8,x1 " Msf aa 001442 000004 600004 tze L101 aa 001443 777024 350004 eapap L6 " MsfNextSeg aa 001444 700012 765111 lprplb sb|10,x1 " f aa 001445 500004 540100 sprpap lb|4 L101: aa 001446 700011 235111 183 lda sb|9,x1 " Type aa 001447 000004 115007 cmpa 4,dl " PathName aa 001450 000010 601004 tnz L102 aa 001451 700003 236111 184 ldq sb|3,x1 " Name aa 001452 700202 756111 stq sb|130,x1 aa 001453 700016 236111 ldq sb|14,x1 " Path aa 001454 700203 756111 stq sb|131,x1 4a 001455 400074 272120 tsbbp lp|L104,* " ExpandPathname aa 001456 000200 000002 zero 128,2 aa 001457 000165 710004 tra L103 L102: aa 001460 700011 236111 185 ldq sb|9,x1 " Type aa 001461 000005 116007 cmpq 5,dl " EntryName aa 001462 000037 601004 tnz L105 aa 001463 700003 235111 186 lda sb|3,x1 " Name aa 001464 700202 755111 sta sb|130,x1 aa 001465 700017 235111 lda sb|15,x1 " Ent aa 001466 700203 755111 sta sb|131,x1 aa 001467 000040 235007 lda 32,dl " 32 aa 001470 700204 755111 sta sb|132,x1 4a 001471 400072 272120 tsbbp lp|L107,* " MakePl1String aa 001472 000200 000003 zero 128,3 aa 001473 000415 237004 187 ldaq L108 " arglist header aa 001474 700200 757111 staq sb|128,x1 " arg count aa 001475 700015 760111 lprpap sb|13,x1 " Dir aa 001476 700202 250111 stpap sb|130,x1 aa 001477 776627 350004 eapap L29 aa 001500 700204 250111 stpap sb|132,x1 aa 001501 600010 441100 sxl1 sp|8 aa 001502 600030 650100 stplp sp|24 4a 001503 400070 352120 eapbp lp|L109,* " GetWdir aa 001504 700200 350111 eapap sb|128,x1 aa 001505 700036 670120 tsblp sb|30,* " Multics call operator aa 001506 600010 721100 lxl1 sp|8 aa 001507 700001 764111 lprplp sb|1,x1 aa 001510 700015 235111 188 lda sb|13,x1 " Dir aa 001511 700202 755111 sta sb|130,x1 aa 001512 700017 235111 lda sb|15,x1 " Ent aa 001513 700203 755111 sta sb|131,x1 aa 001514 700016 235111 lda sb|14,x1 " Path aa 001515 700204 755111 sta sb|132,x1 4a 001516 400066 272120 tsbbp lp|L110,* " JoinPathname aa 001517 000200 000003 zero 128,3 aa 001520 000124 710004 tra L106 L105: aa 001521 700014 235111 191 lda sb|12,x1 " Nargs aa 001522 000003 115007 cmpa 3,dl " 3 aa 001523 000003 604004 tmi L113 aa 001524 700004 234111 szn sb|4,x1 " Length aa 001525 000003 601004 tnz L111 L113: aa 001526 000367 236004 ldq L81 " Null aa 001527 000003 710004 tra L112 L111: aa 001530 700004 763111 lprpbb sb|4,x1 " Length aa 001531 300006 236100 ldq bb|6 L112: aa 001532 700021 756111 stq sb|17,x1 aa 001533 700021 236111 ldq sb|17,x1 aa 001534 700101 756111 stq sb|65,x1 " ReferencingSeg aa 001535 000002 236007 192 ldq 2,dl " 2 aa 001536 700014 756111 stq sb|12,x1 " Nargs aa 001537 700170 351511 193 eapab sb|120,x1 " a vector aa 001540 700021 541111 sprpab sb|17,x1 " w aa 001541 700174 351511 eapab sb|124,x1 " a vector aa 001542 700020 541111 sprpab sb|16,x1 " v aa 001543 700101 236111 194 ldq sb|65,x1 " ReferencingSeg aa 001544 700202 756111 stq sb|130,x1 aa 001545 700020 236111 ldq sb|16,x1 " v aa 001546 700203 756111 stq sb|131,x1 4a 001547 400136 272120 tsbbp lp|L12,* " ITS aa 001550 000200 000002 zero 128,2 aa 001551 700173 756111 stq sb|123,x1 aa 001552 776436 237004 ldaq L20 aa 001553 700200 757111 staq sb|128,x1 " arg count aa 001554 600045 761100 lprpab sp|37 " ProgramID aa 001555 000022 722007 lxl2 18,dl aa 001556 100000 503512 abd ab|0,x2 aa 001557 700202 251511 stpab sb|130,x1 aa 001560 100000 236100 ldq ab|0 aa 001561 000022 772000 qrl 18 aa 001562 524000 276003 orq -88064,du aa 001563 700232 756111 stq sb|154,x1 aa 001564 700232 351511 eapab sb|154,x1 aa 001565 700216 251511 stpab sb|142,x1 aa 001566 700173 765111 lprplb sb|123,x1 aa 001567 700204 651511 stplb sb|132,x1 aa 001570 776275 371404 eaplb L14 aa 001571 700220 651511 stplb sb|144,x1 aa 001572 700003 760111 lprpap sb|3,x1 " Name aa 001573 000022 723007 lxl3 18,dl aa 001574 000000 503513 abd ap|0,x3 aa 001575 700206 250111 stpap sb|134,x1 aa 001576 000000 236100 ldq ap|0 aa 001577 000022 772000 qrl 18 aa 001600 524000 276003 orq -88064,du aa 001601 700233 756111 stq sb|155,x1 aa 001602 700233 350111 eapap sb|155,x1 aa 001603 700222 250111 stpap sb|146,x1 aa 001604 700155 352111 eapbp sb|109,x1 " Rlen aa 001605 700210 252111 stpbp sb|136,x1 aa 001606 776256 352004 eapbp L15 aa 001607 700224 252111 stpbp sb|148,x1 aa 001610 700021 763111 lprpbb sb|17,x1 " w aa 001611 700212 253511 stpbb sb|138,x1 aa 001612 776253 353404 eapbb L14 aa 001613 700226 253511 stpbb sb|150,x1 aa 001614 600046 351500 eapab sp|38 " Errcode aa 001615 700214 251511 stpab sb|140,x1 aa 001616 776506 351404 eapab L31 aa 001617 700230 251511 stpab sb|152,x1 aa 001620 600010 441100 sxl1 sp|8 aa 001621 600030 650100 stplp sp|24 4a 001622 400064 352120 eapbp lp|L114,* " FindIncludeFile aa 001623 700200 350111 eapap sb|128,x1 aa 001624 700036 670120 tsblp sb|30,* " Multics call operator aa 001625 600010 721100 lxl1 sp|8 aa 001626 700001 764111 lprplp sb|1,x1 aa 001627 600046 234100 196 szn sp|38 " Errcode aa 001630 000014 601004 tnz L115 aa 001631 700021 236111 ldq sb|17,x1 " w aa 001632 700202 756111 stq sb|130,x1 4a 001633 400122 272120 tsbbp lp|L36,* " BCPLaddr aa 001634 000200 000001 zero 128,1 aa 001635 700173 756111 stq sb|123,x1 aa 001636 700173 236111 ldq sb|123,x1 aa 001637 700202 756111 stq sb|130,x1 aa 001640 700016 236111 ldq sb|14,x1 " Path aa 001641 700203 756111 stq sb|131,x1 4a 001642 400114 272120 tsbbp lp|L52,* " GetPathname aa 001643 000200 000002 zero 128,2 L115: L106: L103: aa 001644 600046 234100 198 szn sp|38 " Errcode aa 001645 000003 600004 tze L116 aa 001646 700012 236111 ldq sb|10,x1 " f aa 001647 000232 710004 tra L69 L116: aa 001650 700016 235111 199 lda sb|14,x1 " Path aa 001651 700202 755111 sta sb|130,x1 aa 001652 700155 371511 eaplb sb|109,x1 " Rlen aa 001653 700203 545111 sprplb sb|131,x1 4a 001654 400062 272120 tsbbp lp|L117,* " FindSegment aa 001655 000200 000002 zero 128,2 aa 001656 700013 756111 stq sb|11,x1 " Buffer aa 001657 600046 234100 200 szn sp|38 " Errcode aa 001660 000053 600004 tze L118 aa 001661 700010 234111 szn sb|8,x1 " Msf aa 001662 000051 600004 tze L119 aa 001663 600046 236100 ldq sp|38 " Errcode 4a 001664 400060 116120 cmpq lp|L120,* aa 001665 000046 601004 tnz L119 aa 001666 700016 235111 201 lda sb|14,x1 " Path aa 001667 700202 755111 sta sb|130,x1 aa 001670 700015 235111 lda sb|13,x1 " Dir aa 001671 700203 755111 sta sb|131,x1 aa 001672 700017 235111 lda sb|15,x1 " Ent aa 001673 700204 755111 sta sb|132,x1 4a 001674 400130 272120 tsbbp lp|L27,* " SplitPathname aa 001675 000200 000003 zero 128,3 aa 001676 700012 235111 202 lda sb|10,x1 " f aa 001677 700202 755111 sta sb|130,x1 aa 001700 700016 235111 lda sb|14,x1 " Path aa 001701 700203 755111 sta sb|131,x1 aa 001702 776316 272004 tsbbp L7+2 " MsfOpen aa 001703 000200 000002 zero 128,2 aa 001704 600046 234100 203 szn sp|38 " Errcode aa 001705 000003 600004 tze L121 aa 001706 700012 236111 ldq sb|10,x1 " f aa 001707 000172 710004 tra L69 L121: aa 001710 700007 235111 204 lda sb|7,x1 " Rwa aa 001711 000060 115007 cmpa 48,dl " Append aa 001712 000004 601004 tnz L122 aa 001713 700155 236111 ldq sb|109,x1 " Rlen aa 001714 000001 176007 sbq 1,dl " 1 aa 001715 000002 710004 tra L123 L122: aa 001716 000000 236007 ldq 0,dl " 0 L123: aa 001717 700021 756111 stq sb|17,x1 aa 001720 700021 236111 ldq sb|17,x1 aa 001721 700101 756111 stq sb|65,x1 aa 001722 700012 236111 ldq sb|10,x1 " f aa 001723 700202 756111 stq sb|130,x1 aa 001724 700101 236111 ldq sb|65,x1 aa 001725 700203 756111 stq sb|131,x1 aa 001726 700155 371511 eaplb sb|109,x1 " Rlen aa 001727 700204 545111 sprplb sb|132,x1 aa 001730 776404 272004 tsbbp L8+2 " MsfGetseg aa 001731 000200 000003 zero 128,3 aa 001732 700013 756111 stq sb|11,x1 " Buffer L119: L118: aa 001733 700007 236111 206 ldq sb|7,x1 " Rwa aa 001734 000020 116007 cmpq 16,dl " Read aa 001735 000010 601004 tnz L124 aa 001736 700155 234111 207 szn sb|109,x1 " Rlen aa 001737 000005 601004 tnz L126 aa 001740 600046 234100 szn sp|38 " Errcode aa 001741 000003 601004 tnz L126 4a 001742 400056 235120 lda lp|L127,* aa 001743 600046 755100 sta sp|38 " Errcode L126: aa 001744 000022 710004 tra L125 L124: aa 001745 700013 235111 208 lda sb|11,x1 " Buffer aa 001746 000147 115004 cmpa L81 " Null aa 001747 000007 601004 tnz L128 aa 001750 700016 236111 209 ldq sb|14,x1 " Path aa 001751 700202 756111 stq sb|130,x1 4a 001752 400054 272120 tsbbp lp|L130,* " MakeSegment aa 001753 000200 000001 zero 128,1 aa 001754 700013 756111 stq sb|11,x1 " Buffer aa 001755 000011 710004 tra L129 L128: aa 001756 700007 236111 210 ldq sb|7,x1 " Rwa aa 001757 000040 116007 cmpq 32,dl " Write aa 001760 000006 601004 tnz L131 aa 001761 700013 235111 lda sb|11,x1 " Buffer aa 001762 700202 755111 sta sb|130,x1 aa 001763 700203 450111 stz sb|131,x1 4a 001764 400112 272120 tsbbp lp|L54,* " SetBitCount aa 001765 000200 000002 zero 128,2 L131: L129: L125: aa 001766 700155 236111 212 ldq sb|109,x1 " Rlen aa 001767 000011 506007 div 9,dl " 9 aa 001770 700155 756111 stq sb|109,x1 " Rlen aa 001771 700014 236111 213 ldq sb|12,x1 " Nargs aa 001772 000003 116007 cmpq 3,dl " 3 aa 001773 000013 605004 tpl L132 aa 001774 700007 235111 lda sb|7,x1 " Rwa aa 001775 000040 115007 cmpa 32,dl " Write aa 001776 000004 601004 tnz L133 4a 001777 400076 236120 ldq lp|L100,* aa 002000 000002 736000 qls 2 aa 002001 000002 710004 tra L134 L133: aa 002002 700155 236111 ldq sb|109,x1 " Rlen L134: aa 002003 700021 756111 stq sb|17,x1 aa 002004 700021 236111 ldq sb|17,x1 aa 002005 700004 756111 stq sb|4,x1 " Length L132: aa 002006 700007 236111 214 ldq sb|7,x1 " Rwa aa 002007 000060 116007 cmpq 48,dl " Append aa 002010 000047 601004 tnz L135 aa 002011 700010 234111 szn sb|8,x1 " Msf aa 002012 000045 600004 tze L135 4a 002013 400076 235120 lda lp|L100,* aa 002014 000002 735000 als 2 aa 002015 700004 115111 cmpa sb|4,x1 " Length aa 002016 000041 605404 tpnz L135 aa 002017 700012 765111 215 lprplb sb|10,x1 " f aa 002020 500010 234100 szn lb|8 aa 002021 000007 601004 tnz L136 aa 002022 700012 235111 lda sb|10,x1 " f aa 002023 700202 755111 sta sb|130,x1 aa 002024 700016 235111 lda sb|14,x1 " Path aa 002025 700203 755111 sta sb|131,x1 aa 002026 776172 272004 tsbbp L7+2 " MsfOpen aa 002027 000200 000002 zero 128,2 L136: aa 002030 600046 234100 216 szn sp|38 " Errcode aa 002031 000003 600004 tze L137 aa 002032 700012 236111 ldq sb|10,x1 " f aa 002033 000046 710004 tra L69 L137: aa 002034 700012 235111 217 lda sb|10,x1 " f aa 002035 700202 755111 sta sb|130,x1 4a 002036 400076 235120 lda lp|L100,* aa 002037 000002 735000 als 2 aa 002040 700020 755111 sta sb|16,x1 " temporary aa 002041 700004 236111 ldq sb|4,x1 " Length aa 002042 700020 506111 div sb|16,x1 aa 002043 700203 756111 stq sb|131,x1 aa 002044 700155 350111 eapap sb|109,x1 " Rlen aa 002045 700204 540111 sprpap sb|132,x1 aa 002046 776266 272004 tsbbp L8+2 " MsfGetseg aa 002047 000200 000003 zero 128,3 aa 002050 700013 756111 stq sb|11,x1 " Buffer 4a 002051 400076 236120 218 ldq lp|L100,* aa 002052 000002 736000 qls 2 aa 002053 700101 756111 stq sb|65,x1 " temporary aa 002054 700004 236111 ldq sb|4,x1 " Length aa 002055 700101 506111 div sb|65,x1 aa 002056 700004 755111 sta sb|4,x1 " Length L135: L98: aa 002057 700007 235111 221 lda sb|7,x1 " Rwa aa 002060 000060 115007 cmpa 48,dl " Append aa 002061 000011 601004 tnz L138 4a 002062 400076 236120 222 ldq lp|L100,* aa 002063 000002 736000 qls 2 aa 002064 700012 760111 lprpap sb|10,x1 " f aa 002065 000001 756100 stq ap|1 aa 002066 700004 236111 ldq sb|4,x1 " Length aa 002067 700012 763111 lprpbb sb|10,x1 " f aa 002070 300000 756100 stq bb|0 aa 002071 000004 710004 tra L139 L138: aa 002072 700004 236111 223 ldq sb|4,x1 " Length aa 002073 700012 761111 lprpab sb|10,x1 " f aa 002074 100001 756100 stq ab|1 L139: L83: aa 002075 700013 236111 225 ldq sb|11,x1 " Buffer aa 002076 700012 762111 lprpbp sb|10,x1 " f aa 002077 200006 756100 stq bp|6 aa 002100 700012 236111 226 ldq sb|10,x1 " f L69: aa 002101 700007 756111 stq sb|7,x1 aa 002102 700007 236111 ldq sb|7,x1 aa 002103 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002104 200000 121100 sblx1 bp|0 aa 002105 700001 764111 lprplp sb|1,x1 aa 002106 200001 710100 tra bp|1 " end of return sequence aa 002107 700006 756111 stq sb|6,x1 " temporary " Literal pool L108: aa 002110 000002 000004 zero 2,4 " arglist header aa 002111 000002 000000 zero 2 L94: aa 002112 000012 000004 zero 10,4 " arglist header aa 002113 000012 000000 zero 10 L95: aa 002114 524000 000000 zero -88064 " descriptor L81: aa 002115 007777 000001 zero 4095,1 " Null L77: aa 002116 000013 165163 zero 11,60019 " "user_output" aa 002117 145162 137157 zero 51826,48751 aa 002120 165164 160165 zero 60020,57461 aa 002121 164000 000000 zero 59392 L75: aa 002122 000012 165163 zero 10,60019 " "user_input" aa 002123 145162 137151 zero 51826,48745 aa 002124 156160 165164 zero 56432,60020 " Begin text of Writeout aa 002125 000010 127162 zero 8,44658 " Writeout aa 002126 151164 145157 zero 53876,51823 aa 002127 165164 000000 zero 60020 L140: aa 002130 000000 213000 291 epaq 0 " set lp to linkage section aa 002131 700026 764161 lprplp sb|22,*au aa 002132 200000 021100 adlx1 bp|0 " BCPL save aa 002133 700000 542111 sprpbp sb|0,x1 aa 002134 700001 544111 sprplp sb|1,x1 aa 002135 700422 620111 eax0 sb|274,x1 aa 002136 777760 360003 anx0 -16,du aa 002137 700025 740100 stx0 sb|21 " end of save sequence aa 002140 700002 765111 292 lprplb sb|2,x1 " f aa 002141 500000 234100 szn lb|0 aa 002142 000012 600004 tze L149 aa 002143 700002 760111 lprpap sb|2,x1 " f aa 002144 000004 234100 szn ap|4 aa 002145 000007 600004 tze L149 aa 002146 700002 236111 ldq sb|2,x1 " f aa 002147 700006 756111 stq sb|6,x1 aa 002150 700002 763111 lprpbb sb|2,x1 " f aa 002151 300004 763100 lprpbb bb|4 aa 002152 300000 272100 tsbbp bb|0 aa 002153 000004 000001 zero 4,1 L149: L148: aa 002154 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002155 200000 121100 sblx1 bp|0 aa 002156 700001 764111 lprplp sb|1,x1 aa 002157 200001 710100 tra bp|1 " end of return sequence " Begin text of Flushinput aa 002160 000012 106154 zero 10,35948 " Flushinput aa 002161 165163 150151 zero 60019,53353 aa 002162 156160 165164 zero 56432,60020 L141: aa 002163 000000 213000 293 epaq 0 " set lp to linkage section aa 002164 700026 764161 lprplp sb|22,*au aa 002165 200000 021100 adlx1 bp|0 " BCPL save aa 002166 700000 542111 sprpbp sb|0,x1 aa 002167 700001 544111 sprplp sb|1,x1 aa 002170 700432 620111 eax0 sb|282,x1 aa 002171 777760 360003 anx0 -16,du aa 002172 700025 740100 stx0 sb|21 " end of save sequence aa 002173 700002 761111 294 lprpab sb|2,x1 " f aa 002174 100003 236100 ldq ab|3 aa 002175 000007 376007 anq 7,dl " TypeBits aa 002176 700004 756111 stq sb|4,x1 " Type aa 002177 700002 762111 lprpbp sb|2,x1 " f aa 002200 200003 236100 ldq bp|3 aa 002201 000060 376007 anq 48,dl " RwaBits aa 002202 700003 756111 stq sb|3,x1 " Rwa aa 002203 700003 236111 295 ldq sb|3,x1 " Rwa aa 002204 000020 116007 cmpq 16,dl " Read aa 002205 000043 601004 tnz L153 aa 002206 700004 235111 lda sb|4,x1 " Type aa 002207 000002 115007 cmpa 2,dl " Console aa 002210 000004 600004 tze L154 aa 002211 700004 236111 ldq sb|4,x1 " Type aa 002212 000003 116007 cmpq 3,dl " StreamName aa 002213 000035 601004 tnz L153 L154: aa 002214 000040 237004 296 ldaq L155 " arglist header aa 002215 700010 757111 staq sb|8,x1 " arg count aa 002216 700002 765111 lprplb sb|2,x1 " f aa 002217 500005 765100 lprplb lb|5 aa 002220 000022 724007 lxl4 18,dl aa 002221 500000 503514 abd lb|0,x4 aa 002222 700012 651511 stplb sb|10,x1 aa 002223 500000 235100 lda lb|0 aa 002224 000022 771000 arl 18 aa 002225 524000 275003 ora -88064,du aa 002226 700022 755111 sta sb|18,x1 aa 002227 700022 371511 eaplb sb|18,x1 aa 002230 700016 651511 stplb sb|14,x1 aa 002231 600046 350100 eapap sp|38 " Errcode aa 002232 700014 250111 stpap sb|12,x1 aa 002233 775757 350004 eapap L21 aa 002234 700020 250111 stpap sb|16,x1 aa 002235 600010 441100 sxl1 sp|8 aa 002236 600030 650100 stplp sp|24 4a 002237 400052 352120 eapbp lp|L156,* " IosResetread aa 002240 700010 350111 eapap sb|8,x1 aa 002241 700036 670120 tsblp sb|30,* " Multics call operator aa 002242 600010 721100 lxl1 sp|8 aa 002243 700001 764111 lprplp sb|1,x1 aa 002244 700002 763111 297 lprpbb sb|2,x1 " f aa 002245 300000 450100 stz bb|0 aa 002246 700002 761111 lprpab sb|2,x1 " f aa 002247 100001 450100 stz ab|1 L153: L152: aa 002250 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002251 200000 121100 sblx1 bp|0 aa 002252 700001 764111 lprplp sb|1,x1 aa 002253 200001 710100 tra bp|1 " end of return sequence " Literal pool L155: aa 002254 000004 000004 zero 4,4 " arglist header aa 002255 000004 000000 zero 4 " Begin text of ResetStream aa 002256 000013 122145 zero 11,42085 " ResetStream aa 002257 163145 164123 zero 58981,59475 aa 002260 164162 145141 zero 59506,51809 aa 002261 155000 000000 zero 55808 L142: aa 002262 000000 213000 300 epaq 0 " set lp to linkage section aa 002263 700026 764161 lprplp sb|22,*au aa 002264 200000 021100 adlx1 bp|0 " BCPL save aa 002265 700000 542111 sprpbp sb|0,x1 aa 002266 700001 544111 sprplp sb|1,x1 aa 002267 700424 620111 eax0 sb|276,x1 aa 002270 777760 360003 anx0 -16,du aa 002271 700025 740100 stx0 sb|21 " end of save sequence 4a 002272 400102 272120 301 tsbbp lp|L80,* " NumbArgs aa 002273 000014 000000 zero 12 aa 002274 000001 116007 cmpq 1,dl " 1 aa 002275 000002 601004 tnz L160 aa 002276 700003 450111 stz sb|3,x1 " Offset L160: aa 002277 600046 450100 302 stz sp|38 " Errcode aa 002300 700002 765111 303 lprplb sb|2,x1 " f aa 002301 500003 236100 ldq lb|3 aa 002302 000060 376007 anq 48,dl " RwaBits aa 002303 700006 756111 stq sb|6,x1 " Rwa aa 002304 700002 760111 lprpap sb|2,x1 " f aa 002305 000006 236100 ldq ap|6 aa 002306 700004 756111 stq sb|4,x1 " p aa 002307 700002 762111 lprpbp sb|2,x1 " f aa 002310 200003 236100 ldq bp|3 aa 002311 000007 376007 anq 7,dl " TypeBits aa 002312 700005 756111 stq sb|5,x1 " Type aa 002313 700005 236111 304 ldq sb|5,x1 " Type aa 002314 000004 116007 cmpq 4,dl " PathName aa 002315 000007 600004 tze L162 aa 002316 700005 235111 lda sb|5,x1 " Type aa 002317 000005 115007 cmpa 5,dl " EntryName aa 002320 000004 600004 tze L162 aa 002321 700005 236111 ldq sb|5,x1 " Type aa 002322 000006 116007 cmpq 6,dl " SearchName aa 002323 000060 601004 tnz L161 L162: 4a 002324 400076 235120 305 lda lp|L100,* aa 002325 000002 735000 als 2 aa 002326 700011 755111 sta sb|9,x1 " temporary aa 002327 700003 236111 ldq sb|3,x1 " Offset aa 002330 700011 506111 div sb|9,x1 aa 002331 700007 756111 stq sb|7,x1 " n 4a 002332 400076 236120 306 ldq lp|L100,* aa 002333 000002 736000 qls 2 aa 002334 700011 756111 stq sb|9,x1 " temporary aa 002335 700003 236111 ldq sb|3,x1 " Offset aa 002336 700011 506111 div sb|9,x1 aa 002337 700003 755111 sta sb|3,x1 " Offset aa 002340 700002 763111 307 lprpbb sb|2,x1 " f aa 002341 300010 234100 szn bb|8 aa 002342 000025 600004 tze L163 aa 002343 700007 235111 lda sb|7,x1 " n aa 002344 700002 761111 lprpab sb|2,x1 " f aa 002345 100007 115100 cmpa ab|7 aa 002346 000021 600004 tze L163 aa 002347 700002 236111 308 ldq sb|2,x1 " f aa 002350 700016 756111 stq sb|14,x1 aa 002351 700007 236111 ldq sb|7,x1 " n aa 002352 700017 756111 stq sb|15,x1 aa 002353 700010 371511 eaplb sb|8,x1 " l aa 002354 700020 545111 sprplb sb|16,x1 aa 002355 775757 272004 tsbbp L8+2 " MsfGetseg aa 002356 000014 000003 zero 12,3 aa 002357 700004 756111 stq sb|4,x1 " p aa 002360 700006 236111 309 ldq sb|6,x1 " Rwa aa 002361 000020 116007 cmpq 16,dl " Read aa 002362 000005 601004 tnz L164 aa 002363 700010 236111 ldq sb|8,x1 " l aa 002364 000011 506007 div 9,dl " 9 aa 002365 700002 765111 lprplb sb|2,x1 " f aa 002366 500001 756100 stq lb|1 L164: L163: aa 002367 700006 236111 311 ldq sb|6,x1 " Rwa aa 002370 000020 116007 cmpq 16,dl " Read aa 002371 000012 600004 tze L165 aa 002372 700004 235111 lda sb|4,x1 " p aa 002373 700016 755111 sta sb|14,x1 aa 002374 700003 235111 lda sb|3,x1 " Offset aa 002375 000003 075007 ada 3,dl " 3 aa 002376 000044 777000 llr 36 " exchange A and Q aa 002377 000011 402007 mpy 9,dl " ByteSize aa 002400 700017 756111 stq sb|15,x1 4a 002401 400112 272120 tsbbp lp|L54,* " SetBitCount aa 002402 000014 000002 zero 12,2 L165: L161: aa 002403 700003 236111 313 ldq sb|3,x1 " Offset aa 002404 700002 760111 lprpap sb|2,x1 " f aa 002405 000000 756100 stq ap|0 L159: aa 002406 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002407 200000 121100 sblx1 bp|0 aa 002410 700001 764111 lprplp sb|1,x1 aa 002411 200001 710100 tra bp|1 " end of return sequence " Begin text of StreamLength aa 002412 000014 123164 zero 12,42612 " StreamLength aa 002413 162145 141155 zero 58469,49773 aa 002414 114145 156147 zero 39013,56423 aa 002415 164150 000000 zero 59496 L145: aa 002416 000000 213000 317 epaq 0 " set lp to linkage section aa 002417 700026 764161 lprplp sb|22,*au aa 002420 200000 021100 adlx1 bp|0 " BCPL save aa 002421 700000 542111 sprpbp sb|0,x1 aa 002422 700001 544111 sprplp sb|1,x1 aa 002423 700417 620111 eax0 sb|271,x1 aa 002424 777760 360003 anx0 -16,du aa 002425 700025 740100 stx0 sb|21 " end of save sequence aa 002426 700002 762111 lprpbp sb|2,x1 " Stream aa 002427 200001 236100 ldq bp|1 aa 002430 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002431 200000 121100 sblx1 bp|0 aa 002432 700001 764111 lprplp sb|1,x1 aa 002433 200001 710100 tra bp|1 " end of return sequence " Begin text of StreamOffset aa 002434 000014 123164 zero 12,42612 " StreamOffset aa 002435 162145 141155 zero 58469,49773 aa 002436 117146 146163 zero 40550,52339 aa 002437 145164 000000 zero 51828 L144: aa 002440 000000 213000 316 epaq 0 " set lp to linkage section aa 002441 700026 764161 lprplp sb|22,*au aa 002442 200000 021100 adlx1 bp|0 " BCPL save aa 002443 700000 542111 sprpbp sb|0,x1 aa 002444 700001 544111 sprplp sb|1,x1 aa 002445 700417 620111 eax0 sb|271,x1 aa 002446 777760 360003 anx0 -16,du aa 002447 700025 740100 stx0 sb|21 " end of save sequence aa 002450 700002 763111 lprpbb sb|2,x1 " Stream aa 002451 300007 236100 ldq bb|7 4a 002452 400076 402120 mpy lp|L100,* aa 002453 000002 736000 qls 2 aa 002454 700002 761111 lprpab sb|2,x1 " Stream aa 002455 100000 076100 adq ab|0 aa 002456 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002457 200000 121100 sblx1 bp|0 aa 002460 700001 764111 lprplp sb|1,x1 aa 002461 200001 710100 tra bp|1 " end of return sequence " Begin text of StreamPointer aa 002462 000015 123164 zero 13,42612 " StreamPointer aa 002463 162145 141155 zero 58469,49773 aa 002464 120157 151156 zero 41071,53870 aa 002465 164145 162000 zero 59493,58368 aa 002466 700003 756111 315 stq sb|3,x1 " temporary L143: aa 002467 000000 213000 epaq 0 " set lp to linkage section aa 002470 700026 764161 lprplp sb|22,*au aa 002471 200000 021100 adlx1 bp|0 " BCPL save aa 002472 700000 542111 sprpbp sb|0,x1 aa 002473 700001 544111 sprplp sb|1,x1 aa 002474 700417 620111 eax0 sb|271,x1 aa 002475 777760 360003 anx0 -16,du aa 002476 700025 740100 stx0 sb|21 " end of save sequence aa 002477 700002 765111 lprplb sb|2,x1 " Stream aa 002500 500006 236100 ldq lb|6 aa 002501 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002502 200000 121100 sblx1 bp|0 aa 002503 700001 764111 lprplp sb|1,x1 aa 002504 200001 710100 tra bp|1 " end of return sequence " Begin text of Close aa 002505 000005 103154 zero 5,34412 " Close aa 002506 157163 145000 zero 56947,51712 L172: aa 002507 000000 213000 319 epaq 0 " set lp to linkage section aa 002510 700026 764161 lprplp sb|22,*au aa 002511 200000 021100 adlx1 bp|0 " BCPL save aa 002512 700000 542111 sprpbp sb|0,x1 aa 002513 700001 544111 sprplp sb|1,x1 aa 002514 700445 620111 eax0 sb|293,x1 aa 002515 777760 360003 anx0 -16,du aa 002516 700025 740100 stx0 sb|21 " end of save sequence aa 002517 700034 450111 321 stz sb|28,x1 " i 4a 002520 400102 272120 tsbbp lp|L80,* " NumbArgs aa 002521 000054 000000 zero 44 aa 002522 000001 176007 sbq 1,dl " 1 aa 002523 700035 756111 stq sb|29,x1 aa 002524 000250 710004 tra L176 L177: aa 002525 700034 725111 322 lxl5 sb|28,x1 " i aa 002526 700002 350111 eapap sb|2,x1 aa 002527 000000 236115 ldq ap|0,x5 aa 002530 700040 756111 stq sb|32,x1 " f aa 002531 700040 760111 323 lprpap sb|32,x1 " f aa 002532 000003 236100 ldq ap|3 aa 002533 000060 376007 anq 48,dl " RwaBits aa 002534 700041 756111 stq sb|33,x1 " Rwa aa 002535 700040 762111 lprpbp sb|32,x1 " f aa 002536 200003 236100 ldq bp|3 aa 002537 000007 376007 anq 7,dl " TypeBits aa 002540 700042 756111 stq sb|34,x1 " Type aa 002541 000200 710004 325 tra L179 L180: aa 002542 700041 236111 326 ldq sb|33,x1 " Rwa aa 002543 000020 116007 cmpq 16,dl " Read aa 002544 000006 601004 tnz L181 aa 002545 700040 763111 327 lprpbb sb|32,x1 " f aa 002546 300000 450100 stz bb|0 aa 002547 700040 761111 lprpab sb|32,x1 " f aa 002550 100001 450100 stz ab|1 aa 002551 000005 710004 tra L182 L181: aa 002552 700040 235111 328 lda sb|32,x1 " f aa 002553 700056 755111 sta sb|46,x1 aa 002554 777356 272004 tsbbp L140+2 " Writeout aa 002555 000054 000001 zero 44,1 L182: aa 002556 000215 710004 330 tra L183 L184: aa 002557 700041 235111 332 lda sb|33,x1 " Rwa aa 002560 000020 115007 cmpa 16,dl " Read aa 002561 000005 601004 tnz L185 aa 002562 700040 765111 333 lprplb sb|32,x1 " f aa 002563 500002 236100 ldq lb|2 aa 002564 700043 756111 stq sb|35,x1 " l aa 002565 000010 710004 tra L186 L185: aa 002566 700040 236111 334 ldq sb|32,x1 " f aa 002567 700056 756111 stq sb|46,x1 aa 002570 777342 272004 tsbbp L140+2 " Writeout aa 002571 000054 000001 zero 44,1 aa 002572 700040 760111 335 lprpap sb|32,x1 " f aa 002573 000001 236100 ldq ap|1 aa 002574 700043 756111 stq sb|35,x1 " l L186: aa 002575 700040 762111 337 lprpbp sb|32,x1 " f aa 002576 200005 236100 ldq bp|5 aa 002577 700044 756111 stq sb|36,x1 " p aa 002600 700043 236111 338 ldq sb|35,x1 " l aa 002601 700044 763111 lprpbb sb|36,x1 " p aa 002602 300001 756100 stq bb|1 9a 002603 400013 236100 ldq lp|11 " Bufferlist aa 002604 700044 761111 lprpab sb|36,x1 " p aa 002605 100000 756100 stq ab|0 aa 002606 700044 236111 339 ldq sb|36,x1 " p 9a 002607 400013 756100 stq lp|11 " Bufferlist aa 002610 000144 710004 341 tra L178 L187: aa 002611 700040 765111 344 lprplb sb|32,x1 " f aa 002612 500000 236100 ldq lb|0 aa 002613 000011 402007 mpy 9,dl " 9 aa 002614 700046 756111 stq sb|38,x1 " BitCount aa 002615 700040 760111 lprpap sb|32,x1 " f aa 002616 000006 236100 ldq ap|6 aa 002617 700045 756111 stq sb|37,x1 " p aa 002620 700041 236111 345 ldq sb|33,x1 " Rwa aa 002621 000020 116007 cmpq 16,dl " Read aa 002622 000007 600004 tze L188 aa 002623 700045 235111 lda sb|37,x1 " p aa 002624 700056 755111 sta sb|46,x1 aa 002625 700046 235111 lda sb|38,x1 " BitCount aa 002626 700057 755111 sta sb|47,x1 4a 002627 400112 272120 tsbbp lp|L54,* " SetBitCount aa 002630 000054 000002 zero 44,2 L188: aa 002631 700040 762111 346 lprpbp sb|32,x1 " f aa 002632 200010 234100 szn bp|8 aa 002633 000015 601004 tnz L189 aa 002634 700045 235111 347 lda sb|37,x1 " p aa 002635 700056 755111 sta sb|46,x1 4a 002636 400050 272120 tsbbp lp|L191,* " Terminate aa 002637 000054 000001 zero 44,1 aa 002640 700042 235111 348 lda sb|34,x1 " Type aa 002641 000006 115007 cmpa 6,dl " SearchName aa 002642 000005 601004 tnz L192 aa 002643 700045 236111 ldq sb|37,x1 " p aa 002644 700056 756111 stq sb|46,x1 4a 002645 400050 272120 tsbbp lp|L191,* " Terminate aa 002646 000054 000001 zero 44,1 L192: aa 002647 000070 710004 tra L190 L189: aa 002650 700050 353511 350 eapbb sb|40,x1 " a vector aa 002651 700047 543111 sprpbb sb|39,x1 " v aa 002652 700040 763111 351 lprpbb sb|32,x1 " f aa 002653 300010 236100 ldq bb|8 aa 002654 700056 756111 stq sb|46,x1 aa 002655 700047 236111 ldq sb|39,x1 " v aa 002656 700057 756111 stq sb|47,x1 4a 002657 400136 272120 tsbbp lp|L12,* " ITS aa 002660 000054 000002 zero 44,2 aa 002661 700041 236111 352 ldq sb|33,x1 " Rwa aa 002662 000020 116007 cmpq 16,dl " Read aa 002663 000037 600004 tze L193 aa 002664 777226 237004 ldaq L94 aa 002665 700054 757111 staq sb|44,x1 " arg count aa 002666 700047 761111 lprpab sb|39,x1 " v aa 002667 700056 251511 stpab sb|46,x1 aa 002670 775175 351404 eapab L14 aa 002671 700070 251511 stpab sb|56,x1 aa 002672 700040 765111 lprplb sb|32,x1 " f aa 002673 500007 371500 eaplb lb|7 aa 002674 700060 651511 stplb sb|48,x1 aa 002675 775167 371404 eaplb L15 aa 002676 700072 651511 stplb sb|58,x1 aa 002677 700046 350111 eapap sb|38,x1 " BitCount aa 002700 700062 250111 stpap sb|50,x1 aa 002701 775163 350004 eapap L15 aa 002702 700074 250111 stpap sb|60,x1 9a 002703 400012 352100 eapbp lp|10 " Zero aa 002704 700064 252111 stpbp sb|52,x1 aa 002705 000076 352004 eapbp L194 " descriptor aa 002706 700076 252111 stpbp sb|62,x1 aa 002707 600046 353500 eapbb sp|38 " Errcode aa 002710 700066 253511 stpbb sb|54,x1 aa 002711 775413 353404 eapbb L31 aa 002712 700100 253511 stpbb sb|64,x1 aa 002713 600010 441100 sxl1 sp|8 aa 002714 600030 650100 stplp sp|24 4a 002715 400046 352120 eapbp lp|L195,* " MsfManagerAdjust aa 002716 700054 350111 eapap sb|44,x1 aa 002717 700036 670120 tsblp sb|30,* " Multics call operator aa 002720 600010 721100 lxl1 sp|8 aa 002721 700001 764111 lprplp sb|1,x1 L193: aa 002722 777166 237004 354 ldaq L108 aa 002723 700054 757111 staq sb|44,x1 " arg count aa 002724 700047 761111 lprpab sb|39,x1 " v aa 002725 700056 251511 stpab sb|46,x1 aa 002726 775137 351404 eapab L14 aa 002727 700060 251511 stpab sb|48,x1 aa 002730 600010 441100 sxl1 sp|8 aa 002731 600030 650100 stplp sp|24 4a 002732 400044 352120 eapbp lp|L196,* " MsfManagerClose aa 002733 700054 350111 eapap sb|44,x1 aa 002734 700036 670120 tsblp sb|30,* " Multics call operator aa 002735 600010 721100 lxl1 sp|8 aa 002736 700001 764111 lprplp sb|1,x1 L190: aa 002737 000015 710004 357 tra L178 L197: aa 002740 000033 710004 tra L183 L179: " Begin switchon aa 002741 700042 235111 lda sb|34,x1 " Type aa 002742 000004 115007 cmpa 4,dl aa 002743 000004 604004 tmi L198 aa 002744 000007 115007 cmpa 7,dl aa 002745 777644 604004 tmi L187 aa 002746 777772 710004 tra L197 L198: aa 002747 000002 115007 cmpa 2,dl aa 002750 777572 600004 tze L180 aa 002751 000003 115007 cmpa 3,dl aa 002752 777605 600004 tze L184 aa 002753 777765 710004 tra L197 L178: aa 002754 000001 236007 359 ldq 1,dl " 1 aa 002755 700043 756111 stq sb|35,x1 " i aa 002756 000005 710004 tra L199 L200: aa 002757 700043 726111 lxl6 sb|35,x1 " i aa 002760 700040 765111 lprplb sb|32,x1 " f aa 002761 500000 450116 stz lb|0,x6 aa 002762 700043 054111 aos sb|35,x1 " i L199: aa 002763 700043 236111 ldq sb|35,x1 " i aa 002764 000010 116007 cmpq 8,dl " 8 aa 002765 777772 604404 tmoz L200 9a 002766 400014 235100 360 lda lp|12 " Freelist aa 002767 700040 760111 lprpap sb|32,x1 " f aa 002770 000000 755100 sta ap|0 aa 002771 700040 235111 361 lda sb|32,x1 " f 9a 002772 400014 755100 sta lp|12 " Freelist L183: aa 002773 700034 054111 aos sb|28,x1 " i L176: aa 002774 700034 235111 lda sb|28,x1 " i aa 002775 700035 115111 cmpa sb|29,x1 aa 002776 777527 604404 tmoz L177 L175: aa 002777 700000 762111 lprpbp sb|0,x1 " bcpl return aa 003000 200000 121100 sblx1 bp|0 aa 003001 700001 764111 lprplp sb|1,x1 aa 003002 200001 710100 tra bp|1 " end of return sequence " Literal pool L194: aa 003003 514000 000003 zero -92160,3 " descriptor " Begin text of WriteS aa 003004 000006 127162 zero 6,44658 " WriteS aa 003005 151164 145123 zero 53876,51795 L201: aa 003006 000000 213000 364 epaq 0 " set lp to linkage section aa 003007 700026 764161 lprplp sb|22,*au aa 003010 200000 021100 adlx1 bp|0 " BCPL save aa 003011 700000 542111 sprpbp sb|0,x1 aa 003012 700001 544111 sprplp sb|1,x1 aa 003013 700426 620111 eax0 sb|278,x1 aa 003014 777760 360003 anx0 -16,du aa 003015 700025 740100 stx0 sb|21 " end of save sequence 4a 003016 400102 272120 365 tsbbp lp|L80,* " NumbArgs aa 003017 000016 000000 zero 14 aa 003020 000001 116007 cmpq 1,dl " 1 aa 003021 000005 601004 tnz L205 aa 003022 700002 236111 366 ldq sb|2,x1 " f aa 003023 700003 756111 stq sb|3,x1 " s aa 003024 600040 236100 367 ldq sp|32 " OUTPUT aa 003025 700002 756111 stq sb|2,x1 " f L205: aa 003026 700004 450111 369 stz sb|4,x1 " c aa 003027 700003 236111 ldq sb|3,x1 " s aa 003030 700020 756111 stq sb|16,x1 4a 003031 400042 272120 tsbbp lp|L206,* " Length aa 003032 000016 000001 zero 14,1 aa 003033 700005 756111 stq sb|5,x1 " l aa 003034 700005 234111 370 szn sb|5,x1 " l aa 003035 000074 600004 tze L204 L207: aa 003036 700002 763111 371 lprpbb sb|2,x1 " f aa 003037 300000 236100 ldq bb|0 aa 003040 700006 756111 stq sb|6,x1 " r aa 003041 700002 761111 372 lprpab sb|2,x1 " f aa 003042 100001 236100 ldq ab|1 aa 003043 700006 176111 sbq sb|6,x1 " r aa 003044 700007 756111 stq sb|7,x1 " n aa 003045 700007 236111 373 ldq sb|7,x1 " n aa 003046 700005 116111 cmpq sb|5,x1 " l aa 003047 000003 604404 tmoz L208 aa 003050 700005 235111 lda sb|5,x1 " l aa 003051 700007 755111 sta sb|7,x1 " n L208: aa 003052 700002 762111 374 lprpbp sb|2,x1 " f aa 003053 200006 235100 lda bp|6 aa 003054 700020 755111 sta sb|16,x1 aa 003055 700006 236111 ldq sb|6,x1 " r aa 003056 000011 402007 mpy 9,dl " ByteSize aa 003057 700021 756111 stq sb|17,x1 aa 003060 700003 236111 ldq sb|3,x1 " s aa 003061 700022 756111 stq sb|18,x1 aa 003062 700004 236111 ldq sb|4,x1 " c aa 003063 000011 402007 mpy 9,dl " ByteSize aa 003064 000022 076007 adq 18,dl " CountSize aa 003065 700023 756111 stq sb|19,x1 aa 003066 700007 236111 ldq sb|7,x1 " n aa 003067 000011 402007 mpy 9,dl " ByteSize aa 003070 700024 756111 stq sb|20,x1 4a 003071 400040 272120 tsbbp lp|L209,* " MoveBits aa 003072 000016 000005 zero 14,5 aa 003073 700007 236111 375 ldq sb|7,x1 " n aa 003074 700002 765111 lprplb sb|2,x1 " f aa 003075 500000 056100 asq lb|0 aa 003076 700007 236111 376 ldq sb|7,x1 " n aa 003077 700004 056111 asq sb|4,x1 " c aa 003100 700007 336111 377 lcq sb|7,x1 " n aa 003101 700005 056111 asq sb|5,x1 " l aa 003102 700005 234111 378 szn sb|5,x1 " l aa 003103 000006 600004 tze L210 aa 003104 700002 236111 379 ldq sb|2,x1 " f aa 003105 700020 756111 stq sb|16,x1 aa 003106 777024 272004 tsbbp L140+2 " Writeout aa 003107 000016 000001 zero 14,1 aa 003110 777726 710004 tra L207 L210: aa 003111 700003 236111 381 ldq sb|3,x1 " s aa 003112 700020 756111 stq sb|16,x1 aa 003113 700004 236111 ldq sb|4,x1 " c aa 003114 700021 756111 stq sb|17,x1 4a 003115 400036 272120 tsbbp lp|L212,* " Subch aa 003116 000016 000002 zero 14,2 aa 003117 700002 760111 lprpap sb|2,x1 " f aa 003120 000002 116100 cmpq ap|2 aa 003121 000010 601004 tnz L211 aa 003122 700002 763111 lprpbb sb|2,x1 " f aa 003123 300002 234100 szn bb|2 aa 003124 000005 600004 tze L211 aa 003125 700002 236111 ldq sb|2,x1 " f aa 003126 700020 756111 stq sb|16,x1 aa 003127 777003 272004 tsbbp L140+2 " Writeout aa 003130 000016 000001 zero 14,1 L211: L204: aa 003131 700000 762111 lprpbp sb|0,x1 " bcpl return aa 003132 200000 121100 sblx1 bp|0 aa 003133 700001 764111 lprplp sb|1,x1 aa 003134 200001 710100 tra bp|1 " end of return sequence " Begin text of WriteN aa 003135 000006 127162 zero 6,44658 " WriteN aa 003136 151164 145116 zero 53876,51790 L213: aa 003137 000000 213000 384 epaq 0 " set lp to linkage section aa 003140 700026 764161 lprplp sb|22,*au aa 003141 200000 021100 adlx1 bp|0 " BCPL save aa 003142 700000 542111 sprpbp sb|0,x1 aa 003143 700001 544111 sprplp sb|1,x1 aa 003144 700423 620111 eax0 sb|275,x1 aa 003145 777760 360003 anx0 -16,du aa 003146 700025 740100 stx0 sb|21 " end of save sequence 4a 003147 400102 272120 385 tsbbp lp|L80,* " NumbArgs aa 003150 000034 000000 zero 28 aa 003151 000001 116007 cmpq 1,dl " 1 aa 003152 000005 601004 tnz L217 aa 003153 700002 236111 386 ldq sb|2,x1 " f aa 003154 700003 756111 stq sb|3,x1 " n aa 003155 600040 236100 387 ldq sp|32 " OUTPUT aa 003156 700002 756111 stq sb|2,x1 " f L217: aa 003157 700006 351511 389 eapab sb|6,x1 " a vector aa 003160 700004 541111 sprpab sb|4,x1 " w aa 003161 700003 236111 390 ldq sb|3,x1 " n aa 003162 700036 756111 stq sb|30,x1 aa 003163 700004 236111 ldq sb|4,x1 " w aa 003164 700037 756111 stq sb|31,x1 4a 003165 400034 272120 tsbbp lp|L218,* " ConvertNtoS aa 003166 000034 000002 zero 28,2 aa 003167 700005 756111 stq sb|5,x1 aa 003170 700002 236111 ldq sb|2,x1 " f aa 003171 700036 756111 stq sb|30,x1 aa 003172 700005 236111 ldq sb|5,x1 aa 003173 700037 756111 stq sb|31,x1 aa 003174 777614 272004 tsbbp L201+2 " WriteS aa 003175 000034 000002 zero 28,2 L216: aa 003176 700000 762111 lprpbp sb|0,x1 " bcpl return aa 003177 200000 121100 sblx1 bp|0 aa 003200 700001 764111 lprplp sb|1,x1 aa 003201 200001 710100 tra bp|1 " end of return sequence " Begin text of Format aa 003202 000006 106157 zero 6,35951 " Format aa 003203 162155 141164 zero 58477,49780 L219: aa 003204 000000 213000 393 epaq 0 " set lp to linkage section aa 003205 700026 764161 lprplp sb|22,*au aa 003206 200000 021100 adlx1 bp|0 " BCPL save aa 003207 700000 542111 sprpbp sb|0,x1 aa 003210 700001 544111 sprplp sb|1,x1 aa 003211 701103 620111 eax0 sb|579,x1 aa 003212 777760 360003 anx0 -16,du aa 003213 700025 740100 stx0 sb|21 " end of save sequence aa 003214 700070 351511 396 eapab sb|56,x1 " a vector aa 003215 700066 541111 sprpab sb|54,x1 " Space aa 003216 700003 236111 397 ldq sb|3,x1 " Control aa 003217 701060 756111 stq sb|560,x1 aa 003220 700004 351511 eapab sb|4,x1 " a aa 003221 701061 541111 sprpab sb|561,x1 aa 003222 700066 236111 ldq sb|54,x1 " Space aa 003223 701062 756111 stq sb|562,x1 aa 003224 003720 236007 ldq 2000,dl aa 003225 701063 756111 stq sb|563,x1 aa 003226 000403 272004 tsbbp L221+2 " ProcessFormatString aa 003227 001056 000004 zero 558,4 aa 003230 700002 236111 398 ldq sb|2,x1 " Stream aa 003231 701060 756111 stq sb|560,x1 aa 003232 700066 236111 ldq sb|54,x1 " Space aa 003233 701061 756111 stq sb|561,x1 aa 003234 777554 272004 tsbbp L201+2 " WriteS aa 003235 001056 000002 zero 558,2 L225: aa 003236 700000 762111 lprpbp sb|0,x1 " bcpl return aa 003237 200000 121100 sblx1 bp|0 aa 003240 700001 764111 lprplp sb|1,x1 aa 003241 200001 710100 tra bp|1 " end of return sequence " Begin text of ProcessItem aa 003242 000013 120162 zero 11,41074 " ProcessItem aa 003243 157143 145163 zero 56931,51827 aa 003244 163111 164145 zero 58953,59493 aa 003245 155000 000000 zero 55808 L222: aa 003246 000000 213000 459 epaq 0 " set lp to linkage section aa 003247 700026 764161 lprplp sb|22,*au aa 003250 200000 021100 adlx1 bp|0 " BCPL save aa 003251 700000 542111 sprpbp sb|0,x1 aa 003252 700001 544111 sprplp sb|1,x1 aa 003253 700427 620111 eax0 sb|279,x1 aa 003254 777760 360003 anx0 -16,du aa 003255 700025 740100 stx0 sb|21 " end of save sequence aa 003256 700010 351511 460 eapab sb|8,x1 " a vector aa 003257 700007 541111 sprpab sb|7,x1 " v aa 003260 000262 710004 462 tra L230 L231: aa 003261 700003 236111 463 ldq sb|3,x1 " x aa 003262 700164 756111 stq sb|116,x1 4a 003263 400042 272120 tsbbp lp|L206,* " Length aa 003264 000162 000001 zero 114,1 aa 003265 700004 116111 cmpq sb|4,x1 " Digits aa 003266 000003 604004 tmi L232 aa 003267 700003 236111 ldq sb|3,x1 " x aa 003270 000307 710004 tra L228 L232: aa 003271 700003 235111 464 lda sb|3,x1 " x aa 003272 700164 755111 sta sb|116,x1 aa 003273 700005 235111 lda sb|5,x1 " Space aa 003274 700165 755111 sta sb|117,x1 4a 003275 400032 272120 tsbbp lp|L233,* " CopyString aa 003276 000162 000002 zero 114,2 L234: aa 003277 700005 235111 465 lda sb|5,x1 " Space aa 003300 700164 755111 sta sb|116,x1 aa 003301 000620 235007 lda 400,dl " 400 aa 003302 700165 755111 sta sb|117,x1 aa 003303 700005 235111 lda sb|5,x1 " Space aa 003304 700166 755111 sta sb|118,x1 aa 003305 000313 351404 eapab L235 " " " aa 003306 700167 541111 sprpab sb|119,x1 4a 003307 400030 272120 tsbbp lp|L236,* " Concatenate aa 003310 000162 000004 zero 114,4 aa 003311 700005 235111 lda sb|5,x1 " Space aa 003312 700164 755111 sta sb|116,x1 4a 003313 400042 272120 tsbbp lp|L206,* " Length aa 003314 000162 000001 zero 114,1 aa 003315 700004 116111 cmpq sb|4,x1 " Digits aa 003316 777761 604004 tmi L234 aa 003317 700005 236111 466 ldq sb|5,x1 " Space aa 003320 000257 710004 468 tra L228 L237: aa 003321 700003 235111 lda sb|3,x1 " x aa 003322 000036 771000 arl 30 aa 003323 000021 601004 tnz L238 aa 003324 700005 235111 469 lda sb|5,x1 " Space aa 003325 700164 755111 sta sb|116,x1 aa 003326 000144 235007 lda 100,dl " 100 aa 003327 700165 755111 sta sb|117,x1 aa 003330 000266 351404 eapab L240 " "^o|^o" aa 003331 700166 541111 sprpab sb|118,x1 aa 003332 700003 235111 lda sb|3,x1 " x aa 003333 000022 771000 arl 18 aa 003334 007777 375007 ana 4095,dl " $87777 aa 003335 700167 755111 sta sb|119,x1 aa 003336 700003 235111 lda sb|3,x1 " x aa 003337 777777 375007 ana -1,dl " $8777777 aa 003340 700170 755111 sta sb|120,x1 aa 003341 000661 272004 tsbbp L220+2 " FormatString aa 003342 000162 000005 zero 114,5 aa 003343 000023 710004 tra L239 L238: aa 003344 700005 235111 470 lda sb|5,x1 " Space aa 003345 700164 755111 sta sb|116,x1 aa 003346 000144 235007 lda 100,dl " 100 aa 003347 700165 755111 sta sb|117,x1 aa 003350 000242 351404 eapab L241 " "^o|^o(^2.2d)" aa 003351 700166 541111 sprpab sb|118,x1 aa 003352 700003 235111 lda sb|3,x1 " x aa 003353 000022 771000 arl 18 aa 003354 007777 375007 ana 4095,dl " $87777 aa 003355 700167 755111 sta sb|119,x1 aa 003356 700003 235111 lda sb|3,x1 " x aa 003357 777777 375007 ana -1,dl " $8777777 aa 003360 700170 755111 sta sb|120,x1 aa 003361 700003 235111 lda sb|3,x1 " x aa 003362 000036 771000 arl 30 aa 003363 700171 755111 sta sb|121,x1 aa 003364 000636 272004 tsbbp L220+2 " FormatString aa 003365 000162 000006 zero 114,6 L239: aa 003366 700005 236111 471 ldq sb|5,x1 " Space aa 003367 000210 710004 473 tra L228 L242: aa 003370 700003 234111 szn sb|3,x1 " x aa 003371 000003 600004 tze L243 aa 003372 000216 351404 eapab L245 " "true" aa 003373 000002 710004 tra L244 L243: aa 003374 000212 351404 eapab L246 " "false" L244: aa 003375 700156 541111 sprpab sb|110,x1 aa 003376 700156 235111 lda sb|110,x1 aa 003377 000044 777000 llr 36 " exchange A and Q aa 003400 000177 710004 475 tra L228 L247: aa 003401 700004 234111 szn sb|4,x1 " Digits aa 003402 000003 601004 tnz L248 aa 003403 000001 236007 ldq 1,dl " 1 aa 003404 700004 756111 stq sb|4,x1 " Digits L248: aa 003405 700004 236111 476 ldq sb|4,x1 " Digits aa 003406 700155 756111 stq sb|109,x1 " i aa 003407 000012 710004 tra L249 L250: aa 003410 700003 236111 477 ldq sb|3,x1 " x aa 003411 700155 722111 lxl2 sb|109,x1 " i aa 003412 700007 761111 lprpab sb|7,x1 " v aa 003413 100000 756112 stq ab|0,x2 aa 003414 700003 236111 478 ldq sb|3,x1 " x aa 003415 000011 772000 qrl 9 aa 003416 700003 756111 stq sb|3,x1 " x aa 003417 000001 336007 lcq 1,dl aa 003420 700155 056111 asq sb|109,x1 " i L249: aa 003421 700155 236111 ldq sb|109,x1 " i aa 003422 000001 116007 cmpq 1,dl " 1 aa 003423 777765 605004 tpl L250 aa 003424 700004 235111 480 lda sb|4,x1 " Digits aa 003425 700007 762111 lprpbp sb|7,x1 " v aa 003426 200000 755100 sta bp|0 aa 003427 700007 235111 481 lda sb|7,x1 " v aa 003430 700164 755111 sta sb|116,x1 aa 003431 700005 235111 lda sb|5,x1 " Space aa 003432 700165 755111 sta sb|117,x1 4a 003433 400026 272120 tsbbp lp|L251,* " Packstring aa 003434 000162 000002 zero 114,2 aa 003435 700005 236111 482 ldq sb|5,x1 " Space aa 003436 000141 710004 484 tra L228 L252: aa 003437 700003 235111 485 lda sb|3,x1 " x aa 003440 700164 755111 sta sb|116,x1 aa 003441 700005 235111 lda sb|5,x1 " Space aa 003442 700165 755111 sta sb|117,x1 aa 003443 000012 335007 lca 10,dl aa 003444 700166 755111 sta sb|118,x1 aa 003445 700004 235111 lda sb|4,x1 " Digits aa 003446 700167 755111 sta sb|119,x1 4a 003447 400034 272120 tsbbp lp|L218,* " ConvertNtoS aa 003450 000162 000004 zero 114,4 aa 003451 700005 236111 486 ldq sb|5,x1 " Space aa 003452 000125 710004 488 tra L228 L253: aa 003453 700004 234111 szn sb|4,x1 " Digits aa 003454 000003 601004 tnz L254 aa 003455 000014 235007 lda 12,dl " 12 aa 003456 700004 755111 sta sb|4,x1 " Digits L254: aa 003457 700003 235111 489 lda sb|3,x1 " x aa 003460 700164 755111 sta sb|116,x1 aa 003461 700005 235111 lda sb|5,x1 " Space aa 003462 700165 755111 sta sb|117,x1 aa 003463 000010 235007 lda 8,dl " 8 aa 003464 700166 755111 sta sb|118,x1 aa 003465 700004 235111 lda sb|4,x1 " Digits aa 003466 700167 755111 sta sb|119,x1 4a 003467 400034 272120 tsbbp lp|L218,* " ConvertNtoS aa 003470 000162 000004 zero 114,4 aa 003471 700005 236111 490 ldq sb|5,x1 " Space aa 003472 000105 710004 492 tra L228 L255: aa 003473 700003 235111 lda sb|3,x1 " x aa 003474 700164 755111 sta sb|116,x1 aa 003475 700005 235111 lda sb|5,x1 " Space aa 003476 700165 755111 sta sb|117,x1 aa 003477 000010 335007 lca 8,dl aa 003500 700166 755111 sta sb|118,x1 aa 003501 700004 235111 lda sb|4,x1 " Digits aa 003502 700167 755111 sta sb|119,x1 4a 003503 400034 272120 tsbbp lp|L218,* " ConvertNtoS aa 003504 000162 000004 zero 114,4 aa 003505 700005 236111 493 ldq sb|5,x1 " Space aa 003506 000071 710004 495 tra L228 L256: aa 003507 700004 234111 szn sb|4,x1 " Digits aa 003510 000003 601004 tnz L257 aa 003511 000005 235007 lda 5,dl " 5 aa 003512 700004 755111 sta sb|4,x1 " Digits L257: aa 003513 700003 235111 496 lda sb|3,x1 " x aa 003514 700164 755111 sta sb|116,x1 aa 003515 700005 235111 lda sb|5,x1 " Space aa 003516 700165 755111 sta sb|117,x1 aa 003517 700004 235111 lda sb|4,x1 " Digits aa 003520 700166 755111 sta sb|118,x1 4a 003521 400024 272120 tsbbp lp|L258,* " ConvertFtoS aa 003522 000162 000003 zero 114,3 aa 003523 700005 236111 497 ldq sb|5,x1 " Space aa 003524 000053 710004 499 tra L228 L259: aa 003525 000001 235007 lda 1,dl " 1 aa 003526 700007 765111 lprplb sb|7,x1 " v aa 003527 500000 755100 sta lb|0 aa 003530 700002 235111 lda sb|2,x1 " c aa 003531 700007 760111 lprpap sb|7,x1 " v aa 003532 000001 755100 sta ap|1 aa 003533 700007 235111 500 lda sb|7,x1 " v aa 003534 700164 755111 sta sb|116,x1 aa 003535 700005 235111 lda sb|5,x1 " Space aa 003536 700165 755111 sta sb|117,x1 4a 003537 400026 272120 tsbbp lp|L251,* " Packstring aa 003540 000162 000002 zero 114,2 aa 003541 000035 710004 tra L229 L230: " Begin switchon aa 003542 700002 235111 lda sb|2,x1 " c aa 003543 000141 175007 sba 97,dl aa 003544 000027 115007 cmpa 23,dl aa 003545 777760 603004 trc L259 0a 003546 003547 710005 tra L260,al L260: aa 003547 777512 710004 tra L231 aa 003550 777620 710004 tra L242 aa 003551 777630 710004 tra L247 aa 003552 777665 710004 tra L252 aa 003553 777752 710004 tra L259 aa 003554 777733 710004 tra L256 aa 003555 777750 710004 tra L259 aa 003556 777747 710004 tra L259 aa 003557 777746 710004 tra L259 aa 003560 777745 710004 tra L259 aa 003561 777744 710004 tra L259 aa 003562 777743 710004 tra L259 aa 003563 777742 710004 tra L259 aa 003564 777653 710004 tra L252 aa 003565 777706 710004 tra L255 aa 003566 777533 710004 tra L237 aa 003567 777736 710004 tra L259 aa 003570 777735 710004 tra L259 aa 003571 777470 710004 tra L231 aa 003572 777733 710004 tra L259 aa 003573 777732 710004 tra L259 aa 003574 777731 710004 tra L259 aa 003575 777656 710004 tra L253 L229: aa 003576 700005 236111 502 ldq sb|5,x1 " Space L228: aa 003577 700007 756111 stq sb|7,x1 aa 003600 700007 236111 ldq sb|7,x1 aa 003601 700000 762111 lprpbp sb|0,x1 " bcpl return aa 003602 200000 121100 sblx1 bp|0 aa 003603 700001 764111 lprplp sb|1,x1 aa 003604 200001 710100 tra bp|1 " end of return sequence aa 003605 700006 756111 stq sb|6,x1 " temporary " Literal pool L246: aa 003606 000005 146141 zero 5,52321 " "false" aa 003607 154163 145000 zero 55411,51712 L245: aa 003610 000004 164162 zero 4,59506 " "true" aa 003611 165145 000000 zero 60005 L241: aa 003612 000014 136157 zero 12,48239 " "^o|^o(^2.2d)" aa 003613 174136 157050 zero 63582,56872 aa 003614 136062 056062 zero 48178,23602 aa 003615 144051 000000 zero 51241 L240: aa 003616 000005 136157 zero 5,48239 " "^o|^o" aa 003617 174136 157000 zero 63582,56832 L235: aa 003620 000001 040000 zero 1,16384 " " " " Begin text of ProcessFormatString aa 003621 000023 120162 zero 19,41074 " ProcessFormatString aa 003622 157143 145163 zero 56931,51827 aa 003623 163106 157162 zero 58950,56946 aa 003624 155141 164123 zero 55905,59475 aa 003625 164162 151156 zero 59506,53870 aa 003626 147000 000000 zero 52736 L221: aa 003627 000000 213000 404 epaq 0 " set lp to linkage section aa 003630 700026 764161 lprplp sb|22,*au aa 003631 200000 021100 adlx1 bp|0 " BCPL save aa 003632 700000 542111 sprpbp sb|0,x1 aa 003633 700001 544111 sprplp sb|1,x1 aa 003634 701210 620111 eax0 sb|648,x1 aa 003635 777760 360003 anx0 -16,du aa 003636 700025 740100 stx0 sb|21 " end of save sequence aa 003637 700002 236111 405 ldq sb|2,x1 " Control aa 003640 701164 756111 stq sb|628,x1 4a 003641 400042 272120 tsbbp lp|L206,* " Length aa 003642 001162 000001 zero 626,1 aa 003643 700006 756111 stq sb|6,x1 " n aa 003644 700012 450111 407 stz sb|10,x1 " j aa 003645 700014 353511 406 eapbb sb|12,x1 " a vector aa 003646 700007 543111 sprpbb sb|7,x1 " v aa 003647 700162 353511 eapbb sb|114,x1 " a vector aa 003650 700010 543111 sprpbb sb|8,x1 " w aa 003651 700330 353511 eapbb sb|216,x1 " a vector aa 003652 700011 543111 sprpbb sb|9,x1 " u aa 003653 700004 236111 408 ldq sb|4,x1 " Space aa 003654 701164 756111 stq sb|628,x1 aa 003655 701165 450111 stz sb|629,x1 4a 003656 400022 272120 tsbbp lp|L264,* " SetLength aa 003657 001162 000002 zero 626,2 aa 003660 000001 236007 409 ldq 1,dl " 1 aa 003661 700327 756111 stq sb|215,x1 " i aa 003662 700006 236111 ldq sb|6,x1 " n aa 003663 700161 756111 stq sb|113,x1 aa 003664 000274 710004 tra L265 L266: aa 003665 700012 236111 410 ldq sb|10,x1 " j aa 003666 000144 116007 cmpq 100,dl " 100 aa 003667 000025 604404 tmoz L267 aa 003670 700012 235111 411 lda sb|10,x1 " j aa 003671 700011 763111 lprpbb sb|9,x1 " u aa 003672 300000 755100 sta bb|0 aa 003673 700011 235111 412 lda sb|9,x1 " u aa 003674 701164 755111 sta sb|628,x1 aa 003675 700007 235111 lda sb|7,x1 " v aa 003676 701165 755111 sta sb|629,x1 4a 003677 400026 272120 tsbbp lp|L251,* " Packstring aa 003700 001162 000002 zero 626,2 aa 003701 700004 235111 413 lda sb|4,x1 " Space aa 003702 701164 755111 sta sb|628,x1 aa 003703 700005 235111 lda sb|5,x1 " MaxLen aa 003704 701165 755111 sta sb|629,x1 aa 003705 700004 235111 lda sb|4,x1 " Space aa 003706 701166 755111 sta sb|630,x1 aa 003707 700007 235111 lda sb|7,x1 " v aa 003710 701167 755111 sta sb|631,x1 4a 003711 400030 272120 tsbbp lp|L236,* " Concatenate aa 003712 001162 000004 zero 626,4 aa 003713 700012 450111 414 stz sb|10,x1 " j L267: aa 003714 700002 235111 416 lda sb|2,x1 " Control aa 003715 701164 755111 sta sb|628,x1 aa 003716 700327 235111 lda sb|215,x1 " i aa 003717 701165 755111 sta sb|629,x1 4a 003720 400036 272120 tsbbp lp|L212,* " Subch aa 003721 001162 000002 zero 626,2 aa 003722 700013 756111 stq sb|11,x1 " c aa 003723 700013 236111 417 ldq sb|11,x1 " c aa 003724 000136 116007 cmpq 94,dl " '^' aa 003725 000004 601004 tnz L269 aa 003726 700327 235111 lda sb|215,x1 " i aa 003727 700006 115111 cmpa sb|6,x1 " n aa 003730 000007 604004 tmi L268 L269: aa 003731 700012 054111 418 aos sb|10,x1 " j aa 003732 700013 236111 419 ldq sb|11,x1 " c aa 003733 700012 723111 lxl3 sb|10,x1 " j aa 003734 700011 761111 lprpab sb|9,x1 " u aa 003735 100000 756113 stq ab|0,x3 aa 003736 000221 710004 420 tra L270 L268: aa 003737 701151 450111 422 stz sb|617,x1 " Width aa 003740 701152 450111 stz sb|618,x1 " Digits L271: aa 003741 700327 054111 423 aos sb|215,x1 " i aa 003742 700002 236111 424 ldq sb|2,x1 " Control aa 003743 701164 756111 stq sb|628,x1 aa 003744 700327 236111 ldq sb|215,x1 " i aa 003745 701165 756111 stq sb|629,x1 4a 003746 400036 272120 tsbbp lp|L212,* " Subch aa 003747 001162 000002 zero 626,2 aa 003750 700013 756111 stq sb|11,x1 " c aa 003751 000060 236007 425 ldq 48,dl " '0' aa 003752 700013 116111 cmpq sb|11,x1 " c aa 003753 000012 605404 tpnz L272 aa 003754 700013 235111 lda sb|11,x1 " c aa 003755 000071 115007 cmpa 57,dl " '9' aa 003756 000007 605404 tpnz L272 aa 003757 701151 236111 426 ldq sb|617,x1 " Width aa 003760 000012 402007 mpy 10,dl " 10 aa 003761 700013 076111 adq sb|11,x1 " c aa 003762 000060 176007 sbq 48,dl " '0' aa 003763 701151 756111 stq sb|617,x1 " Width aa 003764 777755 710004 tra L271 L272: aa 003765 700013 236111 428 ldq sb|11,x1 " c aa 003766 000056 116007 cmpq 46,dl " '.' aa 003767 000025 601004 tnz L273 L274: aa 003770 700327 054111 429 aos sb|215,x1 " i aa 003771 700002 235111 430 lda sb|2,x1 " Control aa 003772 701164 755111 sta sb|628,x1 aa 003773 700327 235111 lda sb|215,x1 " i aa 003774 701165 755111 sta sb|629,x1 4a 003775 400036 272120 tsbbp lp|L212,* " Subch aa 003776 001162 000002 zero 626,2 aa 003777 700013 756111 stq sb|11,x1 " c aa 004000 000060 236007 431 ldq 48,dl " '0' aa 004001 700013 116111 cmpq sb|11,x1 " c aa 004002 000012 605404 tpnz L275 aa 004003 700013 235111 lda sb|11,x1 " c aa 004004 000071 115007 cmpa 57,dl " '9' aa 004005 000007 605404 tpnz L275 aa 004006 701152 236111 432 ldq sb|618,x1 " Digits aa 004007 000012 402007 mpy 10,dl " 10 aa 004010 700013 076111 adq sb|11,x1 " c aa 004011 000060 176007 sbq 48,dl " '0' aa 004012 701152 756111 stq sb|618,x1 " Digits aa 004013 777755 710004 tra L274 L275: L273: aa 004014 701152 236111 434 ldq sb|618,x1 " Digits aa 004015 701164 756111 stq sb|628,x1 aa 004016 000310 236007 ldq 200,dl " 200 aa 004017 701165 756111 stq sb|629,x1 4a 004020 400020 272120 tsbbp lp|L276,* " MinI aa 004021 001162 000002 zero 626,2 aa 004022 701152 756111 stq sb|618,x1 " Digits aa 004023 701151 236111 ldq sb|617,x1 " Width aa 004024 701164 756111 stq sb|628,x1 aa 004025 000310 236007 ldq 200,dl " 200 aa 004026 701165 756111 stq sb|629,x1 4a 004027 400020 272120 tsbbp lp|L276,* " MinI aa 004030 001162 000002 zero 626,2 aa 004031 701151 756111 stq sb|617,x1 " Width aa 004032 700013 236111 435 ldq sb|11,x1 " c aa 004033 000136 116007 cmpq 94,dl " '^' aa 004034 000007 601004 tnz L277 aa 004035 700012 054111 436 aos sb|10,x1 " j aa 004036 000136 235007 437 lda 94,dl " '^' aa 004037 700012 724111 lxl4 sb|10,x1 " j aa 004040 700011 762111 lprpbp sb|9,x1 " u aa 004041 200000 755114 sta bp|0,x4 aa 004042 000115 710004 438 tra L270 L277: aa 004043 700013 235111 440 lda sb|11,x1 " c aa 004044 701164 755111 sta sb|628,x1 aa 004045 700003 765111 lprplb sb|3,x1 " p aa 004046 500000 235100 lda lb|0 aa 004047 701165 755111 sta sb|629,x1 aa 004050 701152 235111 lda sb|618,x1 " Digits aa 004051 701166 755111 sta sb|630,x1 aa 004052 700010 235111 lda sb|8,x1 " w aa 004053 701167 755111 sta sb|631,x1 aa 004054 777174 272004 tsbbp L222+2 " ProcessItem aa 004055 001162 000004 zero 626,4 aa 004056 701153 756111 stq sb|619,x1 " Val aa 004057 700003 760111 441 lprpap sb|3,x1 " p aa 004060 000001 350100 eapap ap|1 aa 004061 700003 540111 sprpap sb|3,x1 " p aa 004062 701153 236111 442 ldq sb|619,x1 " Val aa 004063 701164 756111 stq sb|628,x1 4a 004064 400042 272120 tsbbp lp|L206,* " Length aa 004065 001162 000001 zero 626,1 aa 004066 701154 756111 stq sb|620,x1 " Len aa 004067 000001 236007 443 ldq 1,dl " 1 aa 004070 701155 756111 stq sb|621,x1 " k aa 004071 701154 236111 ldq sb|620,x1 " Len aa 004072 701156 756111 stq sb|622,x1 aa 004073 000014 710004 tra L278 L279: aa 004074 701153 236111 ldq sb|619,x1 " Val aa 004075 701164 756111 stq sb|628,x1 aa 004076 701155 236111 ldq sb|621,x1 " k aa 004077 701165 756111 stq sb|629,x1 4a 004100 400036 272120 tsbbp lp|L212,* " Subch aa 004101 001162 000002 zero 626,2 aa 004102 000010 116007 cmpq 8,dl " '*b' aa 004103 000003 601004 tnz L280 aa 004104 000002 336007 lcq 2,dl " 2 aa 004105 701154 056111 asq sb|620,x1 " Len L280: aa 004106 701155 054111 aos sb|621,x1 " k L278: aa 004107 701155 236111 ldq sb|621,x1 " k aa 004110 701156 116111 cmpq sb|622,x1 aa 004111 777763 604404 tmoz L279 aa 004112 701154 235111 444 lda sb|620,x1 " Len aa 004113 000001 075007 ada 1,dl " 1 aa 004114 701155 755111 sta sb|621,x1 " k aa 004115 701151 235111 lda sb|617,x1 " Width aa 004116 701156 755111 sta sb|622,x1 aa 004117 000007 710004 tra L281 L282: aa 004120 700012 054111 445 aos sb|10,x1 " j aa 004121 000040 235007 446 lda 32,dl " '*s' aa 004122 700012 725111 lxl5 sb|10,x1 " j aa 004123 700011 760111 lprpap sb|9,x1 " u aa 004124 000000 755115 sta ap|0,x5 aa 004125 701155 054111 aos sb|621,x1 " k L281: aa 004126 701155 235111 lda sb|621,x1 " k aa 004127 701156 115111 cmpa sb|622,x1 aa 004130 777770 604404 tmoz L282 aa 004131 700012 236111 448 ldq sb|10,x1 " j aa 004132 700011 763111 lprpbb sb|9,x1 " u aa 004133 300000 756100 stq bb|0 aa 004134 700011 236111 449 ldq sb|9,x1 " u aa 004135 701164 756111 stq sb|628,x1 aa 004136 700007 236111 ldq sb|7,x1 " v aa 004137 701165 756111 stq sb|629,x1 4a 004140 400026 272120 tsbbp lp|L251,* " Packstring aa 004141 001162 000002 zero 626,2 aa 004142 700004 236111 450 ldq sb|4,x1 " Space aa 004143 701164 756111 stq sb|628,x1 aa 004144 700005 236111 ldq sb|5,x1 " MaxLen aa 004145 701165 756111 stq sb|629,x1 aa 004146 700004 236111 ldq sb|4,x1 " Space aa 004147 701166 756111 stq sb|630,x1 aa 004150 700007 236111 ldq sb|7,x1 " v aa 004151 701167 756111 stq sb|631,x1 aa 004152 701153 236111 ldq sb|619,x1 " Val aa 004153 701170 756111 stq sb|632,x1 4a 004154 400030 272120 tsbbp lp|L236,* " Concatenate aa 004155 001162 000005 zero 626,5 aa 004156 700012 450111 451 stz sb|10,x1 " j L270: aa 004157 700327 054111 aos sb|215,x1 " i L265: aa 004160 700327 236111 ldq sb|215,x1 " i aa 004161 700161 116111 cmpq sb|113,x1 aa 004162 777503 604404 tmoz L266 aa 004163 700012 234111 453 szn sb|10,x1 " j aa 004164 000024 600004 tze L283 aa 004165 700012 235111 454 lda sb|10,x1 " j aa 004166 700011 761111 lprpab sb|9,x1 " u aa 004167 100000 755100 sta ab|0 aa 004170 700011 235111 455 lda sb|9,x1 " u aa 004171 701164 755111 sta sb|628,x1 aa 004172 700007 235111 lda sb|7,x1 " v aa 004173 701165 755111 sta sb|629,x1 4a 004174 400026 272120 tsbbp lp|L251,* " Packstring aa 004175 001162 000002 zero 626,2 aa 004176 700004 235111 456 lda sb|4,x1 " Space aa 004177 701164 755111 sta sb|628,x1 aa 004200 700005 235111 lda sb|5,x1 " MaxLen aa 004201 701165 755111 sta sb|629,x1 aa 004202 700004 235111 lda sb|4,x1 " Space aa 004203 701166 755111 sta sb|630,x1 aa 004204 700007 235111 lda sb|7,x1 " v aa 004205 701167 755111 sta sb|631,x1 4a 004206 400030 272120 tsbbp lp|L236,* " Concatenate aa 004207 001162 000004 zero 626,4 L283: L263: aa 004210 700000 762111 lprpbp sb|0,x1 " bcpl return aa 004211 200000 121100 sblx1 bp|0 aa 004212 700001 764111 lprplp sb|1,x1 aa 004213 200001 710100 tra bp|1 " end of return sequence " Begin text of FormatString aa 004214 000014 106157 zero 12,35951 " FormatString aa 004215 162155 141164 zero 58477,49780 aa 004216 123164 162151 zero 42612,58473 aa 004217 156147 000000 zero 56423 L220: aa 004220 000000 213000 400 epaq 0 " set lp to linkage section aa 004221 700026 764161 lprplp sb|22,*au aa 004222 200000 021100 adlx1 bp|0 " BCPL save aa 004223 700000 542111 sprpbp sb|0,x1 aa 004224 700001 544111 sprplp sb|1,x1 aa 004225 700425 620111 eax0 sb|277,x1 aa 004226 777760 360003 anx0 -16,du aa 004227 700025 740100 stx0 sb|21 " end of save sequence aa 004230 700004 235111 402 lda sb|4,x1 " Control aa 004231 700072 755111 sta sb|58,x1 aa 004232 700005 352111 eapbp sb|5,x1 " a aa 004233 700073 542111 sprpbp sb|59,x1 aa 004234 700002 235111 lda sb|2,x1 " Space aa 004235 700074 755111 sta sb|60,x1 aa 004236 700003 235111 lda sb|3,x1 " MaxLen aa 004237 700075 755111 sta sb|61,x1 aa 004240 777371 272004 tsbbp L221+2 " ProcessFormatString aa 004241 000070 000004 zero 56,4 L286: aa 004242 700000 762111 lprpbp sb|0,x1 " bcpl return aa 004243 200000 121100 sblx1 bp|0 aa 004244 700001 764111 lprplp sb|1,x1 aa 004245 200001 710100 tra bp|1 " end of return sequence " Definition section part one - external entry points 5a 000000 000056 000000 " pointer to first definition aa 000001 000000 600000 " flags: new format, ignore header aa 000002 000000 000000 " list terminator aa 000003 017142 143160 " "bcpl_stream_io_" aa 000004 154137 163164 aa 000005 162145 141155 aa 000006 137151 157137 aa 000007 014106 157162 " "FormatString" aa 000010 155141 164123 aa 000011 164162 151156 aa 000012 147000 000000 aa 000013 006106 157162 " "Format" aa 000014 155141 164000 aa 000015 006127 162151 " "WriteN" aa 000016 164145 116000 aa 000017 006127 162151 " "WriteS" aa 000020 164145 123000 aa 000021 005103 154157 " "Close" aa 000022 163145 000000 aa 000023 014123 164162 " "StreamLength" aa 000024 145141 155114 aa 000025 145156 147164 aa 000026 150000 000000 aa 000027 014123 164162 " "StreamOffset" aa 000030 145141 155117 aa 000031 146146 163145 aa 000032 164000 000000 aa 000033 015123 164162 " "StreamPointer" aa 000034 145141 155120 aa 000035 157151 156164 aa 000036 145162 000000 aa 000037 013122 145163 " "ResetStream" aa 000040 145164 123164 aa 000041 162145 141155 aa 000042 012106 154165 " "Flushinput" aa 000043 163150 151156 aa 000044 160165 164000 aa 000045 010127 162151 " "Writeout" aa 000046 164145 157165 aa 000047 164000 000000 aa 000050 004117 160145 " "Open" aa 000051 156000 000000 aa 000052 014163 171155 " "symbol_table" aa 000053 142157 154137 aa 000054 164141 142154 aa 000055 145000 000000 " Segname definition for bcpl_stream_io_ 55 000056 000061 000002 " forward, backward threads 5a 000057 000002 400003 " value defined, class flags 55 000060 000003 000061 " name pointer, first entry def " Definition for FormatString 55 000061 000064 000056 " forward, backward threads 0a 000062 004220 500000 " value defined, class flags 55 000063 000007 000056 " name pointer, segname def pointer " Definition for Format 55 000064 000067 000061 " forward, backward threads 0a 000065 003204 500000 " value defined, class flags 55 000066 000013 000056 " name pointer, segname def pointer " Definition for WriteN 55 000067 000072 000064 " forward, backward threads 0a 000070 003137 500000 " value defined, class flags 55 000071 000015 000056 " name pointer, segname def pointer " Definition for WriteS 55 000072 000075 000067 " forward, backward threads 0a 000073 003006 500000 " value defined, class flags 55 000074 000017 000056 " name pointer, segname def pointer " Definition for Close 55 000075 000100 000072 " forward, backward threads 0a 000076 002507 500000 " value defined, class flags 55 000077 000021 000056 " name pointer, segname def pointer " Definition for StreamLength 55 000100 000103 000075 " forward, backward threads 0a 000101 002416 500000 " value defined, class flags 55 000102 000023 000056 " name pointer, segname def pointer " Definition for StreamOffset 55 000103 000106 000100 " forward, backward threads 0a 000104 002440 500000 " value defined, class flags 55 000105 000027 000056 " name pointer, segname def pointer " Definition for StreamPointer 55 000106 000111 000103 " forward, backward threads 0a 000107 002467 500000 " value defined, class flags 55 000110 000033 000056 " name pointer, segname def pointer " Definition for ResetStream 55 000111 000114 000106 " forward, backward threads 0a 000112 002262 500000 " value defined, class flags 55 000113 000037 000056 " name pointer, segname def pointer " Definition for Flushinput 55 000114 000117 000111 " forward, backward threads 0a 000115 002163 500000 " value defined, class flags 55 000116 000042 000056 " name pointer, segname def pointer " Definition for Writeout 55 000117 000122 000114 " forward, backward threads 0a 000120 002130 500000 " value defined, class flags 55 000121 000045 000056 " name pointer, segname def pointer " Definition for Open 55 000122 000125 000117 " forward, backward threads 0a 000123 001021 500000 " value defined, class flags 55 000124 000050 000056 " name pointer, segname def pointer " Definition for symbol_table 55 000125 000002 000122 " forward, backward threads 6a 000126 000000 400002 " value defined, class flags 55 000127 000052 000056 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000130 020142 143160 " "bcpl_arithmetic_" aa 000131 154137 141162 aa 000132 151164 150155 aa 000133 145164 151143 aa 000134 137000 000000 aa 000135 004115 151156 " "MinI" aa 000136 111000 000000 5a 000137 000140 000000 aa 000140 000004 000000 55 000141 000130 000135 aa 000142 015142 143160 " "bcpl_strings_" aa 000143 154137 163164 aa 000144 162151 156147 aa 000145 163137 000000 aa 000146 011123 145164 " "SetLength" aa 000147 114145 156147 aa 000150 164150 000000 5a 000151 000152 000000 aa 000152 000004 000000 55 000153 000142 000146 aa 000154 021142 143160 " "bcpl_conversions_" aa 000155 154137 143157 aa 000156 156166 145162 aa 000157 163151 157156 aa 000160 163137 000000 aa 000161 013103 157156 " "ConvertFtoS" aa 000162 166145 162164 aa 000163 106164 157123 5a 000164 000165 000000 aa 000165 000004 000000 55 000166 000154 000161 aa 000167 022142 143160 " "bcpl_machine_code_" aa 000170 154137 155141 aa 000171 143150 151156 aa 000172 145137 143157 aa 000173 144145 137000 aa 000174 012120 141143 " "Packstring" aa 000175 153163 164162 aa 000176 151156 147000 5a 000177 000200 000000 aa 000200 000004 000000 55 000201 000167 000174 aa 000202 013103 157156 " "Concatenate" aa 000203 143141 164145 aa 000204 156141 164145 5a 000205 000206 000000 aa 000206 000004 000000 55 000207 000142 000202 aa 000210 012103 157160 " "CopyString" aa 000211 171123 164162 aa 000212 151156 147000 5a 000213 000214 000000 aa 000214 000004 000000 55 000215 000142 000210 aa 000216 013103 157156 " "ConvertNtoS" aa 000217 166145 162164 aa 000220 116164 157123 5a 000221 000222 000000 aa 000222 000004 000000 55 000223 000154 000216 aa 000224 005123 165142 " "Subch" aa 000225 143150 000000 5a 000226 000227 000000 aa 000227 000004 000000 55 000230 000167 000224 aa 000231 010115 157166 " "MoveBits" aa 000232 145102 151164 aa 000233 163000 000000 5a 000234 000235 000000 aa 000235 000004 000000 55 000236 000167 000231 aa 000237 006114 145156 " "Length" aa 000240 147164 150000 5a 000241 000242 000000 aa 000242 000004 000000 55 000243 000142 000237 aa 000244 014155 163146 " "msf_manager_" aa 000245 137155 141156 aa 000246 141147 145162 aa 000247 137000 000000 aa 000250 005143 154157 " "close" aa 000251 163145 000000 5a 000252 000253 000000 aa 000253 000004 000000 55 000254 000244 000250 aa 000255 006141 144152 " "adjust" aa 000256 165163 164000 5a 000257 000260 000000 aa 000260 000004 000000 55 000261 000244 000255 aa 000262 021142 143160 " "bcpl_filesys_lib_" aa 000263 154137 146151 aa 000264 154145 163171 aa 000265 163137 154151 aa 000266 142137 000000 aa 000267 011124 145162 " "Terminate" aa 000270 155151 156141 aa 000271 164145 000000 5a 000272 000273 000000 aa 000273 000004 000000 55 000274 000262 000267 aa 000275 004151 157163 " "ios_" aa 000276 137000 000000 aa 000277 011162 145163 " "resetread" aa 000300 145164 162145 aa 000301 141144 000000 5a 000302 000303 000000 aa 000303 000004 000000 55 000304 000275 000277 aa 000305 013115 141153 " "MakeSegment" aa 000306 145123 145147 aa 000307 155145 156164 5a 000310 000311 000000 aa 000311 000004 000000 55 000312 000262 000305 aa 000313 014145 162162 " "error_table_" aa 000314 157162 137164 aa 000315 141142 154145 aa 000316 137000 000000 aa 000317 017172 145162 " "zero_length_seg" aa 000320 157137 154145 aa 000321 156147 164150 aa 000322 137163 145147 5a 000323 000324 000000 aa 000324 000004 000000 55 000325 000313 000317 aa 000326 006144 151162 " "dirseg" aa 000327 163145 147000 5a 000330 000331 000000 aa 000331 000004 000000 55 000332 000313 000326 aa 000333 013106 151156 " "FindSegment" aa 000334 144123 145147 aa 000335 155145 156164 5a 000336 000337 000000 aa 000337 000004 000000 55 000340 000262 000333 aa 000341 022146 151156 " "find_include_file_" aa 000342 144137 151156 aa 000343 143154 165144 aa 000344 145137 146151 aa 000345 154145 137000 aa 000346 016151 156151 " "initiate_count" aa 000347 164151 141164 aa 000350 145137 143157 aa 000351 165156 164000 5a 000352 000353 000000 aa 000353 000004 000000 55 000354 000341 000346 aa 000355 014112 157151 " "JoinPathname" aa 000356 156120 141164 aa 000357 150156 141155 aa 000360 145000 000000 5a 000361 000362 000000 aa 000362 000004 000000 55 000363 000262 000355 aa 000364 011147 145164 " "get_wdir_" aa 000365 137167 144151 aa 000366 162137 000000 5a 000367 000370 000000 aa 000370 000004 000000 55 000371 000364 000364 aa 000372 015115 141153 " "MakePl1String" aa 000373 145120 154061 aa 000374 123164 162151 aa 000375 156147 000000 5a 000376 000377 000000 aa 000377 000004 000000 55 000400 000142 000372 aa 000401 016105 170160 " "ExpandPathname" aa 000402 141156 144120 aa 000403 141164 150156 aa 000404 141155 145000 5a 000405 000406 000000 aa 000406 000004 000000 55 000407 000262 000401 aa 000410 010163 171163 " "sys_info" aa 000411 137151 156146 aa 000412 157000 000000 aa 000413 014155 141170 " "max_seg_size" aa 000414 137163 145147 aa 000415 137163 151172 aa 000416 145000 000000 5a 000417 000420 000000 aa 000420 000004 000000 55 000421 000410 000413 aa 000422 015147 145164 " "get_at_entry_" aa 000423 137141 164137 aa 000424 145156 164162 aa 000425 171137 000000 5a 000426 000427 000000 aa 000427 000004 000000 55 000430 000422 000422 aa 000431 010116 165155 " "NumbArgs" aa 000432 142101 162147 aa 000433 163000 000000 5a 000434 000435 000000 aa 000435 000004 000000 55 000436 000167 000431 aa 000437 010101 154154 " "Allocate" aa 000440 157143 141164 aa 000441 145000 000000 5a 000442 000443 000000 aa 000443 000004 000000 55 000444 000262 000437 aa 000445 010162 145141 " "read_ptr" aa 000446 144137 160164 aa 000447 162000 000000 5a 000450 000451 000000 aa 000451 000004 000000 55 000452 000275 000445 aa 000453 005167 162151 " "write" aa 000454 164145 000000 5a 000455 000456 000000 aa 000456 000004 000000 55 000457 000275 000453 aa 000460 013123 145164 " "SetBitCount" aa 000461 102151 164103 aa 000462 157165 156164 5a 000463 000464 000000 aa 000464 000004 000000 55 000465 000262 000460 aa 000466 013107 145164 " "GetPathname" aa 000467 120141 164150 aa 000470 156141 155145 5a 000471 000472 000000 aa 000472 000004 000000 55 000473 000262 000466 aa 000474 010163 145147 " "segknown" aa 000475 153156 157167 aa 000476 156000 000000 5a 000477 000500 000000 aa 000500 000004 000000 55 000501 000313 000474 aa 000502 007147 145164 " "get_ptr" aa 000503 137160 164162 5a 000504 000505 000000 aa 000505 000004 000000 55 000506 000244 000502 aa 000507 010102 103120 " "BCPLaddr" aa 000510 114141 144144 aa 000511 162000 000000 5a 000512 000513 000000 aa 000513 000004 000000 55 000514 000167 000507 aa 000515 007156 157145 " "noentry" aa 000516 156164 162171 5a 000517 000520 000000 aa 000520 000004 000000 55 000521 000313 000515 aa 000522 004157 160145 " "open" aa 000523 156000 000000 5a 000524 000525 000000 aa 000525 000004 000000 55 000526 000244 000522 aa 000527 015123 160154 " "SplitPathname" aa 000530 151164 120141 aa 000531 164150 156141 aa 000532 155145 000000 5a 000533 000534 000000 aa 000534 000004 000000 55 000535 000262 000527 aa 000536 004162 145141 " "read" aa 000537 144000 000000 5a 000540 000541 000000 aa 000541 000004 000000 55 000542 000275 000536 aa 000543 011167 162151 " "write_ptr" aa 000544 164145 137160 aa 000545 164162 000000 5a 000546 000547 000000 aa 000547 000004 000000 55 000550 000275 000543 aa 000551 003111 124123 " "ITS" 5a 000552 000553 000000 aa 000553 000004 000000 55 000554 000167 000551 aa 000555 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 004246 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000020 000140 " offset to links, total length aa 000007 000000 000140 " obsolete length " Static variables aa 000010 000000 000013 zero 0,11 " Eleven aa 000011 000000 000001 zero 0,1 " One aa 000012 000000 000000 zero 0 " Zero aa 000013 000000 000000 zero 0 " Bufferlist aa 000014 000000 000000 zero 0 " Freelist aa 000015 000000 000000 zero 0 " Out aa 000016 000000 000000 zero 0 " In aa 000017 000000 000000 " External link pairs L276: 3a 000020 777760 000046 " "bcpl_arithmetic_$MinI" 5a 000021 000137 000000 L264: 3a 000022 777756 000046 " "bcpl_strings_$SetLength" 5a 000023 000151 000000 L258: 3a 000024 777754 000046 " "bcpl_conversions_$ConvertFtoS" 5a 000025 000164 000000 L251: 3a 000026 777752 000046 " "bcpl_machine_code_$Packstring" 5a 000027 000177 000000 L236: 3a 000030 777750 000046 " "bcpl_strings_$Concatenate" 5a 000031 000205 000000 L233: 3a 000032 777746 000046 " "bcpl_strings_$CopyString" 5a 000033 000213 000000 L218: 3a 000034 777744 000046 " "bcpl_conversions_$ConvertNtoS" 5a 000035 000221 000000 L212: 3a 000036 777742 000046 " "bcpl_machine_code_$Subch" 5a 000037 000226 000000 L209: 3a 000040 777740 000046 " "bcpl_machine_code_$MoveBits" 5a 000041 000234 000000 L206: 3a 000042 777736 000046 " "bcpl_strings_$Length" 5a 000043 000241 000000 L196: 3a 000044 777734 000046 " "msf_manager_$close" 5a 000045 000252 000000 L195: 3a 000046 777732 000046 " "msf_manager_$adjust" 5a 000047 000257 000000 L191: 3a 000050 777730 000046 " "bcpl_filesys_lib_$Terminate" 5a 000051 000272 000000 L156: 3a 000052 777726 000046 " "ios_$resetread" 5a 000053 000302 000000 L130: 3a 000054 777724 000046 " "bcpl_filesys_lib_$MakeSegment" 5a 000055 000310 000000 L127: 3a 000056 777722 000046 " "error_table_$zero_length_seg" 5a 000057 000323 000000 L120: 3a 000060 777720 000046 " "error_table_$dirseg" 5a 000061 000330 000000 L117: 3a 000062 777716 000046 " "bcpl_filesys_lib_$FindSegment" 5a 000063 000336 000000 L114: 3a 000064 777714 000046 " "find_include_file_$initiate_count" 5a 000065 000352 000000 L110: 3a 000066 777712 000046 " "bcpl_filesys_lib_$JoinPathname" 5a 000067 000361 000000 L109: 3a 000070 777710 000046 " "get_wdir_" 5a 000071 000367 000000 L107: 3a 000072 777706 000046 " "bcpl_strings_$MakePl1String" 5a 000073 000376 000000 L104: 3a 000074 777704 000046 " "bcpl_filesys_lib_$ExpandPathname" 5a 000075 000405 000000 L100: 3a 000076 777702 000046 " "sys_info$max_seg_size" 5a 000077 000417 000000 L96: 3a 000100 777700 000046 " "get_at_entry_" 5a 000101 000426 000000 L80: 3a 000102 777676 000046 " "bcpl_machine_code_$NumbArgs" 5a 000103 000434 000000 L74: 3a 000104 777674 000046 " "bcpl_filesys_lib_$Allocate" 5a 000105 000442 000000 L65: 3a 000106 777672 000046 " "ios_$read_ptr" 5a 000107 000450 000000 L60: 3a 000110 777670 000046 " "ios_$write" 5a 000111 000455 000000 L54: 3a 000112 777666 000046 " "bcpl_filesys_lib_$SetBitCount" 5a 000113 000463 000000 L52: 3a 000114 777664 000046 " "bcpl_filesys_lib_$GetPathname" 5a 000115 000471 000000 L46: 3a 000116 777662 000046 " "error_table_$segknown" 5a 000117 000477 000000 L43: 3a 000120 777660 000046 " "msf_manager_$get_ptr" 5a 000121 000504 000000 L36: 3a 000122 777656 000046 " "bcpl_machine_code_$BCPLaddr" 5a 000123 000512 000000 L35: 3a 000124 777654 000046 " "error_table_$noentry" 5a 000125 000517 000000 L32: 3a 000126 777652 000046 " "msf_manager_$open" 5a 000127 000524 000000 L27: 3a 000130 777650 000046 " "bcpl_filesys_lib_$SplitPathname" 5a 000131 000533 000000 L22: 3a 000132 777646 000046 " "ios_$read" 5a 000133 000540 000000 L16: 3a 000134 777644 000046 " "ios_$write_ptr" 5a 000135 000546 000000 L12: 3a 000136 777642 000046 " "bcpl_machine_code_$ITS" 5a 000137 000552 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 440272 441105 " 01/24/75 0700.4 mst Fri aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000036 000035 " compiler version name - pointer, length aa 000013 000046 000024 " user id - pointer, length aa 000014 000053 000043 " comment string - pointer, length aa 000015 000002 000002 " text and linkage boundaries aa 000016 000024 000000 " source map, symbol tree root 7a 000017 000000 000107 " section header pointer, block size aa 000020 000000 000107 " next block pointer, rel_text aa 000021 000000 000205 " rel_def, rel_link aa 000022 000226 000107 " rel_symbol, default truncate aa 000023 000024 000000 " optional truncate, unused aa 000024 000000 000001 " source files map: version number aa 000025 000000 000002 " number of files aa 000026 000064 000056 " bcpl_stream_io_ aa 000027 023333 611430 " last modified on aa 000030 000000 102333 " 01/24/75 0647.2 mst Fri aa 000031 432367 000000 aa 000032 000100 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 102103 120114 " "BCPL version 3.4, August 1973" aa 000037 040166 145162 aa 000040 163151 157156 aa 000041 040063 056064 aa 000042 054040 101165 aa 000043 147165 163164 aa 000044 040061 071067 aa 000045 063040 040040 aa 000046 115141 162164 " "Martinson.SysMaint.a" aa 000047 151156 163157 aa 000050 156056 123171 aa 000051 163115 141151 aa 000052 156164 056141 aa 000053 163157 165162 " "source xref alist optimize 6180" aa 000054 143145 040040 aa 000055 170162 145146 aa 000056 040040 141154 aa 000057 151163 164040 aa 000060 040157 160164 aa 000061 151155 151172 aa 000062 145040 040066 aa 000063 061070 060040 aa 000064 076062 056061 " ">2.1spec>online>mib083074>bcpl_stream_io_.bcpl" aa 000065 163160 145143 aa 000066 076157 156154 aa 000067 151156 145076 aa 000070 155151 142060 aa 000071 070063 060067 aa 000072 064076 142143 aa 000073 160154 137163 aa 000074 164162 145141 aa 000075 155137 151157 aa 000076 137056 142143 aa 000077 160154 040040 aa 000100 076154 144144 " ">ldd>include>head.incl.bcpl" aa 000101 076151 156143 aa 000102 154165 144145 aa 000103 076150 145141 aa 000104 144056 151156 aa 000105 143154 056142 aa 000106 143160 154040 " Relocation information " text section relocation bits aa 000107 000000 000002 " version number of rel-bits structure aa 000110 000000 004121 " length in bits aa 000111 740465 170043 aa 000112 476012 647410 aa 000113 551701 174760 aa 000114 236474 137517 aa 000115 012720 000024 aa 000116 740235 170257 aa 000117 236036 640000 aa 000120 050001 236060 aa 000121 647405 151701 aa 000122 632360 336474 aa 000123 047637 011323 aa 000124 602671 062031 aa 000125 740255 170123 aa 000126 236044 710024 aa 000127 740335 170057 aa 000130 454431 062144 aa 000131 012360 226474 aa 000132 023626 214431 aa 000133 000120 000625 aa 000134 170207 443174 aa 000135 061517 044723 aa 000136 601564 740555 aa 000137 170057 236011 aa 000140 647402 551701 aa 000141 432360 526474 aa 000142 021500 000517 aa 000143 004720 000024 aa 000144 000005 170227 aa 000145 200000 247402 aa 000146 351700 532360 aa 000147 136474 045517 aa 000150 005323 601064 aa 000151 743315 170153 aa 000152 236031 640001 aa 000153 236046 647412 aa 000154 151702 272360 aa 000155 627100 317403 aa 000156 750000 050000 aa 000157 051700 472360 aa 000160 237174 023517 aa 000161 006323 603371 aa 000162 003174 047517 aa 000163 005323 603764 aa 000164 740475 170147 aa 000165 236015 647417 aa 000166 351700 472360 aa 000167 116400 247423 aa 000170 751700 572360 aa 000171 176474 027517 aa 000172 006723 601564 aa 000173 000020 741655 aa 000174 170063 236020 aa 000175 647402 350000 aa 000176 051701 272360 aa 000177 266474 045500 aa 000200 000517 016323 aa 000201 601364 740775 aa 000202 170057 236017 aa 000203 647402 351701 aa 000204 760000 000000 l " inkage relocation bits aa 000205 000000 000002 " version number of rel-bits structure aa 000206 000000 001004 " length in bits aa 000207 100002 274023 aa 000210 465246 524652 aa 000211 465246 524652 aa 000212 465246 524652 aa 000213 465246 524652 aa 000214 465246 524652 aa 000215 465246 524652 aa 000216 465246 524652 aa 000217 465246 524652 aa 000220 465246 524652 aa 000221 465246 524652 aa 000222 465246 524652 aa 000223 465246 524652 aa 000224 465246 524652 aa 000225 465200 000000 s " ymbol relocation bits aa 000226 000000 000002 " version number of rel-bits structure aa 000227 000000 000043 " length in bits aa 000230 740365 770336 " Object map aa 005415 000000 000001 " version number of object_map structure aa 005416 157142 152137 " "obj_map " aa 005417 155141 160040 aa 005420 000000 004246 " text offset, length aa 005421 004246 000555 " def offset, length aa 005422 005024 000140 " link offset, length aa 005423 005164 000231 " symbol offset, length aa 005424 000000 000000 " break map offset, length aa 005425 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 005426 005415 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