Zydis
v4.0.0
|
Defines the basic ZydisDecodedInstruction
and ZydisDecodedOperand
structs.
More...
#include <Zycore/Types.h>
#include <Zydis/MetaInfo.h>
#include <Zydis/Mnemonic.h>
#include <Zydis/Register.h>
#include <Zydis/SharedTypes.h>
Go to the source code of this file.
Data Structures | |
struct | ZydisDecodedOperandReg_ |
Extended info for register-operands. More... | |
struct | ZydisDecodedOperandMem_ |
Extended info for memory-operands. More... | |
struct | ZydisDecodedOperandMem_::ZydisDecodedOperandMemDisp_ |
Extended info for memory-operands with displacement. More... | |
struct | ZydisDecodedOperandPtr_ |
Extended info for pointer-operands. More... | |
struct | ZydisDecodedOperandImm_ |
Extended info for immediate-operands. More... | |
union | ZydisDecodedOperandImm_::ZydisDecodedOperandImmValue_ |
The immediate value. More... | |
struct | ZydisDecodedOperand_ |
Defines the ZydisDecodedOperand struct. More... | |
struct | ZydisAccessedFlags_ |
struct | ZydisDecodedInstructionRawRex_ |
Detailed info about the REX prefix. More... | |
struct | ZydisDecodedInstructionRawXop_ |
Detailed info about the XOP prefix. More... | |
struct | ZydisDecodedInstructionRawVex_ |
Detailed info about the VEX prefix. More... | |
struct | ZydisDecodedInstructionRawEvex |
Detailed info about the EVEX prefix. More... | |
struct | ZydisDecodedInstructionRawMvex_ |
Detailed info about the MVEX prefix. More... | |
struct | ZydisDecodedInstructionAvx_ |
Extended info for AVX instructions. More... | |
struct | ZydisDecodedInstructionAvx_::ZydisDecodedInstructionAvxMask_ |
Info about the embedded writemask-register (AVX-512 and KNC only). More... | |
struct | ZydisDecodedInstructionAvx_::ZydisDecodedInstructionAvxBroadcast_ |
Contains info about the AVX broadcast. More... | |
struct | ZydisDecodedInstructionAvx_::ZydisDecodedInstructionAvxRounding_ |
Contains info about the AVX rounding. More... | |
struct | ZydisDecodedInstructionAvx_::ZydisDecodedInstructionAvxSwizzle_ |
Contains info about the AVX register-swizzle (KNC only). More... | |
struct | ZydisDecodedInstructionAvx_::ZydisDecodedInstructionAvxConversion_ |
Contains info about the AVX data-conversion (KNC only). More... | |
struct | ZydisDecodedInstructionMeta_ |
Instruction meta info. More... | |
struct | ZydisDecodedInstructionRaw_ |
Detailed info about different instruction-parts like ModRM , SIB or encoding-prefixes. More... | |
struct | ZydisDecodedInstructionRaw_::ZydisDecodedInstructionRawPrefixes_ |
Detailed info about the legacy prefixes (including REX ). More... | |
struct | ZydisDecodedInstructionRaw_::ZydisDecodedInstructionModRm_ |
Detailed info about the ModRM byte. More... | |
struct | ZydisDecodedInstructionRaw_::ZydisDecodedInstructionRawSib_ |
Detailed info about the SIB byte. More... | |
struct | ZydisDecodedInstructionRaw_::ZydisDecodedInstructionRawDisp_ |
Detailed info about displacement-bytes. More... | |
struct | ZydisDecodedInstructionRaw_::ZydisDecodedInstructionRawImm_ |
Detailed info about immediate-bytes. More... | |
union | ZydisDecodedInstructionRaw_::ZydisDecodedInstructionRawImm_::ZydisDecodedInstructionRawImmValue_ |
The immediate value. More... | |
struct | ZydisDecodedInstruction_ |
Information about a decoded instruction. More... | |
struct | ZydisDecoderContext_ |
The decoder context is used to preserve some internal state between subsequent decode operations for THE SAME instruction. More... | |
Macros | |
#define | ZYDIS_OATTRIB_IS_MULTISOURCE4 0x01 |
The operand is a MULTISOURCE4 register operand. More... | |
#define | ZYDIS_CPUFLAG_CF (1ul << 0) |
Carry flag. More... | |
#define | ZYDIS_CPUFLAG_PF (1ul << 2) |
Parity flag. More... | |
#define | ZYDIS_CPUFLAG_AF (1ul << 4) |
Adjust flag. More... | |
#define | ZYDIS_CPUFLAG_ZF (1ul << 6) |
Zero flag. More... | |
#define | ZYDIS_CPUFLAG_SF (1ul << 7) |
Sign flag. More... | |
#define | ZYDIS_CPUFLAG_TF (1ul << 8) |
Trap flag. More... | |
#define | ZYDIS_CPUFLAG_IF (1ul << 9) |
Interrupt enable flag. More... | |
#define | ZYDIS_CPUFLAG_DF (1ul << 10) |
Direction flag. More... | |
#define | ZYDIS_CPUFLAG_OF (1ul << 11) |
Overflow flag. More... | |
#define | ZYDIS_CPUFLAG_IOPL (1ul << 12) |
I/O privilege level flag. More... | |
#define | ZYDIS_CPUFLAG_NT (1ul << 14) |
Nested task flag. More... | |
#define | ZYDIS_CPUFLAG_RF (1ul << 16) |
Resume flag. More... | |
#define | ZYDIS_CPUFLAG_VM (1ul << 17) |
Virtual 8086 mode flag. More... | |
#define | ZYDIS_CPUFLAG_AC (1ul << 18) |
Alignment check. More... | |
#define | ZYDIS_CPUFLAG_VIF (1ul << 19) |
Virtual interrupt flag. More... | |
#define | ZYDIS_CPUFLAG_VIP (1ul << 20) |
Virtual interrupt pending. More... | |
#define | ZYDIS_CPUFLAG_ID (1ul << 21) |
Able to use CPUID instruction. More... | |
#define | ZYDIS_FPUFLAG_C0 (1ul << 0) |
FPU condition-code flag 0. More... | |
#define | ZYDIS_FPUFLAG_C1 (1ul << 1) |
FPU condition-code flag 1. More... | |
#define | ZYDIS_FPUFLAG_C2 (1ul << 2) |
FPU condition-code flag 2. More... | |
#define | ZYDIS_FPUFLAG_C3 (1ul << 3) |
FPU condition-code flag 3. More... | |
Typedefs | |
typedef ZyanU8 | ZydisOperandAttributes |
Defines the ZydisOperandAttributes data-type. More... | |
typedef enum ZydisMemoryOperandType_ | ZydisMemoryOperandType |
Defines the ZydisMemoryOperandType enum. More... | |
typedef struct ZydisDecodedOperandReg_ | ZydisDecodedOperandReg |
Extended info for register-operands. More... | |
typedef struct ZydisDecodedOperandMem_ | ZydisDecodedOperandMem |
Extended info for memory-operands. More... | |
typedef struct ZydisDecodedOperandPtr_ | ZydisDecodedOperandPtr |
Extended info for pointer-operands. More... | |
typedef struct ZydisDecodedOperandImm_ | ZydisDecodedOperandImm |
Extended info for immediate-operands. More... | |
typedef struct ZydisDecodedOperand_ | ZydisDecodedOperand |
Defines the ZydisDecodedOperand struct. More... | |
typedef ZyanU32 | ZydisAccessedFlagsMask |
Defines the ZydisAccessedFlagsMask data-type. More... | |
typedef struct ZydisAccessedFlags_ | ZydisAccessedFlags |
typedef enum ZydisBranchType_ | ZydisBranchType |
Defines the ZydisBranchType enum. More... | |
typedef enum ZydisExceptionClass_ | ZydisExceptionClass |
Defines the ZydisExceptionClass enum. More... | |
typedef enum ZydisMaskMode_ | ZydisMaskMode |
Defines the ZydisMaskMode enum. More... | |
typedef enum ZydisBroadcastMode_ | ZydisBroadcastMode |
Defines the ZydisBroadcastMode enum. More... | |
typedef enum ZydisRoundingMode_ | ZydisRoundingMode |
Defines the ZydisRoundingMode enum. More... | |
typedef enum ZydisSwizzleMode_ | ZydisSwizzleMode |
Defines the ZydisSwizzleMode enum. More... | |
typedef enum ZydisConversionMode_ | ZydisConversionMode |
Defines the ZydisConversionMode enum. More... | |
typedef enum ZydisPrefixType_ | ZydisPrefixType |
Defines the ZydisPrefixType enum. More... | |
typedef struct ZydisDecodedInstructionRawRex_ | ZydisDecodedInstructionRawRex |
Detailed info about the REX prefix. More... | |
typedef struct ZydisDecodedInstructionRawXop_ | ZydisDecodedInstructionRawXop |
Detailed info about the XOP prefix. More... | |
typedef struct ZydisDecodedInstructionRawVex_ | ZydisDecodedInstructionRawVex |
Detailed info about the VEX prefix. More... | |
typedef struct ZydisDecodedInstructionRawEvex | ZydisDecodedInstructionRawEvex |
Detailed info about the EVEX prefix. More... | |
typedef struct ZydisDecodedInstructionRawMvex_ | ZydisDecodedInstructionRawMvex |
Detailed info about the MVEX prefix. More... | |
typedef struct ZydisDecodedInstructionAvx_ | ZydisDecodedInstructionAvx |
Extended info for AVX instructions. More... | |
typedef struct ZydisDecodedInstructionMeta_ | ZydisDecodedInstructionMeta |
Instruction meta info. More... | |
typedef struct ZydisDecodedInstructionRaw_ | ZydisDecodedInstructionRaw |
Detailed info about different instruction-parts like ModRM , SIB or encoding-prefixes. More... | |
typedef struct ZydisDecodedInstruction_ | ZydisDecodedInstruction |
Information about a decoded instruction. More... | |
typedef struct ZydisDecoderContext_ | ZydisDecoderContext |
The decoder context is used to preserve some internal state between subsequent decode operations for THE SAME instruction. More... | |
Defines the basic ZydisDecodedInstruction
and ZydisDecodedOperand
structs.
#define ZYDIS_OATTRIB_IS_MULTISOURCE4 0x01 |
The operand is a MULTISOURCE4
register operand.
This is a special register operand-type used by 4FMAPS
instructions where the given register points to the first register of a register range (4 registers in total).
Example: ZMM3 -> [ZMM3..ZMM6]
typedef struct ZydisAccessedFlags_ ZydisAccessedFlags |
typedef ZyanU32 ZydisAccessedFlagsMask |
Defines the ZydisAccessedFlagsMask
data-type.
typedef enum ZydisBranchType_ ZydisBranchType |
Defines the ZydisBranchType
enum.
typedef enum ZydisBroadcastMode_ ZydisBroadcastMode |
Defines the ZydisBroadcastMode
enum.
typedef enum ZydisConversionMode_ ZydisConversionMode |
Defines the ZydisConversionMode
enum.
typedef struct ZydisDecodedInstruction_ ZydisDecodedInstruction |
Information about a decoded instruction.
typedef struct ZydisDecodedInstructionAvx_ ZydisDecodedInstructionAvx |
Extended info for AVX
instructions.
typedef struct ZydisDecodedInstructionMeta_ ZydisDecodedInstructionMeta |
Instruction meta info.
typedef struct ZydisDecodedInstructionRaw_ ZydisDecodedInstructionRaw |
Detailed info about different instruction-parts like ModRM
, SIB
or encoding-prefixes.
typedef struct ZydisDecodedInstructionRawEvex ZydisDecodedInstructionRawEvex |
Detailed info about the EVEX
prefix.
typedef struct ZydisDecodedInstructionRawMvex_ ZydisDecodedInstructionRawMvex |
Detailed info about the MVEX
prefix.
typedef struct ZydisDecodedInstructionRawRex_ ZydisDecodedInstructionRawRex |
Detailed info about the REX
prefix.
typedef struct ZydisDecodedInstructionRawVex_ ZydisDecodedInstructionRawVex |
Detailed info about the VEX
prefix.
typedef struct ZydisDecodedInstructionRawXop_ ZydisDecodedInstructionRawXop |
Detailed info about the XOP
prefix.
typedef struct ZydisDecodedOperand_ ZydisDecodedOperand |
Defines the ZydisDecodedOperand
struct.
typedef struct ZydisDecodedOperandImm_ ZydisDecodedOperandImm |
Extended info for immediate-operands.
typedef struct ZydisDecodedOperandMem_ ZydisDecodedOperandMem |
Extended info for memory-operands.
typedef struct ZydisDecodedOperandPtr_ ZydisDecodedOperandPtr |
Extended info for pointer-operands.
typedef struct ZydisDecodedOperandReg_ ZydisDecodedOperandReg |
Extended info for register-operands.
typedef struct ZydisDecoderContext_ ZydisDecoderContext |
The decoder context is used to preserve some internal state between subsequent decode operations for THE SAME instruction.
The context is initialized by ZydisDecoderDecodeInstruction
and required by e.g. ZydisDecoderDecodeOperands
.
All fields in this struct should be considered as "private". Any changes may lead to unexpected behavior.
This struct is neither ABI nor API stable!
typedef enum ZydisExceptionClass_ ZydisExceptionClass |
Defines the ZydisExceptionClass
enum.
typedef enum ZydisMaskMode_ ZydisMaskMode |
Defines the ZydisMaskMode
enum.
typedef enum ZydisMemoryOperandType_ ZydisMemoryOperandType |
Defines the ZydisMemoryOperandType
enum.
typedef ZyanU8 ZydisOperandAttributes |
Defines the ZydisOperandAttributes
data-type.
typedef enum ZydisPrefixType_ ZydisPrefixType |
Defines the ZydisPrefixType
enum.
typedef enum ZydisRoundingMode_ ZydisRoundingMode |
Defines the ZydisRoundingMode
enum.
typedef enum ZydisSwizzleMode_ ZydisSwizzleMode |
Defines the ZydisSwizzleMode
enum.
enum ZydisBranchType_ |
Defines the ZydisBranchType
enum.
enum ZydisBroadcastMode_ |
Defines the ZydisBroadcastMode
enum.
enum ZydisConversionMode_ |
Defines the ZydisConversionMode
enum.
enum ZydisExceptionClass_ |
Defines the ZydisExceptionClass
enum.
enum ZydisMaskMode_ |
Defines the ZydisMaskMode
enum.
Defines the ZydisMemoryOperandType
enum.
enum ZydisPrefixType_ |
Defines the ZydisPrefixType
enum.
enum ZydisRoundingMode_ |
Defines the ZydisRoundingMode
enum.
enum ZydisSwizzleMode_ |
Defines the ZydisSwizzleMode
enum.