|
ZydisMachineMode | machineMode |
| The machine mode used to decode this instruction. More...
|
|
ZydisMnemonic | mnemonic |
| The instruction-mnemonic. More...
|
|
ZydisU8 | length |
| The length of the decoded instruction. More...
|
|
ZydisU8 | data [ZYDIS_MAX_INSTRUCTION_LENGTH] |
| The raw bytes of the decoded instruction. More...
|
|
ZydisInstructionEncoding | encoding |
| The instruction-encoding (default, 3DNow, VEX, EVEX, XOP). More...
|
|
ZydisOpcodeMap | opcodeMap |
| The opcode-map. More...
|
|
ZydisU8 | opcode |
| The instruction-opcode. More...
|
|
ZydisU8 | stackWidth |
| The stack width. More...
|
|
ZydisU8 | operandWidth |
| The effective operand width. More...
|
|
ZydisU8 | addressWidth |
| The effective address width. More...
|
|
ZydisU8 | operandCount |
| The number of instruction-operands. More...
|
|
ZydisDecodedOperand | operands [ZYDIS_MAX_OPERAND_COUNT] |
| Detailed info for all instruction operands. More...
|
|
ZydisInstructionAttributes | attributes |
| Instruction attributes. More...
|
|
ZydisU64 | instrAddress |
| The instruction address points at the current instruction (based on the initial instruction pointer). More...
|
|
struct { |
ZydisCPUFlagAction action |
| The CPU-flag action. More...
|
|
} | accessedFlags [ZYDIS_CPUFLAG_MAX_VALUE+1] |
| Information about accessed CPU flags. More...
|
|
struct { |
ZydisVectorLength vectorLength |
| The AVX vector-length. More...
|
|
struct { |
ZydisMaskMode mode |
| The masking mode. More...
|
|
ZydisRegister reg |
| The mask register. More...
|
|
ZydisBool isControlMask |
| Signals, if the mask-register is used as a control mask. More...
|
|
} mask |
| Info about the embedded writemask-register (EVEX and MVEX only). More...
|
|
struct { |
ZydisBool isStatic |
| Signals, if the broadcast is a static broadcast. More...
|
|
ZydisBroadcastMode mode |
| The AVX broadcast-mode. More...
|
|
} broadcast |
| Contains info about the AVX broadcast. More...
|
|
struct { |
ZydisRoundingMode mode |
| The AVX rounding-mode. More...
|
|
} rounding |
| Contains info about the AVX rounding. More...
|
|
struct { |
ZydisSwizzleMode mode |
| The AVX register-swizzle mode (MVEX only). More...
|
|
} swizzle |
| Contains info about the AVX register-swizzle (MVEX only). More...
|
|
struct { |
ZydisConversionMode mode |
| The AVX data-conversion mode (MVEX only). More...
|
|
} conversion |
| Contains info about the AVX data-conversion (MVEX only). More...
|
|
ZydisBool hasSAE |
| Signals, if the sae functionality is enabled for the instruction. More...
|
|
ZydisBool hasEvictionHint |
| Signals, if the instruction has a memory eviction-hint (MVEX only). More...
|
|
} | avx |
| Extended info for AVX instructions. More...
|
|
struct { |
ZydisInstructionCategory category |
| The instruction category. More...
|
|
ZydisISASet isaSet |
| The ISA-set. More...
|
|
ZydisISAExt isaExt |
| The ISA-set extension. More...
|
|
ZydisExceptionClass exceptionClass |
| The exception class. More...
|
|
} | meta |
| Meta info. More...
|
|
struct { |
struct { |
ZydisU8 data [ZYDIS_MAX_INSTRUCTION_LENGTH - 1] |
|
ZydisU8 count |
|
ZydisU8 hasF0 |
|
ZydisU8 hasF3 |
|
ZydisU8 hasF2 |
|
ZydisU8 has2E |
|
ZydisU8 has36 |
|
ZydisU8 has3E |
|
ZydisU8 has26 |
|
ZydisU8 has64 |
|
ZydisU8 has65 |
|
ZydisU8 has66 |
|
ZydisU8 has67 |
|
} prefixes |
| Detailed info about the legacy prefixes. More...
|
|
struct { |
ZydisBool isDecoded |
| TRUE if the prefix got already decoded. More...
|
|
ZydisU8 data [1] |
| The raw bytes of the prefix. More...
|
|
ZydisU8 W |
| 64-bit operand-size promotion. More...
|
|
ZydisU8 R |
| Extension of the ModRM.reg field. More...
|
|
ZydisU8 X |
| Extension of the SIB.index field. More...
|
|
ZydisU8 B |
| Extension of the ModRM.rm, SIB.base, or opcode.reg field. More...
|
|
} rex |
| Detailed info about the REX-prefix. More...
|
|
struct { |
ZydisBool isDecoded |
| TRUE if the prefix got already decoded. More...
|
|
ZydisU8 data [3] |
| The raw bytes of the prefix. More...
|
|
ZydisU8 R |
| Extension of the ModRM.reg field (inverted). More...
|
|
ZydisU8 X |
| Extension of the SIB.index field (inverted). More...
|
|
ZydisU8 B |
| Extension of the ModRM.rm, SIB.base, or opcode.reg field (inverted). More...
|
|
ZydisU8 m_mmmm |
| Opcode-map specifier. More...
|
|
ZydisU8 W |
| 64-bit operand-size promotion or opcode-extension. More...
|
|
ZydisU8 vvvv |
| NDS register specifier (inverted). More...
|
|
ZydisU8 L |
| Vector-length specifier. More...
|
|
ZydisU8 pp |
| Compressed legacy prefix. More...
|
|
} xop |
| Detailed info about the XOP-prefix. More...
|
|
struct { |
ZydisBool isDecoded |
| TRUE if the prefix got already decoded. More...
|
|
ZydisU8 data [3] |
| The raw bytes of the prefix. More...
|
|
ZydisU8 R |
| Extension of the ModRM.reg field (inverted). More...
|
|
ZydisU8 X |
| Extension of the SIB.index field (inverted). More...
|
|
ZydisU8 B |
| Extension of the ModRM.rm, SIB.base, or opcode.reg field (inverted). More...
|
|
ZydisU8 m_mmmm |
| Opcode-map specifier. More...
|
|
ZydisU8 W |
| 64-bit operand-size promotion or opcode-extension. More...
|
|
ZydisU8 vvvv |
| NDS register specifier (inverted). More...
|
|
ZydisU8 L |
| Vector-length specifier. More...
|
|
ZydisU8 pp |
| Compressed legacy prefix. More...
|
|
} vex |
| Detailed info about the VEX-prefix. More...
|
|
struct { |
ZydisBool isDecoded |
| TRUE if the prefix got already decoded. More...
|
|
ZydisU8 data [4] |
| The raw bytes of the prefix. More...
|
|
ZydisU8 R |
| Extension of the ModRM.reg field (inverted). More...
|
|
ZydisU8 X |
| Extension of the SIB.index/vidx field (inverted). More...
|
|
ZydisU8 B |
| Extension of the ModRM.rm or SIB.base field (inverted). More...
|
|
ZydisU8 R2 |
| High-16 register specifier modifier (inverted). More...
|
|
ZydisU8 mm |
| Opcode-map specifier. More...
|
|
ZydisU8 W |
| 64-bit operand-size promotion or opcode-extension. More...
|
|
ZydisU8 vvvv |
| NDS register specifier (inverted). More...
|
|
ZydisU8 pp |
| Compressed legacy prefix. More...
|
|
ZydisU8 z |
| Zeroing/Merging. More...
|
|
ZydisU8 L2 |
| Vector-length specifier or rounding-control (most significant bit). More...
|
|
ZydisU8 L |
| Vector-length specifier or rounding-control (least significant bit). More...
|
|
ZydisU8 b |
| Broadcast/RC/SAE Context. More...
|
|
ZydisU8 V2 |
| High-16 NDS/VIDX register specifier. More...
|
|
ZydisU8 aaa |
| Embedded opmask register specifier. More...
|
|
} evex |
| Detailed info about the EVEX-prefix. More...
|
|
struct { |
ZydisBool isDecoded |
| TRUE if the prefix got already decoded. More...
|
|
ZydisU8 data [4] |
| The raw bytes of the prefix. More...
|
|
ZydisU8 R |
| Extension of the ModRM.reg field (inverted). More...
|
|
ZydisU8 X |
| Extension of the SIB.index/vidx field (inverted). More...
|
|
ZydisU8 B |
| Extension of the ModRM.rm or SIB.base field (inverted). More...
|
|
ZydisU8 R2 |
| High-16 register specifier modifier (inverted). More...
|
|
ZydisU8 mmmm |
| Opcode-map specifier. More...
|
|
ZydisU8 W |
| 64-bit operand-size promotion or opcode-extension. More...
|
|
ZydisU8 vvvv |
| NDS register specifier (inverted). More...
|
|
ZydisU8 pp |
| Compressed legacy prefix. More...
|
|
ZydisU8 E |
| Non-temporal/eviction hint. More...
|
|
ZydisU8 SSS |
| Swizzle/broadcast/up-convert/down-convert/static-rounding controls. More...
|
|
ZydisU8 V2 |
| High-16 NDS/VIDX register specifier. More...
|
|
ZydisU8 kkk |
| Embedded opmask register specifier. More...
|
|
} mvex |
| Detailed info about the MVEX-prefix. More...
|
|
struct { |
ZydisBool isDecoded |
|
ZydisU8 data [1] |
|
ZydisU8 mod |
|
ZydisU8 reg |
|
ZydisU8 rm |
|
} modrm |
| Detailed info about the ModRM-byte. More...
|
|
struct { |
ZydisBool isDecoded |
|
ZydisU8 data [1] |
|
ZydisU8 scale |
|
ZydisU8 index |
|
ZydisU8 base |
|
} sib |
| Detailed info about the SIB-byte. More...
|
|
struct { |
ZydisI64 value |
| The displacement value. More...
|
|
ZydisU8 size |
| The physical displacement size, in bits. More...
|
|
ZydisU8 offset |
| The offset of the displacement data, relative to the beginning of the instruction, in bytes. More...
|
|
} disp |
| Detailed info about displacement-bytes. More...
|
|
struct { |
ZydisBool isSigned |
| Signals, if the immediate value is signed. More...
|
|
ZydisBool isRelative |
| Signals, if the immediate value contains a relative offset. More...
|
|
union { |
ZydisU64 u |
|
ZydisI64 s |
|
} value |
| The immediate value. More...
|
|
ZydisU8 size |
| The physical immediate size, in bits. More...
|
|
ZydisU8 offset |
| The offset of the immediate data, relative to the beginning of the instruction, in bytes. More...
|
|
} imm [2] |
| Detailed info about immediate-bytes. More...
|
|
} | raw |
| Extended info about different instruction-parts like ModRM, SIB or encoding-prefixes. More...
|
|
Defines the ZydisDecodedInstruction
struct.