Enum faucon_asm::operands::MemoryAccess [−][src]
pub enum MemoryAccess {
Reg {
space: MemorySpace,
base: Register,
},
RegReg {
space: MemorySpace,
base: Register,
offset: Register,
scale: u8,
},
RegImm {
space: MemorySpace,
base: Register,
offset: u32,
},
}
Expand description
A direct memory access to an address in a MemorySpace
.
Some instructions directly access an address in a specific memory space. An address can be described in the following formats:
- Access through a single register holding the address:
[$reg]
- Access through two registers for base address and scaled offset:
[$reg1 + $reg2 * scale]
- Access through a register for base address and an immediate for offset:
[$reg + imm]
Variants
Reg
Fields
space: MemorySpace
The memory space which should be accessed.
base: Register
The register which holds the address to access.
A form where the memory address is derived from a single register: [$reg]
RegReg
Fields
space: MemorySpace
The memory space which should be accessed.
base: Register
The register which holds the memory base address.
offset: Register
The register that holds the offset to the base address.
scale: u8
A constant scale for the offset value. Determined by the instruction form.
A form where the memory address is derived from two registers: [$reg1 + $reg2 * scale]
RegImm
Fields
space: MemorySpace
The memory space which should be accessed.
base: Register
The register which holds the memory base address.
offset: u32
An offset of the base address stored in an immediate.
A form where the memory address is derived from a register and an immediate: [$reg + imm]
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for MemoryAccess
impl Send for MemoryAccess
impl Sync for MemoryAccess
impl Unpin for MemoryAccess
impl UnwindSafe for MemoryAccess
Blanket Implementations
Mutably borrows from an owned value. Read more
Set the foreground color generically Read more
Set the background color generically. Read more
Change the foreground color to black
Change the background color to black
Change the foreground color to red
Change the background color to red
Change the foreground color to green
Change the background color to green
Change the foreground color to yellow
Change the background color to yellow
Change the foreground color to blue
Change the background color to blue
Change the foreground color to magenta
Change the background color to magenta
Change the foreground color to purple
Change the background color to purple
Change the foreground color to cyan
Change the background color to cyan
Change the foreground color to white
Change the background color to white
Change the foreground color to the terminal default
Change the background color to the terminal default
Change the foreground color to bright black
Change the background color to bright black
Change the foreground color to bright red
Change the background color to bright red
Change the foreground color to bright green
Change the background color to bright green
Change the foreground color to bright yellow
Change the background color to bright yellow
Change the foreground color to bright blue
Change the background color to bright blue
Change the foreground color to bright magenta
Change the background color to bright magenta
Change the foreground color to bright purple
Change the background color to bright purple
Change the foreground color to bright cyan
Change the background color to bright cyan
Change the foreground color to bright white
Change the background color to bright white
Make the text bold
Make the text dim
Make the text italicized
Make the text italicized
Make the text blink
Make the text blink (but fast!)
Swap the foreground and background colors
Hide the text
Cross out the text
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self> where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self> where
Color: DynColor,
Set the foreground color at runtime. Only use if you do not know which color will be used at
compile-time. If the color is constant, use either OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read more
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self> where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self> where
Color: DynColor,
Set the background color at runtime. Only use if you do not know what color to use at
compile-time. If the color is constant, use either OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more
fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the foreground color to a specific RGB value.
fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the background color to a specific RGB value.
Sets the foreground color to an RGB value.
Sets the background color to an RGB value.