[−]Struct x86_64::registers::rflags::RFlags
The RFLAGS register.
Methods
impl RFlags
impl RFlags
pub const ID: RFlags
Processor feature identification flag.
If this flag is modifiable, the CPU supports CPUID.
pub const VIRTUAL_INTERRUPT_PENDING: RFlags
Indicates that an external, maskable interrupt is pending.
Used when virtual-8086 mode extensions (CR4.VME) or protected-mode virtual interrupts (CR4.PVI) are activated.
pub const VIRTUAL_INTERRUPT: RFlags
Virtual image of the INTERRUPT_FLAG bit.
Used when virtual-8086 mode extensions (CR4.VME) or protected-mode virtual interrupts (CR4.PVI) are activated.
pub const ALIGNMENT_CHECK: RFlags
Enable automatic alignment checking if CR0.AM is set. Only works if CPL is 3.
pub const VIRTUAL_8086_MODE: RFlags
Enable the virtual-8086 mode.
pub const RESUME_FLAG: RFlags
Allows to restart an instruction following an instrucion breakpoint.
pub const NESTED_TASK: RFlags
Used by iret
in hardware task switch mode to determine if current task is nested.
pub const IOPL_HIGH: RFlags
The high bit of the I/O Privilege Level field.
Specifies the privilege level required for executing I/O address-space instructions.
pub const IOPL_LOW: RFlags
The low bit of the I/O Privilege Level field.
Specifies the privilege level required for executing I/O address-space instructions.
pub const OVERFLOW_FLAG: RFlags
Set by hardware to indicate that the sign bit of the result of the last signed integer operation differs from the source operands.
pub const DIRECTION_FLAG: RFlags
Determines the order in which strings are processed.
pub const INTERRUPT_FLAG: RFlags
Enable interrupts.
pub const TRAP_FLAG: RFlags
Enable single-step mode for debugging.
pub const SIGN_FLAG: RFlags
Set by hardware if last arithmetic operation resulted in a negative value.
pub const ZERO_FLAG: RFlags
Set by hardware if last arithmetic operation resulted in a zero value.
pub const AUXILIARY_CARRY_FLAG: RFlags
Set by hardware if last arithmetic operation generated a carry ouf of bit 3 of the result.
pub const PARITY_FLAG: RFlags
Set by hardware if last result has an even number of 1 bits (only for some operations).
pub const CARRY_FLAG: RFlags
Set by hardware if last arithmetic operation generated a carry out of the most-significant bit of the result.
pub fn empty() -> RFlags |
Returns an empty set of flags.
pub fn all() -> RFlags |
Returns the set containing all flags.
pub fn bits(&self) -> u64 |
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: u64) -> Option<RFlags> |
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub fn from_bits_truncate(bits: u64) -> RFlags |
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub fn is_empty(&self) -> bool |
Returns true
if no flags are currently stored.
pub fn is_all(&self) -> bool |
Returns true
if all flags are currently set.
pub fn intersects(&self, other: RFlags) -> bool |
Returns true
if there are flags common to both self
and other
.
pub fn contains(&self, other: RFlags) -> bool |
Returns true
all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: RFlags) |
Inserts the specified flags in-place.
pub fn remove(&mut self, other: RFlags) |
Removes the specified flags in-place.
pub fn toggle(&mut self, other: RFlags) |
Toggles the specified flags in-place.
pub fn set(&mut self, other: RFlags, value: bool) |
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Copy for RFlags
impl Copy for RFlags
impl Debug for RFlags
impl Debug for RFlags
impl Sub<RFlags> for RFlags
impl Sub<RFlags> for RFlags
type Output = RFlags
The resulting type after applying the -
operator.
fn sub(self, other: RFlags) -> RFlags |
Returns the set difference of the two sets of flags.
impl PartialEq<RFlags> for RFlags
impl PartialEq<RFlags> for RFlags
impl Eq for RFlags
impl Eq for RFlags
impl Ord for RFlags
impl Ord for RFlags
fn cmp(&self, other: &RFlags) -> Ordering |
fn max(self, other: Self) -> Self | 1.21.0 [src] |
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self | 1.21.0 [src] |
Compares and returns the minimum of two values. Read more
impl PartialOrd<RFlags> for RFlags
impl PartialOrd<RFlags> for RFlags
fn partial_cmp(&self, other: &RFlags) -> Option<Ordering> |
fn lt(&self, other: &RFlags) -> bool |
fn le(&self, other: &RFlags) -> bool |
fn gt(&self, other: &RFlags) -> bool |
fn ge(&self, other: &RFlags) -> bool |
impl Hash for RFlags
impl Hash for RFlags
fn hash<__H: Hasher>(&self, state: &mut __H) |
fn hash_slice<H>(data: &[Self], state: &mut H) where | 1.3.0 [src] |
Feeds a slice of this type into the given [Hasher
]. Read more
impl SubAssign<RFlags> for RFlags
impl SubAssign<RFlags> for RFlags
fn sub_assign(&mut self, other: RFlags) |
Disables all flags enabled in the set.
impl Not for RFlags
impl Not for RFlags
type Output = RFlags
The resulting type after applying the !
operator.
fn not(self) -> RFlags |
Returns the complement of this set of flags.
impl BitAnd<RFlags> for RFlags
impl BitAnd<RFlags> for RFlags
type Output = RFlags
The resulting type after applying the &
operator.
fn bitand(self, other: RFlags) -> RFlags |
Returns the intersection between the two sets of flags.
impl BitOr<RFlags> for RFlags
impl BitOr<RFlags> for RFlags
type Output = RFlags
The resulting type after applying the |
operator.
fn bitor(self, other: RFlags) -> RFlags |
Returns the union of the two sets of flags.
impl BitXor<RFlags> for RFlags
impl BitXor<RFlags> for RFlags
type Output = RFlags
The resulting type after applying the ^
operator.
fn bitxor(self, other: RFlags) -> RFlags |
Returns the left flags, but with all the right flags toggled.
impl BitAndAssign<RFlags> for RFlags
impl BitAndAssign<RFlags> for RFlags
fn bitand_assign(&mut self, other: RFlags) |
Disables all flags disabled in the set.
impl BitOrAssign<RFlags> for RFlags
impl BitOrAssign<RFlags> for RFlags
fn bitor_assign(&mut self, other: RFlags) |
Adds the set of flags.
impl BitXorAssign<RFlags> for RFlags
impl BitXorAssign<RFlags> for RFlags
fn bitxor_assign(&mut self, other: RFlags) |
Toggles the set of flags.
impl Extend<RFlags> for RFlags
impl Extend<RFlags> for RFlags
fn extend<T: IntoIterator<Item = RFlags>>(&mut self, iterator: T) |
impl FromIterator<RFlags> for RFlags
impl FromIterator<RFlags> for RFlags
fn from_iter<T: IntoIterator<Item = RFlags>>(iterator: T) -> RFlags |
impl Octal for RFlags
impl Octal for RFlags
impl Binary for RFlags
impl Binary for RFlags
impl LowerHex for RFlags
impl LowerHex for RFlags
impl UpperHex for RFlags
impl UpperHex for RFlags
impl Clone for RFlags
impl Clone for RFlags
fn clone(&self) -> RFlags |
fn clone_from(&mut self, source: &Self) | 1.0.0 [src] |
Performs copy-assignment from source
. Read more
Auto Trait Implementations
Blanket Implementations
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> | [src] |
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error> | [src] |
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T | [src] |
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId | [src] |