///////////////////////////////////////////////////////////////////////// // $Id: dis_tables.h,v 1.29 2006/04/27 15:11:45 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// #ifndef _BX_DISASM_TABLES_ #define _BX_DISASM_TABLES_ // opcode table attributes #define _GROUPN 1 #define _SPLIT11B 2 #define _GRPFP 3 #define _GRP3DNOW 4 #define _GRPSSE 5 #define _GRPRM 6 #define _GRP3BOP 7 #define _GRP3BTAB 8 /* ************************************************************************ */ #define GRPSSE(n) _GRPSSE, BxDisasmGroupSSE_##n #define GRPN(n) _GROUPN, BxDisasmGroup##n #define GRPRM(n) _GRPRM, BxDisasmGroupRm##n #define GRPMOD(n) _SPLIT11B, BxDisasmGroupMod##n #define GRPFP(n) _GRPFP, BxDisasmFPGroup##n #define GRP3DNOW _GRP3DNOW, BxDisasm3DNowGroup #define GR3BOP(n) _GRP3BOP, BxDisasm3ByteOp##n #define GR3BTAB(n) _GRP3BTAB, BxDisasm3ByteTable##n /* ************************************************************************ */ #define Apw &disassembler::Apw #define Apd &disassembler::Apd #define AL &disassembler::AL #define CL &disassembler::CL #define AX &disassembler::AX #define DX &disassembler::DX #define EAX &disassembler::EAX #define RAX &disassembler::RAX #define CS &disassembler::CS #define DS &disassembler::DS #define ES &disassembler::ES #define SS &disassembler::SS #define FS &disassembler::FS #define GS &disassembler::GS #define Sw &disassembler::Sw #define Td &disassembler::Td #define Cd &disassembler::Cd #define Cq &disassembler::Cq #define Dd &disassembler::Dd #define Dq &disassembler::Dq #define R8 &disassembler::R8 #define RX &disassembler::RX #define ERX &disassembler::ERX #define RRX &disassembler::RRX #define Eb &disassembler::Eb #define Ew &disassembler::Ew #define Ed &disassembler::Ed #define Eq &disassembler::Eq #define Gb &disassembler::Gb #define Gw &disassembler::Gw #define Gd &disassembler::Gd #define Gq &disassembler::Gq #define I1 &disassembler::I1 #define Ib &disassembler::Ib #define Iw &disassembler::Iw #define Id &disassembler::Id #define Iq &disassembler::Iq #define IwIb &disassembler::IwIb #define sIbw &disassembler::sIbw #define sIbd &disassembler::sIbd #define sIbq &disassembler::sIbq #define sIdq &disassembler::sIdq #define ST0 &disassembler::ST0 #define STi &disassembler::STi #define Rw &disassembler::Rw #define Rd &disassembler::Rd #define Rq &disassembler::Rq #define Pq &disassembler::Pq #define Qd &disassembler::Qd #define Qq &disassembler::Qq #define Nq &disassembler::Nq #define Vq &disassembler::Vq #define Vdq &disassembler::Vdq #define Vss &disassembler::Vss #define Vsd &disassembler::Vsd #define Vps &disassembler::Vps #define Vpd &disassembler::Vpd #define Udq &disassembler::Udq #define Wq &disassembler::Wq #define Wdq &disassembler::Wdq #define Wss &disassembler::Wss #define Wsd &disassembler::Wsd #define Wps &disassembler::Wps #define Wpd &disassembler::Wpd #define Ob &disassembler::Ob #define Ow &disassembler::Ow #define Od &disassembler::Od #define Oq &disassembler::Oq #define Ma &disassembler::Ma #define Mp &disassembler::Mp #define Ms &disassembler::Ms #define Mx &disassembler::Mx #define Mb &disassembler::Mb #define Mw &disassembler::Mw #define Md &disassembler::Md #define Mq &disassembler::Mq #define Mt &disassembler::Mt #define Mdq &disassembler::Mdq #define Mps &disassembler::Mps #define Mpd &disassembler::Mpd #define Xb &disassembler::Xb #define Xw &disassembler::Xw #define Xd &disassembler::Xd #define Xq &disassembler::Xq #define Yb &disassembler::Yb #define Yw &disassembler::Yw #define Yd &disassembler::Yd #define Yq &disassembler::Yq #define Jb &disassembler::Jb #define Jw &disassembler::Jw #define Jd &disassembler::Jd #define XX 0 const struct BxDisasmOpcodeInfo_t #include "opcodes.inl" #include "dis_tables.inl" #undef XX #endif