}
}
+std::string
+MicroIntOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
+{
+ std::stringstream ss;
+ printMnemonic(ss);
+ printReg(ss, ura);
+ ss << ", ";
+ printReg(ss, urb);
+ ss << ", ";
+ ccprintf(ss, "#%d", imm);
+ return ss.str();
+}
+
+std::string
+MicroMemOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
+{
+ std::stringstream ss;
+ printMnemonic(ss);
+ printReg(ss, ura);
+ ss << ", [";
+ printReg(ss, urb);
+ ss << ", ";
+ ccprintf(ss, "#%d", imm);
+ ss << "]";
+ return ss.str();
+}
+
}
ura(_ura), urb(_urb), imm(_imm)
{
}
+
+ std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
};
/**
up(_up), memAccessFlags(TLB::MustBeOne | TLB::AlignWord)
{
}
+
+ std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
};
/**
#if TRACING_ON
instruction->traceData =
cpu->getTracer()->getInstRecord(curTick, cpu->tcBase(tid),
- instruction->staticInst, instruction->readPC());
+ instruction->staticInst, instruction->readPC(),
+ macroop, instruction->readMicroPC());
#else
instruction->traceData = NULL;
#endif