Zydis
v2.0.0-beta1
|
Utility functions and constants for registers. More...
Go to the source code of this file.
Typedefs | |
typedef ZydisU8 | ZydisRegister |
Defines the ZydisRegister datatype. | |
typedef ZydisU8 | ZydisRegisterClass |
Defines the ZydisRegisterClass datatype. | |
typedef ZydisU16 | ZydisRegisterWidth |
Defines the ZydisRegisterWidth datatype. | |
Enumerations | |
enum | ZydisRegisters { ZYDIS_REGISTER_NONE , ZYDIS_REGISTER_AL , ZYDIS_REGISTER_CL , ZYDIS_REGISTER_DL , ZYDIS_REGISTER_BL , ZYDIS_REGISTER_AH , ZYDIS_REGISTER_CH , ZYDIS_REGISTER_DH , ZYDIS_REGISTER_BH , ZYDIS_REGISTER_SPL , ZYDIS_REGISTER_BPL , ZYDIS_REGISTER_SIL , ZYDIS_REGISTER_DIL , ZYDIS_REGISTER_R8B , ZYDIS_REGISTER_R9B , ZYDIS_REGISTER_R10B , ZYDIS_REGISTER_R11B , ZYDIS_REGISTER_R12B , ZYDIS_REGISTER_R13B , ZYDIS_REGISTER_R14B , ZYDIS_REGISTER_R15B , ZYDIS_REGISTER_AX , ZYDIS_REGISTER_CX , ZYDIS_REGISTER_DX , ZYDIS_REGISTER_BX , ZYDIS_REGISTER_SP , ZYDIS_REGISTER_BP , ZYDIS_REGISTER_SI , ZYDIS_REGISTER_DI , ZYDIS_REGISTER_R8W , ZYDIS_REGISTER_R9W , ZYDIS_REGISTER_R10W , ZYDIS_REGISTER_R11W , ZYDIS_REGISTER_R12W , ZYDIS_REGISTER_R13W , ZYDIS_REGISTER_R14W , ZYDIS_REGISTER_R15W , ZYDIS_REGISTER_EAX , ZYDIS_REGISTER_ECX , ZYDIS_REGISTER_EDX , ZYDIS_REGISTER_EBX , ZYDIS_REGISTER_ESP , ZYDIS_REGISTER_EBP , ZYDIS_REGISTER_ESI , ZYDIS_REGISTER_EDI , ZYDIS_REGISTER_R8D , ZYDIS_REGISTER_R9D , ZYDIS_REGISTER_R10D , ZYDIS_REGISTER_R11D , ZYDIS_REGISTER_R12D , ZYDIS_REGISTER_R13D , ZYDIS_REGISTER_R14D , ZYDIS_REGISTER_R15D , ZYDIS_REGISTER_RAX , ZYDIS_REGISTER_RCX , ZYDIS_REGISTER_RDX , ZYDIS_REGISTER_RBX , ZYDIS_REGISTER_RSP , ZYDIS_REGISTER_RBP , ZYDIS_REGISTER_RSI , ZYDIS_REGISTER_RDI , ZYDIS_REGISTER_R8 , ZYDIS_REGISTER_R9 , ZYDIS_REGISTER_R10 , ZYDIS_REGISTER_R11 , ZYDIS_REGISTER_R12 , ZYDIS_REGISTER_R13 , ZYDIS_REGISTER_R14 , ZYDIS_REGISTER_R15 , ZYDIS_REGISTER_ST0 , ZYDIS_REGISTER_ST1 , ZYDIS_REGISTER_ST2 , ZYDIS_REGISTER_ST3 , ZYDIS_REGISTER_ST4 , ZYDIS_REGISTER_ST5 , ZYDIS_REGISTER_ST6 , ZYDIS_REGISTER_ST7 , ZYDIS_REGISTER_MM0 , ZYDIS_REGISTER_MM1 , ZYDIS_REGISTER_MM2 , ZYDIS_REGISTER_MM3 , ZYDIS_REGISTER_MM4 , ZYDIS_REGISTER_MM5 , ZYDIS_REGISTER_MM6 , ZYDIS_REGISTER_MM7 , ZYDIS_REGISTER_XMM0 , ZYDIS_REGISTER_XMM1 , ZYDIS_REGISTER_XMM2 , ZYDIS_REGISTER_XMM3 , ZYDIS_REGISTER_XMM4 , ZYDIS_REGISTER_XMM5 , ZYDIS_REGISTER_XMM6 , ZYDIS_REGISTER_XMM7 , ZYDIS_REGISTER_XMM8 , ZYDIS_REGISTER_XMM9 , ZYDIS_REGISTER_XMM10 , ZYDIS_REGISTER_XMM11 , ZYDIS_REGISTER_XMM12 , ZYDIS_REGISTER_XMM13 , ZYDIS_REGISTER_XMM14 , ZYDIS_REGISTER_XMM15 , ZYDIS_REGISTER_XMM16 , ZYDIS_REGISTER_XMM17 , ZYDIS_REGISTER_XMM18 , ZYDIS_REGISTER_XMM19 , ZYDIS_REGISTER_XMM20 , ZYDIS_REGISTER_XMM21 , ZYDIS_REGISTER_XMM22 , ZYDIS_REGISTER_XMM23 , ZYDIS_REGISTER_XMM24 , ZYDIS_REGISTER_XMM25 , ZYDIS_REGISTER_XMM26 , ZYDIS_REGISTER_XMM27 , ZYDIS_REGISTER_XMM28 , ZYDIS_REGISTER_XMM29 , ZYDIS_REGISTER_XMM30 , ZYDIS_REGISTER_XMM31 , ZYDIS_REGISTER_YMM0 , ZYDIS_REGISTER_YMM1 , ZYDIS_REGISTER_YMM2 , ZYDIS_REGISTER_YMM3 , ZYDIS_REGISTER_YMM4 , ZYDIS_REGISTER_YMM5 , ZYDIS_REGISTER_YMM6 , ZYDIS_REGISTER_YMM7 , ZYDIS_REGISTER_YMM8 , ZYDIS_REGISTER_YMM9 , ZYDIS_REGISTER_YMM10 , ZYDIS_REGISTER_YMM11 , ZYDIS_REGISTER_YMM12 , ZYDIS_REGISTER_YMM13 , ZYDIS_REGISTER_YMM14 , ZYDIS_REGISTER_YMM15 , ZYDIS_REGISTER_YMM16 , ZYDIS_REGISTER_YMM17 , ZYDIS_REGISTER_YMM18 , ZYDIS_REGISTER_YMM19 , ZYDIS_REGISTER_YMM20 , ZYDIS_REGISTER_YMM21 , ZYDIS_REGISTER_YMM22 , ZYDIS_REGISTER_YMM23 , ZYDIS_REGISTER_YMM24 , ZYDIS_REGISTER_YMM25 , ZYDIS_REGISTER_YMM26 , ZYDIS_REGISTER_YMM27 , ZYDIS_REGISTER_YMM28 , ZYDIS_REGISTER_YMM29 , ZYDIS_REGISTER_YMM30 , ZYDIS_REGISTER_YMM31 , ZYDIS_REGISTER_ZMM0 , ZYDIS_REGISTER_ZMM1 , ZYDIS_REGISTER_ZMM2 , ZYDIS_REGISTER_ZMM3 , ZYDIS_REGISTER_ZMM4 , ZYDIS_REGISTER_ZMM5 , ZYDIS_REGISTER_ZMM6 , ZYDIS_REGISTER_ZMM7 , ZYDIS_REGISTER_ZMM8 , ZYDIS_REGISTER_ZMM9 , ZYDIS_REGISTER_ZMM10 , ZYDIS_REGISTER_ZMM11 , ZYDIS_REGISTER_ZMM12 , ZYDIS_REGISTER_ZMM13 , ZYDIS_REGISTER_ZMM14 , ZYDIS_REGISTER_ZMM15 , ZYDIS_REGISTER_ZMM16 , ZYDIS_REGISTER_ZMM17 , ZYDIS_REGISTER_ZMM18 , ZYDIS_REGISTER_ZMM19 , ZYDIS_REGISTER_ZMM20 , ZYDIS_REGISTER_ZMM21 , ZYDIS_REGISTER_ZMM22 , ZYDIS_REGISTER_ZMM23 , ZYDIS_REGISTER_ZMM24 , ZYDIS_REGISTER_ZMM25 , ZYDIS_REGISTER_ZMM26 , ZYDIS_REGISTER_ZMM27 , ZYDIS_REGISTER_ZMM28 , ZYDIS_REGISTER_ZMM29 , ZYDIS_REGISTER_ZMM30 , ZYDIS_REGISTER_ZMM31 , ZYDIS_REGISTER_FLAGS , ZYDIS_REGISTER_EFLAGS , ZYDIS_REGISTER_RFLAGS , ZYDIS_REGISTER_IP , ZYDIS_REGISTER_EIP , ZYDIS_REGISTER_RIP , ZYDIS_REGISTER_ES , ZYDIS_REGISTER_CS , ZYDIS_REGISTER_SS , ZYDIS_REGISTER_DS , ZYDIS_REGISTER_FS , ZYDIS_REGISTER_GS , ZYDIS_REGISTER_GDTR , ZYDIS_REGISTER_LDTR , ZYDIS_REGISTER_IDTR , ZYDIS_REGISTER_TR , ZYDIS_REGISTER_TR0 , ZYDIS_REGISTER_TR1 , ZYDIS_REGISTER_TR2 , ZYDIS_REGISTER_TR3 , ZYDIS_REGISTER_TR4 , ZYDIS_REGISTER_TR5 , ZYDIS_REGISTER_TR6 , ZYDIS_REGISTER_TR7 , ZYDIS_REGISTER_CR0 , ZYDIS_REGISTER_CR1 , ZYDIS_REGISTER_CR2 , ZYDIS_REGISTER_CR3 , ZYDIS_REGISTER_CR4 , ZYDIS_REGISTER_CR5 , ZYDIS_REGISTER_CR6 , ZYDIS_REGISTER_CR7 , ZYDIS_REGISTER_CR8 , ZYDIS_REGISTER_CR9 , ZYDIS_REGISTER_CR10 , ZYDIS_REGISTER_CR11 , ZYDIS_REGISTER_CR12 , ZYDIS_REGISTER_CR13 , ZYDIS_REGISTER_CR14 , ZYDIS_REGISTER_CR15 , ZYDIS_REGISTER_DR0 , ZYDIS_REGISTER_DR1 , ZYDIS_REGISTER_DR2 , ZYDIS_REGISTER_DR3 , ZYDIS_REGISTER_DR4 , ZYDIS_REGISTER_DR5 , ZYDIS_REGISTER_DR6 , ZYDIS_REGISTER_DR7 , ZYDIS_REGISTER_DR8 , ZYDIS_REGISTER_DR9 , ZYDIS_REGISTER_DR10 , ZYDIS_REGISTER_DR11 , ZYDIS_REGISTER_DR12 , ZYDIS_REGISTER_DR13 , ZYDIS_REGISTER_DR14 , ZYDIS_REGISTER_DR15 , ZYDIS_REGISTER_K0 , ZYDIS_REGISTER_K1 , ZYDIS_REGISTER_K2 , ZYDIS_REGISTER_K3 , ZYDIS_REGISTER_K4 , ZYDIS_REGISTER_K5 , ZYDIS_REGISTER_K6 , ZYDIS_REGISTER_K7 , ZYDIS_REGISTER_BND0 , ZYDIS_REGISTER_BND1 , ZYDIS_REGISTER_BND2 , ZYDIS_REGISTER_BND3 , ZYDIS_REGISTER_BNDCFG , ZYDIS_REGISTER_BNDSTATUS , ZYDIS_REGISTER_MXCSR , ZYDIS_REGISTER_PKRU , ZYDIS_REGISTER_XCR0 , ZYDIS_REGISTER_MAX_VALUE = ZYDIS_REGISTER_XCR0 , ZYDIS_REGISTER_MIN_BITS = 0x0008 } |
Values that represent zydis registers. More... | |
enum | ZydisRegisterClasses { ZYDIS_REGCLASS_INVALID , ZYDIS_REGCLASS_GPR8 , ZYDIS_REGCLASS_GPR16 , ZYDIS_REGCLASS_GPR32 , ZYDIS_REGCLASS_GPR64 , ZYDIS_REGCLASS_X87 , ZYDIS_REGCLASS_MMX , ZYDIS_REGCLASS_XMM , ZYDIS_REGCLASS_YMM , ZYDIS_REGCLASS_ZMM , ZYDIS_REGCLASS_FLAGS , ZYDIS_REGCLASS_IP , ZYDIS_REGCLASS_SEGMENT , ZYDIS_REGCLASS_TEST , ZYDIS_REGCLASS_CONTROL , ZYDIS_REGCLASS_DEBUG , ZYDIS_REGCLASS_MASK , ZYDIS_REGCLASS_BOUND , ZYDIS_REGCLASS_MAX_VALUE = ZYDIS_REGCLASS_BOUND } |
Values that represent zydis register-classes. More... | |
Functions | |
ZYDIS_EXPORT ZydisRegister | ZydisRegisterEncode (ZydisRegisterClass registerClass, ZydisU8 id) |
Returns the register specified by the registerClass and the id . More... | |
ZYDIS_EXPORT ZydisI16 | ZydisRegisterGetId (ZydisRegister reg) |
Returns the id of the specified register. More... | |
ZYDIS_EXPORT ZydisRegisterClass | ZydisRegisterGetClass (ZydisRegister reg) |
Returns the register-class of the specified register. More... | |
ZYDIS_EXPORT ZydisRegisterWidth | ZydisRegisterGetWidth (ZydisRegister reg) |
Returns the width of the specified register. More... | |
ZYDIS_EXPORT ZydisRegisterWidth | ZydisRegisterGetWidth64 (ZydisRegister reg) |
Returns the width of the specified register in 64-bit mode. More... | |
ZYDIS_EXPORT const char * | ZydisRegisterGetString (ZydisRegister reg) |
Returns the specified register string. More... | |
ZYDIS_EXPORT const ZydisStaticString * | ZydisRegisterGetStaticString (ZydisRegister reg) |
Returns the specified register string as ZydisStaticString . More... | |
Utility functions and constants for registers.
enum ZydisRegisterClasses |
Values that represent zydis register-classes.
enum ZydisRegisters |
ZYDIS_EXPORT ZydisRegister ZydisRegisterEncode | ( | ZydisRegisterClass | registerClass, |
ZydisU8 | id | ||
) |
Returns the register specified by the registerClass
and the id
.
registerClass | The register class. |
id | The register id. |
registerClass
and the id
or ZYDIS_REGISTER_NONE
, if an invalid parameter was passed. ZYDIS_EXPORT ZydisRegisterClass ZydisRegisterGetClass | ( | ZydisRegister | reg | ) |
Returns the register-class of the specified register.
reg | The register. |
ZYDIS_EXPORT ZydisI16 ZydisRegisterGetId | ( | ZydisRegister | reg | ) |
Returns the id of the specified register.
reg | The register. |
ZYDIS_EXPORT const ZydisStaticString* ZydisRegisterGetStaticString | ( | ZydisRegister | reg | ) |
Returns the specified register string as ZydisStaticString
.
reg | The register. |
NULL
, if an invalid register was passed.The buffer
of the returned struct is guaranteed to be zero-terminated in this special case.
ZYDIS_EXPORT const char* ZydisRegisterGetString | ( | ZydisRegister | reg | ) |
Returns the specified register string.
reg | The register. |
NULL
, if an invalid register was passed. ZYDIS_EXPORT ZydisRegisterWidth ZydisRegisterGetWidth | ( | ZydisRegister | reg | ) |
Returns the width of the specified register.
reg | The register. |
ZYDIS_EXPORT ZydisRegisterWidth ZydisRegisterGetWidth64 | ( | ZydisRegister | reg | ) |
Returns the width of the specified register in 64-bit mode.
reg | The register. |