Capstone Documentation Beta

Structure Arm64Instruction.​Operand

public struct Operand: InstructionOperand

Operand for Arm64 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 regMrs or regMsr operands, or sys operands of mrs or msr instructions.

  • immediateValue for imm or cimm operands.

  • doubleValue for fp operands.

  • memory for mem operands.

  • pState for pstate operands.

  • ic, dc, at or tlbi for sys operands of those instructions.

  • prefetch for prefetch operands

  • barrier for barrier operands

%3 Arm64Instruction.Operand Arm64Instruction.Operand InstructionOperand InstructionOperand Arm64Instruction.Operand->InstructionOperand

Member Of

Arm64Instruction

ARM-64 Instruction

Nested Types

Arm64Instruction.Operand.Memory

Operand value referring to memory.

Conforms To

InstructionOperand

Protocol for instruction operands.

Properties

type

var type: Arm64Op

Operand type.

access

var access: Access

Operand access mode.

vector​Index

var vectorIndex: Int!

Vector Index for some vector operands.

nil if not applicable.

vector​Arrangement​Specifier

var vectorArrangementSpecifier: Arm64Vas!

Vector Arrangement Specifier.

nil if not applicable.

shift

var shift: (type: Arm64Sft, value: UInt)!

Shift for this operand.

nil if not applicable.

extender

var extender: Arm64Ext!

Extender type of this operand.

nil if not applicable.

value

var value: Arm64OperandValue

Operand value.

register

var register: Arm64Reg!

Register value for reg operand.

nil when not an appropriate operand.

system​Register

var systemRegister: Arm64Sysreg!

System register value for regMrs, regMsr and some sys operands.

nil when not an appropriate operand.

immediate​Value

var immediateValue: Int64!

Immediate register value for imm or cimm operands.

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/displacement value for mem operand.

nil when not an appropriate operand.

pState

var pState: Arm64Pstate!

PState field of MSR instruction (pstate operand).

nil when not an appropriate operand.

prefetch

var prefetch: Arm64Prfm!

PRFM operation (prefetch operand).

nil when not an appropriate operand.

barrier

var barrier: Arm64Barrier!

Memory barrier operation (barrier operand of ISB/DMB/DSB instructions).

nil when not an appropriate operand.

ic

var ic: Arm64Ic!

Operand for IC operation.

nil when not an appropriate operand.

dc

var dc: Arm64Dc!

Operand for DC operation.

nil when not an appropriate operand.

at

var at: Arm64At!

Operand for AT operation.

nil when not an appropriate operand.

tlbi

var tlbi: Arm64Tlbi!

Operand for TLBI operation.

nil when not an appropriate operand.