Zydis  v2.0.0-alpha2
Register.h File Reference

Utility functions and constants for registers. More...

#include <Zydis/Defines.h>
#include <Zydis/CommonTypes.h>
#include <Zydis/Status.h>
Include dependency graph for Register.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef uint8_t ZydisRegister
 Defines the ZydisRegister datatype. More...
 
typedef uint8_t ZydisRegisterClass
 Defines the ZydisRegisterClass datatype. More...
 
typedef uint16_t ZydisRegisterWidth
 Defines the ZydisRegisterWidth datatype. More...
 

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_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_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_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_RFLAGS , ZYDIS_REGISTER_EFLAGS , ZYDIS_REGISTER_FLAGS ,
  ZYDIS_REGISTER_RIP , ZYDIS_REGISTER_EIP , ZYDIS_REGISTER_IP , ZYDIS_REGISTER_MXCSR ,
  ZYDIS_REGISTER_PKRU , ZYDIS_REGISTER_XCR0 , 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_MAX_VALUE = ZYDIS_REGISTER_BNDSTATUS , ZYDIS_REGISTER_MAX_BITS = 8
}
 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, uint8_t id)
 Returns the register specified by the registerClass and the id. More...
 
ZYDIS_EXPORT int16_t 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...
 

Detailed Description

Utility functions and constants for registers.

Typedef Documentation

◆ ZydisRegister

typedef uint8_t ZydisRegister

Defines the ZydisRegister datatype.

◆ ZydisRegisterClass

typedef uint8_t ZydisRegisterClass

Defines the ZydisRegisterClass datatype.

◆ ZydisRegisterWidth

typedef uint16_t ZydisRegisterWidth

Defines the ZydisRegisterWidth datatype.

Enumeration Type Documentation

◆ ZydisRegisterClasses

Values that represent zydis register-classes.

Enumerator
ZYDIS_REGCLASS_INVALID 
ZYDIS_REGCLASS_GPR8 

8-bit general-purpose registers.

ZYDIS_REGCLASS_GPR16 

16-bit general-purpose registers.

ZYDIS_REGCLASS_GPR32 

32-bit general-purpose registers.

ZYDIS_REGCLASS_GPR64 

64-bit general-purpose registers.

ZYDIS_REGCLASS_X87 

Floating point legacy registers.

ZYDIS_REGCLASS_MMX 

Floating point multimedia registers.

ZYDIS_REGCLASS_XMM 

128-bit vector registers.

ZYDIS_REGCLASS_YMM 

256-bit vector registers.

ZYDIS_REGCLASS_ZMM 

512-bit vector registers.

ZYDIS_REGCLASS_FLAGS 

Flags registers.

ZYDIS_REGCLASS_IP 

Instruction-pointer registers.

ZYDIS_REGCLASS_SEGMENT 

Segment registers.

ZYDIS_REGCLASS_TEST 

Test registers.

ZYDIS_REGCLASS_CONTROL 

Control registers.

ZYDIS_REGCLASS_DEBUG 

Debug registers.

ZYDIS_REGCLASS_MASK 

Mask registers.

ZYDIS_REGCLASS_BOUND 

Bound registers.

ZYDIS_REGCLASS_MAX_VALUE 

Maximum value of this enum.

◆ ZydisRegisters

Values that represent zydis registers.

Enumerator
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_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_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_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_RFLAGS 
ZYDIS_REGISTER_EFLAGS 
ZYDIS_REGISTER_FLAGS 
ZYDIS_REGISTER_RIP 
ZYDIS_REGISTER_EIP 
ZYDIS_REGISTER_IP 
ZYDIS_REGISTER_MXCSR 
ZYDIS_REGISTER_PKRU 
ZYDIS_REGISTER_XCR0 
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_MAX_VALUE 

Maximum value of this enum.

ZYDIS_REGISTER_MAX_BITS 

Maximum amount of bits occupied by an integer from this enum.

Function Documentation

◆ ZydisRegisterEncode()

ZYDIS_EXPORT ZydisRegister ZydisRegisterEncode ( ZydisRegisterClass  registerClass,
uint8_t  id 
)

Returns the register specified by the registerClass and the id.

Parameters
registerClassThe register class.
idThe register id.
Returns
The register specified by the registerClass and the id or ZYDIS_REGISTER_NONE, if an invalid parameter was passed.

◆ ZydisRegisterGetClass()

ZYDIS_EXPORT ZydisRegisterClass ZydisRegisterGetClass ( ZydisRegister  reg)

Returns the register-class of the specified register.

Parameters
regThe register.
Returns
The register-class of the specified register.

◆ ZydisRegisterGetId()

ZYDIS_EXPORT int16_t ZydisRegisterGetId ( ZydisRegister  reg)

Returns the id of the specified register.

Parameters
regThe register.
Returns
The id of the specified register, or -1 if an invalid parameter was passed.

◆ ZydisRegisterGetString()

ZYDIS_EXPORT const char* ZydisRegisterGetString ( ZydisRegister  reg)

Returns the specified register string.

Parameters
regThe register.
Returns
The register string or NULL, if an invalid register was passed.

◆ ZydisRegisterGetWidth()

ZYDIS_EXPORT ZydisRegisterWidth ZydisRegisterGetWidth ( ZydisRegister  reg)

Returns the width of the specified register.

Parameters
regThe register.
Returns
The width of the specified register.

◆ ZydisRegisterGetWidth64()

ZYDIS_EXPORT ZydisRegisterWidth ZydisRegisterGetWidth64 ( ZydisRegister  reg)

Returns the width of the specified register in 64-bit mode.

Parameters
regThe register.
Returns
The width of the specified register.