- Timestamp:
- Feb 21, 2017 5:23:11 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsPython.py
r65834 r65836 171 171 self.sMessage = sMessage; 172 172 173 ## For ascii ~ operator. 174 kdHexInv = { 175 '0': 'f', 176 '1': 'e', 177 '2': 'd', 178 '3': 'c', 179 '4': 'b', 180 '5': 'a', 181 '6': '9', 182 '7': '8', 183 '8': '7', 184 '9': '6', 185 'a': '5', 186 'b': '4', 187 'c': '3', 188 'd': '2', 189 'e': '1', 190 'f': '0', 191 }; 192 173 193 def get(self, sValue): 174 194 """ … … 198 218 raise TestType.BadValue('failed to convert "%s" to integer (%s)' % (sValue, oXcpt)); 199 219 200 # Convert the hex string and pad it to a decent value. 220 # Convert the hex string and pad it to a decent value. Negative values 221 # needs to be manually converted to something non-negative (~-n + 1). 201 222 if iValue >= 0: 202 223 sHex = hex(iValue); 203 else:204 sHex = hex(iValue);205 assert sHex[:2] == '0x', sHex;206 if sys.version_info[0] >= 3:224 if sys.version_info[0] < 3: 225 assert sHex[-1] == 'L'; 226 sHex = sHex[:-1]; 227 assert sHex[:2] == '0x'; 207 228 sHex = sHex[2:]; 208 229 else: 209 assert sHex[-1] == 'L'; 210 sHex = sHex[2:-1]; 230 sHex = hex(-iValue - 1); 231 if sys.version_info[0] < 3: 232 assert sHex[-1] == 'L'; 233 sHex = sHex[:-1]; 234 assert sHex[:2] == '0x'; 235 sHex = ''.join([self.kdHexInv[sDigit] for sDigit in sHex[2:]]); 211 236 212 237 cDigits = len(sHex); … … 1584 1609 oValid = TestInOut.kdTypes[sType].validate(sValue); 1585 1610 if oValid is True: 1586 if not TestInOut.kdTypes[sType].isAndOrPair(sValue) or sOp == ' !=':1611 if not TestInOut.kdTypes[sType].isAndOrPair(sValue) or sOp == '=': 1587 1612 oItem = TestInOut(sField, sOp, sValue, sType); 1588 1613 else: 1589 self.errorComment(iTagLine, 1590 '%s: and-or value "%s" can only be used with the "="' 1591 % ( sTag, sDesc, sValue, sItem, sType, )); 1614 self.errorComment(iTagLine, '%s: and-or %s value "%s" can only be used with the "="' 1615 % ( sTag, sDesc, sItem, )); 1592 1616 else: 1593 1617 self.errorComment(iTagLine, '%s: invalid %s value "%s" in "%s" (type: %s)'
Note:
See TracChangeset
for help on using the changeset viewer.

