pub struct MemoryOperand {
pub size: Option<OperandSize>,
pub base: Option<Register>,
pub index: Option<Register>,
pub scale: u8,
pub disp: i64,
pub segment: Option<Register>,
pub disp_label: Option<String>,
pub addr_mode: AddrMode,
pub index_subtract: bool,
}Expand description
A memory (indirect) operand.
Fields§
§size: Option<OperandSize>Size qualifier (byte ptr, qword ptr, …) or None to infer.
base: Option<Register>Base register (e.g., rbp in [rbp+8]).
index: Option<Register>Index register for SIB addressing (e.g., rsi in [rbx+rsi*4]).
scale: u8SIB scale factor: 1, 2, 4, or 8.
disp: i64Displacement (constant offset) in bytes.
segment: Option<Register>Segment override prefix, if any (e.g., fs:).
disp_label: Option<String>When the displacement is a label reference, the label name.
addr_mode: AddrModeARM/AArch64 addressing mode (offset, pre-index, post-index).
index_subtract: boolWhether the index register is subtracted (ARM [Rn, -Rm]).
Trait Implementations§
Source§impl Clone for MemoryOperand
impl Clone for MemoryOperand
Source§fn clone(&self) -> MemoryOperand
fn clone(&self) -> MemoryOperand
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemoryOperand
impl Debug for MemoryOperand
Source§impl Default for MemoryOperand
impl Default for MemoryOperand
Source§impl PartialEq for MemoryOperand
impl PartialEq for MemoryOperand
impl Eq for MemoryOperand
impl StructuralPartialEq for MemoryOperand
Auto Trait Implementations§
impl Freeze for MemoryOperand
impl RefUnwindSafe for MemoryOperand
impl Send for MemoryOperand
impl Sync for MemoryOperand
impl Unpin for MemoryOperand
impl UnwindSafe for MemoryOperand
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
Mutably borrows from an owned value. Read more