Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Typedefs | |
typedef RzILOpEffect *(* | avr_il_op) (AVROp *aop, AVROp *next_op, ut64 pc, RzAnalysis *analysis) |
Variables | |
const char * | avr_registers [32] |
static const char * | avr_global_registers [] |
static avr_il_op | avr_ops [AVR_OP_SIZE] |
Converts AVR instructions into RzIL statements references:
Definition in file avr_il.c.
#define AVR_ONE | ( | ) | UN(AVR_REG_SIZE, 1) |
#define AVR_SET_X | ( | l, | |
n, | |||
add | |||
) | avr_il_update_indirect_address_reg(l, 27, 26, n, add) |
#define AVR_SET_Y | ( | l, | |
n, | |||
add | |||
) | avr_il_update_indirect_address_reg(l, 29, 28, n, add) |
#define AVR_SET_Z | ( | l, | |
n, | |||
add | |||
) | avr_il_update_indirect_address_reg(l, 31, 30, n, add) |
#define AVR_SREG_C_SET | ( | x | ) | avr_il_assign_bool(AVR_SREG_C, x) |
#define AVR_SREG_H_SET | ( | x | ) | avr_il_assign_bool(AVR_SREG_H, x) |
#define AVR_SREG_I_SET | ( | x | ) | avr_il_assign_bool(AVR_SREG_I, x) |
#define AVR_SREG_N_SET | ( | x | ) | avr_il_assign_bool(AVR_SREG_N, x) |
#define AVR_SREG_S_SET | ( | x | ) | avr_il_assign_bool(AVR_SREG_S, x) |
#define AVR_SREG_T_SET | ( | x | ) | avr_il_assign_bool(AVR_SREG_T, x) |
#define AVR_SREG_V_SET | ( | x | ) | avr_il_assign_bool(AVR_SREG_V, x) |
#define AVR_SREG_Z_SET | ( | x | ) | avr_il_assign_bool(AVR_SREG_Z, x) |
#define AVR_X | ( | ) | avr_il_get_indirect_address_reg(27, 26) |
#define AVR_Y | ( | ) | avr_il_get_indirect_address_reg(29, 28) |
#define AVR_Z | ( | ) | avr_il_get_indirect_address_reg(31, 30) |
#define AVR_ZERO | ( | ) | UN(AVR_REG_SIZE, 0) |
typedef RzILOpEffect*(* avr_il_op) (AVROp *aop, AVROp *next_op, ut64 pc, RzAnalysis *analysis) |
|
static |
Definition at line 575 of file avr_il.c.
References ADD, avr_il_check_carry_flag_addition(), avr_il_check_half_carry_flag_addition(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_addition(), avr_il_check_zero_flag_local(), avr_il_sreg_bit_as_imm(), AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_C, C, H, N, NULL, avr_opcode_t::param, S, SEQ8, SETL, V, VARL, x, and Z.
|
static |
Definition at line 623 of file avr_il.c.
References ADD, avr_il_check_carry_flag_addition(), avr_il_check_half_carry_flag_addition(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_addition(), avr_il_check_zero_flag_local(), AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, C, H, N, NULL, avr_opcode_t::param, S, SEQ8, SETL, V, VARL, x, and Z.
|
static |
Definition at line 669 of file avr_il.c.
References ADD, avr_il_check_carry_flag_addition_wide(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_addition_wide(), avr_il_check_zero_flag_local(), avr_il_get_indirect_address_reg(), avr_il_update_indirect_address_reg(), AVR_IND_SIZE, AVR_LET_IND, avr_return_val_if_invalid_gpr, C, imm, N, NULL, avr_opcode_t::param, S, SEQ7, SETL, UN, V, x, and Z.
|
static |
Definition at line 712 of file avr_il.c.
References avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), avr_il_check_zero_flag_reg(), AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_V_SET, LOGAND, N, NULL, avr_opcode_t::param, S, SEQ5, V, x, and Z.
|
static |
Definition at line 742 of file avr_il.c.
References avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), avr_il_check_zero_flag_reg(), AVR_IMM, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_V_SET, LOGAND, N, NULL, avr_opcode_t::param, S, SEQ5, V, x, and Z.
|
static |
Definition at line 771 of file avr_il.c.
References asr, avr_il_check_nc_overflow_flag(), avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), avr_il_check_zero_flag_reg(), AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SH, AVR_SREG_C, C, LSB, MSB, N, NULL, avr_opcode_t::param, S, SEQ6, SETG, SHIFTR, V, x, and Z.
|
inlinestatic |
|
inlinestatic |
Definition at line 168 of file avr_il.c.
References AVR_REG_SIZE, imm, reg, SETG, and UN.
Referenced by avr_il_clr(), avr_il_ldi(), and avr_il_ser().
|
inlinestatic |
Definition at line 177 of file avr_il.c.
References dst, SETG, src, and VARG.
Referenced by avr_il_in(), avr_il_mov(), and avr_il_out().
|
static |
Definition at line 807 of file avr_il.c.
References AVR_IMM, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_T, b, bit, ITE, LOGAND, LOGOR, NULL, avr_opcode_t::param, reg, and VARG.
|
inlinestatic |
Definition at line 160 of file avr_il.c.
References avr_il_jump_relative(), BRANCH, cond, and NULL.
Referenced by avr_il_brcc(), avr_il_brcs(), avr_il_breq(), avr_il_brge(), avr_il_brhc(), avr_il_brhs(), avr_il_brid(), avr_il_brie(), avr_il_brlt(), avr_il_brmi(), avr_il_brne(), avr_il_brpl(), avr_il_brtc(), avr_il_brts(), avr_il_brvc(), avr_il_brvs(), avr_il_cpse(), avr_il_sbic(), avr_il_sbis(), avr_il_sbrc(), and avr_il_sbrs().
|
static |
Definition at line 828 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_C, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 836 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_C, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 844 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_Z, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 852 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_N, AVR_SREG_V, k, N, avr_opcode_t::param, V, VARG, and XOR.
|
static |
Definition at line 862 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_H, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 870 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_H, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 878 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_I, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 886 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_I, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 894 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_N, AVR_SREG_V, k, N, avr_opcode_t::param, V, VARG, and XOR.
|
static |
Definition at line 904 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_N, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 912 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_Z, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 920 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_N, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 928 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_T, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 936 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_T, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 944 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_V, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 952 of file avr_il.c.
References avr_il_branch_when(), AVR_SREG_V, k, avr_opcode_t::param, and VARG.
|
static |
Definition at line 960 of file avr_il.c.
References AVR_IMM, AVR_REG, avr_return_val_if_invalid_gpr, AVR_SREG_T, b, bit, LOGAND, NON_ZERO, NULL, avr_opcode_t::param, reg, and SETG.
|
static |
Definition at line 975 of file avr_il.c.
References AVR_ADDR, AVR_ADDR_SIZE, avr_il_jump_relative(), AVR_IMM16, AVR_PC, AVR_SP, jmp, k, num, avr_opcode_t::param, pc, SEQ3, SETG, avr_opcode_t::size, STOREW, SUB, val, and VARG.
|
static |
Definition at line 1001 of file avr_il.c.
References A, AVR_IMM, avr_registers, b, LOGAND, avr_opcode_t::param, reg, resolve_mmio(), SETG, and VARG.
|
static |
Definition at line 426 of file avr_il.c.
References AVR_SREG_C, DUP, local, LOGAND, LOGNOT, LOGOR, MSB, SETG, VARL, and x.
Referenced by avr_il_adc(), and avr_il_add().
|
static |
|
static |
Definition at line 475 of file avr_il.c.
References AVR_IMM, AVR_SREG_C, bit, DUP, local, LOGAND, LOGNOT, LOGOR, NON_ZERO, SETG, VARL, and x.
Referenced by avr_il_cp(), avr_il_cpc(), avr_il_cpi(), avr_il_sbc(), avr_il_sbci(), avr_il_sub(), and avr_il_subi().
|
static |
|
static |
|
static |
Definition at line 285 of file avr_il.c.
References AVR_IMM, AVR_SREG_H, bit, DUP, local, LOGAND, LOGNOT, LOGOR, NON_ZERO, SETG, VARL, and x.
Referenced by avr_il_cp(), avr_il_cpc(), avr_il_cpi(), avr_il_sbc(), avr_il_sbci(), avr_il_sub(), and avr_il_subi().
|
static |
Definition at line 536 of file avr_il.c.
References AVR_SREG_C, AVR_SREG_N, AVR_SREG_V, C, N, SETG, VARG, and XOR.
Referenced by avr_il_asr(), avr_il_lsl(), avr_il_lsr(), avr_il_rol(), and avr_il_ror().
|
static |
Definition at line 410 of file avr_il.c.
References AVR_SREG_N, local, MSB, SETG, VARL, and x.
Referenced by avr_il_adc(), avr_il_add(), avr_il_adiw(), avr_il_cp(), avr_il_cpc(), avr_il_cpi(), avr_il_sbc(), avr_il_sbci(), avr_il_sbiw(), avr_il_sub(), and avr_il_subi().
|
static |
Definition at line 418 of file avr_il.c.
References AVR_REG, AVR_SREG_N, MSB, reg, SETG, and x.
Referenced by avr_il_and(), avr_il_andi(), avr_il_asr(), avr_il_dec(), avr_il_eor(), avr_il_inc(), avr_il_lsl(), avr_il_neg(), avr_il_or(), avr_il_ori(), avr_il_rol(), and avr_il_ror().
|
static |
Definition at line 528 of file avr_il.c.
References AVR_SREG_N, AVR_SREG_S, AVR_SREG_V, N, SETG, V, VARG, and XOR.
Referenced by avr_il_adc(), avr_il_add(), avr_il_adiw(), avr_il_and(), avr_il_andi(), avr_il_asr(), avr_il_com(), avr_il_cp(), avr_il_cpc(), avr_il_cpi(), avr_il_dec(), avr_il_eor(), avr_il_inc(), avr_il_lsl(), avr_il_lsr(), avr_il_neg(), avr_il_or(), avr_il_ori(), avr_il_rol(), avr_il_ror(), avr_il_sbc(), avr_il_sbci(), avr_il_sbiw(), avr_il_sub(), and avr_il_subi().
|
static |
Definition at line 319 of file avr_il.c.
References AVR_SREG_V, DUP, local, LOGAND, LOGNOT, LOGOR, MSB, SETG, VARL, and x.
Referenced by avr_il_adc(), and avr_il_add().
|
static |
|
static |
Definition at line 364 of file avr_il.c.
References AVR_SREG_V, DUP, local, LOGAND, LOGNOT, LOGOR, MSB, SETG, VARL, and x.
Referenced by avr_il_cp(), avr_il_cpc(), avr_il_cpi(), avr_il_sbc(), avr_il_sbci(), avr_il_sub(), and avr_il_subi().
|
static |
|
static |
Definition at line 234 of file avr_il.c.
References AND, AVR_SREG_Z, IS_ZERO, local, SETG, VARG, VARL, and Z.
Referenced by avr_il_adc(), avr_il_add(), avr_il_adiw(), avr_il_cp(), avr_il_cpc(), avr_il_cpi(), avr_il_sbc(), avr_il_sbci(), avr_il_sbiw(), avr_il_sub(), and avr_il_subi().
|
static |
Definition at line 245 of file avr_il.c.
References AVR_REG, AVR_SREG_Z, IS_ZERO, reg, SETG, and x.
Referenced by avr_il_and(), avr_il_andi(), and avr_il_asr().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 1039 of file avr_il.c.
References avr_il_assign_imm(), avr_registers, avr_return_val_if_invalid_gpr, AVR_SREG_N_SET, AVR_SREG_S_SET, AVR_SREG_V_SET, AVR_SREG_Z_SET, N, NULL, avr_opcode_t::param, S, SEQ5, V, and Z.
|
static |
Definition at line 1054 of file avr_il.c.
References AVR_SREG_S_SET.
|
static |
|
static |
Definition at line 1064 of file avr_il.c.
References AVR_SREG_V_SET.
|
static |
Definition at line 1069 of file avr_il.c.
References AVR_SREG_Z_SET.
|
static |
Definition at line 1074 of file avr_il.c.
References avr_il_check_signess_flag(), AVR_IMM, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_C_SET, AVR_SREG_N, AVR_SREG_V_SET, AVR_SREG_Z, C, IS_ZERO, LOGAND, N, NON_ZERO, NULL, avr_opcode_t::param, S, SEQ6, SETG, SUB, V, x, and Z.
|
static |
Definition at line 1112 of file avr_il.c.
References avr_il_check_carry_flag_subtraction(), avr_il_check_half_carry_flag_subtraction(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_subtraction(), avr_il_check_zero_flag_local(), AVR_LET_RES, AVR_REG, avr_return_val_if_invalid_gpr, C, H, N, NULL, avr_opcode_t::param, S, SEQ7, SETL, SUB, V, x, and Z.
|
static |
Definition at line 1211 of file avr_il.c.
References avr_il_check_carry_flag_subtraction(), avr_il_check_half_carry_flag_subtraction(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_subtraction(), avr_il_check_zero_flag_local(), AVR_LET_RES, AVR_ONE, AVR_REG, avr_return_val_if_invalid_gpr, AVR_SREG_C, AVR_ZERO, C, H, N, NULL, avr_opcode_t::param, rz_il_op_new_ite(), S, SEQ7, SETL, SUB, V, VARG, x, and Z.
|
static |
Definition at line 1164 of file avr_il.c.
References avr_il_check_carry_flag_subtraction(), avr_il_check_half_carry_flag_subtraction(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_subtraction(), avr_il_check_zero_flag_local(), AVR_IMM, AVR_LET_RES, AVR_REG, avr_return_val_if_invalid_gpr, C, H, N, NULL, avr_opcode_t::param, S, SEQ7, SETL, SUB, V, x, and Z.
|
static |
Definition at line 1266 of file avr_il.c.
References avr_il_branch_when(), AVR_REG, EQ, avr_opcode_t::param, pc, and avr_opcode_t::size.
|
static |
Definition at line 1275 of file avr_il.c.
References avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_IMM, AVR_ONE, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_V, AVR_SREG_Z, EQ, IS_ZERO, N, NULL, avr_opcode_t::param, S, SEQ5, SETG, SUB, V, x, and Z.
|
static |
|
static |
|
static |
Definition at line 1353 of file avr_il.c.
References ADD, APPEND, AVR_ADDR_SIZE, AVR_IND_SIZE, AVR_LET_RES, AVR_PC, AVR_RAMPZ, AVR_REG_SET, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_SH, AVR_Z, DUP, load(), LOADW, local, NULL, avr_opcode_t::param, SEQ5, SETG, SETL, SHIFTR0, UNSIGNED, VARG, VARL, and x.
|
static |
Definition at line 1405 of file avr_il.c.
References avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_V_SET, AVR_SREG_Z, IS_ZERO, LOGXOR, N, NULL, avr_opcode_t::param, S, SEQ5, SETG, V, x, and Z.
|
static |
Definition at line 1438 of file avr_il.c.
References avr_il_update_indirect_address_reg(), AVR_IND_SIZE, AVR_LET_IND, AVR_LET_RES, AVR_ONE, AVR_REG, avr_return_val_if_invalid_gpr, AVR_SREG_C, AVR_SREG_Z, avr_subtract_if(), C, IS_ZERO, MSB, mul(), MUL, NULL, avr_opcode_t::param, SEQ5, SETG, SETL, SHIFTL0, UNSIGNED, VARL, x, and Z.
|
static |
Definition at line 1492 of file avr_il.c.
References AND, AVR_IMM16, AVR_IND_SIZE, AVR_LET_IND, AVR_LET_RES, AVR_ONE, AVR_REG, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_SH, AVR_SREG_C, AVR_SREG_Z, avr_subtract_if(), C, DUP, IS_ZERO, ITE, MSB, MUL, NULL, avr_opcode_t::param, SEQ6, SETG, SETL, SHIFTL0, SHIFTR0, SUB, UNSIGNED, VARG, VARL, x, XOR, and Z.
|
static |
Definition at line 1566 of file avr_il.c.
References AND, AVR_IMM16, AVR_IND_SIZE, AVR_LET_IND, AVR_LET_RES, AVR_ONE, AVR_REG, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_SH, AVR_SREG_C, AVR_SREG_Z, avr_subtract_if(), C, DUP, IS_ZERO, ITE, MSB, MUL, NULL, avr_opcode_t::param, SEQ6, SETG, SETL, SHIFTL0, SHIFTR0, SUB, UNSIGNED, VARG, VARL, x, and Z.
|
static |
Definition at line 115 of file avr_il.c.
References AVR_REG, and rz_il_op_new_append().
Referenced by avr_il_adiw(), avr_il_movw(), and avr_il_sbiw().
|
static |
|
static |
|
static |
Definition at line 1671 of file avr_il.c.
References A, avr_il_assign_reg(), avr_il_load_reg(), avr_il_sreg_bit_as_imm(), AVR_REG_SET, AVR_REG_SIZE, avr_registers, avr_return_val_if_invalid_gpr, AVR_SH, AVR_SP, AVR_SPH, AVR_SPL, AVR_SREG, AVR_SREG_C, AVR_SREG_C_BIT, AVR_SREG_H, AVR_SREG_H_BIT, AVR_SREG_I, AVR_SREG_I_BIT, AVR_SREG_N, AVR_SREG_N_BIT, AVR_SREG_S, AVR_SREG_S_BIT, AVR_SREG_T, AVR_SREG_T_BIT, AVR_SREG_V, AVR_SREG_V_BIT, AVR_SREG_Z, AVR_SREG_Z_BIT, C, H, I, LOGOR, N, NULL, avr_opcode_t::param, reg, resolve_mmio(), rz_str_ncasecmp(), S, SHIFTR0, T, UNSIGNED, V, VARG, x, and Z.
|
static |
Definition at line 1720 of file avr_il.c.
References ADD, avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_IMM, AVR_ONE, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_V, AVR_SREG_Z, EQ, IS_ZERO, N, NULL, avr_opcode_t::param, S, SEQ5, SETG, V, x, and Z.
|
static |
Definition at line 1754 of file avr_il.c.
References avr_il_jump_relative(), k, avr_opcode_t::param, and st32.
|
inlinestatic |
Definition at line 155 of file avr_il.c.
References AVR_ADDR_SIZE, JMP, and UN.
Referenced by avr_il_branch_when(), avr_il_call(), avr_il_jmp(), avr_il_rcall(), and avr_il_rjmp().
|
static |
Definition at line 1763 of file avr_il.c.
References AVR_ADDR_SIZE, AVR_IMM, AVR_LET_RES, AVR_REG, AVR_REG_SET, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_Z, load(), LOADW, local, NULL, avr_opcode_t::param, SEQ3, SETL, st32, STOREW, SUB, UNSIGNED, VARL, and x.
|
static |
Definition at line 1792 of file avr_il.c.
References AVR_ADDR_SIZE, AVR_LET_RES, AVR_REG, AVR_REG_SET, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_Z, load(), LOADW, local, NULL, avr_opcode_t::param, SEQ3, SETL, st32, STOREW, UNSIGNED, VARL, and x.
|
static |
Definition at line 1819 of file avr_il.c.
References AVR_ADDR_SIZE, AVR_LET_RES, AVR_REG, AVR_REG_SET, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_Z, load(), LOADW, local, LOGXOR, NULL, avr_opcode_t::param, SEQ3, SETL, st32, STOREW, UNSIGNED, VARL, and x.
|
static |
Definition at line 1848 of file avr_il.c.
References AVR_ADDR, AVR_LET_IND, AVR_REG_SET, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, avr_return_val_if_invalid_indirect_address, AVR_SET_X, AVR_SET_Y, AVR_SET_Z, AVR_X, AVR_Y, AVR_Z, LOADW, NULL, avr_opcode_t::param, SEQ3, SETL, and src.
|
static |
Definition at line 1911 of file avr_il.c.
References avr_il_assign_imm(), avr_registers, avr_return_val_if_invalid_gpr, NULL, and avr_opcode_t::param.
|
static |
Definition at line 1920 of file avr_il.c.
References avr_il_load_reg(), AVR_REG_SIZE, avr_registers, avr_return_val_if_invalid_gpr, k, NULL, and avr_opcode_t::param.
|
inlinestatic |
Definition at line 192 of file avr_il.c.
References addr, AVR_ADDR_SIZE, LOADW, reg, SETG, and UN.
Referenced by avr_il_in(), and avr_il_lds().
|
static |
Definition at line 1929 of file avr_il.c.
References AVR_ADDR, AVR_LET_IND, AVR_REG_SET, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_SET_Z, AVR_Z, load(), NULL, avr_opcode_t::param, rz_il_op_new_loadw(), SEQ3, and SETL.
|
static |
Definition at line 1956 of file avr_il.c.
References ADD, avr_il_check_nc_overflow_flag(), avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_IMM, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_C, AVR_SREG_H, AVR_SREG_Z, C, H, IS_ZERO, LOGAND, lsl, MSB, N, NON_ZERO, NULL, avr_opcode_t::param, S, SEQ7, SETG, V, x, and Z.
|
static |
Definition at line 1998 of file avr_il.c.
References avr_il_check_nc_overflow_flag(), avr_il_check_signess_flag(), AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SH, AVR_SREG_C, AVR_SREG_N_SET, AVR_SREG_Z, C, IS_ZERO, LSB, lsr, N, NULL, avr_opcode_t::param, S, SEQ6, SETG, SHIFTR0, V, x, and Z.
|
static |
Definition at line 2033 of file avr_il.c.
References avr_il_assign_reg(), avr_registers, avr_return_val_if_invalid_gpr, NULL, and avr_opcode_t::param.
|
static |
Definition at line 2043 of file avr_il.c.
References avr_il_get_indirect_address_reg(), avr_il_update_indirect_address_reg(), AVR_LET_IND, avr_return_val_if_invalid_gpr, NULL, avr_opcode_t::param, SEQ2, SETL, and x.
|
static |
Definition at line 2060 of file avr_il.c.
References avr_il_update_indirect_address_reg(), AVR_IND_SIZE, AVR_LET_RES, AVR_REG, avr_return_val_if_invalid_gpr, AVR_SREG_C, AVR_SREG_Z, C, IS_ZERO, MSB, mul(), MUL, NULL, avr_opcode_t::param, SEQ4, SETG, SETL, UNSIGNED, VARL, x, and Z.
|
static |
Definition at line 2094 of file avr_il.c.
References avr_il_update_indirect_address_reg(), AVR_IND_SIZE, AVR_LET_RES, AVR_REG, avr_return_val_if_invalid_gpr, AVR_SREG_C, AVR_SREG_Z, C, IS_ZERO, MSB, mul(), MUL, NULL, avr_opcode_t::param, SEQ4, SETG, SETL, SIGNED, VARL, x, and Z.
|
static |
Definition at line 2128 of file avr_il.c.
References avr_il_update_indirect_address_reg(), AVR_IND_SIZE, AVR_LET_RES, AVR_REG, avr_return_val_if_invalid_gpr, AVR_SREG_C, AVR_SREG_Z, C, IS_ZERO, MSB, mul(), MUL, NULL, avr_opcode_t::param, SEQ4, SETG, SETL, SIGNED, UNSIGNED, VARL, x, and Z.
|
static |
Definition at line 2162 of file avr_il.c.
References avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_IMM, AVR_LET_IND, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_C, AVR_SREG_H, AVR_SREG_V, AVR_SREG_Z, AVR_ZERO, C, cmp(), EQ, H, IS_ZERO, ITE, LOGAND, LOGOR, N, neg(), NON_ZERO, NULL, avr_opcode_t::param, S, SEQ8, SETG, SETL, SUB, V, VARL, x, and Z.
|
static |
|
static |
Definition at line 2220 of file avr_il.c.
References avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_V_SET, AVR_SREG_Z, IS_ZERO, LOGOR, N, NULL, avr_opcode_t::param, S, SEQ5, SETG, V, x, and Z.
|
static |
Definition at line 2253 of file avr_il.c.
References avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_IMM, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_V_SET, AVR_SREG_Z, IS_ZERO, LOGOR, N, NULL, avr_opcode_t::param, S, SEQ5, SETG, V, x, and Z.
|
static |
Definition at line 2285 of file avr_il.c.
References A, avr_il_assign_reg(), avr_il_set16_from_reg(), avr_il_set_sreg_bit_from_reg(), avr_il_store_reg(), avr_registers, avr_return_val_if_invalid_gpr, AVR_SP, AVR_SPH, AVR_SPL, AVR_SREG, AVR_SREG_C, AVR_SREG_C_BIT, AVR_SREG_H, AVR_SREG_H_BIT, AVR_SREG_I, AVR_SREG_I_BIT, AVR_SREG_N, AVR_SREG_N_BIT, AVR_SREG_S, AVR_SREG_S_BIT, AVR_SREG_T, AVR_SREG_T_BIT, AVR_SREG_V, AVR_SREG_V_BIT, AVR_SREG_Z, AVR_SREG_Z_BIT, C, H, I, N, NULL, avr_opcode_t::param, reg, resolve_mmio(), rz_str_ncasecmp(), S, SEQ9, T, V, and Z.
|
static |
Definition at line 2320 of file avr_il.c.
References ADD, AVR_ADDR_SIZE, AVR_IMM16, AVR_REG_SET, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_SP, LOADW, NULL, avr_opcode_t::param, SEQ2, SETG, st32, UNSIGNED, VARG, and x.
|
static |
|
static |
|
static |
|
static |
Definition at line 2413 of file avr_il.c.
References avr_il_jump_relative(), k, avr_opcode_t::param, st16, and st32.
|
static |
Definition at line 2420 of file avr_il.c.
References avr_il_check_nc_overflow_flag(), avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_IMM, AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SH, AVR_SREG_C, AVR_SREG_H, AVR_SREG_Z, C, H, IS_ZERO, LOGAND, MSB, N, NON_ZERO, NULL, avr_opcode_t::param, rol, S, SEQ8, SETG, SETL, SHIFTL, V, VARG, VARL, x, and Z.
|
static |
Definition at line 2467 of file avr_il.c.
References avr_il_check_nc_overflow_flag(), avr_il_check_negative_flag_reg(), avr_il_check_signess_flag(), AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SH, AVR_SREG_C, AVR_SREG_Z, C, IS_ZERO, LSB, N, NULL, avr_opcode_t::param, ror, S, SEQ7, SETG, SETL, SHIFTR, V, VARG, VARL, x, and Z.
|
static |
Definition at line 2507 of file avr_il.c.
References avr_il_check_carry_flag_subtraction(), avr_il_check_half_carry_flag_subtraction(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_subtraction(), avr_il_check_zero_flag_local(), avr_il_sreg_bit_as_imm(), AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_C, C, H, N, NULL, avr_opcode_t::param, S, SEQ8, SETL, SUB, V, VARL, x, and Z.
|
static |
Definition at line 2561 of file avr_il.c.
References avr_il_check_carry_flag_subtraction(), avr_il_check_half_carry_flag_subtraction(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_subtraction(), avr_il_check_zero_flag_local(), avr_il_sreg_bit_as_imm(), AVR_IMM, AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SREG_C, C, H, N, NULL, avr_opcode_t::param, S, SEQ8, SETL, SUB, V, VARL, x, and Z.
|
static |
Definition at line 2614 of file avr_il.c.
References A, AVR_IMM, avr_registers, b, LOGOR, avr_opcode_t::param, reg, resolve_mmio(), SETG, and VARG.
|
static |
Definition at line 2632 of file avr_il.c.
References A, avr_il_branch_when(), AVR_IMM, avr_registers, b, IS_ZERO, LOGAND, avr_opcode_t::param, pc, reg, resolve_mmio(), avr_opcode_t::size, and VARG.
|
static |
Definition at line 2651 of file avr_il.c.
References A, avr_il_branch_when(), AVR_IMM, avr_registers, b, IS_ZERO, LOGAND, avr_opcode_t::param, pc, reg, resolve_mmio(), avr_opcode_t::size, and VARG.
|
static |
Definition at line 2670 of file avr_il.c.
References avr_il_check_carry_flag_subtraction_wide(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_subtraction_wide(), avr_il_check_zero_flag_local(), avr_il_get_indirect_address_reg(), avr_il_update_indirect_address_reg(), AVR_IND_SIZE, AVR_LET_IND, avr_return_val_if_invalid_gpr, C, imm, N, NULL, avr_opcode_t::param, S, SEQ7, SETL, SUB, UN, V, x, and Z.
|
static |
Definition at line 2713 of file avr_il.c.
References avr_il_branch_when(), AVR_IMM, AVR_REG, avr_return_val_if_invalid_gpr, b, IS_ZERO, LOGAND, NULL, avr_opcode_t::param, pc, and avr_opcode_t::size.
|
static |
Definition at line 2728 of file avr_il.c.
References avr_il_branch_when(), AVR_IMM, AVR_REG, avr_return_val_if_invalid_gpr, b, IS_ZERO, LOGAND, NULL, avr_opcode_t::param, pc, and avr_opcode_t::size.
|
static |
Definition at line 2743 of file avr_il.c.
References AVR_SREG_C_SET.
|
static |
Definition at line 2748 of file avr_il.c.
References AVR_SREG_H_SET.
|
static |
Definition at line 2753 of file avr_il.c.
References AVR_SREG_I_SET.
|
static |
Definition at line 2758 of file avr_il.c.
References AVR_SREG_N_SET.
|
static |
Definition at line 2763 of file avr_il.c.
References avr_il_assign_imm(), avr_registers, avr_return_val_if_invalid_gpr, NULL, and avr_opcode_t::param.
|
static |
Definition at line 2771 of file avr_il.c.
References AVR_SREG_S_SET.
|
static |
Definition at line 2776 of file avr_il.c.
References AVR_SREG_T_SET.
|
inlinestatic |
|
inlinestatic |
|
static |
Definition at line 2781 of file avr_il.c.
References AVR_SREG_V_SET.
|
static |
Definition at line 2786 of file avr_il.c.
References AVR_SREG_Z_SET.
|
inlinestatic |
Definition at line 219 of file avr_il.c.
References AVR_IMM, AVR_ZERO, bit, rz_il_op_new_ite(), and VARG.
Referenced by avr_il_adc(), avr_il_in(), avr_il_sbc(), and avr_il_sbci().
|
static |
Definition at line 2791 of file avr_il.c.
References addr, AVR_ADDR, AVR_LET_IND, AVR_REG, avr_return_val_if_invalid_gpr, avr_return_val_if_invalid_indirect_address, AVR_SET_X, AVR_SET_Y, AVR_SET_Z, AVR_X, AVR_Y, AVR_Z, NULL, avr_opcode_t::param, SEQ3, SETL, src, and STOREW.
|
inlinestatic |
Definition at line 182 of file avr_il.c.
References addr, AVR_ADDR_SIZE, STOREW, and UN.
Referenced by avr_il_store_reg().
|
inlinestatic |
Definition at line 187 of file avr_il.c.
References addr, avr_il_store_pure(), reg, and VARG.
Referenced by avr_il_out(), and avr_il_sts().
|
static |
Definition at line 2854 of file avr_il.c.
References avr_il_store_reg(), avr_registers, avr_return_val_if_invalid_gpr, k, NULL, and avr_opcode_t::param.
|
static |
Definition at line 2863 of file avr_il.c.
References avr_il_check_carry_flag_subtraction(), avr_il_check_half_carry_flag_subtraction(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_subtraction(), avr_il_check_zero_flag_local(), AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, C, H, N, NULL, avr_opcode_t::param, S, SEQ8, SETL, SUB, V, VARL, x, and Z.
|
static |
Definition at line 2915 of file avr_il.c.
References avr_il_check_carry_flag_subtraction(), avr_il_check_half_carry_flag_subtraction(), avr_il_check_negative_flag_local(), avr_il_check_signess_flag(), avr_il_check_two_complement_overflow_flag_subtraction(), avr_il_check_zero_flag_local(), AVR_IMM, AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, C, H, N, NULL, avr_opcode_t::param, S, SEQ8, SETL, SUB, V, VARL, x, and Z.
|
static |
Definition at line 2966 of file avr_il.c.
References AVR_LET_RES, AVR_REG, AVR_REG_SET, avr_return_val_if_invalid_gpr, AVR_SH, LOGOR, NULL, avr_opcode_t::param, SEQ2, SETL, SHIFTL0, SHIFTR0, swap, VARL, and x.
|
static |
|
static |
Definition at line 121 of file avr_il.c.
References ADD, add(), AVR_IND_SIZE, AVR_REG_SIZE, avr_registers, AVR_SH, local, n, SEQ2, SETG, SHIFTR0, SUB, UN, UNSIGNED, and VARL.
Referenced by avr_il_adiw(), avr_il_fmul(), avr_il_movw(), avr_il_mul(), avr_il_muls(), avr_il_mulsu(), and avr_il_sbiw().
|
static |
Definition at line 2995 of file avr_il.c.
References AVR_ADDR_SIZE, AVR_LET_RES, AVR_REG, AVR_REG_SET, AVR_REG_SIZE, avr_return_val_if_invalid_gpr, AVR_Z, LOADW, NULL, avr_opcode_t::param, SEQ3, SETL, STOREW, UNSIGNED, VARL, and x.
|
static |
Definition at line 544 of file avr_il.c.
References cmp(), DUP, invert(), ITE, limit, SUB, UGT, UN, and x.
Referenced by avr_il_fmul(), avr_il_fmuls(), and avr_il_fmulsu().
|
inlinestatic |
Definition at line 226 of file avr_il.c.
References rz_analysis_t::arch_target, NULL, rz_platform_target_t::profile, and rz_platform_profile_resolve_mmio().
Referenced by avr_il_cbi(), avr_il_in(), avr_il_out(), avr_il_sbi(), avr_il_sbic(), and avr_il_sbis().
RZ_IPI RzAnalysisILConfig* rz_avr_il_config | ( | RZ_NONNULL RzAnalysis * | analysis | ) |
Definition at line 3156 of file avr_il.c.
References AVR_ADDR_SIZE, avr_global_registers, NULL, r, rz_analysis_il_config_new(), and rz_return_val_if_fail.
RZ_IPI bool rz_avr_il_opcode | ( | RzAnalysis * | analysis, |
RzAnalysisOp * | op, | ||
ut64 | pc, | ||
AVROp * | aop, | ||
AVROp * | next_op | ||
) |
Definition at line 3143 of file avr_il.c.
References AVR_OP_SIZE, avr_ops, avr_opcode_t::mnemonic, pc, RZ_LOG_ERROR, and rz_return_val_if_fail.
Referenced by avr_op().
|
static |
All registers available as global IL variables
Definition at line 105 of file avr_il.c.
Referenced by rz_avr_il_config().
|
static |
Definition at line 3026 of file avr_il.c.
Referenced by rz_avr_il_opcode().
const char* avr_registers[32] |
All registers
Definition at line 95 of file avr_il.c.
Referenced by avr_il_cbi(), avr_il_clr(), avr_il_in(), avr_il_ldi(), avr_il_lds(), avr_il_mov(), avr_il_out(), avr_il_sbi(), avr_il_sbic(), avr_il_sbis(), avr_il_ser(), avr_il_sts(), and avr_il_update_indirect_address_reg().