pub enum OpKind {
Show 25 variants
Register = 0,
NearBranch16 = 1,
NearBranch32 = 2,
NearBranch64 = 3,
FarBranch16 = 4,
FarBranch32 = 5,
Immediate8 = 6,
Immediate8_2nd = 7,
Immediate16 = 8,
Immediate32 = 9,
Immediate64 = 10,
Immediate8to16 = 11,
Immediate8to32 = 12,
Immediate8to64 = 13,
Immediate32to64 = 14,
MemorySegSI = 15,
MemorySegESI = 16,
MemorySegRSI = 17,
MemorySegDI = 18,
MemorySegEDI = 19,
MemorySegRDI = 20,
MemoryESDI = 21,
MemoryESEDI = 22,
MemoryESRDI = 23,
Memory = 24,
}
Expand description
Instruction operand kind
Variants§
Register = 0
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 = 1
Near 16-bit branch. This operand kind uses Instruction::near_branch16()
NearBranch32 = 2
Near 32-bit branch. This operand kind uses Instruction::near_branch32()
NearBranch64 = 3
Near 64-bit branch. This operand kind uses Instruction::near_branch64()
FarBranch16 = 4
Far 16-bit branch. This operand kind uses Instruction::far_branch16()
and Instruction::far_branch_selector()
FarBranch32 = 5
Far 32-bit branch. This operand kind uses Instruction::far_branch32()
and Instruction::far_branch_selector()
Immediate8 = 6
8-bit constant. This operand kind uses Instruction::immediate8()
Immediate8_2nd = 7
8-bit constant used by the ENTER
, EXTRQ
, INSERTQ
instructions. This operand kind uses Instruction::immediate8_2nd()
Immediate16 = 8
16-bit constant. This operand kind uses Instruction::immediate16()
Immediate32 = 9
32-bit constant. This operand kind uses Instruction::immediate32()
Immediate64 = 10
64-bit constant. This operand kind uses Instruction::immediate64()
Immediate8to16 = 11
An 8-bit value sign extended to 16 bits. This operand kind uses Instruction::immediate8to16()
Immediate8to32 = 12
An 8-bit value sign extended to 32 bits. This operand kind uses Instruction::immediate8to32()
Immediate8to64 = 13
An 8-bit value sign extended to 64 bits. This operand kind uses Instruction::immediate8to64()
Immediate32to64 = 14
A 32-bit value sign extended to 64 bits. This operand kind uses Instruction::immediate32to64()
MemorySegSI = 15
seg:[SI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegESI = 16
seg:[ESI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegRSI = 17
seg:[RSI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegDI = 18
seg:[DI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegEDI = 19
seg:[EDI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemorySegRDI = 20
seg:[RDI]
. This operand kind uses Instruction::memory_size()
, Instruction::memory_segment()
, Instruction::segment_prefix()
MemoryESDI = 21
ES:[DI]
. This operand kind uses Instruction::memory_size()
MemoryESEDI = 22
ES:[EDI]
. This operand kind uses Instruction::memory_size()
MemoryESRDI = 23
ES:[RDI]
. This operand kind uses Instruction::memory_size()
Memory = 24
Implementations§
Source§impl 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