//! Traits for accessing CPU registers.
modmacros;/// Trait for reading from a CPU register.
///pubtraitRegisterRead<I: crate::Int> {/// Read the raw value from this CPU register.
////// It's recommended to implement this method as `#[inline]`
fnread()-> I;}/// Trait for writing into a CPU register.
////// It's recommended to implement all of these methods as `#[inline]`.
pubtraitRegisterWrite<I: crate::Int> {/// Write the given value into this CPU register.
fnwrite(val: I);/// Set all bits that high in the mask, to `1`
/// inside this CPU register.
////// This can be implemented by reading the value first,
/// settings the bits and then update the value, if
/// your architecture doesn't have a bit set instruction.
fnset(mask: I);/// Set all bits that high in the mask, to `0`
/// inside this CPU register.
////// This can be implemented by reading the value first,
/// clearing the bits and then update the value, if
/// your architecture doesn't have a bit clear instruction.
fnclear(mask: I);}