Compilation listing of file >2.1spec>online>mib083074>bcpl_cg3.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0650.5 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 // Primitives to manipulate registers and addresses. 2 // Last modified on 06/06/74 at 18:22:13 by R F Mabee. 3 // Revised for 6180 and installed with Version 3.4 of the compiler, R F Mabee. 4 // First installed with Version 2.7 by 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 // LoadRegister moves a CG operand into an arithmetic register. 16 17 let LoadRegister (t, r) = valof 18 $( let q = FindInRegister (t, r) 19 if q ne 0 resultis Preserve (q) 20 if r = Ar | r = Qr then if FindInRegister (t, Qr + Ar - r) ne 0 do 21 $( SwapAandQ () 22 resultis Preserve (r) 23 $) 24 if IsNumber (t) resultis LoadNumber (EvalNumber (t!0, t!1), r, t!2) 25 r := GetRegister (r) 26 Makeaddressable (t) 27 Outop (r = EAQr -> Fld, FormOpcode (Lda, r)) 28 IndicatorsSetBy := r 29 resultis Preserve (r) 30 $) 31 and LoadNumber (n, r, c) = valof 32 $( r := GetRegister (r) 33 let Op = Lda 34 test r = EAQr 35 then Op := Fld 36 or if n < 0 then unless n = (1 lshift 35) do Op, n := Lca, - n // Can't complement most negative number. 37 Literal (n, c) 38 Outop (FormOpcode (Op, r)) 39 IndicatorsSetBy := r 40 resultis Preserve (r) 41 $) 42 and SwapAandQ () be 43 $( Outop4 (Llr, 36, 0, "exchange A and Q") 44 IndicatorsSetBy := 0 45 let p, q = RegisterTemps!Ar, RegisterTemps!Qr 46 RegisterTemps!Ar, RegisterTemps!Qr := q, p 47 if p ne 0 do p!2 := Qr 48 if q ne 0 do q!2 := Ar 49 $) 50 and LoadPointer (t, r) = valof 51 $( let q = FindInRegister (t, r) 52 if q ne 0 resultis Preserve (q) 53 r := GetRegister (r) 54 test IsAddress (t) 55 then $( SetupAddr (t) 56 Outop (FormOpcode (Eapap, r)) 57 $) 58 or $( Makeaddressable (t) 59 Outop (FormOpcode (Lprpap, r)) 60 $) 61 resultis Preserve (r) 62 $) 63 and LoadIndex (t, r) = valof 64 $( let q = FindInRegister (t, r) 65 if q = 0 & r = AnyXr do q := FindInRegister (t, AorQr) // A and Q can be used as index registers. 66 if q ne 0 resultis Preserve (q) 67 r := GetRegister (r) 68 test IsAddress (t) 69 then $( SetupAddr (t) 70 Outop (FormOpcode (Eax0, r)) 71 $) 72 or $( Makeaddressable (t) 73 Outop (FormOpcode (Lxl0, r)) 74 $) 75 IndicatorsSetBy := r 76 resultis Preserve (r) 77 $) 78 and LoadAppropriateRegister (t, r) = valof 79 $( if r = 0 do 80 $( r := FindInRegister (t, AorQr) 81 if r = 0 do r := FindInRegister (t, AnyPr) 82 if r = 0 do r := FindInRegister (t, EAQr) 83 if r ne 0 resultis Preserve (r) 84 r := IsAddress (t) -> AnyPr, AorQr 85 $) 86 if r = AorQr | Satisfactory (r, AorQr) | r = EAQr resultis LoadRegister (t, r) 87 if r = AnyPr | Satisfactory (r, AnyPr) resultis LoadPointer (t, r) 88 CGreport (UnexpectedCase, r, "LoadAppropriateRegister") 89 resultis Ar 90 $) 91 92 and Makeaddressable (t) be 93 $( test IsNumber (t) 94 then Literal (EvalNumber (t!0, t!1), t!2) 95 or test IsStored (t) 96 then SetATP (t) 97 or $( let u = list LV_GLOBAL, 0, 0 // Temporary cell. 98 Store (t, u) 99 Address, Tag, Param := 0, Sp, 0 100 $) 101 unless t!2 = 0 do Comment := t!2 102 $) 103 and SetupAddr (t) be 104 $( test IsAddress (t) 105 then SetATP (t) 106 or $( let r = LoadPointer (t, AnyPr) 107 Address, Tag, Param := 0, FormTag (r), 0 108 $) 109 unless t!2 = 0 do Comment := t!2 110 $) 111 and SetATP (t) be 112 $( Address, Tag, Param := 0, 0, 0 113 switchon t!0 into 114 $( case GLOBAL_S: case LV_GLOBAL: 115 Address, Tag := t!1, Sp 116 endcase 117 case TEMP_S: 118 let h = LookupTemp (t!1) 119 if h ne 0 then if h!1 = VECAP_S | h!1 = LVECAP_S do 120 $( CombineAddress (lv h!2, lv h!5, h!8) 121 endcase 122 $) 123 case LOCAL_S: case LV_LOCAL: 124 case LV_TEMP: 125 Address, Tag := t!1 + SaveSpaceSize, StackRefTag 126 endcase 127 case LV_ARG_OUT: 128 Address, Tag, Param := t!1 + SaveSpaceSize, StackRefTag, LabMaxSSP 129 endcase 130 case STATIC_S: case LV_STATIC: 131 Address, Tag := t!1 + 8, Lp 132 endcase 133 case EXTERNAL_S: 134 Tag, Param := Lp | Star, Compexternal (t!1) 135 endcase 136 case LABEL_S: case RTDEF_S: 137 Param := t!1 138 endcase 139 case STRINGCONST_S: 140 Compstring (t!1) 141 endcase 142 case TABLE_S: 143 Comptable (t!1) 144 endcase 145 default: CGreport (UnexpectedCase, t!0, "SetATP") 146 $) 147 CheckAddr () 148 $) 149 and CompareToZero (t) be 150 $( let r = FindInRegister (t, AorQr) 151 test r ne 0 152 then unless r = IndicatorsSetBy do 153 $( Outop3 (FormOpcode (Cmpa, r), 0, Dl) 154 IndicatorsSetBy := r 155 $) 156 or $( Makeaddressable (t) 157 Outop (Szn) 158 IndicatorsSetBy := 0 159 $) 160 $) 161 162 and StoreRegister (r, To) be 163 $( let Op = valof switchon r into 164 $( case Ar: case Qr: 165 default: 166 resultis Sta 167 case Apr: case Abr: case Bpr: case Bbr: case Lbr: 168 resultis Sprpap 169 case EAQr: 170 resultis Fstr 171 $) 172 SetupAddr (To) 173 test Machine = 645 & Op = Sprpap 174 then $( let A, T, P = Address, Tag, Param 175 Outop (FormOpcode (Sprpap, r + 1)) 176 Outop3 (Eax0, 0, FormTag (r)) 177 Address, Tag, Param := A, T, P 178 Outop (Sxl0) 179 $) 180 or Outop (FormOpcode (Op, r)) 181 RegisterUsage!r := 0 // Indicate register not needed for anything. 182 $) 183 and Store (From, To) be 184 test IsZero (From) 185 then $( SetupAddr (To) 186 Outop (Stz) 187 $) 188 or $( let r = LoadAppropriateRegister (From, 0) 189 StoreRegister (r, To) 190 $) 191 192 and Preserve (r) = valof 193 $( UsageCounter := UsageCounter + 1 194 RegisterUsage!r := UsageCounter 195 resultis r 196 $) 197 and GetRegister (r) = valof 198 $( switchon r into 199 $( default: CGreport (UnexpectedCase, r, "GetRegister") 200 r := Ar 201 202 case Ar: case Qr: 203 MakeAvailable (EAQr) // EAQr overlaps both Ar and Qr. 204 endcase 205 206 case EAQr: 207 MakeAvailable (Ar) 208 MakeAvailable (Qr) 209 endcase 210 211 case Xr2: case Xr3: case Xr4: case Xr5: case Xr6: 212 case Apr: case Abr: case Bpr: case Bbr: case Lbr: 213 endcase 214 215 case AorQr: 216 r := RegisterUsage!Ar < RegisterUsage!Qr -> Ar, Qr 217 MakeAvailable (EAQr) 218 endcase 219 220 case AnyPr: 221 r := RegisterUsage!Bpr < RegisterUsage!Apr -> Bpr, Apr 222 if Machine = 6180 do 223 $( let T = table Abr, Bbr, Lbr 224 for i = 0 to 2 if RegisterUsage!(T!i) < RegisterUsage!r do r := T!i 225 $) 226 endcase 227 228 case AnyXr: 229 r := Xr2 230 let T = table Xr3, Xr4, Xr5, Xr6 231 for i = 0 to 3 if RegisterUsage!(T!i) < RegisterUsage!r do r := T!i 232 endcase 233 $) 234 MakeAvailable (r) 235 resultis r 236 $) 237 and Satisfactory (r, q) = valof 238 $( switchon q into 239 $( case AnyXr: 240 if r = Xr2 | r = Xr3 | r = Xr4 | r = Xr5 | r = Xr6 resultis true 241 resultis false 242 case AorQr: 243 if r = Ar | r = Qr resultis true 244 resultis false 245 case AnyPr: 246 if r = Apr | r = Abr | r = Bpr | r = Bbr | r = Lbr resultis true 247 resultis false 248 default: resultis r = q 249 $) 250 $) 251 and MakeAvailable (r) be 252 $( let h = RegisterTemps!r 253 if h = 0 return 254 let To = list LV_TEMP, h!0, "temporary" 255 StoreRegister (r, To) 256 RegisterTemps!r, RegisterUsage!r := 0, 0 257 h!0 := -1 258 $) 259 260 and Literal (n, c) be 261 $( Address, Tag, Param, Comment := n & $8777777, Dl, 0, c 262 if Address = n return 263 test Address = 0 264 then Address, Tag := n rshift 18, Du 265 or AddLiteral (lv n, 1, c, 0) 266 $) CAE time 7.8, 123 source lines per second. cross reference table A bcpl_cg3: 174, 177 Ab bcpl_cg_head: 213 Abd bcpl_opcodes: 17 Abr bcpl_cg_head: 256, bcpl_cg3: 167, 212, 223, 246 AbsRelBits bcpl_cg_head: 115 Ada bcpl_opcodes: 18 AddLiteral bcpl_cg_head: 46, bcpl_cg3: 265 Address bcpl_cg_head: 116, bcpl_cg3: 99, 107, 112, 115, 125, 128, 131, 174, 177, 261, 262, 263, 264 Adlx1 bcpl_opcodes: 19 Al bcpl_cg_head: 221 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, bcpl_cg3: 81, 84, 87, 87, 106, 220, 245 AnyXr bcpl_cg_head: 270, bcpl_cg3: 65, 228, 239 AorQr bcpl_cg_head: 268, bcpl_cg3: 65, 80, 84, 86, 86, 150, 215, 242 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, bcpl_cg3: 167, 212, 221, 221, 246 Ar bcpl_cg_head: 243, bcpl_cg3: 20, 20, 45, 46, 48, 89, 164, 200, 202, 207, 216, 216, 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 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, bcpl_cg3: 167, 212, 223, 246 BE_S bcpl_symbols: 19 BIT_S bcpl_symbols: 20 Bp bcpl_cg_head: 214 Bpr bcpl_cg_head: 257, bcpl_cg3: 167, 212, 221, 221, 246 BREAK_S bcpl_symbols: 21 BuildObject bcpl_compiler_head: 72 BY_S bcpl_symbols: 22 c bcpl_cg3: 31, 37, 260, 261, 265 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_cg3: 88, 145, 199 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, bcpl_cg3: 147 ClaimRegister bcpl_cg_head: 35 Cleanup bcpl_compiler_head: 61 ClearMemory bcpl_cg_head: 45 ClearRegisters bcpl_cg_head: 44 Cmpa bcpl_opcodes: 27, bcpl_cg3: 153 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, bcpl_cg3: 120 COMMA_S bcpl_symbols: 29 Comment bcpl_cg_head: 123, bcpl_cg3: 101, 109, 261 CompareStrings bcpl_compiler_head: 25 CompareToZero bcpl_cg_head: 56, bcpl_cg3: 149 Compentry bcpl_cg_head: 67 Compexternal bcpl_cg_head: 82, bcpl_cg3: 134 Compfinish bcpl_cg_head: 78 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 Compreturn bcpl_cg_head: 68 Compstring bcpl_cg_head: 80, bcpl_cg3: 140 Compswitch bcpl_cg_head: 99 CompSystemCall bcpl_cg_head: 74 Comptable bcpl_cg_head: 81, bcpl_cg3: 143 Concatenate bcpl_compiler_head: 26 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 DefsLength bcpl_cg_head: 126 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, bcpl_cg3: 153, 261 DOUBLE_S bcpl_symbols: 38 DO_S bcpl_symbols: 37 Du bcpl_cg_head: 224, bcpl_cg3: 264 DupCase bcpl_cg_codes: 19 DupLabel bcpl_cg_codes: 20 Dvf bcpl_opcodes: 29 Eabap bcpl_opcodes: 30 Eablb bcpl_opcodes: 31 Eablp bcpl_opcodes: 32 Eapab bcpl_opcodes: 33 Eapap bcpl_opcodes: 34, bcpl_cg3: 56 Eapbp bcpl_opcodes: 35 Eaplb bcpl_opcodes: 36 Eaplp bcpl_opcodes: 37 EAQr bcpl_cg_head: 264, bcpl_cg3: 27, 34, 82, 86, 169, 203, 206, 217 Eax0 bcpl_opcodes: 38, bcpl_cg3: 70, 176 Eax1 bcpl_opcodes: 39 Eax7 bcpl_opcodes: 40 ENDCASE_S bcpl_symbols: 39 Endofstreamch bcpl_compiler_head: 135 ENDPROG_S bcpl_symbols: 40 EnterIntoCrossreference bcpl_compiler_head: 57 EntryLabel bcpl_cg_head: 128 Epaq bcpl_opcodes: 41 EqualString bcpl_compiler_head: 24 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_cg3: 24, 94 Even bcpl_compiler_head: 136 EXTERNAL_S bcpl_symbols: 46, bcpl_cg3: 133 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, bcpl_cg3: 18, 20, 51, 64, 65, 80, 81, 82, 150 FindPrintName bcpl_compiler_head: 56 FinishText bcpl_cg_head: 20 FINISH_S bcpl_symbols: 48 FIXED_S bcpl_symbols: 49 Fld bcpl_opcodes: 48, bcpl_cg3: 27, 35 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 FormCharconst bcpl_compiler_head: 46 FormOpcode bcpl_cg_head: 95, bcpl_cg3: 27, 38, 56, 59, 70, 73, 153, 175, 180 FormStringconst bcpl_compiler_head: 47 FormTag bcpl_cg_head: 96, bcpl_cg3: 107, 176 FOR_S bcpl_symbols: 53 Freevec bcpl_compiler_head: 34 From bcpl_cg3: 183, 184, 188 Fsb bcpl_opcodes: 51 Fstr bcpl_opcodes: 52, bcpl_cg3: 170 Fszn bcpl_opcodes: 53 Ft2 bcpl_cg_head: 237 GetLpLabel bcpl_cg_head: 129 GetRegister bcpl_cg_head: 62, bcpl_cg3: 25, 32, 53, 67, 197 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, bcpl_cg3: 114 GOTO_S bcpl_symbols: 59 GR_F bcpl_symbols: 60 GR_S bcpl_symbols: 61 h bcpl_cg3: 118, 119, 119, 119, 120, 120, 120, 252, 253, 254, 257 HaveListingFile bcpl_compiler_head: 105 HeaderSwitch bcpl_cg_head: 190 i bcpl_cg3: 224, 224, 224, 231, 231, 231 Ic bcpl_cg_head: 238 IFNOT_S bcpl_symbols: 63 IFSO_S bcpl_symbols: 64 IF_S bcpl_symbols: 62 IndicatorsSetBy bcpl_cg_head: 130, bcpl_cg3: 28, 39, 44, 75, 152, 154, 158 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, bcpl_cg3: 54, 68, 84, 104 IsNumber bcpl_cg_head: 28, bcpl_cg3: 24, 93 IsStored bcpl_cg_head: 32, bcpl_cg3: 95 IsZero bcpl_cg_head: 30, bcpl_cg3: 184 Jumpsw bcpl_cg_head: 131 LABDEF_S bcpl_symbols: 67 LabelSwitch bcpl_cg_head: 187 LABEL_S bcpl_symbols: 68, bcpl_cg3: 136 LabMaxArg bcpl_cg_head: 132 LabMaxSSP bcpl_cg_head: 133, bcpl_cg3: 128 LabTable bcpl_cg_head: 135 LabTableSize bcpl_cg_head: 180 Lb bcpl_cg_head: 217 Lbr bcpl_cg_head: 260, bcpl_cg3: 167, 212, 223, 246 LC bcpl_cg_head: 136 Lca bcpl_opcodes: 54, bcpl_cg3: 36 Lda bcpl_opcodes: 55, bcpl_cg3: 27, 33 Ldaq bcpl_opcodes: 56 Ldx7 bcpl_opcodes: 57 Left bcpl_compiler_head: 134 Length bcpl_compiler_head: 29 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 LinkRefersThis bcpl_cg_codes: 21 List1 bcpl_compiler_head: 35 List2 bcpl_compiler_head: 36 List3 bcpl_compiler_head: 37 List4 bcpl_compiler_head: 38 List5 bcpl_compiler_head: 39 List6 bcpl_compiler_head: 40 ListCodeItem bcpl_cg_head: 112 Listing bcpl_compiler_head: 95 LIST_S bcpl_symbols: 73 Literal bcpl_cg_head: 64, bcpl_cg3: 37, 94, 260 Llr bcpl_opcodes: 58, bcpl_cg3: 43 LoadAppropriateRegister bcpl_cg_head: 53, bcpl_cg3: 78, 188 LoadIndex bcpl_cg_head: 52, bcpl_cg3: 63 LoadNumber bcpl_cg_head: 54, bcpl_cg3: 24, 31 LoadPointer bcpl_cg_head: 51, bcpl_cg3: 50, 87, 106 LoadRegister bcpl_cg_head: 50, bcpl_cg3: 17, 86 LOCAL_S bcpl_symbols: 74, bcpl_cg3: 123 LOGAND_S bcpl_symbols: 76 LOGOR_S bcpl_symbols: 77 LookupLabel bcpl_cg_head: 43 LookupTemp bcpl_cg_head: 33, bcpl_cg3: 118 LOOP_S bcpl_symbols: 78 Lp bcpl_cg_head: 216, bcpl_cg3: 131, 134 Lpr bcpl_cg_head: 259 Lprpap bcpl_opcodes: 59, bcpl_cg3: 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, bcpl_cg3: 119 LV_ARG_OUT bcpl_symbols: 84, bcpl_cg3: 127 LV_FNAP_RESULT bcpl_symbols: 86 LV_GLOBAL bcpl_symbols: 87, bcpl_cg3: 97, 114 LV_LOCAL bcpl_symbols: 88, bcpl_cg3: 123 LV_S bcpl_symbols: 82 LV_STATIC bcpl_symbols: 89, bcpl_cg3: 130 LV_TEMP bcpl_symbols: 90, bcpl_cg3: 124, 254 Lxl0 bcpl_opcodes: 63, bcpl_cg3: 73 Lxl1 bcpl_opcodes: 64 Machine bcpl_compiler_head: 102, bcpl_cg3: 173, 222 MainEntriesList bcpl_cg_head: 145 MAIN_S bcpl_symbols: 91 Makeaddressable bcpl_cg_head: 57, bcpl_cg3: 26, 58, 72, 92, 156 MakeAvailable bcpl_cg3: 203, 207, 208, 217, 234, 251 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 n bcpl_cg3: 31, 36, 36, 36, 36, 37, 260, 261, 262, 264, 265 NAMECHAIN bcpl_compiler_head: 125 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 NewLiteralsList bcpl_cg_head: 148 NewSSP bcpl_cg_head: 66 Newvec bcpl_compiler_head: 33 Nextparam bcpl_compiler_head: 45 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 Op bcpl_cg3: 33, 35, 36, 38, 163, 173, 180 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 OutLiterals bcpl_cg_head: 47 Outop bcpl_cg_head: 85, bcpl_cg3: 27, 38, 56, 59, 70, 73, 157, 175, 178, 180, 186 Outop2 bcpl_cg_head: 86 Outop3 bcpl_cg_head: 87, bcpl_cg3: 153, 176 Outop4 bcpl_cg_head: 88, bcpl_cg3: 43 OUTPUT bcpl_compiler_head: 89 Outstring bcpl_cg_head: 48 OutW bcpl_cg_head: 89 OutW2 bcpl_cg_head: 90 OverCase bcpl_cg_codes: 22 P bcpl_cg3: 174, 177 p bcpl_cg3: 45, 46, 47, 47 Packstring bcpl_compiler_head: 21 Param bcpl_cg_head: 151, bcpl_cg3: 99, 107, 112, 128, 134, 137, 174, 177, 261 PhaseError bcpl_cg_codes: 23 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, bcpl_cg3: 19, 22, 29, 40, 52, 61, 66, 76, 83, 192 ProgramName bcpl_compiler_head: 119 PushInput bcpl_compiler_head: 42 PutAbsBits bcpl_cg_head: 92 PutCode bcpl_cg_head: 91 q bcpl_cg3: 18, 19, 19, 45, 46, 48, 48, 51, 52, 52, 64, 65, 65, 66, 66, 237, 238, 248 Ql bcpl_cg_head: 225 Qr bcpl_cg_head: 244, bcpl_cg3: 20, 20, 45, 46, 47, 164, 202, 208, 216, 216, 243 Qu bcpl_cg_head: 226 QuietSw bcpl_compiler_head: 106 r bcpl_cg3: 17, 18, 20, 20, 20, 22, 24, 25, 25, 27, 27, 28, 29, 31, 32, 32, 34, 38, 39, 40, 50, 51, 53, 53, 56, 59, 61, 63, 64, 65, 67, 67, 70, 73, 75, 76, 78, 79, 80, 81, 81, 82, 82, 83, 83, 84, 86, 86, 86, 86, 87, 87, 87, 88, 106, 107, 150, 151, 152, 153, 154, 162, 163, 175, 176, 180, 181, 188, 189, 192, 194, 195, 197, 198, 199, 200, 216, 221, 224, 224, 229, 231, 231, 234, 235, 237, 240, 240, 240, 240, 240, 243, 243, 246, 246, 246, 246, 246, 248, 251, 252, 255, 256, 256 RandomI bcpl_compiler_head: 31 RBRA_S bcpl_symbols: 116 Readch bcpl_compiler_head: 16 RegisterTemps bcpl_cg_head: 153, bcpl_cg3: 45, 45, 46, 46, 252, 256 RegisterUsage bcpl_cg_head: 155, bcpl_cg3: 181, 194, 216, 216, 221, 221, 224, 224, 231, 231, 256 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 RelDef bcpl_cg_head: 197 RelExtendedAbs bcpl_cg_head: 202 RelLink15 bcpl_cg_head: 196 RelLink18 bcpl_cg_head: 194 RelNegLink18 bcpl_cg_head: 195 RelNegSymbol bcpl_cg_head: 199 Reloc bcpl_cg_head: 160 RelStat15 bcpl_cg_head: 201 RelStat18 bcpl_cg_head: 200 RelSymbol bcpl_cg_head: 198 RelText bcpl_cg_head: 193 REL_S bcpl_symbols: 118 RemoveEscapes bcpl_compiler_head: 23 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 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, bcpl_cg3: 136 RV_S bcpl_symbols: 131 Satisfactory bcpl_cg_head: 63, bcpl_cg3: 86, 87, 237 SaveSpaceSize bcpl_cg_head: 163, bcpl_cg3: 125, 128 Sb bcpl_cg_head: 219 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 SectionSwitch bcpl_cg_head: 189 SECTKET_S bcpl_symbols: 137 SEMICOLON_S bcpl_symbols: 138 SetATP bcpl_cg3: 96, 105, 111 SetLineNumber bcpl_cg_head: 93 SetupAddr bcpl_cg_head: 55, bcpl_cg3: 55, 69, 103, 172, 185 SKET_S bcpl_symbols: 139 Sp bcpl_cg_head: 218, bcpl_cg3: 99, 115 Spr bcpl_cg_head: 261 Sprpap bcpl_opcodes: 72, bcpl_cg3: 168, 173, 175 Sprpbp bcpl_opcodes: 73 Sprplp bcpl_opcodes: 74 Sreg bcpl_opcodes: 75 Ssa bcpl_opcodes: 76 Sta bcpl_opcodes: 77, bcpl_cg3: 166 StackRefTag bcpl_cg_head: 167, bcpl_cg3: 125, 128 Staq bcpl_opcodes: 78 Star bcpl_cg_head: 239, bcpl_cg3: 134 StarThenReg bcpl_cg_head: 240 STATIC_S bcpl_symbols: 140, bcpl_cg3: 130 Stb bcpl_opcodes: 79 Stc1 bcpl_opcodes: 80 Stcd bcpl_opcodes: 81 Store bcpl_cg_head: 60, bcpl_cg3: 98, 183 StoreArg bcpl_cg_head: 70 StoreRegister bcpl_cg_head: 61, bcpl_cg3: 162, 189, 255 StoreString bcpl_compiler_head: 41 StoreSystemArg bcpl_cg_head: 73 Stpab bcpl_opcodes: 82 Stpap bcpl_opcodes: 83 Stpbp bcpl_opcodes: 84 Stplb bcpl_opcodes: 85 Stplp bcpl_opcodes: 86 STRINGCONST_S bcpl_symbols: 142, bcpl_cg3: 139 STRING_S bcpl_symbols: 141 STRUCTURE_S bcpl_symbols: 143 Stx0 bcpl_opcodes: 87 Stz bcpl_opcodes: 88, bcpl_cg3: 186 SwapAandQ bcpl_cg_head: 58, bcpl_cg3: 21, 42 SWITCHON_S bcpl_symbols: 144 Sxl0 bcpl_opcodes: 89, bcpl_cg3: 178 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, bcpl_cg3: 157 T bcpl_cg3: 174, 177, 223, 224, 224, 230, 231, 231 t bcpl_cg3: 17, 18, 20, 24, 24, 24, 24, 26, 50, 51, 54, 55, 58, 63, 64, 65, 68, 69, 72, 78, 80, 81, 82, 84, 86, 87, 92, 93, 94, 94, 94, 95, 96, 98, 101, 101, 103, 104, 105, 106, 109, 109, 111, 113, 115, 118, 125, 128, 131, 134, 137, 140, 143, 145, 149, 150, 156 TABLE_S bcpl_symbols: 146, bcpl_cg3: 142 Tag bcpl_cg_head: 171, bcpl_cg3: 99, 107, 112, 115, 125, 128, 131, 134, 174, 177, 261, 264 TagPrMask bcpl_cg_head: 206 TagXrMask bcpl_cg_head: 205 TEMP_S bcpl_symbols: 147, bcpl_cg3: 117 TEST_S bcpl_symbols: 148 TextLength bcpl_cg_head: 172 TextRelbits bcpl_cg_head: 173 TimeNow bcpl_compiler_head: 114 TimeNowString bcpl_compiler_head: 113 Tmi bcpl_opcodes: 92 Tmoz bcpl_opcodes: 93 Tnz bcpl_opcodes: 94 To bcpl_cg3: 162, 172, 183, 185, 189, 254, 255 TO_S bcpl_symbols: 149 Tpl bcpl_opcodes: 95 Tpnz bcpl_opcodes: 96 Tra bcpl_opcodes: 97 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 Tsblp bcpl_opcodes: 101 Tsx0 bcpl_opcodes: 102 TYPE_S bcpl_symbols: 151 Tze bcpl_opcodes: 103 u bcpl_cg3: 97, 98 UndefLab bcpl_cg_codes: 24 UnexpectedCase bcpl_compiler_head: 139, bcpl_cg3: 88, 145, 199 UNLESS_S bcpl_symbols: 152 Unpackstring bcpl_compiler_head: 22 UNTIL_S bcpl_symbols: 153 UpperCase bcpl_compiler_head: 96 UsageCounter bcpl_cg_head: 175, bcpl_cg3: 193, 193, 194 UserID bcpl_compiler_head: 120 UtilitiesInit bcpl_compiler_head: 60 VALDEF_S bcpl_symbols: 154 VALOF_S bcpl_symbols: 156 VECAP_S bcpl_symbols: 158, bcpl_cg3: 119 VEC_S bcpl_symbols: 157 Vmax bcpl_compiler_head: 137 WHILE_S bcpl_symbols: 159 Writech bcpl_compiler_head: 17 WriteData bcpl_cg_head: 110 WriteDefs bcpl_cg_head: 103 WriteEntry bcpl_cg_head: 102 WriteGetlp bcpl_cg_head: 101 WriteInstruction bcpl_cg_head: 111 WriteLinkage bcpl_cg_head: 104 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 WriteSymbol bcpl_cg_head: 106 X0 bcpl_cg_head: 228 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 Xr0 bcpl_cg_head: 246 Xr1 bcpl_cg_head: 247 Xr2 bcpl_cg_head: 248, bcpl_cg3: 211, 229, 240 Xr3 bcpl_cg_head: 249, bcpl_cg3: 211, 230, 240 Xr4 bcpl_cg_head: 250, bcpl_cg3: 211, 230, 240 Xr5 bcpl_cg_head: 251, bcpl_cg3: 211, 230, 240 Xr6 bcpl_cg_head: 252, bcpl_cg3: 211, 230, 240 Xr7 bcpl_cg_head: 253 Xref bcpl_compiler_head: 103 Trans time 2.3, 764 object words per second. " Begin text of LoadNumber aa 000000 000012 114157 zero 10,39023 " LoadNumber aa 000001 141144 116165 zero 49764,40053 aa 000002 155142 145162 zero 55906,51826 L2: aa 000003 000000 213000 31 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 700423 620111 eax0 sb|275,x1 aa 000011 777760 360003 anx0 -16,du aa 000012 700025 740100 stx0 sb|21 " end of save sequence aa 000013 700003 236111 32 ldq sb|3,x1 " r aa 000014 700014 756111 stq sb|12,x1 aa 000015 001263 272004 tsbbp L14+2 " GetRegister aa 000016 000012 000001 zero 10,1 aa 000017 700003 756111 stq sb|3,x1 " r aa 000020 000235 236007 33 ldq 157,dl " Lda aa 000021 700006 756111 stq sb|6,x1 " Op aa 000022 700003 236111 34 ldq sb|3,x1 " r aa 000023 000023 116007 cmpq 19,dl " EAQr aa 000024 000004 601004 tnz L21 aa 000025 000431 235007 35 lda 281,dl " Fld aa 000026 700006 755111 sta sb|6,x1 " Op aa 000027 000012 710004 tra L22 L21: aa 000030 700002 234111 36 szn sb|2,x1 " n aa 000031 000010 605004 tpl L23 aa 000032 700002 235111 lda sb|2,x1 " n aa 000033 400000 115003 cmpa -131072,du aa 000034 000005 600004 tze L24 aa 000035 000000 236007 ldq 0,dl aa 000036 700002 156111 ssq sb|2,x1 " n aa 000037 000335 236007 ldq 221,dl " Lca aa 000040 700006 756111 stq sb|6,x1 " Op L24: L23: L22: aa 000041 700002 236111 37 ldq sb|2,x1 " n aa 000042 700014 756111 stq sb|12,x1 aa 000043 700004 236111 ldq sb|4,x1 " c aa 000044 700015 756111 stq sb|13,x1 aa 000045 001076 272004 tsbbp L17+2 " Literal aa 000046 000012 000002 zero 10,2 aa 000047 700006 236111 38 ldq sb|6,x1 " Op aa 000050 700014 756111 stq sb|12,x1 aa 000051 700003 236111 ldq sb|3,x1 " r aa 000052 700015 756111 stq sb|13,x1 4a 000053 400054 272120 tsbbp lp|L25,* " FormOpcode aa 000054 000012 000002 zero 10,2 aa 000055 700007 756111 stq sb|7,x1 aa 000056 700007 236111 ldq sb|7,x1 aa 000057 700014 756111 stq sb|12,x1 4a 000060 400052 272120 tsbbp lp|L26,* " Outop aa 000061 000012 000001 zero 10,1 aa 000062 700003 236111 39 ldq sb|3,x1 " r aa 000063 600473 756100 stq sp|315 " IndicatorsSetBy aa 000064 700003 236111 40 ldq sb|3,x1 " r aa 000065 700014 756111 stq sb|12,x1 aa 000066 001456 272004 tsbbp L13+2 " Preserve aa 000067 000012 000001 zero 10,1 L20: aa 000070 700006 756111 stq sb|6,x1 aa 000071 700006 236111 ldq sb|6,x1 aa 000072 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000073 200000 121100 sblx1 bp|0 aa 000074 700001 764111 lprplp sb|1,x1 aa 000075 200001 710100 tra bp|1 " end of return sequence " Begin text of SwapAandQ aa 000076 000011 123167 zero 9,42615 " SwapAandQ aa 000077 141160 101141 zero 49776,33377 aa 000100 156144 121000 zero 56420,41472 aa 000101 700005 756111 42 stq sb|5,x1 " temporary L3: aa 000102 000000 213000 epaq 0 " set lp to linkage section aa 000103 700026 764161 lprplp sb|22,*au aa 000104 200000 021100 adlx1 bp|0 " BCPL save aa 000105 700000 542111 sprpbp sb|0,x1 aa 000106 700001 544111 sprplp sb|1,x1 aa 000107 700425 620111 eax0 sb|277,x1 aa 000110 777760 360003 anx0 -16,du aa 000111 700025 740100 stx0 sb|21 " end of save sequence aa 000112 000777 236007 43 ldq 511,dl " Llr aa 000113 700010 756111 stq sb|8,x1 aa 000114 000044 236007 ldq 36,dl " 36 aa 000115 700011 756111 stq sb|9,x1 aa 000116 700012 450111 stz sb|10,x1 aa 000117 000037 350004 eapap L30 " "exchange A and Q" aa 000120 700013 540111 sprpap sb|11,x1 4a 000121 400050 272120 tsbbp lp|L31,* " Outop4 aa 000122 000006 000004 zero 6,4 aa 000123 600473 450100 44 stz sp|315 " IndicatorsSetBy aa 000124 600522 760100 45 lprpap sp|338 " RegisterTemps aa 000125 000001 236100 ldq ap|1 aa 000126 700003 756111 stq sb|3,x1 " p aa 000127 600522 762100 lprpbp sp|338 " RegisterTemps aa 000130 200002 236100 ldq bp|2 aa 000131 700002 756111 stq sb|2,x1 " q aa 000132 700003 236111 46 ldq sb|3,x1 " p aa 000133 600522 761100 lprpab sp|338 " RegisterTemps aa 000134 100002 756100 stq ab|2 aa 000135 700002 236111 ldq sb|2,x1 " q aa 000136 600522 763100 lprpbb sp|338 " RegisterTemps aa 000137 300001 756100 stq bb|1 aa 000140 700003 234111 47 szn sb|3,x1 " p aa 000141 000004 600004 tze L32 aa 000142 000002 236007 ldq 2,dl " Qr aa 000143 700003 765111 lprplb sb|3,x1 " p aa 000144 500002 756100 stq lb|2 L32: aa 000145 700002 234111 48 szn sb|2,x1 " q aa 000146 000004 600004 tze L33 aa 000147 000001 236007 ldq 1,dl " Ar aa 000150 700002 760111 lprpap sb|2,x1 " q aa 000151 000002 756100 stq ap|2 L33: L29: aa 000152 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000153 200000 121100 sblx1 bp|0 aa 000154 700001 764111 lprplp sb|1,x1 aa 000155 200001 710100 tra bp|1 " end of return sequence " Literal pool L30: aa 000156 000020 145170 zero 16,51832 " "exchange A and Q" aa 000157 143150 141156 zero 50792,49774 aa 000160 147145 040101 zero 52837,16449 aa 000161 040141 156144 zero 16481,56420 aa 000162 040121 000000 zero 16465 " Begin text of LoadPointer aa 000163 000013 114157 zero 11,39023 " LoadPointer aa 000164 141144 120157 zero 49764,41071 aa 000165 151156 164145 zero 53870,59493 aa 000166 162000 000000 zero 58368 L4: aa 000167 000000 213000 50 epaq 0 " set lp to linkage section aa 000170 700026 764161 lprplp sb|22,*au aa 000171 200000 021100 adlx1 bp|0 " BCPL save aa 000172 700000 542111 sprpbp sb|0,x1 aa 000173 700001 544111 sprplp sb|1,x1 aa 000174 700423 620111 eax0 sb|275,x1 aa 000175 777760 360003 anx0 -16,du aa 000176 700025 740100 stx0 sb|21 " end of save sequence aa 000177 700002 236111 51 ldq sb|2,x1 " t aa 000200 700012 756111 stq sb|10,x1 aa 000201 700003 236111 ldq sb|3,x1 " r aa 000202 700013 756111 stq sb|11,x1 4a 000203 400046 272120 tsbbp lp|L37,* " FindInRegister aa 000204 000010 000002 zero 8,2 aa 000205 700005 756111 stq sb|5,x1 " q aa 000206 700005 234111 52 szn sb|5,x1 " q aa 000207 000006 600004 tze L38 aa 000210 700005 236111 ldq sb|5,x1 " q aa 000211 700012 756111 stq sb|10,x1 aa 000212 001332 272004 tsbbp L13+2 " Preserve aa 000213 000010 000001 zero 8,1 aa 000214 000057 710004 tra L36 L38: aa 000215 700003 236111 53 ldq sb|3,x1 " r aa 000216 700012 756111 stq sb|10,x1 aa 000217 001061 272004 tsbbp L14+2 " GetRegister aa 000220 000010 000001 zero 8,1 aa 000221 700003 756111 stq sb|3,x1 " r aa 000222 700002 236111 54 ldq sb|2,x1 " t aa 000223 700012 756111 stq sb|10,x1 4a 000224 400044 272120 tsbbp lp|L41,* " IsAddress aa 000225 000010 000001 zero 8,1 aa 000226 000000 116007 cmpq 0,dl aa 000227 000021 600004 tze L39 aa 000230 700002 236111 55 ldq sb|2,x1 " t aa 000231 700012 756111 stq sb|10,x1 aa 000232 001576 272004 tsbbp L8+2 " SetupAddr aa 000233 000010 000001 zero 8,1 aa 000234 000350 236007 56 ldq 232,dl " Eapap aa 000235 700012 756111 stq sb|10,x1 aa 000236 700003 236111 ldq sb|3,x1 " r aa 000237 700013 756111 stq sb|11,x1 4a 000240 400054 272120 tsbbp lp|L25,* " FormOpcode aa 000241 000010 000002 zero 8,2 aa 000242 700006 756111 stq sb|6,x1 aa 000243 700006 236111 ldq sb|6,x1 aa 000244 700012 756111 stq sb|10,x1 4a 000245 400052 272120 tsbbp lp|L26,* " Outop aa 000246 000010 000001 zero 8,1 aa 000247 000020 710004 tra L40 L39: aa 000250 700002 236111 58 ldq sb|2,x1 " t aa 000251 700012 756111 stq sb|10,x1 aa 000252 001636 272004 tsbbp L7+2 " Makeaddressable aa 000253 000010 000001 zero 8,1 aa 000254 000760 236007 59 ldq 496,dl " Lprpap aa 000255 700012 756111 stq sb|10,x1 aa 000256 700003 236111 ldq sb|3,x1 " r aa 000257 700013 756111 stq sb|11,x1 4a 000260 400054 272120 tsbbp lp|L25,* " FormOpcode aa 000261 000010 000002 zero 8,2 aa 000262 700006 756111 stq sb|6,x1 aa 000263 700006 236111 ldq sb|6,x1 aa 000264 700012 756111 stq sb|10,x1 4a 000265 400052 272120 tsbbp lp|L26,* " Outop aa 000266 000010 000001 zero 8,1 L40: aa 000267 700003 236111 61 ldq sb|3,x1 " r aa 000270 700012 756111 stq sb|10,x1 aa 000271 001253 272004 tsbbp L13+2 " Preserve aa 000272 000010 000001 zero 8,1 L36: aa 000273 700005 756111 stq sb|5,x1 aa 000274 700005 236111 ldq sb|5,x1 aa 000275 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000276 200000 121100 sblx1 bp|0 aa 000277 700001 764111 lprplp sb|1,x1 aa 000300 200001 710100 tra bp|1 " end of return sequence " Begin text of LoadAppropriateRegister aa 000301 000027 114157 zero 23,39023 " LoadAppropriateRegister aa 000302 141144 101160 zero 49764,33392 aa 000303 160162 157160 zero 57458,56944 aa 000304 162151 141164 zero 58473,49780 aa 000305 145122 145147 zero 51794,51815 aa 000306 151163 164145 zero 53875,59493 aa 000307 162000 000000 zero 58368 aa 000310 700004 756111 78 stq sb|4,x1 " temporary L6: aa 000311 000000 213000 epaq 0 " set lp to linkage section aa 000312 700026 764161 lprplp sb|22,*au aa 000313 200000 021100 adlx1 bp|0 " BCPL save aa 000314 700000 542111 sprpbp sb|0,x1 aa 000315 700001 544111 sprplp sb|1,x1 aa 000316 700424 620111 eax0 sb|276,x1 aa 000317 777760 360003 anx0 -16,du aa 000320 700025 740100 stx0 sb|21 " end of save sequence aa 000321 700003 234111 79 szn sb|3,x1 " r aa 000322 000055 601004 tnz L45 aa 000323 700002 236111 80 ldq sb|2,x1 " t aa 000324 700012 756111 stq sb|10,x1 aa 000325 000026 236007 ldq 22,dl " AorQr aa 000326 700013 756111 stq sb|11,x1 4a 000327 400046 272120 tsbbp lp|L37,* " FindInRegister aa 000330 000010 000002 zero 8,2 aa 000331 700003 756111 stq sb|3,x1 " r aa 000332 700003 234111 81 szn sb|3,x1 " r aa 000333 000010 601004 tnz L46 aa 000334 700002 236111 ldq sb|2,x1 " t aa 000335 700012 756111 stq sb|10,x1 aa 000336 000027 236007 ldq 23,dl " AnyPr aa 000337 700013 756111 stq sb|11,x1 4a 000340 400046 272120 tsbbp lp|L37,* " FindInRegister aa 000341 000010 000002 zero 8,2 aa 000342 700003 756111 stq sb|3,x1 " r L46: aa 000343 700003 234111 82 szn sb|3,x1 " r aa 000344 000010 601004 tnz L47 aa 000345 700002 236111 ldq sb|2,x1 " t aa 000346 700012 756111 stq sb|10,x1 aa 000347 000023 236007 ldq 19,dl " EAQr aa 000350 700013 756111 stq sb|11,x1 4a 000351 400046 272120 tsbbp lp|L37,* " FindInRegister aa 000352 000010 000002 zero 8,2 aa 000353 700003 756111 stq sb|3,x1 " r L47: aa 000354 700003 234111 83 szn sb|3,x1 " r aa 000355 000006 600004 tze L48 aa 000356 700003 236111 ldq sb|3,x1 " r aa 000357 700012 756111 stq sb|10,x1 aa 000360 001164 272004 tsbbp L13+2 " Preserve aa 000361 000010 000001 zero 8,1 aa 000362 000075 710004 tra L44 L48: aa 000363 700002 236111 84 ldq sb|2,x1 " t aa 000364 700012 756111 stq sb|10,x1 4a 000365 400044 272120 tsbbp lp|L41,* " IsAddress aa 000366 000010 000001 zero 8,1 aa 000367 000000 116007 cmpq 0,dl aa 000370 000003 600004 tze L49 aa 000371 000027 236007 ldq 23,dl " AnyPr aa 000372 000002 710004 tra L50 L49: aa 000373 000026 236007 ldq 22,dl " AorQr L50: aa 000374 700005 756111 stq sb|5,x1 aa 000375 700005 236111 ldq sb|5,x1 aa 000376 700003 756111 stq sb|3,x1 " r L45: aa 000377 700003 236111 86 ldq sb|3,x1 " r aa 000400 000026 116007 cmpq 22,dl " AorQr aa 000401 000014 600004 tze L52 aa 000402 700003 235111 lda sb|3,x1 " r aa 000403 700012 755111 sta sb|10,x1 aa 000404 000026 235007 lda 22,dl " AorQr aa 000405 700013 755111 sta sb|11,x1 aa 000406 000406 272004 tsbbp L15+2 " Satisfactory aa 000407 000010 000002 zero 8,2 aa 000410 000000 116007 cmpq 0,dl aa 000411 000004 601004 tnz L52 aa 000412 700003 236111 ldq sb|3,x1 " r aa 000413 000023 116007 cmpq 19,dl " EAQr aa 000414 000010 601004 tnz L51 L52: aa 000415 700002 235111 lda sb|2,x1 " t aa 000416 700012 755111 sta sb|10,x1 aa 000417 700003 235111 lda sb|3,x1 " r aa 000420 700013 755111 sta sb|11,x1 aa 000421 001733 272004 tsbbp L1+2 " LoadRegister aa 000422 000010 000002 zero 8,2 aa 000423 000034 710004 tra L44 L51: aa 000424 700003 236111 87 ldq sb|3,x1 " r aa 000425 000027 116007 cmpq 23,dl " AnyPr aa 000426 000011 600004 tze L54 aa 000427 700003 235111 lda sb|3,x1 " r aa 000430 700012 755111 sta sb|10,x1 aa 000431 000027 235007 lda 23,dl " AnyPr aa 000432 700013 755111 sta sb|11,x1 aa 000433 000361 272004 tsbbp L15+2 " Satisfactory aa 000434 000010 000002 zero 8,2 aa 000435 000000 116007 cmpq 0,dl aa 000436 000010 600004 tze L53 L54: aa 000437 700002 236111 ldq sb|2,x1 " t aa 000440 700012 756111 stq sb|10,x1 aa 000441 700003 236111 ldq sb|3,x1 " r aa 000442 700013 756111 stq sb|11,x1 aa 000443 777526 272004 tsbbp L4+2 " LoadPointer aa 000444 000010 000002 zero 8,2 aa 000445 000012 710004 tra L44 L53: aa 000446 000143 236007 88 ldq 99,dl " UnexpectedCase aa 000447 700012 756111 stq sb|10,x1 aa 000450 700003 236111 ldq sb|3,x1 " r aa 000451 700013 756111 stq sb|11,x1 aa 000452 000014 352004 eapbp L55 " "LoadAppropriateRegister" aa 000453 700014 542111 sprpbp sb|12,x1 4a 000454 400042 272120 tsbbp lp|L56,* " CGreport aa 000455 000010 000003 zero 8,3 aa 000456 000001 236007 89 ldq 1,dl " Ar L44: aa 000457 700005 756111 stq sb|5,x1 aa 000460 700005 236111 ldq sb|5,x1 aa 000461 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000462 200000 121100 sblx1 bp|0 aa 000463 700001 764111 lprplp sb|1,x1 aa 000464 200001 710100 tra bp|1 " end of return sequence aa 000465 700004 756111 stq sb|4,x1 " temporary " Literal pool L55: aa 000466 000027 114157 zero 23,39023 " "LoadAppropriateRegister" aa 000467 141144 101160 zero 49764,33392 aa 000470 160162 157160 zero 57458,56944 aa 000471 162151 141164 zero 58473,49780 aa 000472 145122 145147 zero 51794,51815 aa 000473 151163 164145 zero 53875,59493 aa 000474 162000 000000 zero 58368 " Begin text of CompareToZero aa 000475 000015 103157 zero 13,34415 " CompareToZero aa 000476 155160 141162 zero 55920,49778 aa 000477 145124 157132 zero 51796,56922 aa 000500 145162 157000 zero 51826,56832 L10: aa 000501 000000 213000 149 epaq 0 " set lp to linkage section aa 000502 700026 764161 lprplp sb|22,*au aa 000503 200000 021100 adlx1 bp|0 " BCPL save aa 000504 700000 542111 sprpbp sb|0,x1 aa 000505 700001 544111 sprplp sb|1,x1 aa 000506 700424 620111 eax0 sb|276,x1 aa 000507 777760 360003 anx0 -16,du aa 000510 700025 740100 stx0 sb|21 " end of save sequence aa 000511 700002 236111 150 ldq sb|2,x1 " t aa 000512 700010 756111 stq sb|8,x1 aa 000513 000026 236007 ldq 22,dl " AorQr aa 000514 700011 756111 stq sb|9,x1 4a 000515 400046 272120 tsbbp lp|L37,* " FindInRegister aa 000516 000006 000002 zero 6,2 aa 000517 700003 756111 stq sb|3,x1 " r aa 000520 700003 234111 151 szn sb|3,x1 " r aa 000521 000025 600004 tze L60 aa 000522 700003 236111 152 ldq sb|3,x1 " r aa 000523 600473 116100 cmpq sp|315 " IndicatorsSetBy aa 000524 000021 600004 tze L62 aa 000525 000115 235007 153 lda 77,dl " Cmpa aa 000526 700010 755111 sta sb|8,x1 aa 000527 700003 235111 lda sb|3,x1 " r aa 000530 700011 755111 sta sb|9,x1 4a 000531 400054 272120 tsbbp lp|L25,* " FormOpcode aa 000532 000006 000002 zero 6,2 aa 000533 700004 756111 stq sb|4,x1 aa 000534 700004 236111 ldq sb|4,x1 aa 000535 700010 756111 stq sb|8,x1 aa 000536 700011 450111 stz sb|9,x1 aa 000537 000007 236007 ldq 7,dl " Dl aa 000540 700012 756111 stq sb|10,x1 4a 000541 400040 272120 tsbbp lp|L63,* " Outop3 aa 000542 000006 000003 zero 6,3 aa 000543 700003 236111 154 ldq sb|3,x1 " r aa 000544 600473 756100 stq sp|315 " IndicatorsSetBy L62: aa 000545 000012 710004 tra L61 L60: aa 000546 700002 236111 156 ldq sb|2,x1 " t aa 000547 700010 756111 stq sb|8,x1 aa 000550 001340 272004 tsbbp L7+2 " Makeaddressable aa 000551 000006 000001 zero 6,1 aa 000552 000234 236007 157 ldq 156,dl " Szn aa 000553 700010 756111 stq sb|8,x1 4a 000554 400052 272120 tsbbp lp|L26,* " Outop aa 000555 000006 000001 zero 6,1 aa 000556 600473 450100 158 stz sp|315 " IndicatorsSetBy L61: L59: aa 000557 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000560 200000 121100 sblx1 bp|0 aa 000561 700001 764111 lprplp sb|1,x1 aa 000562 200001 710100 tra bp|1 " end of return sequence " Begin text of StoreRegister aa 000563 000015 123164 zero 13,42612 " StoreRegister aa 000564 157162 145122 zero 56946,51794 aa 000565 145147 151163 zero 51815,53875 aa 000566 164145 162000 zero 59493,58368 L11: aa 000567 000000 213000 162 epaq 0 " set lp to linkage section aa 000570 700026 764161 lprplp sb|22,*au aa 000571 200000 021100 adlx1 bp|0 " BCPL save aa 000572 700000 542111 sprpbp sb|0,x1 aa 000573 700001 544111 sprplp sb|1,x1 aa 000574 700424 620111 eax0 sb|276,x1 aa 000575 777760 360003 anx0 -16,du aa 000576 700025 740100 stx0 sb|21 " end of save sequence aa 000577 000007 710004 164 tra L69 L70: L71: aa 000600 000755 236007 166 ldq 493,dl " Sta aa 000601 000024 710004 167 tra L67 L72: aa 000602 000540 236007 168 ldq 352,dl " Sprpap aa 000603 000022 710004 169 tra L67 L73: aa 000604 000470 236007 170 ldq 312,dl " Fstr aa 000605 000020 710004 tra L67 L69: " Begin switchon aa 000606 700002 235111 lda sb|2,x1 " r aa 000607 000013 115007 cmpa 11,dl aa 000610 000010 604004 tmi L74 aa 000611 000017 115007 cmpa 15,dl aa 000612 777770 604004 tmi L72 aa 000613 000020 115007 cmpa 16,dl aa 000614 777766 600004 tze L72 aa 000615 000023 115007 cmpa 19,dl aa 000616 777766 600004 tze L73 aa 000617 777761 710004 tra L71 L74: aa 000620 000001 115007 cmpa 1,dl aa 000621 777757 600004 tze L70 aa 000622 000002 115007 cmpa 2,dl aa 000623 777755 600004 tze L70 aa 000624 777754 710004 tra L71 L68: L67: aa 000625 700005 756111 stq sb|5,x1 aa 000626 700005 236111 ldq sb|5,x1 aa 000627 700004 756111 stq sb|4,x1 " Op aa 000630 700003 236111 172 ldq sb|3,x1 " To aa 000631 700016 756111 stq sb|14,x1 aa 000632 001176 272004 tsbbp L8+2 " SetupAddr aa 000633 000014 000001 zero 12,1 aa 000634 600153 236100 173 ldq sp|107 " Machine aa 000635 001205 116007 cmpq 645,dl " 645 aa 000636 000055 601004 tnz L75 aa 000637 700004 235111 lda sb|4,x1 " Op aa 000640 000540 115007 cmpa 352,dl " Sprpap aa 000641 000052 601004 tnz L75 aa 000642 600455 236100 174 ldq sp|301 " Address aa 000643 700006 756111 stq sb|6,x1 " A aa 000644 600544 236100 ldq sp|356 " Tag aa 000645 700005 756111 stq sb|5,x1 " T aa 000646 600520 236100 ldq sp|336 " Param aa 000647 700007 756111 stq sb|7,x1 " P aa 000650 000540 236007 175 ldq 352,dl " Sprpap aa 000651 700016 756111 stq sb|14,x1 aa 000652 700002 236111 ldq sb|2,x1 " r aa 000653 000001 076007 adq 1,dl " 1 aa 000654 700017 756111 stq sb|15,x1 4a 000655 400054 272120 tsbbp lp|L25,* " FormOpcode aa 000656 000014 000002 zero 12,2 aa 000657 700010 756111 stq sb|8,x1 aa 000660 700010 236111 ldq sb|8,x1 aa 000661 700016 756111 stq sb|14,x1 4a 000662 400052 272120 tsbbp lp|L26,* " Outop aa 000663 000014 000001 zero 12,1 aa 000664 700002 236111 176 ldq sb|2,x1 " r aa 000665 700016 756111 stq sb|14,x1 4a 000666 400036 272120 tsbbp lp|L77,* " FormTag aa 000667 000014 000001 zero 12,1 aa 000670 700010 756111 stq sb|8,x1 aa 000671 000620 236007 ldq 400,dl " Eax0 aa 000672 700016 756111 stq sb|14,x1 aa 000673 700017 450111 stz sb|15,x1 aa 000674 700010 236111 ldq sb|8,x1 aa 000675 700020 756111 stq sb|16,x1 4a 000676 400040 272120 tsbbp lp|L63,* " Outop3 aa 000677 000014 000003 zero 12,3 aa 000700 700005 236111 177 ldq sb|5,x1 " T aa 000701 600544 756100 stq sp|356 " Tag aa 000702 700007 236111 ldq sb|7,x1 " P aa 000703 600520 756100 stq sp|336 " Param aa 000704 700006 236111 ldq sb|6,x1 " A aa 000705 600455 756100 stq sp|301 " Address aa 000706 000440 236007 178 ldq 288,dl " Sxl0 aa 000707 700016 756111 stq sb|14,x1 4a 000710 400052 272120 tsbbp lp|L26,* " Outop aa 000711 000014 000001 zero 12,1 aa 000712 000014 710004 tra L76 L75: aa 000713 700004 236111 180 ldq sb|4,x1 " Op aa 000714 700016 756111 stq sb|14,x1 aa 000715 700002 236111 ldq sb|2,x1 " r aa 000716 700017 756111 stq sb|15,x1 4a 000717 400054 272120 tsbbp lp|L25,* " FormOpcode aa 000720 000014 000002 zero 12,2 aa 000721 700005 756111 stq sb|5,x1 aa 000722 700005 236111 ldq sb|5,x1 aa 000723 700016 756111 stq sb|14,x1 4a 000724 400052 272120 tsbbp lp|L26,* " Outop aa 000725 000014 000001 zero 12,1 L76: aa 000726 700002 722111 181 lxl2 sb|2,x1 " r aa 000727 600524 762100 lprpbp sp|340 " RegisterUsage aa 000730 200000 450112 stz bp|0,x2 L66: aa 000731 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000732 200000 121100 sblx1 bp|0 aa 000733 700001 764111 lprplp sb|1,x1 aa 000734 200001 710100 tra bp|1 " end of return sequence " Begin text of Store aa 000735 000005 123164 zero 5,42612 " Store aa 000736 157162 145000 zero 56946,51712 L12: aa 000737 000000 213000 183 epaq 0 " set lp to linkage section aa 000740 700026 764161 lprplp sb|22,*au aa 000741 200000 021100 adlx1 bp|0 " BCPL save aa 000742 700000 542111 sprpbp sb|0,x1 aa 000743 700001 544111 sprplp sb|1,x1 aa 000744 700423 620111 eax0 sb|275,x1 aa 000745 777760 360003 anx0 -16,du aa 000746 700025 740100 stx0 sb|21 " end of save sequence aa 000747 700002 236111 184 ldq sb|2,x1 " From aa 000750 700010 756111 stq sb|8,x1 4a 000751 400034 272120 tsbbp lp|L83,* " IsZero aa 000752 000006 000001 zero 6,1 aa 000753 000000 116007 cmpq 0,dl aa 000754 000012 600004 tze L81 aa 000755 700003 236111 185 ldq sb|3,x1 " To aa 000756 700010 756111 stq sb|8,x1 aa 000757 001051 272004 tsbbp L8+2 " SetupAddr aa 000760 000006 000001 zero 6,1 aa 000761 000450 236007 186 ldq 296,dl " Stz aa 000762 700010 756111 stq sb|8,x1 4a 000763 400052 272120 tsbbp lp|L26,* " Outop aa 000764 000006 000001 zero 6,1 aa 000765 000015 710004 tra L82 L81: aa 000766 700002 236111 188 ldq sb|2,x1 " From aa 000767 700010 756111 stq sb|8,x1 aa 000770 700011 450111 stz sb|9,x1 aa 000771 777322 272004 tsbbp L6+2 " LoadAppropriateRegister aa 000772 000006 000002 zero 6,2 aa 000773 700004 756111 stq sb|4,x1 " r aa 000774 700004 236111 189 ldq sb|4,x1 " r aa 000775 700010 756111 stq sb|8,x1 aa 000776 700003 236111 ldq sb|3,x1 " To aa 000777 700011 756111 stq sb|9,x1 aa 001000 777571 272004 tsbbp L11+2 " StoreRegister aa 001001 000006 000002 zero 6,2 L82: L80: aa 001002 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001003 200000 121100 sblx1 bp|0 aa 001004 700001 764111 lprplp sb|1,x1 aa 001005 200001 710100 tra bp|1 " end of return sequence " Begin text of Satisfactory aa 001006 000014 123141 zero 12,42593 " Satisfactory aa 001007 164151 163146 zero 59497,58982 aa 001010 141143 164157 zero 49763,59503 aa 001011 162171 000000 zero 58489 L15: aa 001012 000000 213000 237 epaq 0 " set lp to linkage section aa 001013 700026 764161 lprplp sb|22,*au aa 001014 200000 021100 adlx1 bp|0 " BCPL save aa 001015 700000 542111 sprpbp sb|0,x1 aa 001016 700001 544111 sprplp sb|1,x1 aa 001017 700417 620111 eax0 sb|271,x1 aa 001020 777760 360003 anx0 -16,du aa 001021 700025 740100 stx0 sb|21 " end of save sequence aa 001022 000072 710004 239 tra L88 L89: aa 001023 700002 236111 240 ldq sb|2,x1 " r aa 001024 000005 116007 cmpq 5,dl " Xr2 aa 001025 000015 600004 tze L91 aa 001026 700002 235111 lda sb|2,x1 " r aa 001027 000006 115007 cmpa 6,dl " Xr3 aa 001030 000012 600004 tze L91 aa 001031 700002 236111 ldq sb|2,x1 " r aa 001032 000007 116007 cmpq 7,dl " Xr4 aa 001033 000007 600004 tze L91 aa 001034 700002 235111 lda sb|2,x1 " r aa 001035 000010 115007 cmpa 8,dl " Xr5 aa 001036 000004 600004 tze L91 aa 001037 700002 236111 ldq sb|2,x1 " r aa 001040 000011 116007 cmpq 9,dl " Xr6 aa 001041 000003 601004 tnz L90 L91: aa 001042 000001 335007 lca 1,dl " true aa 001043 000063 710004 tra L86 L90: aa 001044 000000 235007 241 lda 0,dl " false aa 001045 000061 710004 242 tra L86 L92: aa 001046 700002 236111 243 ldq sb|2,x1 " r aa 001047 000001 116007 cmpq 1,dl " Ar aa 001050 000004 600004 tze L94 aa 001051 700002 235111 lda sb|2,x1 " r aa 001052 000002 115007 cmpa 2,dl " Qr aa 001053 000003 601004 tnz L93 L94: aa 001054 000001 335007 lca 1,dl " true aa 001055 000051 710004 tra L86 L93: aa 001056 000000 235007 244 lda 0,dl " false aa 001057 000047 710004 245 tra L86 L95: aa 001060 700002 236111 246 ldq sb|2,x1 " r aa 001061 000013 116007 cmpq 11,dl " Apr aa 001062 000015 600004 tze L97 aa 001063 700002 235111 lda sb|2,x1 " r aa 001064 000014 115007 cmpa 12,dl " Abr aa 001065 000012 600004 tze L97 aa 001066 700002 236111 ldq sb|2,x1 " r aa 001067 000015 116007 cmpq 13,dl " Bpr aa 001070 000007 600004 tze L97 aa 001071 700002 235111 lda sb|2,x1 " r aa 001072 000016 115007 cmpa 14,dl " Bbr aa 001073 000004 600004 tze L97 aa 001074 700002 236111 ldq sb|2,x1 " r aa 001075 000020 116007 cmpq 16,dl " Lbr aa 001076 000003 601004 tnz L96 L97: aa 001077 000001 335007 lca 1,dl " true aa 001100 000026 710004 tra L86 L96: aa 001101 000000 235007 247 lda 0,dl " false aa 001102 000024 710004 248 tra L86 L98: aa 001103 700002 236111 ldq sb|2,x1 " r aa 001104 700003 116111 cmpq sb|3,x1 " q aa 001105 000003 601004 tnz L99 aa 001106 000001 335007 lca 1,dl " true aa 001107 000002 710004 tra L100 L99: aa 001110 000000 235007 lda 0,dl " false L100: aa 001111 700006 755111 sta sb|6,x1 aa 001112 700006 235111 lda sb|6,x1 aa 001113 000013 710004 tra L86 L88: " Begin switchon aa 001114 700003 235111 lda sb|3,x1 " q aa 001115 000027 115007 cmpa 23,dl aa 001116 000005 604004 tmi L101 aa 001117 777741 600004 tze L95 aa 001120 000030 115007 cmpa 24,dl aa 001121 777702 600004 tze L89 aa 001122 777761 710004 tra L98 L101: aa 001123 000026 115007 cmpa 22,dl aa 001124 777722 600004 tze L92 aa 001125 777756 710004 tra L98 L87: L86: aa 001126 700005 755111 sta sb|5,x1 aa 001127 700005 235111 lda sb|5,x1 aa 001130 000044 777000 llr 36 " exchange A and Q aa 001131 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001132 200000 121100 sblx1 bp|0 aa 001133 700001 764111 lprplp sb|1,x1 aa 001134 200001 710100 tra bp|1 " end of return sequence " Begin text of Literal aa 001135 000007 114151 zero 7,39017 " Literal aa 001136 164145 162141 zero 59493,58465 aa 001137 154000 000000 zero 55296 aa 001140 700004 756111 260 stq sb|4,x1 " temporary L17: aa 001141 000000 213000 epaq 0 " set lp to linkage section aa 001142 700026 764161 lprplp sb|22,*au aa 001143 200000 021100 adlx1 bp|0 " BCPL save aa 001144 700000 542111 sprpbp sb|0,x1 aa 001145 700001 544111 sprplp sb|1,x1 aa 001146 700425 620111 eax0 sb|277,x1 aa 001147 777760 360003 anx0 -16,du aa 001150 700025 740100 stx0 sb|21 " end of save sequence aa 001151 700003 236111 261 ldq sb|3,x1 " c aa 001152 600464 756100 stq sp|308 " Comment aa 001153 600520 450100 stz sp|336 " Param aa 001154 700002 236111 ldq sb|2,x1 " n aa 001155 777777 376007 anq -1,dl " $8777777 aa 001156 600455 756100 stq sp|301 " Address aa 001157 000007 236007 ldq 7,dl " Dl aa 001160 600544 756100 stq sp|356 " Tag aa 001161 600455 236100 262 ldq sp|301 " Address aa 001162 700002 116111 cmpq sb|2,x1 " n aa 001163 000022 600004 tze L104 aa 001164 600455 234100 263 szn sp|301 " Address aa 001165 000007 601004 tnz L105 aa 001166 700002 235111 264 lda sb|2,x1 " n aa 001167 000022 771000 arl 18 aa 001170 600455 755100 sta sp|301 " Address aa 001171 000003 235007 lda 3,dl " Du aa 001172 600544 755100 sta sp|356 " Tag aa 001173 000012 710004 tra L106 L105: aa 001174 700002 351511 265 eapab sb|2,x1 " n aa 001175 700006 541111 sprpab sb|6,x1 aa 001176 000001 235007 lda 1,dl " 1 aa 001177 700007 755111 sta sb|7,x1 aa 001200 700003 235111 lda sb|3,x1 " c aa 001201 700010 755111 sta sb|8,x1 aa 001202 700011 450111 stz sb|9,x1 4a 001203 400032 272120 tsbbp lp|L107,* " AddLiteral aa 001204 000004 000004 zero 4,4 L106: L104: aa 001205 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001206 200000 121100 sblx1 bp|0 aa 001207 700001 764111 lprplp sb|1,x1 aa 001210 200001 710100 tra bp|1 " end of return sequence " Begin text of MakeAvailable aa 001211 000015 115141 zero 13,39521 " MakeAvailable aa 001212 153145 101166 zero 54885,33398 aa 001213 141151 154141 zero 49769,55393 aa 001214 142154 145000 zero 50284,51712 L16: aa 001215 000000 213000 251 epaq 0 " set lp to linkage section aa 001216 700026 764161 lprplp sb|22,*au aa 001217 200000 021100 adlx1 bp|0 " BCPL save aa 001220 700000 542111 sprpbp sb|0,x1 aa 001221 700001 544111 sprplp sb|1,x1 aa 001222 700423 620111 eax0 sb|275,x1 aa 001223 777760 360003 anx0 -16,du aa 001224 700025 740100 stx0 sb|21 " end of save sequence aa 001225 700002 723111 252 lxl3 sb|2,x1 " r aa 001226 600522 761100 lprpab sp|338 " RegisterTemps aa 001227 100000 235113 lda ab|0,x3 aa 001230 700003 755111 sta sb|3,x1 " h aa 001231 700003 234111 253 szn sb|3,x1 " h aa 001232 000031 600004 tze L110 aa 001233 000112 235007 254 lda 74,dl " LV_TEMP aa 001234 700006 755111 sta sb|6,x1 aa 001235 700003 763111 lprpbb sb|3,x1 " h aa 001236 300000 235100 lda bb|0 aa 001237 700007 755111 sta sb|7,x1 aa 001240 000027 371404 eaplb L111 " "temporary" aa 001241 700010 545111 sprplb sb|8,x1 aa 001242 700006 371511 eaplb sb|6,x1 " a list aa 001243 700004 545111 sprplb sb|4,x1 " To aa 001244 700002 235111 255 lda sb|2,x1 " r aa 001245 700014 755111 sta sb|12,x1 aa 001246 700004 235111 lda sb|4,x1 " To aa 001247 700015 755111 sta sb|13,x1 aa 001250 777321 272004 tsbbp L11+2 " StoreRegister aa 001251 000012 000002 zero 10,2 aa 001252 700002 724111 256 lxl4 sb|2,x1 " r aa 001253 600524 765100 lprplb sp|340 " RegisterUsage aa 001254 500000 450114 stz lb|0,x4 aa 001255 700002 725111 lxl5 sb|2,x1 " r aa 001256 600522 760100 lprpap sp|338 " RegisterTemps aa 001257 000000 450115 stz ap|0,x5 aa 001260 000001 335007 257 lca 1,dl aa 001261 700003 762111 lprpbp sb|3,x1 " h aa 001262 200000 755100 sta bp|0 L110: aa 001263 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001264 200000 121100 sblx1 bp|0 aa 001265 700001 764111 lprplp sb|1,x1 aa 001266 200001 710100 tra bp|1 " end of return sequence " Literal pool L111: aa 001267 000011 164145 zero 9,59493 " "temporary" aa 001270 155160 157162 zero 55920,56946 aa 001271 141162 171000 zero 49778,61952 " Begin text of GetRegister aa 001272 000013 107145 zero 11,36453 " GetRegister aa 001273 164122 145147 zero 59474,51815 aa 001274 151163 164145 zero 53875,59493 aa 001275 162000 000000 zero 58368 L14: aa 001276 000000 213000 197 epaq 0 " set lp to linkage section aa 001277 700026 764161 lprplp sb|22,*au aa 001300 200000 021100 adlx1 bp|0 " BCPL save aa 001301 700000 542111 sprpbp sb|0,x1 aa 001302 700001 544111 sprplp sb|1,x1 aa 001303 700424 620111 eax0 sb|276,x1 aa 001304 777760 360003 anx0 -16,du aa 001305 700025 740100 stx0 sb|21 " end of save sequence aa 001306 000146 710004 199 tra L116 L117: aa 001307 000143 235007 lda 99,dl " UnexpectedCase aa 001310 700014 755111 sta sb|12,x1 aa 001311 700002 235111 lda sb|2,x1 " r aa 001312 700015 755111 sta sb|13,x1 aa 001313 000210 351404 eapab L118 " "GetRegister" aa 001314 700016 541111 sprpab sb|14,x1 4a 001315 400042 272120 tsbbp lp|L56,* " CGreport aa 001316 000012 000003 zero 10,3 aa 001317 000001 235007 200 lda 1,dl " Ar aa 001320 700002 755111 sta sb|2,x1 " r L119: aa 001321 000023 235007 203 lda 19,dl " EAQr aa 001322 700014 755111 sta sb|12,x1 aa 001323 777674 272004 tsbbp L16+2 " MakeAvailable aa 001324 000012 000001 zero 10,1 aa 001325 000162 710004 206 tra L115 L120: aa 001326 000001 235007 207 lda 1,dl " Ar aa 001327 700014 755111 sta sb|12,x1 aa 001330 777667 272004 tsbbp L16+2 " MakeAvailable aa 001331 000012 000001 zero 10,1 aa 001332 000002 235007 208 lda 2,dl " Qr aa 001333 700014 755111 sta sb|12,x1 aa 001334 777663 272004 tsbbp L16+2 " MakeAvailable aa 001335 000012 000001 zero 10,1 aa 001336 000151 710004 211 tra L115 L121: aa 001337 000150 710004 215 tra L115 L122: aa 001340 600524 761100 216 lprpab sp|340 " RegisterUsage aa 001341 100001 235100 lda ab|1 aa 001342 600524 763100 lprpbb sp|340 " RegisterUsage aa 001343 300002 115100 cmpa bb|2 aa 001344 000003 605004 tpl L123 aa 001345 000001 236007 ldq 1,dl " Ar aa 001346 000002 710004 tra L124 L123: aa 001347 000002 236007 ldq 2,dl " Qr L124: aa 001350 700004 756111 stq sb|4,x1 aa 001351 700004 236111 ldq sb|4,x1 aa 001352 700002 756111 stq sb|2,x1 " r aa 001353 000023 236007 217 ldq 19,dl " EAQr aa 001354 700014 756111 stq sb|12,x1 aa 001355 777642 272004 tsbbp L16+2 " MakeAvailable aa 001356 000012 000001 zero 10,1 aa 001357 000130 710004 220 tra L115 L125: aa 001360 600524 765100 221 lprplb sp|340 " RegisterUsage aa 001361 500015 236100 ldq lb|13 aa 001362 600524 760100 lprpap sp|340 " RegisterUsage aa 001363 000013 116100 cmpq ap|11 aa 001364 000003 605004 tpl L126 aa 001365 000015 235007 lda 13,dl " Bpr aa 001366 000002 710004 tra L127 L126: aa 001367 000013 235007 lda 11,dl " Apr L127: aa 001370 700004 755111 sta sb|4,x1 aa 001371 700004 235111 lda sb|4,x1 aa 001372 700002 755111 sta sb|2,x1 " r aa 001373 600153 235100 222 lda sp|107 " Machine aa 001374 014044 115007 cmpa 6180,dl " 6180 aa 001375 000026 601004 tnz L128 aa 001376 000136 352004 223 eapbp L129 " a table aa 001377 700004 542111 sprpbp sb|4,x1 " T aa 001400 700005 450111 224 stz sb|5,x1 " i aa 001401 000017 710004 tra L130 L131: aa 001402 700005 726111 lxl6 sb|5,x1 " i aa 001403 700004 762111 lprpbp sb|4,x1 " T aa 001404 200000 726116 lxl6 bp|0,x6 aa 001405 600524 761100 lprpab sp|340 " RegisterUsage aa 001406 100000 236116 ldq ab|0,x6 aa 001407 700002 722111 lxl2 sb|2,x1 " r aa 001410 600524 763100 lprpbb sp|340 " RegisterUsage aa 001411 300000 116112 cmpq bb|0,x2 aa 001412 000005 605004 tpl L132 aa 001413 700005 723111 lxl3 sb|5,x1 " i aa 001414 700004 765111 lprplb sb|4,x1 " T aa 001415 500000 235113 lda lb|0,x3 aa 001416 700002 755111 sta sb|2,x1 " r L132: aa 001417 700005 054111 aos sb|5,x1 " i L130: aa 001420 700005 235111 lda sb|5,x1 " i aa 001421 000002 115007 cmpa 2,dl " 2 aa 001422 777760 604404 tmoz L131 L128: aa 001423 000064 710004 228 tra L115 L133: aa 001424 000005 236007 229 ldq 5,dl " Xr2 aa 001425 700002 756111 stq sb|2,x1 " r aa 001426 000102 350004 230 eapap L134 " a table aa 001427 700004 540111 sprpap sb|4,x1 " T aa 001430 700005 450111 231 stz sb|5,x1 " i aa 001431 000017 710004 tra L135 L136: aa 001432 700005 724111 lxl4 sb|5,x1 " i aa 001433 700004 760111 lprpap sb|4,x1 " T aa 001434 000000 724114 lxl4 ap|0,x4 aa 001435 600524 762100 lprpbp sp|340 " RegisterUsage aa 001436 200000 236114 ldq bp|0,x4 aa 001437 700002 725111 lxl5 sb|2,x1 " r aa 001440 600524 761100 lprpab sp|340 " RegisterUsage aa 001441 100000 116115 cmpq ab|0,x5 aa 001442 000005 605004 tpl L137 aa 001443 700005 726111 lxl6 sb|5,x1 " i aa 001444 700004 763111 lprpbb sb|4,x1 " T aa 001445 300000 235116 lda bb|0,x6 aa 001446 700002 755111 sta sb|2,x1 " r L137: aa 001447 700005 054111 aos sb|5,x1 " i L135: aa 001450 700005 235111 lda sb|5,x1 " i aa 001451 000003 115007 cmpa 3,dl " 3 aa 001452 777760 604404 tmoz L136 aa 001453 000034 710004 232 tra L115 L116: " Begin switchon aa 001454 700002 235111 lda sb|2,x1 " r aa 001455 000005 115007 cmpa 5,dl aa 001456 000024 604004 tmi L138 aa 001457 000012 115007 cmpa 10,dl aa 001460 777657 604004 tmi L121 aa 001461 000013 115007 cmpa 11,dl aa 001462 777625 604004 tmi L117 aa 001463 000017 115007 cmpa 15,dl aa 001464 777653 604004 tmi L121 aa 001465 000031 115007 cmpa 25,dl aa 001466 777621 605004 tpl L117 0a 001467 001451 710005 tra L139-15,al L139: aa 001470 777617 710004 tra L117 aa 001471 777646 710004 tra L121 aa 001472 777615 710004 tra L117 aa 001473 777614 710004 tra L117 aa 001474 777632 710004 tra L120 aa 001475 777612 710004 tra L117 aa 001476 777611 710004 tra L117 aa 001477 777641 710004 tra L122 aa 001500 777660 710004 tra L125 aa 001501 777723 710004 tra L133 L138: aa 001502 000001 115007 cmpa 1,dl aa 001503 777616 600004 tze L119 aa 001504 000002 115007 cmpa 2,dl aa 001505 777614 600004 tze L119 aa 001506 777601 710004 tra L117 L115: aa 001507 700002 236111 234 ldq sb|2,x1 " r aa 001510 700014 756111 stq sb|12,x1 aa 001511 777506 272004 tsbbp L16+2 " MakeAvailable aa 001512 000012 000001 zero 10,1 aa 001513 700002 236111 235 ldq sb|2,x1 " r L114: aa 001514 700004 756111 stq sb|4,x1 aa 001515 700004 236111 ldq sb|4,x1 aa 001516 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001517 200000 121100 sblx1 bp|0 aa 001520 700001 764111 lprplp sb|1,x1 aa 001521 200001 710100 tra bp|1 " end of return sequence aa 001522 700003 756111 stq sb|3,x1 " temporary " Literal pool L118: aa 001523 000013 107145 zero 11,36453 " "GetRegister" aa 001524 164122 145147 zero 59474,51815 aa 001525 151163 164145 zero 53875,59493 aa 001526 162000 000000 zero 58368 aa 001527 000000 000000 zero 0 " padding L134: aa 001530 000000 000006 zero 0,6 " a table aa 001531 000000 000007 zero 0,7 aa 001532 000000 000010 zero 0,8 aa 001533 000000 000011 zero 0,9 L129: aa 001534 000000 000014 zero 0,12 " a table aa 001535 000000 000016 zero 0,14 aa 001536 000000 000020 zero 0,16 " Begin text of Preserve aa 001537 000010 120162 zero 8,41074 " Preserve aa 001540 145163 145162 zero 51827,51826 aa 001541 166145 000000 zero 60517 L13: aa 001542 000000 213000 192 epaq 0 " set lp to linkage section aa 001543 700026 764161 lprplp sb|22,*au aa 001544 200000 021100 adlx1 bp|0 " BCPL save aa 001545 700000 542111 sprpbp sb|0,x1 aa 001546 700001 544111 sprplp sb|1,x1 aa 001547 700417 620111 eax0 sb|271,x1 aa 001550 777760 360003 anx0 -16,du aa 001551 700025 740100 stx0 sb|21 " end of save sequence aa 001552 600550 054100 193 aos sp|360 " UsageCounter aa 001553 600550 236100 194 ldq sp|360 " UsageCounter aa 001554 700002 722111 lxl2 sb|2,x1 " r aa 001555 600524 765100 lprplb sp|340 " RegisterUsage aa 001556 500000 756112 stq lb|0,x2 aa 001557 700002 236111 195 ldq sb|2,x1 " r L142: aa 001560 700004 756111 stq sb|4,x1 aa 001561 700004 236111 ldq sb|4,x1 aa 001562 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001563 200000 121100 sblx1 bp|0 aa 001564 700001 764111 lprplp sb|1,x1 aa 001565 200001 710100 tra bp|1 " end of return sequence " Begin text of SetATP aa 001566 000006 123145 zero 6,42597 " SetATP aa 001567 164101 124120 zero 59457,43088 aa 001570 700003 756111 111 stq sb|3,x1 " temporary L9: aa 001571 000000 213000 epaq 0 " set lp to linkage section aa 001572 700026 764161 lprplp sb|22,*au aa 001573 200000 021100 adlx1 bp|0 " BCPL save aa 001574 700000 542111 sprpbp sb|0,x1 aa 001575 700001 544111 sprplp sb|1,x1 aa 001576 700424 620111 eax0 sb|276,x1 aa 001577 777760 360003 anx0 -16,du aa 001600 700025 740100 stx0 sb|21 " end of save sequence aa 001601 600544 450100 112 stz sp|356 " Tag aa 001602 600455 450100 stz sp|301 " Address aa 001603 600520 450100 stz sp|336 " Param aa 001604 000135 710004 114 tra L147 L148: aa 001605 000215 336004 115 lcq L149 " Sp aa 001606 600544 756100 stq sp|356 " Tag aa 001607 700002 760111 lprpap sb|2,x1 " t aa 001610 000001 236100 ldq ap|1 aa 001611 600455 756100 stq sp|301 " Address aa 001612 000176 710004 117 tra L146 L150: aa 001613 700002 762111 118 lprpbp sb|2,x1 " t aa 001614 200001 236100 ldq bp|1 aa 001615 700012 756111 stq sb|10,x1 4a 001616 400030 272120 tsbbp lp|L151,* " LookupTemp aa 001617 000010 000001 zero 8,1 aa 001620 700003 756111 stq sb|3,x1 " h aa 001621 700003 234111 119 szn sb|3,x1 " h aa 001622 000025 600004 tze L152 aa 001623 700003 761111 lprpab sb|3,x1 " h aa 001624 100001 236100 ldq ab|1 aa 001625 000216 116007 cmpq 142,dl " VECAP_S aa 001626 000005 600004 tze L154 aa 001627 700003 763111 lprpbb sb|3,x1 " h aa 001630 300001 235100 lda bb|1 aa 001631 000103 115007 cmpa 67,dl " LVECAP_S aa 001632 000015 601004 tnz L153 L154: aa 001633 700003 765111 120 lprplb sb|3,x1 " h aa 001634 500002 371500 eaplb lb|2 aa 001635 700012 545111 sprplb sb|10,x1 aa 001636 700003 765111 lprplb sb|3,x1 " h aa 001637 500005 371500 eaplb lb|5 aa 001640 700013 545111 sprplb sb|11,x1 aa 001641 700003 765111 lprplb sb|3,x1 " h aa 001642 500010 236100 ldq lb|8 aa 001643 700014 756111 stq sb|12,x1 4a 001644 400026 272120 tsbbp lp|L155,* " CombineAddress aa 001645 000010 000003 zero 8,3 aa 001646 000142 710004 121 tra L146 L153: L152: L156: aa 001647 700002 760111 125 lprpap sb|2,x1 " t aa 001650 000001 236100 ldq ap|1 aa 001651 600534 076100 adq sp|348 " SaveSpaceSize aa 001652 600455 756100 stq sp|301 " Address aa 001653 600540 236100 ldq sp|352 " StackRefTag aa 001654 600544 756100 stq sp|356 " Tag aa 001655 000133 710004 127 tra L146 L157: aa 001656 700002 762111 128 lprpbp sb|2,x1 " t aa 001657 200001 236100 ldq bp|1 aa 001660 600534 076100 adq sp|348 " SaveSpaceSize aa 001661 600455 756100 stq sp|301 " Address aa 001662 600476 236100 ldq sp|318 " LabMaxSSP aa 001663 600520 756100 stq sp|336 " Param aa 001664 600540 236100 ldq sp|352 " StackRefTag aa 001665 600544 756100 stq sp|356 " Tag aa 001666 000122 710004 130 tra L146 L158: aa 001667 700002 761111 131 lprpab sb|2,x1 " t aa 001670 100001 236100 ldq ab|1 aa 001671 000010 076007 adq 8,dl " 8 aa 001672 600455 756100 stq sp|301 " Address aa 001673 000126 336004 lcq L159 " Lp aa 001674 600544 756100 stq sp|356 " Tag aa 001675 000113 710004 133 tra L146 L160: aa 001676 700002 763111 134 lprpbb sb|2,x1 " t aa 001677 300001 236100 ldq bb|1 aa 001700 700012 756111 stq sb|10,x1 4a 001701 400024 272120 tsbbp lp|L161,* " Compexternal aa 001702 000010 000001 zero 8,1 aa 001703 600520 756100 stq sp|336 " Param aa 001704 000114 336004 lcq L162 aa 001705 600544 756100 stq sp|356 " Tag aa 001706 000102 710004 136 tra L146 L163: aa 001707 700002 765111 137 lprplb sb|2,x1 " t aa 001710 500001 236100 ldq lb|1 aa 001711 600520 756100 stq sp|336 " Param aa 001712 000076 710004 139 tra L146 L164: aa 001713 700002 760111 140 lprpap sb|2,x1 " t aa 001714 000001 236100 ldq ap|1 aa 001715 700012 756111 stq sb|10,x1 4a 001716 400022 272120 tsbbp lp|L165,* " Compstring aa 001717 000010 000001 zero 8,1 aa 001720 000070 710004 142 tra L146 L166: aa 001721 700002 762111 143 lprpbp sb|2,x1 " t aa 001722 200001 236100 ldq bp|1 aa 001723 700012 756111 stq sb|10,x1 4a 001724 400020 272120 tsbbp lp|L167,* " Comptable aa 001725 000010 000001 zero 8,1 aa 001726 000062 710004 145 tra L146 L168: aa 001727 000143 236007 ldq 99,dl " UnexpectedCase aa 001730 700012 756111 stq sb|10,x1 aa 001731 700002 761111 lprpab sb|2,x1 " t aa 001732 100000 236100 ldq ab|0 aa 001733 700013 756111 stq sb|11,x1 aa 001734 000062 353404 eapbb L169 " "SetATP" aa 001735 700014 543111 sprpbb sb|12,x1 4a 001736 400042 272120 tsbbp lp|L56,* " CGreport aa 001737 000010 000003 zero 8,3 aa 001740 000050 710004 tra L146 L147: " Begin switchon aa 001741 700002 763111 lprpbb sb|2,x1 " t aa 001742 300000 235100 lda bb|0 aa 001743 000162 115007 cmpa 114,dl aa 001744 000015 604004 tmi L170 aa 001745 777742 600004 tze L163 aa 001746 000202 115007 cmpa 130,dl aa 001747 000005 604004 tmi L171 aa 001750 777751 600004 tze L166 aa 001751 000203 115007 cmpa 131,dl aa 001752 777641 600004 tze L150 aa 001753 777754 710004 tra L168 L171: aa 001754 000174 115007 cmpa 124,dl aa 001755 777712 600004 tze L158 aa 001756 000176 115007 cmpa 126,dl aa 001757 777734 600004 tze L164 aa 001760 777747 710004 tra L168 L170: aa 001761 000043 773000 lrl 35 aa 001762 000011 507007 dvf 9,dl " hash table size 0a 001763 001777 115006 cmpa L172,ql aa 001764 777743 601004 tnz L168 0a 001765 001766 710006 tra L173,ql L173: aa 001766 777661 710004 tra L156 aa 001767 777700 710004 tra L158 aa 001770 777657 710004 tra L156 aa 001771 777705 710004 tra L160 aa 001772 777655 710004 tra L156 aa 001773 777663 710004 tra L157 aa 001774 777611 710004 tra L148 aa 001775 777712 710004 tra L163 aa 001776 777607 710004 tra L148 L172: aa 001777 000000 000010 zero 0,8 aa 002000 000000 000010 zero 0,8 aa 002001 000000 000010 zero 0,8 aa 002002 000000 000003 zero 0,3 aa 002003 000000 000006 zero 0,6 aa 002004 000000 000007 zero 0,7 aa 002005 000000 000004 zero 0,4 aa 002006 000000 000005 zero 0,5 aa 002007 000000 000007 zero 0,7 L146: 4a 002010 400016 272120 147 tsbbp lp|L174,* " CheckAddr aa 002011 000010 000000 zero 8 L145: aa 002012 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002013 200000 121100 sblx1 bp|0 aa 002014 700001 764111 lprplp sb|1,x1 aa 002015 200001 710100 tra bp|1 " end of return sequence " Literal pool L169: aa 002016 000006 123145 zero 6,42597 " "SetATP" aa 002017 164101 124120 zero 59457,43088 L162: aa 002020 377777 777660 zero 131071,-80 L159: aa 002021 377777 777700 zero 131071,-64 " Lp L149: aa 002022 177777 777700 zero 65535,-64 " Sp " Begin text of SetupAddr aa 002023 000011 123145 zero 9,42597 " SetupAddr aa 002024 164165 160101 zero 59509,57409 aa 002025 144144 162000 zero 51300,58368 L8: aa 002026 000000 213000 103 epaq 0 " set lp to linkage section aa 002027 700026 764161 lprplp sb|22,*au aa 002030 200000 021100 adlx1 bp|0 " BCPL save aa 002031 700000 542111 sprpbp sb|0,x1 aa 002032 700001 544111 sprplp sb|1,x1 aa 002033 700423 620111 eax0 sb|275,x1 aa 002034 777760 360003 anx0 -16,du aa 002035 700025 740100 stx0 sb|21 " end of save sequence aa 002036 700002 236111 104 ldq sb|2,x1 " t aa 002037 700010 756111 stq sb|8,x1 4a 002040 400044 272120 tsbbp lp|L41,* " IsAddress aa 002041 000006 000001 zero 6,1 aa 002042 000000 116007 cmpq 0,dl aa 002043 000006 600004 tze L178 aa 002044 700002 236111 105 ldq sb|2,x1 " t aa 002045 700010 756111 stq sb|8,x1 aa 002046 777525 272004 tsbbp L9+2 " SetATP aa 002047 000006 000001 zero 6,1 aa 002050 000017 710004 tra L179 L178: aa 002051 700002 236111 106 ldq sb|2,x1 " t aa 002052 700010 756111 stq sb|8,x1 aa 002053 000027 236007 ldq 23,dl " AnyPr aa 002054 700011 756111 stq sb|9,x1 aa 002055 776114 272004 tsbbp L4+2 " LoadPointer aa 002056 000006 000002 zero 6,2 aa 002057 700003 756111 stq sb|3,x1 " r aa 002060 600520 450100 107 stz sp|336 " Param aa 002061 700003 236111 ldq sb|3,x1 " r aa 002062 700010 756111 stq sb|8,x1 4a 002063 400036 272120 tsbbp lp|L77,* " FormTag aa 002064 000006 000001 zero 6,1 aa 002065 600544 756100 stq sp|356 " Tag aa 002066 600455 450100 stz sp|301 " Address L179: aa 002067 700002 765111 109 lprplb sb|2,x1 " t aa 002070 500002 234100 szn lb|2 aa 002071 000004 600004 tze L180 aa 002072 700002 760111 lprpap sb|2,x1 " t aa 002073 000002 236100 ldq ap|2 aa 002074 600464 756100 stq sp|308 " Comment L180: L177: aa 002075 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002076 200000 121100 sblx1 bp|0 aa 002077 700001 764111 lprplp sb|1,x1 aa 002100 200001 710100 tra bp|1 " end of return sequence " Begin text of Makeaddressable aa 002101 000017 115141 zero 15,39521 " Makeaddressable aa 002102 153145 141144 zero 54885,49764 aa 002103 144162 145163 zero 51314,51827 aa 002104 163141 142154 zero 58977,50284 aa 002105 145000 000000 zero 51712 L7: aa 002106 000000 213000 92 epaq 0 " set lp to linkage section aa 002107 700026 764161 lprplp sb|22,*au aa 002110 200000 021100 adlx1 bp|0 " BCPL save aa 002111 700000 542111 sprpbp sb|0,x1 aa 002112 700001 544111 sprplp sb|1,x1 aa 002113 700423 620111 eax0 sb|275,x1 aa 002114 777760 360003 anx0 -16,du aa 002115 700025 740100 stx0 sb|21 " end of save sequence aa 002116 700002 236111 93 ldq sb|2,x1 " t aa 002117 700016 756111 stq sb|14,x1 4a 002120 400014 272120 tsbbp lp|L186,* " IsNumber aa 002121 000014 000001 zero 12,1 aa 002122 000000 116007 cmpq 0,dl aa 002123 000022 600004 tze L184 aa 002124 700002 762111 94 lprpbp sb|2,x1 " t aa 002125 200000 236100 ldq bp|0 aa 002126 700016 756111 stq sb|14,x1 aa 002127 700002 761111 lprpab sb|2,x1 " t aa 002130 100001 236100 ldq ab|1 aa 002131 700017 756111 stq sb|15,x1 4a 002132 400012 272120 tsbbp lp|L187,* " EvalNumber aa 002133 000014 000002 zero 12,2 aa 002134 700003 756111 stq sb|3,x1 aa 002135 700003 236111 ldq sb|3,x1 aa 002136 700016 756111 stq sb|14,x1 aa 002137 700002 763111 lprpbb sb|2,x1 " t aa 002140 300002 236100 ldq bb|2 aa 002141 700017 756111 stq sb|15,x1 aa 002142 777001 272004 tsbbp L17+2 " Literal aa 002143 000014 000002 zero 12,2 aa 002144 000034 710004 tra L185 L184: aa 002145 700002 236111 95 ldq sb|2,x1 " t aa 002146 700016 756111 stq sb|14,x1 4a 002147 400010 272120 tsbbp lp|L190,* " IsStored aa 002150 000014 000001 zero 12,1 aa 002151 000000 116007 cmpq 0,dl aa 002152 000006 600004 tze L188 aa 002153 700002 236111 96 ldq sb|2,x1 " t aa 002154 700016 756111 stq sb|14,x1 aa 002155 777416 272004 tsbbp L9+2 " SetATP aa 002156 000014 000001 zero 12,1 aa 002157 000021 710004 tra L189 L188: aa 002160 000107 236007 97 ldq 71,dl " LV_GLOBAL aa 002161 700010 756111 stq sb|8,x1 aa 002162 700012 450111 stz sb|10,x1 aa 002163 700011 450111 stz sb|9,x1 aa 002164 700010 371511 eaplb sb|8,x1 " a list aa 002165 700003 545111 sprplb sb|3,x1 " u aa 002166 700002 236111 98 ldq sb|2,x1 " t aa 002167 700016 756111 stq sb|14,x1 aa 002170 700003 236111 ldq sb|3,x1 " u aa 002171 700017 756111 stq sb|15,x1 aa 002172 776547 272004 tsbbp L12+2 " Store aa 002173 000014 000002 zero 12,2 aa 002174 600455 450100 99 stz sp|301 " Address aa 002175 600520 450100 stz sp|336 " Param aa 002176 777624 336004 lcq L149 " Sp aa 002177 600544 756100 stq sp|356 " Tag L189: L185: aa 002200 700002 765111 101 lprplb sb|2,x1 " t aa 002201 500002 234100 szn lb|2 aa 002202 000004 600004 tze L191 aa 002203 700002 760111 lprpap sb|2,x1 " t aa 002204 000002 236100 ldq ap|2 aa 002205 600464 756100 stq sp|308 " Comment L191: L183: aa 002206 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002207 200000 121100 sblx1 bp|0 aa 002210 700001 764111 lprplp sb|1,x1 aa 002211 200001 710100 tra bp|1 " end of return sequence " Begin text of LoadIndex aa 002212 000011 114157 zero 9,39023 " LoadIndex aa 002213 141144 111156 zero 49764,37486 aa 002214 144145 170000 zero 51301,61440 L5: aa 002215 000000 213000 63 epaq 0 " set lp to linkage section aa 002216 700026 764161 lprplp sb|22,*au aa 002217 200000 021100 adlx1 bp|0 " BCPL save aa 002220 700000 542111 sprpbp sb|0,x1 aa 002221 700001 544111 sprplp sb|1,x1 aa 002222 700423 620111 eax0 sb|275,x1 aa 002223 777760 360003 anx0 -16,du aa 002224 700025 740100 stx0 sb|21 " end of save sequence aa 002225 700002 236111 64 ldq sb|2,x1 " t aa 002226 700012 756111 stq sb|10,x1 aa 002227 700003 236111 ldq sb|3,x1 " r aa 002230 700013 756111 stq sb|11,x1 4a 002231 400046 272120 tsbbp lp|L37,* " FindInRegister aa 002232 000010 000002 zero 8,2 aa 002233 700005 756111 stq sb|5,x1 " q aa 002234 700005 234111 65 szn sb|5,x1 " q aa 002235 000013 601004 tnz L195 aa 002236 700003 236111 ldq sb|3,x1 " r aa 002237 000030 116007 cmpq 24,dl " AnyXr aa 002240 000010 601004 tnz L195 aa 002241 700002 235111 lda sb|2,x1 " t aa 002242 700012 755111 sta sb|10,x1 aa 002243 000026 235007 lda 22,dl " AorQr aa 002244 700013 755111 sta sb|11,x1 4a 002245 400046 272120 tsbbp lp|L37,* " FindInRegister aa 002246 000010 000002 zero 8,2 aa 002247 700005 756111 stq sb|5,x1 " q L195: aa 002250 700005 234111 66 szn sb|5,x1 " q aa 002251 000006 600004 tze L196 aa 002252 700005 236111 ldq sb|5,x1 " q aa 002253 700012 756111 stq sb|10,x1 aa 002254 777270 272004 tsbbp L13+2 " Preserve aa 002255 000010 000001 zero 8,1 aa 002256 000061 710004 tra L194 L196: aa 002257 700003 236111 67 ldq sb|3,x1 " r aa 002260 700012 756111 stq sb|10,x1 aa 002261 777017 272004 tsbbp L14+2 " GetRegister aa 002262 000010 000001 zero 8,1 aa 002263 700003 756111 stq sb|3,x1 " r aa 002264 700002 236111 68 ldq sb|2,x1 " t aa 002265 700012 756111 stq sb|10,x1 4a 002266 400044 272120 tsbbp lp|L41,* " IsAddress aa 002267 000010 000001 zero 8,1 aa 002270 000000 116007 cmpq 0,dl aa 002271 000021 600004 tze L197 aa 002272 700002 236111 69 ldq sb|2,x1 " t aa 002273 700012 756111 stq sb|10,x1 aa 002274 777534 272004 tsbbp L8+2 " SetupAddr aa 002275 000010 000001 zero 8,1 aa 002276 000620 236007 70 ldq 400,dl " Eax0 aa 002277 700012 756111 stq sb|10,x1 aa 002300 700003 236111 ldq sb|3,x1 " r aa 002301 700013 756111 stq sb|11,x1 4a 002302 400054 272120 tsbbp lp|L25,* " FormOpcode aa 002303 000010 000002 zero 8,2 aa 002304 700006 756111 stq sb|6,x1 aa 002305 700006 236111 ldq sb|6,x1 aa 002306 700012 756111 stq sb|10,x1 4a 002307 400052 272120 tsbbp lp|L26,* " Outop aa 002310 000010 000001 zero 8,1 aa 002311 000020 710004 tra L198 L197: aa 002312 700002 236111 72 ldq sb|2,x1 " t aa 002313 700012 756111 stq sb|10,x1 aa 002314 777574 272004 tsbbp L7+2 " Makeaddressable aa 002315 000010 000001 zero 8,1 aa 002316 000720 236007 73 ldq 464,dl " Lxl0 aa 002317 700012 756111 stq sb|10,x1 aa 002320 700003 236111 ldq sb|3,x1 " r aa 002321 700013 756111 stq sb|11,x1 4a 002322 400054 272120 tsbbp lp|L25,* " FormOpcode aa 002323 000010 000002 zero 8,2 aa 002324 700006 756111 stq sb|6,x1 aa 002325 700006 236111 ldq sb|6,x1 aa 002326 700012 756111 stq sb|10,x1 4a 002327 400052 272120 tsbbp lp|L26,* " Outop aa 002330 000010 000001 zero 8,1 L198: aa 002331 700003 236111 75 ldq sb|3,x1 " r aa 002332 600473 756100 stq sp|315 " IndicatorsSetBy aa 002333 700003 236111 76 ldq sb|3,x1 " r aa 002334 700012 756111 stq sb|10,x1 aa 002335 777207 272004 tsbbp L13+2 " Preserve aa 002336 000010 000001 zero 8,1 L194: aa 002337 700005 756111 stq sb|5,x1 aa 002340 700005 236111 ldq sb|5,x1 aa 002341 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002342 200000 121100 sblx1 bp|0 aa 002343 700001 764111 lprplp sb|1,x1 aa 002344 200001 710100 tra bp|1 " end of return sequence " Begin text of LoadRegister aa 002345 000014 114157 zero 12,39023 " LoadRegister aa 002346 141144 122145 zero 49764,42085 aa 002347 147151 163164 zero 52841,58996 aa 002350 145162 000000 zero 51826 aa 002351 700004 756111 17 stq sb|4,x1 " temporary L1: aa 002352 000000 213000 epaq 0 " set lp to linkage section aa 002353 700026 764161 lprplp sb|22,*au aa 002354 200000 021100 adlx1 bp|0 " BCPL save aa 002355 700000 542111 sprpbp sb|0,x1 aa 002356 700001 544111 sprplp sb|1,x1 aa 002357 700424 620111 eax0 sb|276,x1 aa 002360 777760 360003 anx0 -16,du aa 002361 700025 740100 stx0 sb|21 " end of save sequence aa 002362 700002 236111 18 ldq sb|2,x1 " t aa 002363 700016 756111 stq sb|14,x1 aa 002364 700003 236111 ldq sb|3,x1 " r aa 002365 700017 756111 stq sb|15,x1 4a 002366 400046 272120 tsbbp lp|L37,* " FindInRegister aa 002367 000014 000002 zero 12,2 aa 002370 700005 756111 stq sb|5,x1 " q aa 002371 700005 234111 19 szn sb|5,x1 " q aa 002372 000006 600004 tze L202 aa 002373 700005 236111 ldq sb|5,x1 " q aa 002374 700016 756111 stq sb|14,x1 aa 002375 777147 272004 tsbbp L13+2 " Preserve aa 002376 000014 000001 zero 12,1 aa 002377 000122 710004 tra L201 L202: aa 002400 700003 236111 20 ldq sb|3,x1 " r aa 002401 000001 116007 cmpq 1,dl " Ar aa 002402 000004 600004 tze L204 aa 002403 700003 235111 lda sb|3,x1 " r aa 002404 000002 115007 cmpa 2,dl " Qr aa 002405 000021 601004 tnz L203 L204: aa 002406 700002 236111 ldq sb|2,x1 " t aa 002407 700016 756111 stq sb|14,x1 aa 002410 000003 236007 ldq 3,dl aa 002411 700003 176111 sbq sb|3,x1 " r aa 002412 700017 756111 stq sb|15,x1 4a 002413 400046 272120 tsbbp lp|L37,* " FindInRegister aa 002414 000014 000002 zero 12,2 aa 002415 000000 116007 cmpq 0,dl aa 002416 000010 600004 tze L205 aa 002417 775465 272004 21 tsbbp L3+2 " SwapAandQ aa 002420 000014 000000 zero 12 aa 002421 700003 236111 22 ldq sb|3,x1 " r aa 002422 700016 756111 stq sb|14,x1 aa 002423 777121 272004 tsbbp L13+2 " Preserve aa 002424 000014 000001 zero 12,1 aa 002425 000074 710004 tra L201 L205: L203: aa 002426 700002 236111 24 ldq sb|2,x1 " t aa 002427 700016 756111 stq sb|14,x1 4a 002430 400014 272120 tsbbp lp|L186,* " IsNumber aa 002431 000014 000001 zero 12,1 aa 002432 000000 116007 cmpq 0,dl aa 002433 000024 600004 tze L206 aa 002434 700002 762111 lprpbp sb|2,x1 " t aa 002435 200000 236100 ldq bp|0 aa 002436 700016 756111 stq sb|14,x1 aa 002437 700002 761111 lprpab sb|2,x1 " t aa 002440 100001 236100 ldq ab|1 aa 002441 700017 756111 stq sb|15,x1 4a 002442 400012 272120 tsbbp lp|L187,* " EvalNumber aa 002443 000014 000002 zero 12,2 aa 002444 700010 756111 stq sb|8,x1 aa 002445 700010 236111 ldq sb|8,x1 aa 002446 700016 756111 stq sb|14,x1 aa 002447 700003 236111 ldq sb|3,x1 " r aa 002450 700017 756111 stq sb|15,x1 aa 002451 700002 763111 lprpbb sb|2,x1 " t aa 002452 300002 236100 ldq bb|2 aa 002453 700020 756111 stq sb|16,x1 aa 002454 775331 272004 tsbbp L2+2 " LoadNumber aa 002455 000014 000003 zero 12,3 aa 002456 000043 710004 tra L201 L206: aa 002457 700003 236111 25 ldq sb|3,x1 " r aa 002460 700016 756111 stq sb|14,x1 aa 002461 776617 272004 tsbbp L14+2 " GetRegister aa 002462 000014 000001 zero 12,1 aa 002463 700003 756111 stq sb|3,x1 " r aa 002464 700002 236111 26 ldq sb|2,x1 " t aa 002465 700016 756111 stq sb|14,x1 aa 002466 777422 272004 tsbbp L7+2 " Makeaddressable aa 002467 000014 000001 zero 12,1 aa 002470 700003 236111 27 ldq sb|3,x1 " r aa 002471 000023 116007 cmpq 19,dl " EAQr aa 002472 000003 601004 tnz L207 aa 002473 000431 235007 lda 281,dl " Fld aa 002474 000010 710004 tra L208 L207: aa 002475 000235 236007 ldq 157,dl " Lda aa 002476 700016 756111 stq sb|14,x1 aa 002477 700003 236111 ldq sb|3,x1 " r aa 002500 700017 756111 stq sb|15,x1 4a 002501 400054 272120 tsbbp lp|L25,* " FormOpcode aa 002502 000014 000002 zero 12,2 aa 002503 000044 777000 llr 36 " exchange A and Q L208: aa 002504 700011 755111 sta sb|9,x1 aa 002505 700011 235111 lda sb|9,x1 aa 002506 700006 755111 sta sb|6,x1 aa 002507 700006 235111 lda sb|6,x1 aa 002510 700016 755111 sta sb|14,x1 4a 002511 400052 272120 tsbbp lp|L26,* " Outop aa 002512 000014 000001 zero 12,1 aa 002513 700003 235111 28 lda sb|3,x1 " r aa 002514 600473 755100 sta sp|315 " IndicatorsSetBy aa 002515 700003 235111 29 lda sb|3,x1 " r aa 002516 700016 755111 sta sb|14,x1 aa 002517 777025 272004 tsbbp L13+2 " Preserve aa 002520 000014 000001 zero 12,1 L201: aa 002521 700005 756111 stq sb|5,x1 aa 002522 700005 236111 ldq sb|5,x1 aa 002523 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002524 200000 121100 sblx1 bp|0 aa 002525 700001 764111 lprplp sb|1,x1 aa 002526 200001 710100 tra bp|1 " end of return sequence aa 002527 000000 000000 " padding " Definition section part one - external entry points 5a 000000 000075 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_cg3" aa 000004 154137 143147 aa 000005 063000 000000 aa 000006 007114 151164 " "Literal" aa 000007 145162 141154 aa 000010 014123 141164 " "Satisfactory" aa 000011 151163 146141 aa 000012 143164 157162 aa 000013 171000 000000 aa 000014 013107 145164 " "GetRegister" aa 000015 122145 147151 aa 000016 163164 145162 aa 000017 010120 162145 " "Preserve" aa 000020 163145 162166 aa 000021 145000 000000 aa 000022 005123 164157 " "Store" aa 000023 162145 000000 aa 000024 015123 164157 " "StoreRegister" aa 000025 162145 122145 aa 000026 147151 163164 aa 000027 145162 000000 aa 000030 015103 157155 " "CompareToZero" aa 000031 160141 162145 aa 000032 124157 132145 aa 000033 162157 000000 aa 000034 011123 145164 " "SetupAddr" aa 000035 165160 101144 aa 000036 144162 000000 aa 000037 017115 141153 " "Makeaddressable" aa 000040 145141 144144 aa 000041 162145 163163 aa 000042 141142 154145 aa 000043 027114 157141 " "LoadAppropriateRegister" aa 000044 144101 160160 aa 000045 162157 160162 aa 000046 151141 164145 aa 000047 122145 147151 aa 000050 163164 145162 aa 000051 011114 157141 " "LoadIndex" aa 000052 144111 156144 aa 000053 145170 000000 aa 000054 013114 157141 " "LoadPointer" aa 000055 144120 157151 aa 000056 156164 145162 aa 000057 011123 167141 " "SwapAandQ" aa 000060 160101 141156 aa 000061 144121 000000 aa 000062 012114 157141 " "LoadNumber" aa 000063 144116 165155 aa 000064 142145 162000 aa 000065 014114 157141 " "LoadRegister" aa 000066 144122 145147 aa 000067 151163 164145 aa 000070 162000 000000 aa 000071 014163 171155 " "symbol_table" aa 000072 142157 154137 aa 000073 164141 142154 aa 000074 145000 000000 " Segname definition for bcpl_cg3 55 000075 000100 000002 " forward, backward threads 5a 000076 000002 400003 " value defined, class flags 55 000077 000003 000100 " name pointer, first entry def " Definition for Literal 55 000100 000103 000075 " forward, backward threads 0a 000101 001141 500000 " value defined, class flags 55 000102 000006 000075 " name pointer, segname def pointer " Definition for Satisfactory 55 000103 000106 000100 " forward, backward threads 0a 000104 001012 500000 " value defined, class flags 55 000105 000010 000075 " name pointer, segname def pointer " Definition for GetRegister 55 000106 000111 000103 " forward, backward threads 0a 000107 001276 500000 " value defined, class flags 55 000110 000014 000075 " name pointer, segname def pointer " Definition for Preserve 55 000111 000114 000106 " forward, backward threads 0a 000112 001542 500000 " value defined, class flags 55 000113 000017 000075 " name pointer, segname def pointer " Definition for Store 55 000114 000117 000111 " forward, backward threads 0a 000115 000737 500000 " value defined, class flags 55 000116 000022 000075 " name pointer, segname def pointer " Definition for StoreRegister 55 000117 000122 000114 " forward, backward threads 0a 000120 000567 500000 " value defined, class flags 55 000121 000024 000075 " name pointer, segname def pointer " Definition for CompareToZero 55 000122 000125 000117 " forward, backward threads 0a 000123 000501 500000 " value defined, class flags 55 000124 000030 000075 " name pointer, segname def pointer " Definition for SetupAddr 55 000125 000130 000122 " forward, backward threads 0a 000126 002026 500000 " value defined, class flags 55 000127 000034 000075 " name pointer, segname def pointer " Definition for Makeaddressable 55 000130 000133 000125 " forward, backward threads 0a 000131 002106 500000 " value defined, class flags 55 000132 000037 000075 " name pointer, segname def pointer " Definition for LoadAppropriateRegister 55 000133 000136 000130 " forward, backward threads 0a 000134 000311 500000 " value defined, class flags 55 000135 000043 000075 " name pointer, segname def pointer " Definition for LoadIndex 55 000136 000141 000133 " forward, backward threads 0a 000137 002215 500000 " value defined, class flags 55 000140 000051 000075 " name pointer, segname def pointer " Definition for LoadPointer 55 000141 000144 000136 " forward, backward threads 0a 000142 000167 500000 " value defined, class flags 55 000143 000054 000075 " name pointer, segname def pointer " Definition for SwapAandQ 55 000144 000147 000141 " forward, backward threads 0a 000145 000102 500000 " value defined, class flags 55 000146 000057 000075 " name pointer, segname def pointer " Definition for LoadNumber 55 000147 000152 000144 " forward, backward threads 0a 000150 000003 500000 " value defined, class flags 55 000151 000062 000075 " name pointer, segname def pointer " Definition for LoadRegister 55 000152 000155 000147 " forward, backward threads 0a 000153 002352 500000 " value defined, class flags 55 000154 000065 000075 " name pointer, segname def pointer " Definition for symbol_table 55 000155 000002 000152 " forward, backward threads 6a 000156 000000 400002 " value defined, class flags 55 000157 000071 000075 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000160 010142 143160 " "bcpl_cg2" aa 000161 154137 143147 aa 000162 062000 000000 aa 000163 010111 163123 " "IsStored" aa 000164 164157 162145 aa 000165 144000 000000 5a 000166 000167 000000 aa 000167 000004 000000 55 000170 000160 000163 aa 000171 012105 166141 " "EvalNumber" aa 000172 154116 165155 aa 000173 142145 162000 5a 000174 000175 000000 aa 000175 000004 000000 55 000176 000160 000171 aa 000177 010111 163116 " "IsNumber" aa 000200 165155 142145 aa 000201 162000 000000 5a 000202 000203 000000 aa 000203 000004 000000 55 000204 000160 000177 aa 000205 010142 143160 " "bcpl_cg5" aa 000206 154137 143147 aa 000207 065000 000000 aa 000210 011103 150145 " "CheckAddr" aa 000211 143153 101144 aa 000212 144162 000000 5a 000213 000214 000000 aa 000214 000004 000000 55 000215 000205 000210 aa 000216 010142 143160 " "bcpl_cg4" aa 000217 154137 143147 aa 000220 064000 000000 aa 000221 011103 157155 " "Comptable" aa 000222 160164 141142 aa 000223 154145 000000 5a 000224 000225 000000 aa 000225 000004 000000 55 000226 000216 000221 aa 000227 012103 157155 " "Compstring" aa 000230 160163 164162 aa 000231 151156 147000 5a 000232 000233 000000 aa 000233 000004 000000 55 000234 000216 000227 aa 000235 014103 157155 " "Compexternal" aa 000236 160145 170164 aa 000237 145162 156141 aa 000240 154000 000000 5a 000241 000242 000000 aa 000242 000004 000000 55 000243 000216 000235 aa 000244 016103 157155 " "CombineAddress" aa 000245 142151 156145 aa 000246 101144 144162 aa 000247 145163 163000 5a 000250 000251 000000 aa 000251 000004 000000 55 000252 000160 000244 aa 000253 012114 157157 " "LookupTemp" aa 000254 153165 160124 aa 000255 145155 160000 5a 000256 000257 000000 aa 000257 000004 000000 55 000260 000160 000253 aa 000261 012101 144144 " "AddLiteral" aa 000262 114151 164145 aa 000263 162141 154000 5a 000264 000265 000000 aa 000265 000004 000000 55 000266 000160 000261 aa 000267 006111 163132 " "IsZero" aa 000270 145162 157000 5a 000271 000272 000000 aa 000272 000004 000000 55 000273 000160 000267 aa 000274 007106 157162 " "FormTag" aa 000275 155124 141147 5a 000276 000277 000000 aa 000277 000004 000000 55 000300 000205 000274 aa 000301 006117 165164 " "Outop3" aa 000302 157160 063000 5a 000303 000304 000000 aa 000304 000004 000000 55 000305 000205 000301 aa 000306 013142 143160 " "bcpl_report" aa 000307 154137 162145 aa 000310 160157 162164 aa 000311 010103 107162 " "CGreport" aa 000312 145160 157162 aa 000313 164000 000000 5a 000314 000315 000000 aa 000315 000004 000000 55 000316 000306 000311 aa 000317 011111 163101 " "IsAddress" aa 000320 144144 162145 aa 000321 163163 000000 5a 000322 000323 000000 aa 000323 000004 000000 55 000324 000160 000317 aa 000325 016106 151156 " "FindInRegister" aa 000326 144111 156122 aa 000327 145147 151163 aa 000330 164145 162000 5a 000331 000332 000000 aa 000332 000004 000000 55 000333 000160 000325 aa 000334 006117 165164 " "Outop4" aa 000335 157160 064000 5a 000336 000337 000000 aa 000337 000004 000000 55 000340 000205 000334 aa 000341 005117 165164 " "Outop" aa 000342 157160 000000 5a 000343 000344 000000 aa 000344 000004 000000 55 000345 000205 000341 aa 000346 012106 157162 " "FormOpcode" aa 000347 155117 160143 aa 000350 157144 145000 5a 000351 000352 000000 aa 000352 000004 000000 55 000353 000205 000346 " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 002530 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000056 " offset to links, total length aa 000007 000000 000056 " obsolete length " External link pairs L190: 3a 000010 777770 000046 " "bcpl_cg2$IsStored" 5a 000011 000166 000000 L187: 3a 000012 777766 000046 " "bcpl_cg2$EvalNumber" 5a 000013 000174 000000 L186: 3a 000014 777764 000046 " "bcpl_cg2$IsNumber" 5a 000015 000202 000000 L174: 3a 000016 777762 000046 " "bcpl_cg5$CheckAddr" 5a 000017 000213 000000 L167: 3a 000020 777760 000046 " "bcpl_cg4$Comptable" 5a 000021 000224 000000 L165: 3a 000022 777756 000046 " "bcpl_cg4$Compstring" 5a 000023 000232 000000 L161: 3a 000024 777754 000046 " "bcpl_cg4$Compexternal" 5a 000025 000241 000000 L155: 3a 000026 777752 000046 " "bcpl_cg2$CombineAddress" 5a 000027 000250 000000 L151: 3a 000030 777750 000046 " "bcpl_cg2$LookupTemp" 5a 000031 000256 000000 L107: 3a 000032 777746 000046 " "bcpl_cg2$AddLiteral" 5a 000033 000264 000000 L83: 3a 000034 777744 000046 " "bcpl_cg2$IsZero" 5a 000035 000271 000000 L77: 3a 000036 777742 000046 " "bcpl_cg5$FormTag" 5a 000037 000276 000000 L63: 3a 000040 777740 000046 " "bcpl_cg5$Outop3" 5a 000041 000303 000000 L56: 3a 000042 777736 000046 " "bcpl_report$CGreport" 5a 000043 000314 000000 L41: 3a 000044 777734 000046 " "bcpl_cg2$IsAddress" 5a 000045 000322 000000 L37: 3a 000046 777732 000046 " "bcpl_cg2$FindInRegister" 5a 000047 000331 000000 L31: 3a 000050 777730 000046 " "bcpl_cg5$Outop4" 5a 000051 000336 000000 L26: 3a 000052 777726 000046 " "bcpl_cg5$Outop" 5a 000053 000343 000000 L25: 3a 000054 777724 000046 " "bcpl_cg5$FormOpcode" 5a 000055 000351 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 433725 660660 " 01/24/75 0650.5 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 000236 " rel_def, rel_link aa 000022 000247 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_cg3 aa 000027 023333 611405 " 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_cg3.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 147063 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 002077 " length in bits aa 000177 741265 000123 aa 000200 604064 741435 aa 000201 170103 236013 aa 000202 640005 170053 aa 000203 200024 741035 aa 000204 170043 236010 aa 000205 647402 751703 aa 000206 332360 406474 aa 000207 027500 000123 aa 000210 601264 742015 aa 000211 000120 012000 aa 000212 002474 023500 aa 000213 000500 012360 aa 000214 246474 023517 aa 000215 107723 611164 aa 000216 743234 170533 aa 000217 236025 647407 aa 000220 151700 632000 aa 000221 051700 472360 aa 000222 246004 170113 aa 000223 236027 647404 aa 000224 551701 632360 aa 000225 116474 031517 aa 000226 030723 601364 aa 000227 740415 170057 aa 000230 200024 740255 aa 000231 000123 603664 aa 000232 740515 170063 aa 000233 236011 647407 aa 000234 550000 012360 aa 000235 164000 000000 l " inkage relocation bits aa 000236 000000 000002 " version number of rel-bits structure aa 000237 000000 000374 " length in bits aa 000240 100002 204652 aa 000241 465246 524652 aa 000242 465246 524652 aa 000243 465246 524652 aa 000244 465246 524652 aa 000245 465246 524652 aa 000246 465246 524652 s " ymbol relocation bits aa 000247 000000 000002 " version number of rel-bits structure aa 000250 000000 000043 " length in bits aa 000251 740365 770666 " Object map aa 003434 000000 000001 " version number of object_map structure aa 003435 157142 152137 " "obj_map " aa 003436 155141 160040 aa 003437 000000 002527 " text offset, length aa 003440 002530 000354 " def offset, length aa 003441 003104 000056 " link offset, length aa 003442 003162 000252 " symbol offset, length aa 003443 000000 000000 " break map offset, length aa 003444 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 003445 003434 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