pub enum DataAccess {
Show 14 variants
IndexRegister16WithIndex(IndexRegister16, BinaryOperation, Expr),
IndexRegister16(IndexRegister16),
IndexRegister8(IndexRegister8),
Register16(Register16),
Register8(Register8),
MemoryRegister16(Register16),
MemoryIndexRegister16(IndexRegister16),
Expression(Expr),
Memory(Expr),
FlagTest(FlagTest),
SpecialRegisterI,
SpecialRegisterR,
PortC,
PortN(Expr),
}
Expand description
Encode the way mnemonics access to data
Variants§
IndexRegister16WithIndex(IndexRegister16, BinaryOperation, Expr)
We are using an indexed register associated to its index
IndexRegister16(IndexRegister16)
IndexRegister8(IndexRegister8)
Register16(Register16)
Represents a standard 16 bits register
Register8(Register8)
Represents a standard 8 bits register
MemoryRegister16(Register16)
Represents a memory access indexed by a register
MemoryIndexRegister16(IndexRegister16)
Expression(Expr)
Represents any expression
Memory(Expr)
Represents an address
FlagTest(FlagTest)
Represnts the test of bit flag
SpecialRegisterI
Special register I
SpecialRegisterR
Special register R
PortC
Used for in/out instructions
PortN(Expr)
Used for in/out instructions
Implementations§
Source§impl DataAccess
impl DataAccess
pub fn replace_expressions_by_0(&self) -> DataAccess
Trait Implementations§
Source§impl Clone for DataAccess
impl Clone for DataAccess
Source§fn clone(&self) -> DataAccess
fn clone(&self) -> DataAccess
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl DataAccessElem for DataAccess
impl DataAccessElem for DataAccess
Source§fn is_register_ixh(&self) -> bool
fn is_register_ixh(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_ixl(&self) -> bool
fn is_register_ixl(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_iyh(&self) -> bool
fn is_register_iyh(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_iyl(&self) -> bool
fn is_register_iyl(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_a(&self) -> bool
fn is_register_a(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_b(&self) -> bool
fn is_register_b(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_c(&self) -> bool
fn is_register_c(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_d(&self) -> bool
fn is_register_d(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_e(&self) -> bool
fn is_register_e(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_h(&self) -> bool
fn is_register_h(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_l(&self) -> bool
fn is_register_l(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_af(&self) -> bool
fn is_register_af(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_bc(&self) -> bool
fn is_register_bc(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_de(&self) -> bool
fn is_register_de(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_hl(&self) -> bool
fn is_register_hl(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_sp(&self) -> bool
fn is_register_sp(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_ix(&self) -> bool
fn is_register_ix(&self) -> bool
Check if this DataAccess corresonds to $reg
Source§fn is_register_iy(&self) -> bool
fn is_register_iy(&self) -> bool
Check if this DataAccess corresonds to $reg
type Expr = Expr
fn get_flag_test(&self) -> Option<FlagTest>
fn is_register8(&self) -> bool
fn is_register16(&self) -> bool
fn is_indexregister8(&self) -> bool
fn is_indexregister16(&self) -> bool
fn is_indexregister_with_index(&self) -> bool
fn is_memory(&self) -> bool
fn is_address_in_register16(&self) -> bool
fn is_address_in_indexregister16(&self) -> bool
fn get_register16(&self) -> Option<Register16>
fn get_indexregister16(&self) -> Option<IndexRegister16>
fn get_register8(&self) -> Option<Register8>
fn get_indexregister8(&self) -> Option<IndexRegister8>
fn get_expression(&self) -> Option<&<DataAccess as DataAccessElem>::Expr>
fn is_port_n(&self) -> bool
fn is_expression(&self) -> bool
fn get_index( &self, ) -> Option<(BinaryOperation, &<DataAccess as DataAccessElem>::Expr)>
fn to_data_access_for_low_register(&self) -> Option<DataAccess>
fn to_data_access_for_high_register(&self) -> Option<DataAccess>
fn is_port_c(&self) -> bool
fn is_register_i(&self) -> bool
fn is_register_r(&self) -> bool
fn to_data_access(&self) -> Cow<'_, DataAccess>
fn is_flag_test(&self) -> bool
fn is_address_in_hl(&self) -> bool
Source§impl Debug for DataAccess
impl Debug for DataAccess
Source§impl Display for DataAccess
impl Display for DataAccess
Source§impl From<&str> for DataAccess
impl From<&str> for DataAccess
Source§fn from(txt: &str) -> DataAccess
fn from(txt: &str) -> DataAccess
Source§impl From<Expr> for DataAccess
impl From<Expr> for DataAccess
Source§fn from(exp: Expr) -> DataAccess
fn from(exp: Expr) -> DataAccess
Source§impl From<FlagTest> for DataAccess
impl From<FlagTest> for DataAccess
Source§fn from(test: FlagTest) -> DataAccess
fn from(test: FlagTest) -> DataAccess
Source§impl From<IndexRegister16> for DataAccess
impl From<IndexRegister16> for DataAccess
Source§fn from(reg: IndexRegister16) -> DataAccess
fn from(reg: IndexRegister16) -> DataAccess
Source§impl From<IndexRegister8> for DataAccess
impl From<IndexRegister8> for DataAccess
Source§fn from(reg: IndexRegister8) -> DataAccess
fn from(reg: IndexRegister8) -> DataAccess
Source§impl From<LocatedDataAccess> for DataAccess
impl From<LocatedDataAccess> for DataAccess
Source§fn from(val: LocatedDataAccess) -> Self
fn from(val: LocatedDataAccess) -> Self
Source§impl From<Register16> for DataAccess
impl From<Register16> for DataAccess
Source§fn from(reg: Register16) -> DataAccess
fn from(reg: Register16) -> DataAccess
Source§impl From<Register8> for DataAccess
impl From<Register8> for DataAccess
Source§fn from(reg: Register8) -> DataAccess
fn from(reg: Register8) -> DataAccess
Source§impl From<u8> for DataAccess
impl From<u8> for DataAccess
Source§fn from(val: u8) -> DataAccess
fn from(val: u8) -> DataAccess
Source§impl Hash for DataAccess
impl Hash for DataAccess
Source§impl PartialEq for DataAccess
impl PartialEq for DataAccess
Source§impl ToOrgams for DataAccess
impl ToOrgams for DataAccess
fn to_orgams_string(&self) -> Result<Cow<'_, str>, ToOrgamsError>
impl Eq for DataAccess
impl StructuralPartialEq for DataAccess
Auto Trait Implementations§
impl Freeze for DataAccess
impl RefUnwindSafe for DataAccess
impl Send for DataAccess
impl Sync for DataAccess
impl Unpin for DataAccess
impl UnwindSafe for DataAccess
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.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> ⓘ
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> ⓘ
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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString
. Read more