Go to the documentation of this file.
55 const char *mnemonic)
const
104 panic(
"Unrecognized segment %d\n", segment);
125 assert(size == 1 || size == 2 || size == 4 || size == 8);
126 static const char * abcdFormats[9] =
127 {
"",
"%s",
"%sx",
"",
"e%sx",
"",
"",
"",
"r%sx"};
128 static const char * piFormats[9] =
129 {
"",
"%s",
"%s",
"",
"e%s",
"",
"",
"",
"r%s"};
130 static const char * longFormats[9] =
131 {
"",
"r%sb",
"r%sw",
"",
"r%sd",
"",
"",
"",
"r%s"};
132 static const char * microFormats[9] =
133 {
"",
"t%db",
"t%dw",
"",
"t%dd",
"",
"",
"",
"t%d"};
137 if (
reg.isIntReg()) {
138 const char * suffix =
"";
144 else if (reg_idx < 8 && size == 1)
201 }
else if (
reg.isFloatReg()) {
209 (reg_idx % 2) ?
"high":
"low");
220 }
else if (
reg.isCCReg()) {
223 }
else if (
reg.isMiscReg()) {
234 uint64_t disp, uint8_t addressSize,
bool rip)
const
236 bool someAddr =
false;
271 std::stringstream
ss;
static const IntRegIndex IntFoldBit
const RegId & destRegIdx(int i) const
Return logical index (architectural reg num) of i'th destination reg.
void printDestReg(std::ostream &os, int reg, int size) const
void printReg(std::ostream &os, RegId reg, int size) const
Register ID: describe an architectural register with its class and index.
Class for register indices passed to instruction constructors.
void printSegment(std::ostream &os, int segment) const
void printMnemonic(std::ostream &os, const char *mnemonic) const
void printMem(std::ostream &os, uint8_t segment, uint8_t scale, RegIndex index, RegIndex base, uint64_t disp, uint8_t addressSize, bool rip) const
const char * mnemonic
Base mnemonic (e.g., "add").
const RegId & srcRegIdx(int i) const
Return logical index (architectural reg num) of i'th source reg.
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
This is exposed globally, independent of the ISA.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void printSrcReg(std::ostream &os, int reg, int size) const
void ccprintf(cp::Print &print)
int8_t _numSrcRegs
See numSrcRegs().
int8_t _numDestRegs
See numDestRegs().
#define panic(...)
This implements a cprintf based panic() function.
Generated on Tue Jun 22 2021 15:28:20 for gem5 by doxygen 1.8.17