1 2A few obsolete too. 3 4 5 6 ================================================ 7 Implicit Source Operand Conversion, Complex test 8 ================================================ 9 10 Features of target Operands 11 ------------------------------- 12 |Integer | String | Buffer | 13Features of source Operands | | | | 14---------------------------------------------------------------------- 15Integer |i1| 0x89abcdef |32/64 | | | 16 |i2| 0xfedcba9876543201 |i1 - i4 |i1 - i4 |i1 - i4 | 17 |i3| 0 | | | | 18 |i4| 0xffffffffffffffff | | | | 19 |i5| 0xffffffff | | | | 20---------------------------------------------------------------------- 21String =6|s1| "ba9876" |32: s1,s2| | | 22 =8|s2| "89abcdef" |64: s1,s3|s4,s5,s6 |s4,s5,s6 | 23 =16|s3| "fedcba9876543201" | | | | 24 =3|s4| "321" |exc32: | | | 25 =200|s5| | s6,s7, | | | 26 =0|s6| "" | s8,sc | | | 27 |s7| "1234q" |exc64: | | | 28 =9|s8| "987654321" | s6,s7, | | | 29 =17|s9| "9fedcba9876543210" | s9,sc | | | 30 |sa| "ffffffffffffffff" | | | | 31 |sb| "ffffffff" | | | | 32 |sc| "0xfedcba" | | | | 33---------------------------------------------------------------------- 34Buffer |b1| B(3){b0,b1,b2} |32: b1,b2|b1,b4,b7 |b1,b5,b7 | 35 |b2| B(6){b0,b1,...,b5} |64: b2,b3| | | 36 |b3| B(9){b0,b1,...,b8} | |exc: b6 | | 37 |b4| B(200){b0,...,b199} | | | | 38 |b5| B(257){b0,...,b256} | | | | 39 |b6| B(201){b0,...,b200} | | | | 40 |b7| B(0){} | | | | 41 |b8| B(){ff,ff,ff,ff, | | | | 42 | | ff,ff,ff,ff} | | | | 43 |b9| B(){ff,ff,ff,ff} | | | | 44---------------------------------------------------------------------- 45Buffer Field |f1| CF(11:23) |32: f1,f2|32: f5,f6|32: f5,f6| 46 |f2| CF(38:51) |64: f2,f3|64: f7,f8|64: f7,f8| 47 |f3| CF(101:74) | | | | 48 |f4| CF(179:0) |both: f4 |both: f4,|both: f4,| 49 |f5| CF(183:32) | | f9 | fb | 50 |f6| CF(219:33) | | | | 51 |f7| CF(257:64) | |exc: fa | | 52 |f8| CF(325:65) | | | | 53 |f9| CF(17:67*8) | | | | 54 |fa| CF(17:68*8) | | | | 55 |fb| CF(17:257*8) | | | | 56---------------------------------------------------------------------- 57 58Prepare the summary table: which operands which results: 59 60Buffer -> Buffer Field 61 1: 62 2: 63Buffer -> Debug Object 64 3: 65Buffer -> Field Unit 66 4: 67 5: 68Buffer -> Integer 69 6: b1 70 7: b3 71Buffer -> String 72 8: b1,b4,b7 73 9: b6 74Buffer Field -> [See Rule] 7510, 32: f4,f5 7610, 64: f4,f7 7711, 32: f6,f9,fb 7811, 64: f8,f9,fb 79Buffer Field -> Debug Object 8012: 81DDB Handle -> 8213: 83Field Unit -> 84/* 85SEE: 8614, 32: f4,f5 8714, 64: f4,f7 88 8915, 32: f6,f9,fb 9015, 64: f8,f9,fb 91*/ 92Field Unit -> Debug Object 9316: 94Integer -> Buffer 9517: i2 9618: 9719: 98Integer -> Buffer Field 9920: 10021: 101Integer -> Debug Object 10222: 103Integer -> Field Unit 10423: 10524: 106Integer -> String 10725, 32: i1, i2 10825, 64: i2 109Package -> Package 11026: 111Package -> Debug Object 11227: 113String -> Buffer 11428: s4,s5,s6 11529: 11630: 117String -> Buffer Field 11831: 11932: 120String -> Debug Object 12133: 122String -> Field Unit 12334: 12435: 125String -> Integer 12636, 32: s2 12736, 64: s3 128 129Coverage of Table 17-8 ("Object Conversion Rules"): 130 131 |Integer | String | Buffer | 132 | | | | 133-------------------------------------------------------------- 134 | | 25 | 17 | 135Integer 32| i1,i2 | i1,i2 | | 136 64| i2 | i2 | i2 | 137 | | | | 138-------------------------------------------------------------- 139 | 36 | | 28 | 140String 32| s2 exc:s8 | | | 141 64| s3 exc:s9 | s4,s5,s6 | s4,s5,s6 | 142 | exc: s6,s7 | | | 143-------------------------------------------------------------- 144 | 6,7 | 8,9 | | 145Buffer 32| | | | 146 64| 6:b1 7:b3 |8:b1,b4,b7 9:b6| b1,b5,b7 | 147 | | | | 148-------------------------------------------------------------- 149 | 10 | 10,11| 10,11| 150Buffer 32| f4,f5 |14:f4,f5 15:f6 |14:f4,f5 15:f6 | 151Field 64| f4,f7 |14:f4,f7 15:f8 |14:f4,f7 15:f8 | 152 | |15:f9 exc:fa |15:fb | 153-------------------------------------------------------------- 154