microldstop.hh (4767:5e55d650692e) microldstop.hh (4804:4a707cb7065b)
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 *

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

71 const uint8_t scale;
72 const RegIndex index;
73 const RegIndex base;
74 const uint64_t disp;
75 const uint8_t segment;
76 const RegIndex data;
77 const uint8_t dataSize;
78 const uint8_t addressSize;
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 *

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

71 const uint8_t scale;
72 const RegIndex index;
73 const RegIndex base;
74 const uint64_t disp;
75 const uint8_t segment;
76 const RegIndex data;
77 const uint8_t dataSize;
78 const uint8_t addressSize;
79 RegIndex foldOBit, foldABit;
79
80 //Constructor
81 LdStOp(ExtMachInst _machInst,
82 const char * mnem, const char * _instMnem,
83 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
84 uint8_t _scale, RegIndex _index, RegIndex _base,
85 uint64_t _disp, uint8_t _segment,
86 RegIndex _data,
87 uint8_t _dataSize, uint8_t _addressSize,
88 OpClass __opClass) :
89 X86MicroopBase(machInst, mnem, _instMnem,
90 isMicro, isDelayed, isFirst, isLast, __opClass),
91 scale(_scale), index(_index), base(_base),
92 disp(_disp), segment(_segment),
93 data(_data),
94 dataSize(_dataSize), addressSize(_addressSize)
80
81 //Constructor
82 LdStOp(ExtMachInst _machInst,
83 const char * mnem, const char * _instMnem,
84 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
85 uint8_t _scale, RegIndex _index, RegIndex _base,
86 uint64_t _disp, uint8_t _segment,
87 RegIndex _data,
88 uint8_t _dataSize, uint8_t _addressSize,
89 OpClass __opClass) :
90 X86MicroopBase(machInst, mnem, _instMnem,
91 isMicro, isDelayed, isFirst, isLast, __opClass),
92 scale(_scale), index(_index), base(_base),
93 disp(_disp), segment(_segment),
94 data(_data),
95 dataSize(_dataSize), addressSize(_addressSize)
95 {}
96 {
97 foldOBit = (dataSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0;
98 foldABit =
99 (addressSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0;
100 }
96
97 std::string generateDisassembly(Addr pc,
98 const SymbolTable *symtab) const;
99
100 template<class Context, class MemType>
101 Fault read(Context *xc, Addr EA, MemType & Mem, unsigned flags) const
102 {
103 Fault fault = NoFault;

--- 55 unchanged lines hidden ---
101
102 std::string generateDisassembly(Addr pc,
103 const SymbolTable *symtab) const;
104
105 template<class Context, class MemType>
106 Fault read(Context *xc, Addr EA, MemType & Mem, unsigned flags) const
107 {
108 Fault fault = NoFault;

--- 55 unchanged lines hidden ---