[−][src]Enum iced_x86::OpCodeOperandKind
Operand kind
Variants (Non-exhaustive)
No operand
Far branch 16-bit offset, 16-bit segment/selector
Far branch 32-bit offset, 16-bit segment/selector
Memory offset without a modrm byte (eg. MOV AL,[offset]
)
Memory (modrm)
Memory (modrm), MPX:
16/32-bit mode: must be 32-bit addressing
64-bit mode: 64-bit addressing is forced
Memory (modrm), MPX:
16/32-bit mode: must be 32-bit addressing
64-bit mode: 64-bit addressing is forced and must not be RIP relative
Memory (modrm), vsib32, xmm registers
Memory (modrm), vsib64, xmm registers
Memory (modrm), vsib32, ymm registers
Memory (modrm), vsib64, ymm registers
Memory (modrm), vsib32, zmm registers
Memory (modrm), vsib64, zmm registers
8-bit GPR or memory
16-bit GPR or memory
32-bit GPR or memory
32-bit GPR or memory, MPX: 16/32-bit mode: must be 32-bit addressing, 64-bit mode: 64-bit addressing is forced
64-bit GPR or memory
64-bit GPR or memory, MPX: 16/32-bit mode: must be 32-bit addressing, 64-bit mode: 64-bit addressing is forced
MM register or memory
XMM register or memory
YMM register or memory
ZMM register or memory
BND register or memory, MPX: 16/32-bit mode: must be 32-bit addressing, 64-bit mode: 64-bit addressing is forced
K register or memory
8-bit GPR encoded in the reg
field of the modrm byte
8-bit GPR encoded in the low 3 bits of the opcode
16-bit GPR encoded in the reg
field of the modrm byte
16-bit GPR encoded in the reg
field of the modrm byte. This is a memory operand and it uses the address size prefix (67h
) not the operand size prefix (66h
).
16-bit GPR encoded in the mod + r/m
fields of the modrm byte
16-bit GPR encoded in the low 3 bits of the opcode
32-bit GPR encoded in the reg
field of the modrm byte
32-bit GPR encoded in the reg
field of the modrm byte. This is a memory operand and it uses the address size prefix (67h
) not the operand size prefix (66h
).
32-bit GPR encoded in the mod + r/m
fields of the modrm byte
32-bit GPR encoded in the low 3 bits of the opcode
32-bit GPR encoded in the the V'vvvv
field (VEX/EVEX/XOP)
64-bit GPR encoded in the reg
field of the modrm byte
64-bit GPR encoded in the reg
field of the modrm byte. This is a memory operand and it uses the address size prefix (67h
) not the operand size prefix (66h
).
64-bit GPR encoded in the mod + r/m
fields of the modrm byte
64-bit GPR encoded in the low 3 bits of the opcode
64-bit GPR encoded in the the V'vvvv
field (VEX/EVEX/XOP)
Segment register encoded in the reg
field of the modrm byte
K register encoded in the reg
field of the modrm byte
K register (+1) encoded in the reg
field of the modrm byte
K register encoded in the mod + r/m
fields of the modrm byte
K register encoded in the the V'vvvv
field (VEX/EVEX/XOP)
MM register encoded in the reg
field of the modrm byte
MM register encoded in the mod + r/m
fields of the modrm byte
XMM register encoded in the reg
field of the modrm byte
XMM register encoded in the mod + r/m
fields of the modrm byte
XMM register encoded in the the V'vvvv
field (VEX/EVEX/XOP)
XMM register (+3) encoded in the the V'vvvv
field (VEX/EVEX/XOP)
XMM register encoded in the the high 4 bits of the last 8-bit immediate (VEX/XOP only so only XMM0-XMM15)
XMM register encoded in the the high 4 bits of the last 8-bit immediate (VEX/XOP only so only XMM0-XMM15)
YMM register encoded in the reg
field of the modrm byte
YMM register encoded in the mod + r/m
fields of the modrm byte
YMM register encoded in the the V'vvvv
field (VEX/EVEX/XOP)
YMM register encoded in the the high 4 bits of the last 8-bit immediate (VEX/XOP only so only YMM0-YMM15)
YMM register encoded in the the high 4 bits of the last 8-bit immediate (VEX/XOP only so only YMM0-YMM15)
ZMM register encoded in the reg
field of the modrm byte
ZMM register encoded in the mod + r/m
fields of the modrm byte
ZMM register encoded in the the V'vvvv
field (VEX/EVEX/XOP)
ZMM register (+3) encoded in the the V'vvvv
field (VEX/EVEX/XOP)
CR register encoded in the reg
field of the modrm byte
DR register encoded in the reg
field of the modrm byte
TR register encoded in the reg
field of the modrm byte
BND register encoded in the reg
field of the modrm byte
ES register
CS register
SS register
DS register
FS register
GS register
AL register
CL register
AX register
DX register
EAX register
RAX register
ST0 register
ST(i) register encoded in the low 3 bits of the opcode
2-bit immediate (m2z field, low 2 bits of the /is5 immediate, eg. VPERMIL2PS
)
8-bit immediate
Constant 1 (8-bit immediate)
8-bit immediate sign extended to 16 bits
8-bit immediate sign extended to 32 bits
8-bit immediate sign extended to 64 bits
16-bit immediate
32-bit immediate
32-bit immediate sign extended to 64 bits
64-bit immediate
seg:[rSI]
memory operand (string instructions)
es:[rDI]
memory operand (string instructions)
seg:[rDI]
memory operand ((V)MASKMOVQ
instructions)
seg:[rBX+al]
memory operand (XLATB
instruction)
16-bit branch, 1-byte signed relative offset
32-bit branch, 1-byte signed relative offset
64-bit branch, 1-byte signed relative offset
16-bit branch, 2-byte signed relative offset
32-bit branch, 4-byte signed relative offset
64-bit branch, 4-byte signed relative offset
XBEGIN
, 2-byte signed relative offset
XBEGIN
, 4-byte signed relative offset
2-byte branch offset (JMPE
instruction)
4-byte branch offset (JMPE
instruction)
Trait Implementations
impl Clone for OpCodeOperandKind
[src]
fn clone(&self) -> OpCodeOperandKind
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for OpCodeOperandKind
[src]
impl Debug for OpCodeOperandKind
[src]
impl Default for OpCodeOperandKind
[src]
impl Eq for OpCodeOperandKind
[src]
impl Hash for OpCodeOperandKind
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for OpCodeOperandKind
[src]
fn cmp(&self, other: &OpCodeOperandKind) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<OpCodeOperandKind> for OpCodeOperandKind
[src]
fn eq(&self, other: &OpCodeOperandKind) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<OpCodeOperandKind> for OpCodeOperandKind
[src]
fn partial_cmp(&self, other: &OpCodeOperandKind) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for OpCodeOperandKind
[src]
impl StructuralPartialEq for OpCodeOperandKind
[src]
Auto Trait Implementations
impl RefUnwindSafe for OpCodeOperandKind
impl Send for OpCodeOperandKind
impl Sync for OpCodeOperandKind
impl Unpin for OpCodeOperandKind
impl UnwindSafe for OpCodeOperandKind
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,