#[repr(C)]pub struct OperandData {
pub kind: u8,
pub idx: u8,
pub data_type: u8,
pub access: u8,
pub scale: u8,
pub reg: RegisterData,
pub base: RegisterData,
pub index: RegisterData,
pub disp: i64,
pub value: u64,
pub addr: u64,
pub sel: u16,
}Expand description
One decoded operand; which fields are meaningful depends on kind.
Fields§
§kind: u8Semantic kind (0 reg, 1 mem, 2 imm, 3 near, 4 far).
idx: u8Original operand slot index (feature bits are keyed by it).
data_type: u8Raw op_dtype_t.
access: u8Access bits: bit0 read, bit1 written.
scale: u8Memory index scale multiplier (1/2/4/8).
reg: RegisterDataRegister (kind = reg). Named reg, not register (a C++ keyword).
base: RegisterDataMemory base register (kind = mem).
index: RegisterDataMemory index register (kind = mem).
disp: i64Memory displacement (kind = mem).
value: u64Immediate value (kind = imm) or far offset (kind = far).
addr: u64Near target, or memory static target / BADADDR (kind = near/mem).
sel: u16Far selector (kind = far).
Trait Implementations§
Source§impl ExternType for OperandData
impl ExternType for OperandData
Auto Trait Implementations§
impl Freeze for OperandData
impl RefUnwindSafe for OperandData
impl Send for OperandData
impl Sync for OperandData
impl Unpin for OperandData
impl UnsafeUnpin for OperandData
impl UnwindSafe for OperandData
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