2016-11-23 01:12:05 +08:00
|
|
|
typedef struct ZydisInstructionDefinition_
|
|
|
|
{
|
|
|
|
uint32_t mnemonic : 11;
|
|
|
|
uint32_t operandsId : 9;
|
|
|
|
uint32_t evexBFunctionality : 2;
|
|
|
|
uint32_t hasEvexAAA : 1;
|
|
|
|
uint32_t hasEvexZ : 1;
|
|
|
|
uint32_t acceptsLock : 1;
|
|
|
|
uint32_t acceptsREP : 1;
|
|
|
|
uint32_t acceptsREPEREPNE : 1;
|
|
|
|
uint32_t acceptsXACQUIRE : 1;
|
|
|
|
uint32_t acceptsXRELEASE : 1;
|
|
|
|
uint32_t acceptsHLEWithoutLock : 1;
|
|
|
|
uint32_t acceptsBranchHints : 1;
|
2016-11-24 17:57:23 +08:00
|
|
|
#ifdef ZYDIS_ENABLE_FEATURE_IMPLICITLY_USED_REGISTERS
|
|
|
|
uint8_t implicitRegistersId : 8;
|
|
|
|
#endif
|
|
|
|
#ifdef ZYDIS_ENABLE_FEATURE_AFFECTED_FLAGS
|
|
|
|
uint8_t affectedFlagsId : 8;
|
|
|
|
#endif;
|
|
|
|
#ifdef ZYDIS_ENABLE_FEATURE_CPUID
|
|
|
|
uint8_t cpuidId : 8;
|
|
|
|
#endif
|
2016-11-23 01:12:05 +08:00
|
|
|
} ZydisInstructionDefinition;
|