|
|
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.