|
Zydis v4.1.0
|
The decoder context is used to preserve some internal state between subsequent decode operations for THE SAME instruction. More...
#include <DecoderTypes.h>
Data Fields | ||
| const void * | definition | |
| A pointer to the internal instruction definition. | ||
| ZyanU8 | eosz_index | |
| Contains the effective operand-size index. | ||
| ZyanU8 | easz_index | |
| Contains the effective address-size index. | ||
| struct { | ||
| ZyanU8 W | ||
| ZyanU8 R | ||
| ZyanU8 X | ||
| ZyanU8 B | ||
| ZyanU8 L | ||
| ZyanU8 LL | ||
| ZyanU8 R2 | ||
| ZyanU8 V2 | ||
| ZyanU8 vvvv | ||
| ZyanU8 mask | ||
| } | vector_unified | |
| Contains some cached REX/XOP/VEX/EVEX/MVEX values to provide uniform access. | ||
| struct { | ||
| ZyanBool is_mod_reg | ||
Signals if the modrm.mod == 3 or reg form is forced for the instruction. More... | ||
| ZyanU8 id_reg | ||
The final register id for the reg encoded register. More... | ||
| ZyanU8 id_rm | ||
The final register id for the rm encoded register. More... | ||
| ZyanU8 id_ndsndd | ||
The final register id for the ndsndd (.vvvv) encoded register. More... | ||
| ZyanU8 id_base | ||
| The final register id for the base register. More... | ||
| ZyanU8 id_index | ||
| The final register id for the index register. More... | ||
| } | reg_info | |
| Information about encoded operand registers. | ||
| struct { | ||
| ZyanU8 tuple_type | ||
| The EVEX tuple-type. More... | ||
| ZyanU8 element_size | ||
| The EVEX element-size. More... | ||
| } | evex | |
| Internal EVEX-specific information. | ||
| struct { | ||
| ZyanU8 functionality | ||
| The MVEX functionality. More... | ||
| } | mvex | |
| Internal MVEX-specific information. | ||
| ZyanU8 | cd8_scale | |
| The scale factor for EVEX/MVEX compressed 8-bit displacement values. | ||
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!
| ZyanU8 B |
| ZyanU8 cd8_scale |
The scale factor for EVEX/MVEX compressed 8-bit displacement values.
| const void* definition |
A pointer to the internal instruction definition.
| ZyanU8 easz_index |
Contains the effective address-size index.
0 = 16 bit, 1 = 32 bit, 2 = 64 bit
| ZyanU8 element_size |
The EVEX element-size.
| ZyanU8 eosz_index |
Contains the effective operand-size index.
0 = 16 bit, 1 = 32 bit, 2 = 64 bit
| struct { ... } evex |
Internal EVEX-specific information.
| ZyanU8 functionality |
The MVEX functionality.
| ZyanU8 id_base |
The final register id for the base register.
This value is only set, if a memory operand is encoded in modrm.rm.
| ZyanU8 id_index |
The final register id for the index register.
This value is only set, if a memory operand is encoded in modrm.rm and the SIB byte is present.
| ZyanU8 id_ndsndd |
The final register id for the ndsndd (.vvvv) encoded register.
| ZyanU8 id_reg |
The final register id for the reg encoded register.
| ZyanU8 id_rm |
The final register id for the rm encoded register.
This value is only set, if a register is encoded in modrm.rm.
| ZyanBool is_mod_reg |
Signals if the modrm.mod == 3 or reg form is forced for the instruction.
| ZyanU8 L |
| ZyanU8 LL |
| ZyanU8 mask |
| struct { ... } mvex |
Internal MVEX-specific information.
| ZyanU8 R |
| ZyanU8 R2 |
| struct { ... } reg_info |
Information about encoded operand registers.
| ZyanU8 tuple_type |
The EVEX tuple-type.
| ZyanU8 V2 |
| struct { ... } vector_unified |
Contains some cached REX/XOP/VEX/EVEX/MVEX values to provide uniform access.
| ZyanU8 vvvv |
| ZyanU8 W |
| ZyanU8 X |