Disassemble RVC instructions based on XLEN
[riscv-isa-sim.git] / riscv / disasm.h
index b5aa6debb1da8c69676f7efcefca5f8dd091a4de..e2981d4a75ef0b2c506e9ba30e118a79a5ad42c9 100644 (file)
@@ -8,6 +8,9 @@
 #include <sstream>
 #include <vector>
 
+extern const char* xpr_name[NXPR];
+extern const char* fpr_name[NFPR];
+
 class arg_t
 {
  public:
@@ -57,14 +60,14 @@ class disasm_insn_t
 class disassembler_t
 {
  public:
-  disassembler_t();
+  disassembler_t(int xlen);
   ~disassembler_t();
-  std::string disassemble(insn_t insn);
+  std::string disassemble(insn_t insn) const;
   void add_insn(disasm_insn_t* insn);
  private:
   static const int HASH_SIZE = 256;
   std::vector<const disasm_insn_t*> chain[HASH_SIZE+1];
-  const disasm_insn_t* lookup(insn_t insn);
+  const disasm_insn_t* lookup(insn_t insn) const;
 };
 
 #endif