27 #ifndef ZYDIS_INTERNAL_SHAREDDATA_H
28 #define ZYDIS_INTERNAL_SHAREDDATA_H
46 # pragma warning(push)
47 # pragma warning(disable:4214)
578 #define ZYDIS_INSTRUCTION_DEFINITION_BASE \
579 ZydisMnemonic mnemonic ZYDIS_BITFIELD(ZYDIS_MNEMONIC_MIN_BITS); \
580 ZydisU8 operandCount ZYDIS_BITFIELD( 4); \
581 ZydisU16 operandReference ZYDIS_BITFIELD(15); \
582 ZydisU8 operandSizeMap ZYDIS_BITFIELD( 3); \
583 ZydisU8 flagsReference ZYDIS_BITFIELD( 7); \
584 ZydisBool requiresProtectedMode ZYDIS_BITFIELD( 1); \
585 ZydisBool acceptsAddressSizeOverride ZYDIS_BITFIELD( 1); \
586 ZydisInstructionCategory category ZYDIS_BITFIELD(ZYDIS_CATEGORY_MIN_BITS); \
587 ZydisISASet isaSet ZYDIS_BITFIELD(ZYDIS_ISA_SET_MIN_BITS); \
588 ZydisISAExt isaExt ZYDIS_BITFIELD(ZYDIS_ISA_EXT_MIN_BITS); \
589 ZydisExceptionClass exceptionClass ZYDIS_BITFIELD( 6); \
590 ZydisRegisterConstraint constrREG ZYDIS_BITFIELD(ZYDIS_REG_CONSTRAINTS_MIN_BITS); \
591 ZydisRegisterConstraint constrRM ZYDIS_BITFIELD(ZYDIS_REG_CONSTRAINTS_MIN_BITS)
593 #define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR \
594 ZYDIS_INSTRUCTION_DEFINITION_BASE; \
595 ZydisRegisterConstraint constrNDSNDD ZYDIS_BITFIELD(ZYDIS_REG_CONSTRAINTS_MIN_BITS)
597 #define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL \
598 ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR; \
599 ZydisBool isGather ZYDIS_BITFIELD( 1)
654 #ifndef ZYDIS_DISABLE_EVEX
672 #ifndef ZYDIS_DISABLE_MVEX
700 # pragma warning(pop)
uint8_t ZydisU8
Definition: CommonTypes.h:45
ZydisU8 ZydisBool
@briefs Defines the ZydisBool datatype.
Definition: CommonTypes.h:133
uint16_t ZydisU16
Definition: CommonTypes.h:46
Defines the basic ZydisDecodedInstruction and ZydisDecodedOperand structs.
ZydisU8 ZydisCPUFlagAction
Defines the ZydisCPUFlagAction datatype.
Definition: DecoderTypes.h:516
@ ZYDIS_CPUFLAG_MAX_VALUE
Maximum value of this enum.
Definition: DecoderTypes.h:510
General helper and platform detection macros.
@ ZYDIS_REGISTER_MIN_BITS
Minimum amount of bits required to store a value of this enum.
Definition: EnumRegister.h:293
ZydisU8 ZydisRegister
Defines the ZydisRegister datatype.
Definition: EnumRegister.h:4
Mnemonic constant definitions and helper functions.
Utility functions and constants for registers.
ZydisU8 ZydisMVEXFunctionality
Defines the ZydisMVEXFunctionality datatype.
Definition: SharedData.h:364
ZydisU8 ZydisEVEXTupleType
Defines the ZydisEVEXTupleType datatype.
Definition: SharedData.h:289
ZydisImplicitMemBase
Values that represent implicit-memory base-registers.
Definition: SharedData.h:180
@ ZYDIS_IMPLMEM_BASE_ABP
Definition: SharedData.h:183
@ ZYDIS_IMPLMEM_BASE_ASI
Definition: SharedData.h:184
@ ZYDIS_IMPLMEM_BASE_ABX
Definition: SharedData.h:181
@ ZYDIS_IMPLMEM_BASE_ADI
Definition: SharedData.h:185
@ ZYDIS_IMPLMEM_BASE_ASP
Definition: SharedData.h:182
struct ZydisInstructionDefinitionDEFAULT_ ZydisInstructionDefinitionDEFAULT
Defines the ZydisInstructionDefinitionDEFAULT struct.
ZydisInternalElementTypes
Values that represent internal element-types.
Definition: SharedData.h:108
@ ZYDIS_IELEMENT_TYPE_STRUCT
Definition: SharedData.h:111
@ ZYDIS_IELEMENT_TYPE_FLOAT64
Definition: SharedData.h:127
@ ZYDIS_IELEMENT_TYPE_INT
Definition: SharedData.h:112
@ ZYDIS_IELEMENT_TYPE_FLOAT16
Definition: SharedData.h:125
@ ZYDIS_IELEMENT_TYPE_UINT32
Definition: SharedData.h:121
@ ZYDIS_IELEMENT_TYPE_UINT8
Definition: SharedData.h:119
@ ZYDIS_IELEMENT_TYPE_FLOAT80
Definition: SharedData.h:128
@ ZYDIS_IELEMENT_TYPE_UINT16
Definition: SharedData.h:120
@ ZYDIS_IELEMENT_TYPE_VARIABLE
Definition: SharedData.h:110
@ ZYDIS_IELEMENT_TYPE_UINT64
Definition: SharedData.h:122
@ ZYDIS_IELEMENT_TYPE_UINT256
Definition: SharedData.h:124
@ ZYDIS_IELEMENT_TYPE_INT16
Definition: SharedData.h:116
@ ZYDIS_IELEMENT_TYPE_INT8
Definition: SharedData.h:115
@ ZYDIS_IELEMENT_TYPE_BCD80
Definition: SharedData.h:129
@ ZYDIS_IELEMENT_TYPE_INT32
Definition: SharedData.h:117
@ ZYDIS_IELEMENT_TYPE_UINT
Definition: SharedData.h:113
@ ZYDIS_IELEMENT_TYPE_INT1
Definition: SharedData.h:114
@ ZYDIS_IELEMENT_TYPE_FLOAT32
Definition: SharedData.h:126
@ ZYDIS_IELEMENT_TYPE_INT64
Definition: SharedData.h:118
@ ZYDIS_IELEMENT_TYPE_INVALID
Definition: SharedData.h:109
@ ZYDIS_IELEMENT_TYPE_UINT128
Definition: SharedData.h:123
ZydisMVEXFunctionalities
Values that represent MVEX-functionalities.
Definition: SharedData.h:370
@ ZYDIS_MVEX_FUNC_F_32
No special operation (32bit float elements).
Definition: SharedData.h:390
@ ZYDIS_MVEX_FUNC_SF_64
Sf64(mem).
Definition: SharedData.h:426
@ ZYDIS_MVEX_FUNC_DI_32
Di32.
Definition: SharedData.h:470
@ ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16
Si32(mem) broadcast 4to16 only.
Definition: SharedData.h:438
@ ZYDIS_MVEX_FUNC_SF_32_BCST
Sf32(mem) broadcast only.
Definition: SharedData.h:418
@ ZYDIS_MVEX_FUNC_DF_64
Df64.
Definition: SharedData.h:466
@ ZYDIS_MVEX_FUNC_F_64
No special operation (64bit float elements).
Definition: SharedData.h:398
@ ZYDIS_MVEX_FUNC_SI_32_BCST
Si32(mem) broadcast only.
Definition: SharedData.h:434
@ ZYDIS_MVEX_FUNC_INVALID
MVEX.SSS must be 000b.
Definition: SharedData.h:378
@ ZYDIS_MVEX_FUNC_I_64
No special operation (64bit uint elements).
Definition: SharedData.h:402
@ ZYDIS_MVEX_FUNC_SI_32
Si32(mem).
Definition: SharedData.h:430
@ ZYDIS_MVEX_FUNC_SWIZZLE_64
Sf64(reg) or Si64(reg).
Definition: SharedData.h:410
@ ZYDIS_MVEX_FUNC_SI_64
Si64(mem).
Definition: SharedData.h:442
@ ZYDIS_MVEX_FUNC_I_32
No special operation (32bit uint elements).
Definition: SharedData.h:394
@ ZYDIS_MVEX_FUNC_SF_32
Sf32(mem).
Definition: SharedData.h:414
@ ZYDIS_MVEX_FUNC_SAE
MVEX.SSS controls sae functionality.
Definition: SharedData.h:386
@ ZYDIS_MVEX_FUNC_SWIZZLE_32
Sf32(reg) or Si32(reg).
Definition: SharedData.h:406
@ ZYDIS_MVEX_FUNC_UI_64
Ui64.
Definition: SharedData.h:458
@ ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16
Sf32(mem) broadcast 4to16 only.
Definition: SharedData.h:422
@ ZYDIS_MVEX_FUNC_DI_64
Di64.
Definition: SharedData.h:474
@ ZYDIS_MVEX_FUNC_DF_32
Df32.
Definition: SharedData.h:462
@ ZYDIS_MVEX_FUNC_UI_32
Ui32.
Definition: SharedData.h:454
@ ZYDIS_MVEX_FUNC_IGNORED
The MVEX.SSS value is ignored.
Definition: SharedData.h:374
@ ZYDIS_MVEX_FUNC_UF_32
Uf32.
Definition: SharedData.h:446
@ ZYDIS_MVEX_FUNC_UF_64
Uf64.
Definition: SharedData.h:450
@ ZYDIS_MVEX_FUNC_RC
MVEX.SSS controls embedded-rounding functionality.
Definition: SharedData.h:382
struct ZydisInstructionDefinition_ ZydisInstructionDefinition
Defines the ZydisInstructionDefinition struct.
ZydisU8 ZydisMaskPolicy
Defines the ZydisMaskPolicy datatype.
Definition: SharedData.h:553
ZydisInternalElementSizes
Values that represent internal element-sizes.
Definition: SharedData.h:246
@ ZYDIS_IELEMENT_SIZE_INVALID
Definition: SharedData.h:247
@ ZYDIS_IELEMENT_SIZE_MAX_VALUE
Definition: SharedData.h:254
@ ZYDIS_IELEMENT_SIZE_128
Definition: SharedData.h:252
@ ZYDIS_IELEMENT_SIZE_32
Definition: SharedData.h:250
@ ZYDIS_IELEMENT_SIZE_16
Definition: SharedData.h:249
@ ZYDIS_IELEMENT_SIZE_64
Definition: SharedData.h:251
@ ZYDIS_IELEMENT_SIZE_8
Definition: SharedData.h:248
ZydisImplicitRegisterType
Values that represent implicit-register types.
Definition: SharedData.h:166
@ ZYDIS_IMPLREG_TYPE_IP_ASZ
Definition: SharedData.h:171
@ ZYDIS_IMPLREG_TYPE_GPR_ASZ
Definition: SharedData.h:169
@ ZYDIS_IMPLREG_TYPE_STATIC
Definition: SharedData.h:167
@ ZYDIS_IMPLREG_TYPE_GPR_OSZ
Definition: SharedData.h:168
@ ZYDIS_IMPLREG_TYPE_IP_SSZ
Definition: SharedData.h:172
@ ZYDIS_IMPLREG_TYPE_FLAGS_SSZ
Definition: SharedData.h:173
@ ZYDIS_IMPLREG_TYPE_GPR_SSZ
Definition: SharedData.h:170
ZYDIS_NO_EXPORT ZydisU8 ZydisGetOperandDefinitions(const ZydisInstructionDefinition *definition, const ZydisOperandDefinition **operand)
Returns the the operand-definitions for the given instruction-definition.
ZydisRegisterConstraints
Values that represent register-constraints.
Definition: SharedData.h:201
@ ZYDIS_REG_CONSTRAINTS_GPR
Definition: SharedData.h:204
@ ZYDIS_REG_CONSTRAINTS_CR
Definition: SharedData.h:207
@ ZYDIS_REG_CONSTRAINTS_SR
Definition: SharedData.h:206
@ ZYDIS_REG_CONSTRAINTS_VSIB
Definition: SharedData.h:211
@ ZYDIS_REG_CONSTRAINTS_UNUSED
Definition: SharedData.h:202
@ ZYDIS_REG_CONSTRAINTS_BND
Definition: SharedData.h:210
@ ZYDIS_REG_CONSTRAINTS_MAX_VALUE
Definition: SharedData.h:213
@ ZYDIS_REG_CONSTRAINTS_NONE
Definition: SharedData.h:203
@ ZYDIS_REG_CONSTRAINTS_SR_DEST
Definition: SharedData.h:205
@ ZYDIS_REG_CONSTRAINTS_DR
Definition: SharedData.h:208
@ ZYDIS_REG_CONSTRAINTS_MASK
Definition: SharedData.h:209
@ ZYDIS_REG_CONSTRAINTS_MIN_BITS
Definition: SharedData.h:214
ZydisEVEXStaticBroadcasts
Values that represent static EVEX-broadcasts.
Definition: SharedData.h:511
@ ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4
Definition: SharedData.h:514
@ ZYDIS_EVEX_STATIC_BROADCAST_8_TO_16
Definition: SharedData.h:524
@ ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16
Definition: SharedData.h:516
@ ZYDIS_EVEX_STATIC_BROADCAST_4_TO_8
Definition: SharedData.h:522
@ ZYDIS_EVEX_STATIC_BROADCAST_2_TO_4
Definition: SharedData.h:519
@ ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32
Definition: SharedData.h:517
@ ZYDIS_EVEX_STATIC_BROADCAST_4_TO_16
Definition: SharedData.h:523
@ ZYDIS_EVEX_STATIC_BROADCAST_MAX_VALUE
Definition: SharedData.h:526
@ ZYDIS_EVEX_STATIC_BROADCAST_1_TO_2
Definition: SharedData.h:513
@ ZYDIS_EVEX_STATIC_BROADCAST_1_TO_64
Definition: SharedData.h:518
@ ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8
Definition: SharedData.h:520
@ ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8
Definition: SharedData.h:515
@ ZYDIS_EVEX_STATIC_BROADCAST_NONE
Definition: SharedData.h:512
@ ZYDIS_EVEX_STATIC_BROADCAST_2_TO_16
Definition: SharedData.h:521
ZydisVEXStaticBroadcasts
Values that represent static VEX-broadcasts.
Definition: SharedData.h:488
@ ZYDIS_VEX_STATIC_BROADCAST_1_TO_4
Definition: SharedData.h:491
@ ZYDIS_VEX_STATIC_BROADCAST_1_TO_8
Definition: SharedData.h:492
@ ZYDIS_VEX_STATIC_BROADCAST_1_TO_2
Definition: SharedData.h:490
@ ZYDIS_VEX_STATIC_BROADCAST_1_TO_32
Definition: SharedData.h:494
@ ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE
Definition: SharedData.h:497
@ ZYDIS_VEX_STATIC_BROADCAST_1_TO_16
Definition: SharedData.h:493
@ ZYDIS_VEX_STATIC_BROADCAST_2_TO_4
Definition: SharedData.h:495
@ ZYDIS_VEX_STATIC_BROADCAST_NONE
Definition: SharedData.h:489
ZydisEVEXTupleTypes
Values that represent EVEX tuple-types.
Definition: SharedData.h:295
@ ZYDIS_TUPLETYPE_M128
Mem128.
Definition: SharedData.h:352
@ ZYDIS_TUPLETYPE_GSCAT
Gather / Scatter.
Definition: SharedData.h:324
@ ZYDIS_TUPLETYPE_T1F
Tuple1 Fixed.
Definition: SharedData.h:316
@ ZYDIS_TUPLETYPE_T8
Tuple8.
Definition: SharedData.h:336
@ ZYDIS_TUPLETYPE_T4
Tuple4.
Definition: SharedData.h:332
@ ZYDIS_TUPLETYPE_T1S
Tuple1 Scalar.
Definition: SharedData.h:312
@ ZYDIS_TUPLETYPE_FV
Full Vector.
Definition: SharedData.h:300
@ ZYDIS_TUPLETYPE_OVM
OctMem.
Definition: SharedData.h:348
@ ZYDIS_TUPLETYPE_FVM
Full Vector Mem.
Definition: SharedData.h:308
@ ZYDIS_TUPLETYPE_QVM
QuarterMem.
Definition: SharedData.h:344
@ ZYDIS_TUPLETYPE_HV
Half Vector.
Definition: SharedData.h:304
@ ZYDIS_TUPLETYPE_DUP
MOVDDUP.
Definition: SharedData.h:356
@ ZYDIS_TUPLETYPE_INVALID
Definition: SharedData.h:296
@ ZYDIS_TUPLETYPE_HVM
Half Mem.
Definition: SharedData.h:340
@ ZYDIS_TUPLETYPE_T1_4X
Tuple1 4x32.
Definition: SharedData.h:320
@ ZYDIS_TUPLETYPE_T2
Tuple2.
Definition: SharedData.h:328
ZydisU8 ZydisInternalVectorLength
Defines the ZydisInternalVectorLength datatype.
Definition: SharedData.h:222
ZydisU8 ZydisInternalElementSize
Defines the ZydisInternalElementSize datatype.
Definition: SharedData.h:240
struct ZydisInstructionDefinitionVEX_ ZydisInstructionDefinitionVEX
Defines the ZydisInstructionDefinitionVEX struct.
ZydisMaskPolicies
Values that represent AVX mask policies.
Definition: SharedData.h:559
@ ZYDIS_MASK_POLICY_INVALID
Definition: SharedData.h:560
@ ZYDIS_MASK_POLICY_FORBIDDEN
The instruction does not allow a mask-register other than the default-mask (K0).
Definition: SharedData.h:573
@ ZYDIS_MASK_POLICY_ALLOWED
The instruction accepts mask-registers other than the default-mask (K0), but does not require them.
Definition: SharedData.h:565
@ ZYDIS_MASK_POLICY_REQUIRED
The instruction requires a mask-register other than the default-mask (K0).
Definition: SharedData.h:569
struct ZydisInstructionDefinition3DNOW_ ZydisInstructionDefinition3DNOW
Defines the ZydisInstructionDefinition3DNOW struct.
ZydisEVEXFunctionalities
Values that represent EVEX-functionalities.
Definition: SharedData.h:268
@ ZYDIS_EVEX_FUNC_INVALID
Definition: SharedData.h:269
@ ZYDIS_EVEX_FUNC_SAE
EVEX.b enables sae functionality.
Definition: SharedData.h:281
@ ZYDIS_EVEX_FUNC_BC
EVEX.b enables broadcast functionality.
Definition: SharedData.h:273
@ ZYDIS_EVEX_FUNC_RC
EVEX.b enables embedded-rounding functionality.
Definition: SharedData.h:277
ZYDIS_NO_EXPORT void ZydisGetInstructionDefinition(ZydisInstructionEncoding encoding, ZydisU16 id, const ZydisInstructionDefinition **definition)
Returns the instruction-definition with the given encoding and id.
ZydisU8 ZydisVEXStaticBroadcast
Defines the ZydisVEXStaticBroadcast datatype.
Definition: SharedData.h:482
ZydisU8 ZydisInternalElementType
Defines the ZydisInternalElementType datatype.
Definition: SharedData.h:102
ZYDIS_NO_EXPORT void ZydisGetAccessedFlags(const ZydisInstructionDefinition *definition, const ZydisAccessedFlags **flags)
Returns the the operand-definitions for the given instruction-definition.
ZYDIS_NO_EXPORT void ZydisGetElementInfo(ZydisInternalElementType element, ZydisElementType *type, ZydisElementSize *size)
Returns the actual type and size of an internal element-type.
ZydisU8 ZydisRegisterConstraint
Defines the ZydisRegisterConstraint datatype.
Definition: SharedData.h:195
struct ZydisOperandDefinition_ ZydisOperandDefinition
Defines the ZydisOperandDefinition struct.
struct ZydisInstructionDefinitionMVEX_ ZydisInstructionDefinitionMVEX
Defines the ZydisInstructionDefinitionMVEX struct.
ZydisU8 ZydisMVEXStaticBroadcast
Defines the ZydisMVEXStaticBroadcast datatype.
Definition: SharedData.h:534
ZydisU8 ZydisEVEXStaticBroadcast
Defines the ZydisEVEXStaticBroadcast datatype.
Definition: SharedData.h:505
struct ZydisInstructionDefinitionXOP_ ZydisInstructionDefinitionXOP
Defines the ZydisInstructionDefinitionXOP struct.
struct ZydisAccessedFlags_ ZydisAccessedFlags
struct ZydisInstructionDefinitionEVEX_ ZydisInstructionDefinitionEVEX
Defines the ZydisInstructionDefinitionEVEX struct.
ZydisSemanticOperandTypes
Values that represent semantic operand-types.
Definition: SharedData.h:65
@ ZYDIS_SEMANTIC_OPTYPE_MMX
Definition: SharedData.h:78
@ ZYDIS_SEMANTIC_OPTYPE_ZMM
Definition: SharedData.h:81
@ ZYDIS_SEMANTIC_OPTYPE_BND
Definition: SharedData.h:82
@ ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64
Definition: SharedData.h:75
@ ZYDIS_SEMANTIC_OPTYPE_MEM
Definition: SharedData.h:87
@ ZYDIS_SEMANTIC_OPTYPE_AGEN
Definition: SharedData.h:94
@ ZYDIS_SEMANTIC_OPTYPE_CR
Definition: SharedData.h:84
@ ZYDIS_SEMANTIC_OPTYPE_DR
Definition: SharedData.h:85
@ ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM
Definition: SharedData.h:68
@ ZYDIS_SEMANTIC_OPTYPE_GPR32
Definition: SharedData.h:72
@ ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY
Definition: SharedData.h:89
@ ZYDIS_SEMANTIC_OPTYPE_FPR
Definition: SharedData.h:77
@ ZYDIS_SEMANTIC_OPTYPE_XMM
Definition: SharedData.h:79
@ ZYDIS_SEMANTIC_OPTYPE_GPR8
Definition: SharedData.h:70
@ ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX
Definition: SharedData.h:88
@ ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ
Definition: SharedData.h:90
@ ZYDIS_SEMANTIC_OPTYPE_GPR16
Definition: SharedData.h:71
@ ZYDIS_SEMANTIC_OPTYPE_MIB
Definition: SharedData.h:96
@ ZYDIS_SEMANTIC_OPTYPE_SREG
Definition: SharedData.h:83
@ ZYDIS_SEMANTIC_OPTYPE_IMM
Definition: SharedData.h:91
@ ZYDIS_SEMANTIC_OPTYPE_MOFFS
Definition: SharedData.h:95
@ ZYDIS_SEMANTIC_OPTYPE_GPR64
Definition: SharedData.h:73
@ ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1
Definition: SharedData.h:69
@ ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32
Definition: SharedData.h:76
@ ZYDIS_SEMANTIC_OPTYPE_UNUSED
Definition: SharedData.h:66
@ ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG
Definition: SharedData.h:67
@ ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64
Definition: SharedData.h:74
@ ZYDIS_SEMANTIC_OPTYPE_YMM
Definition: SharedData.h:80
@ ZYDIS_SEMANTIC_OPTYPE_REL
Definition: SharedData.h:92
@ ZYDIS_SEMANTIC_OPTYPE_PTR
Definition: SharedData.h:93
@ ZYDIS_SEMANTIC_OPTYPE_MASK
Definition: SharedData.h:86
ZydisInternalVectorLengths
Values that represent internal vector-lengths.
Definition: SharedData.h:228
@ ZYDIS_IVECTOR_LENGTH_DEFAULT
Definition: SharedData.h:229
@ ZYDIS_IVECTOR_LENGTH_FIXED_256
Definition: SharedData.h:231
@ ZYDIS_IVECTOR_LENGTH_FIXED_128
Definition: SharedData.h:230
@ ZYDIS_IVECTOR_LENGTH_FIXED_512
Definition: SharedData.h:232
ZydisU8 ZydisEVEXFunctionality
Defines the ZydisEVEXFunctionality datatype.
Definition: SharedData.h:262
ZydisU8 ZydisSemanticOperandType
Defines the ZydisSemanticOperandType datatype.
Definition: SharedData.h:59
ZydisMVEXStaticBroadcasts
Values that represent static MVEX-broadcasts.
Definition: SharedData.h:540
@ ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8
Definition: SharedData.h:544
@ ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16
Definition: SharedData.h:545
@ ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16
Definition: SharedData.h:543
@ ZYDIS_MVEX_STATIC_BROADCAST_NONE
Definition: SharedData.h:541
@ ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8
Definition: SharedData.h:542
Defines decoder/encoder-shared macros and types.
ZydisU8 ZydisOperandEncoding
Defines the ZydisOperandEncoding datatype.
Definition: SharedTypes.h:212
ZydisU8 ZydisInstructionEncoding
Defines the ZydisInstructionEncoding datatype.
Definition: SharedTypes.h:365
ZydisU16 ZydisElementSize
Defines the ZydisElementSize datatype.
Definition: SharedTypes.h:162
ZydisU8 ZydisElementType
Defines the ZydisElementType datatype.
Definition: SharedTypes.h:136
ZydisU8 ZydisOperandVisibility
Defines the ZydisOperandVisibility datatype.
Definition: SharedTypes.h:268
ZydisU8 ZydisOperandAction
Defines the ZydisOperandAction datatype.
Definition: SharedTypes.h:302
Definition: SharedData.h:691
ZydisCPUFlagAction action[ZYDIS_CPUFLAG_MAX_VALUE+1]
Definition: SharedData.h:692
Defines the ZydisInstructionDefinition3DNOW struct.
Definition: SharedData.h:633
ZYDIS_INSTRUCTION_DEFINITION_BASE
Definition: SharedData.h:634
Defines the ZydisInstructionDefinitionDEFAULT struct.
Definition: SharedData.h:613
ZydisBool acceptsREPNEREPNZ ZYDIS_BITFIELD(1)
ZydisBool acceptsREP ZYDIS_BITFIELD(1)
ZydisBool acceptsXACQUIRE ZYDIS_BITFIELD(1)
ZydisBool acceptsXRELEASE ZYDIS_BITFIELD(1)
ZydisBool acceptsBOUND ZYDIS_BITFIELD(1)
ZYDIS_INSTRUCTION_DEFINITION_BASE
Definition: SharedData.h:614
ZydisBool acceptsHLEWithoutLock ZYDIS_BITFIELD(1)
ZydisBool acceptsREPEREPZ ZYDIS_BITFIELD(1)
ZydisBool acceptsBranchHints ZYDIS_BITFIELD(1)
ZydisBool acceptsSegment ZYDIS_BITFIELD(1)
ZydisBool isFarBranch ZYDIS_BITFIELD(1)
ZydisBool isPrivileged ZYDIS_BITFIELD(1)
ZydisBool acceptsLOCK ZYDIS_BITFIELD(1)
Defines the ZydisInstructionDefinitionEVEX struct.
Definition: SharedData.h:659
ZydisInternalElementSize elementSize ZYDIS_BITFIELD(3)
ZydisBool acceptsZeroMask ZYDIS_BITFIELD(1)
ZydisEVEXStaticBroadcast broadcast ZYDIS_BITFIELD(4)
ZydisBool isControlMask ZYDIS_BITFIELD(1)
ZydisMaskPolicy maskPolicy ZYDIS_BITFIELD(2)
ZydisEVEXTupleType tupleType ZYDIS_BITFIELD(4)
ZydisInternalVectorLength vectorLength ZYDIS_BITFIELD(2)
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL
Definition: SharedData.h:660
ZydisEVEXFunctionality functionality ZYDIS_BITFIELD(2)
Defines the ZydisInstructionDefinitionMVEX struct.
Definition: SharedData.h:677
ZydisBool hasElementGranularity ZYDIS_BITFIELD(1)
ZydisMVEXStaticBroadcast broadcast ZYDIS_BITFIELD(3)
ZydisMaskPolicy maskPolicy ZYDIS_BITFIELD(2)
ZydisMVEXFunctionality functionality ZYDIS_BITFIELD(5)
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL
Definition: SharedData.h:678
Defines the ZydisInstructionDefinitionVEX struct.
Definition: SharedData.h:649
ZydisVEXStaticBroadcast broadcast ZYDIS_BITFIELD(3)
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL
Definition: SharedData.h:650
Defines the ZydisInstructionDefinitionXOP struct.
Definition: SharedData.h:641
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR
Definition: SharedData.h:642
Defines the ZydisInstructionDefinition struct.
Definition: SharedData.h:605
ZYDIS_INSTRUCTION_DEFINITION_BASE
Definition: SharedData.h:606
Defines the ZydisOperandDefinition struct.
Definition: SharedData.h:136
ZydisOperandAction action ZYDIS_BITFIELD(3)
ZydisOperandEncoding encoding
Definition: SharedData.h:144
union ZydisOperandDefinition_::@28 op
ZydisOperandVisibility visibility ZYDIS_BITFIELD(2)
union ZydisOperandDefinition_::@28::@29::@31 reg
ZydisInternalElementType elementType ZYDIS_BITFIELD(5)
ZydisU16 size[3]
Definition: SharedData.h:140
struct ZydisOperandDefinition_::@28::@30 mem
ZydisSemanticOperandType type ZYDIS_BITFIELD(5)