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

Instruction operand. More...

#include <arm.h>

Public Attributes

int vector_index
 Vector Index for some vector operands (or -1 if irrelevant) More...
 
struct {
   arm_shifter   type
 
   unsigned int   value
 
shift
 
arm_op_type type
 operand type More...
 
union {
   int   reg
 register value for REG/SYSREG operand More...
 
   int32_t   imm
 immediate value for C-IMM, P-IMM or IMM operand More...
 
   double   fp
 floating point value for FP operand More...
 
   arm_op_mem   mem
 base/index/scale/disp value for MEM operand More...
 
   arm_setend_type   setend
 SETEND instruction's operand type. More...
 
}; 
 
bool subtracted
 
uint8_t access
 
int8_t neon_lane
 Neon lane index for NEON instructions (or -1 if irrelevant) More...
 

Detailed Description

Instruction operand.

Definition at line 391 of file arm.h.

Member Data Documentation

◆ 

union { ... }

◆ access

uint8_t cs_arm_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 417 of file arm.h.

Referenced by op_fillval().

◆ fp

double cs_arm_op::fp

floating point value for FP operand

Definition at line 404 of file arm.h.

◆ imm

int32_t cs_arm_op::imm

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

Definition at line 403 of file arm.h.

Referenced by set_src_dst().

◆ mem

arm_op_mem cs_arm_op::mem

base/index/scale/disp value for MEM operand

Definition at line 405 of file arm.h.

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

◆ neon_lane

int8_t cs_arm_op::neon_lane

Neon lane index for NEON instructions (or -1 if irrelevant)

Definition at line 420 of file arm.h.

◆ reg

int cs_arm_op::reg

register value for REG/SYSREG operand

Definition at line 402 of file arm.h.

Referenced by parse_reg_name().

◆ setend

arm_setend_type cs_arm_op::setend

SETEND instruction's operand type.

Definition at line 406 of file arm.h.

◆ 

struct { ... } cs_arm_op::shift

◆ subtracted

bool cs_arm_op::subtracted

in some instructions, an operand can be subtracted or added to the base register, if TRUE, this operand is subtracted. otherwise, it is added.

Definition at line 412 of file arm.h.

◆ type [1/2]

◆ type [2/2]

◆ value

unsigned int cs_arm_op::value

◆ vector_index

int cs_arm_op::vector_index

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

Definition at line 392 of file arm.h.


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