disasm/sim: changed interface, branch => br, features++
[calu.git] / 3c_disasm / disasm.h
1 #include <iostream>
2 #include <string>
3 #include <map>
4
5 #include "uint32_from_hex.hpp"
6 #include "Iinstr.hpp"
7
8 using namespace std;
9
10 class disasm {
11
12         private:
13                 std::map<short,Iinstr*> instrs;
14         protected:
15                 void decodeCondition(short);
16                 Iinstr* decodeOpcode(short);
17
18         public:
19                 disasm(std::map<short,Iinstr*> map) : instrs(map) {};
20                 Iinstr* decode(std::string);
21                 std::string decodeToString(std::string str);
22 };
23