Enum X64Reg
pub enum X64Reg {
GpReg(GpReg),
Xmm(XmmReg),
X87(X87Reg),
}
Expand description
All registers in the x86-64 state.
Variants§
Trait Implementations§
§impl<'de> Deserialize<'de> for X64Reg
impl<'de> Deserialize<'de> for X64Reg
§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
§impl JsonSchema for X64Reg
impl JsonSchema for X64Reg
§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read more§impl Ord for X64Reg
impl Ord for X64Reg
§impl PartialOrd for X64Reg
impl PartialOrd for X64Reg
§impl Register for X64Reg
impl Register for X64Reg
§fn mask(&self) -> Option<u64>
fn mask(&self) -> Option<u64>
Indicates which bits may be set. Any bit ‘1’ in the mask may be set, any bit ‘0’ MUST always be set to ‘0’.
Returns
None
when the register is a crate::value::ValueType::Bytes
.
Returns None
when all bits may be set (this is equivalent to returning Some(0xffffffff_ffffffff)
)§fn should_avoid(&self) -> bool
fn should_avoid(&self) -> bool
Returns true if this register should be avoided if possible.
This is used by enumeration to determine which instruction would be best to analyze. Read more
§fn byte_size(&self) -> usize
fn byte_size(&self) -> usize
Returns the number of bytes the register uses.
It must be possible to modify at least one bit in each byte.
§fn is_addr_reg(&self) -> bool
fn is_addr_reg(&self) -> bool
Returns true if the register should always contain a valid memory address.
impl Copy for X64Reg
impl Eq for X64Reg
impl StructuralPartialEq for X64Reg
Auto Trait Implementations§
impl Freeze for X64Reg
impl RefUnwindSafe for X64Reg
impl Send for X64Reg
impl Sync for X64Reg
impl Unpin for X64Reg
impl UnwindSafe for X64Reg
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more