Go to the documentation of this file.
38 #ifndef __ARCH_X86_INSTS_STATICINST_HH__
39 #define __ARCH_X86_INSTS_STATICINST_HH__
44 #include "debug/X86.hh"
103 static void printMem(std::ostream &
os, uint8_t segment,
105 uint64_t disp, uint8_t addressSize,
bool rip);
126 static void divideStep(uint64_t divident, uint64_t divisor,
127 uint64_t "ient, uint64_t &
remainder);
129 static inline uint64_t
132 X86IntReg
reg = into;
153 panic(
"Tried to merge with unrecognized size %d.\n", size);
158 static inline uint64_t
161 X86IntReg
reg = from;
162 DPRINTF(X86,
"Picking with size %d\n", size);
175 panic(
"Tried to pick with unrecognized size %d.\n", size);
179 static inline int64_t
182 X86IntReg
reg = from;
183 DPRINTF(X86,
"Picking with size %d\n", size);
196 panic(
"Tried to pick with unrecognized size %d.\n", size);
218 #endif //__ARCH_X86_INSTS_STATICINST_HH__
SegRegIndex(RegIndex idx)
Classes for register indices passed to instruction constructors.
static uint64_t merge(uint64_t into, RegIndex index, uint64_t val, int size)
static void divideStep(uint64_t divident, uint64_t divisor, uint64_t "ient, uint64_t &remainder)
static void printMem(std::ostream &os, uint8_t segment, uint8_t scale, RegIndex index, RegIndex base, uint64_t disp, uint8_t addressSize, bool rip)
Base, ISA-independent static instruction class.
static uint64_t pick(uint64_t from, RegIndex index, int size)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
static void printReg(std::ostream &os, RegId reg, int size)
CtrlRegIndex(RegIndex idx)
Base class for all X86 static instructions.
X86StaticInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
static void printSegment(std::ostream &os, int segment)
PCState buildRetPC(const PCState &curPC, const PCState &callPC) const override
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void advancePC(PCState &pcState) const override
const char * mnemonic
Base mnemonic (e.g., "add").
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
DbgRegIndex(RegIndex idx)
static int64_t signedPick(uint64_t from, RegIndex index, int size)
static const IntRegIndex IntFoldBit
Register ID: describe an architectural register with its class and index.
#define panic(...)
This implements a cprintf based panic() function.
static void printMnemonic(std::ostream &os, const char *mnemonic)
Generated on Tue Sep 21 2021 12:24:35 for gem5 by doxygen 1.8.17