nop.isa
来自「M5,一个功能强大的多处理器系统模拟器.很多针对处理器架构,性能的研究都使用它作」· ISA 代码 · 共 69 行
ISA
69 行
//////////////////////////////////////////////////////////////////////// Nop instruction//// Per-cpu-model nop execute method.def template NopExec {{ Fault execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const { // Nothing to see here, move along return NoFault; }}};output header {{ /** * Nop class. */ class Nop : public SparcStaticInst { public: // Constructor Nop(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : SparcStaticInst(mnem, _machInst, __opClass) { flags[IsNop] = true; } // All Nop instructions do the same thing, so this can be // defined here. Nops can be defined directly, so there // needs to be a default implementation. Interpolate via // template so i gets expanded to a set of // cpu-model-specific functions. %(NopExec)s std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; };}};output decoder {{ std::string Nop::generateDisassembly(Addr pc, const SymbolTable *symtab) const { std::stringstream response; printMnemonic(response, mnemonic); return response.str(); }}};def template NopExecute {{ Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const { //Nothing to see here, move along return NoFault; }}};// Primary format for integer operate instructions:def format Nop(code, *opt_flags) {{ iop = InstObjParams(name, Name, 'Nop', code, opt_flags) header_output = BasicDeclare.subst(iop) decoder_output = BasicConstructor.subst(iop) decode_block = BasicDecode.subst(iop) exec_output = NopExecute.subst(iop)}};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?