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()