disasm.h 661 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __MakiDisassembler_H
  2. #define __MakiDisassembler_H
  3. #include <bfc/ptrlist.h>
  4. class SourceCodeLine;
  5. class SourceCodeLineI;
  6. enum {
  7. OPCODE_TYPE_VOID = 0,
  8. OPCODE_TYPE_VAR,
  9. OPCODE_TYPE_PTR,
  10. OPCODE_TYPE_DLF,
  11. OPCODE_TYPE_NDLF,
  12. OPCODE_TYPE_CLASSID,
  13. OPCODE_TYPE_DISCARD,
  14. };
  15. class MakiDisassembler {
  16. public:
  17. MakiDisassembler(int vcpuid);
  18. virtual ~MakiDisassembler();
  19. int getVCPUId();
  20. int getNumLines();
  21. SourceCodeLine *enumLine(int n);
  22. int findLine(int pointer);
  23. private:
  24. void disassemble();
  25. PtrList<SourceCodeLineI> lines;
  26. int vcpuid;
  27. static int optable[256];
  28. static int optableready;
  29. };
  30. #endif