Compilation listing of file >2.1spec>online>mib083074>bcpl_cg6.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0656.0 mst Fri. Compiled by BCPL version 3.4, August 1973. Compiler updated at 09/25/73 0959.1 mst Tue. Options applied: source xref alist optimize 6180. 1 // These routines generate the code for switchons. 2 // Last modified on 06/06/74 at 18:22:41 by R F Mabee. 3 // Converted to 6180 and installed in Version 3.4, R F Mabee. 4 // First installed in 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 global 16 $( NoDefault : GlobalTemp $) 17 18 let Compswitch (Val, CaseList, DefaultL, EndcaseL) be 19 $( // Copy cases into a vector, evaluated and sorted. 20 let CaseV = vec 1000 + 2 21 and CaseP = 0 22 let t = CaseList 23 until t = 0 do 24 $( for i = EvalNumber (t!2, t!3) to EvalNumber (t!4, t!5) do 25 $( let j = CaseP 26 while j > 0 & CaseV!j > i do j := j - 2 27 if j > 0 & CaseV!j = i do 28 $( CGreport (DupCase, i) 29 loop 30 $) 31 for k = CaseP to j + 2 by -2 do CaseV!(k + 2), CaseV!(k + 3) := CaseV!k, CaseV!(k + 1) 32 CaseV!(j + 2), CaseV!(j + 3) := i, t!1 33 test CaseP ge 1000 34 then CGreport (OverCase, 1000 / 2) 35 or CaseP := CaseP + 2 36 $) 37 t := t!0 38 $) 39 NoDefault := DefaultL = 0 & Optimize 40 let Min, Max = 1 lshift 35, not (1 lshift 35) 41 if NoDefault do Min, Max := CaseV!2, CaseV!CaseP 42 SectionHeader ("*nBegin switchon") 43 LoadRegister (Val, Ar) 44 AnySwitch (lv CaseV!2, lv CaseV!CaseP, Min, Max, DefaultL = 0 -> EndcaseL, DefaultL) 45 DisclaimRegister (Val) 46 $) 47 and AnySwitch (Lp, Up, Ll, Ul, DefaultL) be 48 $( let n = (Up - Lp) / 2 + 1 49 // Number of cases. 50 if NoDefault -> n < 4, n < 3 do 51 $( LinearSwitch (Lp, Up, Ll, Ul, DefaultL) 52 return 53 $) 54 let a, b, c, d = 0, Lp + (n & Even), 0, 0 55 if Optimize do 56 $( let u, w, x, y, z = 0, 0, 0, 0, 0 57 let v = vec 2000 58 w := Lp!0 59 for p = Lp to Up by 2 do 60 $( let q, r = p!1, p!0 - w 61 for i = 1 to a do if q = v!i goto L 62 a := a + 1 63 v!a := q 64 L: test q = x & (NoDefault | r = 1) 65 then z := z + 1 66 or $( if z ge c do b, c := y, z 67 x, y, z := q, p, 0 68 $) 69 if r > u do d, u := p, r 70 w := p!0 71 $) 72 if z > c do b, c := y, z 73 if c = 0 do b := u ge n -> d, Lp + (n & Even) 74 // Here a is the number of distinct labels 75 // and b points to c adjacent cases. 76 if c < n / 4 do 77 $( let r = Up!0 - Lp!0 78 if r < 0 do r := 30000000000 79 // Now r is the range of cases covered. 80 let i, j, k = a, n * 4, r - 2 81 unless NoDefault do i, j, k := n, n * 2, k / 2 + 2 82 if j > k do j := k 83 // Here i is the minimum hash table size, 84 // j is a reasonable limit for i, 85 // and k is the size beyond which a direct switch is better. 86 while i < j do 87 $( for m = 0 to i do v!m := 0 88 for p = Lp to Up by 2 do 89 $( let m = p!0 90 for s = 35 to 0 by -1 do if (m rshift s) ge i do m := m - (i lshift s) 91 let t = p!1 92 unless v!m = 0 | v!m = t & NoDefault goto M 93 v!m := t 94 $) 95 HashSwitch (Lp, Up, i, DefaultL) 96 return 97 M: i := i + 1 98 $) 99 if k le j & u < n do 100 $( DirectSwitch (Lp, Up, Ll, Ul, DefaultL) 101 return 102 $) 103 $) 104 $) 105 BinarySwitch (Lp, Up, Ll, Ul, b, c, DefaultL) 106 $) 107 and LinearSwitch (Lp, Up, Ll, Ul, DefaultL) be 108 $( let LastL = DefaultL 109 if NoDefault | (Lp!0 = Ll & Up!0 = Ul & Ul - Ll = (Up - Lp) / 2) do 110 $( LastL := Up!1 111 Up := Up - 2 112 $) 113 for p = Lp to Up by 2 do Swjump (p!0, Tze, p!1) 114 Compjump (LastL) 115 $) 116 and HashSwitch (Lp, Up, i, DefaultL) be 117 $( let v = vec 2000 118 and w = vec 2000 119 for j = 0 to i do v!j, w!j := DefaultL, 0 120 for p = Lp to Up by 2 do 121 $( let m, n = p!0, 0 122 for s = 35 to 0 by -1 do 123 $( n := n lshift 1 124 if (m rshift s) ge i do m, n := m - (i lshift s), n + 1 125 $) 126 v!m, w!m := p!1, n 127 $) 128 Outop3 (Lrl, 35, 0) 129 Literal (i, "hash table size") 130 Outop (Dvf) 131 let Tl = 0 132 unless NoDefault do 133 $( Tl := Nextparam () 134 Address, Tag, Param, Reloc := 0, Ql, Tl, RelText lshift Left 135 Outop (Cmpa) 136 Outop2 (Tnz, DefaultL) 137 $) 138 let Lab = Nextparam () 139 Address, Tag, Param, Reloc := 0, Ql, Lab, RelText lshift Left 140 Outop (Tra) 141 Complab (Lab) 142 for j = 0 to i - 1 do Outop2 (Tra, v!j) 143 unless NoDefault do 144 $( Complab (Tl) 145 for j = 0 to i - 1 do OutData (w!j) 146 $) 147 $) 148 and DirectSwitch (Lp, Up, Ll, Ul, DefaultL) be 149 $( let n = (Up - Lp) / 10 + 2 150 let x = 0 151 test NoDefault 152 then Ll, Ul := Lp!0, Up!0 153 or test Ul - n ge Up!0 154 then $( let r, t = Up!0, Tpl 155 Ul := r 156 if Ll + n < Lp!0 do 157 $( test 0 le Lp!0 le n 158 then Ll := 0 159 or $( Outop3 (Sba, Lp!0, Dl) 160 Ll := Lp!0 161 x, r := Ll, Ul - Ll 162 $) 163 t := Trc 164 $) 165 Swjump (r + 1, t, DefaultL) 166 $) 167 or if Ll + n < Lp!0 do 168 $( Ll := Lp!0 169 Swjump (Ll, Tmi, DefaultL) 170 $) 171 let Lab = Nextparam () 172 Address, Param, Tag, Reloc := x - Ll, Lab, Al, RelText lshift Left 173 Outop (Tra) 174 Complab (Lab) 175 for i = Ll to Ul do 176 test Lp!0 = i 177 then $( Outop2 (Tra, Lp!1) 178 Lp := Lp + 2 179 $) 180 or Outop2 (Tra, DefaultL) 181 $) 182 and BinarySwitch (Lp, Up, Ll, Ul, b, c, DefaultL) be 183 $( let Tl = 0 184 let d = b + c + c 185 let s, t = false, false 186 unless b = Lp & (NoDefault | Ll = Lp!0) do 187 $( test b le Lp + 2 & (NoDefault | b = Lp | Ll = Lp!0 & b!0 = Ll + 1) 188 then Swjump (b!0, Tmi, b = Lp -> DefaultL, Lp!1) 189 or $( Tl := Nextparam () 190 Swjump (b!0, Tmi, Tl) 191 $) 192 s := true 193 $) 194 test d = Up & (NoDefault | Ul = Up!0) 195 then $( Compjump (d!1) 196 t := true 197 $) 198 or test c = 0 & s 199 then Outop2 (Tze, b!1) 200 or Swjump (d!0 + 1, Tmi, d!1) 201 unless t test d = Up 202 then unless NoDefault | Ul = Up!0 do Compjump (DefaultL) 203 or AnySwitch (d + 2, Up, d!0 + 1, Ul, DefaultL) 204 unless Tl = 0 do 205 $( Complab (Tl) 206 AnySwitch (Lp, b - 2, Ll, b!0 - 1, DefaultL) 207 $) 208 $) 209 and Swjump (n, t, l) be 210 $( Literal (n, 0) 211 Outop (Cmpa) 212 Outop2 (t, l) 213 $) CAE time 7.8, 116 source lines per second. cross reference table a bcpl_cg6: 54, 61, 62, 62, 63, 80 Ab bcpl_cg_head: 213 Abd bcpl_opcodes: 17 Abr bcpl_cg_head: 256 AbsRelBits bcpl_cg_head: 115 Ada bcpl_opcodes: 18 AddLiteral bcpl_cg_head: 46 Address bcpl_cg_head: 116, bcpl_cg6: 134, 139, 172 Adlx1 bcpl_opcodes: 19 Al bcpl_cg_head: 221, bcpl_cg6: 172 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 AnySwitch bcpl_cg6: 44, 47, 203, 206 AnyXr bcpl_cg_head: 270 AorQr bcpl_cg_head: 268 Aos bcpl_opcodes: 24 Ap bcpl_cg_head: 212 ApplyDiadicOperator bcpl_cg_head: 23 ApplyMonadicOperator bcpl_cg_head: 22 ApplyOffsetOperator bcpl_cg_head: 24 Apr bcpl_cg_head: 255 Ar bcpl_cg_head: 243, bcpl_cg6: 43 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 b bcpl_cg6: 54, 66, 72, 73, 105, 182, 184, 186, 187, 187, 187, 188, 188, 190, 199, 206, 206 BadAddress bcpl_cg_codes: 16 BadLabel bcpl_cg_codes: 17 BadRegOpPair bcpl_cg_codes: 18 Bb bcpl_cg_head: 215 Bbr bcpl_cg_head: 258 BE_S bcpl_symbols: 19 BinarySwitch bcpl_cg6: 105, 182 BIT_S bcpl_symbols: 20 Bp bcpl_cg_head: 214 Bpr bcpl_cg_head: 257 BREAK_S bcpl_symbols: 21 BuildObject bcpl_compiler_head: 72 BY_S bcpl_symbols: 22 c bcpl_cg6: 54, 66, 66, 72, 72, 73, 76, 105, 182, 184, 184, 198 CAE bcpl_compiler_head: 64 CaeReport bcpl_compiler_head: 49 CALL_S bcpl_symbols: 23 CaseList bcpl_cg6: 18, 22 CaseP bcpl_cg6: 21, 25, 31, 33, 35, 35, 41, 44 CaseV bcpl_cg6: 20, 26, 27, 31, 31, 31, 31, 32, 32, 41, 41, 44, 44 CASE_S bcpl_symbols: 24 CgInit bcpl_compiler_head: 71 CGreport bcpl_compiler_head: 51, bcpl_cg6: 28, 34 CgTempList bcpl_cg_head: 119 CgTempSize bcpl_cg_head: 178 Ch bcpl_compiler_head: 92 CHARCONST_S bcpl_symbols: 27 CHAR_S bcpl_symbols: 26 CheckAddr bcpl_cg_head: 97 ClaimRegister bcpl_cg_head: 35 Cleanup bcpl_compiler_head: 61 ClearMemory bcpl_cg_head: 45 ClearRegisters bcpl_cg_head: 44 Cmpa bcpl_opcodes: 27, bcpl_cg6: 135, 211 CodeFirst bcpl_cg_head: 120 CodeP bcpl_cg_head: 121 CodeSize bcpl_cg_head: 179 CodeSwitch bcpl_cg_head: 184 CodeV bcpl_cg_head: 122 COLON_S bcpl_symbols: 28 Column bcpl_compiler_head: 128 CombineAddress bcpl_cg_head: 39 COMMA_S bcpl_symbols: 29 Comment bcpl_cg_head: 123 CompareStrings bcpl_compiler_head: 25 CompareToZero bcpl_cg_head: 56 Compentry bcpl_cg_head: 67 Compexternal bcpl_cg_head: 82 Compfinish bcpl_cg_head: 78 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, bcpl_cg6: 114, 195, 202 Complab bcpl_cg_head: 41, bcpl_cg6: 141, 144, 174, 205 Compreturn bcpl_cg_head: 68 Compstring bcpl_cg_head: 80 Compswitch bcpl_cg_head: 99, bcpl_cg6: 18 CompSystemCall bcpl_cg_head: 74 Comptable bcpl_cg_head: 81 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 d bcpl_cg6: 54, 69, 73, 184, 194, 195, 200, 200, 201, 203, 203 DataSwitch bcpl_cg_head: 186 DefaultL bcpl_cg6: 18, 39, 44, 44, 47, 51, 95, 100, 105, 107, 108, 116, 119, 136, 148, 165, 169, 180, 182, 188, 202, 203, 206 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 DirectSwitch bcpl_cg6: 100, 148 DisclaimRegister bcpl_cg_head: 36, bcpl_cg6: 45 Div bcpl_opcodes: 28 DIV_F bcpl_symbols: 34 DIV_S bcpl_symbols: 36 Dl bcpl_cg_head: 223, bcpl_cg6: 159 DOUBLE_S bcpl_symbols: 38 DO_S bcpl_symbols: 37 Du bcpl_cg_head: 224 DupCase bcpl_cg_codes: 19, bcpl_cg6: 28 DupLabel bcpl_cg_codes: 20 Dvf bcpl_opcodes: 29, bcpl_cg6: 130 Eabap bcpl_opcodes: 30 Eablb bcpl_opcodes: 31 Eablp bcpl_opcodes: 32 Eapab bcpl_opcodes: 33 Eapap bcpl_opcodes: 34 Eapbp bcpl_opcodes: 35 Eaplb bcpl_opcodes: 36 Eaplp bcpl_opcodes: 37 EAQr bcpl_cg_head: 264 Eax0 bcpl_opcodes: 38 Eax1 bcpl_opcodes: 39 Eax7 bcpl_opcodes: 40 EndcaseL bcpl_cg6: 18, 44 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_cg6: 24, 24 Even bcpl_compiler_head: 136, bcpl_cg6: 54, 73 EXTERNAL_S bcpl_symbols: 46 Fad bcpl_opcodes: 44 FALSE_S bcpl_symbols: 47 Fcmp bcpl_opcodes: 45 Fdi bcpl_opcodes: 46 Fdv bcpl_opcodes: 47 FileCount bcpl_compiler_head: 118 FileNames bcpl_compiler_head: 116 FileShift bcpl_compiler_head: 138 FilesInfo bcpl_compiler_head: 117 FindInRegister bcpl_cg_head: 38 FindPrintName bcpl_compiler_head: 56 FinishText bcpl_cg_head: 20 FINISH_S bcpl_symbols: 48 FIXED_S bcpl_symbols: 49 Fld bcpl_opcodes: 48 FLOAT_S bcpl_symbols: 50 Fmp bcpl_opcodes: 49 FNAP_S bcpl_symbols: 51 FNDEF_S bcpl_symbols: 52 Fneg bcpl_opcodes: 50 Format bcpl_compiler_head: 20 FormCharconst bcpl_compiler_head: 46 FormOpcode bcpl_cg_head: 95 FormStringconst bcpl_compiler_head: 47 FormTag bcpl_cg_head: 96 FOR_S bcpl_symbols: 53 Freevec bcpl_compiler_head: 34 Fsb bcpl_opcodes: 51 Fstr bcpl_opcodes: 52 Fszn bcpl_opcodes: 53 Ft2 bcpl_cg_head: 237 GetLpLabel bcpl_cg_head: 129 GetRegister bcpl_cg_head: 62 GetStream bcpl_compiler_head: 62 GetVersion bcpl_compiler_head: 59 GET_S bcpl_symbols: 57 GE_F bcpl_symbols: 54 GE_S bcpl_symbols: 56 GlobalTemp bcpl_compiler_head: 131, bcpl_cg6: 16 GLOBAL_S bcpl_symbols: 58 GOTO_S bcpl_symbols: 59 GR_F bcpl_symbols: 60 GR_S bcpl_symbols: 61 HashSwitch bcpl_cg6: 95, 116 HaveListingFile bcpl_compiler_head: 105 HeaderSwitch bcpl_cg_head: 190 i bcpl_cg6: 24, 26, 27, 28, 32, 61, 61, 80, 81, 86, 87, 90, 90, 95, 97, 97, 116, 119, 124, 124, 129, 142, 145, 175, 176 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 INPUT bcpl_compiler_head: 90 InRegister bcpl_cg_head: 37 InstructionSwitch bcpl_cg_head: 185 INTO_S bcpl_symbols: 66 IsAddress bcpl_cg_head: 31 IsNumber bcpl_cg_head: 28 IsStored bcpl_cg_head: 32 IsZero bcpl_cg_head: 30 j bcpl_cg6: 25, 26, 26, 26, 26, 27, 27, 31, 32, 32, 80, 81, 82, 82, 86, 99, 119, 119, 119, 142, 142, 145, 145 Jumpsw bcpl_cg_head: 131 k bcpl_cg6: 31, 31, 31, 31, 31, 80, 81, 81, 82, 82, 99 L bcpl_cg6: 61, 64 l bcpl_cg6: 209, 212 Lab bcpl_cg6: 138, 139, 141, 171, 172, 174 LABDEF_S bcpl_symbols: 67 LabelSwitch bcpl_cg_head: 187 LABEL_S bcpl_symbols: 68 LabMaxArg bcpl_cg_head: 132 LabMaxSSP bcpl_cg_head: 133 LabTable bcpl_cg_head: 135 LabTableSize bcpl_cg_head: 180 LastL bcpl_cg6: 108, 110, 114 Lb bcpl_cg_head: 217 Lbr bcpl_cg_head: 260 LC bcpl_cg_head: 136 Lca bcpl_opcodes: 54 Lda bcpl_opcodes: 55 Ldaq bcpl_opcodes: 56 Ldx7 bcpl_opcodes: 57 Left bcpl_compiler_head: 134, bcpl_cg6: 134, 139, 172 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 LinearSwitch bcpl_cg6: 51, 107 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_cg6: 129, 210 Ll bcpl_cg6: 47, 51, 100, 105, 107, 109, 109, 148, 152, 156, 158, 160, 161, 161, 167, 168, 169, 172, 175, 182, 186, 187, 187, 206 Llr bcpl_opcodes: 58 LoadAppropriateRegister bcpl_cg_head: 53 LoadIndex bcpl_cg_head: 52 LoadNumber bcpl_cg_head: 54 LoadPointer bcpl_cg_head: 51 LoadRegister bcpl_cg_head: 50, bcpl_cg6: 43 LOCAL_S bcpl_symbols: 74 LOGAND_S bcpl_symbols: 76 LOGOR_S bcpl_symbols: 77 LookupLabel bcpl_cg_head: 43 LookupTemp bcpl_cg_head: 33 LOOP_S bcpl_symbols: 78 Lp bcpl_cg_head: 216, bcpl_cg6: 47, 48, 51, 54, 58, 59, 73, 77, 88, 95, 100, 105, 107, 109, 109, 113, 116, 120, 148, 149, 152, 156, 157, 159, 160, 167, 168, 176, 177, 178, 178, 182, 186, 186, 187, 187, 187, 188, 188, 206 Lpr bcpl_cg_head: 259 Lprpap bcpl_opcodes: 59 Lprpbp bcpl_opcodes: 60 Lprplp bcpl_opcodes: 61 Lrand bcpl_cg_head: 143 Lrl bcpl_opcodes: 62, bcpl_cg6: 128 LSHIFT_S bcpl_symbols: 81 LS_F bcpl_symbols: 79 LS_S bcpl_symbols: 80 LVECAP_S bcpl_symbols: 83 LV_ARG_OUT bcpl_symbols: 84 LV_FNAP_RESULT bcpl_symbols: 86 LV_GLOBAL bcpl_symbols: 87 LV_LOCAL bcpl_symbols: 88 LV_S bcpl_symbols: 82 LV_STATIC bcpl_symbols: 89 LV_TEMP bcpl_symbols: 90 Lxl0 bcpl_opcodes: 63 Lxl1 bcpl_opcodes: 64 M bcpl_cg6: 92, 97 m bcpl_cg6: 87, 87, 89, 90, 90, 90, 92, 92, 93, 121, 124, 124, 124, 126, 126 Machine bcpl_compiler_head: 102 MainEntriesList bcpl_cg_head: 145 MAIN_S bcpl_symbols: 91 Makeaddressable bcpl_cg_head: 57 MakeCgTemp bcpl_cg_head: 34 MakeTimeString bcpl_compiler_head: 44 MANIFEST_S bcpl_symbols: 92 Max bcpl_cg6: 40, 41, 44 MaxArgOffset bcpl_cg_head: 146 MaxSSP bcpl_cg_head: 147 Min bcpl_cg6: 40, 41, 44 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_cg6: 48, 50, 50, 54, 73, 73, 76, 80, 81, 81, 99, 121, 123, 123, 124, 124, 126, 149, 153, 156, 157, 167, 209, 210 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, bcpl_cg6: 133, 138, 171, 189 Nextsymb bcpl_compiler_head: 53 NE_F bcpl_symbols: 102 NE_S bcpl_symbols: 103 NIL_S bcpl_symbols: 104 NoDefault bcpl_cg6: 16, 39, 41, 50, 64, 81, 92, 109, 132, 143, 151, 186, 187, 194, 202 NOT_S bcpl_symbols: 106 NumberOfRegisters bcpl_cg_head: 266 NUMBER_S bcpl_symbols: 107 OcodeSw bcpl_compiler_head: 104 OFFSET_S bcpl_symbols: 108 OldLabel bcpl_cg_head: 149 OldLiteralsList bcpl_cg_head: 150 Optimize bcpl_compiler_head: 101, bcpl_cg6: 39, 55 OptionString bcpl_compiler_head: 115 Ora bcpl_opcodes: 68 Orsa bcpl_opcodes: 69 OR_S bcpl_symbols: 109 OutData bcpl_cg_head: 84, bcpl_cg6: 145 OutLiterals bcpl_cg_head: 47 Outop bcpl_cg_head: 85, bcpl_cg6: 130, 135, 140, 173, 211 Outop2 bcpl_cg_head: 86, bcpl_cg6: 136, 142, 177, 180, 199, 212 Outop3 bcpl_cg_head: 87, bcpl_cg6: 128, 159 Outop4 bcpl_cg_head: 88 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, bcpl_cg6: 34 p bcpl_cg6: 59, 60, 60, 67, 69, 70, 88, 89, 91, 113, 113, 113, 120, 121, 126 Packstring bcpl_compiler_head: 21 Param bcpl_cg_head: 151, bcpl_cg6: 134, 139, 172 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 ProgramName bcpl_compiler_head: 119 PushInput bcpl_compiler_head: 42 PutAbsBits bcpl_cg_head: 92 PutCode bcpl_cg_head: 91 q bcpl_cg6: 60, 61, 63, 64, 67 Ql bcpl_cg_head: 225, bcpl_cg6: 134, 139 Qr bcpl_cg_head: 244 Qu bcpl_cg_head: 226 QuietSw bcpl_compiler_head: 106 r bcpl_cg6: 60, 64, 69, 69, 77, 78, 78, 80, 154, 155, 161, 165 RandomI bcpl_compiler_head: 31 RBRA_S bcpl_symbols: 116 Readch bcpl_compiler_head: 16 RegisterTemps bcpl_cg_head: 153 RegisterUsage bcpl_cg_head: 155 REGISTER_S bcpl_symbols: 117 RelbitsFirst bcpl_cg_head: 156 RelbitsLength bcpl_cg_head: 157 RelbitsList bcpl_cg_head: 158 RelbitsOffset bcpl_cg_head: 159 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, bcpl_cg6: 134, 139, 172 RelStat15 bcpl_cg_head: 201 RelStat18 bcpl_cg_head: 200 RelSymbol bcpl_cg_head: 198 RelText bcpl_cg_head: 193, bcpl_cg6: 134, 139, 172 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 RV_S bcpl_symbols: 131 s bcpl_cg6: 90, 90, 90, 122, 124, 124, 185, 192, 198 Satisfactory bcpl_cg_head: 63 SaveSpaceSize bcpl_cg_head: 163 Sb bcpl_cg_head: 219 Sba bcpl_opcodes: 70, bcpl_cg6: 159 Sblx1 bcpl_opcodes: 71 Sbr bcpl_cg_head: 262 SBRA_S bcpl_symbols: 132 SECTBEGIN_S bcpl_symbols: 133 SECTBRA_S bcpl_symbols: 134 SECTEND_S bcpl_symbols: 136 SectionHeader bcpl_cg_head: 94, bcpl_cg6: 42 SectionSwitch bcpl_cg_head: 189 SECTKET_S bcpl_symbols: 137 SEMICOLON_S bcpl_symbols: 138 SetLineNumber bcpl_cg_head: 93 SetupAddr bcpl_cg_head: 55 SKET_S bcpl_symbols: 139 Sp bcpl_cg_head: 218 Spr bcpl_cg_head: 261 Sprpap bcpl_opcodes: 72 Sprpbp bcpl_opcodes: 73 Sprplp bcpl_opcodes: 74 Sreg bcpl_opcodes: 75 Ssa bcpl_opcodes: 76 Sta bcpl_opcodes: 77 StackRefTag bcpl_cg_head: 167 Staq bcpl_opcodes: 78 Star bcpl_cg_head: 239 StarThenReg bcpl_cg_head: 240 STATIC_S bcpl_symbols: 140 Stb bcpl_opcodes: 79 Stc1 bcpl_opcodes: 80 Stcd bcpl_opcodes: 81 Store bcpl_cg_head: 60 StoreArg bcpl_cg_head: 70 StoreRegister bcpl_cg_head: 61 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 STRING_S bcpl_symbols: 141 STRUCTURE_S bcpl_symbols: 143 Stx0 bcpl_opcodes: 87 Stz bcpl_opcodes: 88 SwapAandQ bcpl_cg_head: 58 SWITCHON_S bcpl_symbols: 144 Swjump bcpl_cg6: 113, 165, 169, 188, 190, 200, 209 Sxl0 bcpl_opcodes: 89 Sxl1 bcpl_opcodes: 90 Symb bcpl_compiler_head: 126 SymbolLength bcpl_cg_head: 165 SymbolName bcpl_compiler_head: 55 SymbolRelbits bcpl_cg_head: 166 Symbols bcpl_compiler_head: 99 SymtabFirst bcpl_cg_head: 168 SymtabP bcpl_cg_head: 169 SymtabSize bcpl_cg_head: 181 SymtabV bcpl_cg_head: 170 Szn bcpl_opcodes: 91 t bcpl_cg6: 22, 23, 24, 24, 24, 24, 32, 37, 37, 91, 92, 93, 154, 163, 165, 185, 196, 201, 209, 212 TABLE_S bcpl_symbols: 146 Tag bcpl_cg_head: 171, bcpl_cg6: 134, 139, 172 TagPrMask bcpl_cg_head: 206 TagXrMask bcpl_cg_head: 205 TEMP_S bcpl_symbols: 147 TEST_S bcpl_symbols: 148 TextLength bcpl_cg_head: 172 TextRelbits bcpl_cg_head: 173 TimeNow bcpl_compiler_head: 114 TimeNowString bcpl_compiler_head: 113 Tl bcpl_cg6: 131, 133, 134, 144, 183, 189, 190, 204, 205 Tmi bcpl_opcodes: 92, bcpl_cg6: 169, 188, 190, 200 Tmoz bcpl_opcodes: 93 Tnz bcpl_opcodes: 94, bcpl_cg6: 136 TO_S bcpl_symbols: 149 Tpl bcpl_opcodes: 95, bcpl_cg6: 154 Tpnz bcpl_opcodes: 96 Tra bcpl_opcodes: 97, bcpl_cg6: 140, 142, 173, 177, 180 Trans bcpl_compiler_head: 70 Transreport bcpl_compiler_head: 50 Trc bcpl_opcodes: 98, bcpl_cg6: 163 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, bcpl_cg6: 113, 199 u bcpl_cg6: 56, 69, 69, 73, 99 Ul bcpl_cg6: 47, 51, 100, 105, 107, 109, 109, 148, 152, 153, 155, 161, 175, 182, 194, 202, 203 UndefLab bcpl_cg_codes: 24 UnexpectedCase bcpl_compiler_head: 139 UNLESS_S bcpl_symbols: 152 Unpackstring bcpl_compiler_head: 22 UNTIL_S bcpl_symbols: 153 Up bcpl_cg6: 47, 48, 51, 59, 77, 88, 95, 100, 105, 107, 109, 109, 110, 111, 111, 113, 116, 120, 148, 149, 152, 153, 154, 182, 194, 194, 201, 202, 203 UpperCase bcpl_compiler_head: 96 UsageCounter bcpl_cg_head: 175 UserID bcpl_compiler_head: 120 UtilitiesInit bcpl_compiler_head: 60 v bcpl_cg6: 57, 61, 63, 87, 92, 92, 93, 117, 119, 126, 142 Val bcpl_cg6: 18, 43, 45 VALDEF_S bcpl_symbols: 154 VALOF_S bcpl_symbols: 156 VECAP_S bcpl_symbols: 158 VEC_S bcpl_symbols: 157 Vmax bcpl_compiler_head: 137 w bcpl_cg6: 56, 58, 60, 70, 118, 119, 126, 145 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 x bcpl_cg6: 56, 64, 67, 150, 161, 172 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 Xr3 bcpl_cg_head: 249 Xr4 bcpl_cg_head: 250 Xr5 bcpl_cg_head: 251 Xr6 bcpl_cg_head: 252 Xr7 bcpl_cg_head: 253 Xref bcpl_compiler_head: 103 y bcpl_cg6: 56, 66, 67, 72 z bcpl_cg6: 56, 65, 65, 66, 66, 67, 72, 72 Trans time 2.0, 693 object words per second. " Begin text of Compswitch aa 000000 000012 103157 zero 10,34415 " Compswitch aa 000001 155160 163167 zero 55920,58999 aa 000002 151164 143150 zero 53876,50792 L1: aa 000003 000000 213000 18 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 702026 620111 eax0 sb|1046,x1 aa 000011 777760 360003 anx0 -16,du aa 000012 700025 740100 stx0 sb|21 " end of save sequence aa 000013 700010 350111 20 eapap sb|8,x1 " a vector aa 000014 700006 540111 sprpap sb|6,x1 " CaseV aa 000015 700007 450111 21 stz sb|7,x1 " CaseP aa 000016 700003 236111 22 ldq sb|3,x1 " CaseList aa 000017 701763 756111 stq sb|1011,x1 " t aa 000020 000150 710004 23 tra L11 L12: aa 000021 701763 760111 24 lprpap sb|1011,x1 " t aa 000022 000002 236100 ldq ap|2 aa 000023 702002 756111 stq sb|1026,x1 aa 000024 701763 762111 lprpbp sb|1011,x1 " t aa 000025 200003 236100 ldq bp|3 aa 000026 702003 756111 stq sb|1027,x1 4a 000027 400040 272120 tsbbp lp|L13,* " EvalNumber aa 000030 002000 000002 zero 1024,2 aa 000031 701764 756111 stq sb|1012,x1 " i aa 000032 701763 761111 lprpab sb|1011,x1 " t aa 000033 100004 236100 ldq ab|4 aa 000034 702002 756111 stq sb|1026,x1 aa 000035 701763 763111 lprpbb sb|1011,x1 " t aa 000036 300005 236100 ldq bb|5 aa 000037 702003 756111 stq sb|1027,x1 4a 000040 400040 272120 tsbbp lp|L13,* " EvalNumber aa 000041 002000 000002 zero 1024,2 aa 000042 701765 756111 stq sb|1013,x1 aa 000043 000117 710004 tra L14 L15: aa 000044 700007 236111 25 ldq sb|7,x1 " CaseP aa 000045 701767 756111 stq sb|1015,x1 " j aa 000046 000003 710004 26 tra L16 L17: aa 000047 000002 336007 lcq 2,dl " 2 aa 000050 701767 056111 asq sb|1015,x1 " j L16: aa 000051 701767 234111 szn sb|1015,x1 " j aa 000052 000006 604404 tmoz L18 aa 000053 701767 722111 lxl2 sb|1015,x1 " j aa 000054 700006 765111 lprplb sb|6,x1 " CaseV aa 000055 500000 236112 ldq lb|0,x2 aa 000056 701764 116111 cmpq sb|1012,x1 " i aa 000057 777770 605404 tpnz L17 L18: aa 000060 701767 234111 27 szn sb|1015,x1 " j aa 000061 000015 604404 tmoz L19 aa 000062 701767 723111 lxl3 sb|1015,x1 " j aa 000063 700006 760111 lprpap sb|6,x1 " CaseV aa 000064 000000 235113 lda ap|0,x3 aa 000065 701764 115111 cmpa sb|1012,x1 " i aa 000066 000010 601004 tnz L19 aa 000067 000457 236007 28 ldq 303,dl " DupCase aa 000070 702002 756111 stq sb|1026,x1 aa 000071 701764 236111 ldq sb|1012,x1 " i aa 000072 702003 756111 stq sb|1027,x1 4a 000073 400036 272120 tsbbp lp|L20,* " CGreport aa 000074 002000 000002 zero 1024,2 aa 000075 000064 710004 29 tra L21 L19: aa 000076 700007 236111 31 ldq sb|7,x1 " CaseP aa 000077 701770 756111 stq sb|1016,x1 " k aa 000100 701767 236111 ldq sb|1015,x1 " j aa 000101 000002 076007 adq 2,dl " 2 aa 000102 701771 756111 stq sb|1017,x1 aa 000103 000024 710004 tra L22 L23: aa 000104 701770 236111 ldq sb|1016,x1 " k aa 000105 000002 076007 adq 2,dl " 2 aa 000106 701770 724111 lxl4 sb|1016,x1 " k aa 000107 700006 762111 lprpbp sb|6,x1 " CaseV aa 000110 200000 235114 lda bp|0,x4 aa 000111 700006 761111 lprpab sb|6,x1 " CaseV aa 000112 100000 755106 sta ab|0,ql aa 000113 701770 236111 ldq sb|1016,x1 " k aa 000114 000003 076007 adq 3,dl " 3 aa 000115 701770 235111 lda sb|1016,x1 " k aa 000116 000001 075007 ada 1,dl " 1 aa 000117 701775 756111 stq sb|1021,x1 " temporary aa 000120 700006 763111 lprpbb sb|6,x1 " CaseV aa 000121 300000 236105 ldq bb|0,al aa 000122 701775 725111 lxl5 sb|1021,x1 aa 000123 700006 765111 lprplb sb|6,x1 " CaseV aa 000124 500000 756115 stq lb|0,x5 aa 000125 000002 336007 lcq 2,dl aa 000126 701770 056111 asq sb|1016,x1 " k L22: aa 000127 701770 236111 ldq sb|1016,x1 " k aa 000130 701771 116111 cmpq sb|1017,x1 aa 000131 777753 605004 tpl L23 aa 000132 701767 235111 32 lda sb|1015,x1 " j aa 000133 000003 075007 ada 3,dl " 3 aa 000134 701763 760111 lprpap sb|1011,x1 " t aa 000135 000001 236100 ldq ap|1 aa 000136 700006 762111 lprpbp sb|6,x1 " CaseV aa 000137 200000 756105 stq bp|0,al aa 000140 701767 236111 ldq sb|1015,x1 " j aa 000141 000002 076007 adq 2,dl " 2 aa 000142 701764 235111 lda sb|1012,x1 " i aa 000143 700006 761111 lprpab sb|6,x1 " CaseV aa 000144 100000 755106 sta ab|0,ql aa 000145 700007 236111 33 ldq sb|7,x1 " CaseP aa 000146 001750 116007 cmpq 1000,dl " 1000 aa 000147 000010 604004 tmi L24 aa 000150 000462 235007 34 lda 306,dl " OverCase aa 000151 702002 755111 sta sb|1026,x1 aa 000152 000764 235007 lda 500,dl aa 000153 702003 755111 sta sb|1027,x1 4a 000154 400036 272120 tsbbp lp|L20,* " CGreport aa 000155 002000 000002 zero 1024,2 aa 000156 000003 710004 tra L25 L24: aa 000157 000002 235007 35 lda 2,dl " 2 aa 000160 700007 055111 asa sb|7,x1 " CaseP L25: L21: aa 000161 701764 054111 aos sb|1012,x1 " i L14: aa 000162 701764 235111 lda sb|1012,x1 " i aa 000163 701765 115111 cmpa sb|1013,x1 aa 000164 777660 604404 tmoz L15 aa 000165 701763 763111 37 lprpbb sb|1011,x1 " t aa 000166 300000 236100 ldq bb|0 aa 000167 701763 756111 stq sb|1011,x1 " t L11: aa 000170 701763 234111 szn sb|1011,x1 " t aa 000171 777630 601004 tnz L12 aa 000172 700004 234111 39 szn sb|4,x1 " DefaultL aa 000173 000003 601004 tnz L26 aa 000174 000001 336007 lcq 1,dl " true aa 000175 000002 710004 tra L27 L26: aa 000176 000000 236007 ldq 0,dl " false L27: aa 000177 701765 756111 stq sb|1013,x1 aa 000200 701765 236111 ldq sb|1013,x1 aa 000201 600152 376100 anq sp|106 " Optimize aa 000202 600307 756100 stq sp|199 " NoDefault aa 000203 000001 236007 40 ldq 1,dl " 1 aa 000204 000043 736000 qls 35 aa 000205 701764 756111 stq sb|1012,x1 " Min aa 000206 000071 236004 ldq L28 aa 000207 701765 756111 stq sb|1013,x1 " Max aa 000210 600307 234100 41 szn sp|199 " NoDefault aa 000211 000010 600004 tze L29 aa 000212 700006 765111 lprplb sb|6,x1 " CaseV aa 000213 500002 236100 ldq lb|2 aa 000214 701764 756111 stq sb|1012,x1 " Min aa 000215 700007 726111 lxl6 sb|7,x1 " CaseP aa 000216 700006 760111 lprpap sb|6,x1 " CaseV aa 000217 000000 236116 ldq ap|0,x6 aa 000220 701765 756111 stq sb|1013,x1 " Max L29: aa 000221 000051 352004 42 eapbp L30 " "*nBegin switchon" aa 000222 702002 542111 sprpbp sb|1026,x1 4a 000223 400034 272120 tsbbp lp|L31,* " SectionHeader aa 000224 002000 000001 zero 1024,1 aa 000225 700002 236111 43 ldq sb|2,x1 " Val aa 000226 702002 756111 stq sb|1026,x1 aa 000227 000001 236007 ldq 1,dl " Ar aa 000230 702003 756111 stq sb|1027,x1 4a 000231 400032 272120 tsbbp lp|L32,* " LoadRegister aa 000232 002000 000002 zero 1024,2 aa 000233 700004 234111 44 szn sb|4,x1 " DefaultL aa 000234 000003 601004 tnz L33 aa 000235 700005 236111 ldq sb|5,x1 " EndcaseL aa 000236 000002 710004 tra L34 L33: aa 000237 700004 236111 ldq sb|4,x1 " DefaultL L34: aa 000240 701767 756111 stq sb|1015,x1 aa 000241 701767 236111 ldq sb|1015,x1 aa 000242 701766 756111 stq sb|1014,x1 aa 000243 700006 762111 lprpbp sb|6,x1 " CaseV aa 000244 200002 352100 eapbp bp|2 aa 000245 702002 542111 sprpbp sb|1026,x1 aa 000246 700007 722111 lxl2 sb|7,x1 " CaseP aa 000247 700006 762111 lprpbp sb|6,x1 " CaseV aa 000250 200000 352112 eapbp bp|0,x2 aa 000251 702003 542111 sprpbp sb|1027,x1 aa 000252 701764 236111 ldq sb|1012,x1 " Min aa 000253 702004 756111 stq sb|1028,x1 aa 000254 701765 236111 ldq sb|1013,x1 " Max aa 000255 702005 756111 stq sb|1029,x1 aa 000256 701766 236111 ldq sb|1014,x1 aa 000257 702006 756111 stq sb|1030,x1 aa 000260 000025 272004 tsbbp L2+2 " AnySwitch aa 000261 002000 000005 zero 1024,5 aa 000262 700002 236111 45 ldq sb|2,x1 " Val aa 000263 702002 756111 stq sb|1026,x1 4a 000264 400030 272120 tsbbp lp|L35,* " DisclaimRegister aa 000265 002000 000001 zero 1024,1 L10: aa 000266 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000267 200000 121100 sblx1 bp|0 aa 000270 700001 764111 lprplp sb|1,x1 aa 000271 200001 710100 tra bp|1 " end of return sequence " Literal pool L30: aa 000272 000017 012102 zero 15,5186 " "*nBegin switchon" aa 000273 145147 151156 zero 51815,53870 aa 000274 040163 167151 zero 16499,61033 aa 000275 164143 150157 zero 59491,53359 aa 000276 156000 000000 zero 56320 L28: aa 000277 377777 777777 zero 131071,-1 " Begin text of AnySwitch aa 000300 000011 101156 zero 9,33390 " AnySwitch aa 000301 171123 167151 zero 62035,61033 aa 000302 164143 150000 zero 59491,53248 L2: aa 000303 000000 213000 47 epaq 0 " set lp to linkage section aa 000304 700026 764161 lprplp sb|22,*au aa 000305 200000 021100 adlx1 bp|0 " BCPL save aa 000306 700000 542111 sprpbp sb|0,x1 aa 000307 700001 544111 sprplp sb|1,x1 aa 000310 704004 620111 eax0 sb|2052,x1 aa 000311 777760 360003 anx0 -16,du aa 000312 700025 740100 stx0 sb|21 " end of save sequence aa 000313 700003 236111 48 ldq sb|3,x1 " Up aa 000314 700002 176111 sbq sb|2,x1 " Lp aa 000315 000002 506007 div 2,dl " 2 aa 000316 000001 076007 adq 1,dl " 1 aa 000317 700007 756111 stq sb|7,x1 " n aa 000320 600307 234100 50 szn sp|199 " NoDefault aa 000321 000005 600004 tze L42 aa 000322 700007 236111 ldq sb|7,x1 " n aa 000323 000004 116007 cmpq 4,dl " 4 aa 000324 000022 605004 tpl L41 aa 000325 000004 710004 tra L43 L42: aa 000326 700007 235111 lda sb|7,x1 " n aa 000327 000003 115007 cmpa 3,dl " 3 aa 000330 000016 605004 tpl L41 L43: aa 000331 700002 236111 51 ldq sb|2,x1 " Lp aa 000332 703756 756111 stq sb|2030,x1 aa 000333 700003 236111 ldq sb|3,x1 " Up aa 000334 703757 756111 stq sb|2031,x1 aa 000335 700004 236111 ldq sb|4,x1 " Ll aa 000336 703760 756111 stq sb|2032,x1 aa 000337 700005 236111 ldq sb|5,x1 " Ul aa 000340 703761 756111 stq sb|2033,x1 aa 000341 700006 236111 ldq sb|6,x1 " DefaultL aa 000342 703762 756111 stq sb|2034,x1 aa 000343 000416 272004 tsbbp L3+2 " LinearSwitch aa 000344 003754 000005 zero 2028,5 aa 000345 000400 710004 52 tra L40 L41: aa 000346 700007 236111 54 ldq sb|7,x1 " n aa 000347 000403 376004 anq L44 " Even aa 000350 700002 076111 adq sb|2,x1 " Lp aa 000351 700013 756111 stq sb|11,x1 " b aa 000352 700011 450111 stz sb|9,x1 " c aa 000353 700012 450111 stz sb|10,x1 " a aa 000354 700010 450111 stz sb|8,x1 " d aa 000355 600152 234100 55 szn sp|106 " Optimize aa 000356 000347 600004 tze L45 aa 000357 700014 450111 56 stz sb|12,x1 " y aa 000360 700016 450111 stz sb|14,x1 " u aa 000361 700015 450111 stz sb|13,x1 " w aa 000362 700017 450111 stz sb|15,x1 " x aa 000363 700020 450111 stz sb|16,x1 " z aa 000364 700022 352111 57 eapbp sb|18,x1 " a vector aa 000365 700021 542111 sprpbp sb|17,x1 " v aa 000366 700002 762111 58 lprpbp sb|2,x1 " Lp aa 000367 200000 236100 ldq bp|0 aa 000370 700015 756111 stq sb|13,x1 " w aa 000371 700002 236111 59 ldq sb|2,x1 " Lp aa 000372 703743 756111 stq sb|2019,x1 " p aa 000373 700003 236111 ldq sb|3,x1 " Up aa 000374 703744 756111 stq sb|2020,x1 aa 000375 000075 710004 tra L46 L47: aa 000376 703743 761111 60 lprpab sb|2019,x1 " p aa 000377 100001 236100 ldq ab|1 aa 000400 703746 756111 stq sb|2022,x1 " q aa 000401 703743 763111 lprpbb sb|2019,x1 " p aa 000402 300000 236100 ldq bb|0 aa 000403 700015 176111 sbq sb|13,x1 " w aa 000404 703745 756111 stq sb|2021,x1 " r aa 000405 000001 236007 61 ldq 1,dl " 1 aa 000406 703747 756111 stq sb|2023,x1 " i aa 000407 700012 236111 ldq sb|10,x1 " a aa 000410 703750 756111 stq sb|2024,x1 aa 000411 000007 710004 tra L48 L49: aa 000412 703746 236111 ldq sb|2022,x1 " q aa 000413 703747 723111 lxl3 sb|2023,x1 " i aa 000414 700021 765111 lprplb sb|17,x1 " v aa 000415 500000 116113 cmpq lb|0,x3 aa 000416 000012 600004 tze L37 aa 000417 703747 054111 aos sb|2023,x1 " i L48: aa 000420 703747 235111 lda sb|2023,x1 " i aa 000421 703750 115111 cmpa sb|2024,x1 aa 000422 777770 604404 tmoz L49 aa 000423 700012 054111 62 aos sb|10,x1 " a aa 000424 703746 236111 63 ldq sb|2022,x1 " q aa 000425 700012 724111 lxl4 sb|10,x1 " a aa 000426 700021 760111 lprpap sb|17,x1 " v aa 000427 000000 756114 stq ap|0,x4 L37: aa 000430 703746 236111 64 ldq sb|2022,x1 " q aa 000431 700017 116111 cmpq sb|15,x1 " x aa 000432 000010 601004 tnz L50 aa 000433 600307 234100 szn sp|199 " NoDefault aa 000434 000004 601004 tnz L52 aa 000435 703745 235111 lda sb|2021,x1 " r aa 000436 000001 115007 cmpa 1,dl " 1 aa 000437 000003 601004 tnz L50 L52: aa 000440 700020 054111 65 aos sb|16,x1 " z aa 000441 000015 710004 tra L51 L50: aa 000442 700020 236111 66 ldq sb|16,x1 " z aa 000443 700011 116111 cmpq sb|9,x1 " c aa 000444 000005 604004 tmi L53 aa 000445 700014 235111 lda sb|12,x1 " y aa 000446 700013 755111 sta sb|11,x1 " b aa 000447 700020 235111 lda sb|16,x1 " z aa 000450 700011 755111 sta sb|9,x1 " c L53: aa 000451 703743 235111 67 lda sb|2019,x1 " p aa 000452 700014 755111 sta sb|12,x1 " y aa 000453 700020 450111 stz sb|16,x1 " z aa 000454 703746 235111 lda sb|2022,x1 " q aa 000455 700017 755111 sta sb|15,x1 " x L51: aa 000456 703745 235111 69 lda sb|2021,x1 " r aa 000457 700016 115111 cmpa sb|14,x1 " u aa 000460 000005 604404 tmoz L54 aa 000461 703745 236111 ldq sb|2021,x1 " r aa 000462 700016 756111 stq sb|14,x1 " u aa 000463 703743 236111 ldq sb|2019,x1 " p aa 000464 700010 756111 stq sb|8,x1 " d L54: aa 000465 703743 762111 70 lprpbp sb|2019,x1 " p aa 000466 200000 236100 ldq bp|0 aa 000467 700015 756111 stq sb|13,x1 " w aa 000470 000002 236007 ldq 2,dl " 2 aa 000471 703743 056111 asq sb|2019,x1 " p L46: aa 000472 703743 236111 ldq sb|2019,x1 " p aa 000473 703744 116111 cmpq sb|2020,x1 aa 000474 777702 604404 tmoz L47 aa 000475 700020 235111 72 lda sb|16,x1 " z aa 000476 700011 115111 cmpa sb|9,x1 " c aa 000477 000005 604404 tmoz L55 aa 000500 700014 236111 ldq sb|12,x1 " y aa 000501 700013 756111 stq sb|11,x1 " b aa 000502 700020 236111 ldq sb|16,x1 " z aa 000503 700011 756111 stq sb|9,x1 " c L55: aa 000504 700011 234111 73 szn sb|9,x1 " c aa 000505 000015 601004 tnz L56 aa 000506 700016 236111 ldq sb|14,x1 " u aa 000507 700007 116111 cmpq sb|7,x1 " n aa 000510 000003 604004 tmi L57 aa 000511 700010 235111 lda sb|8,x1 " d aa 000512 000005 710004 tra L58 L57: aa 000513 700007 236111 ldq sb|7,x1 " n aa 000514 000236 376004 anq L44 " Even aa 000515 700002 076111 adq sb|2,x1 " Lp aa 000516 000044 777000 llr 36 " exchange A and Q L58: aa 000517 703745 755111 sta sb|2021,x1 aa 000520 703745 235111 lda sb|2021,x1 aa 000521 700013 755111 sta sb|11,x1 " b L56: aa 000522 700007 236111 76 ldq sb|7,x1 " n aa 000523 000004 506007 div 4,dl " 4 aa 000524 700011 116111 cmpq sb|9,x1 " c aa 000525 000200 604404 tmoz L59 aa 000526 700003 761111 77 lprpab sb|3,x1 " Up aa 000527 100000 236100 ldq ab|0 aa 000530 700002 763111 lprpbb sb|2,x1 " Lp aa 000531 300000 176100 sbq bb|0 aa 000532 703743 756111 stq sb|2019,x1 " r aa 000533 703743 234111 78 szn sb|2019,x1 " r aa 000534 000003 605004 tpl L60 aa 000535 000214 236004 ldq L61 " 30000000000 aa 000536 703743 756111 stq sb|2019,x1 " r L60: aa 000537 703743 236111 80 ldq sb|2019,x1 " r aa 000540 000002 176007 sbq 2,dl " 2 aa 000541 703745 756111 stq sb|2021,x1 " k aa 000542 700007 236111 ldq sb|7,x1 " n aa 000543 000002 736000 qls 2 aa 000544 703744 756111 stq sb|2020,x1 " j aa 000545 700012 236111 ldq sb|10,x1 " a aa 000546 703746 756111 stq sb|2022,x1 " i aa 000547 600307 234100 81 szn sp|199 " NoDefault aa 000550 000012 601004 tnz L62 aa 000551 700007 236111 ldq sb|7,x1 " n aa 000552 000001 736000 qls 1 aa 000553 703744 756111 stq sb|2020,x1 " j aa 000554 700007 236111 ldq sb|7,x1 " n aa 000555 703746 756111 stq sb|2022,x1 " i aa 000556 703745 236111 ldq sb|2021,x1 " k aa 000557 000002 506007 div 2,dl " 2 aa 000560 000002 076007 adq 2,dl " 2 aa 000561 703745 756111 stq sb|2021,x1 " k L62: aa 000562 703744 236111 82 ldq sb|2020,x1 " j aa 000563 703745 116111 cmpq sb|2021,x1 " k aa 000564 000003 604404 tmoz L63 aa 000565 703745 235111 lda sb|2021,x1 " k aa 000566 703744 755111 sta sb|2020,x1 " j L63: aa 000567 000110 710004 86 tra L64 L65: aa 000570 703747 450111 87 stz sb|2023,x1 " m aa 000571 703746 235111 lda sb|2022,x1 " i aa 000572 703750 755111 sta sb|2024,x1 aa 000573 000005 710004 tra L66 L67: aa 000574 703747 725111 lxl5 sb|2023,x1 " m aa 000575 700021 765111 lprplb sb|17,x1 " v aa 000576 500000 450115 stz lb|0,x5 aa 000577 703747 054111 aos sb|2023,x1 " m L66: aa 000600 703747 235111 lda sb|2023,x1 " m aa 000601 703750 115111 cmpa sb|2024,x1 aa 000602 777772 604404 tmoz L67 aa 000603 700002 236111 88 ldq sb|2,x1 " Lp aa 000604 703747 756111 stq sb|2023,x1 " p aa 000605 700003 236111 ldq sb|3,x1 " Up aa 000606 703750 756111 stq sb|2024,x1 aa 000607 000051 710004 tra L68 L69: aa 000610 703747 760111 89 lprpap sb|2023,x1 " p aa 000611 000000 236100 ldq ap|0 aa 000612 703751 756111 stq sb|2025,x1 " m aa 000613 000043 236007 90 ldq 35,dl " 35 aa 000614 703752 756111 stq sb|2026,x1 " s aa 000615 000015 710004 tra L70 L71: aa 000616 703751 236111 ldq sb|2025,x1 " m aa 000617 703752 726111 lxl6 sb|2026,x1 " s aa 000620 000000 772016 qrl 0,x6 aa 000621 703746 116111 cmpq sb|2022,x1 " i aa 000622 000006 604004 tmi L72 aa 000623 703746 236111 ldq sb|2022,x1 " i aa 000624 703752 722111 lxl2 sb|2026,x1 " s aa 000625 000000 736012 qls 0,x2 aa 000626 000000 533007 negl 0,dl aa 000627 703751 056111 asq sb|2025,x1 " m L72: aa 000630 000001 336007 lcq 1,dl aa 000631 703752 056111 asq sb|2026,x1 " s L70: aa 000632 703752 234111 szn sb|2026,x1 " s aa 000633 777763 605004 tpl L71 aa 000634 703747 762111 91 lprpbp sb|2023,x1 " p aa 000635 200001 236100 ldq bp|1 aa 000636 703752 756111 stq sb|2026,x1 " t aa 000637 703751 723111 92 lxl3 sb|2025,x1 " m aa 000640 700021 761111 lprpab sb|17,x1 " v aa 000641 100000 234113 szn ab|0,x3 aa 000642 000010 600004 tze L73 aa 000643 703751 724111 lxl4 sb|2025,x1 " m aa 000644 700021 763111 lprpbb sb|17,x1 " v aa 000645 300000 236114 ldq bb|0,x4 aa 000646 703752 116111 cmpq sb|2026,x1 " t aa 000647 000027 601004 tnz L36 aa 000650 600307 234100 szn sp|199 " NoDefault aa 000651 000025 600004 tze L36 L73: aa 000652 703752 235111 93 lda sb|2026,x1 " t aa 000653 703751 725111 lxl5 sb|2025,x1 " m aa 000654 700021 765111 lprplb sb|17,x1 " v aa 000655 500000 755115 sta lb|0,x5 aa 000656 000002 235007 lda 2,dl " 2 aa 000657 703747 055111 asa sb|2023,x1 " p L68: aa 000660 703747 235111 lda sb|2023,x1 " p aa 000661 703750 115111 cmpa sb|2024,x1 aa 000662 777726 604404 tmoz L69 aa 000663 700002 236111 95 ldq sb|2,x1 " Lp aa 000664 703756 756111 stq sb|2030,x1 aa 000665 700003 236111 ldq sb|3,x1 " Up aa 000666 703757 756111 stq sb|2031,x1 aa 000667 703746 236111 ldq sb|2022,x1 " i aa 000670 703760 756111 stq sb|2032,x1 aa 000671 700006 236111 ldq sb|6,x1 " DefaultL aa 000672 703761 756111 stq sb|2033,x1 aa 000673 000734 272004 tsbbp L4+2 " HashSwitch aa 000674 003754 000004 zero 2028,4 aa 000675 000050 710004 97 tra L40 L36: aa 000676 703746 054111 aos sb|2022,x1 " i L64: aa 000677 703746 236111 ldq sb|2022,x1 " i aa 000700 703744 116111 cmpq sb|2020,x1 " j aa 000701 777667 604004 tmi L65 aa 000702 703745 235111 99 lda sb|2021,x1 " k aa 000703 703744 115111 cmpa sb|2020,x1 " j aa 000704 000021 605404 tpnz L74 aa 000705 700016 236111 ldq sb|14,x1 " u aa 000706 700007 116111 cmpq sb|7,x1 " n aa 000707 000016 605004 tpl L74 aa 000710 700002 235111 100 lda sb|2,x1 " Lp aa 000711 703756 755111 sta sb|2030,x1 aa 000712 700003 235111 lda sb|3,x1 " Up aa 000713 703757 755111 sta sb|2031,x1 aa 000714 700004 235111 lda sb|4,x1 " Ll aa 000715 703760 755111 sta sb|2032,x1 aa 000716 700005 235111 lda sb|5,x1 " Ul aa 000717 703761 755111 sta sb|2033,x1 aa 000720 700006 235111 lda sb|6,x1 " DefaultL aa 000721 703762 755111 sta sb|2034,x1 aa 000722 000140 272004 tsbbp L5+2 " DirectSwitch aa 000723 003754 000005 zero 2028,5 aa 000724 000021 710004 101 tra L40 L74: L59: L45: aa 000725 700002 235111 105 lda sb|2,x1 " Lp aa 000726 703756 755111 sta sb|2030,x1 aa 000727 700003 235111 lda sb|3,x1 " Up aa 000730 703757 755111 sta sb|2031,x1 aa 000731 700004 235111 lda sb|4,x1 " Ll aa 000732 703760 755111 sta sb|2032,x1 aa 000733 700005 235111 lda sb|5,x1 " Ul aa 000734 703761 755111 sta sb|2033,x1 aa 000735 700013 235111 lda sb|11,x1 " b aa 000736 703762 755111 sta sb|2034,x1 aa 000737 700011 235111 lda sb|9,x1 " c aa 000740 703763 755111 sta sb|2035,x1 aa 000741 700006 235111 lda sb|6,x1 " DefaultL aa 000742 703764 755111 sta sb|2036,x1 aa 000743 000350 272004 tsbbp L6+2 " BinarySwitch aa 000744 003754 000007 zero 2028,7 L40: aa 000745 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000746 200000 121100 sblx1 bp|0 aa 000747 700001 764111 lprplp sb|1,x1 aa 000750 200001 710100 tra bp|1 " end of return sequence " Literal pool L61: aa 000751 337410 726000 zero 114440,-21504 " 30000000000 L44: aa 000752 777777 777776 zero -1,-2 " Even " Begin text of LinearSwitch aa 000753 000014 114151 zero 12,39017 " LinearSwitch aa 000754 156145 141162 zero 56421,49778 aa 000755 123167 151164 zero 42615,53876 aa 000756 143150 000000 zero 50792 L3: aa 000757 000000 213000 107 epaq 0 " set lp to linkage section aa 000760 700026 764161 lprplp sb|22,*au aa 000761 200000 021100 adlx1 bp|0 " BCPL save aa 000762 700000 542111 sprpbp sb|0,x1 aa 000763 700001 544111 sprplp sb|1,x1 aa 000764 700424 620111 eax0 sb|276,x1 aa 000765 777760 360003 anx0 -16,du aa 000766 700025 740100 stx0 sb|21 " end of save sequence aa 000767 700006 235111 108 lda sb|6,x1 " DefaultL aa 000770 700007 755111 sta sb|7,x1 " LastL aa 000771 600307 234100 109 szn sp|199 " NoDefault aa 000772 000021 601004 tnz L79 aa 000773 700002 760111 lprpap sb|2,x1 " Lp aa 000774 000000 235100 lda ap|0 aa 000775 700004 115111 cmpa sb|4,x1 " Ll aa 000776 000022 601004 tnz L78 aa 000777 700003 762111 lprpbp sb|3,x1 " Up aa 001000 200000 236100 ldq bp|0 aa 001001 700005 116111 cmpq sb|5,x1 " Ul aa 001002 000016 601004 tnz L78 aa 001003 700005 235111 lda sb|5,x1 " Ul aa 001004 700004 175111 sba sb|4,x1 " Ll aa 001005 700003 236111 ldq sb|3,x1 " Up aa 001006 700002 176111 sbq sb|2,x1 " Lp aa 001007 700010 755111 sta sb|8,x1 " temporary aa 001010 000002 506007 div 2,dl " 2 aa 001011 700010 116111 cmpq sb|8,x1 aa 001012 000006 601004 tnz L78 L79: aa 001013 700003 761111 110 lprpab sb|3,x1 " Up aa 001014 100001 236100 ldq ab|1 aa 001015 700007 756111 stq sb|7,x1 " LastL aa 001016 000002 336007 111 lcq 2,dl " 2 aa 001017 700003 056111 asq sb|3,x1 " Up L78: aa 001020 700002 236111 113 ldq sb|2,x1 " Lp aa 001021 700010 756111 stq sb|8,x1 " p aa 001022 700003 236111 ldq sb|3,x1 " Up aa 001023 700011 756111 stq sb|9,x1 aa 001024 000015 710004 tra L80 L81: aa 001025 700010 763111 lprpbb sb|8,x1 " p aa 001026 300000 236100 ldq bb|0 aa 001027 700016 756111 stq sb|14,x1 aa 001030 000600 236007 ldq 384,dl " Tze aa 001031 700017 756111 stq sb|15,x1 aa 001032 700010 765111 lprplb sb|8,x1 " p aa 001033 500001 236100 ldq lb|1 aa 001034 700020 756111 stq sb|16,x1 aa 001035 000534 272004 tsbbp L7+2 " Swjump aa 001036 000014 000003 zero 12,3 aa 001037 000002 236007 ldq 2,dl " 2 aa 001040 700010 056111 asq sb|8,x1 " p L80: aa 001041 700010 236111 ldq sb|8,x1 " p aa 001042 700011 116111 cmpq sb|9,x1 aa 001043 777762 604404 tmoz L81 aa 001044 700007 235111 114 lda sb|7,x1 " LastL aa 001045 700016 755111 sta sb|14,x1 4a 001046 400026 272120 tsbbp lp|L82,* " Compjump aa 001047 000014 000001 zero 12,1 L77: aa 001050 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001051 200000 121100 sblx1 bp|0 aa 001052 700001 764111 lprplp sb|1,x1 aa 001053 200001 710100 tra bp|1 " end of return sequence " Begin text of DirectSwitch aa 001054 000014 104151 zero 12,34921 " DirectSwitch aa 001055 162145 143164 zero 58469,50804 aa 001056 123167 151164 zero 42615,53876 aa 001057 143150 000000 zero 50792 L5: aa 001060 000000 213000 148 epaq 0 " set lp to linkage section aa 001061 700026 764161 lprplp sb|22,*au aa 001062 200000 021100 adlx1 bp|0 " BCPL save aa 001063 700000 542111 sprpbp sb|0,x1 aa 001064 700001 544111 sprplp sb|1,x1 aa 001065 700424 620111 eax0 sb|276,x1 aa 001066 777760 360003 anx0 -16,du aa 001067 700025 740100 stx0 sb|21 " end of save sequence aa 001070 700003 235111 149 lda sb|3,x1 " Up aa 001071 700002 175111 sba sb|2,x1 " Lp aa 001072 000044 777000 llr 36 " exchange A and Q aa 001073 000012 506007 div 10,dl " 10 aa 001074 000002 076007 adq 2,dl " 2 aa 001075 700007 756111 stq sb|7,x1 " n aa 001076 700010 450111 150 stz sb|8,x1 " x aa 001077 600307 234100 151 szn sp|199 " NoDefault aa 001100 000010 600004 tze L86 aa 001101 700002 760111 152 lprpap sb|2,x1 " Lp aa 001102 000000 236100 ldq ap|0 aa 001103 700004 756111 stq sb|4,x1 " Ll aa 001104 700003 762111 lprpbp sb|3,x1 " Up aa 001105 200000 236100 ldq bp|0 aa 001106 700005 756111 stq sb|5,x1 " Ul aa 001107 000110 710004 tra L87 L86: aa 001110 700005 236111 153 ldq sb|5,x1 " Ul aa 001111 700007 176111 sbq sb|7,x1 " n aa 001112 700003 761111 lprpab sb|3,x1 " Up aa 001113 100000 116100 cmpq ab|0 aa 001114 000063 604004 tmi L88 aa 001115 000605 236007 154 ldq 389,dl " Tpl aa 001116 700011 756111 stq sb|9,x1 " t aa 001117 700003 763111 lprpbb sb|3,x1 " Up aa 001120 300000 236100 ldq bb|0 aa 001121 700012 756111 stq sb|10,x1 " r aa 001122 700012 236111 155 ldq sb|10,x1 " r aa 001123 700005 756111 stq sb|5,x1 " Ul aa 001124 700004 236111 156 ldq sb|4,x1 " Ll aa 001125 700007 076111 adq sb|7,x1 " n aa 001126 700002 765111 lprplb sb|2,x1 " Lp aa 001127 500000 116100 cmpq lb|0 aa 001130 000035 605004 tpl L90 aa 001131 700002 760111 157 lprpap sb|2,x1 " Lp aa 001132 000000 234100 szn ap|0 aa 001133 000007 604004 tmi L91 aa 001134 700002 762111 lprpbp sb|2,x1 " Lp aa 001135 200000 236100 ldq bp|0 aa 001136 700007 116111 cmpq sb|7,x1 " n aa 001137 000003 605404 tpnz L91 aa 001140 700004 450111 158 stz sb|4,x1 " Ll aa 001141 000022 710004 tra L92 L91: aa 001142 000175 235007 159 lda 125,dl " Sba aa 001143 700020 755111 sta sb|16,x1 aa 001144 700002 761111 lprpab sb|2,x1 " Lp aa 001145 100000 235100 lda ab|0 aa 001146 700021 755111 sta sb|17,x1 aa 001147 000007 235007 lda 7,dl " Dl aa 001150 700022 755111 sta sb|18,x1 4a 001151 400024 272120 tsbbp lp|L93,* " Outop3 aa 001152 000016 000003 zero 14,3 aa 001153 700002 763111 160 lprpbb sb|2,x1 " Lp aa 001154 300000 235100 lda bb|0 aa 001155 700004 755111 sta sb|4,x1 " Ll aa 001156 700004 235111 161 lda sb|4,x1 " Ll aa 001157 700010 755111 sta sb|8,x1 " x aa 001160 700005 235111 lda sb|5,x1 " Ul aa 001161 700004 175111 sba sb|4,x1 " Ll aa 001162 700012 755111 sta sb|10,x1 " r L92: aa 001163 000603 235007 163 lda 387,dl " Trc aa 001164 700011 755111 sta sb|9,x1 " t L90: aa 001165 700012 235111 165 lda sb|10,x1 " r aa 001166 000001 075007 ada 1,dl " 1 aa 001167 700020 755111 sta sb|16,x1 aa 001170 700011 235111 lda sb|9,x1 " t aa 001171 700021 755111 sta sb|17,x1 aa 001172 700006 235111 lda sb|6,x1 " DefaultL aa 001173 700022 755111 sta sb|18,x1 aa 001174 000375 272004 tsbbp L7+2 " Swjump aa 001175 000016 000003 zero 14,3 aa 001176 000021 710004 tra L89 L88: aa 001177 700004 235111 167 lda sb|4,x1 " Ll aa 001200 700007 075111 ada sb|7,x1 " n aa 001201 700002 765111 lprplb sb|2,x1 " Lp aa 001202 500000 115100 cmpa lb|0 aa 001203 000014 605004 tpl L94 aa 001204 700002 760111 168 lprpap sb|2,x1 " Lp aa 001205 000000 235100 lda ap|0 aa 001206 700004 755111 sta sb|4,x1 " Ll aa 001207 700004 235111 169 lda sb|4,x1 " Ll aa 001210 700020 755111 sta sb|16,x1 aa 001211 000604 235007 lda 388,dl " Tmi aa 001212 700021 755111 sta sb|17,x1 aa 001213 700006 235111 lda sb|6,x1 " DefaultL aa 001214 700022 755111 sta sb|18,x1 aa 001215 000354 272004 tsbbp L7+2 " Swjump aa 001216 000016 000003 zero 14,3 L94: L89: L87: 4a 001217 400022 272120 171 tsbbp lp|L95,* " Nextparam aa 001220 000016 000000 zero 14 aa 001221 700011 756111 stq sb|9,x1 " Lab aa 001222 700010 236111 172 ldq sb|8,x1 " x aa 001223 700004 176111 sbq sb|4,x1 " Ll aa 001224 600455 756100 stq sp|301 " Address aa 001225 000005 236007 ldq 5,dl " Al aa 001226 600544 756100 stq sp|356 " Tag aa 001227 000020 236007 ldq 16,dl " RelText aa 001230 000022 736000 qls 18 aa 001231 600531 756100 stq sp|345 " Reloc aa 001232 700011 236111 ldq sb|9,x1 " Lab aa 001233 600520 756100 stq sp|336 " Param aa 001234 000710 236007 173 ldq 456,dl " Tra aa 001235 700020 756111 stq sb|16,x1 4a 001236 400020 272120 tsbbp lp|L96,* " Outop aa 001237 000016 000001 zero 14,1 aa 001240 700011 236111 174 ldq sb|9,x1 " Lab aa 001241 700020 756111 stq sb|16,x1 4a 001242 400016 272120 tsbbp lp|L97,* " Complab aa 001243 000016 000001 zero 14,1 aa 001244 700004 236111 175 ldq sb|4,x1 " Ll aa 001245 700012 756111 stq sb|10,x1 " i aa 001246 700005 236111 ldq sb|5,x1 " Ul aa 001247 700013 756111 stq sb|11,x1 aa 001250 000026 710004 tra L98 L99: aa 001251 700002 762111 176 lprpbp sb|2,x1 " Lp aa 001252 200000 236100 ldq bp|0 aa 001253 700012 116111 cmpq sb|10,x1 " i aa 001254 000013 601004 tnz L100 aa 001255 000710 235007 177 lda 456,dl " Tra aa 001256 700020 755111 sta sb|16,x1 aa 001257 700002 761111 lprpab sb|2,x1 " Lp aa 001260 100001 235100 lda ab|1 aa 001261 700021 755111 sta sb|17,x1 4a 001262 400014 272120 tsbbp lp|L102,* " Outop2 aa 001263 000016 000002 zero 14,2 aa 001264 000002 235007 178 lda 2,dl " 2 aa 001265 700002 055111 asa sb|2,x1 " Lp aa 001266 000007 710004 tra L101 L100: aa 001267 000710 235007 180 lda 456,dl " Tra aa 001270 700020 755111 sta sb|16,x1 aa 001271 700006 235111 lda sb|6,x1 " DefaultL aa 001272 700021 755111 sta sb|17,x1 4a 001273 400014 272120 tsbbp lp|L102,* " Outop2 aa 001274 000016 000002 zero 14,2 L101: aa 001275 700012 054111 aos sb|10,x1 " i L98: aa 001276 700012 235111 lda sb|10,x1 " i aa 001277 700013 115111 cmpa sb|11,x1 aa 001300 777751 604404 tmoz L99 L85: aa 001301 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001302 200000 121100 sblx1 bp|0 aa 001303 700001 764111 lprplp sb|1,x1 aa 001304 200001 710100 tra bp|1 " end of return sequence " Begin text of BinarySwitch aa 001305 000014 102151 zero 12,33897 " BinarySwitch aa 001306 156141 162171 zero 56417,58489 aa 001307 123167 151164 zero 42615,53876 aa 001310 143150 000000 zero 50792 L6: aa 001311 000000 213000 182 epaq 0 " set lp to linkage section aa 001312 700026 764161 lprplp sb|22,*au aa 001313 200000 021100 adlx1 bp|0 " BCPL save aa 001314 700000 542111 sprpbp sb|0,x1 aa 001315 700001 544111 sprplp sb|1,x1 aa 001316 700426 620111 eax0 sb|278,x1 aa 001317 777760 360003 anx0 -16,du aa 001320 700025 740100 stx0 sb|21 " end of save sequence aa 001321 700011 450111 183 stz sb|9,x1 " Tl aa 001322 700006 236111 184 ldq sb|6,x1 " b aa 001323 700007 076111 adq sb|7,x1 " c aa 001324 700007 076111 adq sb|7,x1 " c aa 001325 700012 756111 stq sb|10,x1 " d aa 001326 700013 450111 185 stz sb|11,x1 " t aa 001327 700014 450111 stz sb|12,x1 " s aa 001330 700006 236111 186 ldq sb|6,x1 " b aa 001331 700002 116111 cmpq sb|2,x1 " Lp aa 001332 000007 601004 tnz L107 aa 001333 600307 234100 szn sp|199 " NoDefault aa 001334 000071 601004 tnz L106 aa 001335 700004 235111 lda sb|4,x1 " Ll aa 001336 700002 763111 lprpbb sb|2,x1 " Lp aa 001337 300000 115100 cmpa bb|0 aa 001340 000065 600004 tze L106 L107: aa 001341 700002 236111 187 ldq sb|2,x1 " Lp aa 001342 000002 076007 adq 2,dl " 2 aa 001343 700006 116111 cmpq sb|6,x1 " b aa 001344 000043 604004 tmi L108 aa 001345 600307 234100 szn sp|199 " NoDefault aa 001346 000015 601004 tnz L110 aa 001347 700006 236111 ldq sb|6,x1 " b aa 001350 700002 116111 cmpq sb|2,x1 " Lp aa 001351 000012 600004 tze L110 aa 001352 700004 235111 lda sb|4,x1 " Ll aa 001353 700002 765111 lprplb sb|2,x1 " Lp aa 001354 500000 115100 cmpa lb|0 aa 001355 000032 601004 tnz L108 aa 001356 700004 236111 ldq sb|4,x1 " Ll aa 001357 000001 076007 adq 1,dl " 1 aa 001360 700006 760111 lprpap sb|6,x1 " b aa 001361 000000 116100 cmpq ap|0 aa 001362 000025 601004 tnz L108 L110: aa 001363 700006 236111 188 ldq sb|6,x1 " b aa 001364 700002 116111 cmpq sb|2,x1 " Lp aa 001365 000003 601004 tnz L111 aa 001366 700010 235111 lda sb|8,x1 " DefaultL aa 001367 000003 710004 tra L112 L111: aa 001370 700002 762111 lprpbp sb|2,x1 " Lp aa 001371 200001 235100 lda bp|1 L112: aa 001372 700017 755111 sta sb|15,x1 aa 001373 700017 235111 lda sb|15,x1 aa 001374 700015 755111 sta sb|13,x1 aa 001375 700006 761111 lprpab sb|6,x1 " b aa 001376 100000 235100 lda ab|0 aa 001377 700024 755111 sta sb|20,x1 aa 001400 000604 235007 lda 388,dl " Tmi aa 001401 700025 755111 sta sb|21,x1 aa 001402 700015 235111 lda sb|13,x1 aa 001403 700026 755111 sta sb|22,x1 aa 001404 000165 272004 tsbbp L7+2 " Swjump aa 001405 000022 000003 zero 18,3 aa 001406 000015 710004 tra L109 L108: 4a 001407 400022 272120 189 tsbbp lp|L95,* " Nextparam aa 001410 000022 000000 zero 18 aa 001411 700011 756111 stq sb|9,x1 " Tl aa 001412 700006 763111 190 lprpbb sb|6,x1 " b aa 001413 300000 236100 ldq bb|0 aa 001414 700024 756111 stq sb|20,x1 aa 001415 000604 236007 ldq 388,dl " Tmi aa 001416 700025 756111 stq sb|21,x1 aa 001417 700011 236111 ldq sb|9,x1 " Tl aa 001420 700026 756111 stq sb|22,x1 aa 001421 000150 272004 tsbbp L7+2 " Swjump aa 001422 000022 000003 zero 18,3 L109: aa 001423 000001 336007 192 lcq 1,dl " true aa 001424 700014 756111 stq sb|12,x1 " s L106: aa 001425 700012 236111 194 ldq sb|10,x1 " d aa 001426 700003 116111 cmpq sb|3,x1 " Up aa 001427 000017 601004 tnz L113 aa 001430 600307 234100 szn sp|199 " NoDefault aa 001431 000005 601004 tnz L115 aa 001432 700005 235111 lda sb|5,x1 " Ul aa 001433 700003 765111 lprplb sb|3,x1 " Up aa 001434 500000 115100 cmpa lb|0 aa 001435 000011 601004 tnz L113 L115: aa 001436 700012 760111 195 lprpap sb|10,x1 " d aa 001437 000001 236100 ldq ap|1 aa 001440 700024 756111 stq sb|20,x1 4a 001441 400026 272120 tsbbp lp|L82,* " Compjump aa 001442 000022 000001 zero 18,1 aa 001443 000001 336007 196 lcq 1,dl " true aa 001444 700013 756111 stq sb|11,x1 " t aa 001445 000030 710004 tra L114 L113: aa 001446 700007 234111 198 szn sb|7,x1 " c aa 001447 000013 601004 tnz L116 aa 001450 700014 234111 szn sb|12,x1 " s aa 001451 000011 600004 tze L116 aa 001452 000600 236007 199 ldq 384,dl " Tze aa 001453 700024 756111 stq sb|20,x1 aa 001454 700006 762111 lprpbp sb|6,x1 " b aa 001455 200001 236100 ldq bp|1 aa 001456 700025 756111 stq sb|21,x1 4a 001457 400014 272120 tsbbp lp|L102,* " Outop2 aa 001460 000022 000002 zero 18,2 aa 001461 000014 710004 tra L117 L116: aa 001462 700012 761111 200 lprpab sb|10,x1 " d aa 001463 100000 236100 ldq ab|0 aa 001464 000001 076007 adq 1,dl " 1 aa 001465 700024 756111 stq sb|20,x1 aa 001466 000604 236007 ldq 388,dl " Tmi aa 001467 700025 756111 stq sb|21,x1 aa 001470 700012 763111 lprpbb sb|10,x1 " d aa 001471 300001 236100 ldq bb|1 aa 001472 700026 756111 stq sb|22,x1 aa 001473 000076 272004 tsbbp L7+2 " Swjump aa 001474 000022 000003 zero 18,3 L117: L114: aa 001475 700013 234111 201 szn sb|11,x1 " t aa 001476 000036 601004 tnz L118 aa 001477 700012 236111 ldq sb|10,x1 " d aa 001500 700003 116111 cmpq sb|3,x1 " Up aa 001501 000014 601004 tnz L119 aa 001502 600307 234100 202 szn sp|199 " NoDefault aa 001503 000011 601004 tnz L121 aa 001504 700005 235111 lda sb|5,x1 " Ul aa 001505 700003 765111 lprplb sb|3,x1 " Up aa 001506 500000 115100 cmpa lb|0 aa 001507 000005 600004 tze L121 aa 001510 700010 236111 ldq sb|8,x1 " DefaultL aa 001511 700024 756111 stq sb|20,x1 4a 001512 400026 272120 tsbbp lp|L82,* " Compjump aa 001513 000022 000001 zero 18,1 L121: aa 001514 000020 710004 tra L120 L119: aa 001515 700012 236111 203 ldq sb|10,x1 " d aa 001516 000002 076007 adq 2,dl " 2 aa 001517 700024 756111 stq sb|20,x1 aa 001520 700003 236111 ldq sb|3,x1 " Up aa 001521 700025 756111 stq sb|21,x1 aa 001522 700012 760111 lprpap sb|10,x1 " d aa 001523 000000 236100 ldq ap|0 aa 001524 000001 076007 adq 1,dl " 1 aa 001525 700026 756111 stq sb|22,x1 aa 001526 700005 236111 ldq sb|5,x1 " Ul aa 001527 700027 756111 stq sb|23,x1 aa 001530 700010 236111 ldq sb|8,x1 " DefaultL aa 001531 700030 756111 stq sb|24,x1 aa 001532 776553 272004 tsbbp L2+2 " AnySwitch aa 001533 000022 000005 zero 18,5 L120: L118: aa 001534 700011 234111 204 szn sb|9,x1 " Tl aa 001535 000024 600004 tze L122 aa 001536 700011 236111 205 ldq sb|9,x1 " Tl aa 001537 700024 756111 stq sb|20,x1 4a 001540 400016 272120 tsbbp lp|L97,* " Complab aa 001541 000022 000001 zero 18,1 aa 001542 700002 236111 206 ldq sb|2,x1 " Lp aa 001543 700024 756111 stq sb|20,x1 aa 001544 700006 236111 ldq sb|6,x1 " b aa 001545 000002 176007 sbq 2,dl " 2 aa 001546 700025 756111 stq sb|21,x1 aa 001547 700004 236111 ldq sb|4,x1 " Ll aa 001550 700026 756111 stq sb|22,x1 aa 001551 700006 762111 lprpbp sb|6,x1 " b aa 001552 200000 236100 ldq bp|0 aa 001553 000001 176007 sbq 1,dl " 1 aa 001554 700027 756111 stq sb|23,x1 aa 001555 700010 236111 ldq sb|8,x1 " DefaultL aa 001556 700030 756111 stq sb|24,x1 aa 001557 776526 272004 tsbbp L2+2 " AnySwitch aa 001560 000022 000005 zero 18,5 L122: L105: aa 001561 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001562 200000 121100 sblx1 bp|0 aa 001563 700001 764111 lprplp sb|1,x1 aa 001564 200001 710100 tra bp|1 " end of return sequence " Begin text of Swjump aa 001565 000006 123167 zero 6,42615 " Swjump aa 001566 152165 155160 zero 54389,55920 L7: aa 001567 000000 213000 209 epaq 0 " set lp to linkage section aa 001570 700026 764161 lprplp sb|22,*au aa 001571 200000 021100 adlx1 bp|0 " BCPL save aa 001572 700000 542111 sprpbp sb|0,x1 aa 001573 700001 544111 sprplp sb|1,x1 aa 001574 700423 620111 eax0 sb|275,x1 aa 001575 777760 360003 anx0 -16,du aa 001576 700025 740100 stx0 sb|21 " end of save sequence aa 001577 700002 236111 210 ldq sb|2,x1 " n aa 001600 700010 756111 stq sb|8,x1 aa 001601 700011 450111 stz sb|9,x1 4a 001602 400012 272120 tsbbp lp|L126,* " Literal aa 001603 000006 000002 zero 6,2 aa 001604 000115 236007 211 ldq 77,dl " Cmpa aa 001605 700010 756111 stq sb|8,x1 4a 001606 400020 272120 tsbbp lp|L96,* " Outop aa 001607 000006 000001 zero 6,1 aa 001610 700003 236111 212 ldq sb|3,x1 " t aa 001611 700010 756111 stq sb|8,x1 aa 001612 700004 236111 ldq sb|4,x1 " l aa 001613 700011 756111 stq sb|9,x1 4a 001614 400014 272120 tsbbp lp|L102,* " Outop2 aa 001615 000006 000002 zero 6,2 L125: aa 001616 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001617 200000 121100 sblx1 bp|0 aa 001620 700001 764111 lprplp sb|1,x1 aa 001621 200001 710100 tra bp|1 " end of return sequence " Begin text of HashSwitch aa 001622 000012 110141 zero 10,36961 " HashSwitch aa 001623 163150 123167 zero 58984,42615 aa 001624 151164 143150 zero 53876,50792 L4: aa 001625 000000 213000 116 epaq 0 " set lp to linkage section aa 001626 700026 764161 lprplp sb|22,*au aa 001627 200000 021100 adlx1 bp|0 " BCPL save aa 001630 700000 542111 sprpbp sb|0,x1 aa 001631 700001 544111 sprplp sb|1,x1 aa 001632 707704 620111 eax0 sb|4036,x1 aa 001633 777760 360003 anx0 -16,du aa 001634 700025 740100 stx0 sb|21 " end of save sequence aa 001635 700010 351511 117 eapab sb|8,x1 " a vector aa 001636 700006 541111 sprpab sb|6,x1 " v aa 001637 703732 351511 118 eapab sb|2010,x1 " a vector aa 001640 700007 541111 sprpab sb|7,x1 " w aa 001641 703731 450111 119 stz sb|2009,x1 " j aa 001642 700004 236111 ldq sb|4,x1 " i aa 001643 707653 756111 stq sb|4011,x1 aa 001644 000011 710004 tra L130 L131: aa 001645 703731 726111 lxl6 sb|2009,x1 " j aa 001646 700007 761111 lprpab sb|7,x1 " w aa 001647 100000 450116 stz ab|0,x6 aa 001650 700005 236111 ldq sb|5,x1 " DefaultL aa 001651 703731 722111 lxl2 sb|2009,x1 " j aa 001652 700006 763111 lprpbb sb|6,x1 " v aa 001653 300000 756112 stq bb|0,x2 aa 001654 703731 054111 aos sb|2009,x1 " j L130: aa 001655 703731 236111 ldq sb|2009,x1 " j aa 001656 707653 116111 cmpq sb|4011,x1 aa 001657 777766 604404 tmoz L131 aa 001660 700002 235111 120 lda sb|2,x1 " Lp aa 001661 703731 755111 sta sb|2009,x1 " p aa 001662 700003 235111 lda sb|3,x1 " Up aa 001663 707653 755111 sta sb|4011,x1 aa 001664 000045 710004 tra L132 L133: aa 001665 703731 765111 121 lprplb sb|2009,x1 " p aa 001666 500000 235100 lda lb|0 aa 001667 707654 755111 sta sb|4012,x1 " m aa 001670 707655 450111 stz sb|4013,x1 " n aa 001671 000043 235007 122 lda 35,dl " 35 aa 001672 707656 755111 sta sb|4014,x1 " s aa 001673 000021 710004 tra L134 L135: aa 001674 707655 235111 123 lda sb|4013,x1 " n aa 001675 000001 735000 als 1 aa 001676 707655 755111 sta sb|4013,x1 " n aa 001677 707654 235111 124 lda sb|4012,x1 " m aa 001700 707656 723111 lxl3 sb|4014,x1 " s aa 001701 000000 771013 arl 0,x3 aa 001702 700004 115111 cmpa sb|4,x1 " i aa 001703 000007 604004 tmi L136 aa 001704 700004 235111 lda sb|4,x1 " i aa 001705 707656 724111 lxl4 sb|4014,x1 " s aa 001706 000000 735014 als 0,x4 aa 001707 000000 531007 neg 0,dl aa 001710 707654 055111 asa sb|4012,x1 " m aa 001711 707655 054111 aos sb|4013,x1 " n L136: aa 001712 000001 335007 lca 1,dl aa 001713 707656 055111 asa sb|4014,x1 " s L134: aa 001714 707656 234111 szn sb|4014,x1 " s aa 001715 777757 605004 tpl L135 aa 001716 703731 760111 126 lprpap sb|2009,x1 " p aa 001717 000001 235100 lda ap|1 aa 001720 707654 725111 lxl5 sb|4012,x1 " m aa 001721 700006 762111 lprpbp sb|6,x1 " v aa 001722 200000 755115 sta bp|0,x5 aa 001723 707655 235111 lda sb|4013,x1 " n aa 001724 707654 726111 lxl6 sb|4012,x1 " m aa 001725 700007 761111 lprpab sb|7,x1 " w aa 001726 100000 755116 sta ab|0,x6 aa 001727 000002 235007 lda 2,dl " 2 aa 001730 703731 055111 asa sb|2009,x1 " p L132: aa 001731 703731 235111 lda sb|2009,x1 " p aa 001732 707653 115111 cmpa sb|4011,x1 aa 001733 777732 604404 tmoz L133 aa 001734 000773 236007 128 ldq 507,dl " Lrl aa 001735 707662 756111 stq sb|4018,x1 aa 001736 000043 236007 ldq 35,dl " 35 aa 001737 707663 756111 stq sb|4019,x1 aa 001740 707664 450111 stz sb|4020,x1 4a 001741 400024 272120 tsbbp lp|L93,* " Outop3 aa 001742 007660 000003 zero 4016,3 aa 001743 700004 236111 129 ldq sb|4,x1 " i aa 001744 707662 756111 stq sb|4018,x1 aa 001745 000135 353404 eapbb L137 " "hash table size" aa 001746 707663 543111 sprpbb sb|4019,x1 4a 001747 400012 272120 tsbbp lp|L126,* " Literal aa 001750 007660 000002 zero 4016,2 aa 001751 000507 236007 130 ldq 327,dl " Dvf aa 001752 707662 756111 stq sb|4018,x1 4a 001753 400020 272120 tsbbp lp|L96,* " Outop aa 001754 007660 000001 zero 4016,1 aa 001755 703731 450111 131 stz sb|2009,x1 " Tl aa 001756 600307 234100 132 szn sp|199 " NoDefault aa 001757 000026 601004 tnz L138 4a 001760 400022 272120 133 tsbbp lp|L95,* " Nextparam aa 001761 007660 000000 zero 4016 aa 001762 703731 756111 stq sb|2009,x1 " Tl aa 001763 000020 236007 134 ldq 16,dl " RelText aa 001764 000022 736000 qls 18 aa 001765 600531 756100 stq sp|345 " Reloc aa 001766 600455 450100 stz sp|301 " Address aa 001767 000006 236007 ldq 6,dl " Ql aa 001770 600544 756100 stq sp|356 " Tag aa 001771 703731 236111 ldq sb|2009,x1 " Tl aa 001772 600520 756100 stq sp|336 " Param aa 001773 000115 236007 135 ldq 77,dl " Cmpa aa 001774 707662 756111 stq sb|4018,x1 4a 001775 400020 272120 tsbbp lp|L96,* " Outop aa 001776 007660 000001 zero 4016,1 aa 001777 000601 236007 136 ldq 385,dl " Tnz aa 002000 707662 756111 stq sb|4018,x1 aa 002001 700005 236111 ldq sb|5,x1 " DefaultL aa 002002 707663 756111 stq sb|4019,x1 4a 002003 400014 272120 tsbbp lp|L102,* " Outop2 aa 002004 007660 000002 zero 4016,2 L138: 4a 002005 400022 272120 138 tsbbp lp|L95,* " Nextparam aa 002006 007660 000000 zero 4016 aa 002007 707653 756111 stq sb|4011,x1 " Lab aa 002010 000020 236007 139 ldq 16,dl " RelText aa 002011 000022 736000 qls 18 aa 002012 600531 756100 stq sp|345 " Reloc aa 002013 000006 236007 ldq 6,dl " Ql aa 002014 600544 756100 stq sp|356 " Tag aa 002015 600455 450100 stz sp|301 " Address aa 002016 707653 236111 ldq sb|4011,x1 " Lab aa 002017 600520 756100 stq sp|336 " Param aa 002020 000710 236007 140 ldq 456,dl " Tra aa 002021 707662 756111 stq sb|4018,x1 4a 002022 400020 272120 tsbbp lp|L96,* " Outop aa 002023 007660 000001 zero 4016,1 aa 002024 707653 236111 141 ldq sb|4011,x1 " Lab aa 002025 707662 756111 stq sb|4018,x1 4a 002026 400016 272120 tsbbp lp|L97,* " Complab aa 002027 007660 000001 zero 4016,1 aa 002030 707654 450111 142 stz sb|4012,x1 " j aa 002031 700004 236111 ldq sb|4,x1 " i aa 002032 000001 176007 sbq 1,dl " 1 aa 002033 707655 756111 stq sb|4013,x1 aa 002034 000012 710004 tra L139 L140: aa 002035 000710 236007 ldq 456,dl " Tra aa 002036 707662 756111 stq sb|4018,x1 aa 002037 707654 722111 lxl2 sb|4012,x1 " j aa 002040 700006 763111 lprpbb sb|6,x1 " v aa 002041 300000 236112 ldq bb|0,x2 aa 002042 707663 756111 stq sb|4019,x1 4a 002043 400014 272120 tsbbp lp|L102,* " Outop2 aa 002044 007660 000002 zero 4016,2 aa 002045 707654 054111 aos sb|4012,x1 " j L139: aa 002046 707654 236111 ldq sb|4012,x1 " j aa 002047 707655 116111 cmpq sb|4013,x1 aa 002050 777765 604404 tmoz L140 aa 002051 600307 234100 143 szn sp|199 " NoDefault aa 002052 000024 601004 tnz L141 aa 002053 703731 235111 144 lda sb|2009,x1 " Tl aa 002054 707662 755111 sta sb|4018,x1 4a 002055 400016 272120 tsbbp lp|L97,* " Complab aa 002056 007660 000001 zero 4016,1 aa 002057 707654 450111 145 stz sb|4012,x1 " j aa 002060 700004 235111 lda sb|4,x1 " i aa 002061 000001 175007 sba 1,dl " 1 aa 002062 707655 755111 sta sb|4013,x1 aa 002063 000010 710004 tra L142 L143: aa 002064 707654 723111 lxl3 sb|4012,x1 " j aa 002065 700007 765111 lprplb sb|7,x1 " w aa 002066 500000 235113 lda lb|0,x3 aa 002067 707662 755111 sta sb|4018,x1 4a 002070 400010 272120 tsbbp lp|L144,* " OutData aa 002071 007660 000001 zero 4016,1 aa 002072 707654 054111 aos sb|4012,x1 " j L142: aa 002073 707654 235111 lda sb|4012,x1 " j aa 002074 707655 115111 cmpa sb|4013,x1 aa 002075 777767 604404 tmoz L143 L141: L129: aa 002076 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002077 200000 121100 sblx1 bp|0 aa 002100 700001 764111 lprplp sb|1,x1 aa 002101 200001 710100 tra bp|1 " end of return sequence " Literal pool L137: aa 002102 000017 150141 zero 15,53345 " "hash table size" aa 002103 163150 040164 zero 58984,16500 aa 002104 141142 154145 zero 49762,55397 aa 002105 040163 151172 zero 16499,53882 aa 002106 145000 000000 zero 51712 aa 002107 000000 000000 " padding " Definition section part one - external entry points 5a 000000 000015 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_cg6" aa 000004 154137 143147 aa 000005 066000 000000 aa 000006 012103 157155 " "Compswitch" aa 000007 160163 167151 aa 000010 164143 150000 aa 000011 014163 171155 " "symbol_table" aa 000012 142157 154137 aa 000013 164141 142154 aa 000014 145000 000000 " Segname definition for bcpl_cg6 55 000015 000020 000002 " forward, backward threads 5a 000016 000002 400003 " value defined, class flags 55 000017 000003 000020 " name pointer, first entry def " Definition for Compswitch 55 000020 000023 000015 " forward, backward threads 0a 000021 000003 500000 " value defined, class flags 55 000022 000006 000015 " name pointer, segname def pointer " Definition for symbol_table 55 000023 000002 000020 " forward, backward threads 6a 000024 000000 400002 " value defined, class flags 55 000025 000011 000015 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000026 010142 143160 " "bcpl_cg5" aa 000027 154137 143147 aa 000030 065000 000000 aa 000031 007117 165164 " "OutData" aa 000032 104141 164141 5a 000033 000034 000000 aa 000034 000004 000000 55 000035 000026 000031 aa 000036 010142 143160 " "bcpl_cg3" aa 000037 154137 143147 aa 000040 063000 000000 aa 000041 007114 151164 " "Literal" aa 000042 145162 141154 5a 000043 000044 000000 aa 000044 000004 000000 55 000045 000036 000041 aa 000046 006117 165164 " "Outop2" aa 000047 157160 062000 5a 000050 000051 000000 aa 000051 000004 000000 55 000052 000026 000046 aa 000053 010142 143160 " "bcpl_cg2" aa 000054 154137 143147 aa 000055 062000 000000 aa 000056 007103 157155 " "Complab" aa 000057 160154 141142 5a 000060 000061 000000 aa 000061 000004 000000 55 000062 000053 000056 aa 000063 005117 165164 " "Outop" aa 000064 157160 000000 5a 000065 000066 000000 aa 000066 000004 000000 55 000067 000026 000063 aa 000070 014142 143160 " "bcpl_utility" aa 000071 154137 165164 aa 000072 151154 151164 aa 000073 171000 000000 aa 000074 011116 145170 " "Nextparam" aa 000075 164160 141162 aa 000076 141155 000000 5a 000077 000100 000000 aa 000100 000004 000000 55 000101 000070 000074 aa 000102 006117 165164 " "Outop3" aa 000103 157160 063000 5a 000104 000105 000000 aa 000105 000004 000000 55 000106 000026 000102 aa 000107 010103 157155 " "Compjump" aa 000110 160152 165155 aa 000111 160000 000000 5a 000112 000113 000000 aa 000113 000004 000000 55 000114 000053 000107 aa 000115 020104 151163 " "DisclaimRegister" aa 000116 143154 141151 aa 000117 155122 145147 aa 000120 151163 164145 aa 000121 162000 000000 5a 000122 000123 000000 aa 000123 000004 000000 55 000124 000053 000115 aa 000125 014114 157141 " "LoadRegister" aa 000126 144122 145147 aa 000127 151163 164145 aa 000130 162000 000000 5a 000131 000132 000000 aa 000132 000004 000000 55 000133 000036 000125 aa 000134 015123 145143 " "SectionHeader" aa 000135 164151 157156 aa 000136 110145 141144 aa 000137 145162 000000 5a 000140 000141 000000 aa 000141 000004 000000 55 000142 000026 000134 aa 000143 013142 143160 " "bcpl_report" aa 000144 154137 162145 aa 000145 160157 162164 aa 000146 010103 107162 " "CGreport" aa 000147 145160 157162 aa 000150 164000 000000 5a 000151 000152 000000 aa 000152 000004 000000 55 000153 000143 000146 aa 000154 012105 166141 " "EvalNumber" aa 000155 154116 165155 aa 000156 142145 162000 5a 000157 000160 000000 aa 000160 000004 000000 55 000161 000053 000154 " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 002110 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000042 " offset to links, total length aa 000007 000000 000042 " obsolete length " External link pairs L144: 3a 000010 777770 000046 " "bcpl_cg5$OutData" 5a 000011 000033 000000 L126: 3a 000012 777766 000046 " "bcpl_cg3$Literal" 5a 000013 000043 000000 L102: 3a 000014 777764 000046 " "bcpl_cg5$Outop2" 5a 000015 000050 000000 L97: 3a 000016 777762 000046 " "bcpl_cg2$Complab" 5a 000017 000060 000000 L96: 3a 000020 777760 000046 " "bcpl_cg5$Outop" 5a 000021 000065 000000 L95: 3a 000022 777756 000046 " "bcpl_utility$Nextparam" 5a 000023 000077 000000 L93: 3a 000024 777754 000046 " "bcpl_cg5$Outop3" 5a 000025 000104 000000 L82: 3a 000026 777752 000046 " "bcpl_cg2$Compjump" 5a 000027 000112 000000 L35: 3a 000030 777750 000046 " "bcpl_cg2$DisclaimRegister" 5a 000031 000122 000000 L32: 3a 000032 777746 000046 " "bcpl_cg3$LoadRegister" 5a 000033 000131 000000 L31: 3a 000034 777744 000046 " "bcpl_cg5$SectionHeader" 5a 000035 000140 000000 L20: 3a 000036 777742 000046 " "bcpl_report$CGreport" 5a 000037 000151 000000 L13: 3a 000040 777740 000046 " "bcpl_cg2$EvalNumber" 5a 000041 000157 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 436321 304215 " 01/24/75 0656.0 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 000221 " rel_def, rel_link aa 000022 000230 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_cg6 aa 000027 023333 611410 " 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_cg6.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 147066 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 001165 " length in bits aa 000177 740565 170043 aa 000200 236032 647414 aa 000201 151702 332000 aa 000202 051701 532365 aa 000203 616474 205517 aa 000204 022723 601664 aa 000205 002474 037517 aa 000206 004323 611364 aa 000207 740635 170067 aa 000210 236032 647405 aa 000211 351702 072001 aa 000212 200005 170523 aa 000213 200005 000500 aa 000214 012360 146400 aa 000215 012024 740315 aa 000216 000517 006323 aa 000217 601164 740255 aa 000220 170076 000000 l " inkage relocation bits aa 000221 000000 000002 " version number of rel-bits structure aa 000222 000000 000264 " length in bits aa 000223 100002 204652 aa 000224 465246 524652 aa 000225 465246 524652 aa 000226 465246 524652 aa 000227 465246 524652 s " ymbol relocation bits aa 000230 000000 000002 " version number of rel-bits structure aa 000231 000000 000043 " length in bits aa 000232 740365 770666 " Object map aa 002567 000000 000001 " version number of object_map structure aa 002570 157142 152137 " "obj_map " aa 002571 155141 160040 aa 002572 000000 002107 " text offset, length aa 002573 002110 000162 " def offset, length aa 002574 002272 000042 " link offset, length aa 002575 002334 000233 " symbol offset, length aa 002576 000000 000000 " break map offset, length aa 002577 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 002600 002567 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