|
| 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. 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.