#include <string>
#include <map>
+#include "uint32_from_hex.hpp"
#include "Iinstr.hpp"
using namespace std;
private:
std::map<short,Iinstr*> instrs;
- class uint32_from_hex // For use with boost::lexical_cast
- {
- typedef unsigned int uint32;
- uint32 value;
- public:
- operator uint32() const {
- return value;
- }
- friend std::istream& operator>>(std::istream& in, uint32_from_hex& outValue)
- {
- in >> std::hex >> outValue.value;
- return in;
- }
- };
-
protected:
void decodeCondition(short);
Iinstr* decodeOpcode(short);
public:
disasm(std::map<short,Iinstr*> map) : instrs(map) {};
- std::string decode(std::string);
+ Iinstr* decode(std::string);
+ std::string decodeToString(std::string str);
};