#[repr(C)]pub struct OperandData {Show 14 fields
pub kind: u8,
pub idx: u8,
pub offb: 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,
pub broadcast: u8,
}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).
offb: u8Raw op_t::offb: the operand’s byte offset within the encoded instruction.
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).
broadcast: u8EVEX embedded-broadcast factor N of a {1toN} memory operand, as IDA renders it, else 0.
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