//////////////////////////////////////////////////////////////////// // // Unknown instructions // output header {{ /** * Class for Unknown/Illegal instructions */ class Unknown : public SparcStaticInst { public: // Constructor Unknown(ExtMachInst _machInst) : SparcStaticInst("unknown", _machInst, No_OpClass) { } %(BasicExecDeclare)s std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; }; }}; output decoder {{ std::string Unknown::generateDisassembly(Addr pc, const SymbolTable *symtab) const { return "Unknown instruction"; } }}; output exec {{ Fault Unknown::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const { return new IllegalInstruction; } }}; def format Unknown() {{ decode_block = 'return new Unknown(machInst);\n' }};