|
|
1.1 ! root 1: // ! 2: // nono ! 3: // Copyright (C) 2020 [email protected] ! 4: // ! 5: ! 6: #pragma once ! 7: ! 8: #include "header.h" ! 9: #include "disasm.h" ! 10: #include "m88100.h" ! 11: ! 12: class m88100disasm : public Disasm ! 13: { ! 14: typedef Disasm inherited; ! 15: public: ! 16: m88100disasm(DebuggerMD *m); ! 17: virtual ~m88100disasm(); ! 18: ! 19: virtual bool Exec(saddr_t laddr); ! 20: ! 21: private: ! 22: uint32 peek(); ! 23: uint32 fetch(); ! 24: ! 25: uint32 xip = 0; ! 26: uint32 phys_xip = 0; ! 27: ! 28: uint32 opX = 0; ! 29: std::string name {}; ! 30: std::string arg0 {}; ! 31: std::string arg1 {}; ! 32: std::string arg2 {}; ! 33: ! 34: std::string rd(); ! 35: std::string rs1(); ! 36: std::string rs2(); ! 37: std::string imm16(); ! 38: std::string d16(); ! 39: std::string crs(); ! 40: std::string fcrs(); ! 41: std::string fsize(uint32 t); ! 42: std::string fsize(); ! 43: std::string wo5(); ! 44: std::string cio(); ! 45: std::string b5(); ! 46: std::string m5(); ! 47: std::string vec9(); ! 48: ! 49: void ops_bb(std::string namebase); ! 50: void ops_bcnd(std::string namebase); ! 51: void ops_tb(std::string namebase); ! 52: void ops_ldst_reg(std::string namebase); ! 53: ! 54: void op_unimpl(); ! 55: ! 56: #define OP_PROTO(name) void __CONCAT(op_,name)() ! 57: #include "m88100ops.h" ! 58: #undef OP_PROTO ! 59: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.