Zydis
master
|
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. More... | |
ZyanU8 | eosz_index |
Contains the effective operand-size index. More... | |
ZyanU8 | easz_index |
Contains the effective address-size index. More... | |
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. More... | |
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. More... | |
struct { | |
ZyanU8 tuple_type | |
The EVEX tuple-type. More... | |
ZyanU8 element_size | |
The EVEX element-size. More... | |
} | evex |
Internal EVEX-specific information. More... | |
struct { | |
ZyanU8 functionality | |
The MVEX functionality. More... | |
} | mvex |
Internal MVEX-specific information. More... | |
ZyanU8 | cd8_scale |
The scale factor for EVEX/MVEX compressed 8-bit displacement values. More... | |
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 |