Capstone Documentation Beta

Structure Arm​Instruction.​Operand

public struct Operand: InstructionOperand

Operand for Arm instructions.

The operand's value can be accessed by the value property, or by a property corresponding to the operand's type:

  • register for reg operands.

  • systemRegister for sysreg operands.

  • immediateValue for imm, pimm or cimm operands.

  • doubleValue for fp operands.

  • memory for mem operands.

  • setend for setend operands (only used for setend instruction).

%3 ArmInstruction.Operand ArmInstruction.Operand InstructionOperand InstructionOperand ArmInstruction.Operand->InstructionOperand

Member Of

ArmInstruction

ARM Instruction

Nested Types

ArmInstruction.Operand.Shift

Instruction operand shift.

ArmInstruction.Operand.Memory

Operand value referring to memory.

Conforms To

InstructionOperand

Protocol for instruction operands.

Properties

type

var type: ArmOp

Operand type.

access

var access: Access

Operand access mode.

vector​Index

var vectorIndex: Int!

Vector Index for some vector operands.

nil if not applicable.

shift

var shift: Shift?

Operand shift.

nil if operand has no shift.

subtracted

var subtracted: Bool

In some instructions, an operand can be subtracted or added to the base register.

neon​Lane

var neonLane: Int!

Neon lane index for NEON instructions.

nil when not a NEON instruction.

register

var register: ArmReg!

Register value for reg operand.

nil when not an appropriate operand.

system​Register

var systemRegister: ArmSysreg!

System register value for sysreg operand.

nil when not an appropriate operand.

immediate​Value

var immediateValue: Int32!

Immediate value for C-IMM, P-IMM or IMM operand.

nil when not an appropriate operand.

double​Value

var doubleValue: Double!

Floating point value for FP operand.

nil when not an appropriate operand.

memory

var memory: Memory!

Base/index/scale/disp value for memory operand.

nil when not an appropriate operand.

setend

var setend: ArmSetend!

Operand type for SETEND instruction.

nil when not an appropriate operand.

value

var value: ArmOperandValue

Operand value.

Return type depends on the operand type.