Zydis
v3.0.0
|
Utility functions and constants for registers. More...
#include <Zycore/Defines.h>
#include <Zycore/Types.h>
#include <Zydis/SharedTypes.h>
#include <Zydis/ShortString.h>
#include <Zydis/Generated/EnumRegister.h>
Go to the source code of this file.
Data Structures | |
struct | ZydisRegisterContext_ |
Defines the ZydisRegisterContext struct. More... | |
Typedefs | |
typedef enum ZydisRegisterClass_ | ZydisRegisterClass |
Defines the ZydisRegisterClass enum. More... | |
typedef ZyanU16 | ZydisRegisterWidth |
Defines the ZydisRegisterWidth data-type. More... | |
typedef struct ZydisRegisterContext_ | ZydisRegisterContext |
Defines the ZydisRegisterContext struct. More... | |
Enumerations | |
enum | ZydisRegisterClass_ { 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 , ZYDIS_REGCLASS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGCLASS_MAX_VALUE) } |
Defines the ZydisRegisterClass enum. More... | |
Functions | |
ZYDIS_EXPORT ZydisRegister | ZydisRegisterEncode (ZydisRegisterClass register_class, ZyanU8 id) |
Returns the register specified by the register_class and id tuple. More... | |
ZYDIS_EXPORT ZyanI8 | 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 (ZydisMachineMode mode, ZydisRegister reg) |
Returns the width of the specified register. More... | |
ZYDIS_EXPORT ZydisRegister | ZydisRegisterGetLargestEnclosing (ZydisMachineMode mode, ZydisRegister reg) |
Returns the largest enclosing register of the given register. More... | |
ZYDIS_EXPORT const char * | ZydisRegisterGetString (ZydisRegister reg) |
Returns the specified register string. More... | |
ZYDIS_EXPORT const ZydisShortString * | ZydisRegisterGetStringWrapped (ZydisRegister reg) |
Returns the specified register string as ZydisShortString . More... | |
ZYDIS_EXPORT ZydisRegisterWidth | ZydisRegisterClassGetWidth (ZydisMachineMode mode, ZydisRegisterClass register_class) |
Returns the width of the specified register-class. More... | |
Utility functions and constants for registers.
typedef enum ZydisRegisterClass_ ZydisRegisterClass |
Defines the ZydisRegisterClass
enum.
Please note that this enum does not contain a matching entry for all values of the ZydisRegister
enum, but only for those registers where it makes sense to logically group them for decoding/encoding purposes.
These are mainly the registers that can be identified by an id within their corresponding register-class. The IP
and FLAGS
values are exceptions to this rule.
typedef struct ZydisRegisterContext_ ZydisRegisterContext |
Defines the ZydisRegisterContext
struct.
typedef ZyanU16 ZydisRegisterWidth |
Defines the ZydisRegisterWidth
data-type.
enum ZydisRegisterClass_ |
Defines the ZydisRegisterClass
enum.
Please note that this enum does not contain a matching entry for all values of the ZydisRegister
enum, but only for those registers where it makes sense to logically group them for decoding/encoding purposes.
These are mainly the registers that can be identified by an id within their corresponding register-class. The IP
and FLAGS
values are exceptions to this rule.