Rizin
unix-like reverse engineering framework and cli tools
cs_arm64_op Struct Reference

Instruction operand. More...

#include <arm64.h>

Public Attributes

int vector_index
 Vector Index for some vector operands (or -1 if irrelevant) More...
 
arm64_vas vas
 Vector Arrangement Specifier. More...
 
arm64_vess vess
 Vector Element Size Specifier. More...
 
struct {
   arm64_shifter   type
 shifter type of this operand More...
 
   unsigned int   value
 shifter value of this operand More...
 
shift
 
arm64_extender ext
 extender type of this operand More...
 
arm64_op_type type
 operand type More...
 
union {
   arm64_reg   reg
 register value for REG operand More...
 
   int64_t   imm
 immediate value, or index for C-IMM or IMM operand More...
 
   double   fp
 floating point value for FP operand More...
 
   arm64_op_mem   mem
 base/index/scale/disp value for MEM operand More...
 
   arm64_pstate   pstate
 PState field of MSR instruction. More...
 
   unsigned int   sys
 IC/DC/AT/TLBI operation (see arm64_ic_op, arm64_dc_op, arm64_at_op, arm64_tlbi_op) More...
 
   arm64_prefetch_op   prefetch
 PRFM operation. More...
 
   arm64_barrier_op   barrier
 Memory barrier operation (ISB/DMB/DSB instructions). More...
 
}; 
 
uint8_t access
 

Detailed Description

Instruction operand.

Definition at line 630 of file arm64.h.

Member Data Documentation

◆ 

union { ... }

◆ access

uint8_t cs_arm64_op::access

How is this operand accessed? (READ, WRITE or READ|WRITE) This field is combined of cs_ac_type. NOTE: this field is irrelevant if engine is compiled in DIET mode.

Definition at line 654 of file arm64.h.

Referenced by op_fillval().

◆ barrier

arm64_barrier_op cs_arm64_op::barrier

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

Definition at line 648 of file arm64.h.

◆ ext

arm64_extender cs_arm64_op::ext

extender type of this operand

Definition at line 638 of file arm64.h.

◆ fp

double cs_arm64_op::fp

floating point value for FP operand

Definition at line 643 of file arm64.h.

◆ imm

int64_t cs_arm64_op::imm

immediate value, or index for C-IMM or IMM operand

Definition at line 642 of file arm64.h.

Referenced by set_src_dst().

◆ mem

arm64_op_mem cs_arm64_op::mem

base/index/scale/disp value for MEM operand

Definition at line 644 of file arm64.h.

Referenced by capstone.m68k.M68KOp::mem(), parse_reg64_name(), and set_src_dst().

◆ prefetch

arm64_prefetch_op cs_arm64_op::prefetch

PRFM operation.

Definition at line 647 of file arm64.h.

◆ pstate

arm64_pstate cs_arm64_op::pstate

PState field of MSR instruction.

Definition at line 645 of file arm64.h.

◆ reg

arm64_reg cs_arm64_op::reg

register value for REG operand

Definition at line 641 of file arm64.h.

Referenced by parse_reg64_name().

◆ 

struct { ... } cs_arm64_op::shift

◆ sys

unsigned int cs_arm64_op::sys

IC/DC/AT/TLBI operation (see arm64_ic_op, arm64_dc_op, arm64_at_op, arm64_tlbi_op)

Definition at line 646 of file arm64.h.

◆ type [1/2]

◆ type [2/2]

◆ value

unsigned int cs_arm64_op::value

shifter value of this operand

Definition at line 636 of file arm64.h.

Referenced by capstone.arm64.Arm64Op::barrier(), capstone.m680x.M680xOp::const_val(), capstone.ppc.PpcOp::crx(), capstone.m68k.M68KOp::dimm(), capstone.m680x.M680xOp::direct_addr(), capstone.m680x.M680xOp::ext(), capstone.arm.ArmOp::fp(), capstone.arm64.Arm64Op::fp(), capstone.m680x.M680xOp::idx(), capstone.arm.ArmOp::imm(), capstone.arm64.Arm64Op::imm(), capstone.m680x.M680xOp::imm(), capstone.m68k.M68KOp::imm(), capstone.mips.MipsOp::imm(), capstone.ppc.PpcOp::imm(), capstone.sparc.SparcOp::imm(), capstone.systemz.SyszOp::imm(), capstone.tms320c64x.TMS320C64xOp::imm(), capstone.x86.X86Op::imm(), capstone.xcore.XcoreOp::imm(), capstone.arm.ArmOp::mem(), capstone.arm64.Arm64Op::mem(), capstone.mips.MipsOp::mem(), capstone.ppc.PpcOp::mem(), capstone.sparc.SparcOp::mem(), capstone.systemz.SyszOp::mem(), capstone.tms320c64x.TMS320C64xOp::mem(), capstone.x86.X86Op::mem(), capstone.xcore.XcoreOp::mem(), capstone.arm64.Arm64Op::prefetch(), capstone.arm64.Arm64Op::pstate(), capstone.arm.ArmOp::reg(), capstone.arm64.Arm64Op::reg(), capstone.m680x.M680xOp::reg(), capstone.m68k.M68KOp::reg(), capstone.mips.MipsOp::reg(), capstone.ppc.PpcOp::reg(), capstone.sparc.SparcOp::reg(), capstone.systemz.SyszOp::reg(), capstone.tms320c64x.TMS320C64xOp::reg(), capstone.x86.X86Op::reg(), capstone.xcore.XcoreOp::reg(), capstone.m680x.M680xOp::rel(), capstone.arm.ArmOp::setend(), capstone.m68k.M68KOp::simm(), and capstone.arm64.Arm64Op::sys().

◆ vas

arm64_vas cs_arm64_op::vas

Vector Arrangement Specifier.

Definition at line 632 of file arm64.h.

◆ vector_index

int cs_arm64_op::vector_index

Vector Index for some vector operands (or -1 if irrelevant)

Definition at line 631 of file arm64.h.

◆ vess

arm64_vess cs_arm64_op::vess

Vector Element Size Specifier.

Definition at line 633 of file arm64.h.


The documentation for this struct was generated from the following file: