enum : unsigned { OPTYPE_DP = 0, //dp OPTYPE_DPX, //dp,x OPTYPE_DPY, //dp,y OPTYPE_IDP, //(dp) OPTYPE_IDPX, //(dp,x) OPTYPE_IDPY, //(dp),y OPTYPE_ILDP, //[dp] OPTYPE_ILDPY, //[dp],y OPTYPE_ADDR, //addr OPTYPE_ADDRX, //addr,x OPTYPE_ADDRY, //addr,y OPTYPE_IADDRX, //(addr,x) OPTYPE_ILADDR, //[addr] OPTYPE_LONG, //long OPTYPE_LONGX, //long, x OPTYPE_SR, //sr,s OPTYPE_ISRY, //(sr,s),y OPTYPE_ADDR_PC, //pbr:addr OPTYPE_IADDR_PC, //pbr:(addr) OPTYPE_RELB, //relb OPTYPE_RELW, //relw }; auto disassemble_opcode(char* output) -> void; auto disassemble_opcode(char* output, uint32 addr, bool e, bool m, bool x) -> void; auto dreadb(uint32 addr) -> uint8; auto dreadw(uint32 addr) -> uint16; auto dreadl(uint32 addr) -> uint32; auto decode(uint8 offset_type, uint32 addr) -> uint32;