Zydis  v2.0.0-beta1
Register.h File Reference

Utility functions and constants for registers. More...

#include <Zydis/Defines.h>
#include <Zydis/CommonTypes.h>
#include <Zydis/String.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 ZydisU8 ZydisRegister
 Defines the ZydisRegister datatype. More...
 
typedef ZydisU8 ZydisRegisterClass
 Defines the ZydisRegisterClass datatype. More...
 
typedef ZydisU16 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_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 ZydisStaticStringZydisRegisterGetStaticString (ZydisRegister reg)
 Returns the specified register string as ZydisStaticString. More...
 

Detailed Description

Utility functions and constants for registers.

Typedef Documentation

◆ ZydisRegister

Defines the ZydisRegister datatype.

◆ ZydisRegisterClass

Defines the ZydisRegisterClass datatype.

◆ 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_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 

Maximum value of this enum.

ZYDIS_REGISTER_MIN_BITS 

Minimum amount of bits required to store a value of this enum.

Function Documentation

◆ ZydisRegisterEncode()

ZYDIS_EXPORT ZydisRegister ZydisRegisterEncode ( ZydisRegisterClass  registerClass,
ZydisU8  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 ZydisI16 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.

◆ ZydisRegisterGetStaticString()

ZYDIS_EXPORT const ZydisStaticString* ZydisRegisterGetStaticString ( ZydisRegister  reg)

Returns the specified register string as ZydisStaticString.

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

The buffer of the returned struct is guaranteed to be zero-terminated in this special case.

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