|
Zydis v4.1.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. | |
| #define | ZYDIS_CPUFLAG_CF (1ul << 0) |
| Carry flag. | |
| #define | ZYDIS_CPUFLAG_PF (1ul << 2) |
| Parity flag. | |
| #define | ZYDIS_CPUFLAG_AF (1ul << 4) |
| Adjust flag. | |
| #define | ZYDIS_CPUFLAG_ZF (1ul << 6) |
| Zero flag. | |
| #define | ZYDIS_CPUFLAG_SF (1ul << 7) |
| Sign flag. | |
| #define | ZYDIS_CPUFLAG_TF (1ul << 8) |
| Trap flag. | |
| #define | ZYDIS_CPUFLAG_IF (1ul << 9) |
| Interrupt enable flag. | |
| #define | ZYDIS_CPUFLAG_DF (1ul << 10) |
| Direction flag. | |
| #define | ZYDIS_CPUFLAG_OF (1ul << 11) |
| Overflow flag. | |
| #define | ZYDIS_CPUFLAG_IOPL (1ul << 12) |
| I/O privilege level flag. | |
| #define | ZYDIS_CPUFLAG_NT (1ul << 14) |
| Nested task flag. | |
| #define | ZYDIS_CPUFLAG_RF (1ul << 16) |
| Resume flag. | |
| #define | ZYDIS_CPUFLAG_VM (1ul << 17) |
| Virtual 8086 mode flag. | |
| #define | ZYDIS_CPUFLAG_AC (1ul << 18) |
| Alignment check. | |
| #define | ZYDIS_CPUFLAG_VIF (1ul << 19) |
| Virtual interrupt flag. | |
| #define | ZYDIS_CPUFLAG_VIP (1ul << 20) |
| Virtual interrupt pending. | |
| #define | ZYDIS_CPUFLAG_ID (1ul << 21) |
| Able to use CPUID instruction. | |
| #define | ZYDIS_FPUFLAG_C0 (1ul << 0) |
| FPU condition-code flag 0. | |
| #define | ZYDIS_FPUFLAG_C1 (1ul << 1) |
| FPU condition-code flag 1. | |
| #define | ZYDIS_FPUFLAG_C2 (1ul << 2) |
| FPU condition-code flag 2. | |
| #define | ZYDIS_FPUFLAG_C3 (1ul << 3) |
| FPU condition-code flag 3. | |
Typedefs | |
| typedef ZyanU8 | ZydisOperandAttributes |
Defines the ZydisOperandAttributes data-type. | |
| typedef enum ZydisMemoryOperandType_ | ZydisMemoryOperandType |
Defines the ZydisMemoryOperandType enum. | |
| typedef struct ZydisDecodedOperandReg_ | ZydisDecodedOperandReg |
| Extended info for register-operands. | |
| typedef struct ZydisDecodedOperandMem_ | ZydisDecodedOperandMem |
| Extended info for memory-operands. | |
| typedef struct ZydisDecodedOperandPtr_ | ZydisDecodedOperandPtr |
| Extended info for pointer-operands. | |
| typedef struct ZydisDecodedOperandImm_ | ZydisDecodedOperandImm |
| Extended info for immediate-operands. | |
| typedef struct ZydisDecodedOperand_ | ZydisDecodedOperand |
Defines the ZydisDecodedOperand struct. | |
| typedef ZyanU32 | ZydisAccessedFlagsMask |
Defines the ZydisAccessedFlagsMask data-type. | |
| typedef struct ZydisAccessedFlags_ | ZydisAccessedFlags |
| typedef enum ZydisBranchType_ | ZydisBranchType |
Defines the ZydisBranchType enum. | |
| typedef enum ZydisExceptionClass_ | ZydisExceptionClass |
Defines the ZydisExceptionClass enum. | |
| typedef enum ZydisMaskMode_ | ZydisMaskMode |
Defines the ZydisMaskMode enum. | |
| typedef enum ZydisBroadcastMode_ | ZydisBroadcastMode |
Defines the ZydisBroadcastMode enum. | |
| typedef enum ZydisRoundingMode_ | ZydisRoundingMode |
Defines the ZydisRoundingMode enum. | |
| typedef enum ZydisSwizzleMode_ | ZydisSwizzleMode |
Defines the ZydisSwizzleMode enum. | |
| typedef enum ZydisConversionMode_ | ZydisConversionMode |
Defines the ZydisConversionMode enum. | |
| typedef enum ZydisPrefixType_ | ZydisPrefixType |
Defines the ZydisPrefixType enum. | |
| typedef struct ZydisDecodedInstructionRawRex_ | ZydisDecodedInstructionRawRex |
Detailed info about the REX prefix. | |
| typedef struct ZydisDecodedInstructionRawXop_ | ZydisDecodedInstructionRawXop |
Detailed info about the XOP prefix. | |
| typedef struct ZydisDecodedInstructionRawVex_ | ZydisDecodedInstructionRawVex |
Detailed info about the VEX prefix. | |
| typedef struct ZydisDecodedInstructionRawEvex | ZydisDecodedInstructionRawEvex |
Detailed info about the EVEX prefix. | |
| typedef struct ZydisDecodedInstructionRawMvex_ | ZydisDecodedInstructionRawMvex |
Detailed info about the MVEX prefix. | |
| 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 ZydisDecodedInstruction_ | ZydisDecodedInstruction |
| Information about a decoded instruction. | |
| typedef struct ZydisDecoderContext_ | ZydisDecoderContext |
| The decoder context is used to preserve some internal state between subsequent decode operations for THE SAME instruction. | |
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.