2016-11-23 01:12:05 +08:00
|
|
|
typedef struct ZydisInstructionDefinition_
|
|
|
|
{
|
|
|
|
uint32_t mnemonic : 11;
|
|
|
|
uint32_t operandsId : 9;
|
2016-12-06 04:06:29 +08:00
|
|
|
uint32_t evexContext : 2;
|
|
|
|
uint32_t evexMaskPolicy : 2;
|
|
|
|
uint32_t evexZeroMaskAccepted : 1;
|
2016-11-23 01:12:05 +08:00
|
|
|
uint32_t acceptsLock : 1;
|
|
|
|
uint32_t acceptsREP : 1;
|
|
|
|
uint32_t acceptsREPEREPNE : 1;
|
2016-12-05 09:24:01 +08:00
|
|
|
uint32_t acceptsBOUND : 1;
|
2016-11-23 01:12:05 +08:00
|
|
|
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;
|
2016-11-29 01:56:39 +08:00
|
|
|
#endif
|
2016-11-24 17:57:23 +08:00
|
|
|
#ifdef ZYDIS_ENABLE_FEATURE_CPUID
|
|
|
|
uint8_t cpuidId : 8;
|
|
|
|
#endif
|
2016-11-29 01:56:39 +08:00
|
|
|
} ZydisInstructionDefinition;
|