LLVM API Documentation
#include "llvm/Support/DataTypes.h"
Go to the source code of this file.
Classes | |
struct | ModRMDecision |
struct | OpcodeDecision |
struct | ContextDecision |
struct | OperandSpecifier |
struct | InstructionSpecifier |
Macros | |
#define | INSTRUCTIONS_SYM x86DisassemblerInstrSpecifiers |
#define | CONTEXTS_SYM x86DisassemblerContexts |
#define | ONEBYTE_SYM x86DisassemblerOneByteOpcodes |
#define | TWOBYTE_SYM x86DisassemblerTwoByteOpcodes |
#define | THREEBYTE38_SYM x86DisassemblerThreeByte38Opcodes |
#define | THREEBYTE3A_SYM x86DisassemblerThreeByte3AOpcodes |
#define | THREEBYTEA6_SYM x86DisassemblerThreeByteA6Opcodes |
#define | THREEBYTEA7_SYM x86DisassemblerThreeByteA7Opcodes |
#define | XOP8_MAP_SYM x86DisassemblerXOP8Opcodes |
#define | XOP9_MAP_SYM x86DisassemblerXOP9Opcodes |
#define | XOPA_MAP_SYM x86DisassemblerXOPAOpcodes |
#define | INSTRUCTIONS_STR "x86DisassemblerInstrSpecifiers" |
#define | CONTEXTS_STR "x86DisassemblerContexts" |
#define | ONEBYTE_STR "x86DisassemblerOneByteOpcodes" |
#define | TWOBYTE_STR "x86DisassemblerTwoByteOpcodes" |
#define | THREEBYTE38_STR "x86DisassemblerThreeByte38Opcodes" |
#define | THREEBYTE3A_STR "x86DisassemblerThreeByte3AOpcodes" |
#define | THREEBYTEA6_STR "x86DisassemblerThreeByteA6Opcodes" |
#define | THREEBYTEA7_STR "x86DisassemblerThreeByteA7Opcodes" |
#define | XOP8_MAP_STR "x86DisassemblerXOP8Opcodes" |
#define | XOP9_MAP_STR "x86DisassemblerXOP9Opcodes" |
#define | XOPA_MAP_STR "x86DisassemblerXOPAOpcodes" |
#define | ATTRIBUTE_BITS |
#define | ENUM_ENTRY(n, v) n = v, |
#define | INSTRUCTION_CONTEXTS |
#define | ENUM_ENTRY(n, r, d) n, |
#define | MODRMTYPES |
#define | ENUM_ENTRY(n) n, |
#define | ENCODINGS |
#define | ENUM_ENTRY(n, d) n, |
#define | TYPES |
#define | ENUM_ENTRY(n, d) n, |
#define | MODIFIER_TYPES |
#define | ENUM_ENTRY(n) n, |
#define | X86_MAX_OPERANDS 5 |
Typedefs | |
typedef uint16_t | InstrUID |
Enumerations | |
enum | attributeBits { ATTR_max } |
enum | InstructionContext { IC_max } |
enum | OpcodeType { ONEBYTE = 0, TWOBYTE = 1, THREEBYTE_38 = 2, THREEBYTE_3A = 3, THREEBYTE_A6 = 4, THREEBYTE_A7 = 5, XOP8_MAP = 6, XOP9_MAP = 7, XOPA_MAP = 8 } |
enum | ModRMDecisionType { MODRM_max } |
enum | OperandEncoding { ENCODING_max } |
enum | OperandType { TYPE_max } |
enum | ModifierType { MODIFIER_max } |
enum | DisassemblerMode { MODE_16BIT, MODE_32BIT, MODE_64BIT } |
#define ATTRIBUTE_BITS |
Definition at line 56 of file X86DisassemblerDecoderCommon.h.
#define CONTEXTS_STR "x86DisassemblerContexts" |
Definition at line 40 of file X86DisassemblerDecoderCommon.h.
#define CONTEXTS_SYM x86DisassemblerContexts |
Definition at line 28 of file X86DisassemblerDecoderCommon.h.
Referenced by contextForAttrs().
#define ENCODINGS |
Definition at line 377 of file X86DisassemblerDecoderCommon.h.
#define ENUM_ENTRY | ( | n, | |
v | |||
) | n = v, |
Definition at line 525 of file X86DisassemblerDecoderCommon.h.
#define ENUM_ENTRY | ( | n, | |
r, | |||
d | |||
) | n, |
Definition at line 525 of file X86DisassemblerDecoderCommon.h.
#define ENUM_ENTRY | ( | n | ) | n, |
Definition at line 525 of file X86DisassemblerDecoderCommon.h.
#define ENUM_ENTRY | ( | n, | |
d | |||
) | n, |
Definition at line 525 of file X86DisassemblerDecoderCommon.h.
#define ENUM_ENTRY | ( | n, | |
d | |||
) | n, |
Definition at line 525 of file X86DisassemblerDecoderCommon.h.
#define ENUM_ENTRY | ( | n | ) | n, |
Definition at line 525 of file X86DisassemblerDecoderCommon.h.
#define INSTRUCTION_CONTEXTS |
Definition at line 81 of file X86DisassemblerDecoderCommon.h.
#define INSTRUCTIONS_STR "x86DisassemblerInstrSpecifiers" |
Definition at line 39 of file X86DisassemblerDecoderCommon.h.
#define INSTRUCTIONS_SYM x86DisassemblerInstrSpecifiers |
Definition at line 27 of file X86DisassemblerDecoderCommon.h.
Referenced by specifierForUID().
#define MODIFIER_TYPES |
Definition at line 520 of file X86DisassemblerDecoderCommon.h.
#define MODRMTYPES |
Definition at line 328 of file X86DisassemblerDecoderCommon.h.
#define ONEBYTE_STR "x86DisassemblerOneByteOpcodes" |
Definition at line 41 of file X86DisassemblerDecoderCommon.h.
#define ONEBYTE_SYM x86DisassemblerOneByteOpcodes |
Definition at line 29 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
#define THREEBYTE38_STR "x86DisassemblerThreeByte38Opcodes" |
Definition at line 43 of file X86DisassemblerDecoderCommon.h.
#define THREEBYTE38_SYM x86DisassemblerThreeByte38Opcodes |
Definition at line 31 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
#define THREEBYTE3A_STR "x86DisassemblerThreeByte3AOpcodes" |
Definition at line 44 of file X86DisassemblerDecoderCommon.h.
#define THREEBYTE3A_SYM x86DisassemblerThreeByte3AOpcodes |
Definition at line 32 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
#define THREEBYTEA6_STR "x86DisassemblerThreeByteA6Opcodes" |
Definition at line 45 of file X86DisassemblerDecoderCommon.h.
#define THREEBYTEA6_SYM x86DisassemblerThreeByteA6Opcodes |
Definition at line 33 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
#define THREEBYTEA7_STR "x86DisassemblerThreeByteA7Opcodes" |
Definition at line 46 of file X86DisassemblerDecoderCommon.h.
#define THREEBYTEA7_SYM x86DisassemblerThreeByteA7Opcodes |
Definition at line 34 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
#define TWOBYTE_STR "x86DisassemblerTwoByteOpcodes" |
Definition at line 42 of file X86DisassemblerDecoderCommon.h.
#define TWOBYTE_SYM x86DisassemblerTwoByteOpcodes |
Definition at line 30 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
#define TYPES |
Definition at line 419 of file X86DisassemblerDecoderCommon.h.
#define X86_MAX_OPERANDS 5 |
Definition at line 532 of file X86DisassemblerDecoderCommon.h.
Referenced by readOperands(), and translateInstruction().
#define XOP8_MAP_STR "x86DisassemblerXOP8Opcodes" |
Definition at line 47 of file X86DisassemblerDecoderCommon.h.
#define XOP8_MAP_SYM x86DisassemblerXOP8Opcodes |
Definition at line 35 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
#define XOP9_MAP_STR "x86DisassemblerXOP9Opcodes" |
Definition at line 48 of file X86DisassemblerDecoderCommon.h.
#define XOP9_MAP_SYM x86DisassemblerXOP9Opcodes |
Definition at line 36 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
#define XOPA_MAP_STR "x86DisassemblerXOPAOpcodes" |
Definition at line 49 of file X86DisassemblerDecoderCommon.h.
#define XOPA_MAP_SYM x86DisassemblerXOPAOpcodes |
Definition at line 37 of file X86DisassemblerDecoderCommon.h.
Referenced by decode(), and modRMRequired().
typedef uint16_t InstrUID |
Definition at line 307 of file X86DisassemblerDecoderCommon.h.
enum attributeBits |
Enumerator | |
---|---|
ATTR_max |
Definition at line 68 of file X86DisassemblerDecoderCommon.h.
enum DisassemblerMode |
Enumerator | |
---|---|
MODE_16BIT | |
MODE_32BIT | |
MODE_64BIT |
Definition at line 551 of file X86DisassemblerDecoderCommon.h.
enum InstructionContext |
Enumerator | |
---|---|
IC_max |
Definition at line 275 of file X86DisassemblerDecoderCommon.h.
enum ModifierType |
Enumerator | |
---|---|
MODIFIER_max |
Definition at line 526 of file X86DisassemblerDecoderCommon.h.
enum ModRMDecisionType |
Enumerator | |
---|---|
MODRM_max |
Definition at line 336 of file X86DisassemblerDecoderCommon.h.
enum OpcodeType |
Enumerator | |
---|---|
ONEBYTE | |
TWOBYTE | |
THREEBYTE_38 | |
THREEBYTE_3A | |
THREEBYTE_A6 | |
THREEBYTE_A7 | |
XOP8_MAP | |
XOP9_MAP | |
XOPA_MAP |
Definition at line 285 of file X86DisassemblerDecoderCommon.h.
enum OperandEncoding |
Enumerator | |
---|---|
ENCODING_max |
Definition at line 409 of file X86DisassemblerDecoderCommon.h.
enum OperandType |
Enumerator | |
---|---|
TYPE_max |
Definition at line 500 of file X86DisassemblerDecoderCommon.h.