microldstop.hh (6132:916f10213bea) | microldstop.hh (6345:f9ae7c3a036c) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * Redistribution and use of this software in source and binary forms, 6 * with or without modification, are permitted provided that the 7 * following conditions are met: 8 * --- 79 unchanged lines hidden (view full) --- 88 const uint8_t addressSize; 89 const Request::FlagsType memFlags; 90 RegIndex foldOBit, foldABit; 91 92 //Constructor 93 LdStOp(ExtMachInst _machInst, 94 const char * mnem, const char * _instMnem, 95 bool isMicro, bool isDelayed, bool isFirst, bool isLast, | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * Redistribution and use of this software in source and binary forms, 6 * with or without modification, are permitted provided that the 7 * following conditions are met: 8 * --- 79 unchanged lines hidden (view full) --- 88 const uint8_t addressSize; 89 const Request::FlagsType memFlags; 90 RegIndex foldOBit, foldABit; 91 92 //Constructor 93 LdStOp(ExtMachInst _machInst, 94 const char * mnem, const char * _instMnem, 95 bool isMicro, bool isDelayed, bool isFirst, bool isLast, |
96 uint8_t _scale, RegIndex _index, RegIndex _base, 97 uint64_t _disp, uint8_t _segment, 98 RegIndex _data, | 96 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 97 uint64_t _disp, InstRegIndex _segment, 98 InstRegIndex _data, |
99 uint8_t _dataSize, uint8_t _addressSize, 100 Request::FlagsType _memFlags, 101 OpClass __opClass) : 102 X86MicroopBase(machInst, mnem, _instMnem, 103 isMicro, isDelayed, isFirst, isLast, __opClass), | 99 uint8_t _dataSize, uint8_t _addressSize, 100 Request::FlagsType _memFlags, 101 OpClass __opClass) : 102 X86MicroopBase(machInst, mnem, _instMnem, 103 isMicro, isDelayed, isFirst, isLast, __opClass), |
104 scale(_scale), index(_index), base(_base), 105 disp(_disp), segment(_segment), 106 data(_data), | 104 scale(_scale), index(_index.idx), base(_base.idx), 105 disp(_disp), segment(_segment.idx), 106 data(_data.idx), |
107 dataSize(_dataSize), addressSize(_addressSize), | 107 dataSize(_dataSize), addressSize(_addressSize), |
108 memFlags(_memFlags | _segment) | 108 memFlags(_memFlags | _segment.idx) |
109 { | 109 { |
110 assert(_segment.idx < NUM_SEGMENTREGS); |
|
110 foldOBit = (dataSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0; 111 foldABit = 112 (addressSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0; 113 } 114 115 std::string generateDisassembly(Addr pc, 116 const SymbolTable *symtab) const; 117 --- 70 unchanged lines hidden --- | 111 foldOBit = (dataSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0; 112 foldABit = 113 (addressSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0; 114 } 115 116 std::string generateDisassembly(Addr pc, 117 const SymbolTable *symtab) const; 118 --- 70 unchanged lines hidden --- |