Go to the documentation of this file.
11 cs_regs regs_read, regs_write;
12 uint8_t regs_read_count, regs_write_count;
15 result = (
char *)malloc(
sizeof(
char));
18 if (ins->detail == NULL)
21 arm = &(ins->detail->arm);
26 for (
i = 0;
i <
arm->op_count;
i++) {
28 switch((
int)
op->type) {
38 #if defined(_KERNEL_MODE)
40 add_str(&
result,
" ; operands[%u].type: FP = <float_point_unsupported>",
i);
51 if (
op->mem.scale != 1)
53 if (
op->mem.disp != 0)
55 if (
op->mem.lshift != 0)
73 if (
op->neon_lane != -1) {
98 if (
op->vector_index != -1) {
109 if (
arm->update_flags)
121 if (
arm->vector_data)
124 if (
arm->vector_size)
130 if (
arm->mem_barrier)
133 if (!
cs_regs_access(*
handle, ins, regs_read, ®s_read_count, regs_write, ®s_write_count)) {
134 if (regs_read_count) {
136 for(
i = 0;
i < regs_read_count;
i++) {
141 if (regs_write_count) {
143 for(
i = 0;
i < regs_write_count;
i++) {
@ CS_AC_READ
Operand read from memory or register.
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_regs_access(csh ud, const cs_insn *insn, cs_regs regs_read, uint8_t *regs_read_count, cs_regs regs_write, uint8_t *regs_write_count)
@ ARM_SFT_ASR_REG
shift with register
const CAPSTONE_EXPORT char *CAPSTONE_API cs_reg_name(csh ud, unsigned int reg)
@ ARM_OP_PIMM
P-Immediate (coprocessor registers)
void add_str(char **src, const char *format,...)
@ ARM_OP_REG
= CS_OP_REG (Register operand).
@ ARM_OP_SYSREG
MSR/MRS special register operand.
@ ARM_OP_FP
= CS_OP_FP (Floating-Point operand).
@ ARM_CC_AL
Always (unconditional) Always (unconditional)
@ ARM_OP_IMM
= CS_OP_IMM (Immediate operand).
@ ARM_OP_CIMM
C-Immediate (coprocessor registers)
@ ARM_SETEND_BE
BE operand.
@ ARM_OP_SETEND
operand for SETEND instruction
@ ARM_OP_MEM
= CS_OP_MEM (Memory operand).
char * get_detail_arm(csh *handle, cs_mode mode, cs_insn *ins)
@ CS_AC_WRITE
Operand write to memory or register.
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:43