Compilation listing of file >udd>sm>ds>w>ml>bcpl_trans4.bcpl. Compilation performed for Schroth.SysMaint.m at 04/17/00 1920.9 mdt Mon. Compiled by BCPL version 3.5, March 1982. Compiler updated at 04/22/82 1732.8 mdt Thu. Options applied: source xref alist optimize 6180. 1 // Expression evaluation routines. 2 // Last modified on 06/06/74 at 18:26:51 by R F Mabee. 3 // Prepared for installation as part of Version 3.4 by R F Mabee. 4 // Greatly revised during 6180 bootstrap to simplify interface to code generator. 5 // First installed as Version 2.7, by R F Mabee. 6 7 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 8 9 // General permission is granted to copy and use this program, but not to sell it, provided that the above 10 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 11 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 12 13 get "bcpl_trans_head" 1 // Declarations for the semantic translator. 2 // Last modified on 04/02/74 at 16:02:39 by R F Mabee. 3 // Revised during 6180 bootstrap, and installed as Version 3.4 by R F Mabee. 4 // First installed as Version 2.7 by R F Mabee. 5 6 get "bcpl_compiler_head" 1 // Declarations common to the entire BCPL compiler. 2 // Last modified on 04/02/74 at 16:01:46 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 external 7 $( Readch = "bcpl_machine_code_$Readch" // Library routines used by the compiler. 8 Writech = "bcpl_machine_code_$Writech" 9 WriteS = "bcpl_stream_io_$WriteS" 10 WriteN = "bcpl_stream_io_$WriteN" 11 Format = "bcpl_stream_io_$Format" 12 Packstring = "bcpl_machine_code_$Packstring" 13 Unpackstring = "bcpl_machine_code_$Unpackstring" 14 RemoveEscapes = "bcpl_conversions_$RemoveEscapes" 15 EqualString = "bcpl_strings_$EqualString" 16 CompareStrings = "bcpl_strings_$CompareStrings" // Alphabetic comparison. 17 Concatenate = "bcpl_strings_$Concatenate" 18 ConvertStoN = "bcpl_conversions_$ConvertStoN" 19 ConvertNtoS = "bcpl_conversions_$ConvertNtoS" 20 Length = "bcpl_strings_$Length" // Number of characters. 21 LengthInWords = "bcpl_strings_$LengthInWords" // Length of packed string. 22 RandomI = "bcpl_arithmetic_$RandomI" 23 24 Newvec = "bcpl_utility$Newvec" // Utility routines used throughout the compiler. 25 Freevec = "bcpl_utility$Freevec" 26 List1 = "bcpl_utility$List1" 27 List2 = "bcpl_utility$List2" 28 List3 = "bcpl_utility$List3" 29 List4 = "bcpl_utility$List4" 30 List5 = "bcpl_utility$List5" 31 List6 = "bcpl_utility$List6" 32 StoreString = "bcpl_utility$StoreString" 33 PushInput = "bcpl_utility$PushInput" 34 PopInput = "bcpl_utility$PopInput" 35 MakeTimeString = "bcpl_utility$MakeTimeString" 36 Nextparam = "bcpl_utility$Nextparam" 37 FormCharconst = "bcpl_utility$FormCharconst" 38 FormStringconst = "bcpl_utility$FormStringconst" 39 40 CaeReport = "bcpl_report$CaeReport" 41 Transreport = "bcpl_report$Transreport" 42 CGreport = "bcpl_report$CGreport" 43 44 Nextsymb = "bcpl_lex0$Nextsymb" 45 46 SymbolName = "bcpl_plist$SymbolName" 47 FindPrintName = "bcpl_plist$FindPrintName" 48 EnterIntoCrossreference = "bcpl_plist$EnterIntoCrossreference" 49 50 GetVersion = "bcpl_version$GetVersion" // Routines used only by the driver. 51 UtilitiesInit = "bcpl_utility$UtilitiesInit" 52 Cleanup = "bcpl_utility$Cleanup" 53 GetStream = "bcpl_utility$GetStream" 54 55 CAE = "bcpl_cae0$CAE" 56 LexInit = "bcpl_lex0$LexInit" 57 58 Pname = "bcpl_plist$Pname" 59 Plist = "bcpl_plist$Plist" 60 61 Trans = "bcpl_trans0$Trans" 62 CgInit = "bcpl_cg0$CgInit" 63 BuildObject = "bcpl_cg0$BuildObject" 64 WriteObjectListing = "bcpl_cg0$WriteObjectListing" 65 $) 66 67 global // Globals are reserved in blocks as follows: 68 $( // 0 - 31 system 69 // 32 - 99 library 70 // 100 - 149 options and other common cells 71 // 150 - 159 metering cells 72 // 160 - 169 bcpl_utility 73 // 170 - 199 to be assigned 74 // 200 - 229 lexical phase 75 // 230 - 249 syntax analyzer 76 // 250 - 299 translator 77 // 300 - 399 code generator 78 79 // Cells used for communication with the library. 80 OUTPUT : 32 81 INPUT : 33 82 MONITOR : 34 83 Ch : 36 84 85 // Options for this compilation. 86 Listing : 100 87 UpperCase : 101 88 PPrep : 102 89 Crep : 103 90 Symbols : 104 91 LineMap : 105 92 Optimize : 106 93 Machine : 107 94 Xref : 108 95 OcodeSw : 109 96 HaveListingFile : 110 97 QuietSw : 111 98 99 // Other information about this compilation. 100 CompilerVersionString : 120 101 CompilerVersionNumber : 121 102 CompilerDTMString : 122 103 CompilerDTM : 123 104 TimeNowString : 124 105 TimeNow : 125 106 OptionString : 126 107 FileNames : 127 108 FilesInfo : 128 109 FileCount : 129 110 ProgramName : 130 111 UserID : 131 112 113 // Working variables needing global scope. 114 LineCount : 140 115 Errorsw : 141 116 NAMECHAIN : 142 117 Symb : 143 118 DictionaryEntry : 144 119 Column : 145 120 $) 121 manifest 122 $( GlobalTemp = 199 $) // Number of cell available for local, temporary use. 123 124 manifest 125 $( Left = 18; Right = $8777777 126 Endofstreamch = $87777 127 Even = $87777777777776 128 Vmax = 511 129 LineMask = $817777; FileShift = 13 // Breakdown of line count. 130 UnexpectedCase = 99 // Error code for use throughout compiler. 131 $) 7 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 04/02/74 at 16:02:26 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 manifest 8 $( AND_S = 1 9 ASSIGN_S = 2 10 BE_S = 3 11 BIT_S = 4 12 BREAK_S = 5 13 BY_S = 6 14 CALL_S = 07 15 CASE_S = 08 16 17 CHAR_S = 10 18 CHARCONST_S = 11 19 COLON_S = 12 20 COMMA_S = 13 21 COND_S = 14 22 CONSTANT_S = 15 23 CONSTDEF_S = 16 24 DEFAULT_S = 17 25 DIV_F = 18 26 27 DIV_S = 20 28 DO_S = 21 29 DOUBLE_S = 22 30 ENDCASE_S = 23 31 ENDPROG_S = 24 32 ERROR_S = 25 33 EQ_F = 26 34 EQ_S = 27 35 EQV_S = 28 36 37 EXTERNAL_S = 30 38 FALSE_S = 31 39 FINISH_S = 32 40 FIXED_S = 33 41 FLOAT_S = 34 42 FNAP_S = 35 43 FNDEF_S = 36 44 FOR_S = 37 45 GE_F = 38 46 47 GE_S = 40 48 GET_S = 41 49 GLOBAL_S = 42 50 GOTO_S = 43 51 GR_F = 44 52 GR_S = 45 53 IF_S = 46 54 IFNOT_S = 47 55 IFSO_S = 48 56 57 INTO_S = 50 58 LABDEF_S = 51 59 LABEL_S = 52 60 LE_F = 53 61 LE_S = 54 62 LENGTH_S = 55 63 LET_S = 56 64 LIST_S = 57 65 LOCAL_S = 58 66 67 LOGAND_S = 60 68 LOGOR_S = 61 69 LOOP_S = 62 70 LS_F = 63 71 LS_S = 64 72 LSHIFT_S = 65 73 LV_S = 66 74 LVECAP_S = 67 75 LV_ARG_OUT = 68 76 77 LV_FNAP_RESULT = 70 78 LV_GLOBAL = 71 79 LV_LOCAL = 72 80 LV_STATIC = 73 81 LV_TEMP = 74 82 MAIN_S = 75 83 MANIFEST_S = 76 84 MINUS_F = 77 85 MINUS_S = 78 86 87 MULT_F = 80 88 MULT_S = 81 89 NAME_S = 82 90 NEG_F = 83 91 NEG_S = 84 92 NEQV_S = 85 93 NE_F = 86 94 NE_S = 87 95 NIL_S = 88 96 97 NOT_S = 90 98 NUMBER_S = 91 99 OFFSET_S = 92 100 OR_S = 93 101 PLUS_F = 94 102 PLUS_S = 95 103 POINTER_S = 96 104 POS_F = 97 105 POS_S = 98 106 107 RBRA_S = 100 108 REGISTER_S = 101 109 REL_S = 102 110 REM_S = 103 111 REP_S = 104 112 REPEAT_S = 105 113 REPEATUNTIL_S = 106 114 REPEATWHILE_S = 107 115 RESULTIS_S = 108 116 117 RETURN_S = 110 118 RKET_S = 111 119 RSHIFT_S = 112 120 RTAP_S = 113 121 RTDEF_S = 114 122 RV_S = 115 123 SBRA_S = 116 124 SECTBEGIN_S = 117 125 SECTBRA_S = 118 126 127 SECTEND_S = 120 128 SECTKET_S = 121 129 SEMICOLON_S = 122 130 SKET_S = 123 131 STATIC_S = 124 132 STRING_S = 125 133 STRINGCONST_S = 126 134 STRUCTURE_S = 127 135 SWITCHON_S = 128 136 137 TABLE_S = 130 138 TEMP_S = 131 139 TEST_S = 132 140 TO_S = 133 141 TRUE_S = 134 142 TYPE_S = 135 143 UNLESS_S = 136 144 UNTIL_S = 137 145 VALDEF_S = 138 146 147 VALOF_S = 140 148 VEC_S = 141 149 VECAP_S = 142 150 WHILE_S = 143 151 $) 8 get "bcpl_trans_codes" 1 // Report codes for the translator phase. 2 // Last modified on 04/02/74 at 16:02:32 by R F Mabee. 3 // Revisions for 6180 bootstrap installed with Version 3.4, R F Mabee. 4 // First installed in Version 2.7 by R F Mabee. 5 6 manifest // 200 - 299 are reserved for Trans. 7 $( BadCall = 200 8 BadDescriptors = 201 9 BadLink = 202 10 Conformality = 203 11 DupDefault = 204 12 DupName = 205 13 FreeVar = 206 14 LmodeRequired = 207 15 NegVector = 208 16 17 NoLoop = 210 18 NoSwitch = 211 19 NotConstant = 212 20 NotInsideRtdef = 213 21 NotName = 214 22 NoValof = 215 23 UndefName = 216 24 UnrecognizedExpression= 217 25 $) 9 10 external 11 $( Transbody = "bcpl_trans1$Transbody" // The routines of Trans. 12 13 Transdef = "bcpl_trans2$Transdef" 14 Addlocal = "bcpl_trans2$Addlocal" 15 Declitem = "bcpl_trans2$Declitem" 16 Declnames = "bcpl_trans2$Declnames" 17 Decllabels = "bcpl_trans2$Decllabels" 18 Checkdistinct = "bcpl_trans2$Checkdistinct" 19 Cellwithname = "bcpl_trans2$Cellwithname" 20 Removenames = "bcpl_trans2$Removenames" 21 22 TransConditional = "bcpl_trans3$TransConditional" 23 TransFor = "bcpl_trans3$TransFor" 24 WalkList = "bcpl_trans3$WalkList" 25 ListSize = "bcpl_trans3$ListSize" 26 Assignlist = "bcpl_trans3$Assignlist" 27 Target = "bcpl_trans3$Target" 28 TransLoop = "bcpl_trans3$TransLoop" 29 30 CompileExpression = "bcpl_trans4$CompileExpression" 31 CompileOperand = "bcpl_trans4$CompileOperand" 32 SetResult = "bcpl_trans4$SetResult" 33 34 Evalconst = "bcpl_trans5$Evalconst" 35 PartialEvalconst = "bcpl_trans5$PartialEvalconst" 36 IsConst = "bcpl_trans5$IsConst" 37 EvaluateOperator = "bcpl_trans5$EvaluateOperator" 38 CountTemporaries = "bcpl_trans5$CountTemporaries" 39 IsRelational = "bcpl_trans5$IsRelational" 40 41 ResetSSP = "bcpl_trans6$ResetSSP" 42 AllocateLocal = "bcpl_trans6$AllocateLocal" 43 DeallocateLocal = "bcpl_trans6$DeallocateLocal" 44 MakeTemp = "bcpl_trans6$MakeTemp" 45 MakeCopy = "bcpl_trans6$MakeCopy" 46 PutBackTemps = "bcpl_trans6$PutBackTemps" 47 TransFnap = "bcpl_trans6$TransFnap" 48 TransSystemCall = "bcpl_trans6$TransSystemCall" 49 50 GenerateLabel = "bcpl_cg_interface$GenerateLabel" 51 GenerateJump = "bcpl_cg_interface$GenerateJump" 52 GenerateRtdefBegin = "bcpl_cg_interface$GenerateRtdefBegin" 53 GenerateRtdefEnd = "bcpl_cg_interface$GenerateRtdefEnd" 54 ReserveArglist = "bcpl_cg_interface$ReserveArglist" 55 GenerateArg = "bcpl_cg_interface$GenerateArg" 56 GenerateFnap = "bcpl_cg_interface$GenerateFnap" 57 ReserveSystemArglist = "bcpl_cg_interface$ReserveSystemArglist" 58 GenerateSystemArg = "bcpl_cg_interface$GenerateSystemArg" 59 GenerateSystemCall = "bcpl_cg_interface$GenerateSystemCall" 60 GenerateResultBlock = "bcpl_cg_interface$GenerateResultBlock" 61 GenerateResultValue = "bcpl_cg_interface$GenerateResultValue" 62 GenerateClaimResult = "bcpl_cg_interface$GenerateClaimResult" 63 GenerateGoto = "bcpl_cg_interface$GenerateGoto" 64 GenerateFinish = "bcpl_cg_interface$GenerateFinish" 65 GenerateSwitch = "bcpl_cg_interface$GenerateSwitch" 66 GenerateMonadicOperator = "bcpl_cg_interface$GenerateMonadicOperator" 67 GenerateDiadicOperator = "bcpl_cg_interface$GenerateDiadicOperator" 68 GenerateOffsetOperator = "bcpl_cg_interface$GenerateOffsetOperator" 69 GenerateMonadicConditional = "bcpl_cg_interface$GenerateMonadicConditional" 70 GenerateDiadicConditional = "bcpl_cg_interface$GenerateDiadicConditional" 71 GenerateSSP = "bcpl_cg_interface$GenerateSSP" 72 GenerateLineNumber = "bcpl_cg_interface$GenerateLineNumber" 73 StoreAll = "bcpl_cg_interface$StoreAll" 74 CgFinish = "bcpl_cg_interface$CgFinish" 75 $) 76 global // 250 - 299 are reserved for Trans. 77 $( ArgInfo : 250 78 BreakLabel : 251 79 CaseFirst : 252 80 CaseList : 253 81 DefaultLabel : 254 82 DefList : 255 83 DvecC : 246 84 DvecP : 257 85 EndcaseLabel : 258 86 87 EnvBase : 260 88 FreeLocalList : 261 89 InsideRtdef : 262 90 LHSpointer : 263 91 LoopFlag : 264 92 LoopLabel : 265 93 PendingTemps : 266 94 ReturnLabel : 267 95 RtdefList : 268 96 97 RtdefNesting : 270 98 SSP : 271 99 StaticAllocationCounter : 272 100 StaticFirst : 273 101 StaticList : 274 102 SwitchFlag : 275 103 TableCell : 276 104 ValofFlag : 277 105 ValofLabel : 278 106 $) 107 manifest 108 $( DescSize = 2 109 DvecSize = 4 110 $) 14 get "bcpl_metering_head" 1 // Variables and constants for use in measuring performance of the various parts of the BCPL compiler. 2 // Last modified on 04/02/74 at 16:02:05 by R F Mabee. 3 // First installed with Version 3.4 by R F Mabee. 4 // Written in April 1973 to obtain detailed info about compiler performance. 5 6 external 7 $( SaveOldUsage = "bcpl_utility$SaveOldUsage" 8 RecordUsage = "bcpl_utility$RecordUsage" 9 PrintMeters = "bcpl_meter_print$PrintMeters" 10 $) 11 12 global 13 $( Metering : 150 14 MeterData : 151 15 DictionaryDepth : 152 16 TotalLines : 153 17 TotalWords : 154 18 $) 19 20 manifest 21 $( DriverOverhead_Meter = 0 22 SyntaxAnalysis_Meter = 3 23 Nextsymb_Meter = 6 24 ProcessGet_Meter = 9 25 SymbolAdd_Meter = 12 26 SymbolSearch_Meter = 15 27 RchWithoutListing_Meter = 18 28 RchWithListing_Meter = 21 29 PrintXref_Meter = 24 30 MakeObject_Meter = 27 31 CompileSwitchWithoutOptimizing_Meter = 30 32 CompileSwitchWithOptimizing_Meter = 33 33 SemanticTranslation_Meter = 36 34 CodeGeneration_Meter = 39 35 CompileExpression_Meter = 42 36 MeteringOverhead_Meter = 45 37 TotalLines_Count = 48 38 TextWords_Count = 49 39 DictionaryDepth_Count = 50 40 Meters_Length = 51 41 $) 15 16 17 let CompileExpression (Result, x) be 18 $( let UsageTemp = nil 19 if Metering do UsageTemp := SaveOldUsage () 20 let Op = x!0 & Right 21 switchon Op into 22 $( default: Transreport (UnrecognizedExpression, x) 23 case NIL_S: 24 endcase 25 26 case NAME_S: 27 case NUMBER_S: 28 case CHARCONST_S: 29 case STRINGCONST_S: 30 case CONSTANT_S: 31 case TRUE_S: 32 case FALSE_S: 33 case LV_S: 34 case VEC_S: 35 case LIST_S: 36 case TABLE_S: 37 case LOCAL_S: 38 Monadic (ASSIGN_S, Result, x) 39 endcase 40 41 case POS_S: case POS_F: 42 case NEG_S: case NEG_F: 43 case NOT_S: 44 if Optimize then if IsConst (x) goto AssignConstant 45 Monadic (Op, Result, x!1) 46 endcase 47 48 AssignConstant: 49 Monadic (ASSIGN_S, Result, x) 50 endcase 51 52 53 case PLUS_S: case PLUS_F: 54 case MINUS_S: case MINUS_F: 55 case MULT_S: case MULT_F: 56 case DIV_S: case DIV_F: 57 case REM_S: 58 case LOGOR_S: 59 case LOGAND_S: 60 case EQV_S: 61 case NEQV_S: 62 if Optimize then if IsConst (x) goto AssignConstant 63 $( let Order = DecideOrder (Result, x!1, x!2) 64 and Desc1, Desc2, Desc3 = vec DescSize, vec DescSize, vec DescSize 65 for i = 1 to 3 do 66 $( test (Order & $81) ne 0 67 then CompileLmode (Result, Desc1) 68 or test (Order & $82) ne 0 69 then CompileOperand (x!1, Desc2) 70 or CompileOperand (x!2, Desc3) 71 Order := Order rshift 3 72 $) 73 GenerateDiadicOperator (Op, Desc1, Desc2, Desc3) 74 endcase 75 $) 76 77 case LSHIFT_S: 78 case RSHIFT_S: 79 case VECAP_S: 80 CompileWithOffset (Op, Result, x!1, x!2) 81 endcase 82 83 case RV_S: 84 $( let Zero = list CONSTANT_S, 0 85 CompileWithOffset (VECAP_S, Result, x!1, Zero) 86 endcase 87 $) 88 89 case REL_S: $( let T, F = TRUE_S, FALSE_S 90 let Xprime = list COND_S, x, lv T, lv F 91 CompileExpression (Result, Xprime) 92 endcase 93 $) 94 95 case COND_S: 96 if Optimize then if IsConst (x!1) do 97 $( let B = Evalconst (x!1) 98 CompileExpression (Result, (B -> x!2, x!3)) 99 endcase 100 $) 101 102 $( let L, M = Nextparam (), Nextparam () 103 GenerateResultBlock () 104 TransConditional (x!1, false, L) 105 SetResult (x!2) 106 GenerateJump (M) 107 GenerateLabel (L) 108 SetResult (x!3) 109 GenerateLabel (M) 110 ClaimResult (Result) 111 endcase 112 $) 113 114 case VALOF_S: 115 $( let s = SSP 116 let Rl, Rf = ValofLabel, ValofFlag 117 ValofLabel, ValofFlag := Nextparam (), true 118 GenerateResultBlock () 119 Transbody (x!1) 120 GenerateLabel (ValofLabel) 121 ClaimResult (Result) 122 ValofLabel, ValofFlag := Rl, Rf 123 ResetSSP (s) 124 endcase 125 $) 126 127 case FNAP_S: 128 $( let Desc1, Desc2 = vec DescSize, vec DescSize 129 test (Result!0 & Right) = NAME_S 130 then $( CompileLmode (Result, Desc1) 131 TransFnap (Desc1, x!1, x!2) 132 $) 133 or $( let T = MakeTemp () 134 CompileLmode (T, Desc1) 135 TransFnap (Desc1, x!1, x!2) 136 Monadic (ASSIGN_S, Result, T) 137 $) 138 endcase 139 $) 140 $) 141 if Metering do RecordUsage (CompileExpression_Meter, UsageTemp) 142 $) 143 and Monadic (Op, Result, x) be 144 $( let Desc1, Desc2 = vec DescSize, vec DescSize 145 and Order = ChooseOrder (CountTemporaries (Result), CountTemporaries (x)) 146 if Order do CompileLmode (Result, Desc1) 147 CompileOperand (x, Desc2) 148 unless Order do CompileLmode (Result, Desc1) 149 GenerateMonadicOperator (Op, Desc1, Desc2) 150 $) 151 and ChooseOrder (a, b) = a = b -> (RandomI () & $81) = 0, a > b 152 and DecideOrder (a, b, c) = valof 153 $( let Min, Max = 0, 0 154 and T = list CountTemporaries (a), CountTemporaries (b), CountTemporaries (c) 155 for i = 1 to 2 test ChooseOrder (T!i, T!Max) then Max := i 156 or unless ChooseOrder (T!i, T!Min) do Min := i 157 if Min = Max do Min := (Max + 1) rem 3 158 let Middle = 3 - Min - Max 159 resultis ($81 lshift (Min + 6)) | ($81 lshift (Middle + 3)) | ($81 lshift Max) 160 $) 161 162 and SetResult (x) be 163 $( let Desc = vec DescSize 164 CompileOperand (x, Desc) 165 GenerateResultValue (Desc) 166 $) 167 and ClaimResult (x) be 168 $( let T, Desc = MakeTemp (), vec DescSize 169 CompileLmode (T, Desc) 170 GenerateClaimResult (Desc) 171 Monadic (ASSIGN_S, x, T) 172 $) 173 174 and CompileOperand (x, Desc) be 175 $( let Op = x!0 & Right 176 switchon Op into 177 $( case NAME_S: 178 let T = Cellwithname (x) 179 Desc!0, Desc!1, Desc!2 := T!1, T!2, x!1 180 if Desc!0 = LOCAL_S do 181 $( unless (Desc!1 rshift Left) = RtdefNesting do Transreport (FreeVar, x) 182 Desc!1 := Desc!1 & Right 183 $) 184 return 185 186 case LOCAL_S: 187 case TEMP_S: 188 Desc!0, Desc!1, Desc!2 := Op, x!1, 0 189 return 190 191 case NUMBER_S: 192 case CHARCONST_S: 193 case STRINGCONST_S: 194 Desc!0, Desc!1, Desc!2 := Op, x!1, x!1 195 return 196 197 case CONSTANT_S: 198 Desc!0, Desc!1, Desc!2 := CONSTANT_S, x!1, 0 199 return 200 201 case TRUE_S: 202 Desc!0, Desc!1, Desc!2 := TRUE_S, true, "true" 203 return 204 205 case FALSE_S: 206 Desc!0, Desc!1, Desc!2 := FALSE_S, false, "false" 207 return 208 209 case LV_S: 210 CompileLmode (x!1, Desc) 211 return 212 213 case VEC_S: 214 let n = Evalconst (x!1) 215 if n < 0 do 216 $( Transreport (NegVector, x!1) 217 n := 0 218 $) 219 let p = AllocateLocal (n + 1) 220 Desc!0, Desc!1, Desc!2 := LV_LOCAL, p, "a vector" 221 return 222 223 case LIST_S: 224 p := AllocateLocal (ListSize (x!1)) 225 WalkList (x!1, LoadListItem, p) 226 Desc!0, Desc!1, Desc!2 := LV_LOCAL, p, "a list" 227 return 228 229 case TABLE_S: 230 n := ListSize (x!1) 231 p := TableCell 232 TableCell := Newvec (n * 2) 233 TableCell!0 := n 234 WalkList (x!1, StoreTableItem, 0) 235 Desc!0, Desc!1, Desc!2 := TABLE_S, TableCell, "a table" 236 TableCell := p 237 return 238 239 default: if Optimize then if IsConst (x) do 240 $( Desc!0, Desc!1, Desc!2 := CONSTANT_S, Evalconst (x), 0 241 return 242 $) 243 let Result = MakeTemp () 244 CompileExpression (Result, x) 245 CompileOperand (Result, Desc) 246 return 247 $) 248 $) 249 and LoadListItem (x, p) be 250 $( let Cell = list LOCAL_S, p 251 CompileExpression (Cell, x) 252 $) 253 and StoreTableItem (x, n) be 254 PartialEvalconst (x, lv TableCell!(n * 2 + 1)) 255 256 and CompileLmode (x, Desc) be 257 switchon x!0 & Right into 258 $( case RV_S: 259 CompileOperand (x!1, Desc) 260 return 261 262 case VECAP_S: 263 let Result = MakeTemp () 264 CompileWithOffset (LVECAP_S, Result, x!1, x!2) 265 CompileOperand (Result, Desc) 266 return 267 268 case NAME_S: 269 let T = Cellwithname (x) 270 Desc!1, Desc!2 := T!2, x!1 271 Desc!0 := valof switchon T!1 into 272 $( case GLOBAL_S: 273 resultis LV_GLOBAL 274 case STATIC_S: 275 resultis LV_STATIC 276 case LOCAL_S: 277 unless (Desc!1 rshift Left) = RtdefNesting do Transreport (FreeVar, x) 278 Desc!1 := Desc!1 & Right 279 resultis LV_LOCAL 280 default: Transreport (LmodeRequired, x) 281 resultis T!1 282 $) 283 return 284 285 case LOCAL_S: 286 case TEMP_S: 287 Desc!0, Desc!1, Desc!2 := ((x!0 & Right) = LOCAL_S -> LV_LOCAL, LV_TEMP), x!1, 0 288 return 289 290 default: Transreport (LmodeRequired, x) 291 CompileOperand (x, Desc) 292 $) 293 294 and CompileWithOffset (Op, Result, a, b) be 295 $( let Desc1, Desc2, Desc3 = vec DescSize, vec DescSize, vec DescSize 296 and Order = DecideOrder (Result, a, b) 297 and Offset = 0 298 for i = 1 to 3 do 299 $( test (Order & $81) ne 0 300 then CompileLmode (Result, Desc1) 301 or test (Order & $82) ne 0 302 then CompileOperand (a, Desc2) 303 or CompileOffsetOperand (b, Desc3, lv Offset) 304 Order := Order rshift 3 305 $) 306 GenerateOffsetOperator (Op, Desc1, Desc2, Desc3, Offset) 307 $) 308 and CompileOffsetOperand (x, Desc, LvN) be 309 $( let Op = Op 310 switchon Op into 311 $( case PLUS_S: 312 if Optimize then if IsConst (x!1) do 313 $( CompileOffsetOperand (x!2, Desc, LvN) 314 rv LvN := EvaluateOperator (PLUS_S, Evalconst (x!1), rv LvN) 315 endcase 316 $) 317 318 case MINUS_S: 319 if Optimize then if IsConst (x!2) do 320 $( CompileOffsetOperand (x!1, Desc, LvN) 321 rv LvN := EvaluateOperator (Op, rv LvN, Evalconst (x!2)) 322 endcase 323 $) 324 325 default: if Optimize then if IsConst (x) do 326 $( Desc!0, Desc!1, Desc!2 := CONSTANT_S, 0, 0 327 rv LvN := Evalconst (x) 328 endcase 329 $) 330 CompileOperand (x, Desc) 331 rv LvN := 0 332 $) 333 $) CAE time 3.8, 206 source lines per second. cross reference table a bcpl_trans4: 151, 151, 151, 152, 154, 294, 296, 302 Addlocal bcpl_trans_head: 14 AllocateLocal bcpl_trans_head: 42, bcpl_trans4: 219, 224 AND_S bcpl_symbols: 8 ArgInfo bcpl_trans_head: 77 AssignConstant bcpl_trans4: 44, 48, 62 Assignlist bcpl_trans_head: 26 ASSIGN_S bcpl_symbols: 9, bcpl_trans4: 38, 49, 136, 171 B bcpl_trans4: 97, 98 b bcpl_trans4: 151, 151, 151, 152, 154, 294, 296, 303 BadCall bcpl_trans_codes: 7 BadDescriptors bcpl_trans_codes: 8 BadLink bcpl_trans_codes: 9 BE_S bcpl_symbols: 10 BIT_S bcpl_symbols: 11 BreakLabel bcpl_trans_head: 78 BREAK_S bcpl_symbols: 12 BuildObject bcpl_compiler_head: 63 BY_S bcpl_symbols: 13 c bcpl_trans4: 152, 154 CAE bcpl_compiler_head: 55 CaeReport bcpl_compiler_head: 40 CALL_S bcpl_symbols: 14 CaseFirst bcpl_trans_head: 79 CaseList bcpl_trans_head: 80 CASE_S bcpl_symbols: 15 Cell bcpl_trans4: 250, 251 Cellwithname bcpl_trans_head: 19, bcpl_trans4: 178, 269 CgFinish bcpl_trans_head: 74 CgInit bcpl_compiler_head: 62 CGreport bcpl_compiler_head: 42 Ch bcpl_compiler_head: 83 CHARCONST_S bcpl_symbols: 18, bcpl_trans4: 28, 192 CHAR_S bcpl_symbols: 17 Checkdistinct bcpl_trans_head: 18 ChooseOrder bcpl_trans4: 145, 151, 155, 156 ClaimResult bcpl_trans4: 110, 121, 167 Cleanup bcpl_compiler_head: 52 CodeGeneration_Meter bcpl_metering_head: 34 COLON_S bcpl_symbols: 19 Column bcpl_compiler_head: 119 COMMA_S bcpl_symbols: 20 CompareStrings bcpl_compiler_head: 16 CompileExpression bcpl_trans_head: 30, bcpl_trans4: 17, 91, 98, 244, 251 CompileExpression_Meter bcpl_metering_head: 35, bcpl_trans4: 141 CompileLmode bcpl_trans4: 67, 130, 134, 146, 148, 169, 210, 256, 300 CompileOffsetOperand bcpl_trans4: 303, 308, 313, 320 CompileOperand bcpl_trans_head: 31, bcpl_trans4: 69, 70, 147, 164, 174, 245, 259, 265, 291, 302, 330 CompilerDTM bcpl_compiler_head: 103 CompilerDTMString bcpl_compiler_head: 102 CompilerVersionNumber bcpl_compiler_head: 101 CompilerVersionString bcpl_compiler_head: 100 CompileSwitchWithOptimizing_Meter bcpl_metering_head: 32 CompileSwitchWithoutOptimizing_Meter bcpl_metering_head: 31 CompileWithOffset bcpl_trans4: 80, 85, 264, 294 Concatenate bcpl_compiler_head: 17 COND_S bcpl_symbols: 21, bcpl_trans4: 90, 95 Conformality bcpl_trans_codes: 10 CONSTANT_S bcpl_symbols: 22, bcpl_trans4: 30, 84, 197, 198, 240, 326 CONSTDEF_S bcpl_symbols: 23 ConvertNtoS bcpl_compiler_head: 19 ConvertStoN bcpl_compiler_head: 18 CountTemporaries bcpl_trans_head: 38, bcpl_trans4: 145, 145, 154, 154, 154 Crep bcpl_compiler_head: 89 DeallocateLocal bcpl_trans_head: 43 DecideOrder bcpl_trans4: 63, 152, 296 Declitem bcpl_trans_head: 15 Decllabels bcpl_trans_head: 17 Declnames bcpl_trans_head: 16 DefaultLabel bcpl_trans_head: 81 DEFAULT_S bcpl_symbols: 24 DefList bcpl_trans_head: 82 Desc bcpl_trans4: 163, 164, 165, 168, 169, 170, 174, 179, 179, 179, 180, 181, 182, 182, 188, 188, 188, 194, 194, 194, 198, 198, 198, 202, 202, 202, 206, 206, 206, 210, 220, 220, 220, 226, 226, 226, 235, 235, 235, 240, 240, 240, 245, 256, 259, 265, 270, 270, 271, 277, 278, 278, 287, 287, 287, 291, 308, 313, 320, 326, 326, 326, 330 Desc1 bcpl_trans4: 64, 67, 73, 128, 130, 131, 134, 135, 144, 146, 148, 149, 295, 300, 306 Desc2 bcpl_trans4: 64, 69, 73, 128, 144, 147, 149, 295, 302, 306 Desc3 bcpl_trans4: 64, 70, 73, 295, 303, 306 DescSize bcpl_trans_head: 108, bcpl_trans4: 64, 64, 64, 128, 128, 144, 144, 163, 168, 295, 295, 295 DictionaryDepth bcpl_metering_head: 15 DictionaryDepth_Count bcpl_metering_head: 39 DictionaryEntry bcpl_compiler_head: 118 DIV_F bcpl_symbols: 25, bcpl_trans4: 56 DIV_S bcpl_symbols: 27, bcpl_trans4: 56 DOUBLE_S bcpl_symbols: 29 DO_S bcpl_symbols: 28 DriverOverhead_Meter bcpl_metering_head: 21 DupDefault bcpl_trans_codes: 11 DupName bcpl_trans_codes: 12 DvecC bcpl_trans_head: 83 DvecP bcpl_trans_head: 84 DvecSize bcpl_trans_head: 109 EndcaseLabel bcpl_trans_head: 85 ENDCASE_S bcpl_symbols: 30 Endofstreamch bcpl_compiler_head: 126 ENDPROG_S bcpl_symbols: 31 EnterIntoCrossreference bcpl_compiler_head: 48 EnvBase bcpl_trans_head: 87 EqualString bcpl_compiler_head: 15 EQV_S bcpl_symbols: 35, bcpl_trans4: 60 EQ_F bcpl_symbols: 33 EQ_S bcpl_symbols: 34 Errorsw bcpl_compiler_head: 115 ERROR_S bcpl_symbols: 32 Evalconst bcpl_trans_head: 34, bcpl_trans4: 97, 214, 240, 314, 321, 327 EvaluateOperator bcpl_trans_head: 37, bcpl_trans4: 314, 321 Even bcpl_compiler_head: 127 EXTERNAL_S bcpl_symbols: 37 F bcpl_trans4: 89, 90 FALSE_S bcpl_symbols: 38, bcpl_trans4: 32, 89, 205, 206 FileCount bcpl_compiler_head: 109 FileNames bcpl_compiler_head: 107 FileShift bcpl_compiler_head: 129 FilesInfo bcpl_compiler_head: 108 FindPrintName bcpl_compiler_head: 47 FINISH_S bcpl_symbols: 39 FIXED_S bcpl_symbols: 40 FLOAT_S bcpl_symbols: 41 FNAP_S bcpl_symbols: 42, bcpl_trans4: 127 FNDEF_S bcpl_symbols: 43 Format bcpl_compiler_head: 11 FormCharconst bcpl_compiler_head: 37 FormStringconst bcpl_compiler_head: 38 FOR_S bcpl_symbols: 44 FreeLocalList bcpl_trans_head: 88 FreeVar bcpl_trans_codes: 13, bcpl_trans4: 181, 277 Freevec bcpl_compiler_head: 25 GenerateArg bcpl_trans_head: 55 GenerateClaimResult bcpl_trans_head: 62, bcpl_trans4: 170 GenerateDiadicConditional bcpl_trans_head: 70 GenerateDiadicOperator bcpl_trans_head: 67, bcpl_trans4: 73 GenerateFinish bcpl_trans_head: 64 GenerateFnap bcpl_trans_head: 56 GenerateGoto bcpl_trans_head: 63 GenerateJump bcpl_trans_head: 51, bcpl_trans4: 106 GenerateLabel bcpl_trans_head: 50, bcpl_trans4: 107, 109, 120 GenerateLineNumber bcpl_trans_head: 72 GenerateMonadicConditional bcpl_trans_head: 69 GenerateMonadicOperator bcpl_trans_head: 66, bcpl_trans4: 149 GenerateOffsetOperator bcpl_trans_head: 68, bcpl_trans4: 306 GenerateResultBlock bcpl_trans_head: 60, bcpl_trans4: 103, 118 GenerateResultValue bcpl_trans_head: 61, bcpl_trans4: 165 GenerateRtdefBegin bcpl_trans_head: 52 GenerateRtdefEnd bcpl_trans_head: 53 GenerateSSP bcpl_trans_head: 71 GenerateSwitch bcpl_trans_head: 65 GenerateSystemArg bcpl_trans_head: 58 GenerateSystemCall bcpl_trans_head: 59 GetStream bcpl_compiler_head: 53 GetVersion bcpl_compiler_head: 50 GET_S bcpl_symbols: 48 GE_F bcpl_symbols: 45 GE_S bcpl_symbols: 47 GlobalTemp bcpl_compiler_head: 122 GLOBAL_S bcpl_symbols: 49, bcpl_trans4: 272 GOTO_S bcpl_symbols: 50 GR_F bcpl_symbols: 51 GR_S bcpl_symbols: 52 HaveListingFile bcpl_compiler_head: 96 i bcpl_trans4: 65, 155, 155, 155, 156, 156, 298 IFNOT_S bcpl_symbols: 54 IFSO_S bcpl_symbols: 55 IF_S bcpl_symbols: 53 INPUT bcpl_compiler_head: 81 InsideRtdef bcpl_trans_head: 89 INTO_S bcpl_symbols: 57 IsConst bcpl_trans_head: 36, bcpl_trans4: 44, 62, 96, 239, 312, 319, 325 IsRelational bcpl_trans_head: 39 L bcpl_trans4: 102, 104, 107 LABDEF_S bcpl_symbols: 58 LABEL_S bcpl_symbols: 59 Left bcpl_compiler_head: 125, bcpl_trans4: 181, 277 Length bcpl_compiler_head: 20 LengthInWords bcpl_compiler_head: 21 LENGTH_S bcpl_symbols: 62 LET_S bcpl_symbols: 63 LexInit bcpl_compiler_head: 56 LE_F bcpl_symbols: 60 LE_S bcpl_symbols: 61 LHSpointer bcpl_trans_head: 90 LineCount bcpl_compiler_head: 114 LineMap bcpl_compiler_head: 91 LineMask bcpl_compiler_head: 129 List1 bcpl_compiler_head: 26 List2 bcpl_compiler_head: 27 List3 bcpl_compiler_head: 28 List4 bcpl_compiler_head: 29 List5 bcpl_compiler_head: 30 List6 bcpl_compiler_head: 31 Listing bcpl_compiler_head: 86 ListSize bcpl_trans_head: 25, bcpl_trans4: 224, 230 LIST_S bcpl_symbols: 64, bcpl_trans4: 35, 223 LmodeRequired bcpl_trans_codes: 14, bcpl_trans4: 280, 290 LoadListItem bcpl_trans4: 225, 249 LOCAL_S bcpl_symbols: 65, bcpl_trans4: 37, 180, 186, 250, 276, 285, 287 LOGAND_S bcpl_symbols: 67, bcpl_trans4: 59 LOGOR_S bcpl_symbols: 68, bcpl_trans4: 58 LoopFlag bcpl_trans_head: 91 LoopLabel bcpl_trans_head: 92 LOOP_S bcpl_symbols: 69 LSHIFT_S bcpl_symbols: 72, bcpl_trans4: 77 LS_F bcpl_symbols: 70 LS_S bcpl_symbols: 71 LVECAP_S bcpl_symbols: 74, bcpl_trans4: 264 LvN bcpl_trans4: 308, 313, 314, 314, 320, 321, 321, 327, 331 LV_ARG_OUT bcpl_symbols: 75 LV_FNAP_RESULT bcpl_symbols: 77 LV_GLOBAL bcpl_symbols: 78, bcpl_trans4: 273 LV_LOCAL bcpl_symbols: 79, bcpl_trans4: 220, 226, 279, 287 LV_S bcpl_symbols: 73, bcpl_trans4: 33, 209 LV_STATIC bcpl_symbols: 80, bcpl_trans4: 275 LV_TEMP bcpl_symbols: 81, bcpl_trans4: 287 M bcpl_trans4: 102, 106, 109 Machine bcpl_compiler_head: 93 MAIN_S bcpl_symbols: 82 MakeCopy bcpl_trans_head: 45 MakeObject_Meter bcpl_metering_head: 30 MakeTemp bcpl_trans_head: 44, bcpl_trans4: 133, 168, 243, 263 MakeTimeString bcpl_compiler_head: 35 MANIFEST_S bcpl_symbols: 83 Max bcpl_trans4: 153, 155, 155, 157, 157, 158, 159 MeterData bcpl_metering_head: 14 Metering bcpl_metering_head: 13, bcpl_trans4: 19, 141 MeteringOverhead_Meter bcpl_metering_head: 36 Meters_Length bcpl_metering_head: 40 Middle bcpl_trans4: 158, 159 Min bcpl_trans4: 153, 156, 156, 157, 157, 158, 159 MINUS_F bcpl_symbols: 84, bcpl_trans4: 54 MINUS_S bcpl_symbols: 85, bcpl_trans4: 54, 318 Monadic bcpl_trans4: 38, 45, 49, 136, 143, 171 MONITOR bcpl_compiler_head: 82 MULT_F bcpl_symbols: 87, bcpl_trans4: 55 MULT_S bcpl_symbols: 88, bcpl_trans4: 55 n bcpl_trans4: 214, 215, 217, 219, 230, 232, 233, 253, 254 NAMECHAIN bcpl_compiler_head: 116 NAME_S bcpl_symbols: 89, bcpl_trans4: 26, 129, 177, 268 NegVector bcpl_trans_codes: 15, bcpl_trans4: 216 NEG_F bcpl_symbols: 90, bcpl_trans4: 42 NEG_S bcpl_symbols: 91, bcpl_trans4: 42 NEQV_S bcpl_symbols: 92, bcpl_trans4: 61 Newvec bcpl_compiler_head: 24, bcpl_trans4: 232 Nextparam bcpl_compiler_head: 36, bcpl_trans4: 102, 102, 117 Nextsymb bcpl_compiler_head: 44 Nextsymb_Meter bcpl_metering_head: 23 NE_F bcpl_symbols: 93 NE_S bcpl_symbols: 94 NIL_S bcpl_symbols: 95, bcpl_trans4: 23 NoLoop bcpl_trans_codes: 17 NoSwitch bcpl_trans_codes: 18 NotConstant bcpl_trans_codes: 19 NotInsideRtdef bcpl_trans_codes: 20 NotName bcpl_trans_codes: 21 NOT_S bcpl_symbols: 97, bcpl_trans4: 43 NoValof bcpl_trans_codes: 22 NUMBER_S bcpl_symbols: 98, bcpl_trans4: 27, 191 OcodeSw bcpl_compiler_head: 95 Offset bcpl_trans4: 297, 303, 306 OFFSET_S bcpl_symbols: 99 Op bcpl_trans4: 20, 21, 45, 73, 80, 143, 149, 175, 176, 188, 194, 294, 306, 309, 309, 310, 321 Optimize bcpl_compiler_head: 92, bcpl_trans4: 44, 62, 96, 239, 312, 319, 325 OptionString bcpl_compiler_head: 106 Order bcpl_trans4: 63, 66, 68, 71, 71, 145, 146, 148, 296, 299, 301, 304, 304 OR_S bcpl_symbols: 100 OUTPUT bcpl_compiler_head: 80 p bcpl_trans4: 219, 220, 224, 225, 226, 231, 236, 249, 250 Packstring bcpl_compiler_head: 12 PartialEvalconst bcpl_trans_head: 35, bcpl_trans4: 254 PendingTemps bcpl_trans_head: 93 Plist bcpl_compiler_head: 59 PLUS_F bcpl_symbols: 101, bcpl_trans4: 53 PLUS_S bcpl_symbols: 102, bcpl_trans4: 53, 311, 314 Pname bcpl_compiler_head: 58 POINTER_S bcpl_symbols: 103 PopInput bcpl_compiler_head: 34 POS_F bcpl_symbols: 104, bcpl_trans4: 41 POS_S bcpl_symbols: 105, bcpl_trans4: 41 PPrep bcpl_compiler_head: 88 PrintMeters bcpl_metering_head: 9 PrintXref_Meter bcpl_metering_head: 29 ProcessGet_Meter bcpl_metering_head: 24 ProgramName bcpl_compiler_head: 110 PushInput bcpl_compiler_head: 33 PutBackTemps bcpl_trans_head: 46 QuietSw bcpl_compiler_head: 97 RandomI bcpl_compiler_head: 22, bcpl_trans4: 151 RBRA_S bcpl_symbols: 107 RchWithListing_Meter bcpl_metering_head: 28 RchWithoutListing_Meter bcpl_metering_head: 27 Readch bcpl_compiler_head: 7 RecordUsage bcpl_metering_head: 8, bcpl_trans4: 141 REGISTER_S bcpl_symbols: 108 REL_S bcpl_symbols: 109, bcpl_trans4: 89 RemoveEscapes bcpl_compiler_head: 14 Removenames bcpl_trans_head: 20 REM_S bcpl_symbols: 110, bcpl_trans4: 57 REPEATUNTIL_S bcpl_symbols: 113 REPEATWHILE_S bcpl_symbols: 114 REPEAT_S bcpl_symbols: 112 REP_S bcpl_symbols: 111 ReserveArglist bcpl_trans_head: 54 ReserveSystemArglist bcpl_trans_head: 57 ResetSSP bcpl_trans_head: 41, bcpl_trans4: 123 Result bcpl_trans4: 17, 38, 45, 49, 63, 67, 80, 85, 91, 98, 110, 121, 129, 130, 136, 143, 145, 146, 148, 243, 244, 245, 263, 264, 265, 294, 296, 300 RESULTIS_S bcpl_symbols: 115 ReturnLabel bcpl_trans_head: 94 RETURN_S bcpl_symbols: 117 Rf bcpl_trans4: 116, 122 Right bcpl_compiler_head: 125, bcpl_trans4: 20, 129, 175, 182, 257, 278, 287 RKET_S bcpl_symbols: 118 Rl bcpl_trans4: 116, 122 RSHIFT_S bcpl_symbols: 119, bcpl_trans4: 78 RTAP_S bcpl_symbols: 120 RtdefList bcpl_trans_head: 95 RtdefNesting bcpl_trans_head: 97, bcpl_trans4: 181, 277 RTDEF_S bcpl_symbols: 121 RV_S bcpl_symbols: 122, bcpl_trans4: 83, 258 s bcpl_trans4: 115, 123 SaveOldUsage bcpl_metering_head: 7, bcpl_trans4: 19 SBRA_S bcpl_symbols: 123 SECTBEGIN_S bcpl_symbols: 124 SECTBRA_S bcpl_symbols: 125 SECTEND_S bcpl_symbols: 127 SECTKET_S bcpl_symbols: 128 SemanticTranslation_Meter bcpl_metering_head: 33 SEMICOLON_S bcpl_symbols: 129 SetResult bcpl_trans_head: 32, bcpl_trans4: 105, 108, 162 SKET_S bcpl_symbols: 130 SSP bcpl_trans_head: 98, bcpl_trans4: 115 StaticAllocationCounter bcpl_trans_head: 99 StaticFirst bcpl_trans_head: 100 StaticList bcpl_trans_head: 101 STATIC_S bcpl_symbols: 131, bcpl_trans4: 274 StoreAll bcpl_trans_head: 73 StoreString bcpl_compiler_head: 32 StoreTableItem bcpl_trans4: 234, 253 STRINGCONST_S bcpl_symbols: 133, bcpl_trans4: 29, 193 STRING_S bcpl_symbols: 132 STRUCTURE_S bcpl_symbols: 134 SwitchFlag bcpl_trans_head: 102 SWITCHON_S bcpl_symbols: 135 Symb bcpl_compiler_head: 117 SymbolAdd_Meter bcpl_metering_head: 25 SymbolName bcpl_compiler_head: 46 Symbols bcpl_compiler_head: 90 SymbolSearch_Meter bcpl_metering_head: 26 SyntaxAnalysis_Meter bcpl_metering_head: 22 T bcpl_trans4: 89, 90, 133, 134, 136, 154, 155, 155, 156, 156, 168, 169, 171, 178, 179, 179, 269, 270, 271, 281 TableCell bcpl_trans_head: 103, bcpl_trans4: 231, 232, 233, 235, 236, 254 TABLE_S bcpl_symbols: 137, bcpl_trans4: 36, 229, 235 Target bcpl_trans_head: 27 TEMP_S bcpl_symbols: 138, bcpl_trans4: 187, 286 TEST_S bcpl_symbols: 139 TextWords_Count bcpl_metering_head: 38 TimeNow bcpl_compiler_head: 105 TimeNowString bcpl_compiler_head: 104 TotalLines bcpl_metering_head: 16 TotalLines_Count bcpl_metering_head: 37 TotalWords bcpl_metering_head: 17 TO_S bcpl_symbols: 140 Trans bcpl_compiler_head: 61 Transbody bcpl_trans_head: 11, bcpl_trans4: 119 TransConditional bcpl_trans_head: 22, bcpl_trans4: 104 Transdef bcpl_trans_head: 13 TransFnap bcpl_trans_head: 47, bcpl_trans4: 131, 135 TransFor bcpl_trans_head: 23 TransLoop bcpl_trans_head: 28 Transreport bcpl_compiler_head: 41, bcpl_trans4: 22, 181, 216, 277, 280, 290 TransSystemCall bcpl_trans_head: 48 TRUE_S bcpl_symbols: 141, bcpl_trans4: 31, 89, 201, 202 TYPE_S bcpl_symbols: 142 UndefName bcpl_trans_codes: 23 UnexpectedCase bcpl_compiler_head: 130 UNLESS_S bcpl_symbols: 143 Unpackstring bcpl_compiler_head: 13 UnrecognizedExpression bcpl_trans_codes: 24, bcpl_trans4: 22 UNTIL_S bcpl_symbols: 144 UpperCase bcpl_compiler_head: 87 UsageTemp bcpl_trans4: 18, 19, 141 UserID bcpl_compiler_head: 111 UtilitiesInit bcpl_compiler_head: 51 VALDEF_S bcpl_symbols: 145 ValofFlag bcpl_trans_head: 104, bcpl_trans4: 116, 117, 122 ValofLabel bcpl_trans_head: 105, bcpl_trans4: 116, 117, 120, 122 VALOF_S bcpl_symbols: 147, bcpl_trans4: 114 VECAP_S bcpl_symbols: 149, bcpl_trans4: 79, 85, 262 VEC_S bcpl_symbols: 148, bcpl_trans4: 34, 213 Vmax bcpl_compiler_head: 128 WalkList bcpl_trans_head: 24, bcpl_trans4: 225, 234 WHILE_S bcpl_symbols: 150 Writech bcpl_compiler_head: 8 WriteN bcpl_compiler_head: 10 WriteObjectListing bcpl_compiler_head: 64 WriteS bcpl_compiler_head: 9 x bcpl_trans4: 17, 20, 22, 38, 44, 45, 49, 62, 63, 63, 69, 70, 80, 80, 85, 90, 96, 97, 98, 98, 104, 105, 108, 119, 131, 131, 135, 135, 143, 145, 147, 162, 164, 167, 171, 174, 175, 178, 179, 181, 188, 194, 194, 198, 210, 214, 216, 224, 225, 230, 234, 239, 240, 244, 249, 251, 253, 254, 256, 257, 259, 264, 264, 269, 270, 277, 280, 287, 287, 290, 291, 308, 312, 313, 314, 319, 320, 321, 325, 327, 330 Xprime bcpl_trans4: 90, 91 Xref bcpl_compiler_head: 94 Zero bcpl_trans4: 84, 85 Trans time 1.5, 1327 object words per second. " Begin text of CompileExpression aa 000000 000021 103157 zero 17,34415 " CompileExpression aa 000001 155160 151154 zero 55920,53868 aa 000002 145105 170160 zero 51781,61552 aa 000003 162145 163163 zero 58469,58995 aa 000004 151157 156000 zero 53871,56320 L1: aa 000005 000000 213000 17 epaq 0 " set lp to linkage section aa 000006 700026 764161 lprplp sb|22,*au aa 000007 200000 021100 adlx1 bp|0 " BCPL save aa 000010 700000 542111 sprpbp sb|0,x1 aa 000011 700001 544111 sprplp sb|1,x1 aa 000012 700425 620111 eax0 sb|277,x1 aa 000013 777760 360003 anx0 -16,du aa 000014 700025 740100 stx0 sb|21 aa 000015 600023 740100 stx0 sp|19 " end of save sequence aa 000016 600226 234100 19 szn sp|150 " Metering aa 000017 000004 600004 tze L17 4a 000020 400076 272120 tsbbp lp|L18,* " SaveOldUsage aa 000021 000030 000000 zero 24 aa 000022 700004 756111 stq sb|4,x1 " UsageTemp L17: aa 000023 700003 760111 20 lprpap sb|3,x1 " x aa 000024 000000 236100 ldq ap|0 aa 000025 777777 376007 anq -1,dl " Right aa 000026 700005 756111 stq sb|5,x1 " Op aa 000027 000513 710004 22 tra L20 L21: aa 000030 000331 236007 ldq 217,dl " UnrecognizedExpression aa 000031 700032 756111 stq sb|26,x1 aa 000032 700003 236111 ldq sb|3,x1 " x aa 000033 700033 756111 stq sb|27,x1 4a 000034 400074 272120 tsbbp lp|L22,* " Transreport aa 000035 000030 000002 zero 24,2 L23: aa 000036 000715 710004 26 tra L19 L24: aa 000037 000002 236007 38 ldq 2,dl " ASSIGN_S aa 000040 700032 756111 stq sb|26,x1 aa 000041 700002 236111 ldq sb|2,x1 " Result aa 000042 700033 756111 stq sb|27,x1 aa 000043 700003 236111 ldq sb|3,x1 " x aa 000044 700034 756111 stq sb|28,x1 aa 000045 000727 272004 tsbbp L2+2 " Monadic aa 000046 000030 000003 zero 24,3 aa 000047 000704 710004 41 tra L19 L25: aa 000050 600152 234100 44 szn sp|106 " Optimize aa 000051 000007 600004 tze L26 aa 000052 700003 236111 ldq sb|3,x1 " x aa 000053 700032 756111 stq sb|26,x1 4a 000054 400072 272120 tsbbp lp|L27,* " IsConst aa 000055 000030 000001 zero 24,1 aa 000056 000000 116007 cmpq 0,dl aa 000057 000013 601004 tnz L13 L26: aa 000060 700005 236111 45 ldq sb|5,x1 " Op aa 000061 700032 756111 stq sb|26,x1 aa 000062 700002 236111 ldq sb|2,x1 " Result aa 000063 700033 756111 stq sb|27,x1 aa 000064 700003 762111 lprpbp sb|3,x1 " x aa 000065 200001 236100 ldq bp|1 aa 000066 700034 756111 stq sb|28,x1 aa 000067 000705 272004 tsbbp L2+2 " Monadic aa 000070 000030 000003 zero 24,3 aa 000071 000662 710004 48 tra L19 L13: aa 000072 000002 236007 49 ldq 2,dl " ASSIGN_S aa 000073 700032 756111 stq sb|26,x1 aa 000074 700002 236111 ldq sb|2,x1 " Result aa 000075 700033 756111 stq sb|27,x1 aa 000076 700003 236111 ldq sb|3,x1 " x aa 000077 700034 756111 stq sb|28,x1 aa 000100 000674 272004 tsbbp L2+2 " Monadic aa 000101 000030 000003 zero 24,3 aa 000102 000651 710004 53 tra L19 L28: aa 000103 600152 234100 62 szn sp|106 " Optimize aa 000104 000007 600004 tze L29 aa 000105 700003 236111 ldq sb|3,x1 " x aa 000106 700032 756111 stq sb|26,x1 4a 000107 400072 272120 tsbbp lp|L27,* " IsConst aa 000110 000030 000001 zero 24,1 aa 000111 000000 116007 cmpq 0,dl aa 000112 777760 601004 tnz L13 L29: aa 000113 700002 236111 63 ldq sb|2,x1 " Result aa 000114 700032 756111 stq sb|26,x1 aa 000115 700003 761111 lprpab sb|3,x1 " x aa 000116 100001 236100 ldq ab|1 aa 000117 700033 756111 stq sb|27,x1 aa 000120 700003 763111 lprpbb sb|3,x1 " x aa 000121 300002 236100 ldq bb|2 aa 000122 700034 756111 stq sb|28,x1 aa 000123 002464 272004 tsbbp L4+2 " DecideOrder aa 000124 000030 000003 zero 24,3 aa 000125 700006 756111 stq sb|6,x1 " Order aa 000126 700014 371511 64 eaplb sb|12,x1 " a vector aa 000127 700007 545111 sprplb sb|7,x1 " Desc3 aa 000130 700020 371511 eaplb sb|16,x1 " a vector aa 000131 700011 545111 sprplb sb|9,x1 " Desc2 aa 000132 700024 371511 eaplb sb|20,x1 " a vector aa 000133 700010 545111 sprplb sb|8,x1 " Desc1 aa 000134 000001 236007 65 ldq 1,dl " 1 aa 000135 700023 756111 stq sb|19,x1 " i aa 000136 000041 710004 tra L31 L30: aa 000137 700006 236111 66 ldq sb|6,x1 " Order aa 000140 000001 376007 anq 1,dl " $81 aa 000141 000010 600004 tze L33 aa 000142 700002 236111 67 ldq sb|2,x1 " Result aa 000143 700032 756111 stq sb|26,x1 aa 000144 700010 236111 ldq sb|8,x1 " Desc1 aa 000145 700033 756111 stq sb|27,x1 aa 000146 001361 272004 tsbbp L10+2 " CompileLmode aa 000147 000030 000002 zero 24,2 aa 000150 000023 710004 tra L32 L33: aa 000151 700006 236111 68 ldq sb|6,x1 " Order aa 000152 000002 376007 anq 2,dl " $82 aa 000153 000011 600004 tze L35 aa 000154 700003 765111 69 lprplb sb|3,x1 " x aa 000155 500001 236100 ldq lb|1 aa 000156 700032 756111 stq sb|26,x1 aa 000157 700011 236111 ldq sb|9,x1 " Desc2 aa 000160 700033 756111 stq sb|27,x1 aa 000161 001632 272004 tsbbp L7+2 " CompileOperand aa 000162 000030 000002 zero 24,2 aa 000163 000010 710004 tra L34 L35: aa 000164 700003 760111 70 lprpap sb|3,x1 " x aa 000165 000002 236100 ldq ap|2 aa 000166 700032 756111 stq sb|26,x1 aa 000167 700007 236111 ldq sb|7,x1 " Desc3 aa 000170 700033 756111 stq sb|27,x1 aa 000171 001622 272004 tsbbp L7+2 " CompileOperand aa 000172 000030 000002 zero 24,2 L34: L32: aa 000173 700006 236111 71 ldq sb|6,x1 " Order aa 000174 000003 772000 qrl 3 aa 000175 700006 756111 stq sb|6,x1 " Order aa 000176 700023 054111 aos sb|19,x1 " i L31: aa 000177 700023 236111 ldq sb|19,x1 " i aa 000200 000003 116007 cmpq 3,dl " 3 aa 000201 777736 604404 tmoz L30 aa 000202 700005 235111 73 lda sb|5,x1 " Op aa 000203 700032 755111 sta sb|26,x1 aa 000204 700010 235111 lda sb|8,x1 " Desc1 aa 000205 700033 755111 sta sb|27,x1 aa 000206 700011 235111 lda sb|9,x1 " Desc2 aa 000207 700034 755111 sta sb|28,x1 aa 000210 700007 235111 lda sb|7,x1 " Desc3 aa 000211 700035 755111 sta sb|29,x1 4a 000212 400070 272120 tsbbp lp|L36,* " GenerateDiadicOperator aa 000213 000030 000004 zero 24,4 aa 000214 000537 710004 77 tra L19 L37: aa 000215 700005 235111 80 lda sb|5,x1 " Op aa 000216 700032 755111 sta sb|26,x1 aa 000217 700002 235111 lda sb|2,x1 " Result aa 000220 700033 755111 sta sb|27,x1 aa 000221 700003 762111 lprpbp sb|3,x1 " x aa 000222 200001 235100 lda bp|1 aa 000223 700034 755111 sta sb|28,x1 aa 000224 700003 761111 lprpab sb|3,x1 " x aa 000225 100002 235100 lda ab|2 aa 000226 700035 755111 sta sb|29,x1 aa 000227 000752 272004 tsbbp L11+2 " CompileWithOffset aa 000230 000030 000004 zero 24,4 aa 000231 000522 710004 83 tra L19 L38: aa 000232 000017 235007 84 lda 15,dl " CONSTANT_S aa 000233 700010 755111 sta sb|8,x1 aa 000234 700011 450111 stz sb|9,x1 aa 000235 700010 353511 eapbb sb|8,x1 " a list aa 000236 700006 543111 sprpbb sb|6,x1 " Zero aa 000237 000216 235007 85 lda 142,dl " VECAP_S aa 000240 700032 755111 sta sb|26,x1 aa 000241 700002 235111 lda sb|2,x1 " Result aa 000242 700033 755111 sta sb|27,x1 aa 000243 700003 763111 lprpbb sb|3,x1 " x aa 000244 300001 235100 lda bb|1 aa 000245 700034 755111 sta sb|28,x1 aa 000246 700006 235111 lda sb|6,x1 " Zero aa 000247 700035 755111 sta sb|29,x1 aa 000250 000731 272004 tsbbp L11+2 " CompileWithOffset aa 000251 000030 000004 zero 24,4 aa 000252 000501 710004 89 tra L19 L39: aa 000253 000206 235007 lda 134,dl " TRUE_S aa 000254 700007 755111 sta sb|7,x1 " T aa 000255 000037 235007 lda 31,dl " FALSE_S aa 000256 700006 755111 sta sb|6,x1 " F aa 000257 700003 235111 90 lda sb|3,x1 " x aa 000260 700013 755111 sta sb|11,x1 aa 000261 700006 371511 eaplb sb|6,x1 " F aa 000262 700015 545111 sprplb sb|13,x1 aa 000263 700007 371511 eaplb sb|7,x1 " T aa 000264 700014 545111 sprplb sb|12,x1 aa 000265 000016 235007 lda 14,dl " COND_S aa 000266 700012 755111 sta sb|10,x1 aa 000267 700012 371511 eaplb sb|10,x1 " a list aa 000270 700010 545111 sprplb sb|8,x1 " Xprime aa 000271 700002 235111 91 lda sb|2,x1 " Result aa 000272 700032 755111 sta sb|26,x1 aa 000273 700010 235111 lda sb|8,x1 " Xprime aa 000274 700033 755111 sta sb|27,x1 aa 000275 777512 272004 tsbbp L1+2 " CompileExpression aa 000276 000030 000002 zero 24,2 aa 000277 000454 710004 95 tra L19 L40: aa 000300 600152 234100 96 szn sp|106 " Optimize aa 000301 000035 600004 tze L41 aa 000302 700003 765111 lprplb sb|3,x1 " x aa 000303 500001 235100 lda lb|1 aa 000304 700032 755111 sta sb|26,x1 4a 000305 400072 272120 tsbbp lp|L27,* " IsConst aa 000306 000030 000001 zero 24,1 aa 000307 000000 116007 cmpq 0,dl aa 000310 000026 600004 tze L42 aa 000311 700003 760111 97 lprpap sb|3,x1 " x aa 000312 000001 236100 ldq ap|1 aa 000313 700032 756111 stq sb|26,x1 4a 000314 400066 272120 tsbbp lp|L43,* " Evalconst aa 000315 000030 000001 zero 24,1 aa 000316 700006 756111 stq sb|6,x1 " B aa 000317 700006 234111 98 szn sb|6,x1 " B aa 000320 000004 600004 tze L44 aa 000321 700003 762111 lprpbp sb|3,x1 " x aa 000322 200002 236100 ldq bp|2 aa 000323 000003 710004 tra L45 L44: aa 000324 700003 761111 lprpab sb|3,x1 " x aa 000325 100003 236100 ldq ab|3 L45: aa 000326 700007 756111 stq sb|7,x1 aa 000327 700002 236111 ldq sb|2,x1 " Result aa 000330 700032 756111 stq sb|26,x1 aa 000331 700007 236111 ldq sb|7,x1 aa 000332 700033 756111 stq sb|27,x1 aa 000333 777454 272004 tsbbp L1+2 " CompileExpression aa 000334 000030 000002 zero 24,2 aa 000335 000416 710004 99 tra L19 L42: L41: 4a 000336 400064 272120 102 tsbbp lp|L46,* " Nextparam aa 000337 000030 000000 zero 24 aa 000340 700006 756111 stq sb|6,x1 " M 4a 000341 400064 272120 tsbbp lp|L46,* " Nextparam aa 000342 000030 000000 zero 24 aa 000343 700007 756111 stq sb|7,x1 " L 4a 000344 400062 272120 103 tsbbp lp|L47,* " GenerateResultBlock aa 000345 000030 000000 zero 24 aa 000346 700003 763111 104 lprpbb sb|3,x1 " x aa 000347 300001 236100 ldq bb|1 aa 000350 700032 756111 stq sb|26,x1 aa 000351 700033 450111 stz sb|27,x1 aa 000352 700007 236111 ldq sb|7,x1 " L aa 000353 700034 756111 stq sb|28,x1 4a 000354 400060 272120 tsbbp lp|L48,* " TransConditional aa 000355 000030 000003 zero 24,3 aa 000356 700003 765111 105 lprplb sb|3,x1 " x aa 000357 500002 236100 ldq lb|2 aa 000360 700032 756111 stq sb|26,x1 aa 000361 002171 272004 tsbbp L5+2 " SetResult aa 000362 000030 000001 zero 24,1 aa 000363 700006 236111 106 ldq sb|6,x1 " M aa 000364 700032 756111 stq sb|26,x1 4a 000365 400056 272120 tsbbp lp|L49,* " GenerateJump aa 000366 000030 000001 zero 24,1 aa 000367 700007 236111 107 ldq sb|7,x1 " L aa 000370 700032 756111 stq sb|26,x1 4a 000371 400054 272120 tsbbp lp|L50,* " GenerateLabel aa 000372 000030 000001 zero 24,1 aa 000373 700003 760111 108 lprpap sb|3,x1 " x aa 000374 000003 236100 ldq ap|3 aa 000375 700032 756111 stq sb|26,x1 aa 000376 002154 272004 tsbbp L5+2 " SetResult aa 000377 000030 000001 zero 24,1 aa 000400 700006 236111 109 ldq sb|6,x1 " M aa 000401 700032 756111 stq sb|26,x1 4a 000402 400054 272120 tsbbp lp|L50,* " GenerateLabel aa 000403 000030 000001 zero 24,1 aa 000404 700002 236111 110 ldq sb|2,x1 " Result aa 000405 700032 756111 stq sb|26,x1 aa 000406 002075 272004 tsbbp L6+2 " ClaimResult aa 000407 000030 000001 zero 24,1 aa 000410 000343 710004 114 tra L19 L51: aa 000411 600417 236100 115 ldq sp|271 " SSP aa 000412 700006 756111 stq sb|6,x1 " s aa 000413 600425 236100 116 ldq sp|277 " ValofFlag aa 000414 700010 756111 stq sb|8,x1 " Rf aa 000415 600426 236100 ldq sp|278 " ValofLabel aa 000416 700007 756111 stq sb|7,x1 " Rl aa 000417 000001 336007 117 lcq 1,dl " true aa 000420 600425 756100 stq sp|277 " ValofFlag 4a 000421 400064 272120 tsbbp lp|L46,* " Nextparam aa 000422 000030 000000 zero 24 aa 000423 600426 756100 stq sp|278 " ValofLabel 4a 000424 400062 272120 118 tsbbp lp|L47,* " GenerateResultBlock aa 000425 000030 000000 zero 24 aa 000426 700003 762111 119 lprpbp sb|3,x1 " x aa 000427 200001 236100 ldq bp|1 aa 000430 700032 756111 stq sb|26,x1 4a 000431 400052 272120 tsbbp lp|L52,* " Transbody aa 000432 000030 000001 zero 24,1 aa 000433 600426 236100 120 ldq sp|278 " ValofLabel aa 000434 700032 756111 stq sb|26,x1 4a 000435 400054 272120 tsbbp lp|L50,* " GenerateLabel aa 000436 000030 000001 zero 24,1 aa 000437 700002 236111 121 ldq sb|2,x1 " Result aa 000440 700032 756111 stq sb|26,x1 aa 000441 002042 272004 tsbbp L6+2 " ClaimResult aa 000442 000030 000001 zero 24,1 aa 000443 700010 236111 122 ldq sb|8,x1 " Rf aa 000444 600425 756100 stq sp|277 " ValofFlag aa 000445 700007 236111 ldq sb|7,x1 " Rl aa 000446 600426 756100 stq sp|278 " ValofLabel aa 000447 700006 236111 123 ldq sb|6,x1 " s aa 000450 700032 756111 stq sb|26,x1 4a 000451 400050 272120 tsbbp lp|L53,* " ResetSSP aa 000452 000030 000001 zero 24,1 aa 000453 000300 710004 127 tra L19 L54: aa 000454 700012 351511 128 eapab sb|10,x1 " a vector aa 000455 700006 541111 sprpab sb|6,x1 " Desc2 aa 000456 700016 351511 eapab sb|14,x1 " a vector aa 000457 700007 541111 sprpab sb|7,x1 " Desc1 aa 000460 700002 761111 129 lprpab sb|2,x1 " Result aa 000461 100000 236100 ldq ab|0 aa 000462 777777 376007 anq -1,dl " Right aa 000463 000122 116007 cmpq 82,dl " NAME_S aa 000464 000022 601004 tnz L56 aa 000465 700002 236111 130 ldq sb|2,x1 " Result aa 000466 700032 756111 stq sb|26,x1 aa 000467 700007 236111 ldq sb|7,x1 " Desc1 aa 000470 700033 756111 stq sb|27,x1 aa 000471 001036 272004 tsbbp L10+2 " CompileLmode aa 000472 000030 000002 zero 24,2 aa 000473 700007 236111 131 ldq sb|7,x1 " Desc1 aa 000474 700032 756111 stq sb|26,x1 aa 000475 700003 763111 lprpbb sb|3,x1 " x aa 000476 300001 236100 ldq bb|1 aa 000477 700033 756111 stq sb|27,x1 aa 000500 700003 765111 lprplb sb|3,x1 " x aa 000501 500002 236100 ldq lb|2 aa 000502 700034 756111 stq sb|28,x1 4a 000503 400046 272120 tsbbp lp|L57,* " TransFnap aa 000504 000030 000003 zero 24,3 aa 000505 000034 710004 tra L55 L56: 4a 000506 400044 272120 133 tsbbp lp|L58,* " MakeTemp aa 000507 000030 000000 zero 24 aa 000510 700015 756111 stq sb|13,x1 " T aa 000511 700015 236111 134 ldq sb|13,x1 " T aa 000512 700032 756111 stq sb|26,x1 aa 000513 700007 236111 ldq sb|7,x1 " Desc1 aa 000514 700033 756111 stq sb|27,x1 aa 000515 001012 272004 tsbbp L10+2 " CompileLmode aa 000516 000030 000002 zero 24,2 aa 000517 700007 236111 135 ldq sb|7,x1 " Desc1 aa 000520 700032 756111 stq sb|26,x1 aa 000521 700003 760111 lprpap sb|3,x1 " x aa 000522 000001 236100 ldq ap|1 aa 000523 700033 756111 stq sb|27,x1 aa 000524 700003 762111 lprpbp sb|3,x1 " x aa 000525 200002 236100 ldq bp|2 aa 000526 700034 756111 stq sb|28,x1 4a 000527 400046 272120 tsbbp lp|L57,* " TransFnap aa 000530 000030 000003 zero 24,3 aa 000531 000002 236007 136 ldq 2,dl " ASSIGN_S aa 000532 700032 756111 stq sb|26,x1 aa 000533 700002 236111 ldq sb|2,x1 " Result aa 000534 700033 756111 stq sb|27,x1 aa 000535 700015 236111 ldq sb|13,x1 " T aa 000536 700034 756111 stq sb|28,x1 aa 000537 000235 272004 tsbbp L2+2 " Monadic aa 000540 000030 000003 zero 24,3 L55: aa 000541 000212 710004 138 tra L19 L20: " Begin switchon aa 000542 700005 235111 lda sb|5,x1 " Op aa 000543 000013 175007 sba 11,dl aa 000544 000204 115007 cmpa 132,dl aa 000545 777263 603004 trc L21 0a 000546 000547 710005 tra L59,al L59: aa 000547 777270 710004 tra L24 aa 000550 777260 710004 tra L21 aa 000551 777257 710004 tra L21 aa 000552 777526 710004 tra L40 aa 000553 777264 710004 tra L24 aa 000554 777254 710004 tra L21 aa 000555 777253 710004 tra L21 aa 000556 777325 710004 tra L28 aa 000557 777251 710004 tra L21 aa 000560 777323 710004 tra L28 aa 000561 777247 710004 tra L21 aa 000562 777246 710004 tra L21 aa 000563 777245 710004 tra L21 aa 000564 777244 710004 tra L21 aa 000565 777243 710004 tra L21 aa 000566 777242 710004 tra L21 aa 000567 777241 710004 tra L21 aa 000570 777313 710004 tra L28 aa 000571 777237 710004 tra L21 aa 000572 777236 710004 tra L21 aa 000573 777244 710004 tra L24 aa 000574 777234 710004 tra L21 aa 000575 777233 710004 tra L21 aa 000576 777232 710004 tra L21 aa 000577 777655 710004 tra L54 aa 000600 777230 710004 tra L21 aa 000601 777227 710004 tra L21 aa 000602 777226 710004 tra L21 aa 000603 777225 710004 tra L21 aa 000604 777224 710004 tra L21 aa 000605 777223 710004 tra L21 aa 000606 777222 710004 tra L21 aa 000607 777221 710004 tra L21 aa 000610 777220 710004 tra L21 aa 000611 777217 710004 tra L21 aa 000612 777216 710004 tra L21 aa 000613 777215 710004 tra L21 aa 000614 777214 710004 tra L21 aa 000615 777213 710004 tra L21 aa 000616 777212 710004 tra L21 aa 000617 777211 710004 tra L21 aa 000620 777210 710004 tra L21 aa 000621 777207 710004 tra L21 aa 000622 777206 710004 tra L21 aa 000623 777205 710004 tra L21 aa 000624 777204 710004 tra L21 aa 000625 777212 710004 tra L24 aa 000626 777211 710004 tra L24 aa 000627 777201 710004 tra L21 aa 000630 777253 710004 tra L28 aa 000631 777252 710004 tra L28 aa 000632 777176 710004 tra L21 aa 000633 777175 710004 tra L21 aa 000634 777174 710004 tra L21 aa 000635 777360 710004 tra L37 aa 000636 777201 710004 tra L24 aa 000637 777171 710004 tra L21 aa 000640 777170 710004 tra L21 aa 000641 777167 710004 tra L21 aa 000642 777166 710004 tra L21 aa 000643 777165 710004 tra L21 aa 000644 777164 710004 tra L21 aa 000645 777163 710004 tra L21 aa 000646 777162 710004 tra L21 aa 000647 777161 710004 tra L21 aa 000650 777160 710004 tra L21 aa 000651 777232 710004 tra L28 aa 000652 777231 710004 tra L28 aa 000653 777155 710004 tra L21 aa 000654 777227 710004 tra L28 aa 000655 777226 710004 tra L28 aa 000656 777161 710004 tra L24 aa 000657 777171 710004 tra L25 aa 000660 777170 710004 tra L25 aa 000661 777222 710004 tra L28 aa 000662 777146 710004 tra L21 aa 000663 777145 710004 tra L21 aa 000664 777152 710004 tra L23 aa 000665 777143 710004 tra L21 aa 000666 777162 710004 tra L25 aa 000667 777150 710004 tra L24 aa 000670 777140 710004 tra L21 aa 000671 777137 710004 tra L21 aa 000672 777211 710004 tra L28 aa 000673 777210 710004 tra L28 aa 000674 777134 710004 tra L21 aa 000675 777153 710004 tra L25 aa 000676 777152 710004 tra L25 aa 000677 777131 710004 tra L21 aa 000700 777130 710004 tra L21 aa 000701 777127 710004 tra L21 aa 000702 777351 710004 tra L39 aa 000703 777200 710004 tra L28 aa 000704 777124 710004 tra L21 aa 000705 777123 710004 tra L21 aa 000706 777122 710004 tra L21 aa 000707 777121 710004 tra L21 aa 000710 777120 710004 tra L21 aa 000711 777117 710004 tra L21 aa 000712 777116 710004 tra L21 aa 000713 777115 710004 tra L21 aa 000714 777301 710004 tra L37 aa 000715 777113 710004 tra L21 aa 000716 777112 710004 tra L21 aa 000717 777313 710004 tra L38 aa 000720 777110 710004 tra L21 aa 000721 777107 710004 tra L21 aa 000722 777106 710004 tra L21 aa 000723 777105 710004 tra L21 aa 000724 777104 710004 tra L21 aa 000725 777103 710004 tra L21 aa 000726 777102 710004 tra L21 aa 000727 777101 710004 tra L21 aa 000730 777100 710004 tra L21 aa 000731 777077 710004 tra L21 aa 000732 777105 710004 tra L24 aa 000733 777075 710004 tra L21 aa 000734 777074 710004 tra L21 aa 000735 777073 710004 tra L21 aa 000736 777101 710004 tra L24 aa 000737 777071 710004 tra L21 aa 000740 777070 710004 tra L21 aa 000741 777067 710004 tra L21 aa 000742 777075 710004 tra L24 aa 000743 777065 710004 tra L21 aa 000744 777064 710004 tra L21 aa 000745 777063 710004 tra L21 aa 000746 777062 710004 tra L21 aa 000747 777061 710004 tra L21 aa 000750 777441 710004 tra L51 aa 000751 777066 710004 tra L24 aa 000752 777243 710004 tra L37 L19: aa 000753 600226 234100 141 szn sp|150 " Metering aa 000754 000007 600004 tze L60 aa 000755 000052 236007 ldq 42,dl " CompileExpression_Meter aa 000756 700032 756111 stq sb|26,x1 aa 000757 700004 236111 ldq sb|4,x1 " UsageTemp aa 000760 700033 756111 stq sb|27,x1 4a 000761 400042 272120 tsbbp lp|L61,* " RecordUsage aa 000762 000030 000002 zero 24,2 L60: L16: aa 000763 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000764 200000 121100 sblx1 bp|0 aa 000765 700001 764111 lprplp sb|1,x1 aa 000766 200001 710100 tra bp|1 " end of return sequence " Begin text of Monadic aa 000767 000007 115157 zero 7,39535 " Monadic aa 000770 156141 144151 zero 56417,51305 aa 000771 143000 000000 zero 50688 L2: aa 000772 000000 213000 143 epaq 0 " set lp to linkage section aa 000773 700026 764161 lprplp sb|22,*au aa 000774 200000 021100 adlx1 bp|0 " BCPL save aa 000775 700000 542111 sprpbp sb|0,x1 aa 000776 700001 544111 sprplp sb|1,x1 aa 000777 700424 620111 eax0 sb|276,x1 aa 001000 777760 360003 anx0 -16,du aa 001001 700025 740100 stx0 sb|21 aa 001002 600023 740100 stx0 sp|19 " end of save sequence aa 001003 700010 351511 144 eapab sb|8,x1 " a vector aa 001004 700006 541111 sprpab sb|6,x1 " Desc2 aa 001005 700014 351511 eapab sb|12,x1 " a vector aa 001006 700005 541111 sprpab sb|5,x1 " Desc1 aa 001007 700004 236111 145 ldq sb|4,x1 " x aa 001010 700024 756111 stq sb|20,x1 4a 001011 400040 272120 tsbbp lp|L65,* " CountTemporaries aa 001012 000022 000001 zero 18,1 aa 001013 700013 756111 stq sb|11,x1 aa 001014 700003 236111 ldq sb|3,x1 " Result aa 001015 700024 756111 stq sb|20,x1 4a 001016 400040 272120 tsbbp lp|L65,* " CountTemporaries aa 001017 000022 000001 zero 18,1 aa 001020 700020 756111 stq sb|16,x1 aa 001021 700020 236111 ldq sb|16,x1 aa 001022 700024 756111 stq sb|20,x1 aa 001023 700013 236111 ldq sb|11,x1 aa 001024 700025 756111 stq sb|21,x1 aa 001025 000053 272004 tsbbp L3+2 " ChooseOrder aa 001026 000022 000002 zero 18,2 aa 001027 700007 756111 stq sb|7,x1 " Order aa 001030 700007 234111 146 szn sb|7,x1 " Order aa 001031 000007 600004 tze L66 aa 001032 700003 236111 ldq sb|3,x1 " Result aa 001033 700024 756111 stq sb|20,x1 aa 001034 700005 236111 ldq sb|5,x1 " Desc1 aa 001035 700025 756111 stq sb|21,x1 aa 001036 000471 272004 tsbbp L10+2 " CompileLmode aa 001037 000022 000002 zero 18,2 L66: aa 001040 700004 236111 147 ldq sb|4,x1 " x aa 001041 700024 756111 stq sb|20,x1 aa 001042 700006 236111 ldq sb|6,x1 " Desc2 aa 001043 700025 756111 stq sb|21,x1 aa 001044 000747 272004 tsbbp L7+2 " CompileOperand aa 001045 000022 000002 zero 18,2 aa 001046 700007 234111 148 szn sb|7,x1 " Order aa 001047 000007 601004 tnz L67 aa 001050 700003 236111 ldq sb|3,x1 " Result aa 001051 700024 756111 stq sb|20,x1 aa 001052 700005 236111 ldq sb|5,x1 " Desc1 aa 001053 700025 756111 stq sb|21,x1 aa 001054 000453 272004 tsbbp L10+2 " CompileLmode aa 001055 000022 000002 zero 18,2 L67: aa 001056 700002 236111 149 ldq sb|2,x1 " Op aa 001057 700024 756111 stq sb|20,x1 aa 001060 700005 236111 ldq sb|5,x1 " Desc1 aa 001061 700025 756111 stq sb|21,x1 aa 001062 700006 236111 ldq sb|6,x1 " Desc2 aa 001063 700026 756111 stq sb|22,x1 4a 001064 400036 272120 tsbbp lp|L68,* " GenerateMonadicOperator aa 001065 000022 000003 zero 18,3 L64: aa 001066 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001067 200000 121100 sblx1 bp|0 aa 001070 700001 764111 lprplp sb|1,x1 aa 001071 200001 710100 tra bp|1 " end of return sequence " Begin text of ChooseOrder aa 001072 000013 103150 zero 11,34408 " ChooseOrder aa 001073 157157 163145 zero 56943,58981 aa 001074 117162 144145 zero 40562,51301 aa 001075 162000 000000 zero 58368 L3: aa 001076 000000 213000 151 epaq 0 " set lp to linkage section aa 001077 700026 764161 lprplp sb|22,*au aa 001100 200000 021100 adlx1 bp|0 " BCPL save aa 001101 700000 542111 sprpbp sb|0,x1 aa 001102 700001 544111 sprplp sb|1,x1 aa 001103 700421 620111 eax0 sb|273,x1 aa 001104 777760 360003 anx0 -16,du aa 001105 700025 740100 stx0 sb|21 aa 001106 600023 740100 stx0 sp|19 " end of save sequence aa 001107 700002 236111 ldq sb|2,x1 " a aa 001110 700003 116111 cmpq sb|3,x1 " b aa 001111 000011 601004 tnz L71 4a 001112 400034 272120 tsbbp lp|L75,* " RandomI aa 001113 000012 000000 zero 10 aa 001114 000001 376007 anq 1,dl " $81 aa 001115 000003 601004 tnz L73 aa 001116 000001 336007 lcq 1,dl " true aa 001117 000002 710004 tra L74 L73: aa 001120 000000 236007 ldq 0,dl " false L74: aa 001121 000010 710004 tra L72 L71: aa 001122 700002 236111 ldq sb|2,x1 " a aa 001123 700003 116111 cmpq sb|3,x1 " b aa 001124 000003 604404 tmoz L76 aa 001125 000001 335007 lca 1,dl " true aa 001126 000002 710004 tra L77 L76: aa 001127 000000 235007 lda 0,dl " false L77: aa 001130 000044 777000 llr 36 " exchange A and Q L72: aa 001131 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001132 200000 121100 sblx1 bp|0 aa 001133 700001 764111 lprplp sb|1,x1 aa 001134 200001 710100 tra bp|1 " end of return sequence " Begin text of LoadListItem aa 001135 000014 114157 zero 12,39023 " LoadListItem aa 001136 141144 114151 zero 49764,39017 aa 001137 163164 111164 zero 58996,37492 aa 001140 145155 000000 zero 51821 L8: aa 001141 000000 213000 249 epaq 0 " set lp to linkage section aa 001142 700026 764161 lprplp sb|22,*au aa 001143 200000 021100 adlx1 bp|0 " BCPL save aa 001144 700000 542111 sprpbp sb|0,x1 aa 001145 700001 544111 sprplp sb|1,x1 aa 001146 700423 620111 eax0 sb|275,x1 aa 001147 777760 360003 anx0 -16,du aa 001150 700025 740100 stx0 sb|21 aa 001151 600023 740100 stx0 sp|19 " end of save sequence aa 001152 700003 236111 250 ldq sb|3,x1 " p aa 001153 700007 756111 stq sb|7,x1 aa 001154 000072 236007 ldq 58,dl " LOCAL_S aa 001155 700006 756111 stq sb|6,x1 aa 001156 700006 351511 eapab sb|6,x1 " a list aa 001157 700004 541111 sprpab sb|4,x1 " Cell aa 001160 700004 236111 251 ldq sb|4,x1 " Cell aa 001161 700012 756111 stq sb|10,x1 aa 001162 700002 236111 ldq sb|2,x1 " x aa 001163 700013 756111 stq sb|11,x1 aa 001164 776623 272004 tsbbp L1+2 " CompileExpression aa 001165 000010 000002 zero 8,2 L80: aa 001166 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001167 200000 121100 sblx1 bp|0 aa 001170 700001 764111 lprplp sb|1,x1 aa 001171 200001 710100 tra bp|1 " end of return sequence " Begin text of CompileWithOffset aa 001172 000021 103157 zero 17,34415 " CompileWithOffset aa 001173 155160 151154 zero 55920,53868 aa 001174 145127 151164 zero 51799,53876 aa 001175 150117 146146 zero 53327,52326 aa 001176 163145 164000 zero 58981,59392 L11: aa 001177 000000 213000 294 epaq 0 " set lp to linkage section aa 001200 700026 764161 lprplp sb|22,*au aa 001201 200000 021100 adlx1 bp|0 " BCPL save aa 001202 700000 542111 sprpbp sb|0,x1 aa 001203 700001 544111 sprplp sb|1,x1 aa 001204 700426 620111 eax0 sb|278,x1 aa 001205 777760 360003 anx0 -16,du aa 001206 700025 740100 stx0 sb|21 aa 001207 600023 740100 stx0 sp|19 " end of save sequence aa 001210 700003 236111 296 ldq sb|3,x1 " Result aa 001211 700032 756111 stq sb|26,x1 aa 001212 700004 236111 ldq sb|4,x1 " a aa 001213 700033 756111 stq sb|27,x1 aa 001214 700005 236111 ldq sb|5,x1 " b aa 001215 700034 756111 stq sb|28,x1 aa 001216 001371 272004 tsbbp L4+2 " DecideOrder aa 001217 000030 000003 zero 24,3 aa 001220 700011 756111 stq sb|9,x1 " Order aa 001221 700012 450111 297 stz sb|10,x1 " Offset aa 001222 700014 351511 295 eapab sb|12,x1 " a vector aa 001223 700010 541111 sprpab sb|8,x1 " Desc2 aa 001224 700020 351511 eapab sb|16,x1 " a vector aa 001225 700007 541111 sprpab sb|7,x1 " Desc1 aa 001226 700024 351511 eapab sb|20,x1 " a vector aa 001227 700006 541111 sprpab sb|6,x1 " Desc3 aa 001230 000001 236007 298 ldq 1,dl " 1 aa 001231 700023 756111 stq sb|19,x1 " i aa 001232 000041 710004 tra L85 L84: aa 001233 700011 236111 299 ldq sb|9,x1 " Order aa 001234 000001 376007 anq 1,dl " $81 aa 001235 000010 600004 tze L87 aa 001236 700003 236111 300 ldq sb|3,x1 " Result aa 001237 700032 756111 stq sb|26,x1 aa 001240 700007 236111 ldq sb|7,x1 " Desc1 aa 001241 700033 756111 stq sb|27,x1 aa 001242 000265 272004 tsbbp L10+2 " CompileLmode aa 001243 000030 000002 zero 24,2 aa 001244 000023 710004 tra L86 L87: aa 001245 700011 236111 301 ldq sb|9,x1 " Order aa 001246 000002 376007 anq 2,dl " $82 aa 001247 000010 600004 tze L89 aa 001250 700004 236111 302 ldq sb|4,x1 " a aa 001251 700032 756111 stq sb|26,x1 aa 001252 700010 236111 ldq sb|8,x1 " Desc2 aa 001253 700033 756111 stq sb|27,x1 aa 001254 000537 272004 tsbbp L7+2 " CompileOperand aa 001255 000030 000002 zero 24,2 aa 001256 000011 710004 tra L88 L89: aa 001257 700005 236111 303 ldq sb|5,x1 " b aa 001260 700032 756111 stq sb|26,x1 aa 001261 700006 236111 ldq sb|6,x1 " Desc3 aa 001262 700033 756111 stq sb|27,x1 aa 001263 700012 351511 eapab sb|10,x1 " Offset aa 001264 700034 541111 sprpab sb|28,x1 aa 001265 000041 272004 tsbbp L12+2 " CompileOffsetOperand aa 001266 000030 000003 zero 24,3 L88: L86: aa 001267 700011 236111 304 ldq sb|9,x1 " Order aa 001270 000003 772000 qrl 3 aa 001271 700011 756111 stq sb|9,x1 " Order aa 001272 700023 054111 aos sb|19,x1 " i L85: aa 001273 700023 236111 ldq sb|19,x1 " i aa 001274 000003 116007 cmpq 3,dl " 3 aa 001275 777736 604404 tmoz L84 aa 001276 700002 235111 306 lda sb|2,x1 " Op aa 001277 700032 755111 sta sb|26,x1 aa 001300 700007 235111 lda sb|7,x1 " Desc1 aa 001301 700033 755111 sta sb|27,x1 aa 001302 700010 235111 lda sb|8,x1 " Desc2 aa 001303 700034 755111 sta sb|28,x1 aa 001304 700006 235111 lda sb|6,x1 " Desc3 aa 001305 700035 755111 sta sb|29,x1 aa 001306 700012 235111 lda sb|10,x1 " Offset aa 001307 700036 755111 sta sb|30,x1 4a 001310 400032 272120 tsbbp lp|L90,* " GenerateOffsetOperator aa 001311 000030 000005 zero 24,5 L83: aa 001312 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001313 200000 121100 sblx1 bp|0 aa 001314 700001 764111 lprplp sb|1,x1 aa 001315 200001 710100 tra bp|1 " end of return sequence " Begin text of CompileOffsetOperand aa 001316 000024 103157 zero 20,34415 " CompileOffsetOperand aa 001317 155160 151154 zero 55920,53868 aa 001320 145117 146146 zero 51791,52326 aa 001321 163145 164117 zero 58981,59471 aa 001322 160145 162141 zero 57445,58465 aa 001323 156144 000000 zero 56420 L12: aa 001324 000000 213000 308 epaq 0 " set lp to linkage section aa 001325 700026 764161 lprplp sb|22,*au aa 001326 200000 021100 adlx1 bp|0 " BCPL save aa 001327 700000 542111 sprpbp sb|0,x1 aa 001330 700001 544111 sprplp sb|1,x1 aa 001331 700424 620111 eax0 sb|276,x1 aa 001332 777760 360003 anx0 -16,du aa 001333 700025 740100 stx0 sb|21 aa 001334 600023 740100 stx0 sp|19 " end of save sequence aa 001335 700005 235111 309 lda sb|5,x1 " Op aa 001336 700005 755111 sta sb|5,x1 " Op aa 001337 000150 710004 311 tra L95 L96: aa 001340 600152 234100 312 szn sp|106 " Optimize aa 001341 000043 600004 tze L97 aa 001342 700002 761111 lprpab sb|2,x1 " x aa 001343 100001 235100 lda ab|1 aa 001344 700014 755111 sta sb|12,x1 4a 001345 400072 272120 tsbbp lp|L27,* " IsConst aa 001346 000012 000001 zero 10,1 aa 001347 000000 116007 cmpq 0,dl aa 001350 000034 600004 tze L98 aa 001351 700002 763111 313 lprpbb sb|2,x1 " x aa 001352 300002 236100 ldq bb|2 aa 001353 700014 756111 stq sb|12,x1 aa 001354 700003 236111 ldq sb|3,x1 " Desc aa 001355 700015 756111 stq sb|13,x1 aa 001356 700004 236111 ldq sb|4,x1 " LvN aa 001357 700016 756111 stq sb|14,x1 aa 001360 777746 272004 tsbbp L12+2 " CompileOffsetOperand aa 001361 000012 000003 zero 10,3 aa 001362 700002 765111 314 lprplb sb|2,x1 " x aa 001363 500001 236100 ldq lb|1 aa 001364 700014 756111 stq sb|12,x1 4a 001365 400066 272120 tsbbp lp|L43,* " Evalconst aa 001366 000012 000001 zero 10,1 aa 001367 700007 756111 stq sb|7,x1 aa 001370 000137 236007 ldq 95,dl " PLUS_S aa 001371 700014 756111 stq sb|12,x1 aa 001372 700007 236111 ldq sb|7,x1 aa 001373 700015 756111 stq sb|13,x1 aa 001374 700004 760111 lprpap sb|4,x1 " LvN aa 001375 000000 236100 ldq ap|0 aa 001376 700016 756111 stq sb|14,x1 4a 001377 400030 272120 tsbbp lp|L99,* " EvaluateOperator aa 001400 000012 000003 zero 10,3 aa 001401 700004 762111 lprpbp sb|4,x1 " LvN aa 001402 200000 756100 stq bp|0 " LvN aa 001403 000112 710004 315 tra L94 L98: L97: L100: aa 001404 600152 234100 319 szn sp|106 " Optimize aa 001405 000043 600004 tze L101 aa 001406 700002 761111 lprpab sb|2,x1 " x aa 001407 100002 236100 ldq ab|2 aa 001410 700014 756111 stq sb|12,x1 4a 001411 400072 272120 tsbbp lp|L27,* " IsConst aa 001412 000012 000001 zero 10,1 aa 001413 000000 116007 cmpq 0,dl aa 001414 000034 600004 tze L102 aa 001415 700002 763111 320 lprpbb sb|2,x1 " x aa 001416 300001 236100 ldq bb|1 aa 001417 700014 756111 stq sb|12,x1 aa 001420 700003 236111 ldq sb|3,x1 " Desc aa 001421 700015 756111 stq sb|13,x1 aa 001422 700004 236111 ldq sb|4,x1 " LvN aa 001423 700016 756111 stq sb|14,x1 aa 001424 777702 272004 tsbbp L12+2 " CompileOffsetOperand aa 001425 000012 000003 zero 10,3 aa 001426 700002 765111 321 lprplb sb|2,x1 " x aa 001427 500002 236100 ldq lb|2 aa 001430 700014 756111 stq sb|12,x1 4a 001431 400066 272120 tsbbp lp|L43,* " Evalconst aa 001432 000012 000001 zero 10,1 aa 001433 700007 756111 stq sb|7,x1 aa 001434 700005 236111 ldq sb|5,x1 " Op aa 001435 700014 756111 stq sb|12,x1 aa 001436 700004 760111 lprpap sb|4,x1 " LvN aa 001437 000000 236100 ldq ap|0 aa 001440 700015 756111 stq sb|13,x1 aa 001441 700007 236111 ldq sb|7,x1 aa 001442 700016 756111 stq sb|14,x1 4a 001443 400030 272120 tsbbp lp|L99,* " EvaluateOperator aa 001444 000012 000003 zero 10,3 aa 001445 700004 762111 lprpbp sb|4,x1 " LvN aa 001446 200000 756100 stq bp|0 " LvN aa 001447 000046 710004 322 tra L94 L102: L101: L103: aa 001450 600152 234100 325 szn sp|106 " Optimize aa 001451 000025 600004 tze L104 aa 001452 700002 236111 ldq sb|2,x1 " x aa 001453 700014 756111 stq sb|12,x1 4a 001454 400072 272120 tsbbp lp|L27,* " IsConst aa 001455 000012 000001 zero 10,1 aa 001456 000000 116007 cmpq 0,dl aa 001457 000017 600004 tze L105 aa 001460 700003 761111 326 lprpab sb|3,x1 " Desc aa 001461 100002 450100 stz ab|2 aa 001462 000017 236007 ldq 15,dl " CONSTANT_S aa 001463 700003 763111 lprpbb sb|3,x1 " Desc aa 001464 300000 756100 stq bb|0 aa 001465 700003 765111 lprplb sb|3,x1 " Desc aa 001466 500001 450100 stz lb|1 aa 001467 700002 236111 327 ldq sb|2,x1 " x aa 001470 700014 756111 stq sb|12,x1 4a 001471 400066 272120 tsbbp lp|L43,* " Evalconst aa 001472 000012 000001 zero 10,1 aa 001473 700004 760111 lprpap sb|4,x1 " LvN aa 001474 000000 756100 stq ap|0 " LvN aa 001475 000020 710004 328 tra L94 L105: L104: aa 001476 700002 236111 330 ldq sb|2,x1 " x aa 001477 700014 756111 stq sb|12,x1 aa 001500 700003 236111 ldq sb|3,x1 " Desc aa 001501 700015 756111 stq sb|13,x1 aa 001502 000311 272004 tsbbp L7+2 " CompileOperand aa 001503 000012 000002 zero 10,2 aa 001504 700004 762111 331 lprpbp sb|4,x1 " LvN aa 001505 200000 450100 stz bp|0 " LvN aa 001506 000007 710004 tra L94 L95: " Begin switchon aa 001507 700005 235111 lda sb|5,x1 " Op aa 001510 000116 115007 cmpa 78,dl aa 001511 777673 600004 tze L100 aa 001512 000137 115007 cmpa 95,dl aa 001513 777625 600004 tze L96 aa 001514 777734 710004 tra L103 L94: L93: aa 001515 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001516 200000 121100 sblx1 bp|0 aa 001517 700001 764111 lprplp sb|1,x1 aa 001520 200001 710100 tra bp|1 " end of return sequence " Begin text of CompileLmode aa 001521 000014 103157 zero 12,34415 " CompileLmode aa 001522 155160 151154 zero 55920,53868 aa 001523 145114 155157 zero 51788,55919 aa 001524 144145 000000 zero 51301 L10: aa 001525 000000 213000 256 epaq 0 " set lp to linkage section aa 001526 700026 764161 lprplp sb|22,*au aa 001527 200000 021100 adlx1 bp|0 " BCPL save aa 001530 700000 542111 sprpbp sb|0,x1 aa 001531 700001 544111 sprplp sb|1,x1 aa 001532 700425 620111 eax0 sb|277,x1 aa 001533 777760 360003 anx0 -16,du aa 001534 700025 740100 stx0 sb|21 aa 001535 600023 740100 stx0 sp|19 " end of save sequence aa 001536 000166 710004 258 tra L110 L111: aa 001537 700002 761111 259 lprpab sb|2,x1 " x aa 001540 100001 236100 ldq ab|1 aa 001541 700014 756111 stq sb|12,x1 aa 001542 700003 236111 ldq sb|3,x1 " Desc aa 001543 700015 756111 stq sb|13,x1 aa 001544 000247 272004 tsbbp L7+2 " CompileOperand aa 001545 000012 000002 zero 10,2 aa 001546 000200 710004 262 tra L108 L112: 4a 001547 400044 272120 263 tsbbp lp|L58,* " MakeTemp aa 001550 000012 000000 zero 10 aa 001551 700004 756111 stq sb|4,x1 " Result aa 001552 000103 236007 264 ldq 67,dl " LVECAP_S aa 001553 700014 756111 stq sb|12,x1 aa 001554 700004 236111 ldq sb|4,x1 " Result aa 001555 700015 756111 stq sb|13,x1 aa 001556 700002 763111 lprpbb sb|2,x1 " x aa 001557 300001 236100 ldq bb|1 aa 001560 700016 756111 stq sb|14,x1 aa 001561 700002 765111 lprplb sb|2,x1 " x aa 001562 500002 236100 ldq lb|2 aa 001563 700017 756111 stq sb|15,x1 aa 001564 777415 272004 tsbbp L11+2 " CompileWithOffset aa 001565 000012 000004 zero 10,4 aa 001566 700004 236111 265 ldq sb|4,x1 " Result aa 001567 700014 756111 stq sb|12,x1 aa 001570 700003 236111 ldq sb|3,x1 " Desc aa 001571 700015 756111 stq sb|13,x1 aa 001572 000221 272004 tsbbp L7+2 " CompileOperand aa 001573 000012 000002 zero 10,2 aa 001574 000152 710004 268 tra L108 L113: aa 001575 700002 236111 269 ldq sb|2,x1 " x aa 001576 700014 756111 stq sb|12,x1 4a 001577 400026 272120 tsbbp lp|L114,* " Cellwithname aa 001600 000012 000001 zero 10,1 aa 001601 700005 756111 stq sb|5,x1 " T aa 001602 700005 760111 270 lprpap sb|5,x1 " T aa 001603 000002 236100 ldq ap|2 aa 001604 700003 762111 lprpbp sb|3,x1 " Desc aa 001605 200001 756100 stq bp|1 aa 001606 700002 761111 lprpab sb|2,x1 " x aa 001607 100001 236100 ldq ab|1 aa 001610 700003 763111 lprpbb sb|3,x1 " Desc aa 001611 300002 756100 stq bb|2 aa 001612 000036 710004 272 tra L117 L118: aa 001613 000107 236007 273 ldq 71,dl " LV_GLOBAL aa 001614 000047 710004 274 tra L115 L119: aa 001615 000111 236007 275 ldq 73,dl " LV_STATIC aa 001616 000045 710004 276 tra L115 L120: aa 001617 700003 765111 277 lprplb sb|3,x1 " Desc aa 001620 500001 235100 lda lb|1 aa 001621 000022 771000 arl 18 aa 001622 600416 115100 cmpa sp|270 " RtdefNesting aa 001623 000007 600004 tze L121 aa 001624 000316 235007 lda 206,dl " FreeVar aa 001625 700014 755111 sta sb|12,x1 aa 001626 700002 235111 lda sb|2,x1 " x aa 001627 700015 755111 sta sb|13,x1 4a 001630 400074 272120 tsbbp lp|L22,* " Transreport aa 001631 000012 000002 zero 10,2 L121: aa 001632 777777 235007 278 lda -1,dl " Right aa 001633 700003 760111 lprpap sb|3,x1 " Desc aa 001634 000001 355100 ansa ap|1 aa 001635 000110 236007 279 ldq 72,dl " LV_LOCAL aa 001636 000025 710004 280 tra L115 L122: aa 001637 000317 235007 lda 207,dl " LmodeRequired aa 001640 700014 755111 sta sb|12,x1 aa 001641 700002 235111 lda sb|2,x1 " x aa 001642 700015 755111 sta sb|13,x1 4a 001643 400074 272120 tsbbp lp|L22,* " Transreport aa 001644 000012 000002 zero 10,2 aa 001645 700005 762111 281 lprpbp sb|5,x1 " T aa 001646 200001 236100 ldq bp|1 aa 001647 000014 710004 tra L115 L117: " Begin switchon aa 001650 700005 761111 lprpab sb|5,x1 " T aa 001651 100001 235100 lda ab|1 aa 001652 000174 115007 cmpa 124,dl aa 001653 000003 604004 tmi L123 aa 001654 777741 600004 tze L119 aa 001655 777762 710004 tra L122 L123: aa 001656 000052 115007 cmpa 42,dl aa 001657 777734 600004 tze L118 aa 001660 000072 115007 cmpa 58,dl aa 001661 777736 600004 tze L120 aa 001662 777755 710004 tra L122 L116: L115: aa 001663 700003 763111 lprpbb sb|3,x1 " Desc aa 001664 300000 756100 stq bb|0 aa 001665 000061 710004 285 tra L108 L124: aa 001666 700003 765111 287 lprplb sb|3,x1 " Desc aa 001667 500002 450100 stz lb|2 aa 001670 700002 760111 lprpap sb|2,x1 " x aa 001671 000001 236100 ldq ap|1 aa 001672 700003 762111 lprpbp sb|3,x1 " Desc aa 001673 200001 756100 stq bp|1 aa 001674 700002 761111 lprpab sb|2,x1 " x aa 001675 100000 236100 ldq ab|0 aa 001676 777777 376007 anq -1,dl " Right aa 001677 000072 116007 cmpq 58,dl " LOCAL_S aa 001700 000003 601004 tnz L125 aa 001701 000110 236007 ldq 72,dl " LV_LOCAL aa 001702 000002 710004 tra L126 L125: aa 001703 000112 236007 ldq 74,dl " LV_TEMP L126: aa 001704 700003 763111 lprpbb sb|3,x1 " Desc aa 001705 300000 756100 stq bb|0 aa 001706 000040 710004 290 tra L108 L127: aa 001707 000317 236007 ldq 207,dl " LmodeRequired aa 001710 700014 756111 stq sb|12,x1 aa 001711 700002 236111 ldq sb|2,x1 " x aa 001712 700015 756111 stq sb|13,x1 4a 001713 400074 272120 tsbbp lp|L22,* " Transreport aa 001714 000012 000002 zero 10,2 aa 001715 700002 236111 291 ldq sb|2,x1 " x aa 001716 700014 756111 stq sb|12,x1 aa 001717 700003 236111 ldq sb|3,x1 " Desc aa 001720 700015 756111 stq sb|13,x1 aa 001721 000072 272004 tsbbp L7+2 " CompileOperand aa 001722 000012 000002 zero 10,2 aa 001723 000023 710004 tra L109 L110: aa 001724 700002 765111 lprplb sb|2,x1 " x aa 001725 500000 236100 ldq lb|0 aa 001726 777777 376007 anq -1,dl " Right " Begin switchon aa 001727 000044 777000 llr 36 " exchange A and Q aa 001730 000163 115007 cmpa 115,dl aa 001731 000010 604004 tmi L128 aa 001732 777605 600004 tze L111 aa 001733 000203 115007 cmpa 131,dl aa 001734 777732 600004 tze L124 aa 001735 000216 115007 cmpa 142,dl aa 001736 777611 600004 tze L112 aa 001737 777750 710004 tra L127 aa 001740 700004 755111 sta sb|4,x1 " temporary L128: aa 001741 000072 115007 cmpa 58,dl aa 001742 777724 600004 tze L124 aa 001743 000122 115007 cmpa 82,dl aa 001744 777631 600004 tze L113 aa 001745 777742 710004 tra L127 L109: L108: aa 001746 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001747 200000 121100 sblx1 bp|0 aa 001750 700001 764111 lprplp sb|1,x1 aa 001751 200001 710100 tra bp|1 " end of return sequence " Begin text of StoreTableItem aa 001752 000016 123164 zero 14,42612 " StoreTableItem aa 001753 157162 145124 zero 56946,51796 aa 001754 141142 154145 zero 49762,55397 aa 001755 111164 145155 zero 37492,51821 L9: aa 001756 000000 213000 253 epaq 0 " set lp to linkage section aa 001757 700026 764161 lprplp sb|22,*au aa 001760 200000 021100 adlx1 bp|0 " BCPL save aa 001761 700000 542111 sprpbp sb|0,x1 aa 001762 700001 544111 sprplp sb|1,x1 aa 001763 700423 620111 eax0 sb|275,x1 aa 001764 777760 360003 anx0 -16,du aa 001765 700025 740100 stx0 sb|21 aa 001766 600023 740100 stx0 sp|19 " end of save sequence aa 001767 700002 235111 254 lda sb|2,x1 " x aa 001770 700012 755111 sta sb|10,x1 aa 001771 700003 235111 lda sb|3,x1 " n aa 001772 000001 735000 als 1 aa 001773 000001 075007 ada 1,dl " 1 aa 001774 600424 760100 lprpap sp|276 " TableCell aa 001775 000000 350105 eapap ap|0,al aa 001776 700013 540111 sprpap sb|11,x1 4a 001777 400024 272120 tsbbp lp|L132,* " PartialEvalconst aa 002000 000010 000002 zero 8,2 L131: aa 002001 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002002 200000 121100 sblx1 bp|0 aa 002003 700001 764111 lprplp sb|1,x1 aa 002004 200001 710100 tra bp|1 " end of return sequence " Begin text of CompileOperand aa 002005 000016 103157 zero 14,34415 " CompileOperand aa 002006 155160 151154 zero 55920,53868 aa 002007 145117 160145 zero 51791,57445 aa 002010 162141 156144 zero 58465,56420 L7: aa 002011 000000 213000 174 epaq 0 " set lp to linkage section aa 002012 700026 764161 lprplp sb|22,*au aa 002013 200000 021100 adlx1 bp|0 " BCPL save aa 002014 700000 542111 sprpbp sb|0,x1 aa 002015 700001 544111 sprplp sb|1,x1 aa 002016 700424 620111 eax0 sb|276,x1 aa 002017 777760 360003 anx0 -16,du aa 002020 700025 740100 stx0 sb|21 aa 002021 600023 740100 stx0 sp|19 " end of save sequence aa 002022 700002 760111 175 lprpap sb|2,x1 " x aa 002023 000000 235100 lda ap|0 aa 002024 777777 375007 ana -1,dl " Right aa 002025 700004 755111 sta sb|4,x1 " Op aa 002026 000347 710004 177 tra L137 L138: aa 002027 700002 235111 178 lda sb|2,x1 " x aa 002030 700016 755111 sta sb|14,x1 4a 002031 400026 272120 tsbbp lp|L114,* " Cellwithname aa 002032 000014 000001 zero 12,1 aa 002033 700005 756111 stq sb|5,x1 " T aa 002034 700002 762111 179 lprpbp sb|2,x1 " x aa 002035 200001 236100 ldq bp|1 aa 002036 700003 761111 lprpab sb|3,x1 " Desc aa 002037 100002 756100 stq ab|2 aa 002040 700005 763111 lprpbb sb|5,x1 " T aa 002041 300001 236100 ldq bb|1 aa 002042 700003 765111 lprplb sb|3,x1 " Desc aa 002043 500000 756100 stq lb|0 aa 002044 700005 760111 lprpap sb|5,x1 " T aa 002045 000002 236100 ldq ap|2 aa 002046 700003 762111 lprpbp sb|3,x1 " Desc aa 002047 200001 756100 stq bp|1 aa 002050 700003 761111 180 lprpab sb|3,x1 " Desc aa 002051 100000 236100 ldq ab|0 aa 002052 000072 116007 cmpq 58,dl " LOCAL_S aa 002053 000017 601004 tnz L139 aa 002054 700003 763111 181 lprpbb sb|3,x1 " Desc aa 002055 300001 235100 lda bb|1 aa 002056 000022 771000 arl 18 aa 002057 600416 115100 cmpa sp|270 " RtdefNesting aa 002060 000007 600004 tze L140 aa 002061 000316 235007 lda 206,dl " FreeVar aa 002062 700016 755111 sta sb|14,x1 aa 002063 700002 235111 lda sb|2,x1 " x aa 002064 700017 755111 sta sb|15,x1 4a 002065 400074 272120 tsbbp lp|L22,* " Transreport aa 002066 000014 000002 zero 12,2 L140: aa 002067 777777 235007 182 lda -1,dl " Right aa 002070 700003 765111 lprplb sb|3,x1 " Desc aa 002071 500001 355100 ansa lb|1 L139: aa 002072 000363 710004 186 tra L135 L141: aa 002073 700002 760111 188 lprpap sb|2,x1 " x aa 002074 000001 235100 lda ap|1 aa 002075 700003 762111 lprpbp sb|3,x1 " Desc aa 002076 200001 755100 sta bp|1 aa 002077 700003 761111 lprpab sb|3,x1 " Desc aa 002100 100002 450100 stz ab|2 aa 002101 700004 235111 lda sb|4,x1 " Op aa 002102 700003 763111 lprpbb sb|3,x1 " Desc aa 002103 300000 755100 sta bb|0 aa 002104 000351 710004 191 tra L135 L142: aa 002105 700002 765111 194 lprplb sb|2,x1 " x aa 002106 500001 235100 lda lb|1 aa 002107 700003 760111 lprpap sb|3,x1 " Desc aa 002110 000001 755100 sta ap|1 aa 002111 700004 235111 lda sb|4,x1 " Op aa 002112 700003 762111 lprpbp sb|3,x1 " Desc aa 002113 200000 755100 sta bp|0 aa 002114 700002 761111 lprpab sb|2,x1 " x aa 002115 100001 235100 lda ab|1 aa 002116 700003 763111 lprpbb sb|3,x1 " Desc aa 002117 300002 755100 sta bb|2 aa 002120 000335 710004 197 tra L135 L143: aa 002121 700003 765111 198 lprplb sb|3,x1 " Desc aa 002122 500002 450100 stz lb|2 aa 002123 000017 235007 lda 15,dl " CONSTANT_S aa 002124 700003 760111 lprpap sb|3,x1 " Desc aa 002125 000000 755100 sta ap|0 aa 002126 700002 762111 lprpbp sb|2,x1 " x aa 002127 200001 235100 lda bp|1 aa 002130 700003 761111 lprpab sb|3,x1 " Desc aa 002131 100001 755100 sta ab|1 aa 002132 000323 710004 201 tra L135 L144: aa 002133 000206 235007 202 lda 134,dl " TRUE_S aa 002134 700003 763111 lprpbb sb|3,x1 " Desc aa 002135 300000 755100 sta bb|0 aa 002136 000335 371404 eaplb L145 " "true" aa 002137 700003 760111 lprpap sb|3,x1 " Desc aa 002140 000002 545100 sprplb ap|2 aa 002141 000001 335007 lca 1,dl " true aa 002142 700003 765111 lprplb sb|3,x1 " Desc aa 002143 500001 755100 sta lb|1 aa 002144 000311 710004 205 tra L135 L146: aa 002145 000037 235007 206 lda 31,dl " FALSE_S aa 002146 700003 762111 lprpbp sb|3,x1 " Desc aa 002147 200000 755100 sta bp|0 aa 002150 000321 351404 eapab L147 " "false" aa 002151 700003 763111 lprpbb sb|3,x1 " Desc aa 002152 300002 541100 sprpab bb|2 aa 002153 700003 761111 lprpab sb|3,x1 " Desc aa 002154 100001 450100 stz ab|1 aa 002155 000300 710004 209 tra L135 L148: aa 002156 700002 760111 210 lprpap sb|2,x1 " x aa 002157 000001 235100 lda ap|1 aa 002160 700016 755111 sta sb|14,x1 aa 002161 700003 235111 lda sb|3,x1 " Desc aa 002162 700017 755111 sta sb|15,x1 aa 002163 777344 272004 tsbbp L10+2 " CompileLmode aa 002164 000014 000002 zero 12,2 aa 002165 000270 710004 213 tra L135 L149: aa 002166 700002 765111 214 lprplb sb|2,x1 " x aa 002167 500001 235100 lda lb|1 aa 002170 700016 755111 sta sb|14,x1 4a 002171 400066 272120 tsbbp lp|L43,* " Evalconst aa 002172 000014 000001 zero 12,1 aa 002173 700006 756111 stq sb|6,x1 " n aa 002174 700006 234111 215 szn sb|6,x1 " n aa 002175 000011 605004 tpl L150 aa 002176 000320 236007 216 ldq 208,dl " NegVector aa 002177 700016 756111 stq sb|14,x1 aa 002200 700002 762111 lprpbp sb|2,x1 " x aa 002201 200001 236100 ldq bp|1 aa 002202 700017 756111 stq sb|15,x1 4a 002203 400074 272120 tsbbp lp|L22,* " Transreport aa 002204 000014 000002 zero 12,2 aa 002205 700006 450111 217 stz sb|6,x1 " n L150: aa 002206 700006 236111 219 ldq sb|6,x1 " n aa 002207 000001 076007 adq 1,dl " 1 aa 002210 700016 756111 stq sb|14,x1 4a 002211 400022 272120 tsbbp lp|L151,* " AllocateLocal aa 002212 000014 000001 zero 12,1 aa 002213 700007 756111 stq sb|7,x1 " p aa 002214 000252 353404 220 eapbb L152 " "a vector" aa 002215 700003 761111 lprpab sb|3,x1 " Desc aa 002216 100002 543100 sprpbb ab|2 aa 002217 000110 236007 ldq 72,dl " LV_LOCAL aa 002220 700003 763111 lprpbb sb|3,x1 " Desc aa 002221 300000 756100 stq bb|0 aa 002222 700007 236111 ldq sb|7,x1 " p aa 002223 700003 760111 lprpap sb|3,x1 " Desc aa 002224 000001 756100 stq ap|1 aa 002225 000230 710004 223 tra L135 L153: aa 002226 700002 765111 224 lprplb sb|2,x1 " x aa 002227 500001 236100 ldq lb|1 aa 002230 700016 756111 stq sb|14,x1 4a 002231 400020 272120 tsbbp lp|L154,* " ListSize aa 002232 000014 000001 zero 12,1 aa 002233 700010 756111 stq sb|8,x1 aa 002234 700010 236111 ldq sb|8,x1 aa 002235 700016 756111 stq sb|14,x1 4a 002236 400022 272120 tsbbp lp|L151,* " AllocateLocal aa 002237 000014 000001 zero 12,1 aa 002240 700007 756111 stq sb|7,x1 " p aa 002241 700002 762111 225 lprpbp sb|2,x1 " x aa 002242 200001 236100 ldq bp|1 aa 002243 700016 756111 stq sb|14,x1 aa 002244 776675 351404 eapab L8 " LoadListItem aa 002245 700017 541111 sprpab sb|15,x1 aa 002246 700007 236111 ldq sb|7,x1 " p aa 002247 700020 756111 stq sb|16,x1 4a 002250 400016 272120 tsbbp lp|L155,* " WalkList aa 002251 000014 000003 zero 12,3 aa 002252 000110 236007 226 ldq 72,dl " LV_LOCAL aa 002253 700003 761111 lprpab sb|3,x1 " Desc aa 002254 100000 756100 stq ab|0 aa 002255 000207 353404 eapbb L156 " "a list" aa 002256 700003 760111 lprpap sb|3,x1 " Desc aa 002257 000002 543100 sprpbb ap|2 aa 002260 700007 236111 ldq sb|7,x1 " p aa 002261 700003 763111 lprpbb sb|3,x1 " Desc aa 002262 300001 756100 stq bb|1 aa 002263 000172 710004 229 tra L135 L157: aa 002264 700002 765111 230 lprplb sb|2,x1 " x aa 002265 500001 236100 ldq lb|1 aa 002266 700016 756111 stq sb|14,x1 4a 002267 400020 272120 tsbbp lp|L154,* " ListSize aa 002270 000014 000001 zero 12,1 aa 002271 700006 756111 stq sb|6,x1 " n aa 002272 600424 236100 231 ldq sp|276 " TableCell aa 002273 700007 756111 stq sb|7,x1 " p aa 002274 700006 236111 232 ldq sb|6,x1 " n aa 002275 000001 736000 qls 1 aa 002276 700016 756111 stq sb|14,x1 4a 002277 400014 272120 tsbbp lp|L158,* " Newvec aa 002300 000014 000001 zero 12,1 aa 002301 600424 756100 stq sp|276 " TableCell aa 002302 700006 236111 233 ldq sb|6,x1 " n aa 002303 600424 762100 lprpbp sp|276 " TableCell aa 002304 200000 756100 stq bp|0 aa 002305 700002 761111 234 lprpab sb|2,x1 " x aa 002306 100001 236100 ldq ab|1 aa 002307 700016 756111 stq sb|14,x1 aa 002310 777446 350004 eapap L9 " StoreTableItem aa 002311 700017 540111 sprpap sb|15,x1 aa 002312 700020 450111 stz sb|16,x1 4a 002313 400016 272120 tsbbp lp|L155,* " WalkList aa 002314 000014 000003 zero 12,3 aa 002315 600424 236100 235 ldq sp|276 " TableCell aa 002316 700003 760111 lprpap sb|3,x1 " Desc aa 002317 000001 756100 stq ap|1 aa 002320 000202 236007 ldq 130,dl " TABLE_S aa 002321 700003 763111 lprpbb sb|3,x1 " Desc aa 002322 300000 756100 stq bb|0 aa 002323 000136 371404 eaplb L159 " "a table" aa 002324 700003 762111 lprpbp sb|3,x1 " Desc aa 002325 200002 545100 sprplb bp|2 aa 002326 700007 236111 236 ldq sb|7,x1 " p aa 002327 600424 756100 stq sp|276 " TableCell aa 002330 000125 710004 239 tra L135 L160: aa 002331 600152 234100 szn sp|106 " Optimize aa 002332 000023 600004 tze L161 aa 002333 700002 236111 ldq sb|2,x1 " x aa 002334 700016 756111 stq sb|14,x1 4a 002335 400072 272120 tsbbp lp|L27,* " IsConst aa 002336 000014 000001 zero 12,1 aa 002337 000000 116007 cmpq 0,dl aa 002340 000015 600004 tze L162 aa 002341 700003 765111 240 lprplb sb|3,x1 " Desc aa 002342 500002 450100 stz lb|2 aa 002343 000017 236007 ldq 15,dl " CONSTANT_S aa 002344 700003 761111 lprpab sb|3,x1 " Desc aa 002345 100000 756100 stq ab|0 aa 002346 700002 236111 ldq sb|2,x1 " x aa 002347 700016 756111 stq sb|14,x1 4a 002350 400066 272120 tsbbp lp|L43,* " Evalconst aa 002351 000014 000001 zero 12,1 aa 002352 700003 760111 lprpap sb|3,x1 " Desc aa 002353 000001 756100 stq ap|1 aa 002354 000101 710004 241 tra L135 L162: L161: 4a 002355 400044 272120 243 tsbbp lp|L58,* " MakeTemp aa 002356 000014 000000 zero 12 aa 002357 700010 756111 stq sb|8,x1 " Result aa 002360 700010 236111 244 ldq sb|8,x1 " Result aa 002361 700016 756111 stq sb|14,x1 aa 002362 700002 236111 ldq sb|2,x1 " x aa 002363 700017 756111 stq sb|15,x1 aa 002364 775423 272004 tsbbp L1+2 " CompileExpression aa 002365 000014 000002 zero 12,2 aa 002366 700010 236111 245 ldq sb|8,x1 " Result aa 002367 700016 756111 stq sb|14,x1 aa 002370 700003 236111 ldq sb|3,x1 " Desc aa 002371 700017 756111 stq sb|15,x1 aa 002372 777421 272004 tsbbp L7+2 " CompileOperand aa 002373 000014 000002 zero 12,2 aa 002374 000061 710004 246 tra L135 L137: " Begin switchon aa 002375 700004 235111 lda sb|4,x1 " Op aa 002376 000176 115007 cmpa 126,dl aa 002377 000017 604004 tmi L163 aa 002400 777505 600004 tze L142 aa 002401 000215 115007 cmpa 141,dl aa 002402 000003 604004 tmi L164 aa 002403 777563 600004 tze L149 aa 002404 777725 710004 tra L160 L164: aa 002405 000206 115007 cmpa 134,dl aa 002406 000003 604004 tmi L165 aa 002407 777524 600004 tze L144 aa 002410 777721 710004 tra L160 L165: aa 002411 000202 115007 cmpa 130,dl aa 002412 777652 600004 tze L157 aa 002413 000203 115007 cmpa 131,dl aa 002414 777457 600004 tze L141 aa 002415 777714 710004 tra L160 L163: aa 002416 000071 115007 cmpa 57,dl aa 002417 000025 604004 tmi L166 aa 002420 777606 600004 tze L153 aa 002421 000043 773000 lrl 35 aa 002422 000007 507007 dvf 7,dl " hash table size 0a 002423 002435 115006 cmpa L167,ql aa 002424 777705 601004 tnz L160 0a 002425 002426 710006 tra L168,ql L168: aa 002426 777457 710004 tra L142 aa 002427 777702 710004 tra L160 aa 002430 777443 710004 tra L141 aa 002431 777525 710004 tra L148 aa 002432 777677 710004 tra L160 aa 002433 777374 710004 tra L138 aa 002434 777675 710004 tra L160 L167: aa 002435 000000 000015 zero 0,13 aa 002436 000000 000000 zero 0 aa 002437 000000 000010 zero 0,8 aa 002440 000000 000011 zero 0,9 aa 002441 000000 000000 zero 0 aa 002442 000000 000013 zero 0,11 aa 002443 000000 000000 zero 0 L166: aa 002444 000037 115007 cmpa 31,dl aa 002445 000003 604004 tmi L169 aa 002446 777477 600004 tze L146 aa 002447 777662 710004 tra L160 L169: aa 002450 000013 115007 cmpa 11,dl aa 002451 777434 600004 tze L142 aa 002452 000017 115007 cmpa 15,dl aa 002453 777446 600004 tze L143 aa 002454 777655 710004 tra L160 L136: L135: aa 002455 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002456 200000 121100 sblx1 bp|0 aa 002457 700001 764111 lprplp sb|1,x1 aa 002460 200001 710100 tra bp|1 " end of return sequence " Literal pool L159: aa 002461 000007 141040 zero 7,49696 " "a table" aa 002462 164141 142154 zero 59489,50284 aa 002463 145000 000000 zero 51712 L156: aa 002464 000006 141040 zero 6,49696 " "a list" aa 002465 154151 163164 zero 55401,58996 L152: aa 002466 000010 141040 zero 8,49696 " "a vector" aa 002467 166145 143164 zero 60517,50804 aa 002470 157162 000000 zero 56946 L147: aa 002471 000005 146141 zero 5,52321 " "false" aa 002472 154163 145000 zero 55411,51712 L145: aa 002473 000004 164162 zero 4,59506 " "true" aa 002474 165145 000000 zero 60005 " Begin text of ClaimResult aa 002475 000013 103154 zero 11,34412 " ClaimResult aa 002476 141151 155122 zero 49769,55890 aa 002477 145163 165154 zero 51827,60012 aa 002500 164000 000000 zero 59392 L6: aa 002501 000000 213000 167 epaq 0 " set lp to linkage section aa 002502 700026 764161 lprplp sb|22,*au aa 002503 200000 021100 adlx1 bp|0 " BCPL save aa 002504 700000 542111 sprpbp sb|0,x1 aa 002505 700001 544111 sprplp sb|1,x1 aa 002506 700424 620111 eax0 sb|276,x1 aa 002507 777760 360003 anx0 -16,du aa 002510 700025 740100 stx0 sb|21 aa 002511 600023 740100 stx0 sp|19 " end of save sequence 4a 002512 400044 272120 168 tsbbp lp|L58,* " MakeTemp aa 002513 000012 000000 zero 10 aa 002514 700004 756111 stq sb|4,x1 " T aa 002515 700006 353511 eapbb sb|6,x1 " a vector aa 002516 700003 543111 sprpbb sb|3,x1 " Desc aa 002517 700004 236111 169 ldq sb|4,x1 " T aa 002520 700014 756111 stq sb|12,x1 aa 002521 700003 236111 ldq sb|3,x1 " Desc aa 002522 700015 756111 stq sb|13,x1 aa 002523 777004 272004 tsbbp L10+2 " CompileLmode aa 002524 000012 000002 zero 10,2 aa 002525 700003 236111 170 ldq sb|3,x1 " Desc aa 002526 700014 756111 stq sb|12,x1 4a 002527 400012 272120 tsbbp lp|L173,* " GenerateClaimResult aa 002530 000012 000001 zero 10,1 aa 002531 000002 236007 171 ldq 2,dl " ASSIGN_S aa 002532 700014 756111 stq sb|12,x1 aa 002533 700002 236111 ldq sb|2,x1 " x aa 002534 700015 756111 stq sb|13,x1 aa 002535 700004 236111 ldq sb|4,x1 " T aa 002536 700016 756111 stq sb|14,x1 aa 002537 776235 272004 tsbbp L2+2 " Monadic aa 002540 000012 000003 zero 10,3 L172: aa 002541 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002542 200000 121100 sblx1 bp|0 aa 002543 700001 764111 lprplp sb|1,x1 aa 002544 200001 710100 tra bp|1 " end of return sequence " Begin text of SetResult aa 002545 000011 123145 zero 9,42597 " SetResult aa 002546 164122 145163 zero 59474,51827 aa 002547 165154 164000 zero 60012,59392 L5: aa 002550 000000 213000 162 epaq 0 " set lp to linkage section aa 002551 700026 764161 lprplp sb|22,*au aa 002552 200000 021100 adlx1 bp|0 " BCPL save aa 002553 700000 542111 sprpbp sb|0,x1 aa 002554 700001 544111 sprplp sb|1,x1 aa 002555 700423 620111 eax0 sb|275,x1 aa 002556 777760 360003 anx0 -16,du aa 002557 700025 740100 stx0 sb|21 aa 002560 600023 740100 stx0 sp|19 " end of save sequence aa 002561 700004 353511 163 eapbb sb|4,x1 " a vector aa 002562 700003 543111 sprpbb sb|3,x1 " Desc aa 002563 700002 236111 164 ldq sb|2,x1 " x aa 002564 700012 756111 stq sb|10,x1 aa 002565 700003 236111 ldq sb|3,x1 " Desc aa 002566 700013 756111 stq sb|11,x1 aa 002567 777224 272004 tsbbp L7+2 " CompileOperand aa 002570 000010 000002 zero 8,2 aa 002571 700003 236111 165 ldq sb|3,x1 " Desc aa 002572 700012 756111 stq sb|10,x1 4a 002573 400010 272120 tsbbp lp|L177,* " GenerateResultValue aa 002574 000010 000001 zero 8,1 L176: aa 002575 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002576 200000 121100 sblx1 bp|0 aa 002577 700001 764111 lprplp sb|1,x1 aa 002600 200001 710100 tra bp|1 " end of return sequence " Begin text of DecideOrder aa 002601 000013 104145 zero 11,34917 " DecideOrder aa 002602 143151 144145 zero 50793,51301 aa 002603 117162 144145 zero 40562,51301 aa 002604 162000 000000 zero 58368 L4: aa 002605 000000 213000 152 epaq 0 " set lp to linkage section aa 002606 700026 764161 lprplp sb|22,*au aa 002607 200000 021100 adlx1 bp|0 " BCPL save aa 002610 700000 542111 sprpbp sb|0,x1 aa 002611 700001 544111 sprplp sb|1,x1 aa 002612 700423 620111 eax0 sb|275,x1 aa 002613 777760 360003 anx0 -16,du aa 002614 700025 740100 stx0 sb|21 aa 002615 600023 740100 stx0 sp|19 " end of save sequence aa 002616 700006 450111 153 stz sb|6,x1 " Max aa 002617 700007 450111 stz sb|7,x1 " Min aa 002620 700004 236111 154 ldq sb|4,x1 " c aa 002621 700026 756111 stq sb|22,x1 4a 002622 400040 272120 tsbbp lp|L65,* " CountTemporaries aa 002623 000024 000001 zero 20,1 aa 002624 700014 756111 stq sb|12,x1 aa 002625 700002 236111 ldq sb|2,x1 " a aa 002626 700026 756111 stq sb|22,x1 4a 002627 400040 272120 tsbbp lp|L65,* " CountTemporaries aa 002630 000024 000001 zero 20,1 aa 002631 700012 756111 stq sb|10,x1 aa 002632 700003 236111 ldq sb|3,x1 " b aa 002633 700026 756111 stq sb|22,x1 4a 002634 400040 272120 tsbbp lp|L65,* " CountTemporaries aa 002635 000024 000001 zero 20,1 aa 002636 700013 756111 stq sb|11,x1 aa 002637 700012 353511 eapbb sb|10,x1 " a list aa 002640 700010 543111 sprpbb sb|8,x1 " T aa 002641 000001 236007 155 ldq 1,dl " 1 aa 002642 700011 756111 stq sb|9,x1 " i aa 002643 000037 710004 tra L182 L181: aa 002644 700011 722111 lxl2 sb|9,x1 " i aa 002645 700010 763111 lprpbb sb|8,x1 " T aa 002646 300000 236112 ldq bb|0,x2 aa 002647 700026 756111 stq sb|22,x1 aa 002650 700006 723111 lxl3 sb|6,x1 " Max aa 002651 700010 762111 lprpbp sb|8,x1 " T aa 002652 200000 236113 ldq bp|0,x3 aa 002653 700027 756111 stq sb|23,x1 aa 002654 776224 272004 tsbbp L3+2 " ChooseOrder aa 002655 000024 000002 zero 20,2 aa 002656 000000 116007 cmpq 0,dl aa 002657 000004 600004 tze L184 aa 002660 700011 236111 ldq sb|9,x1 " i aa 002661 700006 756111 stq sb|6,x1 " Max aa 002662 000017 710004 tra L183 L184: aa 002663 700011 724111 156 lxl4 sb|9,x1 " i aa 002664 700010 765111 lprplb sb|8,x1 " T aa 002665 500000 236114 ldq lb|0,x4 aa 002666 700026 756111 stq sb|22,x1 aa 002667 700007 725111 lxl5 sb|7,x1 " Min aa 002670 700010 761111 lprpab sb|8,x1 " T aa 002671 100000 236115 ldq ab|0,x5 aa 002672 700027 756111 stq sb|23,x1 aa 002673 776205 272004 tsbbp L3+2 " ChooseOrder aa 002674 000024 000002 zero 20,2 aa 002675 000000 116007 cmpq 0,dl aa 002676 000003 601004 tnz L185 aa 002677 700011 236111 ldq sb|9,x1 " i aa 002700 700007 756111 stq sb|7,x1 " Min L185: L183: aa 002701 700011 054111 aos sb|9,x1 " i L182: aa 002702 700011 236111 ldq sb|9,x1 " i aa 002703 000002 116007 cmpq 2,dl " 2 aa 002704 777740 604404 tmoz L181 aa 002705 700007 235111 157 lda sb|7,x1 " Min aa 002706 700006 115111 cmpa sb|6,x1 " Max aa 002707 000005 601004 tnz L186 aa 002710 700006 236111 ldq sb|6,x1 " Max aa 002711 000001 076007 adq 1,dl " 1 aa 002712 000003 506007 div 3,dl " 3 aa 002713 700007 755111 sta sb|7,x1 " Min L186: aa 002714 000003 236007 158 ldq 3,dl " 3 aa 002715 700007 176111 sbq sb|7,x1 " Min aa 002716 700006 176111 sbq sb|6,x1 " Max aa 002717 700011 756111 stq sb|9,x1 " Middle aa 002720 700011 236111 159 ldq sb|9,x1 " Middle aa 002721 000003 076007 adq 3,dl " 3 aa 002722 000001 235007 lda 1,dl " $81 aa 002723 000000 735006 als 0,ql aa 002724 700007 236111 ldq sb|7,x1 " Min aa 002725 000006 076007 adq 6,dl " 6 aa 002726 700017 755111 sta sb|15,x1 " temporary aa 002727 000001 235007 lda 1,dl " $81 aa 002730 000000 735006 als 0,ql aa 002731 700017 275111 ora sb|15,x1 aa 002732 000001 236007 ldq 1,dl " $81 aa 002733 700006 726111 lxl6 sb|6,x1 " Max aa 002734 000000 736016 qls 0,x6 aa 002735 600000 755100 sta sp|0 aa 002736 600000 276100 orq sp|0 L180: aa 002737 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002740 200000 121100 sblx1 bp|0 aa 002741 700001 764111 lprplp sb|1,x1 aa 002742 200001 710100 tra bp|1 " end of return sequence aa 002743 000000 000000 " padding " Definition section part one - external entry points 5a 000000 000026 000000 " pointer to first definition aa 000001 000000 600000 " flags: new format, ignore header aa 000002 000000 000000 " list terminator aa 000003 013142 143160 " "bcpl_trans4" aa 000004 154137 164162 aa 000005 141156 163064 aa 000006 016103 157155 " "CompileOperand" aa 000007 160151 154145 aa 000010 117160 145162 aa 000011 141156 144000 aa 000012 011123 145164 " "SetResult" aa 000013 122145 163165 aa 000014 154164 000000 aa 000015 021103 157155 " "CompileExpression" aa 000016 160151 154145 aa 000017 105170 160162 aa 000020 145163 163151 aa 000021 157156 000000 aa 000022 014163 171155 " "symbol_table" aa 000023 142157 154137 aa 000024 164141 142154 aa 000025 145000 000000 " Segname definition for bcpl_trans4 55 000026 000031 000002 " forward, backward threads 5a 000027 000002 400003 " value defined, class flags 55 000030 000003 000031 " name pointer, first entry def " Definition for CompileOperand 55 000031 000034 000026 " forward, backward threads 0a 000032 002011 500000 " value defined, class flags 55 000033 000006 000026 " name pointer, segname def pointer " Definition for SetResult 55 000034 000037 000031 " forward, backward threads 0a 000035 002550 500000 " value defined, class flags 55 000036 000012 000026 " name pointer, segname def pointer " Definition for CompileExpression 55 000037 000042 000034 " forward, backward threads 0a 000040 000005 500000 " value defined, class flags 55 000041 000015 000026 " name pointer, segname def pointer " Definition for symbol_table 55 000042 000002 000037 " forward, backward threads 6a 000043 000000 400002 " value defined, class flags 55 000044 000022 000026 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000045 021142 143160 " "bcpl_cg_interface" aa 000046 154137 143147 aa 000047 137151 156164 aa 000050 145162 146141 aa 000051 143145 000000 aa 000052 023107 145156 " "GenerateResultValue" aa 000053 145162 141164 aa 000054 145122 145163 aa 000055 165154 164126 aa 000056 141154 165145 5a 000057 000060 000000 aa 000060 000004 000000 55 000061 000045 000052 aa 000062 023107 145156 " "GenerateClaimResult" aa 000063 145162 141164 aa 000064 145103 154141 aa 000065 151155 122145 aa 000066 163165 154164 5a 000067 000070 000000 aa 000070 000004 000000 55 000071 000045 000062 aa 000072 014142 143160 " "bcpl_utility" aa 000073 154137 165164 aa 000074 151154 151164 aa 000075 171000 000000 aa 000076 006116 145167 " "Newvec" aa 000077 166145 143000 5a 000100 000101 000000 aa 000101 000004 000000 55 000102 000072 000076 aa 000103 013142 143160 " "bcpl_trans3" aa 000104 154137 164162 aa 000105 141156 163063 aa 000106 010127 141154 " "WalkList" aa 000107 153114 151163 aa 000110 164000 000000 5a 000111 000112 000000 aa 000112 000004 000000 55 000113 000103 000106 aa 000114 010114 151163 " "ListSize" aa 000115 164123 151172 aa 000116 145000 000000 5a 000117 000120 000000 aa 000120 000004 000000 55 000121 000103 000114 aa 000122 013142 143160 " "bcpl_trans6" aa 000123 154137 164162 aa 000124 141156 163066 aa 000125 015101 154154 " "AllocateLocal" aa 000126 157143 141164 aa 000127 145114 157143 aa 000130 141154 000000 5a 000131 000132 000000 aa 000132 000004 000000 55 000133 000122 000125 aa 000134 013142 143160 " "bcpl_trans5" aa 000135 154137 164162 aa 000136 141156 163065 aa 000137 020120 141162 " "PartialEvalconst" aa 000140 164151 141154 aa 000141 105166 141154 aa 000142 143157 156163 aa 000143 164000 000000 5a 000144 000145 000000 aa 000145 000004 000000 55 000146 000134 000137 aa 000147 013142 143160 " "bcpl_trans2" aa 000150 154137 164162 aa 000151 141156 163062 aa 000152 014103 145154 " "Cellwithname" aa 000153 154167 151164 aa 000154 150156 141155 aa 000155 145000 000000 5a 000156 000157 000000 aa 000157 000004 000000 55 000160 000147 000152 aa 000161 020105 166141 " "EvaluateOperator" aa 000162 154165 141164 aa 000163 145117 160145 aa 000164 162141 164157 aa 000165 162000 000000 5a 000166 000167 000000 aa 000167 000004 000000 55 000170 000134 000161 aa 000171 026107 145156 " "GenerateOffsetOperator" aa 000172 145162 141164 aa 000173 145117 146146 aa 000174 163145 164117 aa 000175 160145 162141 aa 000176 164157 162000 5a 000177 000200 000000 aa 000200 000004 000000 55 000201 000045 000171 aa 000202 020142 143160 " "bcpl_arithmetic_" aa 000203 154137 141162 aa 000204 151164 150155 aa 000205 145164 151143 aa 000206 137000 000000 aa 000207 007122 141156 " "RandomI" aa 000210 144157 155111 5a 000211 000212 000000 aa 000212 000004 000000 55 000213 000202 000207 aa 000214 027107 145156 " "GenerateMonadicOperator" aa 000215 145162 141164 aa 000216 145115 157156 aa 000217 141144 151143 aa 000220 117160 145162 aa 000221 141164 157162 5a 000222 000223 000000 aa 000223 000004 000000 55 000224 000045 000214 aa 000225 020103 157165 " "CountTemporaries" aa 000226 156164 124145 aa 000227 155160 157162 aa 000230 141162 151145 aa 000231 163000 000000 5a 000232 000233 000000 aa 000233 000004 000000 55 000234 000134 000225 aa 000235 013122 145143 " "RecordUsage" aa 000236 157162 144125 aa 000237 163141 147145 5a 000240 000241 000000 aa 000241 000004 000000 55 000242 000072 000235 aa 000243 010115 141153 " "MakeTemp" aa 000244 145124 145155 aa 000245 160000 000000 5a 000246 000247 000000 aa 000247 000004 000000 55 000250 000122 000243 aa 000251 011124 162141 " "TransFnap" aa 000252 156163 106156 aa 000253 141160 000000 5a 000254 000255 000000 aa 000255 000004 000000 55 000256 000122 000251 aa 000257 010122 145163 " "ResetSSP" aa 000260 145164 123123 aa 000261 120000 000000 5a 000262 000263 000000 aa 000263 000004 000000 55 000264 000122 000257 aa 000265 013142 143160 " "bcpl_trans1" aa 000266 154137 164162 aa 000267 141156 163061 aa 000270 011124 162141 " "Transbody" aa 000271 156163 142157 aa 000272 144171 000000 5a 000273 000274 000000 aa 000274 000004 000000 55 000275 000265 000270 aa 000276 015107 145156 " "GenerateLabel" aa 000277 145162 141164 aa 000300 145114 141142 aa 000301 145154 000000 5a 000302 000303 000000 aa 000303 000004 000000 55 000304 000045 000276 aa 000305 014107 145156 " "GenerateJump" aa 000306 145162 141164 aa 000307 145112 165155 aa 000310 160000 000000 5a 000311 000312 000000 aa 000312 000004 000000 55 000313 000045 000305 aa 000314 020124 162141 " "TransConditional" aa 000315 156163 103157 aa 000316 156144 151164 aa 000317 151157 156141 aa 000320 154000 000000 5a 000321 000322 000000 aa 000322 000004 000000 55 000323 000103 000314 aa 000324 023107 145156 " "GenerateResultBlock" aa 000325 145162 141164 aa 000326 145122 145163 aa 000327 165154 164102 aa 000330 154157 143153 5a 000331 000332 000000 aa 000332 000004 000000 55 000333 000045 000324 aa 000334 011116 145170 " "Nextparam" aa 000335 164160 141162 aa 000336 141155 000000 5a 000337 000340 000000 aa 000340 000004 000000 55 000341 000072 000334 aa 000342 011105 166141 " "Evalconst" aa 000343 154143 157156 aa 000344 163164 000000 5a 000345 000346 000000 aa 000346 000004 000000 55 000347 000134 000342 aa 000350 026107 145156 " "GenerateDiadicOperator" aa 000351 145162 141164 aa 000352 145104 151141 aa 000353 144151 143117 aa 000354 160145 162141 aa 000355 164157 162000 5a 000356 000357 000000 aa 000357 000004 000000 55 000360 000045 000350 aa 000361 007111 163103 " "IsConst" aa 000362 157156 163164 5a 000363 000364 000000 aa 000364 000004 000000 55 000365 000134 000361 aa 000366 013142 143160 " "bcpl_report" aa 000367 154137 162145 aa 000370 160157 162164 aa 000371 013124 162141 " "Transreport" aa 000372 156163 162145 aa 000373 160157 162164 5a 000374 000375 000000 aa 000375 000004 000000 55 000376 000366 000371 aa 000377 014123 141166 " "SaveOldUsage" aa 000400 145117 154144 aa 000401 125163 141147 aa 000402 145000 000000 5a 000403 000404 000000 aa 000404 000004 000000 55 000405 000072 000377 " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 002744 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000100 " offset to links, total length aa 000007 000000 000100 " obsolete length " External link pairs L177: 3a 000010 777770 000046 " "bcpl_cg_interface$GenerateResultValue" 5a 000011 000057 000000 L173: 3a 000012 777766 000046 " "bcpl_cg_interface$GenerateClaimResult" 5a 000013 000067 000000 L158: 3a 000014 777764 000046 " "bcpl_utility$Newvec" 5a 000015 000100 000000 L155: 3a 000016 777762 000046 " "bcpl_trans3$WalkList" 5a 000017 000111 000000 L154: 3a 000020 777760 000046 " "bcpl_trans3$ListSize" 5a 000021 000117 000000 L151: 3a 000022 777756 000046 " "bcpl_trans6$AllocateLocal" 5a 000023 000131 000000 L132: 3a 000024 777754 000046 " "bcpl_trans5$PartialEvalconst" 5a 000025 000144 000000 L114: 3a 000026 777752 000046 " "bcpl_trans2$Cellwithname" 5a 000027 000156 000000 L99: 3a 000030 777750 000046 " "bcpl_trans5$EvaluateOperator" 5a 000031 000166 000000 L90: 3a 000032 777746 000046 " "bcpl_cg_interface$GenerateOffsetOperator" 5a 000033 000177 000000 L75: 3a 000034 777744 000046 " "bcpl_arithmetic_$RandomI" 5a 000035 000211 000000 L68: 3a 000036 777742 000046 " "bcpl_cg_interface$GenerateMonadicOperator" 5a 000037 000222 000000 L65: 3a 000040 777740 000046 " "bcpl_trans5$CountTemporaries" 5a 000041 000232 000000 L61: 3a 000042 777736 000046 " "bcpl_utility$RecordUsage" 5a 000043 000240 000000 L58: 3a 000044 777734 000046 " "bcpl_trans6$MakeTemp" 5a 000045 000246 000000 L57: 3a 000046 777732 000046 " "bcpl_trans6$TransFnap" 5a 000047 000254 000000 L53: 3a 000050 777730 000046 " "bcpl_trans6$ResetSSP" 5a 000051 000262 000000 L52: 3a 000052 777726 000046 " "bcpl_trans1$Transbody" 5a 000053 000273 000000 L50: 3a 000054 777724 000046 " "bcpl_cg_interface$GenerateLabel" 5a 000055 000302 000000 L49: 3a 000056 777722 000046 " "bcpl_cg_interface$GenerateJump" 5a 000057 000311 000000 L48: 3a 000060 777720 000046 " "bcpl_trans3$TransConditional" 5a 000061 000321 000000 L47: 3a 000062 777716 000046 " "bcpl_cg_interface$GenerateResultBlock" 5a 000063 000331 000000 L46: 3a 000064 777714 000046 " "bcpl_utility$Nextparam" 5a 000065 000337 000000 L43: 3a 000066 777712 000046 " "bcpl_trans5$Evalconst" 5a 000067 000345 000000 L36: 3a 000070 777710 000046 " "bcpl_cg_interface$GenerateDiadicOperator" 5a 000071 000356 000000 L27: 3a 000072 777706 000046 " "bcpl_trans5$IsConst" 5a 000073 000363 000000 L22: 3a 000074 777704 000046 " "bcpl_report$Transreport" 5a 000075 000374 000000 L18: 3a 000076 777702 000046 " "bcpl_utility$SaveOldUsage" 5a 000077 000403 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 110731 " date/time compiler modified aa 000005 452422 044440 " 04/22/82 1732.8 mdt Thu aa 000006 000000 131036 " time of this compilation aa 000007 026020 642065 " 04/17/00 1920.9 mdt Mon aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000056 000034 " compiler version name - pointer, length aa 000013 000065 000022 " user id - pointer, length aa 000014 000072 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 000171 " section header pointer, block size aa 000020 000000 000171 " next block pointer, rel_text aa 000021 000000 000235 " rel_def, rel_link aa 000022 000251 000171 " 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 000103 000040 " bcpl_trans4 aa 000027 310157 122163 " last modified on aa 000030 000000 131036 " 04/17/00 1920.9 mdt Mon aa 000031 026020 600000 aa 000032 000113 000043 " bcpl_trans_head aa 000033 305736 045673 " last modified on aa 000034 000000 110731 " 04/22/82 1614.9 mdt Thu aa 000035 407546 600000 aa 000036 000124 000046 " bcpl_compiler_head aa 000037 305736 045654 " last modified on aa 000040 000000 110731 " 04/22/82 1614.9 mdt Thu aa 000041 407546 000000 aa 000042 000136 000040 " bcpl_symbols aa 000043 305736 045662 " last modified on aa 000044 000000 110731 " 04/22/82 1614.9 mdt Thu aa 000045 407546 200000 aa 000046 000146 000044 " bcpl_trans_codes aa 000047 305736 045645 " last modified on aa 000050 000000 110731 " 04/22/82 1614.9 mdt Thu aa 000051 407546 400000 aa 000052 000157 000046 " bcpl_metering_head aa 000053 305736 045647 " last modified on aa 000054 000000 110731 " 04/22/82 1614.9 mdt Thu aa 000055 407546 200000 aa 000056 102103 120114 " "BCPL version 3.5, March 1982" aa 000057 040166 145162 aa 000060 163151 157156 aa 000061 040063 056065 aa 000062 054040 115141 aa 000063 162143 150040 aa 000064 061071 070062 aa 000065 123143 150162 " "Schroth.SysMaint.m" aa 000066 157164 150056 aa 000067 123171 163115 aa 000070 141151 156164 aa 000071 056155 040040 aa 000072 163157 165162 " "source xref alist optimize 6180" aa 000073 143145 040040 aa 000074 170162 145146 aa 000075 040040 141154 aa 000076 151163 164040 aa 000077 040157 160164 aa 000100 151155 151172 aa 000101 145040 040066 aa 000102 061070 060040 aa 000103 076165 144144 " ">udd>sm>ds>w>ml>bcpl_trans4.bcpl" aa 000104 076163 155076 aa 000105 144163 076167 aa 000106 076155 154076 aa 000107 142143 160154 aa 000110 137164 162141 aa 000111 156163 064056 aa 000112 142143 160154 aa 000113 076154 144144 " ">ldd>incl>bcpl_trans_head.incl.bcpl" aa 000114 076151 156143 aa 000115 154076 142143 aa 000116 160154 137164 aa 000117 162141 156163 aa 000120 137150 145141 aa 000121 144056 151156 aa 000122 143154 056142 aa 000123 143160 154040 aa 000124 076154 144144 " ">ldd>incl>bcpl_compiler_head.incl.bcpl" aa 000125 076151 156143 aa 000126 154076 142143 aa 000127 160154 137143 aa 000130 157155 160151 aa 000131 154145 162137 aa 000132 150145 141144 aa 000133 056151 156143 aa 000134 154056 142143 aa 000135 160154 040040 aa 000136 076154 144144 " ">ldd>incl>bcpl_symbols.incl.bcpl" aa 000137 076151 156143 aa 000140 154076 142143 aa 000141 160154 137163 aa 000142 171155 142157 aa 000143 154163 056151 aa 000144 156143 154056 aa 000145 142143 160154 aa 000146 076154 144144 " ">ldd>incl>bcpl_trans_codes.incl.bcpl" aa 000147 076151 156143 aa 000150 154076 142143 aa 000151 160154 137164 aa 000152 162141 156163 aa 000153 137143 157144 aa 000154 145163 056151 aa 000155 156143 154056 aa 000156 142143 160154 aa 000157 076154 144144 " ">ldd>incl>bcpl_metering_head.incl.bcpl" aa 000160 076151 156143 aa 000161 154076 142143 aa 000162 160154 137155 aa 000163 145164 145162 aa 000164 151156 147137 aa 000165 150145 141144 aa 000166 056151 156143 aa 000167 154056 142143 aa 000170 160154 040040 " Relocation information " text section relocation bits aa 000171 000000 000002 " version number of rel-bits structure aa 000172 000000 002265 " length in bits aa 000173 740405 170057 aa 000174 236017 647406 aa 000175 551704 132360 aa 000176 726400 002474 aa 000177 043500 240120 aa 000200 000024 740215 aa 000201 000517 004323 aa 000202 601664 012000 aa 000203 240024 740275 aa 000204 170147 200517 aa 000205 010323 601660 aa 000206 744255 170137 aa 000207 200024 741135 aa 000210 170127 236175 aa 000211 647407 151700 aa 000212 772360 116474 aa 000213 023517 007723 aa 000214 601164 740215 aa 000215 170063 236055 aa 000216 647405 751701 aa 000217 432360 126474 aa 000220 117517 031723 aa 000221 603164 740675 aa 000222 170417 236011 aa 000223 640001 236017 aa 000224 640005 170047 aa 000225 236016 640000 aa 000226 051700 572360 aa 000227 216474 025500 aa 000230 012360 456004 aa 000231 170323 236014 aa 000232 647410 751701 aa 000233 332000 240005 aa 000234 170436 000000 l " inkage relocation bits aa 000235 000000 000002 " version number of rel-bits structure aa 000236 000000 000550 " length in bits aa 000237 100002 204652 aa 000240 465246 524652 aa 000241 465246 524652 aa 000242 465246 524652 aa 000243 465246 524652 aa 000244 465246 524652 aa 000245 465246 524652 aa 000246 465246 524652 aa 000247 465246 524652 aa 000250 465246 524652 s " ymbol relocation bits aa 000251 000000 000002 " version number of rel-bits structure aa 000252 000000 000043 " length in bits aa 000253 740365 770646 " Object map aa 003726 000000 000001 " version number of object_map structure aa 003727 157142 152137 " "obj_map " aa 003730 155141 160040 aa 003731 000000 002743 " text offset, length aa 003732 002744 000406 " def offset, length aa 003733 003352 000100 " link offset, length aa 003734 003452 000254 " symbol offset, length aa 003735 000000 000000 " break map offset, length aa 003736 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 003737 003726 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