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 ---