Struct iced_x86::UsedMemory
source · [−]pub struct UsedMemory { /* private fields */ }Expand description
A memory location used by an instruction
Implementations
sourceimpl UsedMemory
impl UsedMemory
sourcepub const fn new(
segment: Register,
base: Register,
index: Register,
scale: u32,
displacement: u64,
memory_size: MemorySize,
access: OpAccess
) -> Self
pub const fn new(
segment: Register,
base: Register,
index: Register,
scale: u32,
displacement: u64,
memory_size: MemorySize,
access: OpAccess
) -> Self
Creates a new instance
Arguments
segment: Effective segment register orRegister::Noneif the segment register is ignoredbase: Base registerindex: Index registerscale: 1, 2, 4 or 8displacement: Displacementmemory_size: Memory sizeaccess: Access
sourcepub fn new2(
segment: Register,
base: Register,
index: Register,
scale: u32,
displacement: u64,
memory_size: MemorySize,
access: OpAccess,
address_size: CodeSize,
vsib_size: u32
) -> Self
pub fn new2(
segment: Register,
base: Register,
index: Register,
scale: u32,
displacement: u64,
memory_size: MemorySize,
access: OpAccess,
address_size: CodeSize,
vsib_size: u32
) -> Self
Creates a new instance
Arguments
segment: Effective segment register orRegister::Noneif the segment register is ignoredbase: Base registerindex: Index registerscale: 1, 2, 4 or 8displacement: Displacementmemory_size: Memory sizeaccess: Accessaddress_size: Address sizevsib_size: VSIB size (0,4or8)
sourcepub const fn segment(&self) -> Register
pub const fn segment(&self) -> Register
Effective segment register or Register::None if the segment register is ignored
sourcepub const fn base(&self) -> Register
pub const fn base(&self) -> Register
Base register or Register::None if none
sourcepub const fn index(&self) -> Register
pub const fn index(&self) -> Register
Index register or Register::None if none
sourcepub const fn displacement(&self) -> u64
pub const fn displacement(&self) -> u64
Displacement
sourcepub const fn memory_size(&self) -> MemorySize
pub const fn memory_size(&self) -> MemorySize
Size of location
sourcepub const fn address_size(&self) -> CodeSize
pub const fn address_size(&self) -> CodeSize
Address size
sourcepub fn virtual_address<F>(
&self,
element_index: usize,
get_register_value: F
) -> Option<u64>where
F: FnMut(Register, usize, usize) -> Option<u64>,
pub fn virtual_address<F>(
&self,
element_index: usize,
get_register_value: F
) -> Option<u64>where
F: FnMut(Register, usize, usize) -> Option<u64>,
Gets the virtual address of a used memory location, or None if register resolution fails.
Arguments
get_register_value: Function that returns the value of a register or the base address of a segment register, orNoneon failure.
Call-back function args
- Arg 1:
register: Register. If it’s a segment register, the call-back should return the segment’s base address, not the segment’s register value. - Arg 2:
element_index: Only used if it’s a vsib memory operand. This is the element index of the vector index register. - Arg 3:
element_size: Only used if it’s a vsib memory operand. Size in bytes of elements in vector index register (4 or 8).
Trait Implementations
sourceimpl Clone for UsedMemory
impl Clone for UsedMemory
sourcefn clone(&self) -> UsedMemory
fn clone(&self) -> UsedMemory
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresourceimpl Debug for UsedMemory
impl Debug for UsedMemory
sourceimpl Default for UsedMemory
impl Default for UsedMemory
sourcefn default() -> UsedMemory
fn default() -> UsedMemory
Returns the “default value” for a type. Read more
sourceimpl Hash for UsedMemory
impl Hash for UsedMemory
sourceimpl PartialEq<UsedMemory> for UsedMemory
impl PartialEq<UsedMemory> for UsedMemory
sourcefn eq(&self, other: &UsedMemory) -> bool
fn eq(&self, other: &UsedMemory) -> bool
impl Copy for UsedMemory
impl Eq for UsedMemory
impl StructuralEq for UsedMemory
impl StructuralPartialEq for UsedMemory
Auto Trait Implementations
impl RefUnwindSafe for UsedMemory
impl Send for UsedMemory
impl Sync for UsedMemory
impl Unpin for UsedMemory
impl UnwindSafe for UsedMemory
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
