|
Zydis v4.1.0
|
#include <Zycore/Defines.h>#include <Zydis/Mnemonic.h>#include <Zydis/Register.h>#include <Zydis/SharedTypes.h>#include <Zydis/DecoderTypes.h>Go to the source code of this file.
Data Structures | |
| struct | ZydisOperandDefinition_ |
Defines the ZydisOperandDefinition struct. More... | |
| struct | ZydisInstructionDefinition_ |
Defines the ZydisInstructionDefinition struct. More... | |
| struct | ZydisInstructionDefinitionLEGACY_ |
Defines the ZydisInstructionDefinitionLEGACY struct. More... | |
| struct | ZydisInstructionDefinition3DNOW_ |
Defines the ZydisInstructionDefinition3DNOW struct. More... | |
| struct | ZydisInstructionDefinitionXOP_ |
Defines the ZydisInstructionDefinitionXOP struct. More... | |
| struct | ZydisInstructionDefinitionVEX_ |
Defines the ZydisInstructionDefinitionVEX struct. More... | |
| struct | ZydisInstructionDefinitionEVEX_ |
Defines the ZydisInstructionDefinitionEVEX struct. More... | |
| struct | ZydisInstructionDefinitionMVEX_ |
Defines the ZydisInstructionDefinitionMVEX struct. More... | |
| struct | ZydisDefinitionAccessedFlags_ |
Macros | |
| #define | ZYDIS_OPDEF_REQUIRED_BITS ZYAN_MAX(ZYDIS_REGKIND_REQUIRED_BITS, ZYDIS_MEMOP_TYPE_REQUIRED_BITS + 1) + 1 |
| #define | ZYDIS_OPDEF_GET_REG(operand_definition) ((operand_definition) & ((1 << ZYDIS_REGKIND_REQUIRED_BITS ) - 1)) |
| #define | ZYDIS_OPDEF_GET_MEM(operand_definition) ((operand_definition) & ((1 << ZYDIS_MEMOP_TYPE_REQUIRED_BITS) - 1)) |
| #define | ZYDIS_OPDEF_GET_REG_HIGH_BIT(operand_definition) (((operand_definition) >> ZYDIS_REGKIND_REQUIRED_BITS ) & 0x01) |
| #define | ZYDIS_OPDEF_GET_MEM_HIGH_BIT(operand_definition) (((operand_definition) >> ZYDIS_MEMOP_TYPE_REQUIRED_BITS) & 0x01) |
| #define | ZYDIS_INSTRUCTION_DEFINITION_BASE |
| #define | ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR |
| #define | ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL |
Typedefs | |
| typedef enum ZydisSemanticOperandType_ | ZydisSemanticOperandType |
Defines the ZydisSemanticOperandType enum. | |
| typedef enum ZydisInternalElementType_ | ZydisInternalElementType |
Defines the ZydisInternalElementType enum. | |
| typedef enum ZydisImplicitRegisterType_ | ZydisImplicitRegisterType |
Defines the ZydisImplicitRegisterType enum. | |
| typedef enum ZydisImplicitMemBase_ | ZydisImplicitMemBase |
Defines the ZydisImplicitMemBase enum. | |
| typedef struct ZydisOperandDefinition_ | ZydisOperandDefinition |
Defines the ZydisOperandDefinition struct. | |
| typedef enum ZydisReadWriteAction_ | ZydisReadWriteAction |
Defines the ZydisReadWriteAction enum. | |
| typedef enum ZydisInternalVectorLength_ | ZydisInternalVectorLength |
Defines the ZydisInternalVectorLength enum. | |
| typedef enum ZydisInternalElementSize_ | ZydisInternalElementSize |
Defines the ZydisInternalElementSize enum. | |
| typedef enum ZydisEVEXFunctionality_ | ZydisEVEXFunctionality |
Defines the ZydisEVEXFunctionality enum. | |
| typedef enum ZydisEVEXTupleType_ | ZydisEVEXTupleType |
Defines the ZydisEVEXTupleType enum. | |
| typedef enum ZydisMVEXFunctionality_ | ZydisMVEXFunctionality |
Defines the ZydisMVEXFunctionality enum. | |
| typedef enum ZydisVEXStaticBroadcast | ZydisVEXStaticBroadcast |
Defines the ZydisVEXStaticBroadcast enum. | |
| typedef enum ZydisEVEXStaticBroadcast_ | ZydisEVEXStaticBroadcast |
Defines the ZydisEVEXStaticBroadcast enum. | |
| typedef enum ZydisMVEXStaticBroadcast_ | ZydisMVEXStaticBroadcast |
Defines the ZydisMVEXStaticBroadcast enum. | |
| typedef enum ZydisMaskPolicy_ | ZydisMaskPolicy |
Defines the ZydisMaskPolicy enum. | |
| typedef enum ZydisMaskOverride_ | ZydisMaskOverride |
Defines the ZydisMaskOverride enum. | |
| typedef struct ZydisInstructionDefinition_ | ZydisInstructionDefinition |
Defines the ZydisInstructionDefinition struct. | |
| typedef struct ZydisInstructionDefinitionLEGACY_ | ZydisInstructionDefinitionLEGACY |
Defines the ZydisInstructionDefinitionLEGACY struct. | |
| typedef struct ZydisInstructionDefinition3DNOW_ | ZydisInstructionDefinition3DNOW |
Defines the ZydisInstructionDefinition3DNOW struct. | |
| typedef struct ZydisInstructionDefinitionXOP_ | ZydisInstructionDefinitionXOP |
Defines the ZydisInstructionDefinitionXOP struct. | |
| typedef struct ZydisInstructionDefinitionVEX_ | ZydisInstructionDefinitionVEX |
Defines the ZydisInstructionDefinitionVEX struct. | |
| typedef struct ZydisInstructionDefinitionEVEX_ | ZydisInstructionDefinitionEVEX |
Defines the ZydisInstructionDefinitionEVEX struct. | |
| typedef struct ZydisInstructionDefinitionMVEX_ | ZydisInstructionDefinitionMVEX |
Defines the ZydisInstructionDefinitionMVEX struct. | |
| typedef struct ZydisDefinitionAccessedFlags_ | ZydisDefinitionAccessedFlags |
| #define ZYDIS_INSTRUCTION_DEFINITION_BASE |
| #define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR |
| #define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL |
| #define ZYDIS_OPDEF_GET_MEM | ( | operand_definition | ) | ((operand_definition) & ((1 << ZYDIS_MEMOP_TYPE_REQUIRED_BITS) - 1)) |
| #define ZYDIS_OPDEF_GET_MEM_HIGH_BIT | ( | operand_definition | ) | (((operand_definition) >> ZYDIS_MEMOP_TYPE_REQUIRED_BITS) & 0x01) |
| #define ZYDIS_OPDEF_GET_REG | ( | operand_definition | ) | ((operand_definition) & ((1 << ZYDIS_REGKIND_REQUIRED_BITS ) - 1)) |
| #define ZYDIS_OPDEF_GET_REG_HIGH_BIT | ( | operand_definition | ) | (((operand_definition) >> ZYDIS_REGKIND_REQUIRED_BITS ) & 0x01) |
| #define ZYDIS_OPDEF_REQUIRED_BITS ZYAN_MAX(ZYDIS_REGKIND_REQUIRED_BITS, ZYDIS_MEMOP_TYPE_REQUIRED_BITS + 1) + 1 |
| typedef struct ZydisDefinitionAccessedFlags_ ZydisDefinitionAccessedFlags |
| typedef enum ZydisEVEXFunctionality_ ZydisEVEXFunctionality |
Defines the ZydisEVEXFunctionality enum.
| typedef enum ZydisEVEXStaticBroadcast_ ZydisEVEXStaticBroadcast |
Defines the ZydisEVEXStaticBroadcast enum.
| typedef enum ZydisEVEXTupleType_ ZydisEVEXTupleType |
Defines the ZydisEVEXTupleType enum.
| typedef enum ZydisImplicitMemBase_ ZydisImplicitMemBase |
Defines the ZydisImplicitMemBase enum.
| typedef enum ZydisImplicitRegisterType_ ZydisImplicitRegisterType |
Defines the ZydisImplicitRegisterType enum.
| typedef struct ZydisInstructionDefinition_ ZydisInstructionDefinition |
Defines the ZydisInstructionDefinition struct.
| typedef struct ZydisInstructionDefinition3DNOW_ ZydisInstructionDefinition3DNOW |
Defines the ZydisInstructionDefinition3DNOW struct.
| typedef struct ZydisInstructionDefinitionEVEX_ ZydisInstructionDefinitionEVEX |
Defines the ZydisInstructionDefinitionEVEX struct.
Defines the ZydisInstructionDefinitionLEGACY struct.
| typedef struct ZydisInstructionDefinitionMVEX_ ZydisInstructionDefinitionMVEX |
Defines the ZydisInstructionDefinitionMVEX struct.
| typedef struct ZydisInstructionDefinitionVEX_ ZydisInstructionDefinitionVEX |
Defines the ZydisInstructionDefinitionVEX struct.
| typedef struct ZydisInstructionDefinitionXOP_ ZydisInstructionDefinitionXOP |
Defines the ZydisInstructionDefinitionXOP struct.
| typedef enum ZydisInternalElementSize_ ZydisInternalElementSize |
Defines the ZydisInternalElementSize enum.
| typedef enum ZydisInternalElementType_ ZydisInternalElementType |
Defines the ZydisInternalElementType enum.
| typedef enum ZydisInternalVectorLength_ ZydisInternalVectorLength |
Defines the ZydisInternalVectorLength enum.
| typedef enum ZydisMaskOverride_ ZydisMaskOverride |
Defines the ZydisMaskOverride enum.
| typedef enum ZydisMaskPolicy_ ZydisMaskPolicy |
Defines the ZydisMaskPolicy enum.
| typedef enum ZydisMVEXFunctionality_ ZydisMVEXFunctionality |
Defines the ZydisMVEXFunctionality enum.
| typedef enum ZydisMVEXStaticBroadcast_ ZydisMVEXStaticBroadcast |
Defines the ZydisMVEXStaticBroadcast enum.
| typedef struct ZydisOperandDefinition_ ZydisOperandDefinition |
Defines the ZydisOperandDefinition struct.
| typedef enum ZydisReadWriteAction_ ZydisReadWriteAction |
Defines the ZydisReadWriteAction enum.
| typedef enum ZydisSemanticOperandType_ ZydisSemanticOperandType |
Defines the ZydisSemanticOperandType enum.
| typedef enum ZydisVEXStaticBroadcast ZydisVEXStaticBroadcast |
Defines the ZydisVEXStaticBroadcast enum.
Defines the ZydisEVEXFunctionality enum.
Defines the ZydisEVEXStaticBroadcast enum.
| enum ZydisEVEXTupleType_ |
Defines the ZydisEVEXTupleType enum.
Defines the ZydisImplicitMemBase enum.
Defines the ZydisImplicitRegisterType enum.
Defines the ZydisInternalElementSize enum.
Defines the ZydisInternalElementType enum.
Defines the ZydisInternalVectorLength enum.
| enum ZydisMaskOverride_ |
| enum ZydisMaskPolicy_ |
Defines the ZydisMaskPolicy enum.
Defines the ZydisMVEXFunctionality enum.
Defines the ZydisMVEXStaticBroadcast enum.
Defines the ZydisSemanticOperandType enum.
Defines the ZydisVEXStaticBroadcast enum.
| ZYAN_STATIC_ASSERT | ( | ZYDIS_BRANCH_TYPE_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_CATEGORY_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_EVEX_FUNC_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_IELEMENT_SIZE_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_IELEMENT_TYPE_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_IMPLMEM_BASE_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_IMPLREG_TYPE_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_ISA_EXT_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_ISA_SET_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_MASK_OVERRIDE_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_MASK_POLICY_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_MNEMONIC_REQUIRED_BITS<= | 16 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_MVEX_FUNC_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_OPDEF_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_OPERAND_ACTION_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_OPERAND_ENCODING_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_OPERAND_VISIBILITY_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_REGISTER_REQUIRED_BITS<= | 16 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_RW_ACTION_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_SEMANTIC_OPTYPE_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_TUPLETYPE_REQUIRED_BITS<= | 8 | ) |
| ZYAN_STATIC_ASSERT | ( | ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS<= | 8 | ) |
| ZYDIS_NO_EXPORT ZyanBool ZydisGetAccessedFlags | ( | const ZydisInstructionDefinition * | definition, |
| const ZydisDefinitionAccessedFlags ** | flags ) |
Returns the the operand-definitions for the given instruction-definition.
| definition | A pointer to the instruction-definition. |
| flags | A pointer to the variable that receives the ZydisDefinitionAccessedFlags struct. |
ZYAN_TRUE, if the instruction accesses any flags, or ZYAN_FALSE, if not. | ZYDIS_NO_EXPORT void ZydisGetElementInfo | ( | ZydisInternalElementType | element, |
| ZydisElementType * | type, | ||
| ZydisElementSize * | size ) |
Returns the actual type and size of an internal element-type.
| element | The internal element type. |
| type | The actual element type. |
| size | The element size. |
| ZYDIS_NO_EXPORT void ZydisGetInstructionDefinition | ( | ZydisInstructionEncoding | encoding, |
| ZyanU16 | id, | ||
| const ZydisInstructionDefinition ** | definition ) |
Returns the instruction-definition with the given encoding and id.
| encoding | The instruction-encoding. |
| id | The definition-id. |
| definition | A pointer to the variable that receives a pointer to the instruction- definition. |
| ZYDIS_NO_EXPORT const ZydisOperandDefinition * ZydisGetOperandDefinitions | ( | const ZydisInstructionDefinition * | definition | ) |
Returns the the operand-definitions for the given instruction-definition.
| definition | A pointer to the instruction-definition. |
ZYAN_NULL.