mirror of https://github.com/x64dbg/zydis
Improved support for MPX instructions
This commit is contained in:
parent
4de4def535
commit
38df6e0d1e
|
@ -46,6 +46,41 @@ extern "C" {
|
||||||
/* Decoded operand */
|
/* Decoded operand */
|
||||||
/* ============================================================================================== */
|
/* ============================================================================================== */
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------------------------- */
|
||||||
|
/* Memory type */
|
||||||
|
/* ---------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Defines the @c ZydisMemoryOperandType datatype.
|
||||||
|
*/
|
||||||
|
typedef uint8_t ZydisMemoryOperandType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Values that represent memory-operand types.
|
||||||
|
*/
|
||||||
|
enum ZydisMemoryOperandTypes
|
||||||
|
{
|
||||||
|
ZYDIS_MEMOP_TYPE_INVALID,
|
||||||
|
/**
|
||||||
|
* @brief Normal memory operand.
|
||||||
|
*/
|
||||||
|
ZYDIS_MEMOP_TYPE_MEM,
|
||||||
|
/**
|
||||||
|
* @brief The memory operand is only used for address-generation. No real memory-access is
|
||||||
|
* caused.
|
||||||
|
*/
|
||||||
|
ZYDIS_MEMOP_TYPE_AGEN,
|
||||||
|
/**
|
||||||
|
* @brief A memory operand using `SIB` addressing form, where the index register is not used
|
||||||
|
* in address calculation and scale is ignored.
|
||||||
|
*/
|
||||||
|
ZYDIS_MEMOP_TYPE_MIB
|
||||||
|
};
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------------------------- */
|
||||||
|
/* Decoded operand */
|
||||||
|
/* ---------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Defines the @c ZydisDecodedOperand struct.
|
* @brief Defines the @c ZydisDecodedOperand struct.
|
||||||
*/
|
*/
|
||||||
|
@ -104,9 +139,9 @@ typedef struct ZydisDecodedOperand_
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @brief Signals, if the memory operand is only used for address generation.
|
* @brief The type of the memory operand.
|
||||||
*/
|
*/
|
||||||
ZydisBool isAddressGenOnly;
|
ZydisMemoryOperandType type;
|
||||||
/**
|
/**
|
||||||
* @brief The segment register.
|
* @brief The segment register.
|
||||||
*/
|
*/
|
||||||
|
@ -171,6 +206,8 @@ typedef struct ZydisDecodedOperand_
|
||||||
} imm;
|
} imm;
|
||||||
} ZydisDecodedOperand;
|
} ZydisDecodedOperand;
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/* ============================================================================================== */
|
/* ============================================================================================== */
|
||||||
/* Decoded instruction */
|
/* Decoded instruction */
|
||||||
/* ============================================================================================== */
|
/* ============================================================================================== */
|
||||||
|
|
|
@ -1096,7 +1096,7 @@ static void ZydisSetOperandSizeAndElementInfo(ZydisDecoderContext* context,
|
||||||
case ZYDIS_INSTRUCTION_ENCODING_3DNOW:
|
case ZYDIS_INSTRUCTION_ENCODING_3DNOW:
|
||||||
case ZYDIS_INSTRUCTION_ENCODING_XOP:
|
case ZYDIS_INSTRUCTION_ENCODING_XOP:
|
||||||
case ZYDIS_INSTRUCTION_ENCODING_VEX:
|
case ZYDIS_INSTRUCTION_ENCODING_VEX:
|
||||||
if (operand->mem.isAddressGenOnly)
|
if (operand->mem.type != ZYDIS_MEMOP_TYPE_MEM)
|
||||||
{
|
{
|
||||||
ZYDIS_ASSERT(definition->size[context->eoszIndex] == 0);
|
ZYDIS_ASSERT(definition->size[context->eoszIndex] == 0);
|
||||||
operand->size = instruction->addressWidth;
|
operand->size = instruction->addressWidth;
|
||||||
|
@ -1365,6 +1365,7 @@ static ZydisStatus ZydisDecodeOperandMemory(ZydisDecoderContext* context,
|
||||||
((instruction->addressWidth == 32) || (instruction->addressWidth == 64))));
|
((instruction->addressWidth == 32) || (instruction->addressWidth == 64))));
|
||||||
|
|
||||||
operand->type = ZYDIS_OPERAND_TYPE_MEMORY;
|
operand->type = ZYDIS_OPERAND_TYPE_MEMORY;
|
||||||
|
operand->mem.type = ZYDIS_MEMOP_TYPE_MEM;
|
||||||
|
|
||||||
uint8_t modrm_rm = instruction->raw.modrm.rm;
|
uint8_t modrm_rm = instruction->raw.modrm.rm;
|
||||||
uint8_t displacementSize = 0;
|
uint8_t displacementSize = 0;
|
||||||
|
@ -1864,10 +1865,10 @@ static ZydisStatus ZydisDecodeOperands(ZydisDecoderContext* context,
|
||||||
break;
|
break;
|
||||||
case ZYDIS_SEMANTIC_OPTYPE_AGEN:
|
case ZYDIS_SEMANTIC_OPTYPE_AGEN:
|
||||||
instruction->operands[i].action = ZYDIS_OPERAND_ACTION_INVALID;
|
instruction->operands[i].action = ZYDIS_OPERAND_ACTION_INVALID;
|
||||||
instruction->operands[i].mem.isAddressGenOnly = ZYDIS_TRUE;
|
|
||||||
ZYDIS_CHECK(
|
ZYDIS_CHECK(
|
||||||
ZydisDecodeOperandMemory(
|
ZydisDecodeOperandMemory(
|
||||||
context, instruction, &instruction->operands[i], ZYDIS_REGISTER_NONE));
|
context, instruction, &instruction->operands[i], ZYDIS_REGISTER_NONE));
|
||||||
|
instruction->operands[i].mem.type = ZYDIS_MEMOP_TYPE_AGEN;
|
||||||
break;
|
break;
|
||||||
case ZYDIS_SEMANTIC_OPTYPE_MOFFS:
|
case ZYDIS_SEMANTIC_OPTYPE_MOFFS:
|
||||||
ZYDIS_ASSERT(instruction->raw.disp.size);
|
ZYDIS_ASSERT(instruction->raw.disp.size);
|
||||||
|
@ -1875,6 +1876,19 @@ static ZydisStatus ZydisDecodeOperands(ZydisDecoderContext* context,
|
||||||
instruction->operands[i].mem.disp.hasDisplacement = ZYDIS_TRUE;
|
instruction->operands[i].mem.disp.hasDisplacement = ZYDIS_TRUE;
|
||||||
instruction->operands[i].mem.disp.value = instruction->raw.disp.value;
|
instruction->operands[i].mem.disp.value = instruction->raw.disp.value;
|
||||||
break;
|
break;
|
||||||
|
case ZYDIS_SEMANTIC_OPTYPE_MIB:
|
||||||
|
instruction->operands[i].action = ZYDIS_OPERAND_ACTION_INVALID;
|
||||||
|
ZYDIS_CHECK(
|
||||||
|
ZydisDecodeOperandMemory(
|
||||||
|
context, instruction, &instruction->operands[i], ZYDIS_REGISTER_NONE));
|
||||||
|
instruction->operands[i].mem.type = ZYDIS_MEMOP_TYPE_MIB;
|
||||||
|
// Relative addressing is not allowed for this type of memory-operand
|
||||||
|
if ((instruction->operands[i].mem.base == ZYDIS_REGISTER_EIP) ||
|
||||||
|
(instruction->operands[i].mem.base == ZYDIS_REGISTER_RIP))
|
||||||
|
{
|
||||||
|
return ZYDIS_STATUS_DECODING_ERROR;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -4284,6 +4298,13 @@ static ZydisStatus ZydisDecodeInstruction(ZydisDecoderContext* context,
|
||||||
case ZYDIS_NODETYPE_FILTER_MVEX_E:
|
case ZYDIS_NODETYPE_FILTER_MVEX_E:
|
||||||
status = ZydisNodeHandlerMvexE(instruction, &index);
|
status = ZydisNodeHandlerMvexE(instruction, &index);
|
||||||
break;
|
break;
|
||||||
|
case ZYDIS_NODETYPE_FILTER_FEATURE_MPX:
|
||||||
|
case ZYDIS_NODETYPE_FILTER_FEATURE_CET:
|
||||||
|
case ZYDIS_NODETYPE_FILTER_FEATURE_LZCNT:
|
||||||
|
case ZYDIS_NODETYPE_FILTER_FEATURE_TZCNT:
|
||||||
|
// TODO: Make configurable by option
|
||||||
|
index = 1;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
if (nodeType & ZYDIS_NODETYPE_DEFINITION_MASK)
|
if (nodeType & ZYDIS_NODETYPE_DEFINITION_MASK)
|
||||||
{
|
{
|
||||||
|
|
|
@ -333,6 +333,18 @@ const ZydisDecoderTreeNode* ZydisDecoderTreeGetChildNode(const ZydisDecoderTreeN
|
||||||
case ZYDIS_NODETYPE_FILTER_MVEX_E:
|
case ZYDIS_NODETYPE_FILTER_MVEX_E:
|
||||||
ZYDIS_ASSERT(index < 2);
|
ZYDIS_ASSERT(index < 2);
|
||||||
return &filtersMVEXE[parent->value][index];
|
return &filtersMVEXE[parent->value][index];
|
||||||
|
case ZYDIS_NODETYPE_FILTER_FEATURE_MPX:
|
||||||
|
ZYDIS_ASSERT(index < 2);
|
||||||
|
return &filtersFeatureMPX[parent->value][index];
|
||||||
|
case ZYDIS_NODETYPE_FILTER_FEATURE_CET:
|
||||||
|
ZYDIS_ASSERT(index < 2);
|
||||||
|
return &filtersFeatureCET[parent->value][index];
|
||||||
|
case ZYDIS_NODETYPE_FILTER_FEATURE_LZCNT:
|
||||||
|
ZYDIS_ASSERT(index < 2);
|
||||||
|
return &filtersFeatureLZCNT[parent->value][index];
|
||||||
|
case ZYDIS_NODETYPE_FILTER_FEATURE_TZCNT:
|
||||||
|
ZYDIS_ASSERT(index < 2);
|
||||||
|
return &filtersFeatureTZCNT[parent->value][index];
|
||||||
default:
|
default:
|
||||||
ZYDIS_UNREACHABLE;
|
ZYDIS_UNREACHABLE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,7 +136,23 @@ enum ZydisDecoderTreeNodeTypes
|
||||||
/**
|
/**
|
||||||
* @brief Reference to an MVEX.E filter.
|
* @brief Reference to an MVEX.E filter.
|
||||||
*/
|
*/
|
||||||
ZYDIS_NODETYPE_FILTER_MVEX_E = 0x12
|
ZYDIS_NODETYPE_FILTER_MVEX_E = 0x12,
|
||||||
|
/**
|
||||||
|
* @brief Reference to a MPX-feature filter.
|
||||||
|
*/
|
||||||
|
ZYDIS_NODETYPE_FILTER_FEATURE_MPX = 0x13,
|
||||||
|
/**
|
||||||
|
* @brief Reference to a CET-feature filter.
|
||||||
|
*/
|
||||||
|
ZYDIS_NODETYPE_FILTER_FEATURE_CET = 0x14,
|
||||||
|
/**
|
||||||
|
* @brief Reference to a LZCNT-feature filter.
|
||||||
|
*/
|
||||||
|
ZYDIS_NODETYPE_FILTER_FEATURE_LZCNT = 0x15,
|
||||||
|
/**
|
||||||
|
* @brief Reference to a TZCNT-feature filter.
|
||||||
|
*/
|
||||||
|
ZYDIS_NODETYPE_FILTER_FEATURE_TZCNT = 0x16
|
||||||
};
|
};
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------- */
|
||||||
|
|
|
@ -191,7 +191,8 @@ static ZydisStatus ZydisFormatterFormatOperandMemIntel(const ZydisFormatter* for
|
||||||
}
|
}
|
||||||
ZYDIS_CHECK(ZydisPrintStr(buffer, bufEnd - *buffer, reg, ZYDIS_LETTER_CASE));
|
ZYDIS_CHECK(ZydisPrintStr(buffer, bufEnd - *buffer, reg, ZYDIS_LETTER_CASE));
|
||||||
}
|
}
|
||||||
if (operand->mem.index != ZYDIS_REGISTER_NONE)
|
if ((operand->mem.index != ZYDIS_REGISTER_NONE) &&
|
||||||
|
(operand->mem.type != ZYDIS_MEMOP_TYPE_MIB))
|
||||||
{
|
{
|
||||||
const char* reg = ZydisRegisterGetString(operand->mem.index);
|
const char* reg = ZydisRegisterGetString(operand->mem.index);
|
||||||
if (!reg)
|
if (!reg)
|
||||||
|
@ -418,11 +419,14 @@ static ZydisStatus ZydisFormatterPrintOperandSizeIntel(const ZydisFormatter* for
|
||||||
uint32_t typecast = 0;
|
uint32_t typecast = 0;
|
||||||
if (formatter->flags & ZYDIS_FMTFLAG_FORCE_OPERANDSIZE)
|
if (formatter->flags & ZYDIS_FMTFLAG_FORCE_OPERANDSIZE)
|
||||||
{
|
{
|
||||||
if ((operand->type == ZYDIS_OPERAND_TYPE_MEMORY) && (!operand->mem.isAddressGenOnly))
|
if ((operand->type == ZYDIS_OPERAND_TYPE_MEMORY) &&
|
||||||
|
(operand->mem.type == ZYDIS_MEMOP_TYPE_MEM))
|
||||||
{
|
{
|
||||||
typecast = instruction->operands[operand->id].size;
|
typecast = instruction->operands[operand->id].size;
|
||||||
}
|
}
|
||||||
} else if ((operand->type == ZYDIS_OPERAND_TYPE_MEMORY) && (!operand->mem.isAddressGenOnly))
|
} else
|
||||||
|
if ((operand->type == ZYDIS_OPERAND_TYPE_MEMORY) &&
|
||||||
|
(operand->mem.type == ZYDIS_MEMOP_TYPE_MEM))
|
||||||
{
|
{
|
||||||
switch (operand->id)
|
switch (operand->id)
|
||||||
{
|
{
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -108,32 +108,30 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] =
|
||||||
{ ZYDIS_MNEMONIC_BLENDVPD, 3, 0xAF5, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_SSE, ZYDIS_ISA_SET_SSE4, ZYDIS_ISA_EXT_SSE4, ZYDIS_EXCEPTION_CLASS_SSE4, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BLENDVPD, 3, 0xAF5, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_SSE, ZYDIS_ISA_SET_SSE4, ZYDIS_ISA_EXT_SSE4, ZYDIS_EXCEPTION_CLASS_SSE4, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BLENDVPS, 3, 0xAF8, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_SSE, ZYDIS_ISA_SET_SSE4, ZYDIS_ISA_EXT_SSE4, ZYDIS_EXCEPTION_CLASS_SSE4, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BLENDVPS, 3, 0xAF8, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_SSE, ZYDIS_ISA_SET_SSE4, ZYDIS_ISA_EXT_SSE4, ZYDIS_EXCEPTION_CLASS_SSE4, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BLENDVPS, 3, 0xAFB, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_SSE, ZYDIS_ISA_SET_SSE4, ZYDIS_ISA_EXT_SSE4, ZYDIS_EXCEPTION_CLASS_SSE4, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BLENDVPS, 3, 0xAFB, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_SSE, ZYDIS_ISA_SET_SSE4, ZYDIS_ISA_EXT_SSE4, ZYDIS_EXCEPTION_CLASS_SSE4, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCL, 2, 0x156C, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDCL, 2, 0x156C, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCL, 2, 0x156E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BNDCL, 2, 0x156E, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCL, 2, 0x1570, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BNDCL, 2, 0x1570, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCN, 2, 0x156C, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDCL, 2, 0x156E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCN, 2, 0x156E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BNDCN, 2, 0x156C, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
|
{ ZYDIS_MNEMONIC_BNDCN, 2, 0x156E, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCN, 2, 0x1570, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BNDCN, 2, 0x1570, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCU, 2, 0x156C, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDCN, 2, 0x156E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCU, 2, 0x156E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BNDCU, 2, 0x156C, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
|
{ ZYDIS_MNEMONIC_BNDCU, 2, 0x156E, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDCU, 2, 0x1570, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BNDCU, 2, 0x1570, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDLDX, 2, 0x1572, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDCU, 2, 0x156E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDLDX, 2, 0x1572, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDLDX, 2, 0x1572, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDLDX, 2, 0x1572, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDLDX, 2, 0x1574, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDLDX, 2, 0x1574, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDMK, 2, 0x1576, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDMK, 2, 0x1576, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDMK, 2, 0x1576, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x1578, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x1578, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x157A, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x157A, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x157A, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
|
||||||
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x157C, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x157C, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x157E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x157E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x1580, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x1580, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x1580, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
|
||||||
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x1582, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDMOV, 2, 0x1582, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BNDSTX, 2, 0x1584, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDSTX, 2, 0x1584, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDSTX, 2, 0x1584, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BNDSTX, 2, 0x1586, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_BNDSTX, 2, 0x1584, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
|
||||||
{ ZYDIS_MNEMONIC_BNDSTX, 2, 0x1586, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
|
||||||
{ ZYDIS_MNEMONIC_BOUND, 2, 0x1588, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_INTERRUPT, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I186, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BOUND, 2, 0x1588, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_INTERRUPT, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I186, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BOUND, 2, 0x158A, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_INTERRUPT, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I186, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_BOUND, 2, 0x158A, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_INTERRUPT, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I186, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_BSF, 3, 0xAFE, 0, 0x8, ZYDIS_TRUE, ZYDIS_CATEGORY_BITBYTE, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I386, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_BSF, 3, 0xAFE, 0, 0x8, ZYDIS_TRUE, ZYDIS_CATEGORY_BITBYTE, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I386, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
|
@ -906,14 +904,10 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] =
|
||||||
{ ZYDIS_MNEMONIC_NOP, 1, 0x451, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_NOP, 1, 0x451, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0x16E0, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0x16E0, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0x16E0, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0x16E0, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
|
@ -921,7 +915,6 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] =
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB07, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_FAT_NOP, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
{ ZYDIS_MNEMONIC_NOP, 2, 0xB04, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_WIDENOP, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_PPRO, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },
|
||||||
|
|
|
@ -5485,32 +5485,32 @@ const ZydisOperandDefinition operandDefinitions[] =
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } },
|
{ ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
|
{ ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 24, 24, 24 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 24, 24, 24 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 12, 12, 12 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 12, 12, 12 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
|
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 24, 24, 24 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 12, 12, 12 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 24, 24, 24 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
|
{ ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 12, 12, 12 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
{ ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } },
|
||||||
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
{ ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } },
|
||||||
|
|
|
@ -92,7 +92,8 @@ enum ZydisSemanticOperandTypes
|
||||||
ZYDIS_SEMANTIC_OPTYPE_REL,
|
ZYDIS_SEMANTIC_OPTYPE_REL,
|
||||||
ZYDIS_SEMANTIC_OPTYPE_PTR,
|
ZYDIS_SEMANTIC_OPTYPE_PTR,
|
||||||
ZYDIS_SEMANTIC_OPTYPE_AGEN,
|
ZYDIS_SEMANTIC_OPTYPE_AGEN,
|
||||||
ZYDIS_SEMANTIC_OPTYPE_MOFFS
|
ZYDIS_SEMANTIC_OPTYPE_MOFFS,
|
||||||
|
ZYDIS_SEMANTIC_OPTYPE_MIB
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -155,6 +155,13 @@ void printOperands(ZydisDecodedInstruction* instruction)
|
||||||
"JIMM32_32_64",
|
"JIMM32_32_64",
|
||||||
"JIMM16_32_32"
|
"JIMM16_32_32"
|
||||||
};
|
};
|
||||||
|
static const char* memopTypes[] =
|
||||||
|
{
|
||||||
|
"INVALID",
|
||||||
|
"MEM",
|
||||||
|
"AGEN",
|
||||||
|
"MIB"
|
||||||
|
};
|
||||||
printf("%2d %9s %10s %6s %12s %5d %4d %6d %8s",
|
printf("%2d %9s %10s %6s %12s %5d %4d %6d %8s",
|
||||||
i,
|
i,
|
||||||
operandTypes[instruction->operands[i].type],
|
operandTypes[instruction->operands[i].type],
|
||||||
|
@ -171,7 +178,9 @@ void printOperands(ZydisDecodedInstruction* instruction)
|
||||||
printf(" %27s", ZydisRegisterGetString(instruction->operands[i].reg.value));
|
printf(" %27s", ZydisRegisterGetString(instruction->operands[i].reg.value));
|
||||||
break;
|
break;
|
||||||
case ZYDIS_OPERAND_TYPE_MEMORY:
|
case ZYDIS_OPERAND_TYPE_MEMORY:
|
||||||
printf(" SEG =%20s\n", ZydisRegisterGetString(instruction->operands[i].mem.segment));
|
printf(" TYPE =%20s\n", memopTypes[instruction->operands[i].mem.type]);
|
||||||
|
printf(" %84s =%20s\n",
|
||||||
|
"SEG ", ZydisRegisterGetString(instruction->operands[i].mem.segment));
|
||||||
printf(" %84s =%20s\n",
|
printf(" %84s =%20s\n",
|
||||||
"BASE ", ZydisRegisterGetString(instruction->operands[i].mem.base));
|
"BASE ", ZydisRegisterGetString(instruction->operands[i].mem.base));
|
||||||
printf(" %84s =%20s\n",
|
printf(" %84s =%20s\n",
|
||||||
|
|
Loading…
Reference in New Issue