Struct iced_x86::MemoryOperand
source · [−]pub struct MemoryOperand {
pub segment_prefix: Register,
pub base: Register,
pub index: Register,
pub scale: u32,
pub displacement: i64,
pub displ_size: u32,
pub is_broadcast: bool,
}
Expand description
Memory operand passed to one of Instruction
’s with_*()
constructor methods
Fields
segment_prefix: Register
Segment override or Register::None
base: Register
Base register or Register::None
index: Register
Index register or Register::None
scale: u32
Index register scale (1, 2, 4, or 8)
displacement: i64
Memory displacement
displ_size: u32
0 (no displ), 1 (16/32/64-bit, but use 2/4/8 if it doesn’t fit in a i8
), 2 (16-bit), 4 (32-bit) or 8 (64-bit)
is_broadcast: bool
true
if it’s broadcast memory (EVEX instructions)
Implementations
sourceimpl MemoryOperand
impl MemoryOperand
sourcepub fn new(
base: Register,
index: Register,
scale: u32,
displacement: i64,
displ_size: u32,
is_broadcast: bool,
segment_prefix: Register
) -> Self
pub fn new(
base: Register,
index: Register,
scale: u32,
displacement: i64,
displ_size: u32,
is_broadcast: bool,
segment_prefix: Register
) -> Self
Constructor
Arguments
base
: Base register orRegister::None
index
: Index register orRegister::None
scale
: Index register scale (1, 2, 4, or 8)displacement
: Memory displacementdispl_size
: 0 (no displ), 1 (16/32/64-bit, but use 2/4/8 if it doesn’t fit in ai8
), 2 (16-bit), 4 (32-bit) or 8 (64-bit)is_broadcast
:true
if it’s broadcast memory (EVEX instructions)segment_prefix
: Segment override orRegister::None
sourcepub fn with_base_index_scale_bcst_seg(
base: Register,
index: Register,
scale: u32,
is_broadcast: bool,
segment_prefix: Register
) -> Self
pub fn with_base_index_scale_bcst_seg(
base: Register,
index: Register,
scale: u32,
is_broadcast: bool,
segment_prefix: Register
) -> Self
Constructor
Arguments
base
: Base register orRegister::None
index
: Index register orRegister::None
scale
: Index register scale (1, 2, 4, or 8)is_broadcast
:true
if it’s broadcast memory (EVEX instructions)segment_prefix
: Segment override orRegister::None
sourcepub fn with_base_displ_size_bcst_seg(
base: Register,
displacement: i64,
displ_size: u32,
is_broadcast: bool,
segment_prefix: Register
) -> Self
pub fn with_base_displ_size_bcst_seg(
base: Register,
displacement: i64,
displ_size: u32,
is_broadcast: bool,
segment_prefix: Register
) -> Self
Constructor
Arguments
base
: Base register orRegister::None
displacement
: Memory displacementdispl_size
: 0 (no displ), 1 (16/32/64-bit, but use 2/4/8 if it doesn’t fit in ai8
), 2 (16-bit), 4 (32-bit) or 8 (64-bit)is_broadcast
:true
if it’s broadcast memory (EVEX instructions)segment_prefix
: Segment override orRegister::None
sourcepub fn with_index_scale_displ_size_bcst_seg(
index: Register,
scale: u32,
displacement: i64,
displ_size: u32,
is_broadcast: bool,
segment_prefix: Register
) -> Self
pub fn with_index_scale_displ_size_bcst_seg(
index: Register,
scale: u32,
displacement: i64,
displ_size: u32,
is_broadcast: bool,
segment_prefix: Register
) -> Self
Constructor
Arguments
index
: Index register orRegister::None
scale
: Index register scale (1, 2, 4, or 8)displacement
: Memory displacementdispl_size
: 0 (no displ), 1 (16/32/64-bit, but use 2/4/8 if it doesn’t fit in ai8
), 2 (16-bit), 4 (32-bit) or 8 (64-bit)is_broadcast
:true
if it’s broadcast memory (EVEX instructions)segment_prefix
: Segment override orRegister::None
sourcepub fn with_base_displ_bcst_seg(
base: Register,
displacement: i64,
is_broadcast: bool,
segment_prefix: Register
) -> Self
pub fn with_base_displ_bcst_seg(
base: Register,
displacement: i64,
is_broadcast: bool,
segment_prefix: Register
) -> Self
Constructor
Arguments
base
: Base register orRegister::None
displacement
: Memory displacementis_broadcast
:true
if it’s broadcast memory (EVEX instructions)segment_prefix
: Segment override orRegister::None
sourcepub fn with_base_index_scale_displ_size(
base: Register,
index: Register,
scale: u32,
displacement: i64,
displ_size: u32
) -> Self
pub fn with_base_index_scale_displ_size(
base: Register,
index: Register,
scale: u32,
displacement: i64,
displ_size: u32
) -> Self
Constructor
Arguments
base
: Base register orRegister::None
index
: Index register orRegister::None
scale
: Index register scale (1, 2, 4, or 8)displacement
: Memory displacementdispl_size
: 0 (no displ), 1 (16/32/64-bit, but use 2/4/8 if it doesn’t fit in ai8
), 2 (16-bit), 4 (32-bit) or 8 (64-bit)
sourcepub fn with_base_index_scale(base: Register, index: Register, scale: u32) -> Self
pub fn with_base_index_scale(base: Register, index: Register, scale: u32) -> Self
Constructor
Arguments
base
: Base register orRegister::None
index
: Index register orRegister::None
scale
: Index register scale (1, 2, 4, or 8)
sourcepub fn with_base_index(base: Register, index: Register) -> Self
pub fn with_base_index(base: Register, index: Register) -> Self
sourcepub fn with_base_displ_size(
base: Register,
displacement: i64,
displ_size: u32
) -> Self
pub fn with_base_displ_size(
base: Register,
displacement: i64,
displ_size: u32
) -> Self
Constructor
Arguments
base
: Base register orRegister::None
displacement
: Memory displacementdispl_size
: 0 (no displ), 1 (16/32/64-bit, but use 2/4/8 if it doesn’t fit in ai8
), 2 (16-bit), 4 (32-bit) or 8 (64-bit)
sourcepub fn with_index_scale_displ_size(
index: Register,
scale: u32,
displacement: i64,
displ_size: u32
) -> Self
pub fn with_index_scale_displ_size(
index: Register,
scale: u32,
displacement: i64,
displ_size: u32
) -> Self
Constructor
Arguments
index
: Index register orRegister::None
scale
: Index register scale (1, 2, 4, or 8)displacement
: Memory displacementdispl_size
: 0 (no displ), 1 (16/32/64-bit, but use 2/4/8 if it doesn’t fit in ai8
), 2 (16-bit), 4 (32-bit) or 8 (64-bit)
sourcepub fn with_base_displ(base: Register, displacement: i64) -> Self
pub fn with_base_displ(base: Register, displacement: i64) -> Self
sourcepub fn with_displ(displacement: u64, displ_size: u32) -> Self
pub fn with_displ(displacement: u64, displ_size: u32) -> Self
Constructor
Arguments
displacement
: Memory displacementdispl_size
: 2 (16-bit), 4 (32-bit) or 8 (64-bit)
Trait Implementations
sourceimpl Clone for MemoryOperand
impl Clone for MemoryOperand
sourcefn clone(&self) -> MemoryOperand
fn clone(&self) -> MemoryOperand
Returns a copy of the value. Read more
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for MemoryOperand
impl Debug for MemoryOperand
sourceimpl Default for MemoryOperand
impl Default for MemoryOperand
sourcefn default() -> MemoryOperand
fn default() -> MemoryOperand
Returns the “default value” for a type. Read more
sourceimpl Hash for MemoryOperand
impl Hash for MemoryOperand
sourceimpl PartialEq<MemoryOperand> for MemoryOperand
impl PartialEq<MemoryOperand> for MemoryOperand
sourcefn eq(&self, other: &MemoryOperand) -> bool
fn eq(&self, other: &MemoryOperand) -> bool
impl Copy for MemoryOperand
impl Eq for MemoryOperand
impl StructuralEq for MemoryOperand
impl StructuralPartialEq for MemoryOperand
Auto Trait Implementations
impl RefUnwindSafe for MemoryOperand
impl Send for MemoryOperand
impl Sync for MemoryOperand
impl Unpin for MemoryOperand
impl UnwindSafe for MemoryOperand
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