Zydis
master
|
#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. More... | |
typedef enum ZydisInternalElementType_ | ZydisInternalElementType |
Defines the ZydisInternalElementType enum. More... | |
typedef enum ZydisImplicitRegisterType_ | ZydisImplicitRegisterType |
Defines the ZydisImplicitRegisterType enum. More... | |
typedef enum ZydisImplicitMemBase_ | ZydisImplicitMemBase |
Defines the ZydisImplicitMemBase enum. More... | |
typedef struct ZydisOperandDefinition_ | ZydisOperandDefinition |
Defines the ZydisOperandDefinition struct. More... | |
typedef enum ZydisReadWriteAction_ | ZydisReadWriteAction |
Defines the ZydisReadWriteAction enum. More... | |
typedef enum ZydisInternalVectorLength_ | ZydisInternalVectorLength |
Defines the ZydisInternalVectorLength enum. More... | |
typedef enum ZydisInternalElementSize_ | ZydisInternalElementSize |
Defines the ZydisInternalElementSize enum. More... | |
typedef enum ZydisEVEXFunctionality_ | ZydisEVEXFunctionality |
Defines the ZydisEVEXFunctionality enum. More... | |
typedef enum ZydisEVEXTupleType_ | ZydisEVEXTupleType |
Defines the ZydisEVEXTupleType enum. More... | |
typedef enum ZydisMVEXFunctionality_ | ZydisMVEXFunctionality |
Defines the ZydisMVEXFunctionality enum. More... | |
typedef enum ZydisVEXStaticBroadcast | ZydisVEXStaticBroadcast |
Defines the ZydisVEXStaticBroadcast enum. More... | |
typedef enum ZydisEVEXStaticBroadcast_ | ZydisEVEXStaticBroadcast |
Defines the ZydisEVEXStaticBroadcast enum. More... | |
typedef enum ZydisMVEXStaticBroadcast_ | ZydisMVEXStaticBroadcast |
Defines the ZydisMVEXStaticBroadcast enum. More... | |
typedef enum ZydisMaskPolicy_ | ZydisMaskPolicy |
Defines the ZydisMaskPolicy enum. More... | |
typedef enum ZydisMaskOverride_ | ZydisMaskOverride |
Defines the ZydisMaskOverride enum. More... | |
typedef struct ZydisInstructionDefinition_ | ZydisInstructionDefinition |
Defines the ZydisInstructionDefinition struct. More... | |
typedef struct ZydisInstructionDefinitionLEGACY_ | ZydisInstructionDefinitionLEGACY |
Defines the ZydisInstructionDefinitionLEGACY struct. More... | |
typedef struct ZydisInstructionDefinition3DNOW_ | ZydisInstructionDefinition3DNOW |
Defines the ZydisInstructionDefinition3DNOW struct. More... | |
typedef struct ZydisInstructionDefinitionXOP_ | ZydisInstructionDefinitionXOP |
Defines the ZydisInstructionDefinitionXOP struct. More... | |
typedef struct ZydisInstructionDefinitionVEX_ | ZydisInstructionDefinitionVEX |
Defines the ZydisInstructionDefinitionVEX struct. More... | |
typedef struct ZydisInstructionDefinitionEVEX_ | ZydisInstructionDefinitionEVEX |
Defines the ZydisInstructionDefinitionEVEX struct. More... | |
typedef struct ZydisInstructionDefinitionMVEX_ | ZydisInstructionDefinitionMVEX |
Defines the ZydisInstructionDefinitionMVEX struct. More... | |
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
.