Compilation listing of file >2.1spec>online>mib083074>bcpl_cg7.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0656.4 mst Fri. Compiled by BCPL version 3.4, August 1973. Compiler updated at 09/25/73 0959.1 mst Tue. Options applied: source xref alist optimize 6180. 1 // These routines generate the definitions and linkage sections of the object segment. 2 // Last modified on 06/06/74 at 18:23:04 by R F Mabee. 3 // Modified for 6180 conversion, and installed as Version 3.4 by R F Mabee. 4 // First installed as Version 2.7, R F Mabee. 5 6 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 7 8 // General permission is granted to copy and use this program, but not to sell it, provided that the above 9 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 10 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 11 12 get "bcpl_cg_head" 1 // Declarations for the code generator. 2 // Last modified on 08/15/73 at 00:31:50 by R F Mabee. 3 // Code generator substantially modified during 6180 bootstrap, and installed with Version 3.4, R F Mabee. 4 // First installed as Version 2.7, R F Mabee. 5 6 // Copyright (c) 1973 by the author, Robert F. Mabee. 7 // This file may only be reproduced or modified with explicit written 8 // permission of the author. Permission is hereby extended to those 9 // persons responsible for operating the Multics system to make such 10 // copies as are normally required to ensure the integrity of the Multics 11 // file system. Permission is also hereby extended to those persons 12 // responsible for maintaining the Multics program libraries to make such 13 // copies as are normally required for online installations. 14 15 get "bcpl_compiler_head" 1 // Declarations common to the entire BCPL compiler. 2 // Last modified on 07/28/73 at 03:56:32 by R F Mabee. 3 // Installed on 6180 as Version 3.4, R F Mabee. 4 // First installed on 645 as Version 2.7 by R F Mabee. 5 6 // Copyright (c) 1973 by the author, Robert F. Mabee. 7 // This file may only be reproduced or modified with explicit written 8 // permission of the author. Permission is hereby extended to those 9 // persons responsible for operating the Multics system to make such 10 // copies as are normally required to ensure the integrity of the Multics 11 // file system. Permission is also hereby extended to those persons 12 // responsible for maintaining the Multics program libraries to make such 13 // copies as are normally required for online installations. 14 15 external 16 $( Readch = "bcpl_machine_code_$Readch" // Library routines used by the compiler. 17 Writech = "bcpl_machine_code_$Writech" 18 WriteS = "bcpl_stream_io_$WriteS" 19 WriteN = "bcpl_stream_io_$WriteN" 20 Format = "bcpl_stream_io_$Format" 21 Packstring = "bcpl_machine_code_$Packstring" 22 Unpackstring = "bcpl_machine_code_$Unpackstring" 23 RemoveEscapes = "bcpl_conversions_$RemoveEscapes" 24 EqualString = "bcpl_strings_$EqualString" 25 CompareStrings = "bcpl_strings_$CompareStrings" // Alphabetic comparison. 26 Concatenate = "bcpl_strings_$Concatenate" 27 ConvertStoN = "bcpl_conversions_$ConvertStoN" 28 ConvertNtoS = "bcpl_conversions_$ConvertNtoS" 29 Length = "bcpl_strings_$Length" // Number of characters. 30 LengthInWords = "bcpl_strings_$LengthInWords" // Length of packed string. 31 RandomI = "bcpl_arithmetic_$RandomI" 32 33 Newvec = "bcpl_utility$Newvec" // Utility routines used throughout the compiler. 34 Freevec = "bcpl_utility$Freevec" 35 List1 = "bcpl_utility$List1" 36 List2 = "bcpl_utility$List2" 37 List3 = "bcpl_utility$List3" 38 List4 = "bcpl_utility$List4" 39 List5 = "bcpl_utility$List5" 40 List6 = "bcpl_utility$List6" 41 StoreString = "bcpl_utility$StoreString" 42 PushInput = "bcpl_utility$PushInput" 43 PopInput = "bcpl_utility$PopInput" 44 MakeTimeString = "bcpl_utility$MakeTimeString" 45 Nextparam = "bcpl_utility$Nextparam" 46 FormCharconst = "bcpl_utility$FormCharconst" 47 FormStringconst = "bcpl_utility$FormStringconst" 48 49 CaeReport = "bcpl_report$CaeReport" 50 Transreport = "bcpl_report$Transreport" 51 CGreport = "bcpl_report$CGreport" 52 53 Nextsymb = "bcpl_lex0$Nextsymb" 54 55 SymbolName = "bcpl_plist$SymbolName" 56 FindPrintName = "bcpl_plist$FindPrintName" 57 EnterIntoCrossreference = "bcpl_plist$EnterIntoCrossreference" 58 59 GetVersion = "bcpl_version$GetVersion" // Routines used only by the driver. 60 UtilitiesInit = "bcpl_utility$UtilitiesInit" 61 Cleanup = "bcpl_utility$Cleanup" 62 GetStream = "bcpl_utility$GetStream" 63 64 CAE = "bcpl_cae0$CAE" 65 LexInit = "bcpl_lex0$LexInit" 66 67 Pname = "bcpl_plist$Pname" 68 Plist = "bcpl_plist$Plist" 69 70 Trans = "bcpl_trans0$Trans" 71 CgInit = "bcpl_cg0$CgInit" 72 BuildObject = "bcpl_cg0$BuildObject" 73 WriteObjectListing = "bcpl_cg0$WriteObjectListing" 74 $) 75 76 global // Globals are reserved in blocks as follows: 77 $( // 0 - 31 system 78 // 32 - 99 library 79 // 100 - 149 options and other common cells 80 // 150 - 159 metering cells 81 // 160 - 169 bcpl_utility 82 // 170 - 199 to be assigned 83 // 200 - 229 lexical phase 84 // 230 - 249 syntax analyzer 85 // 250 - 299 translator 86 // 300 - 399 code generator 87 88 // Cells used for communication with the library. 89 OUTPUT : 32 90 INPUT : 33 91 MONITOR : 34 92 Ch : 36 93 94 // Options for this compilation. 95 Listing : 100 96 UpperCase : 101 97 PPrep : 102 98 Crep : 103 99 Symbols : 104 100 LineMap : 105 101 Optimize : 106 102 Machine : 107 103 Xref : 108 104 OcodeSw : 109 105 HaveListingFile : 110 106 QuietSw : 111 107 108 // Other information about this compilation. 109 CompilerVersionString : 120 110 CompilerVersionNumber : 121 111 CompilerDTMString : 122 112 CompilerDTM : 123 113 TimeNowString : 124 114 TimeNow : 125 115 OptionString : 126 116 FileNames : 127 117 FilesInfo : 128 118 FileCount : 129 119 ProgramName : 130 120 UserID : 131 121 122 // Working variables needing global scope. 123 LineCount : 140 124 Errorsw : 141 125 NAMECHAIN : 142 126 Symb : 143 127 DictionaryEntry : 144 128 Column : 145 129 $) 130 manifest 131 $( GlobalTemp = 199 $) // Number of cell available for local, temporary use. 132 133 manifest 134 $( Left = 18; Right = $8777777 135 Endofstreamch = $87777 136 Even = $87777777777776 137 Vmax = 511 138 LineMask = $817777; FileShift = 13 // Breakdown of line count. 139 UnexpectedCase = 99 // Error code for use throughout compiler. 140 $) 16 get "bcpl_symbols" 1 // All symbols used in the interface between any two phases of the compiler are defined here. 2 // This includes all canonical symbols, syntax tree nodes, and XOCODE operators. 3 // Last modified on 07/08/73 at 22:55:31 by R F Mabee. 4 // Revisions installed in Version 3.4 on 6180, R F Mabee. 5 // First installed with Version 2.7 by R F Mabee. 6 7 // Copyright (c) 1973 by the author, Robert F. Mabee. 8 // This file may only be reproduced or modified with explicit written 9 // permission of the author. Permission is hereby extended to those 10 // persons responsible for operating the Multics system to make such 11 // copies as are normally required to ensure the integrity of the Multics 12 // file system. Permission is also hereby extended to those persons 13 // responsible for maintaining the Multics program libraries to make such 14 // copies as are normally required for online installations. 15 16 manifest 17 $( AND_S = 1 18 ASSIGN_S = 2 19 BE_S = 3 20 BIT_S = 4 21 BREAK_S = 5 22 BY_S = 6 23 CALL_S = 07 24 CASE_S = 08 25 26 CHAR_S = 10 27 CHARCONST_S = 11 28 COLON_S = 12 29 COMMA_S = 13 30 COND_S = 14 31 CONSTANT_S = 15 32 CONSTDEF_S = 16 33 DEFAULT_S = 17 34 DIV_F = 18 35 36 DIV_S = 20 37 DO_S = 21 38 DOUBLE_S = 22 39 ENDCASE_S = 23 40 ENDPROG_S = 24 41 ERROR_S = 25 42 EQ_F = 26 43 EQ_S = 27 44 EQV_S = 28 45 46 EXTERNAL_S = 30 47 FALSE_S = 31 48 FINISH_S = 32 49 FIXED_S = 33 50 FLOAT_S = 34 51 FNAP_S = 35 52 FNDEF_S = 36 53 FOR_S = 37 54 GE_F = 38 55 56 GE_S = 40 57 GET_S = 41 58 GLOBAL_S = 42 59 GOTO_S = 43 60 GR_F = 44 61 GR_S = 45 62 IF_S = 46 63 IFNOT_S = 47 64 IFSO_S = 48 65 66 INTO_S = 50 67 LABDEF_S = 51 68 LABEL_S = 52 69 LE_F = 53 70 LE_S = 54 71 LENGTH_S = 55 72 LET_S = 56 73 LIST_S = 57 74 LOCAL_S = 58 75 76 LOGAND_S = 60 77 LOGOR_S = 61 78 LOOP_S = 62 79 LS_F = 63 80 LS_S = 64 81 LSHIFT_S = 65 82 LV_S = 66 83 LVECAP_S = 67 84 LV_ARG_OUT = 68 85 86 LV_FNAP_RESULT = 70 87 LV_GLOBAL = 71 88 LV_LOCAL = 72 89 LV_STATIC = 73 90 LV_TEMP = 74 91 MAIN_S = 75 92 MANIFEST_S = 76 93 MINUS_F = 77 94 MINUS_S = 78 95 96 MULT_F = 80 97 MULT_S = 81 98 NAME_S = 82 99 NEG_F = 83 100 NEG_S = 84 101 NEQV_S = 85 102 NE_F = 86 103 NE_S = 87 104 NIL_S = 88 105 106 NOT_S = 90 107 NUMBER_S = 91 108 OFFSET_S = 92 109 OR_S = 93 110 PLUS_F = 94 111 PLUS_S = 95 112 POINTER_S = 96 113 POS_F = 97 114 POS_S = 98 115 116 RBRA_S = 100 117 REGISTER_S = 101 118 REL_S = 102 119 REM_S = 103 120 REP_S = 104 121 REPEAT_S = 105 122 REPEATUNTIL_S = 106 123 REPEATWHILE_S = 107 124 RESULTIS_S = 108 125 126 RETURN_S = 110 127 RKET_S = 111 128 RSHIFT_S = 112 129 RTAP_S = 113 130 RTDEF_S = 114 131 RV_S = 115 132 SBRA_S = 116 133 SECTBEGIN_S = 117 134 SECTBRA_S = 118 135 136 SECTEND_S = 120 137 SECTKET_S = 121 138 SEMICOLON_S = 122 139 SKET_S = 123 140 STATIC_S = 124 141 STRING_S = 125 142 STRINGCONST_S = 126 143 STRUCTURE_S = 127 144 SWITCHON_S = 128 145 146 TABLE_S = 130 147 TEMP_S = 131 148 TEST_S = 132 149 TO_S = 133 150 TRUE_S = 134 151 TYPE_S = 135 152 UNLESS_S = 136 153 UNTIL_S = 137 154 VALDEF_S = 138 155 156 VALOF_S = 140 157 VEC_S = 141 158 VECAP_S = 142 159 WHILE_S = 143 160 $) 17 get "bcpl_cg_codes" 1 // Report codes for the code generation phase. 2 // Last modified on 08/15/73 at 00:33:36 by R F Mabee. 3 // First installed in Version 3.4 by R F Mabee. 4 // Code generation error codes separated from bcpl_trans_codes in April 1973. 5 6 // Copyright (c) 1973 by the author, Robert F. Mabee. 7 // This file may only be reproduced or modified with explicit written 8 // permission of the author. Permission is hereby extended to those 9 // persons responsible for operating the Multics system to make such 10 // copies as are normally required to ensure the integrity of the Multics 11 // file system. Permission is also hereby extended to those persons 12 // responsible for maintaining the Multics program libraries to make such 13 // copies as are normally required for online installations. 14 15 manifest // 300 - 399 are reserved for CG. 16 $( BadAddress = 300 17 BadLabel = 301 18 BadRegOpPair = 302 19 DupCase = 303 20 DupLabel = 304 21 LinkRefersThis = 305 22 OverCase = 306 23 PhaseError = 307 24 UndefLab = 308 25 $) 18 19 external 20 $( FinishText = "bcpl_cg0$FinishText" 21 22 ApplyMonadicOperator = "bcpl_cg1$ApplyMonadicOperator" 23 ApplyDiadicOperator = "bcpl_cg1$ApplyDiadicOperator" 24 ApplyOffsetOperator = "bcpl_cg1$ApplyOffsetOperator" 25 MonadicJumpcond = "bcpl_cg1$MonadicJumpcond" 26 DiadicJumpcond = "bcpl_cg1$DiadicJumpcond" 27 28 IsNumber = "bcpl_cg2$IsNumber" 29 EvalNumber = "bcpl_cg2$EvalNumber" 30 IsZero = "bcpl_cg2$IsZero" 31 IsAddress = "bcpl_cg2$IsAddress" 32 IsStored = "bcpl_cg2$IsStored" 33 LookupTemp = "bcpl_cg2$LookupTemp" 34 MakeCgTemp = "bcpl_cg2$MakeCgTemp" 35 ClaimRegister = "bcpl_cg2$ClaimRegister" 36 DisclaimRegister = "bcpl_cg2$DisclaimRegister" 37 InRegister = "bcpl_cg2$InRegister" 38 FindInRegister = "bcpl_cg2$FindInRegister" 39 CombineAddress = "bcpl_cg2$CombineAddress" 40 Compjump = "bcpl_cg2$Compjump" 41 Complab = "bcpl_cg2$Complab" 42 DefineLab = "bcpl_cg2$DefineLab" 43 LookupLabel = "bcpl_cg2$LookupLabel" 44 ClearRegisters = "bcpl_cg2$ClearRegisters" 45 ClearMemory = "bcpl_cg2$ClearMemory" 46 AddLiteral = "bcpl_cg2$AddLiteral" 47 OutLiterals = "bcpl_cg2$OutLiterals" 48 Outstring = "bcpl_cg2$Outstring" 49 50 LoadRegister = "bcpl_cg3$LoadRegister" 51 LoadPointer = "bcpl_cg3$LoadPointer" 52 LoadIndex = "bcpl_cg3$LoadIndex" 53 LoadAppropriateRegister = "bcpl_cg3$LoadAppropriateRegister" 54 LoadNumber = "bcpl_cg3$LoadNumber" 55 SetupAddr = "bcpl_cg3$SetupAddr" 56 CompareToZero = "bcpl_cg3$CompareToZero" 57 Makeaddressable = "bcpl_cg3$Makeaddressable" 58 SwapAandQ = "bcpl_cg3$SwapAandQ" 59 Preserve = "bcpl_cg3$Preserve" 60 Store = "bcpl_cg3$Store" 61 StoreRegister = "bcpl_cg3$StoreRegister" 62 GetRegister = "bcpl_cg3$GetRegister" 63 Satisfactory = "bcpl_cg3$Satisfactory" 64 Literal = "bcpl_cg3$Literal" 65 66 NewSSP = "bcpl_cg4$NewSSP" 67 Compentry = "bcpl_cg4$Compentry" 68 Compreturn = "bcpl_cg4$Compreturn" 69 CreateArglist = "bcpl_cg4$CreateArglist" 70 StoreArg = "bcpl_cg4$StoreArg" 71 Compfnap = "bcpl_cg4$Compfnap" 72 CreateSystemArglist = "bcpl_cg4$CreateSystemArglist" 73 StoreSystemArg = "bcpl_cg4$StoreSystemArg" 74 CompSystemCall = "bcpl_cg4$CompSystemCall" 75 ResultBlockBegin = "bcpl_cg4$ResultBlockBegin" 76 ResultSet = "bcpl_cg4$ResultSet" 77 ResultGet = "bcpl_cg4$ResultGet" 78 Compfinish = "bcpl_cg4$Compfinish" 79 Compgoto = "bcpl_cg4$Compgoto" 80 Compstring = "bcpl_cg4$Compstring" 81 Comptable = "bcpl_cg4$Comptable" 82 Compexternal = "bcpl_cg4$Compexternal" 83 84 OutData = "bcpl_cg5$OutData" 85 Outop = "bcpl_cg5$Outop" 86 Outop2 = "bcpl_cg5$Outop2" 87 Outop3 = "bcpl_cg5$Outop3" 88 Outop4 = "bcpl_cg5$Outop4" 89 OutW = "bcpl_cg5$OutW" 90 OutW2 = "bcpl_cg5$OutW2" 91 PutCode = "bcpl_cg5$PutCode" 92 PutAbsBits = "bcpl_cg5$PutAbsBits" 93 SetLineNumber = "bcpl_cg5$SetLineNumber" 94 SectionHeader = "bcpl_cg5$SectionHeader" 95 FormOpcode = "bcpl_cg5$FormOpcode" 96 FormTag = "bcpl_cg5$FormTag" 97 CheckAddr = "bcpl_cg5$CheckAddr" 98 99 Compswitch = "bcpl_cg6$Compswitch" 100 101 WriteGetlp = "bcpl_cg7$WriteGetlp" 102 WriteEntry = "bcpl_cg7$WriteEntry" 103 WriteDefs = "bcpl_cg7$WriteDefs" 104 WriteLinkage = "bcpl_cg7$WriteLinkage" 105 106 WriteSymbol = "bcpl_cg8$WriteSymbol" 107 WriteRelBits = "bcpl_cg8$WriteRelBits" 108 WriteObjectMap = "bcpl_cg8$WriteObjectMap" 109 110 WriteData = "bcpl_cg9$WriteData" 111 WriteInstruction = "bcpl_cg9$WriteInstruction" 112 ListCodeItem = "bcpl_cg9$ListCodeItem" 113 $) 114 global // 300 - 399 are reserved for the code generator. 115 $( AbsRelBits : 300 116 Address : 301 117 ArgCount : 302 118 ArgLen : 303 119 CgTempList : 304 120 CodeFirst : 305 121 CodeP : 306 122 CodeV : 307 123 Comment : 308 124 125 DeferredJumpLabel : 310 126 DefsLength : 311 127 DefsRelbits : 312 128 EntryLabel : 313 129 GetLpLabel : 314 130 IndicatorsSetBy : 315 131 Jumpsw : 316 132 LabMaxArg : 317 133 LabMaxSSP : 318 134 135 LabTable : 320 136 LC : 321 137 LineMapFirst : 322 138 LineMapLength : 323 139 LineMapList : 324 140 LinkageLength : 325 141 LinkageRelbits : 326 142 LinkList : 327 143 Lrand : 328 144 145 MainEntriesList : 330 146 MaxArgOffset : 331 147 MaxSSP : 332 148 NewLiteralsList : 333 149 OldLabel : 334 150 OldLiteralsList : 335 151 Param : 336 152 Rrand : 337 153 RegisterTemps : 338 154 155 RegisterUsage : 340 156 RelbitsFirst : 341 157 RelbitsLength : 342 158 RelbitsList : 343 159 RelbitsOffset : 344 160 Reloc : 345 161 ResultInfo : 346 162 ResultInfoList : 347 163 SaveSpaceSize : 348 164 165 SymbolLength : 350 166 SymbolRelbits : 351 167 StackRefTag : 352 168 SymtabFirst : 353 169 SymtabP : 354 170 SymtabV : 355 171 Tag : 356 172 TextLength : 357 173 TextRelbits : 358 174 175 UsageCounter : 360 176 $) 177 manifest 178 $( CgTempSize = 9 179 CodeSize = 1000 180 LabTableSize = 100 181 SymtabSize = 200 182 $) 183 manifest // Flags for listing. 184 $( CodeSwitch = 1 185 InstructionSwitch = 2 186 DataSwitch = 3 187 LabelSwitch = 4 188 LineCountSwitch = 5 189 SectionSwitch = 6 190 HeaderSwitch = 7 191 $) 192 manifest // Relocation codes. 193 $( RelText = $820 194 RelLink18 = $822 195 RelNegLink18 = $823 196 RelLink15 = $824 197 RelDef = $825 198 RelSymbol = $826 199 RelNegSymbol = $827 200 RelStat18 = $830 201 RelStat15 = $831 202 RelExtendedAbs = $836 // Ten bit count follows this code. 203 $) 204 manifest 205 $( TagXrMask = $817 206 TagPrMask = $8700000000100 207 208 Mod16 = $8777777777760 209 $) 210 211 manifest // Modifiers and tags used in the code generator. 212 $( Ap = $8000000000100 213 Ab = $8100000000100 214 Bp = $8200000000100 215 Bb = $8300000000100 216 Lp = $8400000000100 217 Lb = $8500000000100 218 Sp = $8600000000100 219 Sb = $8700000000100 220 221 Al = $805 222 Au = $801 223 Dl = $807 224 Du = $803 225 Ql = $806 226 Qu = $802 227 228 X0 = $810 229 X1 = $811 230 X2 = $812 231 X3 = $813 232 X4 = $814 233 X5 = $815 234 X6 = $816 235 X7 = $817 236 237 Ft2 = $846 238 Ic = $804 239 Star = $820 240 StarThenReg = $860 241 $) 242 manifest // Internal codes for all machine registers used. 243 $( Ar = 1 244 Qr = 2 245 246 Xr0 = 3 247 Xr1 = 4 248 Xr2 = 5 249 Xr3 = 6 250 Xr4 = 7 251 Xr5 = 8 252 Xr6 = 9 253 Xr7 = 10 254 255 Apr = 11 256 Abr = 12 257 Bpr = 13 258 Bbr = 14 259 Lpr = 15 260 Lbr = 16 261 Spr = 17 262 Sbr = 18 263 264 EAQr = 19 265 266 NumberOfRegisters = 20 267 268 AorQr = 22 269 AnyPr = 23 270 AnyXr = 24 271 $) 13 get "bcpl_opcodes" 1 // Definitions for 645 and 6180 machine instructions. See FormOpcode. 2 // Last modified on 07/20/73 at 23:35:00 by R F Mabee. 3 // 6180 instructions added and installed as Version 3.4 by R F Mabee. 4 // First installed as Version 2.7 by R F Mabee 5 6 // Copyright (c) 1973 by the author, Robert F. Mabee. 7 // This file may only be reproduced or modified with explicit written 8 // permission of the author. Permission is hereby extended to those 9 // persons responsible for operating the Multics system to make such 10 // copies as are normally required to ensure the integrity of the Multics 11 // file system. Permission is also hereby extended to those persons 12 // responsible for maintaining the Multics program libraries to make such 13 // copies as are normally required for online installations. 14 15 manifest // Note: low order bit of ten bit opcode is here represented by high order bit, 16 $( // so remaining bits will retain proper representation as octal numbers. 17 Abd = $81503 18 Ada = $80075 19 Adlx1 = $80021 20 Als = $80735 21 Ana = $80375 22 Ansa = $80355 23 Anx0 = $80360 24 Aos = $80054 25 Arl = $80771 26 Asa = $80055 27 Cmpa = $80115 28 Div = $80506 29 Dvf = $80507 30 Eabap = $80310 31 Eablb = $80331 32 Eablp = $80330 33 Eapab = $81351 34 Eapap = $80350 35 Eapbp = $80352 36 Eaplb = $81371 37 Eaplp = $80370 38 Eax0 = $80620 39 Eax1 = $80621 40 Eax7 = $80627 41 Epaq = $80213 42 Era = $80675 43 Ersa = $80655 44 Fad = $80475 45 Fcmp = $80515 46 Fdi = $80525 47 Fdv = $80565 48 Fld = $80431 49 Fmp = $80461 50 Fneg = $80513 51 Fsb = $80575 52 Fstr = $80470 53 Fszn = $80430 54 Lca = $80335 55 Lda = $80235 56 Ldaq = $80237 57 Ldx7 = $80227 58 Llr = $80777 59 Lprpap = $80760 60 Lprpbp = $80762 61 Lprplp = $80764 62 Lrl = $80773 63 Lxl0 = $80720 64 Lxl1 = $80721 65 Mpy = $80402 66 Neg = $80531 67 Negl = $80533 68 Ora = $80275 69 Orsa = $80255 70 Sba = $80175 71 Sblx1 = $80121 72 Sprpap = $80540 73 Sprpbp = $80542 74 Sprplp = $80544 75 Sreg = $80753 76 Ssa = $80155 77 Sta = $80755 78 Staq = $80757 79 Stb = $80254 80 Stc1 = $80554 81 Stcd = $80357 82 Stpab = $81251 83 Stpap = $80250 84 Stpbp = $80252 85 Stplb = $81651 86 Stplp = $80650 87 Stx0 = $80740 88 Stz = $80450 89 Sxl0 = $80440 90 Sxl1 = $80441 91 Szn = $80234 92 Tmi = $80604 93 Tmoz = $81604 94 Tnz = $80601 95 Tpl = $80605 96 Tpnz = $81605 97 Tra = $80710 98 Trc = $80603 99 Tsbap = $80270 100 Tsbbp = $80272 101 Tsblp = $80670 102 Tsx0 = $80700 103 Tze = $80600 104 $) 14 15 global 16 $( NamesList : 398 17 DefsList : 399 18 $) 19 20 manifest 21 $( NewFlag = 1 lshift 17 22 IgnoreFlag = 1 lshift 16 23 EntryFlag = 1 lshift 15 24 ClassMask = $8777 25 $) 26 27 28 let WriteGetlp () be 29 $( SectionHeader ("*nLocal subroutine to find linkage section by looking in LOT") 30 Complab (GetLpLabel) 31 Outop3 (Stcd, 18, Sp | Star) 32 Outop3 (Ldx7, 18, Sp | Star) 33 Outop3 (Lda, 22, Sb | StarThenReg | X7) 34 Outop3 (Eablb, 0, Au) 35 Outop3 (Eablp, 0, Al) 36 Outop3 (Tra, 0, X0) 37 $) 38 and WriteEntry () be 39 $( SectionHeader ("*nLocal subroutine to help enter BCPL environment") 40 Complab (EntryLabel) 41 Outop4 (Eax7, 2048, 0, "Multics save sequence") 42 Outop3 (Tsbbp, 32, Sb | Star) 43 Outop3 (Eax1, 400, Machine = 6180 -> Sp, 0) 44 Outop3 (Stplp, 24, Sp) // Operator pointer. 45 Outop3 (Eapap, Machine = 6180 -> -3, -2, X0) // Def ptr. 46 Outop3 (Stpap, 22, Sp) // Entry pointer. 47 Outop4 (Tsbbp, 0, X0, "simulate standard BCPL call") 48 OutData (0) 49 Compfinish () 50 $) 51 52 // This routine generates the entire definition section. LC must be zero at entry. 53 54 let WriteDefs (EntriesList) be 55 $( let v, w = vec Vmax, vec Vmax 56 SectionHeader ("*fDefinition section part one - external entry points") 57 let ZeroWordLab = Nextparam () 58 NamesList, DefsList := 0, List4 (0, ZeroWordLab lshift Left | NewFlag | 3, ProgramName, Nextparam ()) 59 60 // Insert each entry point in the appropriate place in DefsList. 61 let p = EntriesList 62 until p = 0 do 63 $( Split (p!1, v, w) 64 let L = p!2 65 if Listing do 66 $( Format (OUTPUT, "*tequ*t^s,L^d*n", p!1, L) 67 Format (OUTPUT, "*tsegdef*t^s*n", p!1) 68 $) 69 let q, DefLabel = MainEntriesList, 0 70 until q = 0 do // Determine whether this definition is referenced from text. 71 $( if q!0 = L do q!0, DefLabel := 0, q!1 72 q := q!3 73 $) 74 AddDefinition (L lshift Left | NewFlag | EntryFlag | 0, StoreString (w), DefLabel, v) 75 p := p!0 76 $) 77 78 // Insert the symbol_table definition required by certain system tools. 79 AddDefinition (0 lshift Left | NewFlag | 2, "symbol_table", 0, ProgramName) 80 81 // If there are any names in MainEntriesList which were not in EntriesList, add dummy definitions for them. 82 let q = MainEntriesList 83 until q = 0 do 84 $( if q!0 ne 0 do AddDefinition (q!0 lshift Left | NewFlag | EntryFlag | IgnoreFlag | 0, q!2, q!1, ProgramName) 85 q := q!3 86 $) 87 88 // Put out definitions header. 89 Param, Reloc := DefsList!3, RelDef lshift Left 90 OutW2 (0, "pointer to first definition") 91 OutW2 (NewFlag | IgnoreFlag, "flags: new format, ignore header") 92 let ZeroWord = LC 93 DefineLab (ZeroWordLab, ZeroWord) 94 OutW2 (0, "list terminator*n") 95 96 // Put out all the names belonging to definitions. 97 p := DefsList 98 until p = 0 do 99 $( p!3 := p!3 | GetName (p!2) lshift Left 100 p := p!0 101 $) 102 103 // Put out the definitions. 104 let PreviousDef, NextDef, SegnameDef = ZeroWord, LC, nil 105 and RelCodesTable = table RelText lshift Left, RelLink18 lshift Left, RelSymbol lshift Left, RelDef lshift Left 106 p := DefsList 107 until p = 0 do 108 $( let ThisDef = NextDef 109 unless ThisDef = LC do CGreport (PhaseError, "WriteDefs") 110 NextDef := p!0 = 0 -> ZeroWord, ThisDef + 3 111 let DefLabel, Class = p!3 & Right, p!1 & ClassMask 112 and SegnameInfo, SegnameComment = nil, nil 113 test Class = 3 // I.e., this is a segname definition. 114 then $( Concatenate (v, Vmax, "*nSegname definition for ", p!2) 115 SegnameDef := ThisDef 116 SegnameInfo, SegnameComment := NextDef, "name pointer, first entry def" 117 $) 118 or $( Concatenate (v, Vmax, "*nDefinition for ", p!2) 119 SegnameInfo, SegnameComment := SegnameDef, "name pointer, segname def pointer" 120 $) 121 SectionHeader (StoreString (v)) 122 if DefLabel ne 0 do DefineLab (DefLabel, ThisDef) 123 Reloc := RelDef lshift Left | RelDef 124 OutW2 (NextDef lshift Left | PreviousDef, "forward, backward threads") 125 Param, Reloc := p!1 rshift Left, RelCodesTable!Class 126 OutW2 (p!1 & Right, "value defined, class flags") 127 Reloc := RelDef lshift Left | RelDef 128 OutW2 ((p!3 & not Right) | SegnameInfo, SegnameComment) 129 PreviousDef := ThisDef 130 p := p!0 131 $) 132 133 // Put out link info. 134 SectionHeader ("*fDefinition section part two - symbolic info for external references") 135 p := LinkList 136 until p = 0 do 137 $( Split (p!1, v, w) 138 if EqualString (v, ProgramName) do CGreport (LinkRefersThis, p!1) 139 let x, y, z, r = GetName (StoreString (v)), 0, 3, 0 140 unless Length (w) = 0 do y, z, r := GetName (StoreString (w)), 4, RelDef 141 Reloc := RelDef lshift Left 142 p!3 := LC 143 OutW (LC + 1 lshift Left) 144 OutW (z lshift Left) 145 Reloc := RelDef lshift Left logor r 146 OutW (x lshift Left logor y) 147 p := p!0 148 $) 149 $) 150 151 and Split (s, v, w) be 152 $( let t, u = vec Vmax, vec Vmax 153 RemoveEscapes (s, t) 154 Unpackstring (t, u) 155 for i = 1 to u!0 if u!i = '$' do 156 $( let j = u!0 - i // Found '$' - separate parts before and after. 157 for k = 1 to j do t!k := u!(i + k) 158 u!0, t!0 := i - 1, j 159 Packstring (u, v) 160 Packstring (t, w) 161 return 162 $) 163 Packstring (u, v) // No '$' - both parts equal to whole. 164 Packstring (u, w) 165 $) 166 and GetName (s) = valof 167 $( let p = NamesList 168 until p = 0 do 169 $( if EqualString (p!0, s) resultis p!1 170 p := p!2 171 $) 172 NamesList := List3 (s, LC, NamesList) 173 let w = vec Vmax + 4 174 Concatenate (w, Vmax, "*"", s, "*"") 175 Comment := StoreString (w) 176 Unpackstring (s, w) 177 let Len = w!0 178 w!(Len + 1), w!(Len + 2), w!(Len + 3) := 0, 0, 0 179 // An ACC string has the length in the first nine bits. 180 for i = 0 to Len by 4 do OutW (w!i lshift 27 | w!(i + 1) lshift 18 | w!(i + 2) lshift 9 | w!(i + 3)) 181 resultis NamesList!1 182 $) 183 and AddDefinition (ValueLabel, Name, DefLabel, Segname) be 184 $( let New = Newvec (3) 185 New!1, New!2, New!3 := ValueLabel, Name, DefLabel 186 let Dp = DefsList // Try to find segname block where this def belongs. 187 until Dp = 0 do 188 $( if (Dp!1 & ClassMask) = 3 then if EqualString (Dp!2, Segname) do 189 $( $( let q = Dp!0 // Find end of block. 190 if q = 0 break 191 if (q!1 & ClassMask) = 3 break 192 Dp := q 193 $) repeat 194 goto GotSegname 195 $) 196 Dp := Dp!0 197 $) 198 199 // No match for Segname, must create a new segname definition. 200 Dp := Newvec (3) 201 Dp!0, Dp!1, Dp!2, Dp!3 := DefsList, DefsList!3 lshift Left | NewFlag | 3, StoreString (Segname), Nextparam () 202 DefsList := Dp 203 GotSegname: 204 New!0 := Dp!0 205 Dp!0 := New 206 $) 207 208 // This routine generates the entire linkage section. LC must be zero at entry. 209 210 let WriteLinkage (StaticList) be 211 $( SectionHeader ("*fLinkage section - static variables and external links") 212 213 // Calculate lengths of the various components of the linkage section. 214 215 let HeaderLength, StaticLength, LinksLength = 8, 0, 0 216 and t = StaticList 217 until t = 0 do t, StaticLength := t!0, StaticLength + 1 218 t := LinkList 219 until t = 0 do t, LinksLength := t!0, LinksLength + 2 220 unless LinksLength = 0 do StaticLength := StaticLength + 1 & Even // Links must start at evan address. 221 let TotalLength = HeaderLength + StaticLength + LinksLength 222 223 // Put out the linkage header. 224 OutW2 (0, "linkage header") 225 Reloc := RelText lshift Left 226 OutW2 ((TextLength + 1 & Even) lshift Left, "address of defs") 227 for i = 1 to 4 do OutW (0) 228 Reloc := RelLink18 lshift Left 229 OutW2 ((HeaderLength + StaticLength) lshift Left | TotalLength, "offset to links, total length") 230 OutW2 (TotalLength, "obsolete length") // Still required by lot_maintainer in August 1973. 231 232 if StaticList ne 0 do 233 $( SectionHeader ("*nStatic variables") 234 if Listing do 235 $( WriteS ("*tuse*tlinkc*n") 236 WriteS ("*tjoin*t/link/linkc*n") 237 $) 238 t := StaticList 239 until t = 0 do 240 $( unless LC = t!1 + HeaderLength do CGreport (PhaseError, "WriteLinkage") 241 Comment := t!2 242 OutData (EvalNumber (t!3, t!4)) 243 t := t!0 244 $) 245 $) 246 247 if LinkList ne 0 do 248 $( unless (LC & 1) = 0 do OutW (0) // Force even alignment for links. 249 SectionHeader ("*nExternal link pairs") 250 t := LinkList 251 until t = 0 do 252 $( DefineLab (t!2, LC) 253 PutCode (LabelSwitch, t!2, LC) 254 Comment := t!1 255 Reloc := RelNegLink18 lshift Left 256 OutW (-LC lshift Left logor Ft2) 257 Reloc := RelDef lshift Left 258 OutW (t!3 lshift Left) 259 if Listing do 260 $( let v, w = vec Vmax, vec Vmax 261 Split (t!1, v, w) 262 Format (OUTPUT, "*tlink*tL^d,<^s>|", t!2, v) 263 test Length (w) = 0 264 then WriteS (OUTPUT, "0*n") 265 or Format (OUTPUT, "[^s]*n", w) 266 $) 267 t := t!0 268 $) 269 $) 270 271 unless LC = TotalLength do CGreport (PhaseError, "WriteLinkage") 272 $) CAE time 8.2, 117 source lines per second. cross reference table Ab bcpl_cg_head: 213 Abd bcpl_opcodes: 17 Abr bcpl_cg_head: 256 AbsRelBits bcpl_cg_head: 115 Ada bcpl_opcodes: 18 AddDefinition bcpl_cg7: 74, 79, 84, 183 AddLiteral bcpl_cg_head: 46 Address bcpl_cg_head: 116 Adlx1 bcpl_opcodes: 19 Al bcpl_cg_head: 221, bcpl_cg7: 35 Als bcpl_opcodes: 20 Ana bcpl_opcodes: 21 AND_S bcpl_symbols: 17 Ansa bcpl_opcodes: 22 Anx0 bcpl_opcodes: 23 AnyPr bcpl_cg_head: 269 AnyXr bcpl_cg_head: 270 AorQr bcpl_cg_head: 268 Aos bcpl_opcodes: 24 Ap bcpl_cg_head: 212 ApplyDiadicOperator bcpl_cg_head: 23 ApplyMonadicOperator bcpl_cg_head: 22 ApplyOffsetOperator bcpl_cg_head: 24 Apr bcpl_cg_head: 255 Ar bcpl_cg_head: 243 ArgCount bcpl_cg_head: 117 ArgLen bcpl_cg_head: 118 Arl bcpl_opcodes: 25 Asa bcpl_opcodes: 26 ASSIGN_S bcpl_symbols: 18 Au bcpl_cg_head: 222, bcpl_cg7: 34 BadAddress bcpl_cg_codes: 16 BadLabel bcpl_cg_codes: 17 BadRegOpPair bcpl_cg_codes: 18 Bb bcpl_cg_head: 215 Bbr bcpl_cg_head: 258 BE_S bcpl_symbols: 19 BIT_S bcpl_symbols: 20 Bp bcpl_cg_head: 214 Bpr bcpl_cg_head: 257 BREAK_S bcpl_symbols: 21 BuildObject bcpl_compiler_head: 72 BY_S bcpl_symbols: 22 CAE bcpl_compiler_head: 64 CaeReport bcpl_compiler_head: 49 CALL_S bcpl_symbols: 23 CASE_S bcpl_symbols: 24 CgInit bcpl_compiler_head: 71 CGreport bcpl_compiler_head: 51, bcpl_cg7: 109, 138, 240, 271 CgTempList bcpl_cg_head: 119 CgTempSize bcpl_cg_head: 178 Ch bcpl_compiler_head: 92 CHARCONST_S bcpl_symbols: 27 CHAR_S bcpl_symbols: 26 CheckAddr bcpl_cg_head: 97 ClaimRegister bcpl_cg_head: 35 Class bcpl_cg7: 111, 113, 125 ClassMask bcpl_cg7: 24, 111, 188, 191 Cleanup bcpl_compiler_head: 61 ClearMemory bcpl_cg_head: 45 ClearRegisters bcpl_cg_head: 44 Cmpa bcpl_opcodes: 27 CodeFirst bcpl_cg_head: 120 CodeP bcpl_cg_head: 121 CodeSize bcpl_cg_head: 179 CodeSwitch bcpl_cg_head: 184 CodeV bcpl_cg_head: 122 COLON_S bcpl_symbols: 28 Column bcpl_compiler_head: 128 CombineAddress bcpl_cg_head: 39 COMMA_S bcpl_symbols: 29 Comment bcpl_cg_head: 123, bcpl_cg7: 175, 241, 254 CompareStrings bcpl_compiler_head: 25 CompareToZero bcpl_cg_head: 56 Compentry bcpl_cg_head: 67 Compexternal bcpl_cg_head: 82 Compfinish bcpl_cg_head: 78, bcpl_cg7: 49 Compfnap bcpl_cg_head: 71 Compgoto bcpl_cg_head: 79 CompilerDTM bcpl_compiler_head: 112 CompilerDTMString bcpl_compiler_head: 111 CompilerVersionNumber bcpl_compiler_head: 110 CompilerVersionString bcpl_compiler_head: 109 Compjump bcpl_cg_head: 40 Complab bcpl_cg_head: 41, bcpl_cg7: 30, 40 Compreturn bcpl_cg_head: 68 Compstring bcpl_cg_head: 80 Compswitch bcpl_cg_head: 99 CompSystemCall bcpl_cg_head: 74 Comptable bcpl_cg_head: 81 Concatenate bcpl_compiler_head: 26, bcpl_cg7: 114, 118, 174 COND_S bcpl_symbols: 30 CONSTANT_S bcpl_symbols: 31 CONSTDEF_S bcpl_symbols: 32 ConvertNtoS bcpl_compiler_head: 28 ConvertStoN bcpl_compiler_head: 27 CreateArglist bcpl_cg_head: 69 CreateSystemArglist bcpl_cg_head: 72 Crep bcpl_compiler_head: 98 DataSwitch bcpl_cg_head: 186 DEFAULT_S bcpl_symbols: 33 DeferredJumpLabel bcpl_cg_head: 125 DefineLab bcpl_cg_head: 42, bcpl_cg7: 93, 122, 252 DefLabel bcpl_cg7: 69, 71, 74, 111, 122, 122, 183, 185 DefsLength bcpl_cg_head: 126 DefsList bcpl_cg7: 17, 58, 89, 97, 106, 186, 201, 201, 202 DefsRelbits bcpl_cg_head: 127 DiadicJumpcond bcpl_cg_head: 26 DictionaryEntry bcpl_compiler_head: 127 DisclaimRegister bcpl_cg_head: 36 Div bcpl_opcodes: 28 DIV_F bcpl_symbols: 34 DIV_S bcpl_symbols: 36 Dl bcpl_cg_head: 223 DOUBLE_S bcpl_symbols: 38 DO_S bcpl_symbols: 37 Dp bcpl_cg7: 186, 187, 188, 188, 189, 192, 196, 196, 200, 201, 201, 201, 201, 202, 204, 205 Du bcpl_cg_head: 224 DupCase bcpl_cg_codes: 19 DupLabel bcpl_cg_codes: 20 Dvf bcpl_opcodes: 29 Eabap bcpl_opcodes: 30 Eablb bcpl_opcodes: 31, bcpl_cg7: 34 Eablp bcpl_opcodes: 32, bcpl_cg7: 35 Eapab bcpl_opcodes: 33 Eapap bcpl_opcodes: 34, bcpl_cg7: 45 Eapbp bcpl_opcodes: 35 Eaplb bcpl_opcodes: 36 Eaplp bcpl_opcodes: 37 EAQr bcpl_cg_head: 264 Eax0 bcpl_opcodes: 38 Eax1 bcpl_opcodes: 39, bcpl_cg7: 43 Eax7 bcpl_opcodes: 40, bcpl_cg7: 41 ENDCASE_S bcpl_symbols: 39 Endofstreamch bcpl_compiler_head: 135 ENDPROG_S bcpl_symbols: 40 EnterIntoCrossreference bcpl_compiler_head: 57 EntriesList bcpl_cg7: 54, 61 EntryFlag bcpl_cg7: 23, 74, 84 EntryLabel bcpl_cg_head: 128, bcpl_cg7: 40 Epaq bcpl_opcodes: 41 EqualString bcpl_compiler_head: 24, bcpl_cg7: 138, 169, 188 EQV_S bcpl_symbols: 44 EQ_F bcpl_symbols: 42 EQ_S bcpl_symbols: 43 Era bcpl_opcodes: 42 Errorsw bcpl_compiler_head: 124 ERROR_S bcpl_symbols: 41 Ersa bcpl_opcodes: 43 EvalNumber bcpl_cg_head: 29, bcpl_cg7: 242 Even bcpl_compiler_head: 136, bcpl_cg7: 220, 226 EXTERNAL_S bcpl_symbols: 46 Fad bcpl_opcodes: 44 FALSE_S bcpl_symbols: 47 Fcmp bcpl_opcodes: 45 Fdi bcpl_opcodes: 46 Fdv bcpl_opcodes: 47 FileCount bcpl_compiler_head: 118 FileNames bcpl_compiler_head: 116 FileShift bcpl_compiler_head: 138 FilesInfo bcpl_compiler_head: 117 FindInRegister bcpl_cg_head: 38 FindPrintName bcpl_compiler_head: 56 FinishText bcpl_cg_head: 20 FINISH_S bcpl_symbols: 48 FIXED_S bcpl_symbols: 49 Fld bcpl_opcodes: 48 FLOAT_S bcpl_symbols: 50 Fmp bcpl_opcodes: 49 FNAP_S bcpl_symbols: 51 FNDEF_S bcpl_symbols: 52 Fneg bcpl_opcodes: 50 Format bcpl_compiler_head: 20, bcpl_cg7: 66, 67, 262, 265 FormCharconst bcpl_compiler_head: 46 FormOpcode bcpl_cg_head: 95 FormStringconst bcpl_compiler_head: 47 FormTag bcpl_cg_head: 96 FOR_S bcpl_symbols: 53 Freevec bcpl_compiler_head: 34 Fsb bcpl_opcodes: 51 Fstr bcpl_opcodes: 52 Fszn bcpl_opcodes: 53 Ft2 bcpl_cg_head: 237, bcpl_cg7: 256 GetLpLabel bcpl_cg_head: 129, bcpl_cg7: 30 GetName bcpl_cg7: 99, 139, 140, 166 GetRegister bcpl_cg_head: 62 GetStream bcpl_compiler_head: 62 GetVersion bcpl_compiler_head: 59 GET_S bcpl_symbols: 57 GE_F bcpl_symbols: 54 GE_S bcpl_symbols: 56 GlobalTemp bcpl_compiler_head: 131 GLOBAL_S bcpl_symbols: 58 GOTO_S bcpl_symbols: 59 GotSegname bcpl_cg7: 194, 203 GR_F bcpl_symbols: 60 GR_S bcpl_symbols: 61 HaveListingFile bcpl_compiler_head: 105 HeaderLength bcpl_cg7: 215, 221, 229, 240 HeaderSwitch bcpl_cg_head: 190 i bcpl_cg7: 155, 155, 156, 157, 158, 180, 180, 180, 180, 180, 227 Ic bcpl_cg_head: 238 IFNOT_S bcpl_symbols: 63 IFSO_S bcpl_symbols: 64 IF_S bcpl_symbols: 62 IgnoreFlag bcpl_cg7: 22, 84, 91 IndicatorsSetBy bcpl_cg_head: 130 INPUT bcpl_compiler_head: 90 InRegister bcpl_cg_head: 37 InstructionSwitch bcpl_cg_head: 185 INTO_S bcpl_symbols: 66 IsAddress bcpl_cg_head: 31 IsNumber bcpl_cg_head: 28 IsStored bcpl_cg_head: 32 IsZero bcpl_cg_head: 30 j bcpl_cg7: 156, 157, 158 Jumpsw bcpl_cg_head: 131 k bcpl_cg7: 157, 157, 157 L bcpl_cg7: 64, 66, 71, 74 LABDEF_S bcpl_symbols: 67 LabelSwitch bcpl_cg_head: 187, bcpl_cg7: 253 LABEL_S bcpl_symbols: 68 LabMaxArg bcpl_cg_head: 132 LabMaxSSP bcpl_cg_head: 133 LabTable bcpl_cg_head: 135 LabTableSize bcpl_cg_head: 180 Lb bcpl_cg_head: 217 Lbr bcpl_cg_head: 260 LC bcpl_cg_head: 136, bcpl_cg7: 92, 104, 109, 142, 143, 172, 240, 248, 252, 253, 256, 271 Lca bcpl_opcodes: 54 Lda bcpl_opcodes: 55, bcpl_cg7: 33 Ldaq bcpl_opcodes: 56 Ldx7 bcpl_opcodes: 57, bcpl_cg7: 32 Left bcpl_compiler_head: 134, bcpl_cg7: 58, 74, 79, 84, 89, 99, 105, 105, 105, 105, 123, 124, 125, 127, 141, 143, 144, 145, 146, 201, 225, 226, 228, 229, 255, 256, 257, 258 Len bcpl_cg7: 177, 178, 178, 178, 180 Length bcpl_compiler_head: 29, bcpl_cg7: 140, 263 LengthInWords bcpl_compiler_head: 30 LENGTH_S bcpl_symbols: 71 LET_S bcpl_symbols: 72 LexInit bcpl_compiler_head: 65 LE_F bcpl_symbols: 69 LE_S bcpl_symbols: 70 LineCount bcpl_compiler_head: 123 LineCountSwitch bcpl_cg_head: 188 LineMap bcpl_compiler_head: 100 LineMapFirst bcpl_cg_head: 137 LineMapLength bcpl_cg_head: 138 LineMapList bcpl_cg_head: 139 LineMask bcpl_compiler_head: 138 LinkageLength bcpl_cg_head: 140 LinkageRelbits bcpl_cg_head: 141 LinkList bcpl_cg_head: 142, bcpl_cg7: 135, 218, 247, 250 LinkRefersThis bcpl_cg_codes: 21, bcpl_cg7: 138 LinksLength bcpl_cg7: 215, 219, 219, 220, 221 List1 bcpl_compiler_head: 35 List2 bcpl_compiler_head: 36 List3 bcpl_compiler_head: 37, bcpl_cg7: 172 List4 bcpl_compiler_head: 38, bcpl_cg7: 58 List5 bcpl_compiler_head: 39 List6 bcpl_compiler_head: 40 ListCodeItem bcpl_cg_head: 112 Listing bcpl_compiler_head: 95, bcpl_cg7: 65, 234, 259 LIST_S bcpl_symbols: 73 Literal bcpl_cg_head: 64 Llr bcpl_opcodes: 58 LoadAppropriateRegister bcpl_cg_head: 53 LoadIndex bcpl_cg_head: 52 LoadNumber bcpl_cg_head: 54 LoadPointer bcpl_cg_head: 51 LoadRegister bcpl_cg_head: 50 LOCAL_S bcpl_symbols: 74 LOGAND_S bcpl_symbols: 76 LOGOR_S bcpl_symbols: 77 LookupLabel bcpl_cg_head: 43 LookupTemp bcpl_cg_head: 33 LOOP_S bcpl_symbols: 78 Lp bcpl_cg_head: 216 Lpr bcpl_cg_head: 259 Lprpap bcpl_opcodes: 59 Lprpbp bcpl_opcodes: 60 Lprplp bcpl_opcodes: 61 Lrand bcpl_cg_head: 143 Lrl bcpl_opcodes: 62 LSHIFT_S bcpl_symbols: 81 LS_F bcpl_symbols: 79 LS_S bcpl_symbols: 80 LVECAP_S bcpl_symbols: 83 LV_ARG_OUT bcpl_symbols: 84 LV_FNAP_RESULT bcpl_symbols: 86 LV_GLOBAL bcpl_symbols: 87 LV_LOCAL bcpl_symbols: 88 LV_S bcpl_symbols: 82 LV_STATIC bcpl_symbols: 89 LV_TEMP bcpl_symbols: 90 Lxl0 bcpl_opcodes: 63 Lxl1 bcpl_opcodes: 64 Machine bcpl_compiler_head: 102, bcpl_cg7: 43, 45 MainEntriesList bcpl_cg_head: 145, bcpl_cg7: 69, 82 MAIN_S bcpl_symbols: 91 Makeaddressable bcpl_cg_head: 57 MakeCgTemp bcpl_cg_head: 34 MakeTimeString bcpl_compiler_head: 44 MANIFEST_S bcpl_symbols: 92 MaxArgOffset bcpl_cg_head: 146 MaxSSP bcpl_cg_head: 147 MINUS_F bcpl_symbols: 93 MINUS_S bcpl_symbols: 94 Mod16 bcpl_cg_head: 208 MonadicJumpcond bcpl_cg_head: 25 MONITOR bcpl_compiler_head: 91 Mpy bcpl_opcodes: 65 MULT_F bcpl_symbols: 96 MULT_S bcpl_symbols: 97 Name bcpl_cg7: 183, 185 NAMECHAIN bcpl_compiler_head: 125 NamesList bcpl_cg7: 16, 58, 167, 172, 172, 181 NAME_S bcpl_symbols: 98 Neg bcpl_opcodes: 66 Negl bcpl_opcodes: 67 NEG_F bcpl_symbols: 99 NEG_S bcpl_symbols: 100 NEQV_S bcpl_symbols: 101 New bcpl_cg7: 184, 185, 185, 185, 204, 205 NewFlag bcpl_cg7: 21, 58, 74, 79, 84, 91, 201 NewLiteralsList bcpl_cg_head: 148 NewSSP bcpl_cg_head: 66 Newvec bcpl_compiler_head: 33, bcpl_cg7: 184, 200 NextDef bcpl_cg7: 104, 108, 110, 116, 124 Nextparam bcpl_compiler_head: 45, bcpl_cg7: 57, 58, 201 Nextsymb bcpl_compiler_head: 53 NE_F bcpl_symbols: 102 NE_S bcpl_symbols: 103 NIL_S bcpl_symbols: 104 NOT_S bcpl_symbols: 106 NumberOfRegisters bcpl_cg_head: 266 NUMBER_S bcpl_symbols: 107 OcodeSw bcpl_compiler_head: 104 OFFSET_S bcpl_symbols: 108 OldLabel bcpl_cg_head: 149 OldLiteralsList bcpl_cg_head: 150 Optimize bcpl_compiler_head: 101 OptionString bcpl_compiler_head: 115 Ora bcpl_opcodes: 68 Orsa bcpl_opcodes: 69 OR_S bcpl_symbols: 109 OutData bcpl_cg_head: 84, bcpl_cg7: 48, 242 OutLiterals bcpl_cg_head: 47 Outop bcpl_cg_head: 85 Outop2 bcpl_cg_head: 86 Outop3 bcpl_cg_head: 87, bcpl_cg7: 31, 32, 33, 34, 35, 36, 42, 43, 44, 45, 46 Outop4 bcpl_cg_head: 88, bcpl_cg7: 41, 47 OUTPUT bcpl_compiler_head: 89, bcpl_cg7: 66, 67, 262, 264, 265 Outstring bcpl_cg_head: 48 OutW bcpl_cg_head: 89, bcpl_cg7: 143, 144, 146, 180, 227, 248, 256, 258 OutW2 bcpl_cg_head: 90, bcpl_cg7: 90, 91, 94, 124, 126, 128, 224, 226, 229, 230 OverCase bcpl_cg_codes: 22 p bcpl_cg7: 61, 62, 63, 64, 66, 67, 75, 75, 97, 98, 99, 99, 99, 100, 100, 106, 107, 110, 111, 111, 114, 118, 125, 126, 128, 130, 130, 135, 136, 137, 138, 142, 147, 147, 167, 168, 169, 169, 170, 170 Packstring bcpl_compiler_head: 21, bcpl_cg7: 159, 160, 163, 164 Param bcpl_cg_head: 151, bcpl_cg7: 89, 125 PhaseError bcpl_cg_codes: 23, bcpl_cg7: 109, 240, 271 Plist bcpl_compiler_head: 68 PLUS_F bcpl_symbols: 110 PLUS_S bcpl_symbols: 111 Pname bcpl_compiler_head: 67 POINTER_S bcpl_symbols: 112 PopInput bcpl_compiler_head: 43 POS_F bcpl_symbols: 113 POS_S bcpl_symbols: 114 PPrep bcpl_compiler_head: 97 Preserve bcpl_cg_head: 59 PreviousDef bcpl_cg7: 104, 124, 129 ProgramName bcpl_compiler_head: 119, bcpl_cg7: 58, 79, 84, 138 PushInput bcpl_compiler_head: 42 PutAbsBits bcpl_cg_head: 92 PutCode bcpl_cg_head: 91, bcpl_cg7: 253 q bcpl_cg7: 69, 70, 71, 71, 71, 72, 72, 82, 83, 84, 84, 84, 84, 85, 85, 189, 190, 191, 192 Ql bcpl_cg_head: 225 Qr bcpl_cg_head: 244 Qu bcpl_cg_head: 226 QuietSw bcpl_compiler_head: 106 r bcpl_cg7: 139, 140, 145 RandomI bcpl_compiler_head: 31 RBRA_S bcpl_symbols: 116 Readch bcpl_compiler_head: 16 RegisterTemps bcpl_cg_head: 153 RegisterUsage bcpl_cg_head: 155 REGISTER_S bcpl_symbols: 117 RelbitsFirst bcpl_cg_head: 156 RelbitsLength bcpl_cg_head: 157 RelbitsList bcpl_cg_head: 158 RelbitsOffset bcpl_cg_head: 159 RelCodesTable bcpl_cg7: 105, 125 RelDef bcpl_cg_head: 197, bcpl_cg7: 89, 105, 123, 123, 127, 127, 140, 141, 145, 257 RelExtendedAbs bcpl_cg_head: 202 RelLink15 bcpl_cg_head: 196 RelLink18 bcpl_cg_head: 194, bcpl_cg7: 105, 228 RelNegLink18 bcpl_cg_head: 195, bcpl_cg7: 255 RelNegSymbol bcpl_cg_head: 199 Reloc bcpl_cg_head: 160, bcpl_cg7: 89, 123, 125, 127, 141, 145, 225, 228, 255, 257 RelStat15 bcpl_cg_head: 201 RelStat18 bcpl_cg_head: 200 RelSymbol bcpl_cg_head: 198, bcpl_cg7: 105 RelText bcpl_cg_head: 193, bcpl_cg7: 105, 225 REL_S bcpl_symbols: 118 RemoveEscapes bcpl_compiler_head: 23, bcpl_cg7: 153 REM_S bcpl_symbols: 119 REPEATUNTIL_S bcpl_symbols: 122 REPEATWHILE_S bcpl_symbols: 123 REPEAT_S bcpl_symbols: 121 REP_S bcpl_symbols: 120 ResultBlockBegin bcpl_cg_head: 75 ResultGet bcpl_cg_head: 77 ResultInfo bcpl_cg_head: 161 ResultInfoList bcpl_cg_head: 162 RESULTIS_S bcpl_symbols: 124 ResultSet bcpl_cg_head: 76 RETURN_S bcpl_symbols: 126 Right bcpl_compiler_head: 134, bcpl_cg7: 111, 126, 128 RKET_S bcpl_symbols: 127 Rrand bcpl_cg_head: 152 RSHIFT_S bcpl_symbols: 128 RTAP_S bcpl_symbols: 129 RTDEF_S bcpl_symbols: 130 RV_S bcpl_symbols: 131 s bcpl_cg7: 151, 153, 166, 169, 172, 174, 176 Satisfactory bcpl_cg_head: 63 SaveSpaceSize bcpl_cg_head: 163 Sb bcpl_cg_head: 219, bcpl_cg7: 33, 42 Sba bcpl_opcodes: 70 Sblx1 bcpl_opcodes: 71 Sbr bcpl_cg_head: 262 SBRA_S bcpl_symbols: 132 SECTBEGIN_S bcpl_symbols: 133 SECTBRA_S bcpl_symbols: 134 SECTEND_S bcpl_symbols: 136 SectionHeader bcpl_cg_head: 94, bcpl_cg7: 29, 39, 56, 121, 134, 211, 233, 249 SectionSwitch bcpl_cg_head: 189 SECTKET_S bcpl_symbols: 137 Segname bcpl_cg7: 183, 188, 201 SegnameComment bcpl_cg7: 112, 116, 119, 128 SegnameDef bcpl_cg7: 104, 115, 119 SegnameInfo bcpl_cg7: 112, 116, 119, 128 SEMICOLON_S bcpl_symbols: 138 SetLineNumber bcpl_cg_head: 93 SetupAddr bcpl_cg_head: 55 SKET_S bcpl_symbols: 139 Sp bcpl_cg_head: 218, bcpl_cg7: 31, 32, 43, 44, 46 Split bcpl_cg7: 63, 137, 151, 261 Spr bcpl_cg_head: 261 Sprpap bcpl_opcodes: 72 Sprpbp bcpl_opcodes: 73 Sprplp bcpl_opcodes: 74 Sreg bcpl_opcodes: 75 Ssa bcpl_opcodes: 76 Sta bcpl_opcodes: 77 StackRefTag bcpl_cg_head: 167 Staq bcpl_opcodes: 78 Star bcpl_cg_head: 239, bcpl_cg7: 31, 32, 42 StarThenReg bcpl_cg_head: 240, bcpl_cg7: 33 StaticLength bcpl_cg7: 215, 217, 217, 220, 220, 221, 229 StaticList bcpl_cg7: 210, 216, 232, 238 STATIC_S bcpl_symbols: 140 Stb bcpl_opcodes: 79 Stc1 bcpl_opcodes: 80 Stcd bcpl_opcodes: 81, bcpl_cg7: 31 Store bcpl_cg_head: 60 StoreArg bcpl_cg_head: 70 StoreRegister bcpl_cg_head: 61 StoreString bcpl_compiler_head: 41, bcpl_cg7: 74, 121, 139, 140, 175, 201 StoreSystemArg bcpl_cg_head: 73 Stpab bcpl_opcodes: 82 Stpap bcpl_opcodes: 83, bcpl_cg7: 46 Stpbp bcpl_opcodes: 84 Stplb bcpl_opcodes: 85 Stplp bcpl_opcodes: 86, bcpl_cg7: 44 STRINGCONST_S bcpl_symbols: 142 STRING_S bcpl_symbols: 141 STRUCTURE_S bcpl_symbols: 143 Stx0 bcpl_opcodes: 87 Stz bcpl_opcodes: 88 SwapAandQ bcpl_cg_head: 58 SWITCHON_S bcpl_symbols: 144 Sxl0 bcpl_opcodes: 89 Sxl1 bcpl_opcodes: 90 Symb bcpl_compiler_head: 126 SymbolLength bcpl_cg_head: 165 SymbolName bcpl_compiler_head: 55 SymbolRelbits bcpl_cg_head: 166 Symbols bcpl_compiler_head: 99 SymtabFirst bcpl_cg_head: 168 SymtabP bcpl_cg_head: 169 SymtabSize bcpl_cg_head: 181 SymtabV bcpl_cg_head: 170 Szn bcpl_opcodes: 91 t bcpl_cg7: 152, 153, 154, 157, 158, 160, 216, 217, 217, 217, 218, 219, 219, 219, 238, 239, 240, 241, 242, 242, 243, 243, 250, 251, 252, 253, 254, 258, 261, 262, 267, 267 TABLE_S bcpl_symbols: 146 Tag bcpl_cg_head: 171 TagPrMask bcpl_cg_head: 206 TagXrMask bcpl_cg_head: 205 TEMP_S bcpl_symbols: 147 TEST_S bcpl_symbols: 148 TextLength bcpl_cg_head: 172, bcpl_cg7: 226 TextRelbits bcpl_cg_head: 173 ThisDef bcpl_cg7: 108, 109, 110, 115, 122, 129 TimeNow bcpl_compiler_head: 114 TimeNowString bcpl_compiler_head: 113 Tmi bcpl_opcodes: 92 Tmoz bcpl_opcodes: 93 Tnz bcpl_opcodes: 94 TotalLength bcpl_cg7: 221, 229, 230, 271 TO_S bcpl_symbols: 149 Tpl bcpl_opcodes: 95 Tpnz bcpl_opcodes: 96 Tra bcpl_opcodes: 97, bcpl_cg7: 36 Trans bcpl_compiler_head: 70 Transreport bcpl_compiler_head: 50 Trc bcpl_opcodes: 98 TRUE_S bcpl_symbols: 150 Tsbap bcpl_opcodes: 99 Tsbbp bcpl_opcodes: 100, bcpl_cg7: 42, 47 Tsblp bcpl_opcodes: 101 Tsx0 bcpl_opcodes: 102 TYPE_S bcpl_symbols: 151 Tze bcpl_opcodes: 103 u bcpl_cg7: 152, 154, 155, 155, 156, 157, 158, 159, 163, 164 UndefLab bcpl_cg_codes: 24 UnexpectedCase bcpl_compiler_head: 139 UNLESS_S bcpl_symbols: 152 Unpackstring bcpl_compiler_head: 22, bcpl_cg7: 154, 176 UNTIL_S bcpl_symbols: 153 UpperCase bcpl_compiler_head: 96 UsageCounter bcpl_cg_head: 175 UserID bcpl_compiler_head: 120 UtilitiesInit bcpl_compiler_head: 60 v bcpl_cg7: 55, 63, 74, 114, 118, 121, 137, 138, 139, 151, 159, 163, 260, 261, 262 VALDEF_S bcpl_symbols: 154 VALOF_S bcpl_symbols: 156 ValueLabel bcpl_cg7: 183, 185 VECAP_S bcpl_symbols: 158 VEC_S bcpl_symbols: 157 Vmax bcpl_compiler_head: 137, bcpl_cg7: 55, 55, 114, 118, 152, 152, 173, 174, 260, 260 w bcpl_cg7: 55, 63, 74, 137, 140, 140, 151, 160, 164, 173, 174, 175, 176, 177, 178, 178, 178, 180, 180, 180, 180, 260, 261, 263, 265 WHILE_S bcpl_symbols: 159 Writech bcpl_compiler_head: 17 WriteData bcpl_cg_head: 110 WriteDefs bcpl_cg_head: 103, bcpl_cg7: 54 WriteEntry bcpl_cg_head: 102, bcpl_cg7: 38 WriteGetlp bcpl_cg_head: 101, bcpl_cg7: 28 WriteInstruction bcpl_cg_head: 111 WriteLinkage bcpl_cg_head: 104, bcpl_cg7: 210 WriteN bcpl_compiler_head: 19 WriteObjectListing bcpl_compiler_head: 73 WriteObjectMap bcpl_cg_head: 108 WriteRelBits bcpl_cg_head: 107 WriteS bcpl_compiler_head: 18, bcpl_cg7: 235, 236, 264 WriteSymbol bcpl_cg_head: 106 x bcpl_cg7: 139, 146 X0 bcpl_cg_head: 228, bcpl_cg7: 36, 45, 47 X1 bcpl_cg_head: 229 X2 bcpl_cg_head: 230 X3 bcpl_cg_head: 231 X4 bcpl_cg_head: 232 X5 bcpl_cg_head: 233 X6 bcpl_cg_head: 234 X7 bcpl_cg_head: 235, bcpl_cg7: 33 Xr0 bcpl_cg_head: 246 Xr1 bcpl_cg_head: 247 Xr2 bcpl_cg_head: 248 Xr3 bcpl_cg_head: 249 Xr4 bcpl_cg_head: 250 Xr5 bcpl_cg_head: 251 Xr6 bcpl_cg_head: 252 Xr7 bcpl_cg_head: 253 Xref bcpl_compiler_head: 103 y bcpl_cg7: 139, 140, 146 z bcpl_cg7: 139, 140, 144 ZeroWord bcpl_cg7: 92, 93, 104, 110 ZeroWordLab bcpl_cg7: 57, 58, 93 Trans time 2.7, 697 object words per second. " Begin text of WriteGetlp aa 000000 000012 127162 zero 10,44658 " WriteGetlp aa 000001 151164 145107 zero 53876,51783 aa 000002 145164 154160 zero 51828,55408 L1: aa 000003 000000 213000 28 epaq 0 " set lp to linkage section aa 000004 700026 764161 lprplp sb|22,*au aa 000005 200000 021100 adlx1 bp|0 " BCPL save aa 000006 700000 542111 sprpbp sb|0,x1 aa 000007 700001 544111 sprplp sb|1,x1 aa 000010 700424 620111 eax0 sb|276,x1 aa 000011 777760 360003 anx0 -16,du aa 000012 700025 740100 stx0 sb|21 " end of save sequence aa 000013 000073 350004 29 eapap L6 " "*nLocal subroutine to find linkage section by looking in LOT" aa 000014 700004 540111 sprpap sb|4,x1 4a 000015 400070 272120 tsbbp lp|L7,* " SectionHeader aa 000016 000002 000001 zero 2,1 aa 000017 600472 236100 30 ldq sp|314 " GetLpLabel aa 000020 700004 756111 stq sb|4,x1 4a 000021 400066 272120 tsbbp lp|L8,* " Complab aa 000022 000002 000001 zero 2,1 aa 000023 000357 236007 31 ldq 239,dl " Stcd aa 000024 700004 756111 stq sb|4,x1 aa 000025 000022 236007 ldq 18,dl " 18 aa 000026 700005 756111 stq sb|5,x1 aa 000027 000056 336004 lcq L9 aa 000030 700006 756111 stq sb|6,x1 4a 000031 400064 272120 tsbbp lp|L10,* " Outop3 aa 000032 000002 000003 zero 2,3 aa 000033 000227 236007 32 ldq 151,dl " Ldx7 aa 000034 700004 756111 stq sb|4,x1 aa 000035 000022 236007 ldq 18,dl " 18 aa 000036 700005 756111 stq sb|5,x1 aa 000037 000046 336004 lcq L9 aa 000040 700006 756111 stq sb|6,x1 4a 000041 400064 272120 tsbbp lp|L10,* " Outop3 aa 000042 000002 000003 zero 2,3 aa 000043 000235 236007 33 ldq 157,dl " Lda aa 000044 700004 756111 stq sb|4,x1 aa 000045 000026 236007 ldq 22,dl " 22 aa 000046 700005 756111 stq sb|5,x1 aa 000047 000035 336004 lcq L11 aa 000050 700006 756111 stq sb|6,x1 4a 000051 400064 272120 tsbbp lp|L10,* " Outop3 aa 000052 000002 000003 zero 2,3 aa 000053 000331 236007 34 ldq 217,dl " Eablb aa 000054 700004 756111 stq sb|4,x1 aa 000055 700005 450111 stz sb|5,x1 aa 000056 000001 236007 ldq 1,dl " Au aa 000057 700006 756111 stq sb|6,x1 4a 000060 400064 272120 tsbbp lp|L10,* " Outop3 aa 000061 000002 000003 zero 2,3 aa 000062 000330 236007 35 ldq 216,dl " Eablp aa 000063 700004 756111 stq sb|4,x1 aa 000064 700005 450111 stz sb|5,x1 aa 000065 000005 236007 ldq 5,dl " Al aa 000066 700006 756111 stq sb|6,x1 4a 000067 400064 272120 tsbbp lp|L10,* " Outop3 aa 000070 000002 000003 zero 2,3 aa 000071 000710 236007 36 ldq 456,dl " Tra aa 000072 700004 756111 stq sb|4,x1 aa 000073 700005 450111 stz sb|5,x1 aa 000074 000010 236007 ldq 8,dl " X0 aa 000075 700006 756111 stq sb|6,x1 4a 000076 400064 272120 tsbbp lp|L10,* " Outop3 aa 000077 000002 000003 zero 2,3 L5: aa 000100 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000101 200000 121100 sblx1 bp|0 aa 000102 700001 764111 lprplp sb|1,x1 aa 000103 200001 710100 tra bp|1 " end of return sequence " Literal pool L11: aa 000104 077777 777601 zero 32767,-127 L9: aa 000105 177777 777660 zero 65535,-80 L6: aa 000106 000073 012114 zero 59,5196 " "*nLocal subroutine to find linkage section by looking in LOT" aa 000107 157143 141154 zero 56931,49772 aa 000110 040163 165142 zero 16499,60002 aa 000111 162157 165164 zero 58479,60020 aa 000112 151156 145040 zero 53870,51744 aa 000113 164157 040146 zero 59503,16486 aa 000114 151156 144040 zero 53870,51232 aa 000115 154151 156153 zero 55401,56427 aa 000116 141147 145040 zero 49767,51744 aa 000117 163145 143164 zero 58981,50804 aa 000120 151157 156040 zero 53871,56352 aa 000121 142171 040154 zero 50297,16492 aa 000122 157157 153151 zero 56943,54889 aa 000123 156147 040151 zero 56423,16489 aa 000124 156040 114117 zero 56352,38991 aa 000125 124000 000000 zero 43008 " Begin text of WriteEntry aa 000126 000012 127162 zero 10,44658 " WriteEntry aa 000127 151164 145105 zero 53876,51781 aa 000130 156164 162171 zero 56436,58489 L2: aa 000131 000000 213000 38 epaq 0 " set lp to linkage section aa 000132 700026 764161 lprplp sb|22,*au aa 000133 200000 021100 adlx1 bp|0 " BCPL save aa 000134 700000 542111 sprpbp sb|0,x1 aa 000135 700001 544111 sprplp sb|1,x1 aa 000136 700425 620111 eax0 sb|277,x1 aa 000137 777760 360003 anx0 -16,du aa 000140 700025 740100 stx0 sb|21 " end of save sequence aa 000141 000155 350004 39 eapap L15 " "*nLocal subroutine to help enter BCPL environment" aa 000142 700006 540111 sprpap sb|6,x1 4a 000143 400070 272120 tsbbp lp|L7,* " SectionHeader aa 000144 000004 000001 zero 4,1 aa 000145 600471 236100 40 ldq sp|313 " EntryLabel aa 000146 700006 756111 stq sb|6,x1 4a 000147 400066 272120 tsbbp lp|L8,* " Complab aa 000150 000004 000001 zero 4,1 aa 000151 000627 236007 41 ldq 407,dl " Eax7 aa 000152 700006 756111 stq sb|6,x1 aa 000153 004000 236007 ldq 2048,dl " 2048 aa 000154 700007 756111 stq sb|7,x1 aa 000155 700010 450111 stz sb|8,x1 aa 000156 000132 350004 eapap L16 " "Multics save sequence" aa 000157 700011 540111 sprpap sb|9,x1 4a 000160 400062 272120 tsbbp lp|L17,* " Outop4 aa 000161 000004 000004 zero 4,4 aa 000162 000272 236007 42 ldq 186,dl " Tsbbp aa 000163 700006 756111 stq sb|6,x1 aa 000164 000040 236007 ldq 32,dl " 32 aa 000165 700007 756111 stq sb|7,x1 aa 000166 000121 336004 lcq L18 aa 000167 700010 756111 stq sb|8,x1 4a 000170 400064 272120 tsbbp lp|L10,* " Outop3 aa 000171 000004 000003 zero 4,3 aa 000172 600153 236100 43 ldq sp|107 " Machine aa 000173 014044 116007 cmpq 6180,dl " 6180 aa 000174 000003 601004 tnz L19 aa 000175 000111 335004 lca L21 " Sp aa 000176 000002 710004 tra L20 L19: aa 000177 000000 235007 lda 0,dl " 0 L20: aa 000200 700003 755111 sta sb|3,x1 aa 000201 700003 235111 lda sb|3,x1 aa 000202 700002 755111 sta sb|2,x1 aa 000203 000621 235007 lda 401,dl " Eax1 aa 000204 700006 755111 sta sb|6,x1 aa 000205 000620 235007 lda 400,dl " 400 aa 000206 700007 755111 sta sb|7,x1 aa 000207 700002 235111 lda sb|2,x1 aa 000210 700010 755111 sta sb|8,x1 4a 000211 400064 272120 tsbbp lp|L10,* " Outop3 aa 000212 000004 000003 zero 4,3 aa 000213 000650 235007 44 lda 424,dl " Stplp aa 000214 700006 755111 sta sb|6,x1 aa 000215 000030 235007 lda 24,dl " 24 aa 000216 700007 755111 sta sb|7,x1 aa 000217 000067 335004 lca L21 " Sp aa 000220 700010 755111 sta sb|8,x1 4a 000221 400064 272120 tsbbp lp|L10,* " Outop3 aa 000222 000004 000003 zero 4,3 aa 000223 600153 235100 45 lda sp|107 " Machine aa 000224 014044 115007 cmpa 6180,dl " 6180 aa 000225 000003 601004 tnz L22 aa 000226 000003 336007 lcq 3,dl aa 000227 000002 710004 tra L23 L22: aa 000230 000002 336007 lcq 2,dl L23: aa 000231 700003 756111 stq sb|3,x1 aa 000232 700003 236111 ldq sb|3,x1 aa 000233 700002 756111 stq sb|2,x1 aa 000234 000350 236007 ldq 232,dl " Eapap aa 000235 700006 756111 stq sb|6,x1 aa 000236 700002 236111 ldq sb|2,x1 aa 000237 700007 756111 stq sb|7,x1 aa 000240 000010 236007 ldq 8,dl " X0 aa 000241 700010 756111 stq sb|8,x1 4a 000242 400064 272120 tsbbp lp|L10,* " Outop3 aa 000243 000004 000003 zero 4,3 aa 000244 000250 236007 46 ldq 168,dl " Stpap aa 000245 700006 756111 stq sb|6,x1 aa 000246 000026 236007 ldq 22,dl " 22 aa 000247 700007 756111 stq sb|7,x1 aa 000250 000036 336004 lcq L21 " Sp aa 000251 700010 756111 stq sb|8,x1 4a 000252 400064 272120 tsbbp lp|L10,* " Outop3 aa 000253 000004 000003 zero 4,3 aa 000254 000272 236007 47 ldq 186,dl " Tsbbp aa 000255 700006 756111 stq sb|6,x1 aa 000256 700007 450111 stz sb|7,x1 aa 000257 000010 236007 ldq 8,dl " X0 aa 000260 700010 756111 stq sb|8,x1 aa 000261 000015 350004 eapap L24 " "simulate standard BCPL call" aa 000262 700011 540111 sprpap sb|9,x1 4a 000263 400062 272120 tsbbp lp|L17,* " Outop4 aa 000264 000004 000004 zero 4,4 aa 000265 700006 450111 48 stz sb|6,x1 4a 000266 400060 272120 tsbbp lp|L25,* " OutData aa 000267 000004 000001 zero 4,1 4a 000270 400056 272120 49 tsbbp lp|L26,* " Compfinish aa 000271 000004 000000 zero 4 L14: aa 000272 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000273 200000 121100 sblx1 bp|0 aa 000274 700001 764111 lprplp sb|1,x1 aa 000275 200001 710100 tra bp|1 " end of return sequence " Literal pool L24: aa 000276 000033 163151 zero 27,58985 " "simulate standard BCPL call" aa 000277 155165 154141 zero 55925,55393 aa 000300 164145 040163 zero 59493,16499 aa 000301 164141 156144 zero 59489,56420 aa 000302 141162 144040 zero 49778,51232 aa 000303 102103 120114 zero 33859,41036 aa 000304 040143 141154 zero 16483,49772 aa 000305 154000 000000 zero 55296 L21: aa 000306 177777 777700 zero 65535,-64 " Sp L18: aa 000307 077777 777660 zero 32767,-80 L16: aa 000310 000025 115165 zero 21,39541 " "Multics save sequence" aa 000311 154164 151143 zero 55412,53859 aa 000312 163040 163141 zero 58912,58977 aa 000313 166145 040163 zero 60517,16499 aa 000314 145161 165145 zero 51825,60005 aa 000315 156143 145000 zero 56419,51712 L15: aa 000316 000060 012114 zero 48,5196 " "*nLocal subroutine to help enter BCPL environment" aa 000317 157143 141154 zero 56931,49772 aa 000320 040163 165142 zero 16499,60002 aa 000321 162157 165164 zero 58479,60020 aa 000322 151156 145040 zero 53870,51744 aa 000323 164157 040150 zero 59503,16488 aa 000324 145154 160040 zero 51820,57376 aa 000325 145156 164145 zero 51822,59493 aa 000326 162040 102103 zero 58400,33859 aa 000327 120114 040145 zero 41036,16485 aa 000330 156166 151162 zero 56438,53874 aa 000331 157156 155145 zero 56942,55909 aa 000332 156164 000000 zero 56436 " Begin text of Split aa 000333 000005 123160 zero 5,42608 " Split aa 000334 154151 164000 zero 55401,59392 L28: aa 000335 000000 213000 151 epaq 0 " set lp to linkage section aa 000336 700026 764161 lprplp sb|22,*au aa 000337 200000 021100 adlx1 bp|0 " BCPL save aa 000340 700000 542111 sprpbp sb|0,x1 aa 000341 700001 544111 sprplp sb|1,x1 aa 000342 702041 620111 eax0 sb|1057,x1 aa 000343 777760 360003 anx0 -16,du aa 000344 700025 740100 stx0 sb|21 " end of save sequence aa 000345 700010 350111 152 eapap sb|8,x1 " a vector aa 000346 700005 540111 sprpap sb|5,x1 " u aa 000347 701010 350111 eapap sb|520,x1 " a vector aa 000350 700006 540111 sprpap sb|6,x1 " t aa 000351 700002 236111 153 ldq sb|2,x1 " s aa 000352 702020 756111 stq sb|1040,x1 aa 000353 700006 236111 ldq sb|6,x1 " t aa 000354 702021 756111 stq sb|1041,x1 4a 000355 400054 272120 tsbbp lp|L34,* " RemoveEscapes aa 000356 002016 000002 zero 1038,2 aa 000357 700006 236111 154 ldq sb|6,x1 " t aa 000360 702020 756111 stq sb|1040,x1 aa 000361 700005 236111 ldq sb|5,x1 " u aa 000362 702021 756111 stq sb|1041,x1 4a 000363 400052 272120 tsbbp lp|L35,* " Unpackstring aa 000364 002016 000002 zero 1038,2 aa 000365 000001 236007 155 ldq 1,dl " 1 aa 000366 700007 756111 stq sb|7,x1 " i aa 000367 700005 760111 lprpap sb|5,x1 " u aa 000370 000000 236100 ldq ap|0 aa 000371 702010 756111 stq sb|1032,x1 aa 000372 000057 710004 tra L36 L37: aa 000373 700007 722111 lxl2 sb|7,x1 " i aa 000374 700005 762111 lprpbp sb|5,x1 " u aa 000375 200000 236112 ldq bp|0,x2 aa 000376 000044 116007 cmpq 36,dl " '$' aa 000377 000051 601004 tnz L38 aa 000400 700005 761111 156 lprpab sb|5,x1 " u aa 000401 100000 235100 lda ab|0 aa 000402 700007 175111 sba sb|7,x1 " i aa 000403 702011 755111 sta sb|1033,x1 " j aa 000404 000001 235007 157 lda 1,dl " 1 aa 000405 702012 755111 sta sb|1034,x1 " k aa 000406 702011 235111 lda sb|1033,x1 " j aa 000407 702013 755111 sta sb|1035,x1 aa 000410 000011 710004 tra L39 L40: aa 000411 700007 235111 lda sb|7,x1 " i aa 000412 702012 075111 ada sb|1034,x1 " k aa 000413 700005 763111 lprpbb sb|5,x1 " u aa 000414 300000 236105 ldq bb|0,al aa 000415 702012 723111 lxl3 sb|1034,x1 " k aa 000416 700006 765111 lprplb sb|6,x1 " t aa 000417 500000 756113 stq lb|0,x3 aa 000420 702012 054111 aos sb|1034,x1 " k L39: aa 000421 702012 236111 ldq sb|1034,x1 " k aa 000422 702013 116111 cmpq sb|1035,x1 aa 000423 777766 604404 tmoz L40 aa 000424 702011 235111 158 lda sb|1033,x1 " j aa 000425 700006 760111 lprpap sb|6,x1 " t aa 000426 000000 755100 sta ap|0 aa 000427 700007 235111 lda sb|7,x1 " i aa 000430 000001 175007 sba 1,dl " 1 aa 000431 700005 762111 lprpbp sb|5,x1 " u aa 000432 200000 755100 sta bp|0 aa 000433 700005 235111 159 lda sb|5,x1 " u aa 000434 702020 755111 sta sb|1040,x1 aa 000435 700003 235111 lda sb|3,x1 " v aa 000436 702021 755111 sta sb|1041,x1 4a 000437 400050 272120 tsbbp lp|L41,* " Packstring aa 000440 002016 000002 zero 1038,2 aa 000441 700006 235111 160 lda sb|6,x1 " t aa 000442 702020 755111 sta sb|1040,x1 aa 000443 700004 235111 lda sb|4,x1 " w aa 000444 702021 755111 sta sb|1041,x1 4a 000445 400050 272120 tsbbp lp|L41,* " Packstring aa 000446 002016 000002 zero 1038,2 aa 000447 000021 710004 161 tra L33 L38: aa 000450 700007 054111 aos sb|7,x1 " i L36: aa 000451 700007 235111 lda sb|7,x1 " i aa 000452 702010 115111 cmpa sb|1032,x1 aa 000453 777720 604404 tmoz L37 aa 000454 700005 236111 163 ldq sb|5,x1 " u aa 000455 702020 756111 stq sb|1040,x1 aa 000456 700003 236111 ldq sb|3,x1 " v aa 000457 702021 756111 stq sb|1041,x1 4a 000460 400050 272120 tsbbp lp|L41,* " Packstring aa 000461 002016 000002 zero 1038,2 aa 000462 700005 236111 164 ldq sb|5,x1 " u aa 000463 702020 756111 stq sb|1040,x1 aa 000464 700004 236111 ldq sb|4,x1 " w aa 000465 702021 756111 stq sb|1041,x1 4a 000466 400050 272120 tsbbp lp|L41,* " Packstring aa 000467 002016 000002 zero 1038,2 L33: aa 000470 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000471 200000 121100 sblx1 bp|0 aa 000472 700001 764111 lprplp sb|1,x1 aa 000473 200001 710100 tra bp|1 " end of return sequence " Begin text of AddDefinition aa 000474 000015 101144 zero 13,33380 " AddDefinition aa 000475 144104 145146 zero 51268,51814 aa 000476 151156 151164 zero 53870,53876 aa 000477 151157 156000 zero 53871,56320 L30: aa 000500 000000 213000 183 epaq 0 " set lp to linkage section aa 000501 700026 764161 lprplp sb|22,*au aa 000502 200000 021100 adlx1 bp|0 " BCPL save aa 000503 700000 542111 sprpbp sb|0,x1 aa 000504 700001 544111 sprplp sb|1,x1 aa 000505 700423 620111 eax0 sb|275,x1 aa 000506 777760 360003 anx0 -16,du aa 000507 700025 740100 stx0 sb|21 " end of save sequence aa 000510 000003 236007 184 ldq 3,dl " 3 aa 000511 700024 756111 stq sb|20,x1 4a 000512 400046 272120 tsbbp lp|L46,* " Newvec aa 000513 000022 000001 zero 18,1 aa 000514 700006 756111 stq sb|6,x1 " New aa 000515 700002 236111 185 ldq sb|2,x1 " ValueLabel aa 000516 700006 761111 lprpab sb|6,x1 " New aa 000517 100001 756100 stq ab|1 aa 000520 700004 236111 ldq sb|4,x1 " DefLabel aa 000521 700006 763111 lprpbb sb|6,x1 " New aa 000522 300003 756100 stq bb|3 aa 000523 700003 236111 ldq sb|3,x1 " Name aa 000524 700006 765111 lprplb sb|6,x1 " New aa 000525 500002 756100 stq lb|2 aa 000526 600617 236100 186 ldq sp|399 " DefsList aa 000527 700007 756111 stq sb|7,x1 " Dp aa 000530 000040 710004 187 tra L47 L48: aa 000531 700007 760111 188 lprpap sb|7,x1 " Dp aa 000532 000001 236100 ldq ap|1 aa 000533 000777 376007 anq 511,dl " ClassMask aa 000534 000003 116007 cmpq 3,dl " 3 aa 000535 000030 601004 tnz L49 aa 000536 700007 762111 lprpbp sb|7,x1 " Dp aa 000537 200002 236100 ldq bp|2 aa 000540 700024 756111 stq sb|20,x1 aa 000541 700005 236111 ldq sb|5,x1 " Segname aa 000542 700025 756111 stq sb|21,x1 4a 000543 400044 272120 tsbbp lp|L51,* " EqualString aa 000544 000022 000002 zero 18,2 aa 000545 000000 116007 cmpq 0,dl aa 000546 000017 600004 tze L50 L52: aa 000547 700007 761111 189 lprpab sb|7,x1 " Dp aa 000550 100000 236100 ldq ab|0 aa 000551 700010 756111 stq sb|8,x1 " q aa 000552 700010 234111 190 szn sb|8,x1 " q aa 000553 000011 600004 tze L53 aa 000554 700010 763111 191 lprpbb sb|8,x1 " q aa 000555 300001 236100 ldq bb|1 aa 000556 000777 376007 anq 511,dl " ClassMask aa 000557 000003 116007 cmpq 3,dl " 3 aa 000560 000004 600004 tze L53 aa 000561 700010 236111 192 ldq sb|8,x1 " q aa 000562 700007 756111 stq sb|7,x1 " Dp aa 000563 777764 710004 tra L52 L53: aa 000564 000041 710004 194 tra L42 L50: L49: aa 000565 700007 765111 196 lprplb sb|7,x1 " Dp aa 000566 500000 236100 ldq lb|0 aa 000567 700007 756111 stq sb|7,x1 " Dp L47: aa 000570 700007 234111 szn sb|7,x1 " Dp aa 000571 777740 601004 tnz L48 aa 000572 000003 236007 200 ldq 3,dl " 3 aa 000573 700024 756111 stq sb|20,x1 4a 000574 400046 272120 tsbbp lp|L46,* " Newvec aa 000575 000022 000001 zero 18,1 aa 000576 700007 756111 stq sb|7,x1 " Dp aa 000577 600617 236100 201 ldq sp|399 " DefsList aa 000600 700007 760111 lprpap sb|7,x1 " Dp aa 000601 000000 756100 stq ap|0 4a 000602 400042 272120 tsbbp lp|L54,* " Nextparam aa 000603 000022 000000 zero 18 aa 000604 700007 762111 lprpbp sb|7,x1 " Dp aa 000605 200003 756100 stq bp|3 aa 000606 700005 236111 ldq sb|5,x1 " Segname aa 000607 700024 756111 stq sb|20,x1 4a 000610 400040 272120 tsbbp lp|L55,* " StoreString aa 000611 000022 000001 zero 18,1 aa 000612 700007 761111 lprpab sb|7,x1 " Dp aa 000613 100002 756100 stq ab|2 aa 000614 600617 763100 lprpbb sp|399 " DefsList aa 000615 300003 236100 ldq bb|3 aa 000616 000022 736000 qls 18 aa 000617 400000 276007 orq -131072,dl " NewFlag aa 000620 000003 276007 orq 3,dl " 3 aa 000621 700007 765111 lprplb sb|7,x1 " Dp aa 000622 500001 756100 stq lb|1 aa 000623 700007 236111 202 ldq sb|7,x1 " Dp aa 000624 600617 756100 stq sp|399 " DefsList L42: aa 000625 700007 760111 204 lprpap sb|7,x1 " Dp aa 000626 000000 236100 ldq ap|0 aa 000627 700006 762111 lprpbp sb|6,x1 " New aa 000630 200000 756100 stq bp|0 aa 000631 700006 236111 205 ldq sb|6,x1 " New aa 000632 700007 761111 lprpab sb|7,x1 " Dp aa 000633 100000 756100 stq ab|0 L45: aa 000634 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000635 200000 121100 sblx1 bp|0 aa 000636 700001 764111 lprplp sb|1,x1 aa 000637 200001 710100 tra bp|1 " end of return sequence " Begin text of GetName aa 000640 000007 107145 zero 7,36453 " GetName aa 000641 164116 141155 zero 59470,49773 aa 000642 145000 000000 zero 51712 L29: aa 000643 000000 213000 166 epaq 0 " set lp to linkage section aa 000644 700026 764161 lprplp sb|22,*au aa 000645 200000 021100 adlx1 bp|0 " BCPL save aa 000646 700000 542111 sprpbp sb|0,x1 aa 000647 700001 544111 sprplp sb|1,x1 aa 000650 701060 620111 eax0 sb|560,x1 aa 000651 777760 360003 anx0 -16,du aa 000652 700025 740100 stx0 sb|21 " end of save sequence aa 000653 600616 236100 167 ldq sp|398 " NamesList aa 000654 700004 756111 stq sb|4,x1 " p aa 000655 000020 710004 168 tra L59 L60: aa 000656 700004 763111 169 lprpbb sb|4,x1 " p aa 000657 300000 236100 ldq bb|0 aa 000660 701034 756111 stq sb|540,x1 aa 000661 700002 236111 ldq sb|2,x1 " s aa 000662 701035 756111 stq sb|541,x1 4a 000663 400044 272120 tsbbp lp|L51,* " EqualString aa 000664 001032 000002 zero 538,2 aa 000665 000000 116007 cmpq 0,dl aa 000666 000004 600004 tze L61 aa 000667 700004 765111 lprplb sb|4,x1 " p aa 000670 500001 236100 ldq lb|1 aa 000671 000133 710004 tra L58 L61: aa 000672 700004 760111 170 lprpap sb|4,x1 " p aa 000673 000002 235100 lda ap|2 aa 000674 700004 755111 sta sb|4,x1 " p L59: aa 000675 700004 234111 szn sb|4,x1 " p aa 000676 777760 601004 tnz L60 aa 000677 700002 235111 172 lda sb|2,x1 " s aa 000700 701034 755111 sta sb|540,x1 aa 000701 600501 235100 lda sp|321 " LC aa 000702 701035 755111 sta sb|541,x1 aa 000703 600616 235100 lda sp|398 " NamesList aa 000704 701036 755111 sta sb|542,x1 4a 000705 400036 272120 tsbbp lp|L62,* " List3 aa 000706 001032 000003 zero 538,3 aa 000707 600616 756100 stq sp|398 " NamesList aa 000710 700010 352111 173 eapbp sb|8,x1 " a vector aa 000711 700005 542111 sprpbp sb|5,x1 " w aa 000712 700005 236111 174 ldq sb|5,x1 " w aa 000713 701034 756111 stq sb|540,x1 aa 000714 000777 236007 ldq 511,dl " Vmax aa 000715 701035 756111 stq sb|541,x1 aa 000716 000115 352004 eapbp L63 " "*"" aa 000717 701036 542111 sprpbp sb|542,x1 aa 000720 700002 236111 ldq sb|2,x1 " s aa 000721 701037 756111 stq sb|543,x1 aa 000722 000111 352004 eapbp L63 " "*"" aa 000723 701040 542111 sprpbp sb|544,x1 4a 000724 400034 272120 tsbbp lp|L64,* " Concatenate aa 000725 001032 000005 zero 538,5 aa 000726 700005 236111 175 ldq sb|5,x1 " w aa 000727 701034 756111 stq sb|540,x1 4a 000730 400040 272120 tsbbp lp|L55,* " StoreString aa 000731 001032 000001 zero 538,1 aa 000732 600464 756100 stq sp|308 " Comment aa 000733 700002 236111 176 ldq sb|2,x1 " s aa 000734 701034 756111 stq sb|540,x1 aa 000735 700005 236111 ldq sb|5,x1 " w aa 000736 701035 756111 stq sb|541,x1 4a 000737 400052 272120 tsbbp lp|L35,* " Unpackstring aa 000740 001032 000002 zero 538,2 aa 000741 700005 762111 177 lprpbp sb|5,x1 " w aa 000742 200000 236100 ldq bp|0 aa 000743 700006 756111 stq sb|6,x1 " Len aa 000744 700006 236111 178 ldq sb|6,x1 " Len aa 000745 000002 076007 adq 2,dl " 2 aa 000746 700005 761111 lprpab sb|5,x1 " w aa 000747 100000 450106 stz ab|0,ql aa 000750 700006 236111 ldq sb|6,x1 " Len aa 000751 000003 076007 adq 3,dl " 3 aa 000752 700005 763111 lprpbb sb|5,x1 " w aa 000753 300000 450106 stz bb|0,ql aa 000754 700006 236111 ldq sb|6,x1 " Len aa 000755 000001 076007 adq 1,dl " 1 aa 000756 700005 765111 lprplb sb|5,x1 " w aa 000757 500000 450106 stz lb|0,ql aa 000760 700007 450111 180 stz sb|7,x1 " i aa 000761 700006 236111 ldq sb|6,x1 " Len aa 000762 701014 756111 stq sb|524,x1 aa 000763 000034 710004 tra L65 L66: aa 000764 700007 236111 ldq sb|7,x1 " i aa 000765 000001 076007 adq 1,dl " 1 aa 000766 700005 760111 lprpap sb|5,x1 " w aa 000767 000000 235106 lda ap|0,ql aa 000770 000022 735000 als 18 aa 000771 700007 724111 lxl4 sb|7,x1 " i aa 000772 700005 762111 lprpbp sb|5,x1 " w aa 000773 200000 236114 ldq bp|0,x4 aa 000774 000033 736000 qls 27 aa 000775 600000 756100 stq sp|0 aa 000776 600000 275100 ora sp|0 aa 000777 700007 236111 ldq sb|7,x1 " i aa 001000 000002 076007 adq 2,dl " 2 aa 001001 701017 755111 sta sb|527,x1 " temporary aa 001002 700005 761111 lprpab sb|5,x1 " w aa 001003 100000 235106 lda ab|0,ql aa 001004 000011 735000 als 9 aa 001005 701017 275111 ora sb|527,x1 aa 001006 700007 236111 ldq sb|7,x1 " i aa 001007 000003 076007 adq 3,dl " 3 aa 001010 700005 763111 lprpbb sb|5,x1 " w aa 001011 300000 275106 ora bb|0,ql aa 001012 701034 755111 sta sb|540,x1 4a 001013 400032 272120 tsbbp lp|L67,* " OutW aa 001014 001032 000001 zero 538,1 aa 001015 000004 236007 ldq 4,dl " 4 aa 001016 700007 056111 asq sb|7,x1 " i L65: aa 001017 700007 236111 ldq sb|7,x1 " i aa 001020 701014 116111 cmpq sb|524,x1 aa 001021 777743 604404 tmoz L66 aa 001022 600616 765100 181 lprplb sp|398 " NamesList aa 001023 500001 236100 ldq lb|1 L58: aa 001024 700004 756111 stq sb|4,x1 aa 001025 700004 236111 ldq sb|4,x1 aa 001026 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001027 200000 121100 sblx1 bp|0 aa 001030 700001 764111 lprplp sb|1,x1 aa 001031 200001 710100 tra bp|1 " end of return sequence aa 001032 700003 756111 stq sb|3,x1 " temporary " Literal pool L63: aa 001033 000001 042000 zero 1,17408 " "*"" " Begin text of WriteDefs aa 001034 000011 127162 zero 9,44658 " WriteDefs aa 001035 151164 145104 zero 53876,51780 aa 001036 145146 163000 zero 51814,58880 L27: aa 001037 000000 213000 54 epaq 0 " set lp to linkage section aa 001040 700026 764161 lprplp sb|22,*au aa 001041 200000 021100 adlx1 bp|0 " BCPL save aa 001042 700000 542111 sprpbp sb|0,x1 aa 001043 700001 544111 sprplp sb|1,x1 aa 001044 702053 620111 eax0 sb|1067,x1 aa 001045 777760 360003 anx0 -16,du aa 001046 700025 740100 stx0 sb|21 " end of save sequence aa 001047 700006 350111 55 eapap sb|6,x1 " a vector aa 001050 700004 540111 sprpap sb|4,x1 " w aa 001051 701006 350111 eapap sb|518,x1 " a vector aa 001052 700003 540111 sprpap sb|3,x1 " v aa 001053 001016 350004 56 eapap L71 " "*fDefinition section part one - external entry points" aa 001054 702030 540111 sprpap sb|1048,x1 4a 001055 400070 272120 tsbbp lp|L7,* " SectionHeader aa 001056 002026 000001 zero 1046,1 4a 001057 400042 272120 57 tsbbp lp|L54,* " Nextparam aa 001060 002026 000000 zero 1046 aa 001061 700005 756111 stq sb|5,x1 " ZeroWordLab 4a 001062 400042 272120 58 tsbbp lp|L54,* " Nextparam aa 001063 002026 000000 zero 1046 aa 001064 702006 756111 stq sb|1030,x1 aa 001065 702030 450111 stz sb|1048,x1 aa 001066 700005 236111 ldq sb|5,x1 " ZeroWordLab aa 001067 000022 736000 qls 18 aa 001070 400000 276007 orq -131072,dl " NewFlag aa 001071 000003 276007 orq 3,dl " 3 aa 001072 702031 756111 stq sb|1049,x1 aa 001073 600202 236100 ldq sp|130 " ProgramName aa 001074 702032 756111 stq sb|1050,x1 aa 001075 702006 236111 ldq sb|1030,x1 aa 001076 702033 756111 stq sb|1051,x1 4a 001077 400030 272120 tsbbp lp|L72,* " List4 aa 001100 002026 000004 zero 1046,4 aa 001101 600617 756100 stq sp|399 " DefsList aa 001102 600616 450100 stz sp|398 " NamesList aa 001103 700002 236111 61 ldq sb|2,x1 " EntriesList aa 001104 702006 756111 stq sb|1030,x1 " p aa 001105 000113 710004 62 tra L73 L74: aa 001106 702006 760111 63 lprpap sb|1030,x1 " p aa 001107 000001 236100 ldq ap|1 aa 001110 702030 756111 stq sb|1048,x1 aa 001111 700003 236111 ldq sb|3,x1 " v aa 001112 702031 756111 stq sb|1049,x1 aa 001113 700004 236111 ldq sb|4,x1 " w aa 001114 702032 756111 stq sb|1050,x1 aa 001115 777222 272004 tsbbp L28+2 " Split aa 001116 002026 000003 zero 1046,3 aa 001117 702006 762111 64 lprpbp sb|1030,x1 " p aa 001120 200002 236100 ldq bp|2 aa 001121 702007 756111 stq sb|1031,x1 " L aa 001122 600144 234100 65 szn sp|100 " Listing aa 001123 000025 600004 tze L75 aa 001124 600040 236100 66 ldq sp|32 " OUTPUT aa 001125 702030 756111 stq sb|1048,x1 aa 001126 000737 351404 eapab L76 " "*tequ*t^s,L^d*n" aa 001127 702031 541111 sprpab sb|1049,x1 aa 001130 702006 761111 lprpab sb|1030,x1 " p aa 001131 100001 236100 ldq ab|1 aa 001132 702032 756111 stq sb|1050,x1 aa 001133 702007 236111 ldq sb|1031,x1 " L aa 001134 702033 756111 stq sb|1051,x1 4a 001135 400026 272120 tsbbp lp|L77,* " Format aa 001136 002026 000004 zero 1046,4 aa 001137 600040 236100 67 ldq sp|32 " OUTPUT aa 001140 702030 756111 stq sb|1048,x1 aa 001141 000720 353404 eapbb L78 " "*tsegdef*t^s*n" aa 001142 702031 543111 sprpbb sb|1049,x1 aa 001143 702006 763111 lprpbb sb|1030,x1 " p aa 001144 300001 236100 ldq bb|1 aa 001145 702032 756111 stq sb|1050,x1 4a 001146 400026 272120 tsbbp lp|L77,* " Format aa 001147 002026 000003 zero 1046,3 L75: aa 001150 702011 450111 69 stz sb|1033,x1 " DefLabel aa 001151 600512 236100 ldq sp|330 " MainEntriesList aa 001152 702010 756111 stq sb|1032,x1 " q aa 001153 000015 710004 70 tra L79 L80: aa 001154 702010 765111 71 lprplb sb|1032,x1 " q aa 001155 500000 236100 ldq lb|0 aa 001156 702007 116111 cmpq sb|1031,x1 " L aa 001157 000006 601004 tnz L81 aa 001160 702010 760111 lprpap sb|1032,x1 " q aa 001161 000001 235100 lda ap|1 aa 001162 702011 755111 sta sb|1033,x1 " DefLabel aa 001163 702010 762111 lprpbp sb|1032,x1 " q aa 001164 200000 450100 stz bp|0 L81: aa 001165 702010 761111 72 lprpab sb|1032,x1 " q aa 001166 100003 235100 lda ab|3 aa 001167 702010 755111 sta sb|1032,x1 " q L79: aa 001170 702010 234111 szn sb|1032,x1 " q aa 001171 777763 601004 tnz L80 aa 001172 700004 235111 74 lda sb|4,x1 " w aa 001173 702030 755111 sta sb|1048,x1 4a 001174 400040 272120 tsbbp lp|L55,* " StoreString aa 001175 002026 000001 zero 1046,1 aa 001176 702012 756111 stq sb|1034,x1 aa 001177 702007 236111 ldq sb|1031,x1 " L aa 001200 000022 736000 qls 18 aa 001201 400000 276007 orq -131072,dl " NewFlag aa 001202 100000 276007 orq 32768,dl " EntryFlag aa 001203 000000 276007 orq 0,dl " 0 aa 001204 702030 756111 stq sb|1048,x1 aa 001205 702012 236111 ldq sb|1034,x1 aa 001206 702031 756111 stq sb|1049,x1 aa 001207 702011 236111 ldq sb|1033,x1 " DefLabel aa 001210 702032 756111 stq sb|1050,x1 aa 001211 700003 236111 ldq sb|3,x1 " v aa 001212 702033 756111 stq sb|1051,x1 aa 001213 777267 272004 tsbbp L30+2 " AddDefinition aa 001214 002026 000004 zero 1046,4 aa 001215 702006 763111 75 lprpbb sb|1030,x1 " p aa 001216 300000 236100 ldq bb|0 aa 001217 702006 756111 stq sb|1030,x1 " p L73: aa 001220 702006 234111 szn sb|1030,x1 " p aa 001221 777665 601004 tnz L74 aa 001222 400002 236007 79 ldq -131070,dl aa 001223 702030 756111 stq sb|1048,x1 aa 001224 000631 371404 eaplb L82 " "symbol_table" aa 001225 702031 545111 sprplb sb|1049,x1 aa 001226 702032 450111 stz sb|1050,x1 aa 001227 600202 236100 ldq sp|130 " ProgramName aa 001230 702033 756111 stq sb|1051,x1 aa 001231 777251 272004 tsbbp L30+2 " AddDefinition aa 001232 002026 000004 zero 1046,4 aa 001233 600512 236100 82 ldq sp|330 " MainEntriesList aa 001234 702007 756111 stq sb|1031,x1 " q aa 001235 000031 710004 83 tra L83 L84: aa 001236 702007 765111 84 lprplb sb|1031,x1 " q aa 001237 500000 234100 szn lb|0 aa 001240 000023 600004 tze L85 aa 001241 702007 760111 lprpap sb|1031,x1 " q aa 001242 000000 236100 ldq ap|0 aa 001243 000022 736000 qls 18 aa 001244 400000 276007 orq -131072,dl " NewFlag aa 001245 100000 276007 orq 32768,dl " EntryFlag aa 001246 200000 276007 orq 65536,dl " IgnoreFlag aa 001247 000000 276007 orq 0,dl " 0 aa 001250 702030 756111 stq sb|1048,x1 aa 001251 702007 762111 lprpbp sb|1031,x1 " q aa 001252 200002 236100 ldq bp|2 aa 001253 702031 756111 stq sb|1049,x1 aa 001254 702007 761111 lprpab sb|1031,x1 " q aa 001255 100001 236100 ldq ab|1 aa 001256 702032 756111 stq sb|1050,x1 aa 001257 600202 236100 ldq sp|130 " ProgramName aa 001260 702033 756111 stq sb|1051,x1 aa 001261 777221 272004 tsbbp L30+2 " AddDefinition aa 001262 002026 000004 zero 1046,4 L85: aa 001263 702007 763111 85 lprpbb sb|1031,x1 " q aa 001264 300003 236100 ldq bb|3 aa 001265 702007 756111 stq sb|1031,x1 " q L83: aa 001266 702007 234111 szn sb|1031,x1 " q aa 001267 777747 601004 tnz L84 aa 001270 000025 236007 89 ldq 21,dl " RelDef aa 001271 000022 736000 qls 18 aa 001272 600531 756100 stq sp|345 " Reloc aa 001273 600617 765100 lprplb sp|399 " DefsList aa 001274 500003 236100 ldq lb|3 aa 001275 600520 756100 stq sp|336 " Param aa 001276 702030 450111 90 stz sb|1048,x1 aa 001277 000546 350004 eapap L86 " "pointer to first definition" aa 001300 702031 540111 sprpap sb|1049,x1 4a 001301 400024 272120 tsbbp lp|L87,* " OutW2 aa 001302 002026 000002 zero 1046,2 aa 001303 600000 236007 91 ldq -65536,dl aa 001304 702030 756111 stq sb|1048,x1 aa 001305 000527 350004 eapap L88 " "flags: new format, ignore header" aa 001306 702031 540111 sprpap sb|1049,x1 4a 001307 400024 272120 tsbbp lp|L87,* " OutW2 aa 001310 002026 000002 zero 1046,2 aa 001311 600501 236100 92 ldq sp|321 " LC aa 001312 702010 756111 stq sb|1032,x1 " ZeroWord aa 001313 700005 236111 93 ldq sb|5,x1 " ZeroWordLab aa 001314 702030 756111 stq sb|1048,x1 aa 001315 702010 236111 ldq sb|1032,x1 " ZeroWord aa 001316 702031 756111 stq sb|1049,x1 4a 001317 400022 272120 tsbbp lp|L89,* " DefineLab aa 001320 002026 000002 zero 1046,2 aa 001321 702030 450111 94 stz sb|1048,x1 aa 001322 000505 350004 eapap L90 " "list terminator*n" aa 001323 702031 540111 sprpap sb|1049,x1 4a 001324 400024 272120 tsbbp lp|L87,* " OutW2 aa 001325 002026 000002 zero 1046,2 aa 001326 600617 236100 97 ldq sp|399 " DefsList aa 001327 702006 756111 stq sb|1030,x1 " p aa 001330 000014 710004 98 tra L91 L92: aa 001331 702006 760111 99 lprpap sb|1030,x1 " p aa 001332 000002 236100 ldq ap|2 aa 001333 702030 756111 stq sb|1048,x1 aa 001334 777311 272004 tsbbp L29+2 " GetName aa 001335 002026 000001 zero 1046,1 aa 001336 000022 736000 qls 18 aa 001337 702006 762111 lprpbp sb|1030,x1 " p aa 001340 200003 256100 orsq bp|3 aa 001341 702006 761111 100 lprpab sb|1030,x1 " p aa 001342 100000 236100 ldq ab|0 aa 001343 702006 756111 stq sb|1030,x1 " p L91: aa 001344 702006 234111 szn sb|1030,x1 " p aa 001345 777764 601004 tnz L92 aa 001346 600501 236100 104 ldq sp|321 " LC aa 001347 702012 756111 stq sb|1034,x1 " NextDef aa 001350 702010 236111 ldq sb|1032,x1 " ZeroWord aa 001351 702013 756111 stq sb|1035,x1 " PreviousDef aa 001352 000350 353404 105 eapbb L93 " a table aa 001353 702014 543111 sprpbb sb|1036,x1 " RelCodesTable aa 001354 600617 236100 106 ldq sp|399 " DefsList aa 001355 702006 756111 stq sb|1030,x1 " p aa 001356 000176 710004 107 tra L94 L95: aa 001357 702012 236111 108 ldq sb|1034,x1 " NextDef aa 001360 702015 756111 stq sb|1037,x1 " ThisDef aa 001361 702015 236111 109 ldq sb|1037,x1 " ThisDef aa 001362 600501 116100 cmpq sp|321 " LC aa 001363 000007 600004 tze L96 aa 001364 000463 235007 lda 307,dl " PhaseError aa 001365 702030 755111 sta sb|1048,x1 aa 001366 000436 353404 eapbb L97 " "WriteDefs" aa 001367 702031 543111 sprpbb sb|1049,x1 4a 001370 400020 272120 tsbbp lp|L98,* " CGreport aa 001371 002026 000002 zero 1046,2 L96: aa 001372 702006 763111 110 lprpbb sb|1030,x1 " p aa 001373 300000 234100 szn bb|0 aa 001374 000003 601004 tnz L99 aa 001375 702010 235111 lda sb|1032,x1 " ZeroWord aa 001376 000004 710004 tra L100 L99: aa 001377 702015 236111 ldq sb|1037,x1 " ThisDef aa 001400 000003 076007 adq 3,dl " 3 aa 001401 000044 777000 llr 36 " exchange A and Q L100: aa 001402 702017 755111 sta sb|1039,x1 aa 001403 702017 235111 lda sb|1039,x1 aa 001404 702012 755111 sta sb|1034,x1 " NextDef aa 001405 702006 765111 111 lprplb sb|1030,x1 " p aa 001406 500001 235100 lda lb|1 aa 001407 000777 375007 ana 511,dl " ClassMask aa 001410 702017 755111 sta sb|1039,x1 " Class aa 001411 702006 760111 lprpap sb|1030,x1 " p aa 001412 000003 235100 lda ap|3 aa 001413 777777 375007 ana -1,dl " Right aa 001414 702016 755111 sta sb|1038,x1 " DefLabel aa 001415 702017 235111 113 lda sb|1039,x1 " Class aa 001416 000003 115007 cmpa 3,dl " 3 aa 001417 000023 601004 tnz L101 aa 001420 700003 236111 114 ldq sb|3,x1 " v aa 001421 702030 756111 stq sb|1048,x1 aa 001422 000777 236007 ldq 511,dl " Vmax aa 001423 702031 756111 stq sb|1049,x1 aa 001424 000371 352004 eapbp L103 " "*nSegname definition for " aa 001425 702032 542111 sprpbp sb|1050,x1 aa 001426 702006 762111 lprpbp sb|1030,x1 " p aa 001427 200002 236100 ldq bp|2 aa 001430 702033 756111 stq sb|1051,x1 4a 001431 400034 272120 tsbbp lp|L64,* " Concatenate aa 001432 002026 000004 zero 1046,4 aa 001433 702015 236111 115 ldq sb|1037,x1 " ThisDef aa 001434 702011 756111 stq sb|1033,x1 " SegnameDef aa 001435 000350 351404 116 eapab L104 " "name pointer, first entry def" aa 001436 702021 541111 sprpab sb|1041,x1 " SegnameComment aa 001437 702012 236111 ldq sb|1034,x1 " NextDef aa 001440 702020 756111 stq sb|1040,x1 " SegnameInfo aa 001441 000020 710004 tra L102 L101: aa 001442 700003 236111 118 ldq sb|3,x1 " v aa 001443 702030 756111 stq sb|1048,x1 aa 001444 000777 236007 ldq 511,dl " Vmax aa 001445 702031 756111 stq sb|1049,x1 aa 001446 000332 351404 eapab L105 " "*nDefinition for " aa 001447 702032 541111 sprpab sb|1050,x1 aa 001450 702006 761111 lprpab sb|1030,x1 " p aa 001451 100002 236100 ldq ab|2 aa 001452 702033 756111 stq sb|1051,x1 4a 001453 400034 272120 tsbbp lp|L64,* " Concatenate aa 001454 002026 000004 zero 1046,4 aa 001455 702011 236111 119 ldq sb|1033,x1 " SegnameDef aa 001456 702020 756111 stq sb|1040,x1 " SegnameInfo aa 001457 000310 353404 eapbb L106 " "name pointer, segname def pointer" aa 001460 702021 543111 sprpbb sb|1041,x1 " SegnameComment L102: aa 001461 700003 236111 121 ldq sb|3,x1 " v aa 001462 702030 756111 stq sb|1048,x1 4a 001463 400040 272120 tsbbp lp|L55,* " StoreString aa 001464 002026 000001 zero 1046,1 aa 001465 702022 756111 stq sb|1042,x1 aa 001466 702022 236111 ldq sb|1042,x1 aa 001467 702030 756111 stq sb|1048,x1 4a 001470 400070 272120 tsbbp lp|L7,* " SectionHeader aa 001471 002026 000001 zero 1046,1 aa 001472 702016 234111 122 szn sb|1038,x1 " DefLabel aa 001473 000007 600004 tze L107 aa 001474 702016 236111 ldq sb|1038,x1 " DefLabel aa 001475 702030 756111 stq sb|1048,x1 aa 001476 702015 236111 ldq sb|1037,x1 " ThisDef aa 001477 702031 756111 stq sb|1049,x1 4a 001500 400022 272120 tsbbp lp|L89,* " DefineLab aa 001501 002026 000002 zero 1046,2 L107: aa 001502 000264 236004 123 ldq L108 aa 001503 600531 756100 stq sp|345 " Reloc aa 001504 702012 236111 124 ldq sb|1034,x1 " NextDef aa 001505 000022 736000 qls 18 aa 001506 702013 276111 orq sb|1035,x1 " PreviousDef aa 001507 702030 756111 stq sb|1048,x1 aa 001510 000247 353404 eapbb L109 " "forward, backward threads" aa 001511 702031 543111 sprpbb sb|1049,x1 4a 001512 400024 272120 tsbbp lp|L87,* " OutW2 aa 001513 002026 000002 zero 1046,2 aa 001514 702017 725111 125 lxl5 sb|1039,x1 " Class aa 001515 702014 763111 lprpbb sb|1036,x1 " RelCodesTable aa 001516 300000 236115 ldq bb|0,x5 aa 001517 600531 756100 stq sp|345 " Reloc aa 001520 702006 765111 lprplb sb|1030,x1 " p aa 001521 500001 236100 ldq lb|1 aa 001522 000022 772000 qrl 18 aa 001523 600520 756100 stq sp|336 " Param aa 001524 702006 760111 126 lprpap sb|1030,x1 " p aa 001525 000001 236100 ldq ap|1 aa 001526 777777 376007 anq -1,dl " Right aa 001527 702030 756111 stq sb|1048,x1 aa 001530 000220 352004 eapbp L110 " "value defined, class flags" aa 001531 702031 542111 sprpbp sb|1049,x1 4a 001532 400024 272120 tsbbp lp|L87,* " OutW2 aa 001533 002026 000002 zero 1046,2 aa 001534 000232 236004 127 ldq L108 aa 001535 600531 756100 stq sp|345 " Reloc aa 001536 702006 762111 128 lprpbp sb|1030,x1 " p aa 001537 200003 236100 ldq bp|3 aa 001540 777777 376003 anq -1,du aa 001541 702020 276111 orq sb|1040,x1 " SegnameInfo aa 001542 702030 756111 stq sb|1048,x1 aa 001543 702021 236111 ldq sb|1041,x1 " SegnameComment aa 001544 702031 756111 stq sb|1049,x1 4a 001545 400024 272120 tsbbp lp|L87,* " OutW2 aa 001546 002026 000002 zero 1046,2 aa 001547 702015 236111 129 ldq sb|1037,x1 " ThisDef aa 001550 702013 756111 stq sb|1035,x1 " PreviousDef aa 001551 702006 761111 130 lprpab sb|1030,x1 " p aa 001552 100000 236100 ldq ab|0 aa 001553 702006 756111 stq sb|1030,x1 " p L94: aa 001554 702006 234111 szn sb|1030,x1 " p aa 001555 777602 601004 tnz L95 aa 001556 000150 353404 134 eapbb L111 " "*fDefinition section part two - symbolic info for external references" aa 001557 702030 543111 sprpbb sb|1048,x1 4a 001560 400070 272120 tsbbp lp|L7,* " SectionHeader aa 001561 002026 000001 zero 1046,1 aa 001562 600507 236100 135 ldq sp|327 " LinkList aa 001563 702006 756111 stq sb|1030,x1 " p aa 001564 000130 710004 136 tra L112 L113: aa 001565 702006 763111 137 lprpbb sb|1030,x1 " p aa 001566 300001 236100 ldq bb|1 aa 001567 702030 756111 stq sb|1048,x1 aa 001570 700003 236111 ldq sb|3,x1 " v aa 001571 702031 756111 stq sb|1049,x1 aa 001572 700004 236111 ldq sb|4,x1 " w aa 001573 702032 756111 stq sb|1050,x1 aa 001574 776543 272004 tsbbp L28+2 " Split aa 001575 002026 000003 zero 1046,3 aa 001576 700003 236111 138 ldq sb|3,x1 " v aa 001577 702030 756111 stq sb|1048,x1 aa 001600 600202 236100 ldq sp|130 " ProgramName aa 001601 702031 756111 stq sb|1049,x1 4a 001602 400044 272120 tsbbp lp|L51,* " EqualString aa 001603 002026 000002 zero 1046,2 aa 001604 000000 116007 cmpq 0,dl aa 001605 000010 600004 tze L114 aa 001606 000461 236007 ldq 305,dl " LinkRefersThis aa 001607 702030 756111 stq sb|1048,x1 aa 001610 702006 765111 lprplb sb|1030,x1 " p aa 001611 500001 236100 ldq lb|1 aa 001612 702031 756111 stq sb|1049,x1 4a 001613 400020 272120 tsbbp lp|L98,* " CGreport aa 001614 002026 000002 zero 1046,2 L114: aa 001615 702015 450111 139 stz sb|1037,x1 " y aa 001616 702020 450111 stz sb|1040,x1 " r aa 001617 700003 236111 ldq sb|3,x1 " v aa 001620 702030 756111 stq sb|1048,x1 4a 001621 400040 272120 tsbbp lp|L55,* " StoreString aa 001622 002026 000001 zero 1046,1 aa 001623 702021 756111 stq sb|1041,x1 aa 001624 702021 236111 ldq sb|1041,x1 aa 001625 702030 756111 stq sb|1048,x1 aa 001626 777017 272004 tsbbp L29+2 " GetName aa 001627 002026 000001 zero 1046,1 aa 001630 702017 756111 stq sb|1039,x1 " x aa 001631 000003 236007 ldq 3,dl " 3 aa 001632 702016 756111 stq sb|1038,x1 " z aa 001633 700004 236111 140 ldq sb|4,x1 " w aa 001634 702030 756111 stq sb|1048,x1 4a 001635 400016 272120 tsbbp lp|L116,* " Length aa 001636 002026 000001 zero 1046,1 aa 001637 000000 116007 cmpq 0,dl aa 001640 000017 600004 tze L115 aa 001641 700004 236111 ldq sb|4,x1 " w aa 001642 702030 756111 stq sb|1048,x1 4a 001643 400040 272120 tsbbp lp|L55,* " StoreString aa 001644 002026 000001 zero 1046,1 aa 001645 702021 756111 stq sb|1041,x1 aa 001646 702021 236111 ldq sb|1041,x1 aa 001647 702030 756111 stq sb|1048,x1 aa 001650 776775 272004 tsbbp L29+2 " GetName aa 001651 002026 000001 zero 1046,1 aa 001652 702015 756111 stq sb|1037,x1 " y aa 001653 000004 236007 ldq 4,dl " 4 aa 001654 702016 756111 stq sb|1038,x1 " z aa 001655 000025 236007 ldq 21,dl " RelDef aa 001656 702020 756111 stq sb|1040,x1 " r L115: aa 001657 000025 236007 141 ldq 21,dl " RelDef aa 001660 000022 736000 qls 18 aa 001661 600531 756100 stq sp|345 " Reloc aa 001662 600501 236100 142 ldq sp|321 " LC aa 001663 702006 760111 lprpap sb|1030,x1 " p aa 001664 000003 756100 stq ap|3 aa 001665 600501 236100 143 ldq sp|321 " LC aa 001666 000001 076007 adq 1,dl " 1 aa 001667 000022 736000 qls 18 aa 001670 702030 756111 stq sb|1048,x1 4a 001671 400032 272120 tsbbp lp|L67,* " OutW aa 001672 002026 000001 zero 1046,1 aa 001673 702016 236111 144 ldq sb|1038,x1 " z aa 001674 000022 736000 qls 18 aa 001675 702030 756111 stq sb|1048,x1 4a 001676 400032 272120 tsbbp lp|L67,* " OutW aa 001677 002026 000001 zero 1046,1 aa 001700 000025 236003 145 ldq 21,du aa 001701 702020 276111 orq sb|1040,x1 " r aa 001702 600531 756100 stq sp|345 " Reloc aa 001703 702017 236111 146 ldq sb|1039,x1 " x aa 001704 000022 736000 qls 18 aa 001705 702015 276111 orq sb|1037,x1 " y aa 001706 702030 756111 stq sb|1048,x1 4a 001707 400032 272120 tsbbp lp|L67,* " OutW aa 001710 002026 000001 zero 1046,1 aa 001711 702006 762111 147 lprpbp sb|1030,x1 " p aa 001712 200000 236100 ldq bp|0 aa 001713 702006 756111 stq sb|1030,x1 " p L112: aa 001714 702006 234111 szn sb|1030,x1 " p aa 001715 777650 601004 tnz L113 L70: aa 001716 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001717 200000 121100 sblx1 bp|0 aa 001720 700001 764111 lprplp sb|1,x1 aa 001721 200001 710100 tra bp|1 " end of return sequence " Literal pool L93: aa 001722 000020 000000 zero 16 " a table aa 001723 000022 000000 zero 18 aa 001724 000026 000000 zero 22 aa 001725 000025 000000 zero 21 L111: aa 001726 000104 014104 zero 68,6212 " "*fDefinition section part two - symbolic info for external references" aa 001727 145146 151156 zero 51814,53870 aa 001730 151164 151157 zero 53876,53871 aa 001731 156040 163145 zero 56352,58981 aa 001732 143164 151157 zero 50804,53871 aa 001733 156040 160141 zero 56352,57441 aa 001734 162164 040164 zero 58484,16500 aa 001735 167157 040055 zero 61039,16429 aa 001736 040163 171155 zero 16499,62061 aa 001737 142157 154151 zero 50287,55401 aa 001740 143040 151156 zero 50720,53870 aa 001741 146157 040146 zero 52335,16486 aa 001742 157162 040145 zero 56946,16485 aa 001743 170164 145162 zero 61556,51826 aa 001744 156141 154040 zero 56417,55328 aa 001745 162145 146145 zero 58469,52325 aa 001746 162145 156143 zero 58469,56419 aa 001747 145163 000000 zero 51827 L110: aa 001750 000032 166141 zero 26,60513 " "value defined, class flags" aa 001751 154165 145040 zero 55413,51744 aa 001752 144145 146151 zero 51301,52329 aa 001753 156145 144054 zero 56421,51244 aa 001754 040143 154141 zero 16483,55393 aa 001755 163163 040146 zero 58995,16486 aa 001756 154141 147163 zero 55393,52851 L109: aa 001757 000031 146157 zero 25,52335 " "forward, backward threads" aa 001760 162167 141162 zero 58487,49778 aa 001761 144054 040142 zero 51244,16482 aa 001762 141143 153167 zero 49763,54903 aa 001763 141162 144040 zero 49778,51232 aa 001764 164150 162145 zero 59496,58469 aa 001765 141144 163000 zero 49764,58880 L108: aa 001766 000025 000025 zero 21,21 L106: aa 001767 000041 156141 zero 33,56417 " "name pointer, segname def pointer" aa 001770 155145 040160 zero 55909,16496 aa 001771 157151 156164 zero 56937,56436 aa 001772 145162 054040 zero 51826,22560 aa 001773 163145 147156 zero 58981,52846 aa 001774 141155 145040 zero 49773,51744 aa 001775 144145 146040 zero 51301,52256 aa 001776 160157 151156 zero 57455,53870 aa 001777 164145 162000 zero 59493,58368 L105: aa 002000 000020 012104 zero 16,5188 " "*nDefinition for " aa 002001 145146 151156 zero 51814,53870 aa 002002 151164 151157 zero 53876,53871 aa 002003 156040 146157 zero 56352,52335 aa 002004 162040 000000 zero 58400 L104: aa 002005 000035 156141 zero 29,56417 " "name pointer, first entry def" aa 002006 155145 040160 zero 55909,16496 aa 002007 157151 156164 zero 56937,56436 aa 002010 145162 054040 zero 51826,22560 aa 002011 146151 162163 zero 52329,58483 aa 002012 164040 145156 zero 59424,51822 aa 002013 164162 171040 zero 59506,61984 aa 002014 144145 146000 zero 51301,52224 L103: aa 002015 000030 012123 zero 24,5203 " "*nSegname definition for " aa 002016 145147 156141 zero 51815,56417 aa 002017 155145 040144 zero 55909,16484 aa 002020 145146 151156 zero 51814,53870 aa 002021 151164 151157 zero 53876,53871 aa 002022 156040 146157 zero 56352,52335 aa 002023 162040 000000 zero 58400 L97: aa 002024 000011 127162 zero 9,44658 " "WriteDefs" aa 002025 151164 145104 zero 53876,51780 aa 002026 145146 163000 zero 51814,58880 L90: aa 002027 000020 154151 zero 16,55401 " "list terminator*n" aa 002030 163164 040164 zero 58996,16500 aa 002031 145162 155151 zero 51826,55913 aa 002032 156141 164157 zero 56417,59503 aa 002033 162012 000000 zero 58378 L88: aa 002034 000040 146154 zero 32,52332 " "flags: new format, ignore header" aa 002035 141147 163072 zero 49767,58938 aa 002036 040156 145167 zero 16494,51831 aa 002037 040146 157162 zero 16486,56946 aa 002040 155141 164054 zero 55905,59436 aa 002041 040151 147156 zero 16489,52846 aa 002042 157162 145040 zero 56946,51744 aa 002043 150145 141144 zero 53349,49764 aa 002044 145162 000000 zero 51826 L86: aa 002045 000033 160157 zero 27,57455 " "pointer to first definition" aa 002046 151156 164145 zero 53870,59493 aa 002047 162040 164157 zero 58400,59503 aa 002050 040146 151162 zero 16486,53874 aa 002051 163164 040144 zero 58996,16484 aa 002052 145146 151156 zero 51814,53870 aa 002053 151164 151157 zero 53876,53871 aa 002054 156000 000000 zero 56320 L82: aa 002055 000014 163171 zero 12,59001 " "symbol_table" aa 002056 155142 157154 zero 55906,56940 aa 002057 137164 141142 zero 48756,49762 aa 002060 154145 000000 zero 55397 L78: aa 002061 000013 011163 zero 11,4723 " "*tsegdef*t^s*n" aa 002062 145147 144145 zero 51815,51301 aa 002063 146011 136163 zero 52233,48243 aa 002064 012000 000000 zero 5120 L76: aa 002065 000014 011145 zero 12,4709 " "*tequ*t^s,L^d*n" aa 002066 161165 011136 zero 57973,4702 aa 002067 163054 114136 zero 58924,39006 aa 002070 144012 000000 zero 51210 L71: aa 002071 000064 014104 zero 52,6212 " "*fDefinition section part one - external entry points" aa 002072 145146 151156 zero 51814,53870 aa 002073 151164 151157 zero 53876,53871 aa 002074 156040 163145 zero 56352,58981 aa 002075 143164 151157 zero 50804,53871 aa 002076 156040 160141 zero 56352,57441 aa 002077 162164 040157 zero 58484,16495 aa 002100 156145 040055 zero 56421,16429 aa 002101 040145 170164 zero 16485,61556 aa 002102 145162 156141 zero 51826,56417 aa 002103 154040 145156 zero 55328,51822 aa 002104 164162 171040 zero 59506,61984 aa 002105 160157 151156 zero 57455,53870 aa 002106 164163 000000 zero 59507 " Begin text of WriteLinkage aa 002107 000014 127162 zero 12,44658 " WriteLinkage aa 002110 151164 145114 zero 53876,51788 aa 002111 151156 153141 zero 53870,54881 aa 002112 147145 000000 zero 52837 L117: aa 002113 000000 213000 210 epaq 0 " set lp to linkage section aa 002114 700026 764161 lprplp sb|22,*au aa 002115 200000 021100 adlx1 bp|0 " BCPL save aa 002116 700000 542111 sprpbp sb|0,x1 aa 002117 700001 544111 sprplp sb|1,x1 aa 002120 702041 620111 eax0 sb|1057,x1 aa 002121 777760 360003 anx0 -16,du aa 002122 700025 740100 stx0 sb|21 " end of save sequence aa 002123 000461 351404 211 eapab L121 " "*fLinkage section - static variables and external links" aa 002124 702016 541111 sprpab sb|1038,x1 4a 002125 400070 272120 tsbbp lp|L7,* " SectionHeader aa 002126 002014 000001 zero 1036,1 aa 002127 700002 236111 216 ldq sb|2,x1 " StaticList aa 002130 700006 756111 stq sb|6,x1 " t aa 002131 700005 450111 215 stz sb|5,x1 " LinksLength aa 002132 700004 450111 stz sb|4,x1 " StaticLength aa 002133 000010 236007 ldq 8,dl " 8 aa 002134 700003 756111 stq sb|3,x1 " HeaderLength aa 002135 000005 710004 217 tra L122 L123: aa 002136 700006 761111 lprpab sb|6,x1 " t aa 002137 100000 236100 ldq ab|0 aa 002140 700006 756111 stq sb|6,x1 " t aa 002141 700004 054111 aos sb|4,x1 " StaticLength L122: aa 002142 700006 234111 szn sb|6,x1 " t aa 002143 777773 601004 tnz L123 aa 002144 600507 236100 218 ldq sp|327 " LinkList aa 002145 700006 756111 stq sb|6,x1 " t aa 002146 000006 710004 219 tra L124 L125: aa 002147 700006 763111 lprpbb sb|6,x1 " t aa 002150 300000 236100 ldq bb|0 aa 002151 700006 756111 stq sb|6,x1 " t aa 002152 000002 236007 ldq 2,dl " 2 aa 002153 700005 056111 asq sb|5,x1 " LinksLength L124: aa 002154 700006 234111 szn sb|6,x1 " t aa 002155 777772 601004 tnz L125 aa 002156 700005 234111 220 szn sb|5,x1 " LinksLength aa 002157 000005 600004 tze L126 aa 002160 700004 236111 ldq sb|4,x1 " StaticLength aa 002161 000001 076007 adq 1,dl " 1 aa 002162 000421 376004 anq L127 " Even aa 002163 700004 756111 stq sb|4,x1 " StaticLength L126: aa 002164 700003 236111 221 ldq sb|3,x1 " HeaderLength aa 002165 700004 076111 adq sb|4,x1 " StaticLength aa 002166 700005 076111 adq sb|5,x1 " LinksLength aa 002167 700007 756111 stq sb|7,x1 " TotalLength aa 002170 702016 450111 224 stz sb|1038,x1 aa 002171 000406 371404 eaplb L128 " "linkage header" aa 002172 702017 545111 sprplb sb|1039,x1 4a 002173 400024 272120 tsbbp lp|L87,* " OutW2 aa 002174 002014 000002 zero 1036,2 aa 002175 000020 236007 225 ldq 16,dl " RelText aa 002176 000022 736000 qls 18 aa 002177 600531 756100 stq sp|345 " Reloc aa 002200 600545 236100 226 ldq sp|357 " TextLength aa 002201 000001 076007 adq 1,dl " 1 aa 002202 000401 376004 anq L127 " Even aa 002203 000022 736000 qls 18 aa 002204 702016 756111 stq sb|1038,x1 aa 002205 000365 371404 eaplb L129 " "address of defs" aa 002206 702017 545111 sprplb sb|1039,x1 4a 002207 400024 272120 tsbbp lp|L87,* " OutW2 aa 002210 002014 000002 zero 1036,2 aa 002211 000001 236007 227 ldq 1,dl " 1 aa 002212 700010 756111 stq sb|8,x1 " i aa 002213 000005 710004 tra L130 L131: aa 002214 702016 450111 stz sb|1038,x1 4a 002215 400032 272120 tsbbp lp|L67,* " OutW aa 002216 002014 000001 zero 1036,1 aa 002217 700010 054111 aos sb|8,x1 " i L130: aa 002220 700010 236111 ldq sb|8,x1 " i aa 002221 000004 116007 cmpq 4,dl " 4 aa 002222 777772 604404 tmoz L131 aa 002223 000022 235007 228 lda 18,dl " RelLink18 aa 002224 000022 735000 als 18 aa 002225 600531 755100 sta sp|345 " Reloc aa 002226 700003 235111 229 lda sb|3,x1 " HeaderLength aa 002227 700004 075111 ada sb|4,x1 " StaticLength aa 002230 000022 735000 als 18 aa 002231 700007 275111 ora sb|7,x1 " TotalLength aa 002232 702016 755111 sta sb|1038,x1 aa 002233 000327 371404 eaplb L132 " "offset to links, total length" aa 002234 702017 545111 sprplb sb|1039,x1 4a 002235 400024 272120 tsbbp lp|L87,* " OutW2 aa 002236 002014 000002 zero 1036,2 aa 002237 700007 235111 230 lda sb|7,x1 " TotalLength aa 002240 702016 755111 sta sb|1038,x1 aa 002241 000314 371404 eaplb L133 " "obsolete length" aa 002242 702017 545111 sprplb sb|1039,x1 4a 002243 400024 272120 tsbbp lp|L87,* " OutW2 aa 002244 002014 000002 zero 1036,2 aa 002245 700002 234111 232 szn sb|2,x1 " StaticList aa 002246 000062 600004 tze L134 aa 002247 000301 371404 233 eaplb L135 " "*nStatic variables" aa 002250 702016 545111 sprplb sb|1038,x1 4a 002251 400070 272120 tsbbp lp|L7,* " SectionHeader aa 002252 002014 000001 zero 1036,1 aa 002253 600144 234100 234 szn sp|100 " Listing aa 002254 000011 600004 tze L136 aa 002255 000267 371404 235 eaplb L137 " "*tuse*tlinkc*n" aa 002256 702016 545111 sprplb sb|1038,x1 4a 002257 400014 272120 tsbbp lp|L138,* " WriteS aa 002260 002014 000001 zero 1036,1 aa 002261 000256 371404 236 eaplb L139 " "*tjoin*t/link/linkc*n" aa 002262 702016 545111 sprplb sb|1038,x1 4a 002263 400014 272120 tsbbp lp|L138,* " WriteS aa 002264 002014 000001 zero 1036,1 L136: aa 002265 700002 235111 238 lda sb|2,x1 " StaticList aa 002266 700006 755111 sta sb|6,x1 " t aa 002267 000037 710004 239 tra L140 L141: aa 002270 700006 765111 240 lprplb sb|6,x1 " t aa 002271 500001 235100 lda lb|1 aa 002272 700003 075111 ada sb|3,x1 " HeaderLength aa 002273 600501 115100 cmpa sp|321 " LC aa 002274 000007 600004 tze L142 aa 002275 000463 235007 lda 307,dl " PhaseError aa 002276 702016 755111 sta sb|1038,x1 aa 002277 000234 350004 eapap L143 " "WriteLinkage" aa 002300 702017 540111 sprpap sb|1039,x1 4a 002301 400020 272120 tsbbp lp|L98,* " CGreport aa 002302 002014 000002 zero 1036,2 L142: aa 002303 700006 760111 241 lprpap sb|6,x1 " t aa 002304 000002 235100 lda ap|2 aa 002305 600464 755100 sta sp|308 " Comment aa 002306 700006 762111 242 lprpbp sb|6,x1 " t aa 002307 200003 235100 lda bp|3 aa 002310 702016 755111 sta sb|1038,x1 aa 002311 700006 761111 lprpab sb|6,x1 " t aa 002312 100004 235100 lda ab|4 aa 002313 702017 755111 sta sb|1039,x1 4a 002314 400012 272120 tsbbp lp|L144,* " EvalNumber aa 002315 002014 000002 zero 1036,2 aa 002316 700010 756111 stq sb|8,x1 aa 002317 700010 236111 ldq sb|8,x1 aa 002320 702016 756111 stq sb|1038,x1 4a 002321 400060 272120 tsbbp lp|L25,* " OutData aa 002322 002014 000001 zero 1036,1 aa 002323 700006 763111 243 lprpbb sb|6,x1 " t aa 002324 300000 236100 ldq bb|0 aa 002325 700006 756111 stq sb|6,x1 " t L140: aa 002326 700006 234111 szn sb|6,x1 " t aa 002327 777741 601004 tnz L141 L134: aa 002330 600507 234100 247 szn sp|327 " LinkList aa 002331 000147 600004 tze L145 aa 002332 600501 236100 248 ldq sp|321 " LC aa 002333 000001 376007 anq 1,dl " 1 aa 002334 000004 600004 tze L146 aa 002335 702016 450111 stz sb|1038,x1 4a 002336 400032 272120 tsbbp lp|L67,* " OutW aa 002337 002014 000001 zero 1036,1 L146: aa 002340 000165 371404 249 eaplb L147 " "*nExternal link pairs" aa 002341 702016 545111 sprplb sb|1038,x1 4a 002342 400070 272120 tsbbp lp|L7,* " SectionHeader aa 002343 002014 000001 zero 1036,1 aa 002344 600507 236100 250 ldq sp|327 " LinkList aa 002345 700006 756111 stq sb|6,x1 " t aa 002346 000130 710004 251 tra L148 L149: aa 002347 700006 765111 252 lprplb sb|6,x1 " t aa 002350 500002 236100 ldq lb|2 aa 002351 702016 756111 stq sb|1038,x1 aa 002352 600501 236100 ldq sp|321 " LC aa 002353 702017 756111 stq sb|1039,x1 4a 002354 400022 272120 tsbbp lp|L89,* " DefineLab aa 002355 002014 000002 zero 1036,2 aa 002356 000004 236007 253 ldq 4,dl " LabelSwitch aa 002357 702016 756111 stq sb|1038,x1 aa 002360 700006 760111 lprpap sb|6,x1 " t aa 002361 000002 236100 ldq ap|2 aa 002362 702017 756111 stq sb|1039,x1 aa 002363 600501 236100 ldq sp|321 " LC aa 002364 702020 756111 stq sb|1040,x1 4a 002365 400010 272120 tsbbp lp|L150,* " PutCode aa 002366 002014 000003 zero 1036,3 aa 002367 700006 762111 254 lprpbp sb|6,x1 " t aa 002370 200001 236100 ldq bp|1 aa 002371 600464 756100 stq sp|308 " Comment aa 002372 000023 236007 255 ldq 19,dl " RelNegLink18 aa 002373 000022 736000 qls 18 aa 002374 600531 756100 stq sp|345 " Reloc aa 002375 600501 336100 256 lcq sp|321 " LC aa 002376 000022 736000 qls 18 aa 002377 000046 276007 orq 38,dl " Ft2 aa 002400 702016 756111 stq sb|1038,x1 4a 002401 400032 272120 tsbbp lp|L67,* " OutW aa 002402 002014 000001 zero 1036,1 aa 002403 000025 236007 257 ldq 21,dl " RelDef aa 002404 000022 736000 qls 18 aa 002405 600531 756100 stq sp|345 " Reloc aa 002406 700006 761111 258 lprpab sb|6,x1 " t aa 002407 100003 236100 ldq ab|3 aa 002410 000022 736000 qls 18 aa 002411 702016 756111 stq sb|1038,x1 4a 002412 400032 272120 tsbbp lp|L67,* " OutW aa 002413 002014 000001 zero 1036,1 aa 002414 600144 234100 259 szn sp|100 " Listing aa 002415 000056 600004 tze L151 aa 002416 700014 353511 260 eapbb sb|12,x1 " a vector aa 002417 700011 543111 sprpbb sb|9,x1 " v aa 002420 701014 353511 eapbb sb|524,x1 " a vector aa 002421 700010 543111 sprpbb sb|8,x1 " w aa 002422 700006 763111 261 lprpbb sb|6,x1 " t aa 002423 300001 236100 ldq bb|1 aa 002424 702016 756111 stq sb|1038,x1 aa 002425 700011 236111 ldq sb|9,x1 " v aa 002426 702017 756111 stq sb|1039,x1 aa 002427 700010 236111 ldq sb|8,x1 " w aa 002430 702020 756111 stq sb|1040,x1 aa 002431 775706 272004 tsbbp L28+2 " Split aa 002432 002014 000003 zero 1036,3 aa 002433 600040 236100 262 ldq sp|32 " OUTPUT aa 002434 702016 756111 stq sb|1038,x1 aa 002435 000063 371404 eaplb L152 " "*tlink*tL^d,<^s>|" aa 002436 702017 545111 sprplb sb|1039,x1 aa 002437 700006 765111 lprplb sb|6,x1 " t aa 002440 500002 236100 ldq lb|2 aa 002441 702020 756111 stq sb|1040,x1 aa 002442 700011 236111 ldq sb|9,x1 " v aa 002443 702021 756111 stq sb|1041,x1 4a 002444 400026 272120 tsbbp lp|L77,* " Format aa 002445 002014 000004 zero 1036,4 aa 002446 700010 236111 263 ldq sb|8,x1 " w aa 002447 702016 756111 stq sb|1038,x1 4a 002450 400016 272120 tsbbp lp|L116,* " Length aa 002451 002014 000001 zero 1036,1 aa 002452 000000 116007 cmpq 0,dl aa 002453 000010 601004 tnz L153 aa 002454 600040 236100 264 ldq sp|32 " OUTPUT aa 002455 702016 756111 stq sb|1038,x1 aa 002456 000041 350004 eapap L155 " "0*n" aa 002457 702017 540111 sprpap sb|1039,x1 4a 002460 400014 272120 tsbbp lp|L138,* " WriteS aa 002461 002014 000002 zero 1036,2 aa 002462 000011 710004 tra L154 L153: aa 002463 600040 236100 265 ldq sp|32 " OUTPUT aa 002464 702016 756111 stq sb|1038,x1 aa 002465 000030 350004 eapap L156 " "[^s]*n" aa 002466 702017 540111 sprpap sb|1039,x1 aa 002467 700010 236111 ldq sb|8,x1 " w aa 002470 702020 756111 stq sb|1040,x1 4a 002471 400026 272120 tsbbp lp|L77,* " Format aa 002472 002014 000003 zero 1036,3 L154: L151: aa 002473 700006 760111 267 lprpap sb|6,x1 " t aa 002474 000000 236100 ldq ap|0 aa 002475 700006 756111 stq sb|6,x1 " t L148: aa 002476 700006 234111 szn sb|6,x1 " t aa 002477 777650 601004 tnz L149 L145: aa 002500 600501 236100 271 ldq sp|321 " LC aa 002501 700007 116111 cmpq sb|7,x1 " TotalLength aa 002502 000007 600004 tze L157 aa 002503 000463 235007 lda 307,dl " PhaseError aa 002504 702016 755111 sta sb|1038,x1 aa 002505 000026 352004 eapbp L143 " "WriteLinkage" aa 002506 702017 542111 sprpbp sb|1039,x1 4a 002507 400020 272120 tsbbp lp|L98,* " CGreport aa 002510 002014 000002 zero 1036,2 L157: L120: aa 002511 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002512 200000 121100 sblx1 bp|0 aa 002513 700001 764111 lprplp sb|1,x1 aa 002514 200001 710100 tra bp|1 " end of return sequence " Literal pool L156: aa 002515 000005 133136 zero 5,46686 " "[^s]*n" aa 002516 163135 012000 zero 58973,5120 L155: aa 002517 000002 060012 zero 2,24586 " "0*n" L152: aa 002520 000017 011154 zero 15,4716 " "*tlink*tL^d,<^s>|" aa 002521 151156 153011 zero 53870,54793 aa 002522 114136 144054 zero 39006,51244 aa 002523 074136 163076 zero 30814,58942 aa 002524 174000 000000 zero 63488 L147: aa 002525 000024 012105 zero 20,5189 " "*nExternal link pairs" aa 002526 170164 145162 zero 61556,51826 aa 002527 156141 154040 zero 56417,55328 aa 002530 154151 156153 zero 55401,56427 aa 002531 040160 141151 zero 16496,49769 aa 002532 162163 000000 zero 58483 L143: aa 002533 000014 127162 zero 12,44658 " "WriteLinkage" aa 002534 151164 145114 zero 53876,51788 aa 002535 151156 153141 zero 53870,54881 aa 002536 147145 000000 zero 52837 L139: aa 002537 000022 011152 zero 18,4714 " "*tjoin*t/link/linkc*n" aa 002540 157151 156011 zero 56937,56329 aa 002541 057154 151156 zero 24172,53870 aa 002542 153057 154151 zero 54831,55401 aa 002543 156153 143012 zero 56427,50698 L137: aa 002544 000013 011165 zero 11,4725 " "*tuse*tlinkc*n" aa 002545 163145 011154 zero 58981,4716 aa 002546 151156 153143 zero 53870,54883 aa 002547 012000 000000 zero 5120 L135: aa 002550 000021 012123 zero 17,5203 " "*nStatic variables" aa 002551 164141 164151 zero 59489,59497 aa 002552 143040 166141 zero 50720,60513 aa 002553 162151 141142 zero 58473,49762 aa 002554 154145 163000 zero 55397,58880 L133: aa 002555 000017 157142 zero 15,56930 " "obsolete length" aa 002556 163157 154145 zero 58991,55397 aa 002557 164145 040154 zero 59493,16492 aa 002560 145156 147164 zero 51822,52852 aa 002561 150000 000000 zero 53248 L132: aa 002562 000035 157146 zero 29,56934 " "offset to links, total length" aa 002563 146163 145164 zero 52339,51828 aa 002564 040164 157040 zero 16500,56864 aa 002565 154151 156153 zero 55401,56427 aa 002566 163054 040164 zero 58924,16500 aa 002567 157164 141154 zero 56948,49772 aa 002570 040154 145156 zero 16492,51822 aa 002571 147164 150000 zero 52852,53248 L129: aa 002572 000017 141144 zero 15,49764 " "address of defs" aa 002573 144162 145163 zero 51314,51827 aa 002574 163040 157146 zero 58912,56934 aa 002575 040144 145146 zero 16484,51814 aa 002576 163000 000000 zero 58880 L128: aa 002577 000016 154151 zero 14,55401 " "linkage header" aa 002600 156153 141147 zero 56427,49767 aa 002601 145040 150145 zero 51744,53349 aa 002602 141144 145162 zero 49764,51826 L127: aa 002603 777777 777776 zero -1,-2 " Even L121: aa 002604 000066 014114 zero 54,6220 " "*fLinkage section - static variables and external links" aa 002605 151156 153141 zero 53870,54881 aa 002606 147145 040163 zero 52837,16499 aa 002607 145143 164151 zero 51811,59497 aa 002610 157156 040055 zero 56942,16429 aa 002611 040163 164141 zero 16499,59489 aa 002612 164151 143040 zero 59497,50720 aa 002613 166141 162151 zero 60513,58473 aa 002614 141142 154145 zero 49762,55397 aa 002615 163040 141156 zero 58912,49774 aa 002616 144040 145170 zero 51232,51832 aa 002617 164145 162156 zero 59493,58478 aa 002620 141154 040154 zero 49772,16492 aa 002621 151156 153163 zero 53870,54899 " Definition section part one - external entry points 5a 000000 000027 000000 " pointer to first definition aa 000001 000000 600000 " flags: new format, ignore header aa 000002 000000 000000 " list terminator aa 000003 010142 143160 " "bcpl_cg7" aa 000004 154137 143147 aa 000005 067000 000000 aa 000006 014127 162151 " "WriteLinkage" aa 000007 164145 114151 aa 000010 156153 141147 aa 000011 145000 000000 aa 000012 011127 162151 " "WriteDefs" aa 000013 164145 104145 aa 000014 146163 000000 aa 000015 012127 162151 " "WriteEntry" aa 000016 164145 105156 aa 000017 164162 171000 aa 000020 012127 162151 " "WriteGetlp" aa 000021 164145 107145 aa 000022 164154 160000 aa 000023 014163 171155 " "symbol_table" aa 000024 142157 154137 aa 000025 164141 142154 aa 000026 145000 000000 " Segname definition for bcpl_cg7 55 000027 000032 000002 " forward, backward threads 5a 000030 000002 400003 " value defined, class flags 55 000031 000003 000032 " name pointer, first entry def " Definition for WriteLinkage 55 000032 000035 000027 " forward, backward threads 0a 000033 002113 500000 " value defined, class flags 55 000034 000006 000027 " name pointer, segname def pointer " Definition for WriteDefs 55 000035 000040 000032 " forward, backward threads 0a 000036 001037 500000 " value defined, class flags 55 000037 000012 000027 " name pointer, segname def pointer " Definition for WriteEntry 55 000040 000043 000035 " forward, backward threads 0a 000041 000131 500000 " value defined, class flags 55 000042 000015 000027 " name pointer, segname def pointer " Definition for WriteGetlp 55 000043 000046 000040 " forward, backward threads 0a 000044 000003 500000 " value defined, class flags 55 000045 000020 000027 " name pointer, segname def pointer " Definition for symbol_table 55 000046 000002 000043 " forward, backward threads 6a 000047 000000 400002 " value defined, class flags 55 000050 000023 000027 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000051 010142 143160 " "bcpl_cg5" aa 000052 154137 143147 aa 000053 065000 000000 aa 000054 007120 165164 " "PutCode" aa 000055 103157 144145 5a 000056 000057 000000 aa 000057 000004 000000 55 000060 000051 000054 aa 000061 010142 143160 " "bcpl_cg2" aa 000062 154137 143147 aa 000063 062000 000000 aa 000064 012105 166141 " "EvalNumber" aa 000065 154116 165155 aa 000066 142145 162000 5a 000067 000070 000000 aa 000070 000004 000000 55 000071 000061 000064 aa 000072 017142 143160 " "bcpl_stream_io_" aa 000073 154137 163164 aa 000074 162145 141155 aa 000075 137151 157137 aa 000076 006127 162151 " "WriteS" aa 000077 164145 123000 5a 000100 000101 000000 aa 000101 000004 000000 55 000102 000072 000076 aa 000103 015142 143160 " "bcpl_strings_" aa 000104 154137 163164 aa 000105 162151 156147 aa 000106 163137 000000 aa 000107 006114 145156 " "Length" aa 000110 147164 150000 5a 000111 000112 000000 aa 000112 000004 000000 55 000113 000103 000107 aa 000114 013142 143160 " "bcpl_report" aa 000115 154137 162145 aa 000116 160157 162164 aa 000117 010103 107162 " "CGreport" aa 000120 145160 157162 aa 000121 164000 000000 5a 000122 000123 000000 aa 000123 000004 000000 55 000124 000114 000117 aa 000125 011104 145146 " "DefineLab" aa 000126 151156 145114 aa 000127 141142 000000 5a 000130 000131 000000 aa 000131 000004 000000 55 000132 000061 000125 aa 000133 005117 165164 " "OutW2" aa 000134 127062 000000 5a 000135 000136 000000 aa 000136 000004 000000 55 000137 000051 000133 aa 000140 006106 157162 " "Format" aa 000141 155141 164000 5a 000142 000143 000000 aa 000143 000004 000000 55 000144 000072 000140 aa 000145 014142 143160 " "bcpl_utility" aa 000146 154137 165164 aa 000147 151154 151164 aa 000150 171000 000000 aa 000151 005114 151163 " "List4" aa 000152 164064 000000 5a 000153 000154 000000 aa 000154 000004 000000 55 000155 000145 000151 aa 000156 004117 165164 " "OutW" aa 000157 127000 000000 5a 000160 000161 000000 aa 000161 000004 000000 55 000162 000051 000156 aa 000163 013103 157156 " "Concatenate" aa 000164 143141 164145 aa 000165 156141 164145 5a 000166 000167 000000 aa 000167 000004 000000 55 000170 000103 000163 aa 000171 005114 151163 " "List3" aa 000172 164063 000000 5a 000173 000174 000000 aa 000174 000004 000000 55 000175 000145 000171 aa 000176 013123 164157 " "StoreString" aa 000177 162145 123164 aa 000200 162151 156147 5a 000201 000202 000000 aa 000202 000004 000000 55 000203 000145 000176 aa 000204 011116 145170 " "Nextparam" aa 000205 164160 141162 aa 000206 141155 000000 5a 000207 000210 000000 aa 000210 000004 000000 55 000211 000145 000204 aa 000212 013105 161165 " "EqualString" aa 000213 141154 123164 aa 000214 162151 156147 5a 000215 000216 000000 aa 000216 000004 000000 55 000217 000103 000212 aa 000220 006116 145167 " "Newvec" aa 000221 166145 143000 5a 000222 000223 000000 aa 000223 000004 000000 55 000224 000145 000220 aa 000225 022142 143160 " "bcpl_machine_code_" aa 000226 154137 155141 aa 000227 143150 151156 aa 000230 145137 143157 aa 000231 144145 137000 aa 000232 012120 141143 " "Packstring" aa 000233 153163 164162 aa 000234 151156 147000 5a 000235 000236 000000 aa 000236 000004 000000 55 000237 000225 000232 aa 000240 014125 156160 " "Unpackstring" aa 000241 141143 153163 aa 000242 164162 151156 aa 000243 147000 000000 5a 000244 000245 000000 aa 000245 000004 000000 55 000246 000225 000240 aa 000247 021142 143160 " "bcpl_conversions_" aa 000250 154137 143157 aa 000251 156166 145162 aa 000252 163151 157156 aa 000253 163137 000000 aa 000254 015122 145155 " "RemoveEscapes" aa 000255 157166 145105 aa 000256 163143 141160 aa 000257 145163 000000 5a 000260 000261 000000 aa 000261 000004 000000 55 000262 000247 000254 aa 000263 010142 143160 " "bcpl_cg4" aa 000264 154137 143147 aa 000265 064000 000000 aa 000266 012103 157155 " "Compfinish" aa 000267 160146 151156 aa 000270 151163 150000 5a 000271 000272 000000 aa 000272 000004 000000 55 000273 000263 000266 aa 000274 007117 165164 " "OutData" aa 000275 104141 164141 5a 000276 000277 000000 aa 000277 000004 000000 55 000300 000051 000274 aa 000301 006117 165164 " "Outop4" aa 000302 157160 064000 5a 000303 000304 000000 aa 000304 000004 000000 55 000305 000051 000301 aa 000306 006117 165164 " "Outop3" aa 000307 157160 063000 5a 000310 000311 000000 aa 000311 000004 000000 55 000312 000051 000306 aa 000313 007103 157155 " "Complab" aa 000314 160154 141142 5a 000315 000316 000000 aa 000316 000004 000000 55 000317 000061 000313 aa 000320 015123 145143 " "SectionHeader" aa 000321 164151 157156 aa 000322 110145 141144 aa 000323 145162 000000 5a 000324 000325 000000 aa 000325 000004 000000 55 000326 000051 000320 aa 000327 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 002622 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000072 " offset to links, total length aa 000007 000000 000072 " obsolete length " External link pairs L150: 3a 000010 777770 000046 " "bcpl_cg5$PutCode" 5a 000011 000056 000000 L144: 3a 000012 777766 000046 " "bcpl_cg2$EvalNumber" 5a 000013 000067 000000 L138: 3a 000014 777764 000046 " "bcpl_stream_io_$WriteS" 5a 000015 000100 000000 L116: 3a 000016 777762 000046 " "bcpl_strings_$Length" 5a 000017 000111 000000 L98: 3a 000020 777760 000046 " "bcpl_report$CGreport" 5a 000021 000122 000000 L89: 3a 000022 777756 000046 " "bcpl_cg2$DefineLab" 5a 000023 000130 000000 L87: 3a 000024 777754 000046 " "bcpl_cg5$OutW2" 5a 000025 000135 000000 L77: 3a 000026 777752 000046 " "bcpl_stream_io_$Format" 5a 000027 000142 000000 L72: 3a 000030 777750 000046 " "bcpl_utility$List4" 5a 000031 000153 000000 L67: 3a 000032 777746 000046 " "bcpl_cg5$OutW" 5a 000033 000160 000000 L64: 3a 000034 777744 000046 " "bcpl_strings_$Concatenate" 5a 000035 000166 000000 L62: 3a 000036 777742 000046 " "bcpl_utility$List3" 5a 000037 000173 000000 L55: 3a 000040 777740 000046 " "bcpl_utility$StoreString" 5a 000041 000201 000000 L54: 3a 000042 777736 000046 " "bcpl_utility$Nextparam" 5a 000043 000207 000000 L51: 3a 000044 777734 000046 " "bcpl_strings_$EqualString" 5a 000045 000215 000000 L46: 3a 000046 777732 000046 " "bcpl_utility$Newvec" 5a 000047 000222 000000 L41: 3a 000050 777730 000046 " "bcpl_machine_code_$Packstring" 5a 000051 000235 000000 L35: 3a 000052 777726 000046 " "bcpl_machine_code_$Unpackstring" 5a 000053 000244 000000 L34: 3a 000054 777724 000046 " "bcpl_conversions_$RemoveEscapes" 5a 000055 000260 000000 L26: 3a 000056 777722 000046 " "bcpl_cg4$Compfinish" 5a 000057 000271 000000 L25: 3a 000060 777720 000046 " "bcpl_cg5$OutData" 5a 000061 000276 000000 L17: 3a 000062 777716 000046 " "bcpl_cg5$Outop4" 5a 000063 000303 000000 L10: 3a 000064 777714 000046 " "bcpl_cg5$Outop3" 5a 000065 000310 000000 L8: 3a 000066 777712 000046 " "bcpl_cg2$Complab" 5a 000067 000315 000000 L7: 3a 000070 777710 000046 " "bcpl_cg5$SectionHeader" 5a 000071 000324 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 436434 357466 " 01/24/75 0656.4 mst Fri aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000056 000035 " compiler version name - pointer, length aa 000013 000066 000024 " user id - pointer, length aa 000014 000073 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 000175 " section header pointer, block size aa 000020 000000 000175 " next block pointer, rel_text aa 000021 000000 000254 " rel_def, rel_link aa 000022 000267 000175 " rel_symbol, default truncate aa 000023 000024 000000 " optional truncate, unused aa 000024 000000 000001 " source files map: version number aa 000025 000000 000006 " number of files aa 000026 000104 000047 " bcpl_cg7 aa 000027 023333 611411 " last modified on aa 000030 000000 102333 " 01/24/75 0647.2 mst Fri aa 000031 432366 600000 aa 000032 000116 000043 " bcpl_cg_head aa 000033 021607 540213 " last modified on aa 000034 000000 101621 " 05/06/74 1740.6 mst Mon aa 000035 351403 200000 aa 000036 000127 000051 " bcpl_compiler_head aa 000037 021607 540214 " last modified on aa 000040 000000 101621 " 05/06/74 1740.6 mst Mon aa 000041 351403 200000 aa 000042 000142 000043 " bcpl_symbols aa 000043 021607 540223 " last modified on aa 000044 000000 101621 " 05/06/74 1740.8 mst Mon aa 000045 351474 000000 aa 000046 000153 000044 " bcpl_cg_codes aa 000047 021607 540212 " last modified on aa 000050 000000 101621 " 05/06/74 1740.6 mst Mon aa 000051 351402 400000 aa 000052 000164 000043 " bcpl_opcodes aa 000053 021607 540221 " last modified on aa 000054 000000 101621 " 05/06/74 1740.8 mst Mon aa 000055 351474 000000 aa 000056 102103 120114 " "BCPL version 3.4, August 1973" aa 000057 040166 145162 aa 000060 163151 157156 aa 000061 040063 056064 aa 000062 054040 101165 aa 000063 147165 163164 aa 000064 040061 071067 aa 000065 063040 040040 aa 000066 115141 162164 " "Martinson.SysMaint.a" aa 000067 151156 163157 aa 000070 156056 123171 aa 000071 163115 141151 aa 000072 156164 056141 aa 000073 163157 165162 " "source xref alist optimize 6180" aa 000074 143145 040040 aa 000075 170162 145146 aa 000076 040040 141154 aa 000077 151163 164040 aa 000100 040157 160164 aa 000101 151155 151172 aa 000102 145040 040066 aa 000103 061070 060040 aa 000104 076062 056061 " ">2.1spec>online>mib083074>bcpl_cg7.bcpl" aa 000105 163160 145143 aa 000106 076157 156154 aa 000107 151156 145076 aa 000110 155151 142060 aa 000111 070063 060067 aa 000112 064076 142143 aa 000113 160154 137143 aa 000114 147067 056142 aa 000115 143160 154040 aa 000116 076154 144144 " ">ldd>include>bcpl_cg_head.incl.bcpl" aa 000117 076151 156143 aa 000120 154165 144145 aa 000121 076142 143160 aa 000122 154137 143147 aa 000123 137150 145141 aa 000124 144056 151156 aa 000125 143154 056142 aa 000126 143160 154040 aa 000127 076154 144144 " ">ldd>include>bcpl_compiler_head.incl.bcpl" aa 000130 076151 156143 aa 000131 154165 144145 aa 000132 076142 143160 aa 000133 154137 143157 aa 000134 155160 151154 aa 000135 145162 137150 aa 000136 145141 144056 aa 000137 151156 143154 aa 000140 056142 143160 aa 000141 154040 040040 aa 000142 076154 144144 " ">ldd>include>bcpl_symbols.incl.bcpl" aa 000143 076151 156143 aa 000144 154165 144145 aa 000145 076142 143160 aa 000146 154137 163171 aa 000147 155142 157154 aa 000150 163056 151156 aa 000151 143154 056142 aa 000152 143160 154040 aa 000153 076154 144144 " ">ldd>include>bcpl_cg_codes.incl.bcpl" aa 000154 076151 156143 aa 000155 154165 144145 aa 000156 076142 143160 aa 000157 154137 143147 aa 000160 137143 157144 aa 000161 145163 056151 aa 000162 156143 154056 aa 000163 142143 160154 aa 000164 076154 144144 " ">ldd>include>bcpl_opcodes.incl.bcpl" aa 000165 076151 156143 aa 000166 154165 144145 aa 000167 076142 143160 aa 000170 154137 157160 aa 000171 143157 144145 aa 000172 163056 151156 aa 000173 143154 056142 aa 000174 143160 154040 " Relocation information " text section relocation bits aa 000175 000000 000002 " version number of rel-bits structure aa 000176 000000 003103 " length in bits aa 000177 740325 000500 aa 000200 000120 000024 aa 000201 000005 000005 aa 000202 000005 000005 aa 000203 170223 200123 aa 000204 601064 000005 aa 000205 170103 200000 aa 000206 247404 150000 aa 000207 012360 106401 aa 000210 202474 151500 aa 000211 002474 127500 aa 000212 002474 025500 aa 000213 002474 047517 aa 000214 014323 603064 aa 000215 000120 000517 aa 000216 025323 602164 aa 000217 740355 000500 aa 000220 000517 025723 aa 000221 604164 050024 aa 000222 740315 170167 aa 000223 236010 647405 aa 000224 351704 232000 aa 000225 050000 012000 aa 000226 247410 751702 aa 000227 032360 216400 aa 000230 000500 012000 aa 000231 002474 023517 aa 000232 007723 601264 aa 000233 740255 170107 aa 000234 236010 640001 aa 000235 236013 640001 aa 000236 236025 640005 aa 000237 170043 236215 aa 000240 647411 351700 aa 000241 572000 051700 aa 000242 772000 050000 aa 000243 240001 200123 aa 000244 601564 740255 aa 000245 000123 601464 aa 000246 002474 023517 aa 000247 004323 601364 aa 000250 740215 170147 aa 000251 200120 000024 aa 000252 740215 170067 aa 000253 236112 400000 l " inkage relocation bits aa 000254 000000 000002 " version number of rel-bits structure aa 000255 000000 000504 " length in bits aa 000256 100002 204652 aa 000257 465246 524652 aa 000260 465246 524652 aa 000261 465246 524652 aa 000262 465246 524652 aa 000263 465246 524652 aa 000264 465246 524652 aa 000265 465246 524652 aa 000266 465246 524652 s " ymbol relocation bits aa 000267 000000 000002 " version number of rel-bits structure aa 000270 000000 000043 " length in bits aa 000271 740365 770666 " Object map aa 003536 000000 000001 " version number of object_map structure aa 003537 157142 152137 " "obj_map " aa 003540 155141 160040 aa 003541 000000 002622 " text offset, length aa 003542 002622 000327 " def offset, length aa 003543 003152 000072 " link offset, length aa 003544 003244 000272 " symbol offset, length aa 003545 000000 000000 " break map offset, length aa 003546 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 003547 003536 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