[][src]Struct iced_x86::MemoryOperand

pub struct MemoryOperand {
    pub segment_prefix: Register,
    pub base: Register,
    pub index: Register,
    pub scale: u32,
    pub displacement: i32,
    pub displ_size: u32,
    pub is_broadcast: bool,
}

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: i32

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 broadcasted memory (EVEX instructions)

Implementations

impl MemoryOperand[src]

#[must_use]pub fn new(
    base: Register,
    index: Register,
    scale: u32,
    displacement: i32,
    displ_size: u32,
    is_broadcast: bool,
    segment_prefix: Register
) -> Self
[src]

Constructor

Arguments

  • base: Base register or Register::None
  • index: Index register or Register::None
  • scale: Index register scale (1, 2, 4, or 8)
  • displacement: Memory displacement
  • displ_size: 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: true if it's broadcasted memory (EVEX instructions)
  • segment_prefix: Segment override or Register::None

#[must_use]pub fn with_base_index_scale_bcst_seg(
    base: Register,
    index: Register,
    scale: u32,
    is_broadcast: bool,
    segment_prefix: Register
) -> Self
[src]

Constructor

Arguments

  • base: Base register or Register::None
  • index: Index register or Register::None
  • scale: Index register scale (1, 2, 4, or 8)
  • is_broadcast: true if it's broadcasted memory (EVEX instructions)
  • segment_prefix: Segment override or Register::None

#[must_use]pub fn with_base_displ_size_bcst_seg(
    base: Register,
    displacement: i32,
    displ_size: u32,
    is_broadcast: bool,
    segment_prefix: Register
) -> Self
[src]

Constructor

Arguments

  • base: Base register or Register::None
  • displacement: Memory displacement
  • displ_size: 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: true if it's broadcasted memory (EVEX instructions)
  • segment_prefix: Segment override or Register::None

#[must_use]pub fn with_index_scale_displ_size_bcst_seg(
    index: Register,
    scale: u32,
    displacement: i32,
    displ_size: u32,
    is_broadcast: bool,
    segment_prefix: Register
) -> Self
[src]

Constructor

Arguments

  • index: Index register or Register::None
  • scale: Index register scale (1, 2, 4, or 8)
  • displacement: Memory displacement
  • displ_size: 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: true if it's broadcasted memory (EVEX instructions)
  • segment_prefix: Segment override or Register::None

#[must_use]pub fn with_base_displ_bcst_seg(
    base: Register,
    displacement: i32,
    is_broadcast: bool,
    segment_prefix: Register
) -> Self
[src]

Constructor

Arguments

  • base: Base register or Register::None
  • displacement: Memory displacement
  • is_broadcast: true if it's broadcasted memory (EVEX instructions)
  • segment_prefix: Segment override or Register::None

#[must_use]pub fn with_base_index_scale_displ_size(
    base: Register,
    index: Register,
    scale: u32,
    displacement: i32,
    displ_size: u32
) -> Self
[src]

Constructor

Arguments

  • base: Base register or Register::None
  • index: Index register or Register::None
  • scale: Index register scale (1, 2, 4, or 8)
  • displacement: Memory displacement
  • displ_size: 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)

#[must_use]pub fn with_base_index_scale(
    base: Register,
    index: Register,
    scale: u32
) -> Self
[src]

Constructor

Arguments

#[must_use]pub fn with_base_index(base: Register, index: Register) -> Self[src]

Constructor

Arguments

#[must_use]pub fn with_base_displ_size(
    base: Register,
    displacement: i32,
    displ_size: u32
) -> Self
[src]

Constructor

Arguments

  • base: Base register or Register::None
  • displacement: Memory displacement
  • displ_size: 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)

#[must_use]pub fn with_index_scale_displ_size(
    index: Register,
    scale: u32,
    displacement: i32,
    displ_size: u32
) -> Self
[src]

Constructor

Arguments

  • index: Index register or Register::None
  • scale: Index register scale (1, 2, 4, or 8)
  • displacement: Memory displacement
  • displ_size: 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)

#[must_use]pub fn with_base_displ(base: Register, displacement: i32) -> Self[src]

Constructor

Arguments

  • base: Base register or Register::None
  • displacement: Memory displacement

#[must_use]pub fn with_base(base: Register) -> Self[src]

Constructor

Arguments

Trait Implementations

impl Clone for MemoryOperand[src]

impl Copy for MemoryOperand[src]

impl Debug for MemoryOperand[src]

impl Default for MemoryOperand[src]

impl Eq for MemoryOperand[src]

impl Hash for MemoryOperand[src]

impl PartialEq<MemoryOperand> for MemoryOperand[src]

impl StructuralEq for MemoryOperand[src]

impl StructuralPartialEq for MemoryOperand[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.