microldstop.hh (8442:b1f3dfae06f1) microldstop.hh (8954:3c7232fec7fd)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 68 unchanged lines hidden (view full) ---

77 const char * mnem, const char * _instMnem,
78 uint64_t setFlags,
79 uint8_t _scale, InstRegIndex _index, InstRegIndex _base,
80 uint64_t _disp, InstRegIndex _segment,
81 InstRegIndex _data,
82 uint8_t _dataSize, uint8_t _addressSize,
83 Request::FlagsType _memFlags,
84 OpClass __opClass) :
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 68 unchanged lines hidden (view full) ---

77 const char * mnem, const char * _instMnem,
78 uint64_t setFlags,
79 uint8_t _scale, InstRegIndex _index, InstRegIndex _base,
80 uint64_t _disp, InstRegIndex _segment,
81 InstRegIndex _data,
82 uint8_t _dataSize, uint8_t _addressSize,
83 Request::FlagsType _memFlags,
84 OpClass __opClass) :
85 X86MicroopBase(machInst, mnem, _instMnem, setFlags, __opClass),
85 X86MicroopBase(_machInst, mnem, _instMnem, setFlags, __opClass),
86 scale(_scale), index(_index.idx), base(_base.idx),
87 disp(_disp), segment(_segment.idx),
88 data(_data.idx),
89 dataSize(_dataSize), addressSize(_addressSize),
90 memFlags(_memFlags | _segment.idx)
91 {
92 assert(_segment.idx < NUM_SEGMENTREGS);
93 foldOBit = (dataSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0;
94 foldABit =
95 (addressSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0;
96 }
97
98 std::string generateDisassembly(Addr pc,
99 const SymbolTable *symtab) const;
100 };
101}
102
103#endif //__ARCH_X86_INSTS_MICROLDSTOP_HH__
86 scale(_scale), index(_index.idx), base(_base.idx),
87 disp(_disp), segment(_segment.idx),
88 data(_data.idx),
89 dataSize(_dataSize), addressSize(_addressSize),
90 memFlags(_memFlags | _segment.idx)
91 {
92 assert(_segment.idx < NUM_SEGMENTREGS);
93 foldOBit = (dataSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0;
94 foldABit =
95 (addressSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0;
96 }
97
98 std::string generateDisassembly(Addr pc,
99 const SymbolTable *symtab) const;
100 };
101}
102
103#endif //__ARCH_X86_INSTS_MICROLDSTOP_HH__