Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_analysis.h>
#include <capstone/capstone.h>
#include "arm_cs.h"
#include "arm_accessors32.h"
#include <rz_il/rz_il_opbuilder_begin.h>
#include "arm_il_common.inc"
#include <rz_il/rz_il_opbuilder_end.h>
Go to the source code of this file.
Macros | |
#define | PC(addr, is_thumb) (addr + (is_thumb ? 4 : 8)) |
#define | PCALIGN(addr, is_thumb) (PC(addr, is_thumb) & ~3ul) |
#define | REG_VAL(id) read_reg(PC(insn->address, is_thumb), id) |
#define | REG(n) REG_VAL(REGID(n)) |
#define | MEMBASE(x) REG_VAL(insn->detail->arm.operands[x].mem.base) |
#define | ARG_C(n, carry) arg(insn, is_thumb, n, carry) |
#define | ARG(n) ARG_C(n, NULL) |
Variables | |
static const char * | regs_bound_32 [] |
#define MEMBASE | ( | x | ) | REG_VAL(insn->detail->arm.operands[x].mem.base) |
Definition at line 112 of file arm_il32.c.
Definition at line 108 of file arm_il32.c.
Definition at line 109 of file arm_il32.c.
Definition at line 110 of file arm_il32.c.
|
static |
|
static |
Capstone: ARM_INS_ADD, ARM_INS_ADDW, ARM_INS_ADC, ARM_INS_SUB, ARM_INS_SUBW, ARM_INS_RSB, ARM_INS_RSC, ARM_INS_SBC ARM: add, adds, adc, adcs, sub, subs, rsb, rsbs, rsc, rscs, sbc
Definition at line 476 of file arm_il32.c.
References a, ADD, adr(), ARG, ARM_INS_ADC, ARM_INS_ADD, ARM_INS_ADDW, ARM_INS_RSB, ARM_INS_RSC, ARM_INS_SBC, ARM_INS_SUB, ARM_INS_SUBW, ARM_REG_PC, b, DUP, is_thumb(), ISIMM, ISREG, ITE, JMP, NULL, OPCOUNT, REG, REGID, rz_il_op_pure_free(), SEQ6, SETG, SETL, SUB, autogen_x86imm::tmp, U32, update_flags(), update_flags_zn(), VARG, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_ADR, if base is pc: ARM_INS_ADD, ARM_INS_ADDW, ARM_INS_SUB, ARM_INS_SUBW ARM: adr, add pc, addw pc, sub pc, subw pc
Definition at line 449 of file arm_il32.c.
References ARM_INS_ADD, ARM_INS_ADDW, ARM_INS_ADR, ARM_INS_SUB, ARM_INS_SUBW, IMM, is_thumb(), ISREG, NULL, PCALIGN, REGID, st32, U32, and write_reg().
Referenced by add_sub(), check_buffer(), and il_unconditional().
|
static |
IL to retrieve the value of the n
-th arg of insn
carry_out
filled with the carry value of NULL if it does not change
Definition at line 259 of file arm_il32.c.
References ADD, addr, arg_mem(), ARM_OP_IMM, ARM_OP_MEM, ARM_OP_REG, ARM_SFT_INVALID, IL_FALSE, IL_TRUE, IMM, imm, is_reg_shift(), is_thumb(), ISIMM, MEMBASE, MEMDISP, n, NULL, PC, r, read_reg(), REG, ror, shift(), SUB, U32, UN, and UNSIGNED.
|
static |
Definition at line 247 of file arm_il32.c.
References ADD, ARM_REG_INVALID, ARM_REG_PC, read_reg(), shift(), and UN.
|
static |
Capstone: ARM_INS_BFC ARM: bfc
Definition at line 1160 of file arm_il32.c.
References IMM, ISIMM, ISREG, LOGAND, NULL, REG, REGID, rz_num_bitmask(), U32, val, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_BFI ARM: bfi
Definition at line 1175 of file arm_il32.c.
References ARG, IMM, ISIMM, ISREG, LOGAND, LOGOR, mask, NULL, REG, REGID, rz_il_op_pure_free(), rz_num_bitmask(), SHIFTL0, U32, UN, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_AND, ARM_INS_ORR, ARM_INS_EOR, ARM_INS_BIC ARM: and, ands, orr, orrs, orn, orns, eor, eors, bic, bics
Definition at line 784 of file arm_il32.c.
References a, ARG, ARG_C, ARM_INS_AND, ARM_INS_BIC, ARM_INS_EOR, ARM_INS_ORN, ARM_INS_ORR, ARM_REG_PC, b, ISREG, JMP, LOGAND, LOGNOT, LOGOR, LOGXOR, NULL, OPCOUNT, REG, REGID, rz_il_op_pure_free(), SEQ2, SEQ3, SETG, update_flags(), update_flags_zn(), and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_BL, ARM_INS_BLX ARM: bl, blx
Definition at line 1098 of file arm_il32.c.
References ARG, is_thumb(), JMP, NULL, SEQ2, SETG, and U32.
Referenced by il_unconditional(), gzfilebuf::overflow(), qadd16(), rz_reg_arena_set_bytes(), sadd16(), and smuad().
|
static |
Capstone: ARM_INS_CBZ, ARM_INS_CBNZ ARM: cbz, cbnz
Definition at line 1198 of file arm_il32.c.
References ARG, ARM_INS_CBNZ, BRANCH, cond(), dst, INV, IS_ZERO, JMP, NULL, rz_il_op_pure_free(), and val.
Referenced by il_unconditional().
|
static |
|
static |
Capstone: ARM_INS_CMP, ARM_INS_CMN ARM: cmp, cmn
Definition at line 942 of file arm_il32.c.
References a, ADD, ARG, ARM_INS_CMP, b, ISREG, NULL, rz_il_op_pure_free(), SEQ6, SETG, SETL, SUB, update_flags_zn(), and VARL.
Referenced by __sort(), _merge(), _merge_sort(), _zip_name_locate(), avr_il_neg(), avr_subtract_if(), bound_iter(), check_label(), compare_list(), core_cmp_bits(), ds_init(), il_unconditional(), ls_insertion_sort(), ls_insertion_sort_iter(), ls_merge_sort(), ls_sort(), main(), make_program_env(), med3(), qsort(), quick_sort(), rizin_compare_unified(), rz_cmd_cmp_addr_handler(), rz_cmd_cmp_bits_handler(), rz_cmd_cmp_bytes_handler(), rz_cmd_cmp_disasm_handler(), rz_cmd_cmp_file_handler(), rz_cmd_cmp_hex_block_hexdiff_handler(), rz_cmd_cmp_hexpair_string_handler(), rz_cmd_cmp_string_handler(), rz_cmd_cmp_unified_disasm_handler(), rz_cmd_cmp_unified_handler(), rz_core_cmp_disasm_print(), rz_core_cmp_free(), rz_core_cmp_mem_data(), rz_core_cmp_mem_mem(), rz_core_cmp_print(), rz_list_add_sorted(), rz_list_find(), rz_list_insertion_sort(), rz_list_merge_sort(), rz_list_sort(), rz_list_uniq(), rz_pvector_sort(), rz_rbtree_aug_delete(), rz_rbtree_aug_insert(), rz_rbtree_aug_update_sum(), rz_rbtree_cont_delete(), rz_rbtree_cont_find(), rz_rbtree_cont_insert(), rz_rbtree_delete(), rz_rbtree_find(), rz_rbtree_insert(), rz_rbtree_lower_bound(), rz_rbtree_lower_bound_forward(), rz_rbtree_upper_bound(), rz_rbtree_upper_bound_backward(), rz_vector_sort(), search_chunk(), and vector_quick_sort().
|
static |
IL for arm condition unconditional is returned as NULL (rather than true), for simpler code
Definition at line 141 of file arm_il32.c.
References AND, ARM_CC_AL, ARM_CC_EQ, ARM_CC_GE, ARM_CC_GT, ARM_CC_HI, ARM_CC_HS, ARM_CC_LE, ARM_CC_LO, ARM_CC_LS, ARM_CC_LT, ARM_CC_MI, ARM_CC_NE, ARM_CC_PL, ARM_CC_VC, ARM_CC_VS, c, INV, NULL, OR, VARG, and XOR.
Referenced by cbz(), and rz_arm_cs_32_il().
|
static |
Lift an ARM instruction to RzIL, without considering its condition
Currently unimplemented:
Definition at line 2354 of file arm_il32.c.
References add_sub(), adr(), ARG, ARM_INS_ADC, ARM_INS_ADD, ARM_INS_ADDW, ARM_INS_ADR, ARM_INS_AND, ARM_INS_ASR, ARM_INS_B, ARM_INS_BFC, ARM_INS_BFI, ARM_INS_BIC, ARM_INS_BL, ARM_INS_BLX, ARM_INS_BX, ARM_INS_BXJ, ARM_INS_CBNZ, ARM_INS_CBZ, ARM_INS_CLZ, ARM_INS_CMN, ARM_INS_CMP, ARM_INS_DBG, ARM_INS_DMB, ARM_INS_DSB, ARM_INS_EOR, ARM_INS_HVC, ARM_INS_ISB, ARM_INS_LDA, ARM_INS_LDAB, ARM_INS_LDAEX, ARM_INS_LDAEXB, ARM_INS_LDAEXH, ARM_INS_LDAH, ARM_INS_LDM, ARM_INS_LDMDA, ARM_INS_LDMDB, ARM_INS_LDMIB, ARM_INS_LDR, ARM_INS_LDRB, ARM_INS_LDRBT, ARM_INS_LDRD, ARM_INS_LDREX, ARM_INS_LDREXD, ARM_INS_LDRH, ARM_INS_LDRHT, ARM_INS_LDRSB, ARM_INS_LDRSBT, ARM_INS_LDRSH, ARM_INS_LDRSHT, ARM_INS_LDRT, ARM_INS_LSL, ARM_INS_LSR, ARM_INS_MLA, ARM_INS_MLS, ARM_INS_MOV, ARM_INS_MOVT, ARM_INS_MOVW, ARM_INS_MRS, ARM_INS_MSR, ARM_INS_MUL, ARM_INS_MVN, ARM_INS_NOP, ARM_INS_ORN, ARM_INS_ORR, ARM_INS_PKHBT, ARM_INS_PKHTB, ARM_INS_PLD, ARM_INS_PLDW, ARM_INS_PLI, ARM_INS_POP, ARM_INS_PUSH, ARM_INS_QADD, ARM_INS_QADD16, ARM_INS_QADD8, ARM_INS_QASX, ARM_INS_QDADD, ARM_INS_QDSUB, ARM_INS_QSAX, ARM_INS_QSUB, ARM_INS_QSUB16, ARM_INS_QSUB8, ARM_INS_RBIT, ARM_INS_REV, ARM_INS_REV16, ARM_INS_REVSH, ARM_INS_RFEDA, ARM_INS_RFEDB, ARM_INS_RFEIA, ARM_INS_RFEIB, ARM_INS_ROR, ARM_INS_RRX, ARM_INS_RSB, ARM_INS_RSC, ARM_INS_SADD16, ARM_INS_SADD8, ARM_INS_SASX, ARM_INS_SBC, ARM_INS_SBFX, ARM_INS_SDIV, ARM_INS_SEL, ARM_INS_SHADD16, ARM_INS_SHADD8, ARM_INS_SHASX, ARM_INS_SHSAX, ARM_INS_SHSUB16, ARM_INS_SHSUB8, ARM_INS_SMLABB, ARM_INS_SMLABT, ARM_INS_SMLAD, ARM_INS_SMLADX, ARM_INS_SMLAL, ARM_INS_SMLALBB, ARM_INS_SMLALBT, ARM_INS_SMLALD, ARM_INS_SMLALDX, ARM_INS_SMLALTB, ARM_INS_SMLALTT, ARM_INS_SMLATB, ARM_INS_SMLATT, ARM_INS_SMLAWB, ARM_INS_SMLAWT, ARM_INS_SMLSD, ARM_INS_SMLSDX, ARM_INS_SMLSLD, ARM_INS_SMLSLDX, ARM_INS_SMMLA, ARM_INS_SMMLAR, ARM_INS_SMMLS, ARM_INS_SMMLSR, ARM_INS_SMMUL, ARM_INS_SMMULR, ARM_INS_SMUAD, ARM_INS_SMUADX, ARM_INS_SMULBB, ARM_INS_SMULBT, ARM_INS_SMULTB, ARM_INS_SMULTT, ARM_INS_SMUSD, ARM_INS_SMUSDX, ARM_INS_SSAT, ARM_INS_SSAT16, ARM_INS_SSAX, ARM_INS_SSUB16, ARM_INS_SSUB8, ARM_INS_STL, ARM_INS_STLB, ARM_INS_STLEX, ARM_INS_STLEXB, ARM_INS_STLEXD, ARM_INS_STLEXH, ARM_INS_STLH, ARM_INS_STM, ARM_INS_STMDA, ARM_INS_STMDB, ARM_INS_STMIB, ARM_INS_STR, ARM_INS_STRB, ARM_INS_STRBT, ARM_INS_STRD, ARM_INS_STREX, ARM_INS_STREXB, ARM_INS_STREXD, ARM_INS_STREXH, ARM_INS_STRH, ARM_INS_STRHT, ARM_INS_STRT, ARM_INS_SUB, ARM_INS_SUBW, ARM_INS_SVC, ARM_INS_SXTAB, ARM_INS_SXTAB16, ARM_INS_SXTAH, ARM_INS_SXTB, ARM_INS_SXTB16, ARM_INS_SXTH, ARM_INS_TBB, ARM_INS_TBH, ARM_INS_TEQ, ARM_INS_TST, ARM_INS_UADD16, ARM_INS_UADD8, ARM_INS_UASX, ARM_INS_UBFX, ARM_INS_UDIV, ARM_INS_UHADD16, ARM_INS_UHADD8, ARM_INS_UHASX, ARM_INS_UHSAX, ARM_INS_UHSUB16, ARM_INS_UHSUB8, ARM_INS_UMAAL, ARM_INS_UMLAL, ARM_INS_UMULL, ARM_INS_UQADD16, ARM_INS_UQADD8, ARM_INS_UQASX, ARM_INS_UQSAX, ARM_INS_UQSUB16, ARM_INS_UQSUB8, ARM_INS_USAD8, ARM_INS_USADA8, ARM_INS_USAT, ARM_INS_USAT16, ARM_INS_USAX, ARM_INS_USUB16, ARM_INS_USUB8, ARM_INS_UXTAB, ARM_INS_UXTAB16, ARM_INS_UXTAH, ARM_INS_UXTB, ARM_INS_UXTB16, ARM_INS_UXTH, ARM_INS_VLDMDB, ARM_INS_VLDMIA, ARM_INS_VMOV, ARM_INS_VPOP, ARM_INS_VPUSH, ARM_INS_VSTMDB, ARM_INS_VSTMIA, ARM_INS_YIELD, bfc(), bfi(), bitwise(), bl(), cbz(), clz(), cmp(), dst, hvc(), is_thumb(), JMP, ldm(), ldr(), mla(), mov(), movt(), mrs(), msr(), mul(), NOP, NULL, pkhbt(), qadd(), qadd16(), qadd8(), rbit(), rev(), revsh(), rfe(), sadd16(), sadd8(), sbfx(), sdiv(), sel(), smlabb(), smlal(), smlaw(), smmla(), smmul(), smuad(), smulbb(), ssat(), ssat16(), stm(), str(), strex(), svc(), tbb(), tst(), udiv(), umaal(), umull(), usad8(), uxt(), uxt16(), and vmov().
Referenced by rz_arm_cs_32_il().
|
static |
Definition at line 177 of file arm_il32.c.
References ARM_SFT_ASR_REG, ARM_SFT_LSL_REG, ARM_SFT_LSR_REG, ARM_SFT_ROR_REG, ARM_SFT_RRX_REG, and type.
Referenced by arg().
|
static |
Definition at line 1152 of file arm_il32.c.
Referenced by rz_arm_cs_32_il_config().
|
static |
Definition at line 1138 of file arm_il32.c.
Referenced by rz_arm_cs_32_il_config().
|
static |
Capstone: ARM_INS_LDM, ARM_INS_POP, ARM_INS_LDMDA, ARM_INS_LDMDB, ARM_INS_LDMIB, ARM_INS_VLDMIA, ARM_INS_VLDMDB, ARM_INS_VPOP ARM: ldm (ldmia, ldmfd), pop, ldmda (ldmfa), ldmdb (ldmea), ldmib (ldmed)
Definition at line 1029 of file arm_il32.c.
References ADD, ARM_INS_LDMDA, ARM_INS_LDMDB, ARM_INS_LDMIB, ARM_INS_POP, ARM_INS_VLDMDB, ARM_INS_VLDMIA, ARM_INS_VPOP, ARM_REG_PC, ARM_REG_SP, i, setup::idx, ISREG, JMP, load(), LOADW, NOP, NULL, OPCOUNT, reg_bits(), REG_VAL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), SEQ2, SETL, SUB, U32, val, VARL, write_reg(), and writeback().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_LDR, ARM_INS_LDRB, ARM_INS_LDRH, ARM_INS_LDRT, ARM_INS_LDRBT, ARM_INS_LDRHT, ARM_INS_LDA, ARM_INS_LDAB, ARM_INS_LDAH, ARM_INS_LDAEX, ARM_INS_LDAEXB, ARM_INS_LDAEXH, ARM_INS_LDRD, ARM_INS_LDREX, ARM_INS_LDREXD, ARM_INS_LDRSB, ARM_INS_LDRSBT, ARM_INS_LDRSH, ARM_INS_LDRSHT ARM: ldr, ldrb, ldrh, ldrt, ldrbt, ldrht, lda, ldab, ldah, ldaex, ldaexb, ldaexh, ldrd, ldrexd
Definition at line 564 of file arm_il32.c.
References ADD, addr, ARG, arg_mem(), ARM_INS_LDAB, ARM_INS_LDAEXB, ARM_INS_LDAEXH, ARM_INS_LDAH, ARM_INS_LDRB, ARM_INS_LDRBT, ARM_INS_LDRD, ARM_INS_LDREXD, ARM_INS_LDRH, ARM_INS_LDRHT, ARM_INS_LDRSB, ARM_INS_LDRSBT, ARM_INS_LDRSH, ARM_INS_LDRSHT, ARM_REG_PC, arm_op_mem::base, DUP, is_thumb(), ISIMM, ISMEM, ISREG, JMP, LOAD, LOADW, cs_arm_op::mem, MEMBASE, MEMDISP, NULL, PCALIGN, REGID, SEQ2, SEQ3, SETL, SIGNED, SUB, U32, UNSIGNED, VARL, write_reg(), and writeback().
Referenced by extract_addr_from_code(), and il_unconditional().
|
static |
Capstone: ARM_INS_MLA, ARM_INS_MLS ARM: mla, mlas, mls
Definition at line 1217 of file arm_il32.c.
References ADD, ARG, ARM_INS_MLS, ISREG, MUL, NULL, REG, REGID, rz_il_op_pure_free(), SEQ2, SUB, update_flags_zn(), val, and write_reg().
Referenced by il_unconditional(), pager_all_matches(), pager_next_match(), pager_prev_match(), pager_printpage(), and rz_cons_less_str().
|
static |
Capstone: ARM_INS_MOV, ARM_INS_MOVW, ARM_INS_LSL, ARM_INS_LSR, ARM_INS_ASR, ARM_INS_RRX, ARM_INS_ROR, ARM_INS_MVN ARM: mov, movs, movw, lsl, lsls, lsr, lsrs, asr, asrs, rrx, rrxs, ror, rors, mvn, mvns
Definition at line 351 of file arm_il32.c.
References ARG, ARG_C, ARM_INS_ASR, ARM_INS_LSL, ARM_INS_LSR, ARM_INS_MVN, ARM_INS_ROR, ARM_INS_RRX, ARM_REG_PC, ARM_SFT_ASR, ARM_SFT_INVALID, ARM_SFT_LSL, ARM_SFT_LSR, ARM_SFT_ROR, ARM_SFT_RRX, err, ISIMM, ISREG, JMP, LOGNOT, NULL, OPCOUNT, REG, REGID, rz_il_op_pure_free(), SEQ2, SEQ4, SETG, SETL, shift(), UNSIGNED, update_flags(), update_flags_zn(), val, VARL, and write_reg().
Referenced by ds_init(), il_unconditional(), mnemonic(), retpoline_reg(), rop_classify(), and rop_classify_mov().
|
static |
Capstone: ARM_INS_MOVT ARM: movt
Definition at line 433 of file arm_il32.c.
References APPEND, IMM, ISIMM, ISREG, NULL, REG, REGID, U16, UNSIGNED, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_MRS ARM: mrs
Definition at line 1246 of file arm_il32.c.
References ARM_REG_APSR, ARM_REG_CPSR, ARM_REG_SPSR, ISREG, ITE, LOGOR, NULL, REGID, SHIFTL0, U32, UN, UNSIGNED, VARG, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_MSR ARM: msr
Definition at line 1268 of file arm_il32.c.
References ARG, ARM_OP_SYSREG, ARM_SYSREG_APSR_G, ARM_SYSREG_APSR_NZCVQ, ARM_SYSREG_APSR_NZCVQG, ARM_SYSREG_CPSR_F, ARM_SYSREG_CPSR_S, ARM_SYSREG_SPSR_F, ARM_SYSREG_SPSR_S, dst, NULL, update_flags_from_cpsr(), and val.
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_MUL ARM: mul, muls
Definition at line 539 of file arm_il32.c.
References a, ARG, b, ISREG, MUL, NULL, OPCOUNT, REG, REGID, rz_il_op_pure_free(), SEQ2, update_flags_zn(), and write_reg().
Referenced by avr_il_fmul(), avr_il_mul(), avr_il_muls(), avr_il_mulsu(), dsmOneArcInst(), il_unconditional(), mnemonic(), print_debug_maps_ascii_art(), rz_debug_trace_ins_before(), rz_il_op_new_mul(), rz_il_op_pure_dup(), rz_il_op_pure_free(), rz_print_rangebar(), rz_table_visual_list(), and sh_il_mac().
|
static |
Capstone: ARM_INS_PKHBT, ARM_INS_PKHTB ARM: pkhbt, pkhtb
Definition at line 1307 of file arm_il32.c.
References APPEND, ARG, ARM_INS_PKHTB, ISREG, NULL, REGID, rz_il_op_pure_free(), SHIFTR0, UN, UNSIGNED, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_QADD, ARM_INS_QSUB, ARM_INS_QDADD, ARM_INS_QDSUB ARM: qadd, qsub, qdadd, qdsub
Definition at line 1421 of file arm_il32.c.
References a, ADD, ARG, ARM_INS_QDADD, ARM_INS_QDSUB, ARM_INS_QSUB, b, DUP, ISREG, NULL, REGID, rz_il_op_pure_free(), saturate_signed(), SEQ2, SIGNED, SUB, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_QADD16, ARM_INS_QSUB16, ARM_INS_QASX, ARM_INS_QSAX, ARM_INS_UQADD16, ARM_INS_UQSUB16, ARM_INS_UQASX, ARM_INS_UQSAX ARM: qadd16, qsub16, qasx, qsax, uqadd16, uqasx, uqsax
Definition at line 1457 of file arm_il32.c.
References a, ADD, al, APPEND, ARG, ARM_INS_QADD16, ARM_INS_QASX, ARM_INS_QSAX, ARM_INS_QSUB16, ARM_INS_UQASX, ARM_INS_UQSAX, ARM_INS_UQSUB16, b, bl(), cast, DUP, h, ISREG, length, NULL, REGID, rz_il_op_new_signed(), rz_il_op_new_unsigned(), rz_il_op_pure_free(), saturate(), SEQ3, SHIFTR0, SUB, UN, UNSIGNED, val, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_QADD8, ARM_INS_QSUB8, ARM_INS_UQADD8, ARM_INS_UQSUB8 ARM: qadd8, qsub8, uqadd8, uqsub8
Definition at line 1516 of file arm_il32.c.
References a, ADD, APPEND, ARG, ARM_INS_QADD8, ARM_INS_QSUB8, ARM_INS_UQSUB8, b, cast, DUP, ISREG, length, NULL, REGID, rz_il_op_new_signed(), rz_il_op_new_unsigned(), rz_il_op_pure_free(), saturate(), SEQ5, SHIFTR0, SUB, UN, UNSIGNED, val, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
|
static |
IL to read the given capstone reg
Definition at line 95 of file arm_il32.c.
References ARM_REG_D0, ARM_REG_PC, ARM_REG_S0, ARM_REG_S31, setup::idx, NULL, pc, reg, reg_var_name(), SHIFTR0, U32, UN, UNSIGNED, and VARG.
Referenced by arg(), arg_mem(), and write_reg().
Definition at line 82 of file arm_il32.c.
References ARM_REG_D0, ARM_REG_D31, ARM_REG_Q0, ARM_REG_Q15, and reg.
Referenced by aarch64_ext_sve_quad_index(), ldm(), opmov(), and stm().
Variable name for a register given by cs
Definition at line 29 of file arm_il32.c.
References ARM_REG_D0, ARM_REG_D1, ARM_REG_D10, ARM_REG_D11, ARM_REG_D12, ARM_REG_D13, ARM_REG_D14, ARM_REG_D15, ARM_REG_D16, ARM_REG_D17, ARM_REG_D18, ARM_REG_D19, ARM_REG_D2, ARM_REG_D20, ARM_REG_D21, ARM_REG_D22, ARM_REG_D23, ARM_REG_D24, ARM_REG_D25, ARM_REG_D26, ARM_REG_D27, ARM_REG_D28, ARM_REG_D29, ARM_REG_D3, ARM_REG_D30, ARM_REG_D31, ARM_REG_D4, ARM_REG_D5, ARM_REG_D6, ARM_REG_D7, ARM_REG_D8, ARM_REG_D9, ARM_REG_LR, ARM_REG_R0, ARM_REG_R1, ARM_REG_R10, ARM_REG_R11, ARM_REG_R12, ARM_REG_R2, ARM_REG_R3, ARM_REG_R4, ARM_REG_R5, ARM_REG_R6, ARM_REG_R7, ARM_REG_R8, ARM_REG_R9, ARM_REG_SP, NULL, and reg.
Referenced by read_reg(), and write_reg().
|
static |
Capstone: ARM_INS_REV, ARM_INS_REV16 ARM: rev, rev16
Definition at line 1590 of file arm_il32.c.
References APPEND, ARG, ARM_INS_REV, DUP, h, ISREG, NULL, REGID, SHIFTR0, UN, UNSIGNED, v, and write_reg().
Referenced by __rotate_disasm_cb(), __rotate_entropy_h_cb(), __rotate_entropy_v_cb(), __rotate_function_cb(), __rotate_hexdump_cb(), __rotate_panel_cmds(), __rotate_panels(), __rotate_register_cb(), hexagon_v6_op(), and il_unconditional().
|
static |
Capstone: ARM_INS_REVSH ARM: revsh
Definition at line 1610 of file arm_il32.c.
References APPEND, ARG, DUP, ISREG, LET, NULL, REGID, SHIFTR0, SIGNED, UN, UNSIGNED, v, VARLP, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_RFEDA, ARM_INS_RFEDB, ARM_INS_RFEIA, ARM_INS_RFEIB ARM: rfeda, rfedb, rfaia, rfeib
Definition at line 1625 of file arm_il32.c.
References ADD, addr, ARM_INS_RFEDA, ARM_INS_RFEIA, ARM_INS_RFEIB, DUP, ISREG, JMP, LOADW, NULL, REG, REGID, rz_il_op_pure_free(), SEQ2, SEQ5, SETL, SUB, U32, update_flags_from_cpsr(), VARL, and write_reg().
Referenced by il_unconditional().
RZ_IPI RzILOpEffect* rz_arm_cs_32_il | ( | csh * | handle, |
cs_insn * | insn, | ||
bool | thumb | ||
) |
Definition at line 2647 of file arm_il32.c.
References ARM_INS_IT, BRANCH, c, cond(), handle, il_unconditional(), NOP, and NULL.
Referenced by analysis_op().
RZ_IPI RzAnalysisILConfig* rz_arm_cs_32_il_config | ( | bool | big_endian | ) |
Definition at line 2667 of file arm_il32.c.
References EFFECT_LABEL_SYSCALL, rz_il_effect_label_t::hook, label_hvc(), label_svc(), r, regs_bound_32, rz_analysis_il_config_add_label(), rz_analysis_il_config_new(), and rz_il_effect_label_new().
Referenced by il_config().
|
static |
Capstone: ARM_INS_SADD16, ARM_INS_SHADD16, ARM_INS_SASX, ARM_INS_SSAX, ARM_INS_SHASX, ARM_INS_SHSAX, ARM_INS_SSUB16, ARM_INS_SHSUB16 ARM_INS_UADD16, ARM_INS_UHADD16, ARM_INS_UASX, ARM_INS_USAX, ARM_INS_UHASX, ARM_INS_UHSAX, ARM_INS_USUB16, ARM_INS_UHSUB16 ARM: sadd16, shadd16, sasx, ssax, shasx, shsax, ssub16, shsub16 uadd16, uhadd16, uasx, usax, uhasx, uhsax, usub16, uhsub16
Definition at line 1664 of file arm_il32.c.
References a, ADD, al, APPEND, ARG, ARM_INS_SADD16, ARM_INS_SASX, ARM_INS_SHADD16, ARM_INS_SHASX, ARM_INS_SHSAX, ARM_INS_SHSUB16, ARM_INS_SSAX, ARM_INS_SSUB16, ARM_INS_UASX, ARM_INS_UHADD16, ARM_INS_UHASX, ARM_INS_UHSAX, ARM_INS_UHSUB16, ARM_INS_USAX, ARM_INS_USUB16, b, bl(), cast, DUP, h, ISREG, ITE, length, MSB, NULL, REGID, rz_il_op_new_signed(), rz_il_op_new_unsigned(), rz_il_op_pure_free(), SEQ2, SEQ3, SETL, SHIFTR0, SHIFTRA, SUB, UN, UNSIGNED, ut64(), val, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SADD8, ARM_INS_SHADD8, ARM_INS_SSUB8, ARM_INS_SHSUB8 ARM_INS_UADD8, ARM_INS_UHADD8, ARM_INS_USUB8, ARM_INS_UHSUB8 ARM: sadd8, shadd8, ssub8, shsub8, uadd8, uhadd8, usub8, uhsub8
Definition at line 1757 of file arm_il32.c.
References a, a0, ADD, APPEND, ARG, ARM_INS_SADD8, ARM_INS_SHADD8, ARM_INS_SHSUB8, ARM_INS_SSUB8, ARM_INS_UHADD8, ARM_INS_UHSUB8, ARM_INS_USUB8, b, b1, b2, cast, DUP, ISREG, ITE, length, MSB, NULL, r0, r1, r2, r3, REGID, rz_il_op_new_signed(), rz_il_op_new_unsigned(), rz_il_op_pure_free(), SEQ2, SEQ5, SETL, SHIFTR0, SHIFTRA, SUB, UN, UNSIGNED, ut64(), val, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Definition at line 1365 of file arm_il32.c.
References bits(), dst, saturate_signed(), saturate_unsigned(), and val.
|
static |
Definition at line 1342 of file arm_il32.c.
References bits(), dst, max, min, saturate_signed_to_range(), st64, and val.
Referenced by qadd(), saturate(), ssat(), and ssat16().
|
static |
Saturate the signed value val
into the local variable dst
bits
how many bits the result should have val
value to saturate, of ext_bits
bits set_q
whether to set the q flag on saturation min
minimal value of the range to saturate into min
maximal value of the range to saturate into
Definition at line 1332 of file arm_il32.c.
References bits(), BRANCH, dst, IL_TRUE, max, min, SEQ2, SETG, SETL, SGT, SLT, SN, UNSIGNED, val, and VARL.
Referenced by saturate_signed().
|
static |
Saturate the unsigned value val
into the local variable dst
is_sub
whether the value came from addition or subtraction, to differenciate between underflow and overflow bits
how many bits the result should have val
value to saturate, of ext_bits
bits set_q
whether to set the q flag on saturation
Definition at line 1355 of file arm_il32.c.
References bits(), BRANCH, dst, IL_TRUE, max, min, SEQ2, SETG, SETL, UGT, UN, UNSIGNED, ut64(), val, and VARL.
Referenced by saturate().
|
static |
Capstone: ARM_INS_SBFX, ARM_INS_UBFX ARM: sbfx, ubfx
Definition at line 1894 of file arm_il32.c.
References ARM_INS_SBFX, IMM, ISIMM, ISREG, NULL, REG, REGID, SHIFTR0, SIGNED, UN, UNSIGNED, val, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SDIV ARM: sdiv
Definition at line 1911 of file arm_il32.c.
References a, AND, ARG, b, DUP, EQ, ISREG, ITE, NULL, REGID, rz_il_op_pure_free(), SDIV, U32, and write_reg().
Referenced by il_unconditional(), rz_il_op_new_sdiv(), rz_il_op_pure_dup(), and rz_il_op_pure_free().
|
static |
Capstone: ARM_INS_SEL ARM: sel
Definition at line 1869 of file arm_il32.c.
References a, APPEND, ARG, b, DUP, IS_ZERO, ISREG, ITE, LOGAND, NULL, REGID, rz_il_op_pure_free(), SHIFTR0, UN, UNSIGNED, VARG, and write_reg().
Referenced by getarg(), il_unconditional(), lookup_mips_cp0sel_name(), lzh_read_lens(), and print_insn_args().
|
static |
Definition at line 190 of file arm_il32.c.
References APPEND, ARM_SFT_ASR, ARM_SFT_ASR_REG, ARM_SFT_LSL, ARM_SFT_LSL_REG, ARM_SFT_LSR, ARM_SFT_LSR_REG, ARM_SFT_ROR, ARM_SFT_ROR_REG, ARM_SFT_RRX, ARM_SFT_RRX_REG, DUP, IS_ZERO, ITE, LOGOR, LSB, MSB, NEG, RZ_IL_OP_CAST, rz_il_op_pure_free(), SHIFTL0, SHIFTR, SHIFTR0, SHIFTRA, type, UN, val, and VARG.
Referenced by __handle_tab_key(), aarch64_ext_addr_uimm12(), aarch64_ext_reglane(), arg(), arg_mem(), arm_assemble(), bin_pe_get_actual_checksum(), calcNegOffset(), decode_shift(), decode_shift_64(), disassemble(), esil_add_sub(), esil_asreq(), get_num(), getshift(), hex_disasm_with_templates(), mov(), operand_general_constraint_met_p(), print_mips16_insn_arg(), rz_arm_cs_analysis_op_32_esil(), rz_arm_cs_analysis_op_64_esil(), rz_buf_sleb128(), rz_buf_uleb128(), rz_bv_div(), rz_cmd_search(), rz_diff_draw_tui(), rz_il_handler_shiftl(), rz_il_handler_shiftr(), rz_pkcs7_parse_signeddata(), rz_pkcs7_parse_signerinfo(), rz_x509_parse_tbscertificate(), shift_and_signextend(), sign_extend2(), std_32bit_2reg(), std_32bit_3reg(), thumb_assemble(), thumb_getshift(), and ts_parser__recover().
|
static |
Capstone: ARM_INS_SMLABB, ARM_INS_SMLABT, ARM_INS_SMLATB, ARM_INS_SMLATT, ARM_INS_SMLAD, ARM_INS_SMLADX, ARM_INS_SMLSD, ARM_INS_SMLSDX ARM: smlabb, smlabt, smlatb, smlatt, smlad, smladx, smlsd, smlsdx
Definition at line 2045 of file arm_il32.c.
References a, ADD, ARG, ARM_INS_SMLABT, ARM_INS_SMLAD, ARM_INS_SMLADX, ARM_INS_SMLATB, ARM_INS_SMLATT, ARM_INS_SMLSD, ARM_INS_SMLSDX, b, BRANCH, DUP, EQ, IL_TRUE, INV, ISREG, MUL, NULL, REG, REGID, rz_il_op_pure_free(), SEQ3, SETG, SETL, SHIFTR0, SIGNED, SUB, UN, UNSIGNED, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SMLAL, ARM_INS_SMLALBB, ARM_INS_SMLALBT, ARM_INS_SMLALTB, ARM_INS_SMLALTT, ARM_INS_SMLALD, ARM_INS_SMLALDX, ARM_INS_SMLSLD, ARM_INS_SMLSLDX, ARM_INS_UMLAL ARM: smlal, smlals, smlalbb, smlalbt, smlaltb, smlaltt, smlald, smlaldx, smlsld, smlsldx, umlal, umlals
Definition at line 2102 of file arm_il32.c.
References a, ADD, APPEND, ARG, ARM_INS_SMLALBB, ARM_INS_SMLALBT, ARM_INS_SMLALD, ARM_INS_SMLALDX, ARM_INS_SMLALTB, ARM_INS_SMLALTT, ARM_INS_SMLSLD, ARM_INS_SMLSLDX, ARM_INS_UMLAL, b, DUP, ISREG, MUL, NULL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), SEQ3, SEQ4, SETL, SHIFTR0, SIGNED, SUB, UN, UNSIGNED, update_flags_zn(), VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SMLAWB, ARM_INS_SMLAWT ARM: smlawb, smlawt
Definition at line 2163 of file arm_il32.c.
References a, ADD, ARG, ARM_INS_SMLAWT, b, BRANCH, EQ, IL_TRUE, INV, ISREG, MUL, NULL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), SEQ3, SETG, SETL, SHIFTR0, SHIFTRA, SIGNED, UN, UNSIGNED, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SMMLA, ARM_INS_SMMLAR, ARM_INS_SMMLS, ARM_INS_SMMLSR ARM: smmla, smmlar, smmls, smmlsr
Definition at line 2193 of file arm_il32.c.
References a, ADD, APPEND, ARG, ARM_INS_SMMLAR, ARM_INS_SMMLS, ARM_INS_SMMLSR, b, ISREG, MUL, NULL, REGID, rz_il_op_pure_free(), SHIFTR0, SIGNED, SUB, U32, U64, UN, UNSIGNED, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SMMUL, ARM_INS_SMMULR ARM: smmul, smmulr
Definition at line 2219 of file arm_il32.c.
References a, ADD, ARG, ARM_INS_SMMULR, b, ISREG, MUL, NULL, REGID, rz_il_op_pure_free(), SHIFTR0, SIGNED, U64, UN, UNSIGNED, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SMUAD, ARM_INS_SMUADX ARM: smuad
Definition at line 2241 of file arm_il32.c.
References ADD, al, ARG, ARM_INS_SMUADX, bl(), BRANCH, DUP, IL_TRUE, ISREG, MSB, MUL, NULL, REG, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), SEQ3, SETG, SETL, SHIFTR0, SIGNED, autogen_x86imm::tmp, UN, UNSIGNED, VARL, write_reg(), and XOR.
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SMULBB, ARM_INS_SMULBT, ARM_INS_SMULTB, ARM_INS_SMULTT, ARM_INS_SMUSD, ARM_INS_SMUSDX ARM: smulbb, smulbt, smultb, smultt, smusd, smusdx
Definition at line 2273 of file arm_il32.c.
References a, ARG, ARM_INS_SMULBT, ARM_INS_SMULTB, ARM_INS_SMULTT, ARM_INS_SMUSD, ARM_INS_SMUSDX, b, DUP, ISREG, MUL, NULL, REGID, rz_il_op_pure_free(), SHIFTR0, SIGNED, SUB, UN, UNSIGNED, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SSAT, ARM_INS_USAT ARM: ssat
Definition at line 1375 of file arm_il32.c.
References ARG, ARM_INS_SSAT, IMM, ISIMM, ISREG, NULL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), saturate_signed(), SEQ2, SIGNED, src, UNSIGNED, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SSAT16, ARM_INS_USAT16 ARM: ssat16
Definition at line 1396 of file arm_il32.c.
References APPEND, ARG, ARM_INS_SSAT16, DUP, IMM, ISIMM, ISREG, NULL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), saturate_signed(), SEQ3, SHIFTR0, SIGNED, src, UN, UNSIGNED, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_STM, ARM_INS_STMDA, ARM_INS_STMDB, ARM_INS_PUSH, ARM_INS_STMIB, ARM_INS_VSTMIA, ARM_INS_VSTMDB, ARM_INS_VPUSH ARM: stm (stmia, stmea), stmdb (stmfb), push
Definition at line 968 of file arm_il32.c.
References ADD, ARM_INS_PUSH, ARM_INS_STMDA, ARM_INS_STMDB, ARM_INS_STMIB, ARM_INS_VPUSH, ARM_INS_VSTMDB, ARM_REG_SP, DUP, i, setup::idx, ISREG, NOP, NULL, OPCOUNT, REG, reg_bits(), REG_VAL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), SEQ2, STOREW, SUB, U32, val, write_reg(), and writeback().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_STR, ARM_INS_STRB, ARM_INS_STRH, ARM_INS_STRT, ARM_INS_STRBT, ARM_INS_STRHT, ARM_INS_STL, ARM_INS_STLB, ARM_INS_STLH, ARM_INS_STRD ARM: str, strb, strh, strt, strbt, strht, stl, stlb, stlh, strd
Definition at line 661 of file arm_il32.c.
References ADD, addr, ARG, ARM_INS_STLB, ARM_INS_STLH, ARM_INS_STRB, ARM_INS_STRBT, ARM_INS_STRD, ARM_INS_STRH, ARM_INS_STRHT, DUP, ISIMM, ISMEM, ISREG, MEMBASE, NULL, rz_il_op_pure_free(), SEQ2, STORE, STOREW, SUB, U32, UNSIGNED, val, write_reg(), and writeback().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_STREX, ARM_INS_STREXB, ARM_INS_STREXD, ARM_INS_STREXH, ARM_INS_STLEX, ARM_INS_STLEXB, ARM_INS_STLEXD, ARM_INS_STLEXH ARM: strex, strexb, strexd, strexh, stlex, stlexb, stlexd, stlexh
Definition at line 736 of file arm_il32.c.
References ADD, addr, ARG, ARM_INS_STLEXB, ARM_INS_STLEXD, ARM_INS_STLEXH, ARM_INS_STREXB, ARM_INS_STREXD, ARM_INS_STREXH, DUP, err, ISMEM, ISREG, NULL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), SEQ2, STORE, STOREW, U32, UNSIGNED, val, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_SVC ARM: svc
Definition at line 1134 of file arm_il32.c.
References GOTO.
Referenced by emit_syscall(), and il_unconditional().
|
static |
Capstone: ARM_INS_TBB, ARM_INS_TBH ARM: tbb, tbh
Definition at line 2308 of file arm_il32.c.
References ADD, addr, ARG, ARM_INS_TBB, is_thumb(), JMP, LOAD, LOADW, NULL, off, PC, SHIFTL0, U32, UN, and UNSIGNED.
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_TST, ARM_INS_TEQ ARM: tst, teq
Definition at line 849 of file arm_il32.c.
References a, ARG, ARG_C, ARM_INS_TST, b, LOGAND, LOGOR, NULL, rz_il_op_pure_free(), SEQ2, SETG, and update_flags_zn().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_UDIV ARM: udiv
Definition at line 1933 of file arm_il32.c.
References a, ARG, b, DIV, DUP, EQ, ISREG, ITE, NULL, REGID, rz_il_op_pure_free(), U32, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_UMAAL ARM: umaal
Definition at line 1953 of file arm_il32.c.
References a, ADD, ARG, b, ISREG, MUL, NULL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), SEQ3, SETL, SHIFTR0, UN, UNSIGNED, VARL, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_UMULL ARM: umull
Definition at line 1981 of file arm_il32.c.
References a, ARG, b, ISREG, MUL, NULL, REGID, rz_il_op_effect_free(), rz_il_op_pure_free(), SEQ3, SEQ4, SETL, SHIFTR0, UN, UNSIGNED, update_flags_zn(), VARL, and write_reg().
Referenced by il_unconditional().
|
static |
f
set bits [24, 31] (nzcvq) s
set bits [16: 23] (ge)
Definition at line 335 of file arm_il32.c.
References DUP, f, INV, IS_ZERO, LOGAND, NULL, s, SEQ2, SEQ5, SETG, SHIFTR0, U32, UN, UNSIGNED, and val.
|
static |
|
static |
Capstone: ARM_INS_USAD8, ARM_INS_USADA8 ARM: usad8, usada8
Definition at line 2013 of file arm_il32.c.
References a, a0, absdiff(), ADD, ARG, ARM_INS_USADA8, b, b1, b2, DUP, ISREG, NULL, REGID, rz_il_op_pure_free(), SHIFTR0, UN, UNSIGNED, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_UXTB, ARM_INS_UXTH, ARM_INS_UXTAB, ARM_INS_UXTAH ARM_INS_SXTB, ARM_INS_SXTH, ARM_INS_SXTAB, ARM_INS_SXTAH ARM: uxtb, uxth, uxtab, uxtah, sxtb, sxth, sxtab, sxtah
Definition at line 874 of file arm_il32.c.
References ADD, ARG, ARM_INS_SXTAB, ARM_INS_SXTAH, ARM_INS_SXTB, ARM_INS_SXTH, ARM_INS_UXTAB, ARM_INS_UXTAH, ARM_INS_UXTH, b, ISREG, NULL, REGID, rz_il_op_pure_free(), SIGNED, src, UNSIGNED, val, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_UXTB16, ARM_INS_UXTAB16, ARM_INS_SXTB16, ARM_INS_SXTAB16 ARM: uxtb16, uxtab16, stxb16, sxtab16
Definition at line 906 of file arm_il32.c.
References ADD, APPEND, ARG, ARM_INS_SXTAB16, ARM_INS_SXTB16, ARM_INS_UXTAB16, b, DUP, h, ISREG, LET, NULL, REGID, rz_il_op_pure_free(), SHIFTR0, SIGNED, src, UN, UNSIGNED, VARLP, and write_reg().
Referenced by il_unconditional().
|
static |
Capstone: ARM_INS_VMOV ARM: vmov
Definition at line 2321 of file arm_il32.c.
References ARG, ISREG, NULL, OPCOUNT, REGID, val, and write_reg().
Referenced by il_unconditional().
|
static |
IL to write the given capstone reg
Definition at line 117 of file arm_il32.c.
References ARM_REG_D0, ARM_REG_S0, ARM_REG_S31, setup::idx, LOGAND, LOGOR, NULL, read_reg(), reg, reg_var_name(), rz_il_op_pure_free(), rz_return_val_if_fail, SETG, SHIFTL0, U64, UN, UNSIGNED, and v.
Referenced by add_sub(), adr(), bfc(), bfi(), bitwise(), clz(), ldm(), ldr(), mla(), mov(), movt(), mrs(), mul(), pkhbt(), qadd(), qadd16(), qadd8(), rbit(), rev(), revsh(), rfe(), sadd16(), sadd8(), sbfx(), sdiv(), sel(), smlabb(), smlal(), smlaw(), smmla(), smmul(), smuad(), smulbb(), ssat(), ssat16(), stm(), str(), strex(), udiv(), umaal(), umull(), usad8(), uxt(), uxt16(), and vmov().
|
static |
All regs available as global IL variables
Definition at line 17 of file arm_il32.c.
Referenced by rz_arm_cs_32_il_config().