Compilation listing of file >2.1spec>online>mib083074>bcpl_filesys_lib_.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0658.9 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 // Interface to Multics file system routines for BCPL programs. 2 // Last modified on 06/03/74 at 11:56:55 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 $( ExpandPath = "expand_path_" // call expand_path_ (path name ptr, path name length, 17 // dir name ptr, entry name ptr, return code) 18 Initiate = "hcs_$initiate" // call hcs_$initiate (dir name, entry name, reference name, 19 // segno_sw, copy_sw, return ptr, return code) 20 StatusMinf = "hcs_$status_minf" // call hcs_$status_minf (dir name, entry name, chase_sw, 21 // return type, return bit count, return code) 22 MakeSeg = "hcs_$make_seg" // call hcs_$make_seg (dir name, entry name, reference name, 23 // access mode, return ptr, return code) 24 Delentry = "hcs_$delentry_file" // call hcs_$delentry_file (dir name, entry name, return code) 25 TruncateSeg = "hcs_$truncate_seg" // call hcs_$truncate_seg (segment ptr, word length, return code) 26 TerminateNoname = "hcs_$terminate_noname" // call hcs_$terminate_noname (segment ptr, return code) 27 SetBC = "hcs_$set_bc_seg" // call hcs_$set_bc_seg (segment ptr, bit count, return code) 28 FsGetPathName = "hcs_$fs_get_path_name" // call hcs_$fs_get_path_name (segment ptr, return dir name, 29 // return dir name length, return entry name, return code) 30 GetWdir = "get_wdir_" // call get_wdir_ (return working dir name) 31 GetPdir = "get_pdir_" // call get_pdir_ (return process dir name) 32 AssignLinkage = "hcs_$assign_linkage" // call hcs_$assign_linkage (# words, return ptr) 33 MakePtr = "hcs_$make_ptr" // call hcs_$make_ptr (caller ptr, name1, name2, return ptr, return code) 34 VirtualCpuTime = "virtual_cpu_time_" // call virtual_cpu_time_ (return 52-bit cpu usage) 35 36 SegKnown = "error_table_$segknown" // declare error_table_$segknown fixed binary external static; 37 ZeroLenSeg = "error_table_$zero_length_seg" // declare error_table_$zero_length_seg fixed binary external static; 38 DirSeg = "error_table_$dirseg" // declare error_table_$dirseg fixed binary external static; 39 NoEntry = "error_table_$noentry" // declare error_table_$noentry fixed binary external static; 40 41 MaxSegSize = "sys_info$max_seg_size" // declare sys_info$max_seg_size fixed binary external static; 42 $) 43 global 44 $( FirstTemp : 42; Freearea : 43 45 Freelimit : 44; Freelist : 45 46 $) 47 static 48 $( Zero = 0; One = 1; Eleven = 11 $) // Constants for Multics calls. 49 50 let ExpandPathname (Name, Path) = valof // Returns Path containing full pathname as string. 51 $( let Dir, Ent = vec 42, vec 8 52 let v = vec 6 53 let l = Length (Name) 54 call ExpandPath (ITS (Name, v, CountSize) pointer, lv l, ITS (Dir, v + 2) pointer, 55 ITS (Ent, v + 4) pointer, lv Errcode bit 36) 56 resultis JoinPathname (Dir, Ent, Path) 57 $) 58 and JoinPathname (Dir, Ent, Path) = valof 59 $( MakeBcplString (Dir, 168, Path) 60 if Path!0 = ">"!0 do Path!0 := ""!0 61 let v = vec 10 62 MakeBcplString (Ent, 32, v) 63 resultis Concatenate (Path, 168, Path, ">", v) 64 $) 65 and SplitPathname (Path, Dir, Ent) be // Get back aligned Dir168, Ent32 for internal use. 66 $( let Temp = vec 50 67 for i = Length (Path) to 1 by -1 if Subch (Path, i) = '>' do 68 $( Substr (Temp, Path, 1, MinI (i - 1, 168)) 69 MakePl1String (i = 1 -> ">", Temp, Dir, 168) 70 Substr (Temp, Path, i + 1, 32) 71 MakePl1String (Temp, Ent, 32) 72 return 73 $) 74 MakePl1String (Path, Dir, 168) 75 MakePl1String ("", Ent, 32) 76 $) 77 78 let FindSegment (Path, LvL) = valof // Return pointer to named segment. rv LvL gets bit count. 79 $( let Dir, Ent = vec 42, vec 8 80 SplitPathname (Path, Dir, Ent) 81 let Type, v = 0, vec 2 82 call StatusMinf (Dir char 168, Ent char 32, lv One, lv Type, LvL, lv Errcode bit 36) 83 if Type = 2 do Errcode := rv DirSeg 84 unless Errcode = 0 resultis Null 85 call Initiate (Dir char 168, Ent char 32, lv Zero char 0, lv Zero, lv One, v pointer, lv Errcode bit 36) 86 if Errcode ne 0 then if Errcode = rv SegKnown do Errcode := 0 87 resultis BCPLaddr (v) 88 $) 89 90 let MakeSegment (Path) = valof // Return pointer to named segment, creating it or truncating it. 91 $( let v, Dir, Ent = vec 2, vec 42, vec 8 92 SplitPathname (Path, Dir, Ent) 93 call MakeSeg (Dir char 168, Ent char 32, lv Zero char 0, lv Eleven, v pointer, lv Errcode bit 36) 94 let p = BCPLaddr (v) 95 unless Errcode = 0 logor p = Null do SetBitCount (p, 0) 96 resultis p 97 $) 98 99 and SetBitCount (p, l) be // Truncate segment p to l bits. 100 $( let v = vec 2 101 let n = (l + WordSize - 1) / WordSize 102 call TruncateSeg (ITS (p, v) pointer, lv n, lv Errcode bit 36) 103 call SetBC (ITS (p, v) pointer, lv l, lv Errcode bit 36) 104 $) 105 and Terminate (p) be // Terminate one null reference name on segment p. 106 $( let v = vec 2 107 call TerminateNoname (ITS (p, v) pointer, lv Errcode bit 36) 108 $) 109 and GetPathname (p, Path) = valof 110 $( let Dir, Ent = vec 42, vec 8 111 let v, x = vec 2, nil 112 call FsGetPathName (ITS (p, v) pointer, Dir char 168, lv x, Ent char 32, lv Errcode bit 36) 113 resultis JoinPathname (Dir, Ent, Path) 114 $) 115 116 let MakeTempSeg (Index, ID) = valof // Create a temporary segment in the process directory. 117 $( unless NumbArgs () = 2 do ID := "temp" 118 let Name, v = vec 50, vec 2 119 MakeName (Index, ID, Name) 120 call MakeSeg ("" string, Name string, "" string, lv Eleven, v pointer, lv Errcode bit 36) 121 resultis BCPLaddr (v) 122 $) 123 and DeleteTempSeg (Index, ID) be // Delete a temporary segment from the process directory. 124 $( unless NumbArgs () = 2 do ID := "temp" 125 let Name, Pdir = vec 50, vec 50 126 MakeName (Index, ID, Name) 127 call GetPdir (Pdir char 168) 128 call Delentry (Pdir char 168, Name string, lv Errcode bit 36) 129 $) 130 and MakeName (Index, ID, Name) be // Fabricate temp seg name. 131 $( let w = vec 50 132 Concatenate (Name, 32, ProgramID, ".temp_seg_", ConvertNtoS (Index, w), ".", ID) 133 $) 134 135 let Allocate (n) = valof // Return a pointer to n free words from the combined linkage. 136 $( let v = vec 2 137 if n < 0 logor n ge 16000 do n := 16000 138 n := n + n rem 2 // Round up to even number. 139 call AssignLinkage (lv n, v pointer, lv Errcode bit 36) // Let hcs_ entry do the work. 140 resultis BCPLaddr (v) 141 $) 142 143 manifest $( NewvecID = $8001234567654 $) // Magic flag must be present or vector cannot be freed. 144 static $( NewvecTemps = 0 $) // Used to obtain unique names for temporary segments. 145 let NewvecInit (Space, Size) be // Initialize free-storage allocation package. 146 $( for i = 0 to 20 do Space!i := 0 147 Freelist := Space 148 Freearea := Space + 21 149 Freelimit := Space + Size 150 FirstTemp := NewvecTemps 151 $) 152 and Newvec (Size) = valof // Get a vector of length Size from free storage. 153 $( Size := Size + 1 // n-word vector has n+1 words. 154 Size := Size & Right 155 let j = 0 // Determine next larger power of two. 156 $( Size := Size rshift 1 157 if Size = 0 break 158 j := j + 1 159 $) repeat 160 let p = Freelist!j // Look first for reusable space of same size. 161 unless p = 0 do 162 $( Freelist!j := p!0 163 p!0 := NewvecID | j lshift 30 164 resultis lv p!1 165 $) 166 Try: p := Freearea // Carve new chunk off unused block. 167 Freearea := Freearea + (2 lshift j) 168 if Freearea le Freelimit do // If it fits, done. 169 $( p!0 := NewvecID | j lshift 30 170 resultis lv p!1 171 $) 172 NewvecTemps := NewvecTemps + 1 // Need more space, grab another segment. 173 Freearea := MakeTempSeg (NewvecTemps, "Newvec") 174 Freelimit := Freearea + rv MaxSegSize 175 goto Try 176 $) 177 and Freevec (Space) be // Put back a previously allocated vector. 178 $( Space := lv Space!(-1) 179 let j = Space!0 180 unless (j & $8007777777777) = NewvecID return // Clobbered somehow? 181 j := j rshift 30 182 Space!0 := Freelist!j 183 Freelist!j := Space 184 $) 185 and NewvecCleanup () be // Release segments created by Newvec in this invocation. 186 $( while FirstTemp < NewvecTemps do 187 $( FirstTemp := FirstTemp + 1 188 DeleteTempSeg (FirstTemp, "Newvec") 189 $) 190 $) 191 let Findadr (s, t) = valof // Invoke the linker with string variable arguments. 192 // The external declaration should be used if the names are known at compile time. 193 $( let v, w = vec 2, vec 2 194 let N1, N2 = vec 128, vec 128 195 test NumbArgs () = 1 196 then $( let i = IndexCh (s, '$') 197 test i = 0 198 then t := s 199 or $( Substr (N1, s, 1, MinI (i - 1, 511)) 200 Substr (N2, s, i + 1, 511) 201 s, t := N1, N2 202 $) 203 $) 204 or if t = 0 do t := "" // For direct text reference. No linkage section is required. 205 let CallerPtr = rv (lv s - 2) // Routine that called Findadr; used for referencing_dir rule. 206 call MakePtr (ITS (CallerPtr, w) pointer, s string, t string, v pointer, lv Errcode bit 36) 207 unless Errcode = 0 resultis Null 208 resultis BCPLaddr (v) 209 $) 210 211 let GetCpuUsage () = valof // Return cpu time usage in microseconds. 212 $( let v = vec 2 213 call VirtualCpuTime (v fixed double) 214 resultis v!1 215 $) CAE time 3.6, 97 source lines per second. cross reference table AbsI head: 11 AbsR head: 12 Allocate head: 64, bcpl_filesys_lib_: 135 Append head: 136 ArgIndex head: 121 AssignLinkage bcpl_filesys_lib_: 32, 139 Bcall head: 54 BCPLaddr head: 108, bcpl_filesys_lib_: 87, 94, 121, 140, 208 ByteSize head: 127 CallerPtr bcpl_filesys_lib_: 205, 206 Ch head: 118 CharToString head: 37 Close head: 69 CompareStrings head: 27 Complain head: 107 Concatenate head: 28, bcpl_filesys_lib_: 63, 132 ConcatenateArgs head: 104 CONSOLE head: 117 Console head: 134 ConvertFtoS head: 46 ConvertNtoS head: 45, bcpl_filesys_lib_: 132 ConvertStoN head: 44 CopyString head: 25 CountSize head: 128, bcpl_filesys_lib_: 54 Delentry bcpl_filesys_lib_: 24, 128 DeleteTempSeg head: 91, bcpl_filesys_lib_: 123, 188 Dir bcpl_filesys_lib_: 51, 54, 56, 58, 59, 65, 69, 74, 79, 80, 82, 85, 91, 92, 93, 110, 112, 113 DirSeg bcpl_filesys_lib_: 38, 83 Eleven bcpl_filesys_lib_: 48, 93, 120 Endofstreamch head: 130 Ent bcpl_filesys_lib_: 51, 55, 56, 58, 62, 65, 71, 75, 79, 80, 82, 85, 91, 92, 93, 110, 112, 113 EntryName head: 135 EqualString head: 26 Errcode head: 120, bcpl_filesys_lib_: 55, 82, 83, 84, 85, 86, 86, 86, 93, 95, 102, 103, 107, 112, 120, 128, 139, 206, 207 ExpandPath bcpl_filesys_lib_: 16, 54 ExpandPathname head: 84, bcpl_filesys_lib_: 50 Exponential head: 20 Findadr head: 65, bcpl_filesys_lib_: 191 FindSegment head: 87, bcpl_filesys_lib_: 78 FirstTemp bcpl_filesys_lib_: 44, 150, 186, 187, 187, 188 Flushinput head: 77 Format head: 74 FormatString head: 75 FormDate head: 49 Freearea bcpl_filesys_lib_: 44, 148, 166, 167, 167, 168, 173, 174 Freelimit bcpl_filesys_lib_: 45, 149, 168, 174 Freelist bcpl_filesys_lib_: 45, 147, 160, 162, 182, 183 Freevec head: 63, bcpl_filesys_lib_: 177 FsGetPathName bcpl_filesys_lib_: 28, 112 GetCpuUsage head: 96, bcpl_filesys_lib_: 211 GetNextCommandArg head: 106 GetPathname head: 89, bcpl_filesys_lib_: 109 GetPdir bcpl_filesys_lib_: 31, 127 GetWdir bcpl_filesys_lib_: 30 i bcpl_filesys_lib_: 67, 67, 68, 69, 70, 146, 146, 196, 197, 199, 200 ID bcpl_filesys_lib_: 116, 117, 119, 123, 124, 126, 130, 132 Index head: 34, bcpl_filesys_lib_: 116, 119, 123, 126, 130, 132 IndexCh head: 35, bcpl_filesys_lib_: 196 Initiate bcpl_filesys_lib_: 18, 85 INPUT head: 116 InsertEscapes head: 48 IOstatus head: 120 IpowerI head: 14 ItoR head: 43 ITS head: 109, bcpl_filesys_lib_: 54, 54, 55, 102, 103, 107, 112, 206 j bcpl_filesys_lib_: 155, 158, 158, 160, 162, 163, 167, 169, 179, 180, 181, 181, 182, 183 JoinPathname head: 85, bcpl_filesys_lib_: 56, 58, 113 l bcpl_filesys_lib_: 53, 54, 99, 101, 103 Left head: 129 Length head: 31, bcpl_filesys_lib_: 53, 67 LengthInWords head: 33 Level head: 53 Logarithm head: 19 Longjump head: 52 LvL bcpl_filesys_lib_: 78, 82 Machine head: 125 MakeBcplString head: 39, bcpl_filesys_lib_: 59, 62 MakeName bcpl_filesys_lib_: 119, 126, 130 MakePl1String head: 38, bcpl_filesys_lib_: 69, 71, 74, 75 MakePtr bcpl_filesys_lib_: 33, 206 MakeSeg bcpl_filesys_lib_: 22, 93, 120 MakeSegment head: 88, bcpl_filesys_lib_: 90 MakeTempSeg head: 90, bcpl_filesys_lib_: 116, 173 MaxI head: 7 MaxR head: 8 MaxSegSize bcpl_filesys_lib_: 41, 174 MinI head: 9, bcpl_filesys_lib_: 68, 199 MinR head: 10 MONITOR head: 117 Move head: 56 MoveBits head: 57 MultiSegmentFile head: 137 n bcpl_filesys_lib_: 101, 102, 135, 137, 137, 137, 138, 138, 138, 139 N1 bcpl_filesys_lib_: 194, 199, 201 N2 bcpl_filesys_lib_: 194, 200, 201 Name bcpl_filesys_lib_: 50, 53, 54, 118, 119, 120, 125, 126, 128, 130, 132 Newvec head: 62, bcpl_filesys_lib_: 152 NewvecCleanup head: 61, bcpl_filesys_lib_: 185 NewvecID bcpl_filesys_lib_: 143, 163, 169, 180 NewvecInit head: 60, bcpl_filesys_lib_: 145 NewvecTemps bcpl_filesys_lib_: 144, 150, 172, 172, 173, 186 NoEntry bcpl_filesys_lib_: 39 Null head: 131, bcpl_filesys_lib_: 84, 95, 207 NumbArgs head: 59, bcpl_filesys_lib_: 117, 124, 195 One bcpl_filesys_lib_: 48, 82, 85 Open head: 68 OptCallOut head: 144 OptConvert head: 143 OptGetNext head: 142 OptionParse head: 105 OptNegatable head: 140 OptNegate head: 141 OUTPUT head: 116 p bcpl_filesys_lib_: 94, 95, 95, 96, 99, 102, 103, 105, 107, 109, 112, 160, 161, 162, 163, 164, 166, 169, 170 Packstring head: 23 Path bcpl_filesys_lib_: 50, 56, 58, 59, 60, 60, 63, 63, 65, 67, 67, 68, 70, 74, 78, 80, 90, 92, 109, 113 PathName head: 135 Pdir bcpl_filesys_lib_: 125, 127, 128 Pl1ArgPtr head: 100 Pl1ArgString head: 102 Pl1Call head: 55 Pl1Descriptor head: 101 Pl1NumbArgs head: 99 Pl1ReturnString head: 103 Pointer head: 134 ProgramID head: 119, bcpl_filesys_lib_: 132 RandomI head: 17 RandomR head: 18 RawClockTime head: 94 Read head: 136 Readch head: 70 RemoveEscapes head: 47 ResetStream head: 78 RevertHandler head: 112 Right head: 129, bcpl_filesys_lib_: 154 RpowerI head: 15 RpowerR head: 16 RtoI head: 42 s bcpl_filesys_lib_: 191, 196, 198, 199, 200, 201, 205, 206 ScanChar head: 58 SearchName head: 135 SegKnown bcpl_filesys_lib_: 36, 86 SetBC bcpl_filesys_lib_: 27, 103 SetBitCount head: 93, bcpl_filesys_lib_: 95, 99 SetHandler head: 111 SetLength head: 32 SetOverflowMask head: 110 Size bcpl_filesys_lib_: 145, 149, 152, 153, 153, 154, 154, 156, 156, 157 Space bcpl_filesys_lib_: 145, 146, 147, 148, 149, 177, 178, 178, 179, 182, 183 SplitPathname head: 86, bcpl_filesys_lib_: 65, 80, 92 SquareRoot head: 13 StatusMinf bcpl_filesys_lib_: 20, 82 StreamLength head: 80 StreamName head: 134 StreamOffset head: 79 StreamPointer head: 81 StringToChar head: 36 Subch head: 30, bcpl_filesys_lib_: 67 Substr head: 29, bcpl_filesys_lib_: 68, 70, 199, 200 t bcpl_filesys_lib_: 191, 198, 201, 204, 204, 206 Temp bcpl_filesys_lib_: 66, 68, 69, 70, 71 Terminate head: 92, bcpl_filesys_lib_: 105 TerminateNoname bcpl_filesys_lib_: 26, 107 TimeToSeconds head: 95 TruncateSeg bcpl_filesys_lib_: 25, 102 Try bcpl_filesys_lib_: 166, 175 Type bcpl_filesys_lib_: 81, 82, 83 Unpackstring head: 24 v bcpl_filesys_lib_: 52, 54, 54, 55, 61, 62, 63, 81, 85, 87, 91, 93, 94, 100, 102, 103, 106, 107, 111, 112, 118, 120, 121, 136, 139, 140, 193, 206, 208, 212, 213, 214 VirtualCpuTime bcpl_filesys_lib_: 34, 213 w bcpl_filesys_lib_: 131, 132, 193, 206 WordSize head: 126, bcpl_filesys_lib_: 101, 101 Write head: 136 Writech head: 71 WriteN head: 73 Writeout head: 76 WriteS head: 72 x bcpl_filesys_lib_: 111, 112 Zero bcpl_filesys_lib_: 48, 85, 85, 93 ZeroLenSeg bcpl_filesys_lib_: 37 Trans time 2.0, 905 object words per second. " Begin text of ExpandPathname aa 000000 000016 105170 zero 14,35448 " ExpandPathname aa 000001 160141 156144 zero 57441,56420 aa 000002 120141 164150 zero 41057,59496 aa 000003 156141 155145 zero 56417,55909 L1: aa 000004 000000 213000 50 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 700445 620111 eax0 sb|293,x1 aa 000012 777760 360003 anx0 -16,du aa 000013 700025 740100 stx0 sb|21 " end of save sequence aa 000014 700010 350111 51 eapap sb|8,x1 " a vector aa 000015 700006 540111 sprpap sb|6,x1 " Dir aa 000016 700064 350111 eapap sb|52,x1 " a vector aa 000017 700005 540111 sprpap sb|5,x1 " Ent aa 000020 700076 350111 52 eapap sb|62,x1 " a vector aa 000021 700063 540111 sprpap sb|51,x1 " v aa 000022 700002 236111 53 ldq sb|2,x1 " Name aa 000023 700114 756111 stq sb|76,x1 4a 000024 400102 272120 tsbbp lp|L7,* " Length aa 000025 000112 000001 zero 74,1 aa 000026 700075 756111 stq sb|61,x1 " l aa 000027 700006 236111 54 ldq sb|6,x1 " Dir aa 000030 700114 756111 stq sb|76,x1 aa 000031 700063 236111 ldq sb|51,x1 " v aa 000032 000002 076007 adq 2,dl " 2 aa 000033 700115 756111 stq sb|77,x1 4a 000034 400100 272120 tsbbp lp|L8,* " ITS aa 000035 000112 000002 zero 74,2 aa 000036 700007 756111 stq sb|7,x1 aa 000037 700005 236111 ldq sb|5,x1 " Ent aa 000040 700114 756111 stq sb|76,x1 aa 000041 700063 236111 ldq sb|51,x1 " v aa 000042 000004 076007 adq 4,dl " 4 aa 000043 700115 756111 stq sb|77,x1 4a 000044 400100 272120 tsbbp lp|L8,* " ITS aa 000045 000112 000002 zero 74,2 aa 000046 700106 756111 stq sb|70,x1 aa 000047 700002 236111 ldq sb|2,x1 " Name aa 000050 700114 756111 stq sb|76,x1 aa 000051 700063 236111 ldq sb|51,x1 " v aa 000052 700115 756111 stq sb|77,x1 aa 000053 000022 236007 ldq 18,dl " CountSize aa 000054 700116 756111 stq sb|78,x1 4a 000055 400100 272120 tsbbp lp|L8,* " ITS aa 000056 000112 000003 zero 74,3 aa 000057 700110 756111 stq sb|72,x1 aa 000060 000054 237004 ldaq L9 " arglist header aa 000061 700112 757111 staq sb|74,x1 " arg count aa 000062 700110 760111 lprpap sb|72,x1 aa 000063 700114 250111 stpap sb|76,x1 aa 000064 000054 350004 eapap L10 " descriptor aa 000065 700126 250111 stpap sb|86,x1 aa 000066 700075 352111 eapbp sb|61,x1 " l aa 000067 700116 252111 stpbp sb|78,x1 aa 000070 000047 352004 eapbp L11 " descriptor aa 000071 700130 252111 stpbp sb|88,x1 aa 000072 700007 761111 lprpab sb|7,x1 aa 000073 700120 251511 stpab sb|80,x1 aa 000074 000044 351404 eapab L10 aa 000075 700132 251511 stpab sb|90,x1 aa 000076 700106 763111 lprpbb sb|70,x1 aa 000077 700122 253511 stpbb sb|82,x1 aa 000100 000040 353404 eapbb L10 aa 000101 700134 253511 stpbb sb|92,x1 aa 000102 600046 371500 eaplb sp|38 " Errcode aa 000103 700124 651511 stplb sb|84,x1 aa 000104 000032 371404 eaplb L12 " descriptor aa 000105 700136 651511 stplb sb|94,x1 aa 000106 600010 441100 sxl1 sp|8 aa 000107 600030 650100 stplp sp|24 4a 000110 400076 352120 eapbp lp|L13,* " ExpandPath aa 000111 700112 350111 eapap sb|74,x1 aa 000112 700036 670120 tsblp sb|30,* " Multics call operator aa 000113 600010 721100 lxl1 sp|8 aa 000114 700001 764111 lprplp sb|1,x1 aa 000115 700006 236111 56 ldq sb|6,x1 " Dir aa 000116 700114 756111 stq sb|76,x1 aa 000117 700005 236111 ldq sb|5,x1 " Ent aa 000120 700115 756111 stq sb|77,x1 aa 000121 700003 236111 ldq sb|3,x1 " Path aa 000122 700116 756111 stq sb|78,x1 aa 000123 000202 272004 tsbbp L2+2 " JoinPathname aa 000124 000112 000003 zero 74,3 L6: aa 000125 700005 756111 stq sb|5,x1 aa 000126 700005 236111 ldq sb|5,x1 aa 000127 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000130 200000 121100 sblx1 bp|0 aa 000131 700001 764111 lprplp sb|1,x1 aa 000132 200001 710100 tra bp|1 " end of return sequence aa 000133 700004 756111 stq sb|4,x1 " temporary " Literal pool L9: aa 000134 000012 000004 zero 10,4 " arglist header aa 000135 000012 000000 zero 10 L12: aa 000136 514000 000044 zero -92160,36 " descriptor L11: aa 000137 404000 000000 zero -129024 " descriptor L10: aa 000140 464000 000000 zero -104448 " descriptor " Begin text of SplitPathname aa 000141 000015 123160 zero 13,42608 " SplitPathname aa 000142 154151 164120 zero 55401,59472 aa 000143 141164 150156 zero 49780,53358 aa 000144 141155 145000 zero 49773,51712 L3: aa 000145 000000 213000 65 epaq 0 " set lp to linkage section aa 000146 700026 764161 lprplp sb|22,*au aa 000147 200000 021100 adlx1 bp|0 " BCPL save aa 000150 700000 542111 sprpbp sb|0,x1 aa 000151 700001 544111 sprplp sb|1,x1 aa 000152 700425 620111 eax0 sb|277,x1 aa 000153 777760 360003 anx0 -16,du aa 000154 700025 740100 stx0 sb|21 " end of save sequence aa 000155 700006 350111 66 eapap sb|6,x1 " a vector aa 000156 700005 540111 sprpap sb|5,x1 " Temp aa 000157 700002 236111 67 ldq sb|2,x1 " Path aa 000160 700100 756111 stq sb|64,x1 4a 000161 400102 272120 tsbbp lp|L7,* " Length aa 000162 000076 000001 zero 62,1 aa 000163 700071 756111 stq sb|57,x1 " i aa 000164 000102 710004 tra L17 L18: aa 000165 700002 236111 ldq sb|2,x1 " Path aa 000166 700100 756111 stq sb|64,x1 aa 000167 700071 236111 ldq sb|57,x1 " i aa 000170 700101 756111 stq sb|65,x1 4a 000171 400074 272120 tsbbp lp|L20,* " Subch aa 000172 000076 000002 zero 62,2 aa 000173 000076 116007 cmpq 62,dl " '>' aa 000174 000070 601004 tnz L19 aa 000175 700071 236111 68 ldq sb|57,x1 " i aa 000176 000001 176007 sbq 1,dl " 1 aa 000177 700100 756111 stq sb|64,x1 aa 000200 000250 236007 ldq 168,dl " 168 aa 000201 700101 756111 stq sb|65,x1 4a 000202 400072 272120 tsbbp lp|L21,* " MinI aa 000203 000076 000002 zero 62,2 aa 000204 700072 756111 stq sb|58,x1 aa 000205 700005 236111 ldq sb|5,x1 " Temp aa 000206 700100 756111 stq sb|64,x1 aa 000207 700002 236111 ldq sb|2,x1 " Path aa 000210 700101 756111 stq sb|65,x1 aa 000211 000001 236007 ldq 1,dl " 1 aa 000212 700102 756111 stq sb|66,x1 aa 000213 700072 236111 ldq sb|58,x1 aa 000214 700103 756111 stq sb|67,x1 4a 000215 400070 272120 tsbbp lp|L22,* " Substr aa 000216 000076 000004 zero 62,4 aa 000217 700071 236111 69 ldq sb|57,x1 " i aa 000220 000001 116007 cmpq 1,dl " 1 aa 000221 000003 601004 tnz L23 aa 000222 000074 350004 eapap L25 " ">" aa 000223 000002 710004 tra L24 L23: aa 000224 700005 760111 lprpap sb|5,x1 " Temp L24: aa 000225 700073 540111 sprpap sb|59,x1 aa 000226 700073 235111 lda sb|59,x1 aa 000227 700072 755111 sta sb|58,x1 aa 000230 700072 235111 lda sb|58,x1 aa 000231 700100 755111 sta sb|64,x1 aa 000232 700003 235111 lda sb|3,x1 " Dir aa 000233 700101 755111 sta sb|65,x1 aa 000234 000250 235007 lda 168,dl " 168 aa 000235 700102 755111 sta sb|66,x1 4a 000236 400066 272120 tsbbp lp|L26,* " MakePl1String aa 000237 000076 000003 zero 62,3 aa 000240 700005 235111 70 lda sb|5,x1 " Temp aa 000241 700100 755111 sta sb|64,x1 aa 000242 700002 235111 lda sb|2,x1 " Path aa 000243 700101 755111 sta sb|65,x1 aa 000244 700071 235111 lda sb|57,x1 " i aa 000245 000001 075007 ada 1,dl " 1 aa 000246 700102 755111 sta sb|66,x1 aa 000247 000040 235007 lda 32,dl " 32 aa 000250 700103 755111 sta sb|67,x1 4a 000251 400070 272120 tsbbp lp|L22,* " Substr aa 000252 000076 000004 zero 62,4 aa 000253 700005 235111 71 lda sb|5,x1 " Temp aa 000254 700100 755111 sta sb|64,x1 aa 000255 700004 235111 lda sb|4,x1 " Ent aa 000256 700101 755111 sta sb|65,x1 aa 000257 000040 235007 lda 32,dl " 32 aa 000260 700102 755111 sta sb|66,x1 4a 000261 400066 272120 tsbbp lp|L26,* " MakePl1String aa 000262 000076 000003 zero 62,3 aa 000263 000026 710004 72 tra L16 L19: aa 000264 000001 335007 lca 1,dl aa 000265 700071 055111 asa sb|57,x1 " i L17: aa 000266 700071 235111 lda sb|57,x1 " i aa 000267 000001 115007 cmpa 1,dl " 1 aa 000270 777675 605004 tpl L18 aa 000271 700002 236111 74 ldq sb|2,x1 " Path aa 000272 700100 756111 stq sb|64,x1 aa 000273 700003 236111 ldq sb|3,x1 " Dir aa 000274 700101 756111 stq sb|65,x1 aa 000275 000250 236007 ldq 168,dl " 168 aa 000276 700102 756111 stq sb|66,x1 4a 000277 400066 272120 tsbbp lp|L26,* " MakePl1String aa 000300 000076 000003 zero 62,3 aa 000301 000014 350004 75 eapap L27 " "" aa 000302 700100 540111 sprpap sb|64,x1 aa 000303 700004 236111 ldq sb|4,x1 " Ent aa 000304 700101 756111 stq sb|65,x1 aa 000305 000040 236007 ldq 32,dl " 32 aa 000306 700102 756111 stq sb|66,x1 4a 000307 400066 272120 tsbbp lp|L26,* " MakePl1String aa 000310 000076 000003 zero 62,3 L16: aa 000311 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000312 200000 121100 sblx1 bp|0 aa 000313 700001 764111 lprplp sb|1,x1 aa 000314 200001 710100 tra bp|1 " end of return sequence " Literal pool L27: aa 000315 000000 000000 zero 0 " "" L25: aa 000316 000001 076000 zero 1,31744 " ">" " Begin text of JoinPathname aa 000317 000014 112157 zero 12,37999 " JoinPathname aa 000320 151156 120141 zero 53870,41057 aa 000321 164150 156141 zero 59496,56417 aa 000322 155145 000000 zero 55909 L2: aa 000323 000000 213000 58 epaq 0 " set lp to linkage section aa 000324 700026 764161 lprplp sb|22,*au aa 000325 200000 021100 adlx1 bp|0 " BCPL save aa 000326 700000 542111 sprpbp sb|0,x1 aa 000327 700001 544111 sprplp sb|1,x1 aa 000330 700426 620111 eax0 sb|278,x1 aa 000331 777760 360003 anx0 -16,du aa 000332 700025 740100 stx0 sb|21 " end of save sequence aa 000333 700002 236111 59 ldq sb|2,x1 " Dir aa 000334 700026 756111 stq sb|22,x1 aa 000335 000250 236007 ldq 168,dl " 168 aa 000336 700027 756111 stq sb|23,x1 aa 000337 700004 236111 ldq sb|4,x1 " Path aa 000340 700030 756111 stq sb|24,x1 4a 000341 400064 272120 tsbbp lp|L31,* " MakeBcplString aa 000342 000024 000003 zero 20,3 aa 000343 700004 760111 60 lprpap sb|4,x1 " Path aa 000344 000000 236100 ldq ap|0 aa 000345 777751 116004 cmpq L25 aa 000346 000004 601004 tnz L32 aa 000347 777746 235004 lda L27 aa 000350 700004 761111 lprpab sb|4,x1 " Path aa 000351 100000 755100 sta ab|0 L32: aa 000352 700010 353511 61 eapbb sb|8,x1 " a vector aa 000353 700006 543111 sprpbb sb|6,x1 " v aa 000354 700003 235111 62 lda sb|3,x1 " Ent aa 000355 700026 755111 sta sb|22,x1 aa 000356 000040 235007 lda 32,dl " 32 aa 000357 700027 755111 sta sb|23,x1 aa 000360 700006 235111 lda sb|6,x1 " v aa 000361 700030 755111 sta sb|24,x1 4a 000362 400064 272120 tsbbp lp|L31,* " MakeBcplString aa 000363 000024 000003 zero 20,3 aa 000364 700004 235111 63 lda sb|4,x1 " Path aa 000365 700026 755111 sta sb|22,x1 aa 000366 000250 235007 lda 168,dl " 168 aa 000367 700027 755111 sta sb|23,x1 aa 000370 700004 235111 lda sb|4,x1 " Path aa 000371 700030 755111 sta sb|24,x1 aa 000372 777724 353404 eapbb L25 " ">" aa 000373 700031 543111 sprpbb sb|25,x1 aa 000374 700006 235111 lda sb|6,x1 " v aa 000375 700032 755111 sta sb|26,x1 4a 000376 400062 272120 tsbbp lp|L33,* " Concatenate aa 000377 000024 000005 zero 20,5 L30: aa 000400 700006 756111 stq sb|6,x1 aa 000401 700006 236111 ldq sb|6,x1 aa 000402 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000403 200000 121100 sblx1 bp|0 aa 000404 700001 764111 lprplp sb|1,x1 aa 000405 200001 710100 tra bp|1 " end of return sequence " Begin text of FindSegment aa 000406 000013 106151 zero 11,35945 " FindSegment aa 000407 156144 123145 zero 56420,42597 aa 000410 147155 145156 zero 52845,51822 aa 000411 164000 000000 zero 59392 aa 000412 700005 756111 78 stq sb|5,x1 " temporary L34: aa 000413 000000 213000 epaq 0 " set lp to linkage section aa 000414 700026 764161 lprplp sb|22,*au aa 000415 200000 021100 adlx1 bp|0 " BCPL save aa 000416 700000 542111 sprpbp sb|0,x1 aa 000417 700001 544111 sprplp sb|1,x1 aa 000420 700455 620111 eax0 sb|301,x1 aa 000421 777760 360003 anx0 -16,du aa 000422 700025 740100 stx0 sb|21 " end of save sequence aa 000423 700010 353511 79 eapbb sb|8,x1 " a vector aa 000424 700006 543111 sprpbb sb|6,x1 " Ent aa 000425 700022 353511 eapbb sb|18,x1 " a vector aa 000426 700005 543111 sprpbb sb|5,x1 " Dir aa 000427 700002 236111 80 ldq sb|2,x1 " Path aa 000430 700104 756111 stq sb|68,x1 aa 000431 700005 236111 ldq sb|5,x1 " Dir aa 000432 700105 756111 stq sb|69,x1 aa 000433 700006 236111 ldq sb|6,x1 " Ent aa 000434 700106 756111 stq sb|70,x1 aa 000435 777512 272004 tsbbp L3+2 " SplitPathname aa 000436 000102 000003 zero 66,3 aa 000437 700007 450111 81 stz sb|7,x1 " Type aa 000440 700076 353511 eapbb sb|62,x1 " a vector aa 000441 700021 543111 sprpbb sb|17,x1 " v aa 000442 000144 237004 82 ldaq L38 " arglist header aa 000443 700102 757111 staq sb|66,x1 " arg count aa 000444 700005 763111 lprpbb sb|5,x1 " Dir aa 000445 700104 253511 stpbb sb|68,x1 aa 000446 000145 353404 eapbb L39 " descriptor aa 000447 700120 253511 stpbb sb|80,x1 aa 000450 700006 765111 lprplb sb|6,x1 " Ent aa 000451 700106 651511 stplb sb|70,x1 aa 000452 000140 371404 eaplb L40 " descriptor aa 000453 700122 651511 stplb sb|82,x1 9a 000454 400011 352100 eapbp lp|9 " One aa 000455 700110 252111 stpbp sb|72,x1 aa 000456 777461 352004 eapbp L11 aa 000457 700124 252111 stpbp sb|84,x1 aa 000460 700007 350111 eapap sb|7,x1 " Type aa 000461 700112 250111 stpap sb|74,x1 aa 000462 777455 350004 eapap L11 aa 000463 700126 250111 stpap sb|86,x1 aa 000464 700003 761111 lprpab sb|3,x1 " LvL aa 000465 700114 251511 stpab sb|76,x1 aa 000466 777451 351404 eapab L11 aa 000467 700130 251511 stpab sb|88,x1 aa 000470 600046 353500 eapbb sp|38 " Errcode aa 000471 700116 253511 stpbb sb|78,x1 aa 000472 777444 353404 eapbb L12 aa 000473 700132 253511 stpbb sb|90,x1 aa 000474 600010 441100 sxl1 sp|8 aa 000475 600030 650100 stplp sp|24 4a 000476 400060 352120 eapbp lp|L41,* " StatusMinf aa 000477 700102 350111 eapap sb|66,x1 aa 000500 700036 670120 tsblp sb|30,* " Multics call operator aa 000501 600010 721100 lxl1 sp|8 aa 000502 700001 764111 lprplp sb|1,x1 aa 000503 700007 236111 83 ldq sb|7,x1 " Type aa 000504 000002 116007 cmpq 2,dl " 2 aa 000505 000003 601004 tnz L42 4a 000506 400056 235120 lda lp|L43,* aa 000507 600046 755100 sta sp|38 " Errcode L42: aa 000510 600046 234100 84 szn sp|38 " Errcode aa 000511 000003 600004 tze L44 aa 000512 000077 235004 lda L45 " Null aa 000513 000061 710004 tra L37 L44: aa 000514 000070 237004 85 ldaq L46 " arglist header aa 000515 700102 757111 staq sb|66,x1 " arg count aa 000516 700005 765111 lprplb sb|5,x1 " Dir aa 000517 700104 651511 stplb sb|68,x1 aa 000520 000073 371404 eaplb L39 aa 000521 700122 651511 stplb sb|82,x1 aa 000522 700006 760111 lprpap sb|6,x1 " Ent aa 000523 700106 250111 stpap sb|70,x1 aa 000524 000066 350004 eapap L40 aa 000525 700124 250111 stpap sb|84,x1 9a 000526 400012 351500 eapab lp|10 " Zero aa 000527 700110 251511 stpab sb|72,x1 aa 000530 000060 351404 eapab L47 " descriptor aa 000531 700126 251511 stpab sb|86,x1 9a 000532 400012 353500 eapbb lp|10 " Zero aa 000533 700112 253511 stpbb sb|74,x1 aa 000534 777403 353404 eapbb L11 aa 000535 700130 253511 stpbb sb|88,x1 9a 000536 400011 352100 eapbp lp|9 " One aa 000537 700114 252111 stpbp sb|76,x1 aa 000540 777377 352004 eapbp L11 aa 000541 700132 252111 stpbp sb|90,x1 aa 000542 700021 765111 lprplb sb|17,x1 " v aa 000543 700116 651511 stplb sb|78,x1 aa 000544 777374 371404 eaplb L10 aa 000545 700134 651511 stplb sb|92,x1 aa 000546 600046 350100 eapap sp|38 " Errcode aa 000547 700120 250111 stpap sb|80,x1 aa 000550 777366 350004 eapap L12 aa 000551 700136 250111 stpap sb|94,x1 aa 000552 600010 441100 sxl1 sp|8 aa 000553 600030 650100 stplp sp|24 4a 000554 400054 352120 eapbp lp|L48,* " Initiate aa 000555 700102 350111 eapap sb|66,x1 aa 000556 700036 670120 tsblp sb|30,* " Multics call operator aa 000557 600010 721100 lxl1 sp|8 aa 000560 700001 764111 lprplp sb|1,x1 aa 000561 600046 234100 86 szn sp|38 " Errcode aa 000562 000005 600004 tze L49 aa 000563 600046 236100 ldq sp|38 " Errcode 4a 000564 400052 116120 cmpq lp|L51,* aa 000565 000002 601004 tnz L50 aa 000566 600046 450100 stz sp|38 " Errcode L50: L49: aa 000567 700021 235111 87 lda sb|17,x1 " v aa 000570 700104 755111 sta sb|68,x1 4a 000571 400050 272120 tsbbp lp|L52,* " BCPLaddr aa 000572 000102 000001 zero 66,1 aa 000573 000044 777000 llr 36 " exchange A and Q L37: aa 000574 700005 755111 sta sb|5,x1 aa 000575 700005 235111 lda sb|5,x1 aa 000576 000044 777000 llr 36 " exchange A and Q aa 000577 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000600 200000 121100 sblx1 bp|0 aa 000601 700001 764111 lprplp sb|1,x1 aa 000602 200001 710100 tra bp|1 " end of return sequence aa 000603 700004 756111 stq sb|4,x1 " temporary " Literal pool L46: aa 000604 000016 000004 zero 14,4 " arglist header aa 000605 000016 000000 zero 14 L38: aa 000606 000014 000004 zero 12,4 " arglist header aa 000607 000014 000000 zero 12 L47: aa 000610 524000 000000 zero -88064 " descriptor L45: aa 000611 007777 000001 zero 4095,1 " Null L40: aa 000612 524000 000040 zero -88064,32 " descriptor L39: aa 000613 524000 000250 zero -88064,168 " descriptor " Begin text of Terminate aa 000614 000011 124145 zero 9,43109 " Terminate aa 000615 162155 151156 zero 58477,53870 aa 000616 141164 145000 zero 49780,51712 L55: aa 000617 000000 213000 105 epaq 0 " set lp to linkage section aa 000620 700026 764161 lprplp sb|22,*au aa 000621 200000 021100 adlx1 bp|0 " BCPL save aa 000622 700000 542111 sprpbp sb|0,x1 aa 000623 700001 544111 sprplp sb|1,x1 aa 000624 700431 620111 eax0 sb|281,x1 aa 000625 777760 360003 anx0 -16,du aa 000626 700025 740100 stx0 sb|21 " end of save sequence aa 000627 700004 351511 106 eapab sb|4,x1 " a vector aa 000630 700003 541111 sprpab sb|3,x1 " v aa 000631 700002 236111 107 ldq sb|2,x1 " p aa 000632 700014 756111 stq sb|12,x1 aa 000633 700003 236111 ldq sb|3,x1 " v aa 000634 700015 756111 stq sb|13,x1 4a 000635 400100 272120 tsbbp lp|L8,* " ITS aa 000636 000012 000002 zero 10,2 aa 000637 700007 756111 stq sb|7,x1 aa 000640 000026 237004 ldaq L60 " arglist header aa 000641 700012 757111 staq sb|10,x1 " arg count aa 000642 700007 761111 lprpab sb|7,x1 aa 000643 700014 251511 stpab sb|12,x1 aa 000644 777274 351404 eapab L10 aa 000645 700020 251511 stpab sb|16,x1 aa 000646 600046 353500 eapbb sp|38 " Errcode aa 000647 700016 253511 stpbb sb|14,x1 aa 000650 777266 353404 eapbb L12 aa 000651 700022 253511 stpbb sb|18,x1 aa 000652 600010 441100 sxl1 sp|8 aa 000653 600030 650100 stplp sp|24 4a 000654 400046 352120 eapbp lp|L61,* " TerminateNoname aa 000655 700012 350111 eapap sb|10,x1 aa 000656 700036 670120 tsblp sb|30,* " Multics call operator aa 000657 600010 721100 lxl1 sp|8 aa 000660 700001 764111 lprplp sb|1,x1 L59: aa 000661 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000662 200000 121100 sblx1 bp|0 aa 000663 700001 764111 lprplp sb|1,x1 aa 000664 200001 710100 tra bp|1 " end of return sequence " Literal pool aa 000665 000000 000000 zero 0 " padding L60: aa 000666 000004 000004 zero 4,4 " arglist header aa 000667 000004 000000 zero 4 " Begin text of GetPathname aa 000670 000013 107145 zero 11,36453 " GetPathname aa 000671 164120 141164 zero 59472,49780 aa 000672 150156 141155 zero 53358,49773 aa 000673 145000 000000 zero 51712 L56: aa 000674 000000 213000 109 epaq 0 " set lp to linkage section aa 000675 700026 764161 lprplp sb|22,*au aa 000676 200000 021100 adlx1 bp|0 " BCPL save aa 000677 700000 542111 sprpbp sb|0,x1 aa 000700 700001 544111 sprplp sb|1,x1 aa 000701 700445 620111 eax0 sb|293,x1 aa 000702 777760 360003 anx0 -16,du aa 000703 700025 740100 stx0 sb|21 " end of save sequence aa 000704 700010 371511 110 eaplb sb|8,x1 " a vector aa 000705 700005 545111 sprplb sb|5,x1 " Ent aa 000706 700022 371511 eaplb sb|18,x1 " a vector aa 000707 700006 545111 sprplb sb|6,x1 " Dir aa 000710 700076 371511 111 eaplb sb|62,x1 " a vector aa 000711 700007 545111 sprplb sb|7,x1 " v aa 000712 700002 236111 112 ldq sb|2,x1 " p aa 000713 700104 756111 stq sb|68,x1 aa 000714 700007 236111 ldq sb|7,x1 " v aa 000715 700105 756111 stq sb|69,x1 4a 000716 400100 272120 tsbbp lp|L8,* " ITS aa 000717 000102 000002 zero 66,2 aa 000720 700075 756111 stq sb|61,x1 aa 000721 777213 237004 ldaq L9 aa 000722 700102 757111 staq sb|66,x1 " arg count aa 000723 700075 765111 lprplb sb|61,x1 aa 000724 700104 651511 stplb sb|68,x1 aa 000725 777213 371404 eaplb L10 aa 000726 700116 651511 stplb sb|78,x1 aa 000727 700006 760111 lprpap sb|6,x1 " Dir aa 000730 700106 250111 stpap sb|70,x1 aa 000731 777662 350004 eapap L39 aa 000732 700120 250111 stpap sb|80,x1 aa 000733 700021 351511 eapab sb|17,x1 " x aa 000734 700110 251511 stpab sb|72,x1 aa 000735 777202 351404 eapab L11 aa 000736 700122 251511 stpab sb|82,x1 aa 000737 700005 763111 lprpbb sb|5,x1 " Ent aa 000740 700112 253511 stpbb sb|74,x1 aa 000741 777651 353404 eapbb L40 aa 000742 700124 253511 stpbb sb|84,x1 aa 000743 600046 352100 eapbp sp|38 " Errcode aa 000744 700114 252111 stpbp sb|76,x1 aa 000745 777171 352004 eapbp L12 aa 000746 700126 252111 stpbp sb|86,x1 aa 000747 600010 441100 sxl1 sp|8 aa 000750 600030 650100 stplp sp|24 4a 000751 400044 352120 eapbp lp|L65,* " FsGetPathName aa 000752 700102 350111 eapap sb|66,x1 aa 000753 700036 670120 tsblp sb|30,* " Multics call operator aa 000754 600010 721100 lxl1 sp|8 aa 000755 700001 764111 lprplp sb|1,x1 aa 000756 700006 236111 113 ldq sb|6,x1 " Dir aa 000757 700104 756111 stq sb|68,x1 aa 000760 700005 236111 ldq sb|5,x1 " Ent aa 000761 700105 756111 stq sb|69,x1 aa 000762 700003 236111 ldq sb|3,x1 " Path aa 000763 700106 756111 stq sb|70,x1 aa 000764 777341 272004 tsbbp L2+2 " JoinPathname aa 000765 000102 000003 zero 66,3 L64: aa 000766 700005 756111 stq sb|5,x1 aa 000767 700005 236111 ldq sb|5,x1 aa 000770 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000771 200000 121100 sblx1 bp|0 aa 000772 700001 764111 lprplp sb|1,x1 aa 000773 200001 710100 tra bp|1 " end of return sequence " Begin text of SetBitCount aa 000774 000013 123145 zero 11,42597 " SetBitCount aa 000775 164102 151164 zero 59458,53876 aa 000776 103157 165156 zero 34415,60014 aa 000777 164000 000000 zero 59392 aa 001000 700004 756111 99 stq sb|4,x1 " temporary L54: aa 001001 000000 213000 epaq 0 " set lp to linkage section aa 001002 700026 764161 lprplp sb|22,*au aa 001003 200000 021100 adlx1 bp|0 " BCPL save aa 001004 700000 542111 sprpbp sb|0,x1 aa 001005 700001 544111 sprplp sb|1,x1 aa 001006 700435 620111 eax0 sb|285,x1 aa 001007 777760 360003 anx0 -16,du aa 001010 700025 740100 stx0 sb|21 " end of save sequence aa 001011 700006 371511 100 eaplb sb|6,x1 " a vector aa 001012 700004 545111 sprplb sb|4,x1 " v aa 001013 700003 236111 101 ldq sb|3,x1 " l aa 001014 000044 076007 adq 36,dl " WordSize aa 001015 000001 176007 sbq 1,dl " 1 aa 001016 000044 506007 div 36,dl " WordSize aa 001017 700005 756111 stq sb|5,x1 " n aa 001020 700002 236111 102 ldq sb|2,x1 " p aa 001021 700016 756111 stq sb|14,x1 aa 001022 700004 236111 ldq sb|4,x1 " v aa 001023 700017 756111 stq sb|15,x1 4a 001024 400100 272120 tsbbp lp|L8,* " ITS aa 001025 000014 000002 zero 12,2 aa 001026 700011 756111 stq sb|9,x1 aa 001027 000065 237004 ldaq L69 " arglist header aa 001030 700014 757111 staq sb|12,x1 " arg count aa 001031 700011 765111 lprplb sb|9,x1 aa 001032 700016 651511 stplb sb|14,x1 aa 001033 777105 371404 eaplb L10 aa 001034 700024 651511 stplb sb|20,x1 aa 001035 700005 350111 eapap sb|5,x1 " n aa 001036 700020 250111 stpap sb|16,x1 aa 001037 777100 350004 eapap L11 aa 001040 700026 250111 stpap sb|22,x1 aa 001041 600046 351500 eapab sp|38 " Errcode aa 001042 700022 251511 stpab sb|18,x1 aa 001043 777073 351404 eapab L12 aa 001044 700030 251511 stpab sb|24,x1 aa 001045 600010 441100 sxl1 sp|8 aa 001046 600030 650100 stplp sp|24 4a 001047 400042 352120 eapbp lp|L70,* " TruncateSeg aa 001050 700014 350111 eapap sb|12,x1 aa 001051 700036 670120 tsblp sb|30,* " Multics call operator aa 001052 600010 721100 lxl1 sp|8 aa 001053 700001 764111 lprplp sb|1,x1 aa 001054 700002 236111 103 ldq sb|2,x1 " p aa 001055 700016 756111 stq sb|14,x1 aa 001056 700004 236111 ldq sb|4,x1 " v aa 001057 700017 756111 stq sb|15,x1 4a 001060 400100 272120 tsbbp lp|L8,* " ITS aa 001061 000014 000002 zero 12,2 aa 001062 700011 756111 stq sb|9,x1 aa 001063 000031 237004 ldaq L69 aa 001064 700014 757111 staq sb|12,x1 " arg count aa 001065 700011 763111 lprpbb sb|9,x1 aa 001066 700016 253511 stpbb sb|14,x1 aa 001067 777051 353404 eapbb L10 aa 001070 700024 253511 stpbb sb|20,x1 aa 001071 700003 371511 eaplb sb|3,x1 " l aa 001072 700020 651511 stplb sb|16,x1 aa 001073 777044 371404 eaplb L11 aa 001074 700026 651511 stplb sb|22,x1 aa 001075 600046 350100 eapap sp|38 " Errcode aa 001076 700022 250111 stpap sb|18,x1 aa 001077 777037 350004 eapap L12 aa 001100 700030 250111 stpap sb|24,x1 aa 001101 600010 441100 sxl1 sp|8 aa 001102 600030 650100 stplp sp|24 4a 001103 400040 352120 eapbp lp|L71,* " SetBC aa 001104 700014 350111 eapap sb|12,x1 aa 001105 700036 670120 tsblp sb|30,* " Multics call operator aa 001106 600010 721100 lxl1 sp|8 aa 001107 700001 764111 lprplp sb|1,x1 L68: aa 001110 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001111 200000 121100 sblx1 bp|0 aa 001112 700001 764111 lprplp sb|1,x1 aa 001113 200001 710100 tra bp|1 " end of return sequence " Literal pool L69: aa 001114 000006 000004 zero 6,4 " arglist header aa 001115 000006 000000 zero 6 " Begin text of MakeSegment aa 001116 000013 115141 zero 11,39521 " MakeSegment aa 001117 153145 123145 zero 54885,42597 aa 001120 147155 145156 zero 52845,51822 aa 001121 164000 000000 zero 59392 L53: aa 001122 000000 213000 90 epaq 0 " set lp to linkage section aa 001123 700026 764161 lprplp sb|22,*au aa 001124 200000 021100 adlx1 bp|0 " BCPL save aa 001125 700000 542111 sprpbp sb|0,x1 aa 001126 700001 544111 sprplp sb|1,x1 aa 001127 700451 620111 eax0 sb|297,x1 aa 001130 777760 360003 anx0 -16,du aa 001131 700025 740100 stx0 sb|21 " end of save sequence aa 001132 700010 351511 91 eapab sb|8,x1 " a vector aa 001133 700006 541111 sprpab sb|6,x1 " Ent aa 001134 700022 351511 eapab sb|18,x1 " a vector aa 001135 700004 541111 sprpab sb|4,x1 " v aa 001136 700026 351511 eapab sb|22,x1 " a vector aa 001137 700005 541111 sprpab sb|5,x1 " Dir aa 001140 700002 236111 92 ldq sb|2,x1 " Path aa 001141 700104 756111 stq sb|68,x1 aa 001142 700005 236111 ldq sb|5,x1 " Dir aa 001143 700105 756111 stq sb|69,x1 aa 001144 700006 236111 ldq sb|6,x1 " Ent aa 001145 700106 756111 stq sb|70,x1 aa 001146 777001 272004 tsbbp L3+2 " SplitPathname aa 001147 000102 000003 zero 66,3 aa 001150 777436 237004 93 ldaq L38 aa 001151 700102 757111 staq sb|66,x1 " arg count aa 001152 700005 761111 lprpab sb|5,x1 " Dir aa 001153 700104 251511 stpab sb|68,x1 aa 001154 777437 351404 eapab L39 aa 001155 700120 251511 stpab sb|80,x1 aa 001156 700006 763111 lprpbb sb|6,x1 " Ent aa 001157 700106 253511 stpbb sb|70,x1 aa 001160 777432 353404 eapbb L40 aa 001161 700122 253511 stpbb sb|82,x1 9a 001162 400012 371500 eaplb lp|10 " Zero aa 001163 700110 651511 stplb sb|72,x1 aa 001164 777424 371404 eaplb L47 aa 001165 700124 651511 stplb sb|84,x1 9a 001166 400010 350100 eapap lp|8 " Eleven aa 001167 700112 250111 stpap sb|74,x1 aa 001170 776747 350004 eapap L11 aa 001171 700126 250111 stpap sb|86,x1 aa 001172 700004 762111 lprpbp sb|4,x1 " v aa 001173 700114 252111 stpbp sb|76,x1 aa 001174 776744 352004 eapbp L10 aa 001175 700130 252111 stpbp sb|88,x1 aa 001176 600046 351500 eapab sp|38 " Errcode aa 001177 700116 251511 stpab sb|78,x1 aa 001200 776736 351404 eapab L12 aa 001201 700132 251511 stpab sb|90,x1 aa 001202 600010 441100 sxl1 sp|8 aa 001203 600030 650100 stplp sp|24 4a 001204 400036 352120 eapbp lp|L75,* " MakeSeg aa 001205 700102 350111 eapap sb|66,x1 aa 001206 700036 670120 tsblp sb|30,* " Multics call operator aa 001207 600010 721100 lxl1 sp|8 aa 001210 700001 764111 lprplp sb|1,x1 aa 001211 700004 236111 94 ldq sb|4,x1 " v aa 001212 700104 756111 stq sb|68,x1 4a 001213 400050 272120 tsbbp lp|L52,* " BCPLaddr aa 001214 000102 000001 zero 66,1 aa 001215 700025 756111 stq sb|21,x1 " p aa 001216 600046 234100 95 szn sp|38 " Errcode aa 001217 000011 600004 tze L76 aa 001220 700025 236111 ldq sb|21,x1 " p aa 001221 777370 116004 cmpq L45 " Null aa 001222 000006 600004 tze L76 aa 001223 700025 235111 lda sb|21,x1 " p aa 001224 700104 755111 sta sb|68,x1 aa 001225 700105 450111 stz sb|69,x1 aa 001226 777555 272004 tsbbp L54+2 " SetBitCount aa 001227 000102 000002 zero 66,2 L76: aa 001230 700025 235111 96 lda sb|21,x1 " p L74: aa 001231 700004 755111 sta sb|4,x1 aa 001232 700004 235111 lda sb|4,x1 aa 001233 000044 777000 llr 36 " exchange A and Q aa 001234 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001235 200000 121100 sblx1 bp|0 aa 001236 700001 764111 lprplp sb|1,x1 aa 001237 200001 710100 tra bp|1 " end of return sequence " Begin text of DeleteTempSeg aa 001240 000015 104145 zero 13,34917 " DeleteTempSeg aa 001241 154145 164145 zero 55397,59493 aa 001242 124145 155160 zero 43109,55920 aa 001243 123145 147000 zero 42597,52736 aa 001244 700003 756111 123 stq sb|3,x1 " temporary L78: aa 001245 000000 213000 epaq 0 " set lp to linkage section aa 001246 700026 764161 lprplp sb|22,*au aa 001247 200000 021100 adlx1 bp|0 " BCPL save aa 001250 700000 542111 sprpbp sb|0,x1 aa 001251 700001 544111 sprplp sb|1,x1 aa 001252 700436 620111 eax0 sb|286,x1 aa 001253 777760 360003 anx0 -16,du aa 001254 700025 740100 stx0 sb|21 " end of save sequence 4a 001255 400034 272120 124 tsbbp lp|L84,* " NumbArgs aa 001256 000156 000000 zero 110 aa 001257 000002 116007 cmpq 2,dl " 2 aa 001260 000003 600004 tze L83 aa 001261 000072 353404 eapbb L85 " "temp" aa 001262 700003 543111 sprpbb sb|3,x1 " ID L83: aa 001263 700006 353511 125 eapbb sb|6,x1 " a vector aa 001264 700005 543111 sprpbb sb|5,x1 " Name aa 001265 700072 353511 eapbb sb|58,x1 " a vector aa 001266 700004 543111 sprpbb sb|4,x1 " Pdir aa 001267 700002 236111 126 ldq sb|2,x1 " Index aa 001270 700160 756111 stq sb|112,x1 aa 001271 700003 236111 ldq sb|3,x1 " ID aa 001272 700161 756111 stq sb|113,x1 aa 001273 700005 236111 ldq sb|5,x1 " Name aa 001274 700162 756111 stq sb|114,x1 aa 001275 000070 272004 tsbbp L79+2 " MakeName aa 001276 000156 000003 zero 110,3 aa 001277 000057 237004 127 ldaq L86 " arglist header aa 001300 700156 757111 staq sb|110,x1 " arg count aa 001301 700004 763111 lprpbb sb|4,x1 " Pdir aa 001302 700160 253511 stpbb sb|112,x1 aa 001303 777310 353404 eapbb L39 aa 001304 700162 253511 stpbb sb|114,x1 aa 001305 600010 441100 sxl1 sp|8 aa 001306 600030 650100 stplp sp|24 4a 001307 400032 352120 eapbp lp|L87,* " GetPdir aa 001310 700156 350111 eapap sb|110,x1 aa 001311 700036 670120 tsblp sb|30,* " Multics call operator aa 001312 600010 721100 lxl1 sp|8 aa 001313 700001 764111 lprplp sb|1,x1 aa 001314 777600 237004 128 ldaq L69 aa 001315 700156 757111 staq sb|110,x1 " arg count aa 001316 700004 765111 lprplb sb|4,x1 " Pdir aa 001317 700160 651511 stplb sb|112,x1 aa 001320 777273 371404 eaplb L39 aa 001321 700166 651511 stplb sb|118,x1 aa 001322 700005 760111 lprpap sb|5,x1 " Name aa 001323 000022 722007 lxl2 18,dl aa 001324 000000 503512 abd ap|0,x2 aa 001325 700162 250111 stpap sb|114,x1 aa 001326 000000 236100 ldq ap|0 aa 001327 000022 772000 qrl 18 aa 001330 524000 276003 orq -88064,du aa 001331 700174 756111 stq sb|124,x1 aa 001332 700174 350111 eapap sb|124,x1 aa 001333 700170 250111 stpap sb|120,x1 aa 001334 600046 351500 eapab sp|38 " Errcode aa 001335 700164 251511 stpab sb|116,x1 aa 001336 776600 351404 eapab L12 aa 001337 700172 251511 stpab sb|122,x1 aa 001340 600010 441100 sxl1 sp|8 aa 001341 600030 650100 stplp sp|24 4a 001342 400030 352120 eapbp lp|L88,* " Delentry aa 001343 700156 350111 eapap sb|110,x1 aa 001344 700036 670120 tsblp sb|30,* " Multics call operator aa 001345 600010 721100 lxl1 sp|8 aa 001346 700001 764111 lprplp sb|1,x1 L82: aa 001347 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001350 200000 121100 sblx1 bp|0 aa 001351 700001 764111 lprplp sb|1,x1 aa 001352 200001 710100 tra bp|1 " end of return sequence " Literal pool L85: aa 001353 000004 164145 zero 4,59493 " "temp" aa 001354 155160 000000 zero 55920 aa 001355 000000 000000 zero 0 " padding L86: aa 001356 000002 000004 zero 2,4 " arglist header aa 001357 000002 000000 zero 2 " Begin text of MakeName aa 001360 000010 115141 zero 8,39521 " MakeName aa 001361 153145 116141 zero 54885,40033 aa 001362 155145 000000 zero 55909 L79: aa 001363 000000 213000 130 epaq 0 " set lp to linkage section aa 001364 700026 764161 lprplp sb|22,*au aa 001365 200000 021100 adlx1 bp|0 " BCPL save aa 001366 700000 542111 sprpbp sb|0,x1 aa 001367 700001 544111 sprplp sb|1,x1 aa 001370 700430 620111 eax0 sb|280,x1 aa 001371 777760 360003 anx0 -16,du aa 001372 700025 740100 stx0 sb|21 " end of save sequence aa 001373 700006 353511 131 eapbb sb|6,x1 " a vector aa 001374 700005 543111 sprpbb sb|5,x1 " w aa 001375 700002 236111 132 ldq sb|2,x1 " Index aa 001376 700076 756111 stq sb|62,x1 aa 001377 700005 236111 ldq sb|5,x1 " w aa 001400 700077 756111 stq sb|63,x1 4a 001401 400026 272120 tsbbp lp|L92,* " ConvertNtoS aa 001402 000074 000002 zero 60,2 aa 001403 700071 756111 stq sb|57,x1 aa 001404 700004 236111 ldq sb|4,x1 " Name aa 001405 700076 756111 stq sb|62,x1 aa 001406 000040 236007 ldq 32,dl " 32 aa 001407 700077 756111 stq sb|63,x1 aa 001410 600045 236100 ldq sp|37 " ProgramID aa 001411 700100 756111 stq sb|64,x1 aa 001412 000017 353404 eapbb L93 " ".temp_seg_" aa 001413 700101 543111 sprpbb sb|65,x1 aa 001414 700071 236111 ldq sb|57,x1 aa 001415 700102 756111 stq sb|66,x1 aa 001416 000012 353404 eapbb L94 " "." aa 001417 700103 543111 sprpbb sb|67,x1 aa 001420 700003 236111 ldq sb|3,x1 " ID aa 001421 700104 756111 stq sb|68,x1 4a 001422 400062 272120 tsbbp lp|L33,* " Concatenate aa 001423 000074 000007 zero 60,7 L91: aa 001424 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001425 200000 121100 sblx1 bp|0 aa 001426 700001 764111 lprplp sb|1,x1 aa 001427 200001 710100 tra bp|1 " end of return sequence " Literal pool L94: aa 001430 000001 056000 zero 1,23552 " "." L93: aa 001431 000012 056164 zero 10,23668 " ".temp_seg_" aa 001432 145155 160137 zero 51821,57439 aa 001433 163145 147137 zero 58981,52831 " Begin text of MakeTempSeg aa 001434 000013 115141 zero 11,39521 " MakeTempSeg aa 001435 153145 124145 zero 54885,43109 aa 001436 155160 123145 zero 55920,42597 aa 001437 147000 000000 zero 52736 L77: aa 001440 000000 213000 116 epaq 0 " set lp to linkage section aa 001441 700026 764161 lprplp sb|22,*au aa 001442 200000 021100 adlx1 bp|0 " BCPL save aa 001443 700000 542111 sprpbp sb|0,x1 aa 001444 700001 544111 sprplp sb|1,x1 aa 001445 700452 620111 eax0 sb|298,x1 aa 001446 777760 360003 anx0 -16,du aa 001447 700025 740100 stx0 sb|21 " end of save sequence 4a 001450 400034 272120 117 tsbbp lp|L84,* " NumbArgs aa 001451 000100 000000 zero 64 aa 001452 000002 116007 cmpq 2,dl " 2 aa 001453 000003 600004 tze L98 aa 001454 777677 353404 eapbb L85 " "temp" aa 001455 700003 543111 sprpbb sb|3,x1 " ID L98: aa 001456 700010 353511 118 eapbb sb|8,x1 " a vector aa 001457 700005 543111 sprpbb sb|5,x1 " v aa 001460 700014 353511 eapbb sb|12,x1 " a vector aa 001461 700006 543111 sprpbb sb|6,x1 " Name aa 001462 700002 236111 119 ldq sb|2,x1 " Index aa 001463 700102 756111 stq sb|66,x1 aa 001464 700003 236111 ldq sb|3,x1 " ID aa 001465 700103 756111 stq sb|67,x1 aa 001466 700006 236111 ldq sb|6,x1 " Name aa 001467 700104 756111 stq sb|68,x1 aa 001470 777675 272004 tsbbp L79+2 " MakeName aa 001471 000100 000003 zero 64,3 aa 001472 777114 237004 120 ldaq L38 aa 001473 700100 757111 staq sb|64,x1 " arg count aa 001474 776621 353404 eapbb L27 " "" aa 001475 000022 723007 lxl3 18,dl aa 001476 300000 503513 abd bb|0,x3 aa 001477 700102 253511 stpbb sb|66,x1 aa 001500 777110 353404 eapbb L47 aa 001501 700116 253511 stpbb sb|78,x1 aa 001502 700006 765111 lprplb sb|6,x1 " Name aa 001503 000022 724007 lxl4 18,dl aa 001504 500000 503514 abd lb|0,x4 aa 001505 700104 651511 stplb sb|68,x1 aa 001506 500000 236100 ldq lb|0 aa 001507 000022 772000 qrl 18 aa 001510 524000 276003 orq -88064,du aa 001511 700132 756111 stq sb|90,x1 aa 001512 700132 371511 eaplb sb|90,x1 aa 001513 700120 651511 stplb sb|80,x1 aa 001514 776601 350004 eapap L27 " "" aa 001515 000022 725007 lxl5 18,dl aa 001516 000000 503515 abd ap|0,x5 aa 001517 700106 250111 stpap sb|70,x1 aa 001520 777070 350004 eapap L47 aa 001521 700122 250111 stpap sb|82,x1 9a 001522 400010 351500 eapab lp|8 " Eleven aa 001523 700110 251511 stpab sb|72,x1 aa 001524 776413 351404 eapab L11 aa 001525 700124 251511 stpab sb|84,x1 aa 001526 700005 762111 lprpbp sb|5,x1 " v aa 001527 700112 252111 stpbp sb|74,x1 aa 001530 776410 352004 eapbp L10 aa 001531 700126 252111 stpbp sb|86,x1 aa 001532 600046 353500 eapbb sp|38 " Errcode aa 001533 700114 253511 stpbb sb|76,x1 aa 001534 776402 353404 eapbb L12 aa 001535 700130 253511 stpbb sb|88,x1 aa 001536 600010 441100 sxl1 sp|8 aa 001537 600030 650100 stplp sp|24 4a 001540 400036 352120 eapbp lp|L75,* " MakeSeg aa 001541 700100 350111 eapap sb|64,x1 aa 001542 700036 670120 tsblp sb|30,* " Multics call operator aa 001543 600010 721100 lxl1 sp|8 aa 001544 700001 764111 lprplp sb|1,x1 aa 001545 700005 236111 121 ldq sb|5,x1 " v aa 001546 700102 756111 stq sb|66,x1 4a 001547 400050 272120 tsbbp lp|L52,* " BCPLaddr aa 001550 000100 000001 zero 64,1 L97: aa 001551 700005 756111 stq sb|5,x1 aa 001552 700005 236111 ldq sb|5,x1 aa 001553 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001554 200000 121100 sblx1 bp|0 aa 001555 700001 764111 lprplp sb|1,x1 aa 001556 200001 710100 tra bp|1 " end of return sequence " Begin text of Allocate aa 001557 000010 101154 zero 8,33388 " Allocate aa 001560 154157 143141 zero 55407,50785 aa 001561 164145 000000 zero 59493 aa 001562 700004 756111 135 stq sb|4,x1 " temporary L99: aa 001563 000000 213000 epaq 0 " set lp to linkage section aa 001564 700026 764161 lprplp sb|22,*au aa 001565 200000 021100 adlx1 bp|0 " BCPL save aa 001566 700000 542111 sprpbp sb|0,x1 aa 001567 700001 544111 sprplp sb|1,x1 aa 001570 700435 620111 eax0 sb|285,x1 aa 001571 777760 360003 anx0 -16,du aa 001572 700025 740100 stx0 sb|21 " end of save sequence aa 001573 700006 371511 136 eaplb sb|6,x1 " a vector aa 001574 700004 545111 sprplb sb|4,x1 " v aa 001575 700002 234111 137 szn sb|2,x1 " n aa 001576 000004 604004 tmi L104 aa 001577 700002 236111 ldq sb|2,x1 " n aa 001600 037200 116007 cmpq 16000,dl " 16000 aa 001601 000003 604004 tmi L103 L104: aa 001602 037200 235007 lda 16000,dl " 16000 aa 001603 700002 755111 sta sb|2,x1 " n L103: aa 001604 700002 236111 138 ldq sb|2,x1 " n aa 001605 000002 506007 div 2,dl " 2 aa 001606 700002 055111 asa sb|2,x1 " n aa 001607 777305 237004 139 ldaq L69 aa 001610 700012 757111 staq sb|10,x1 " arg count aa 001611 700002 371511 eaplb sb|2,x1 " n aa 001612 700014 651511 stplb sb|12,x1 aa 001613 776324 371404 eaplb L11 aa 001614 700022 651511 stplb sb|18,x1 aa 001615 700004 760111 lprpap sb|4,x1 " v aa 001616 700016 250111 stpap sb|14,x1 aa 001617 776321 350004 eapap L10 aa 001620 700024 250111 stpap sb|20,x1 aa 001621 600046 351500 eapab sp|38 " Errcode aa 001622 700020 251511 stpab sb|16,x1 aa 001623 776313 351404 eapab L12 aa 001624 700026 251511 stpab sb|22,x1 aa 001625 600010 441100 sxl1 sp|8 aa 001626 600030 650100 stplp sp|24 4a 001627 400024 352120 eapbp lp|L105,* " AssignLinkage aa 001630 700012 350111 eapap sb|10,x1 aa 001631 700036 670120 tsblp sb|30,* " Multics call operator aa 001632 600010 721100 lxl1 sp|8 aa 001633 700001 764111 lprplp sb|1,x1 aa 001634 700004 235111 140 lda sb|4,x1 " v aa 001635 700014 755111 sta sb|12,x1 4a 001636 400050 272120 tsbbp lp|L52,* " BCPLaddr aa 001637 000012 000001 zero 10,1 L102: aa 001640 700004 756111 stq sb|4,x1 aa 001641 700004 236111 ldq sb|4,x1 aa 001642 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001643 200000 121100 sblx1 bp|0 aa 001644 700001 764111 lprplp sb|1,x1 aa 001645 200001 710100 tra bp|1 " end of return sequence " Begin text of Newvec aa 001646 000006 116145 zero 6,40037 " Newvec aa 001647 167166 145143 zero 61046,51811 aa 001650 700003 756111 152 stq sb|3,x1 " temporary L107: aa 001651 000000 213000 epaq 0 " set lp to linkage section aa 001652 700026 764161 lprplp sb|22,*au aa 001653 200000 021100 adlx1 bp|0 " BCPL save aa 001654 700000 542111 sprpbp sb|0,x1 aa 001655 700001 544111 sprplp sb|1,x1 aa 001656 700423 620111 eax0 sb|275,x1 aa 001657 777760 360003 anx0 -16,du aa 001660 700025 740100 stx0 sb|21 " end of save sequence aa 001661 700002 054111 153 aos sb|2,x1 " Size aa 001662 777777 236007 154 ldq -1,dl " Right aa 001663 700002 356111 ansq sb|2,x1 " Size aa 001664 700004 450111 155 stz sb|4,x1 " j L114: aa 001665 700002 236111 156 ldq sb|2,x1 " Size aa 001666 000001 772000 qrl 1 aa 001667 700002 756111 stq sb|2,x1 " Size aa 001670 700002 234111 157 szn sb|2,x1 " Size aa 001671 000003 600004 tze L115 aa 001672 700004 054111 158 aos sb|4,x1 " j aa 001673 777772 710004 tra L114 L115: aa 001674 700004 726111 160 lxl6 sb|4,x1 " j aa 001675 600055 763100 lprpbb sp|45 " Freelist aa 001676 300000 236116 ldq bb|0,x6 aa 001677 700005 756111 stq sb|5,x1 " p aa 001700 700005 234111 161 szn sb|5,x1 " p aa 001701 000016 600004 tze L116 aa 001702 700005 765111 162 lprplb sb|5,x1 " p aa 001703 500000 236100 ldq lb|0 aa 001704 700004 722111 lxl2 sb|4,x1 " j aa 001705 600055 760100 lprpap sp|45 " Freelist aa 001706 000000 756112 stq ap|0,x2 aa 001707 700004 236111 163 ldq sb|4,x1 " j aa 001710 000036 736000 qls 30 aa 001711 000054 276004 orq L117 " NewvecID aa 001712 700005 761111 lprpab sb|5,x1 " p aa 001713 100000 756100 stq ab|0 aa 001714 700005 762111 164 lprpbp sb|5,x1 " p aa 001715 200001 352100 eapbp bp|1 aa 001716 000036 710004 tra L113 L116: L110: aa 001717 600053 236100 166 ldq sp|43 " Freearea aa 001720 700005 756111 stq sb|5,x1 " p aa 001721 000002 236007 167 ldq 2,dl " 2 aa 001722 700004 723111 lxl3 sb|4,x1 " j aa 001723 000000 736013 qls 0,x3 aa 001724 600053 056100 asq sp|43 " Freearea aa 001725 600053 236100 168 ldq sp|43 " Freearea aa 001726 600054 116100 cmpq sp|44 " Freelimit aa 001727 000011 605404 tpnz L118 aa 001730 700004 235111 169 lda sb|4,x1 " j aa 001731 000036 735000 als 30 aa 001732 000033 275004 ora L117 " NewvecID aa 001733 700005 763111 lprpbb sb|5,x1 " p aa 001734 300000 755100 sta bb|0 aa 001735 700005 765111 170 lprplb sb|5,x1 " p aa 001736 500001 352100 eapbp lb|1 aa 001737 000015 710004 tra L113 L118: 9a 001740 400013 054100 172 aos lp|11 " NewvecTemps 9a 001741 400013 235100 173 lda lp|11 " NewvecTemps aa 001742 700012 755111 sta sb|10,x1 aa 001743 000020 350004 eapap L119 " "Newvec" aa 001744 700013 540111 sprpap sb|11,x1 aa 001745 777475 272004 tsbbp L77+2 " MakeTempSeg aa 001746 000010 000002 zero 8,2 aa 001747 600053 756100 stq sp|43 " Freearea aa 001750 600053 236100 174 ldq sp|43 " Freearea 4a 001751 400022 076120 adq lp|L120,* aa 001752 600054 756100 stq sp|44 " Freelimit aa 001753 777744 710004 175 tra L110 L113: aa 001754 700004 542111 sprpbp sb|4,x1 aa 001755 700004 236111 ldq sb|4,x1 aa 001756 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001757 200000 121100 sblx1 bp|0 aa 001760 700001 764111 lprplp sb|1,x1 aa 001761 200001 710100 tra bp|1 " end of return sequence aa 001762 700003 756111 stq sb|3,x1 " temporary " Literal pool L119: aa 001763 000006 116145 zero 6,40037 " "Newvec" aa 001764 167166 145143 zero 61046,51811 L117: aa 001765 001234 567654 zero 668,-69716 " NewvecID " Begin text of NewvecCleanup aa 001766 000015 116145 zero 13,40037 " NewvecCleanup aa 001767 167166 145143 zero 61046,51811 aa 001770 103154 145141 zero 34412,51809 aa 001771 156165 160000 zero 56437,57344 L109: aa 001772 000000 213000 185 epaq 0 " set lp to linkage section aa 001773 700026 764161 lprplp sb|22,*au aa 001774 200000 021100 adlx1 bp|0 " BCPL save aa 001775 700000 542111 sprpbp sb|0,x1 aa 001776 700001 544111 sprplp sb|1,x1 aa 001777 700423 620111 eax0 sb|275,x1 aa 002000 777760 360003 anx0 -16,du aa 002001 700025 740100 stx0 sb|21 " end of save sequence aa 002002 000010 710004 186 tra L124 L125: aa 002003 600052 054100 187 aos sp|42 " FirstTemp aa 002004 600052 236100 188 ldq sp|42 " FirstTemp aa 002005 700004 756111 stq sb|4,x1 aa 002006 777755 350004 eapap L119 " "Newvec" aa 002007 700005 540111 sprpap sb|5,x1 aa 002010 777237 272004 tsbbp L78+2 " DeleteTempSeg aa 002011 000002 000002 zero 2,2 L124: aa 002012 600052 236100 ldq sp|42 " FirstTemp 9a 002013 400013 116100 cmpq lp|11 " NewvecTemps aa 002014 777767 604004 tmi L125 L123: aa 002015 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002016 200000 121100 sblx1 bp|0 aa 002017 700001 764111 lprplp sb|1,x1 aa 002020 200001 710100 tra bp|1 " end of return sequence " Begin text of Freevec aa 002021 000007 106162 zero 7,35954 " Freevec aa 002022 145145 166145 zero 51813,60517 aa 002023 143000 000000 zero 50688 L108: aa 002024 000000 213000 177 epaq 0 " set lp to linkage section aa 002025 700026 764161 lprplp sb|22,*au aa 002026 200000 021100 adlx1 bp|0 " BCPL save aa 002027 700000 542111 sprpbp sb|0,x1 aa 002030 700001 544111 sprplp sb|1,x1 aa 002031 700417 620111 eax0 sb|271,x1 aa 002032 777760 360003 anx0 -16,du aa 002033 700025 740100 stx0 sb|21 " end of save sequence aa 002034 700002 760111 178 lprpap sb|2,x1 " Space aa 002035 077777 350100 eapap ap|-1 aa 002036 700002 540111 sprpap sb|2,x1 " Space aa 002037 700002 760111 179 lprpap sb|2,x1 " Space aa 002040 000000 235100 lda ap|0 aa 002041 700003 755111 sta sb|3,x1 " j aa 002042 700003 235111 180 lda sb|3,x1 " j aa 002043 000023 375004 ana L129 " $8007777777777 aa 002044 777721 115004 cmpa L117 " NewvecID aa 002045 000015 601004 tnz L128 aa 002046 700003 235111 181 lda sb|3,x1 " j aa 002047 000036 771000 arl 30 aa 002050 700003 755111 sta sb|3,x1 " j aa 002051 700003 724111 182 lxl4 sb|3,x1 " j aa 002052 600055 762100 lprpbp sp|45 " Freelist aa 002053 200000 235114 lda bp|0,x4 aa 002054 700002 761111 lprpab sb|2,x1 " Space aa 002055 100000 755100 sta ab|0 aa 002056 700002 235111 183 lda sb|2,x1 " Space aa 002057 700003 725111 lxl5 sb|3,x1 " j aa 002060 600055 763100 lprpbb sp|45 " Freelist aa 002061 300000 755115 sta bb|0,x5 L128: aa 002062 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002063 200000 121100 sblx1 bp|0 aa 002064 700001 764111 lprplp sb|1,x1 aa 002065 200001 710100 tra bp|1 " end of return sequence " Literal pool L129: aa 002066 007777 777777 zero 4095,-1 " $8007777777777 " Begin text of NewvecInit aa 002067 000012 116145 zero 10,40037 " NewvecInit aa 002070 167166 145143 zero 61046,51811 aa 002071 111156 151164 zero 37486,53876 L106: aa 002072 000000 213000 145 epaq 0 " set lp to linkage section aa 002073 700026 764161 lprplp sb|22,*au aa 002074 200000 021100 adlx1 bp|0 " BCPL save aa 002075 700000 542111 sprpbp sb|0,x1 aa 002076 700001 544111 sprplp sb|1,x1 aa 002077 700417 620111 eax0 sb|271,x1 aa 002100 777760 360003 anx0 -16,du aa 002101 700025 740100 stx0 sb|21 " end of save sequence aa 002102 700004 450111 146 stz sb|4,x1 " i aa 002103 000005 710004 tra L133 L134: aa 002104 700004 726111 lxl6 sb|4,x1 " i aa 002105 700002 765111 lprplb sb|2,x1 " Space aa 002106 500000 450116 stz lb|0,x6 aa 002107 700004 054111 aos sb|4,x1 " i L133: aa 002110 700004 235111 lda sb|4,x1 " i aa 002111 000024 115007 cmpa 20,dl " 20 aa 002112 777772 604404 tmoz L134 aa 002113 700002 236111 147 ldq sb|2,x1 " Space aa 002114 600055 756100 stq sp|45 " Freelist aa 002115 700002 236111 148 ldq sb|2,x1 " Space aa 002116 000025 076007 adq 21,dl " 21 aa 002117 600053 756100 stq sp|43 " Freearea aa 002120 700002 236111 149 ldq sb|2,x1 " Space aa 002121 700003 076111 adq sb|3,x1 " Size aa 002122 600054 756100 stq sp|44 " Freelimit 9a 002123 400013 236100 150 ldq lp|11 " NewvecTemps aa 002124 600052 756100 stq sp|42 " FirstTemp L132: aa 002125 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002126 200000 121100 sblx1 bp|0 aa 002127 700001 764111 lprplp sb|1,x1 aa 002130 200001 710100 tra bp|1 " end of return sequence " Begin text of Findadr aa 002131 000007 106151 zero 7,35945 " Findadr aa 002132 156144 141144 zero 56420,49764 aa 002133 162000 000000 zero 58368 L135: aa 002134 000000 213000 191 epaq 0 " set lp to linkage section aa 002135 700026 764161 lprplp sb|22,*au aa 002136 200000 021100 adlx1 bp|0 " BCPL save aa 002137 700000 542111 sprpbp sb|0,x1 aa 002140 700001 544111 sprplp sb|1,x1 aa 002141 700475 620111 eax0 sb|317,x1 aa 002142 777760 360003 anx0 -16,du aa 002143 700025 740100 stx0 sb|21 " end of save sequence aa 002144 700010 350111 193 eapap sb|8,x1 " a vector aa 002145 700006 540111 sprpap sb|6,x1 " w aa 002146 700014 350111 eapap sb|12,x1 " a vector aa 002147 700005 540111 sprpap sb|5,x1 " v aa 002150 700020 350111 194 eapap sb|16,x1 " a vector aa 002151 700013 540111 sprpap sb|11,x1 " N2 aa 002152 700222 350111 eapap sb|146,x1 " a vector aa 002153 700007 540111 sprpap sb|7,x1 " N1 4a 002154 400034 272120 195 tsbbp lp|L84,* " NumbArgs aa 002155 000426 000000 zero 278 aa 002156 000001 116007 cmpq 1,dl " 1 aa 002157 000057 601004 tnz L139 aa 002160 700002 236111 196 ldq sb|2,x1 " s aa 002161 700430 756111 stq sb|280,x1 aa 002162 000044 236007 ldq 36,dl " '$' aa 002163 700431 756111 stq sb|281,x1 4a 002164 400020 272120 tsbbp lp|L141,* " IndexCh aa 002165 000426 000002 zero 278,2 aa 002166 700221 756111 stq sb|145,x1 " i aa 002167 700221 234111 197 szn sb|145,x1 " i aa 002170 000004 601004 tnz L142 aa 002171 700002 236111 198 ldq sb|2,x1 " s aa 002172 700003 756111 stq sb|3,x1 " t aa 002173 000042 710004 tra L143 L142: aa 002174 700221 236111 199 ldq sb|145,x1 " i aa 002175 000001 176007 sbq 1,dl " 1 aa 002176 700430 756111 stq sb|280,x1 aa 002177 000777 236007 ldq 511,dl " 511 aa 002200 700431 756111 stq sb|281,x1 4a 002201 400072 272120 tsbbp lp|L21,* " MinI aa 002202 000426 000002 zero 278,2 aa 002203 700017 756111 stq sb|15,x1 aa 002204 700007 236111 ldq sb|7,x1 " N1 aa 002205 700430 756111 stq sb|280,x1 aa 002206 700002 236111 ldq sb|2,x1 " s aa 002207 700431 756111 stq sb|281,x1 aa 002210 000001 236007 ldq 1,dl " 1 aa 002211 700432 756111 stq sb|282,x1 aa 002212 700017 236111 ldq sb|15,x1 aa 002213 700433 756111 stq sb|283,x1 4a 002214 400070 272120 tsbbp lp|L22,* " Substr aa 002215 000426 000004 zero 278,4 aa 002216 700013 236111 200 ldq sb|11,x1 " N2 aa 002217 700430 756111 stq sb|280,x1 aa 002220 700002 236111 ldq sb|2,x1 " s aa 002221 700431 756111 stq sb|281,x1 aa 002222 700221 236111 ldq sb|145,x1 " i aa 002223 000001 076007 adq 1,dl " 1 aa 002224 700432 756111 stq sb|282,x1 aa 002225 000777 236007 ldq 511,dl " 511 aa 002226 700433 756111 stq sb|283,x1 4a 002227 400070 272120 tsbbp lp|L22,* " Substr aa 002230 000426 000004 zero 278,4 aa 002231 700013 236111 201 ldq sb|11,x1 " N2 aa 002232 700003 756111 stq sb|3,x1 " t aa 002233 700007 236111 ldq sb|7,x1 " N1 aa 002234 700002 756111 stq sb|2,x1 " s L143: aa 002235 000005 710004 tra L140 L139: aa 002236 700003 234111 204 szn sb|3,x1 " t aa 002237 000003 601004 tnz L144 aa 002240 776055 350004 eapap L27 " "" aa 002241 700003 540111 sprpap sb|3,x1 " t L144: L140: aa 002242 700002 350111 205 eapap sb|2,x1 " s aa 002243 600000 540100 sprpap sp|0 aa 002244 600000 236100 ldq sp|0 " s aa 002245 000002 176007 sbq 2,dl " 2 aa 002246 600000 756100 stq sp|0 aa 002247 600000 760100 lprpap sp|0 aa 002250 000000 235100 lda ap|0 aa 002251 700221 755111 sta sb|145,x1 " CallerPtr aa 002252 700221 236111 206 ldq sb|145,x1 " CallerPtr aa 002253 700430 756111 stq sb|280,x1 aa 002254 700006 236111 ldq sb|6,x1 " w aa 002255 700431 756111 stq sb|281,x1 4a 002256 400100 272120 tsbbp lp|L8,* " ITS aa 002257 000426 000002 zero 278,2 aa 002260 700017 756111 stq sb|15,x1 aa 002261 775653 237004 ldaq L9 aa 002262 700426 757111 staq sb|278,x1 " arg count aa 002263 700017 762111 lprpbp sb|15,x1 aa 002264 700430 252111 stpbp sb|280,x1 aa 002265 775653 352004 eapbp L10 aa 002266 700442 252111 stpbp sb|290,x1 aa 002267 700002 761111 lprpab sb|2,x1 " s aa 002270 000022 722007 lxl2 18,dl aa 002271 100000 503512 abd ab|0,x2 aa 002272 700432 251511 stpab sb|282,x1 aa 002273 100000 236100 ldq ab|0 aa 002274 000022 772000 qrl 18 aa 002275 524000 276003 orq -88064,du aa 002276 700454 756111 stq sb|300,x1 aa 002277 700454 351511 eapab sb|300,x1 aa 002300 700444 251511 stpab sb|292,x1 aa 002301 700003 763111 lprpbb sb|3,x1 " t aa 002302 000022 723007 lxl3 18,dl aa 002303 300000 503513 abd bb|0,x3 aa 002304 700434 253511 stpbb sb|284,x1 aa 002305 300000 236100 ldq bb|0 aa 002306 000022 772000 qrl 18 aa 002307 524000 276003 orq -88064,du aa 002310 700455 756111 stq sb|301,x1 aa 002311 700455 353511 eapbb sb|301,x1 aa 002312 700446 253511 stpbb sb|294,x1 aa 002313 700005 765111 lprplb sb|5,x1 " v aa 002314 700436 651511 stplb sb|286,x1 aa 002315 775623 371404 eaplb L10 aa 002316 700450 651511 stplb sb|296,x1 aa 002317 600046 350100 eapap sp|38 " Errcode aa 002320 700440 250111 stpap sb|288,x1 aa 002321 775615 350004 eapap L12 aa 002322 700452 250111 stpap sb|298,x1 aa 002323 600010 441100 sxl1 sp|8 aa 002324 600030 650100 stplp sp|24 4a 002325 400016 352120 eapbp lp|L145,* " MakePtr aa 002326 700426 350111 eapap sb|278,x1 aa 002327 700036 670120 tsblp sb|30,* " Multics call operator aa 002330 600010 721100 lxl1 sp|8 aa 002331 700001 764111 lprplp sb|1,x1 aa 002332 600046 234100 207 szn sp|38 " Errcode aa 002333 000003 600004 tze L146 aa 002334 776255 236004 ldq L45 " Null aa 002335 000005 710004 tra L138 L146: aa 002336 700005 235111 208 lda sb|5,x1 " v aa 002337 700430 755111 sta sb|280,x1 4a 002340 400050 272120 tsbbp lp|L52,* " BCPLaddr aa 002341 000426 000001 zero 278,1 L138: aa 002342 700005 756111 stq sb|5,x1 aa 002343 700005 236111 ldq sb|5,x1 aa 002344 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002345 200000 121100 sblx1 bp|0 aa 002346 700001 764111 lprplp sb|1,x1 aa 002347 200001 710100 tra bp|1 " end of return sequence " Begin text of GetCpuUsage aa 002350 000013 107145 zero 11,36453 " GetCpuUsage aa 002351 164103 160165 zero 59459,57461 aa 002352 125163 141147 zero 43635,49767 aa 002353 145000 000000 zero 51712 aa 002354 700004 756111 211 stq sb|4,x1 " temporary L147: aa 002355 000000 213000 epaq 0 " set lp to linkage section aa 002356 700026 764161 lprplp sb|22,*au aa 002357 200000 021100 adlx1 bp|0 " BCPL save aa 002360 700000 542111 sprpbp sb|0,x1 aa 002361 700001 544111 sprplp sb|1,x1 aa 002362 700425 620111 eax0 sb|277,x1 aa 002363 777760 360003 anx0 -16,du aa 002364 700025 740100 stx0 sb|21 " end of save sequence aa 002365 700004 351511 212 eapab sb|4,x1 " a vector aa 002366 700003 541111 sprpab sb|3,x1 " v aa 002367 776767 237004 213 ldaq L86 aa 002370 700010 757111 staq sb|8,x1 " arg count aa 002371 700003 761111 lprpab sb|3,x1 " v aa 002372 700012 251511 stpab sb|10,x1 aa 002373 000022 351404 eapab L151 " descriptor aa 002374 700014 251511 stpab sb|12,x1 aa 002375 600010 441100 sxl1 sp|8 aa 002376 600030 650100 stplp sp|24 4a 002377 400014 352120 eapbp lp|L152,* " VirtualCpuTime aa 002400 700010 350111 eapap sb|8,x1 aa 002401 700036 670120 tsblp sb|30,* " Multics call operator aa 002402 600010 721100 lxl1 sp|8 aa 002403 700001 764111 lprplp sb|1,x1 aa 002404 700003 763111 214 lprpbb sb|3,x1 " v aa 002405 300001 236100 ldq bb|1 L150: aa 002406 700003 756111 stq sb|3,x1 aa 002407 700003 236111 ldq sb|3,x1 aa 002410 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002411 200000 121100 sblx1 bp|0 aa 002412 700001 764111 lprplp sb|1,x1 aa 002413 200001 710100 tra bp|1 " end of return sequence aa 002414 700002 756111 stq sb|2,x1 " temporary " Literal pool L151: aa 002415 410000 000000 zero -126976 " descriptor " Definition section part one - external entry points 5a 000000 000101 000000 " pointer to first definition aa 000001 000000 600000 " flags: new format, ignore header aa 000002 000000 000000 " list terminator aa 000003 021142 143160 " "bcpl_filesys_lib_" aa 000004 154137 146151 aa 000005 154145 163171 aa 000006 163137 154151 aa 000007 142137 000000 aa 000010 013107 145164 " "GetCpuUsage" aa 000011 103160 165125 aa 000012 163141 147145 aa 000013 007106 151156 " "Findadr" aa 000014 144141 144162 aa 000015 015116 145167 " "NewvecCleanup" aa 000016 166145 143103 aa 000017 154145 141156 aa 000020 165160 000000 aa 000021 007106 162145 " "Freevec" aa 000022 145166 145143 aa 000023 006116 145167 " "Newvec" aa 000024 166145 143000 aa 000025 012116 145167 " "NewvecInit" aa 000026 166145 143111 aa 000027 156151 164000 aa 000030 010101 154154 " "Allocate" aa 000031 157143 141164 aa 000032 145000 000000 aa 000033 015104 145154 " "DeleteTempSeg" aa 000034 145164 145124 aa 000035 145155 160123 aa 000036 145147 000000 aa 000037 013115 141153 " "MakeTempSeg" aa 000040 145124 145155 aa 000041 160123 145147 aa 000042 013107 145164 " "GetPathname" aa 000043 120141 164150 aa 000044 156141 155145 aa 000045 011124 145162 " "Terminate" aa 000046 155151 156141 aa 000047 164145 000000 aa 000050 013123 145164 " "SetBitCount" aa 000051 102151 164103 aa 000052 157165 156164 aa 000053 013115 141153 " "MakeSegment" aa 000054 145123 145147 aa 000055 155145 156164 aa 000056 013106 151156 " "FindSegment" aa 000057 144123 145147 aa 000060 155145 156164 aa 000061 015123 160154 " "SplitPathname" aa 000062 151164 120141 aa 000063 164150 156141 aa 000064 155145 000000 aa 000065 014112 157151 " "JoinPathname" aa 000066 156120 141164 aa 000067 150156 141155 aa 000070 145000 000000 aa 000071 016105 170160 " "ExpandPathname" aa 000072 141156 144120 aa 000073 141164 150156 aa 000074 141155 145000 aa 000075 014163 171155 " "symbol_table" aa 000076 142157 154137 aa 000077 164141 142154 aa 000100 145000 000000 " Segname definition for bcpl_filesys_lib_ 55 000101 000104 000002 " forward, backward threads 5a 000102 000002 400003 " value defined, class flags 55 000103 000003 000104 " name pointer, first entry def " Definition for GetCpuUsage 55 000104 000107 000101 " forward, backward threads 0a 000105 002355 500000 " value defined, class flags 55 000106 000010 000101 " name pointer, segname def pointer " Definition for Findadr 55 000107 000112 000104 " forward, backward threads 0a 000110 002134 500000 " value defined, class flags 55 000111 000013 000101 " name pointer, segname def pointer " Definition for NewvecCleanup 55 000112 000115 000107 " forward, backward threads 0a 000113 001772 500000 " value defined, class flags 55 000114 000015 000101 " name pointer, segname def pointer " Definition for Freevec 55 000115 000120 000112 " forward, backward threads 0a 000116 002024 500000 " value defined, class flags 55 000117 000021 000101 " name pointer, segname def pointer " Definition for Newvec 55 000120 000123 000115 " forward, backward threads 0a 000121 001651 500000 " value defined, class flags 55 000122 000023 000101 " name pointer, segname def pointer " Definition for NewvecInit 55 000123 000126 000120 " forward, backward threads 0a 000124 002072 500000 " value defined, class flags 55 000125 000025 000101 " name pointer, segname def pointer " Definition for Allocate 55 000126 000131 000123 " forward, backward threads 0a 000127 001563 500000 " value defined, class flags 55 000130 000030 000101 " name pointer, segname def pointer " Definition for DeleteTempSeg 55 000131 000134 000126 " forward, backward threads 0a 000132 001245 500000 " value defined, class flags 55 000133 000033 000101 " name pointer, segname def pointer " Definition for MakeTempSeg 55 000134 000137 000131 " forward, backward threads 0a 000135 001440 500000 " value defined, class flags 55 000136 000037 000101 " name pointer, segname def pointer " Definition for GetPathname 55 000137 000142 000134 " forward, backward threads 0a 000140 000674 500000 " value defined, class flags 55 000141 000042 000101 " name pointer, segname def pointer " Definition for Terminate 55 000142 000145 000137 " forward, backward threads 0a 000143 000617 500000 " value defined, class flags 55 000144 000045 000101 " name pointer, segname def pointer " Definition for SetBitCount 55 000145 000150 000142 " forward, backward threads 0a 000146 001001 500000 " value defined, class flags 55 000147 000050 000101 " name pointer, segname def pointer " Definition for MakeSegment 55 000150 000153 000145 " forward, backward threads 0a 000151 001122 500000 " value defined, class flags 55 000152 000053 000101 " name pointer, segname def pointer " Definition for FindSegment 55 000153 000156 000150 " forward, backward threads 0a 000154 000413 500000 " value defined, class flags 55 000155 000056 000101 " name pointer, segname def pointer " Definition for SplitPathname 55 000156 000161 000153 " forward, backward threads 0a 000157 000145 500000 " value defined, class flags 55 000160 000061 000101 " name pointer, segname def pointer " Definition for JoinPathname 55 000161 000164 000156 " forward, backward threads 0a 000162 000323 500000 " value defined, class flags 55 000163 000065 000101 " name pointer, segname def pointer " Definition for ExpandPathname 55 000164 000167 000161 " forward, backward threads 0a 000165 000004 500000 " value defined, class flags 55 000166 000071 000101 " name pointer, segname def pointer " Definition for symbol_table 55 000167 000002 000164 " forward, backward threads 6a 000170 000000 400002 " value defined, class flags 55 000171 000075 000101 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000172 021166 151162 " "virtual_cpu_time_" aa 000173 164165 141154 aa 000174 137143 160165 aa 000175 137164 151155 aa 000176 145137 000000 5a 000177 000200 000000 aa 000200 000004 000000 55 000201 000172 000172 aa 000202 004150 143163 " "hcs_" aa 000203 137000 000000 aa 000204 010155 141153 " "make_ptr" aa 000205 145137 160164 aa 000206 162000 000000 5a 000207 000210 000000 aa 000210 000004 000000 55 000211 000202 000204 aa 000212 015142 143160 " "bcpl_strings_" aa 000213 154137 163164 aa 000214 162151 156147 aa 000215 163137 000000 aa 000216 007111 156144 " "IndexCh" aa 000217 145170 103150 5a 000220 000221 000000 aa 000221 000004 000000 55 000222 000212 000216 aa 000223 010163 171163 " "sys_info" aa 000224 137151 156146 aa 000225 157000 000000 aa 000226 014155 141170 " "max_seg_size" aa 000227 137163 145147 aa 000230 137163 151172 aa 000231 145000 000000 5a 000232 000233 000000 aa 000233 000004 000000 55 000234 000223 000226 aa 000235 016141 163163 " "assign_linkage" aa 000236 151147 156137 aa 000237 154151 156153 aa 000240 141147 145000 5a 000241 000242 000000 aa 000242 000004 000000 55 000243 000202 000235 aa 000244 021142 143160 " "bcpl_conversions_" aa 000245 154137 143157 aa 000246 156166 145162 aa 000247 163151 157156 aa 000250 163137 000000 aa 000251 013103 157156 " "ConvertNtoS" aa 000252 166145 162164 aa 000253 116164 157123 5a 000254 000255 000000 aa 000255 000004 000000 55 000256 000244 000251 aa 000257 015144 145154 " "delentry_file" aa 000260 145156 164162 aa 000261 171137 146151 aa 000262 154145 000000 5a 000263 000264 000000 aa 000264 000004 000000 55 000265 000202 000257 aa 000266 011147 145164 " "get_pdir_" aa 000267 137160 144151 aa 000270 162137 000000 5a 000271 000272 000000 aa 000272 000004 000000 55 000273 000266 000266 aa 000274 022142 143160 " "bcpl_machine_code_" aa 000275 154137 155141 aa 000276 143150 151156 aa 000277 145137 143157 aa 000300 144145 137000 aa 000301 010116 165155 " "NumbArgs" aa 000302 142101 162147 aa 000303 163000 000000 5a 000304 000305 000000 aa 000305 000004 000000 55 000306 000274 000301 aa 000307 010155 141153 " "make_seg" aa 000310 145137 163145 aa 000311 147000 000000 5a 000312 000313 000000 aa 000313 000004 000000 55 000314 000202 000307 aa 000315 012163 145164 " "set_bc_seg" aa 000316 137142 143137 aa 000317 163145 147000 5a 000320 000321 000000 aa 000321 000004 000000 55 000322 000202 000315 aa 000323 014164 162165 " "truncate_seg" aa 000324 156143 141164 aa 000325 145137 163145 aa 000326 147000 000000 5a 000327 000330 000000 aa 000330 000004 000000 55 000331 000202 000323 aa 000332 020146 163137 " "fs_get_path_name" aa 000333 147145 164137 aa 000334 160141 164150 aa 000335 137156 141155 aa 000336 145000 000000 5a 000337 000340 000000 aa 000340 000004 000000 55 000341 000202 000332 aa 000342 020164 145162 " "terminate_noname" aa 000343 155151 156141 aa 000344 164145 137156 aa 000345 157156 141155 aa 000346 145000 000000 5a 000347 000350 000000 aa 000350 000004 000000 55 000351 000202 000342 aa 000352 010102 103120 " "BCPLaddr" aa 000353 114141 144144 aa 000354 162000 000000 5a 000355 000356 000000 aa 000356 000004 000000 55 000357 000274 000352 aa 000360 014145 162162 " "error_table_" aa 000361 157162 137164 aa 000362 141142 154145 aa 000363 137000 000000 aa 000364 010163 145147 " "segknown" aa 000365 153156 157167 aa 000366 156000 000000 5a 000367 000370 000000 aa 000370 000004 000000 55 000371 000360 000364 aa 000372 010151 156151 " "initiate" aa 000373 164151 141164 aa 000374 145000 000000 5a 000375 000376 000000 aa 000376 000004 000000 55 000377 000202 000372 aa 000400 006144 151162 " "dirseg" aa 000401 163145 147000 5a 000402 000403 000000 aa 000403 000004 000000 55 000404 000360 000400 aa 000405 013163 164141 " "status_minf" aa 000406 164165 163137 aa 000407 155151 156146 5a 000410 000411 000000 aa 000411 000004 000000 55 000412 000202 000405 aa 000413 013103 157156 " "Concatenate" aa 000414 143141 164145 aa 000415 156141 164145 5a 000416 000417 000000 aa 000417 000004 000000 55 000420 000212 000413 aa 000421 016115 141153 " "MakeBcplString" aa 000422 145102 143160 aa 000423 154123 164162 aa 000424 151156 147000 5a 000425 000426 000000 aa 000426 000004 000000 55 000427 000212 000421 aa 000430 015115 141153 " "MakePl1String" aa 000431 145120 154061 aa 000432 123164 162151 aa 000433 156147 000000 5a 000434 000435 000000 aa 000435 000004 000000 55 000436 000212 000430 aa 000437 006123 165142 " "Substr" aa 000440 163164 162000 5a 000441 000442 000000 aa 000442 000004 000000 55 000443 000212 000437 aa 000444 020142 143160 " "bcpl_arithmetic_" aa 000445 154137 141162 aa 000446 151164 150155 aa 000447 145164 151143 aa 000450 137000 000000 aa 000451 004115 151156 " "MinI" aa 000452 111000 000000 5a 000453 000454 000000 aa 000454 000004 000000 55 000455 000444 000451 aa 000456 005123 165142 " "Subch" aa 000457 143150 000000 5a 000460 000461 000000 aa 000461 000004 000000 55 000462 000274 000456 aa 000463 014145 170160 " "expand_path_" aa 000464 141156 144137 aa 000465 160141 164150 aa 000466 137000 000000 5a 000467 000470 000000 aa 000470 000004 000000 55 000471 000463 000463 aa 000472 003111 124123 " "ITS" 5a 000473 000474 000000 aa 000474 000004 000000 55 000475 000274 000472 aa 000476 006114 145156 " "Length" aa 000477 147164 150000 5a 000500 000501 000000 aa 000501 000004 000000 55 000502 000212 000476 aa 000503 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 002416 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000014 000104 " offset to links, total length aa 000007 000000 000104 " 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 " NewvecTemps " External link pairs L152: 3a 000014 777764 000046 " "virtual_cpu_time_" 5a 000015 000177 000000 L145: 3a 000016 777762 000046 " "hcs_$make_ptr" 5a 000017 000207 000000 L141: 3a 000020 777760 000046 " "bcpl_strings_$IndexCh" 5a 000021 000220 000000 L120: 3a 000022 777756 000046 " "sys_info$max_seg_size" 5a 000023 000232 000000 L105: 3a 000024 777754 000046 " "hcs_$assign_linkage" 5a 000025 000241 000000 L92: 3a 000026 777752 000046 " "bcpl_conversions_$ConvertNtoS" 5a 000027 000254 000000 L88: 3a 000030 777750 000046 " "hcs_$delentry_file" 5a 000031 000263 000000 L87: 3a 000032 777746 000046 " "get_pdir_" 5a 000033 000271 000000 L84: 3a 000034 777744 000046 " "bcpl_machine_code_$NumbArgs" 5a 000035 000304 000000 L75: 3a 000036 777742 000046 " "hcs_$make_seg" 5a 000037 000312 000000 L71: 3a 000040 777740 000046 " "hcs_$set_bc_seg" 5a 000041 000320 000000 L70: 3a 000042 777736 000046 " "hcs_$truncate_seg" 5a 000043 000327 000000 L65: 3a 000044 777734 000046 " "hcs_$fs_get_path_name" 5a 000045 000337 000000 L61: 3a 000046 777732 000046 " "hcs_$terminate_noname" 5a 000047 000347 000000 L52: 3a 000050 777730 000046 " "bcpl_machine_code_$BCPLaddr" 5a 000051 000355 000000 L51: 3a 000052 777726 000046 " "error_table_$segknown" 5a 000053 000367 000000 L48: 3a 000054 777724 000046 " "hcs_$initiate" 5a 000055 000375 000000 L43: 3a 000056 777722 000046 " "error_table_$dirseg" 5a 000057 000402 000000 L41: 3a 000060 777720 000046 " "hcs_$status_minf" 5a 000061 000410 000000 L33: 3a 000062 777716 000046 " "bcpl_strings_$Concatenate" 5a 000063 000416 000000 L31: 3a 000064 777714 000046 " "bcpl_strings_$MakeBcplString" 5a 000065 000425 000000 L26: 3a 000066 777712 000046 " "bcpl_strings_$MakePl1String" 5a 000067 000434 000000 L22: 3a 000070 777710 000046 " "bcpl_strings_$Substr" 5a 000071 000441 000000 L21: 3a 000072 777706 000046 " "bcpl_arithmetic_$MinI" 5a 000073 000453 000000 L20: 3a 000074 777704 000046 " "bcpl_machine_code_$Subch" 5a 000075 000460 000000 L13: 3a 000076 777702 000046 " "expand_path_" 5a 000077 000467 000000 L8: 3a 000100 777700 000046 " "bcpl_machine_code_$ITS" 5a 000101 000473 000000 L7: 3a 000102 777676 000046 " "bcpl_strings_$Length" 5a 000103 000500 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 437555 375001 " 01/24/75 0658.9 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 000154 " rel_def, rel_link aa 000022 000171 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 000060 " bcpl_filesys_lib_ aa 000027 023333 611420 " last modified on aa 000030 000000 102333 " 01/24/75 0647.2 mst Fri aa 000031 432366 600000 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_filesys_lib_.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 137146 aa 000074 151154 145163 aa 000075 171163 137154 aa 000076 151142 137056 aa 000077 142143 160154 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 002311 " length in bits aa 000111 740505 000001 aa 000112 200000 247402 aa 000113 151701 532360 aa 000114 506400 000517 aa 000115 004323 601264 aa 000116 740415 170053 aa 000117 200000 247403 aa 000120 350000 012360 aa 000121 316474 041517 aa 000122 005723 605571 aa 000123 740435 000001 aa 000124 236017 710031 aa 000125 003174 033500 aa 000126 000120 002474 aa 000127 107517 007323 aa 000130 604164 740655 aa 000131 170253 236022 aa 000132 647402 151701 aa 000133 132360 567100 aa 000134 317403 350000 aa 000135 051702 072360 aa 000136 316474 065517 aa 000137 017323 602064 aa 000140 740535 170247 aa 000141 476015 640000 aa 000142 247413 750000 aa 000143 051704 074544 aa 000144 000024 741036 aa 000145 370437 476030 aa 000146 640000 051700 aa 000147 632360 126474 aa 000150 025517 013323 aa 000151 604664 740255 aa 000152 170173 236016 aa 000153 400000 000000 l " inkage relocation bits aa 000154 000000 000002 " version number of rel-bits structure aa 000155 000000 000560 " length in bits aa 000156 100002 200011 aa 000157 525152 515251 aa 000160 525152 515251 aa 000161 525152 515251 aa 000162 525152 515251 aa 000163 525152 515251 aa 000164 525152 515251 aa 000165 525152 515251 aa 000166 525152 515251 aa 000167 525152 515251 aa 000170 524000 000000 s " ymbol relocation bits aa 000171 000000 000002 " version number of rel-bits structure aa 000172 000000 000043 " length in bits aa 000173 740365 770336 " Object map aa 003422 000000 000001 " version number of object_map structure aa 003423 157142 152137 " "obj_map " aa 003424 155141 160040 aa 003425 000000 002416 " text offset, length aa 003426 002416 000503 " def offset, length aa 003427 003122 000104 " link offset, length aa 003430 003226 000174 " symbol offset, length aa 003431 000000 000000 " break map offset, length aa 003432 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 003433 003422 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