Enum zydis::RegisterClass
source · #[repr(C)]pub enum RegisterClass {
Show 20 variants
INVALID = 0,
GPR8 = 1,
GPR16 = 2,
GPR32 = 3,
GPR64 = 4,
X87 = 5,
MMX = 6,
XMM = 7,
YMM = 8,
ZMM = 9,
TMM = 10,
FLAGS = 11,
IP = 12,
SEGMENT = 13,
TABLE = 14,
TEST = 15,
CONTROL = 16,
DEBUG = 17,
MASK = 18,
BOUND = 19,
}
Expand description
Defines the ZydisRegisterClass
enum.
Variants§
INVALID = 0
GPR8 = 1
8-bit general-purpose registers.
GPR16 = 2
16-bit general-purpose registers.
GPR32 = 3
32-bit general-purpose registers.
GPR64 = 4
64-bit general-purpose registers.
X87 = 5
Floating point legacy registers.
MMX = 6
Floating point multimedia registers.
XMM = 7
128-bit vector registers.
YMM = 8
256-bit vector registers.
ZMM = 9
512-bit vector registers.
TMM = 10
Matrix registers.
FLAGS = 11
Matrix registers.
IP = 12
Instruction-pointer registers.
SEGMENT = 13
Segment registers.
TABLE = 14
Table registers.
TEST = 15
Test registers.
CONTROL = 16
Control registers.
DEBUG = 17
Debug registers.
MASK = 18
Mask registers.
BOUND = 19
Bound registers.
Implementations§
source§impl RegisterClass
impl RegisterClass
sourcepub fn encode(self, id: u8) -> Register
pub fn encode(self, id: u8) -> Register
Returns the register specified by this register class and id
.
§Examples
use zydis::{Register, RegisterClass};
let eax = RegisterClass::GPR32.encode(0);
assert_eq!(Register::EAX, eax);
sourcepub fn width(self, mode: MachineMode) -> RegisterWidth
pub fn width(self, mode: MachineMode) -> RegisterWidth
Returns the width of the specified register-class.
Trait Implementations§
source§impl Clone for RegisterClass
impl Clone for RegisterClass
source§fn clone(&self) -> RegisterClass
fn clone(&self) -> RegisterClass
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RegisterClass
impl Debug for RegisterClass
source§impl<'de> Deserialize<'de> for RegisterClass
impl<'de> Deserialize<'de> for RegisterClass
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Hash for RegisterClass
impl Hash for RegisterClass
source§impl PartialEq for RegisterClass
impl PartialEq for RegisterClass
source§fn eq(&self, other: &RegisterClass) -> bool
fn eq(&self, other: &RegisterClass) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for RegisterClass
impl Serialize for RegisterClass
impl Copy for RegisterClass
impl Eq for RegisterClass
impl StructuralPartialEq for RegisterClass
Auto Trait Implementations§
impl RefUnwindSafe for RegisterClass
impl Send for RegisterClass
impl Sync for RegisterClass
impl Unpin for RegisterClass
impl UnwindSafe for RegisterClass
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more