pub enum OpKind {
Show 25 variants
Register,
NearBranch16,
NearBranch32,
NearBranch64,
FarBranch16,
FarBranch32,
Immediate8,
Immediate8_2nd,
Immediate16,
Immediate32,
Immediate64,
Immediate8to16,
Immediate8to32,
Immediate8to64,
Immediate32to64,
MemorySegSI,
MemorySegESI,
MemorySegRSI,
MemorySegDI,
MemorySegEDI,
MemorySegRDI,
MemoryESDI,
MemoryESEDI,
MemoryESRDI,
Memory,
}
Expand description
Instruction operand kind
Variants
Register
A register (Register
).
This operand kind uses Instruction::op0_register()
, Instruction::op1_register()
, Instruction::op2_register()
, Instruction::op3_register()
or Instruction::op4_register()
depending on operand number. See also Instruction::op_register()
.
NearBranch16
Near 16-bit branch. This operand kind uses Instruction::near_branch16()
NearBranch32
Near 32-bit branch. This operand kind uses Instruction::near_branch32()
NearBranch64
Near 64-bit branch. This operand kind uses Instruction::near_branch64()
FarBranch16
Far 16-bit branch. This operand kind uses Instruction::far_branch16()
and Instruction::far_branch_selector()
FarBranch32
Far 32-bit branch. This operand kind uses Instruction::far_branch32()
and Instruction::far_branch_selector()
Immediate8
8-bit constant. This operand kind uses Instruction::immediate8()
Immediate8_2nd
8-bit constant used by the ENTER
, EXTRQ
, INSERTQ
instructions. This operand kind uses Instruction::immediate8_2nd()
Immediate16
16-bit constant. This operand kind uses Instruction::immediate16()
Immediate32
32-bit constant. This operand kind uses Instruction::immediate32()
Immediate64
64-bit constant. This operand kind uses Instruction::immediate64()
Immediate8to16
An 8-bit value sign extended to 16 bits. This operand kind uses Instruction::immediate8to16()
Immediate8to32
An 8-bit value sign extended to 32 bits. This operand kind uses Instruction::immediate8to32()
Immediate8to64
An 8-bit value sign extended to 64 bits. This operand kind uses Instruction::immediate8to64()
Immediate32to64
A 32-bit value sign extended to 64 bits. This operand kind uses Instruction::immediate32to64()
MemorySegSI
seg:[SI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegESI
seg:[ESI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegRSI
seg:[RSI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegDI
seg:[DI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegEDI
seg:[EDI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegRDI
seg:[RDI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemoryESDI
ES:[DI]
. This operand kind uses Instruction::memory_size()
MemoryESEDI
ES:[EDI]
. This operand kind uses Instruction::memory_size()
MemoryESRDI
ES:[RDI]
. This operand kind uses Instruction::memory_size()
Memory
Memory operand.
This operand kind uses Instruction::memory_displ_size()
, Instruction::memory_size()
, Instruction::memory_index_scale()
, Instruction::memory_displacement64()
, Instruction::memory_base()
, Instruction::memory_index()
, Instruction::memory_segment()
, Instruction::segment_prefix()
Implementations
sourceimpl OpKind
impl OpKind
sourcepub fn values(
) -> impl Iterator<Item = OpKind> + DoubleEndedIterator + ExactSizeIterator + FusedIterator
pub fn values(
) -> impl Iterator<Item = OpKind> + DoubleEndedIterator + ExactSizeIterator + FusedIterator
Iterates over all OpKind
enum values
Trait Implementations
sourceimpl<'de> Deserialize<'de> for OpKind
impl<'de> Deserialize<'de> for OpKind
sourcefn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
sourceimpl Ord for OpKind
impl Ord for OpKind
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
sourceimpl PartialOrd<OpKind> for OpKind
impl PartialOrd<OpKind> for OpKind
sourcefn partial_cmp(&self, other: &OpKind) -> Option<Ordering>
fn partial_cmp(&self, other: &OpKind) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more