OpenOCD
|
Go to the source code of this file.
Data Structures | |
struct | arm_b_bl_bx_blx_instr |
struct | arm_data_proc_instr |
struct | arm_instruction |
struct | arm_load_store_instr |
struct | arm_load_store_multiple_instr |
union | arm_shifter_operand |
Macros | |
#define | COND(opcode) (arm_condition_strings[(opcode & 0xf0000000) >> 28]) |
Enumerations | |
enum | arm_instruction_type { ARM_UNKNOWN_INSTRUCTION , ARM_B , ARM_BL , ARM_BX , ARM_BLX , ARM_AND , ARM_EOR , ARM_SUB , ARM_RSB , ARM_ADD , ARM_ADC , ARM_SBC , ARM_RSC , ARM_TST , ARM_TEQ , ARM_CMP , ARM_CMN , ARM_ORR , ARM_MOV , ARM_BIC , ARM_MVN , ARM_LDR , ARM_LDRB , ARM_LDRT , ARM_LDRBT , ARM_LDRH , ARM_LDRSB , ARM_LDRSH , ARM_LDM , ARM_STR , ARM_STRB , ARM_STRT , ARM_STRBT , ARM_STRH , ARM_STM , ARM_MRS , ARM_MSR , ARM_MUL , ARM_MLA , ARM_SMULL , ARM_SMLAL , ARM_UMULL , ARM_UMLAL , ARM_CLZ , ARM_ERET , ARM_BKPT , ARM_SWI , ARM_HVC , ARM_SMC , ARM_CDP , ARM_LDC , ARM_STC , ARM_MCR , ARM_MRC , ARM_SWP , ARM_SWPB , ARM_MCRR , ARM_MRRC , ARM_PLD , ARM_DSB , ARM_ISB , ARM_QADD , ARM_QDADD , ARM_QSUB , ARM_QDSUB , ARM_SMLAXY , ARM_SMLALXY , ARM_SMLAWY , ARM_SMULXY , ARM_SMULWY , ARM_LDRD , ARM_STRD , ARM_UNDEFINED_INSTRUCTION = 0xffffffff } |
Functions | |
int | arm_access_size (struct arm_instruction *instruction) |
int | arm_evaluate_opcode (uint32_t opcode, uint32_t address, struct arm_instruction *instruction) |
int | thumb_evaluate_opcode (uint16_t opcode, uint32_t address, struct arm_instruction *instruction) |
#define COND | ( | opcode | ) | (arm_condition_strings[(opcode & 0xf0000000) >> 28]) |
Definition at line 195 of file arm_disassembler.h.
enum arm_instruction_type |
Definition at line 11 of file arm_disassembler.h.
int arm_access_size | ( | struct arm_instruction * | instruction | ) |
int arm_evaluate_opcode | ( | uint32_t | opcode, |
uint32_t | address, | ||
struct arm_instruction * | instruction | ||
) |
Definition at line 1915 of file arm_disassembler.c.
References ARM_UNDEFINED_INSTRUCTION, ERROR_OK, evaluate_b_bl(), evaluate_blx_imm(), evaluate_cdp_mcr_mrc(), evaluate_data_proc(), evaluate_ldc_stc_mcrr_mrrc(), evaluate_ldm_stm(), evaluate_load_store(), evaluate_media(), evaluate_misc_instr(), evaluate_mov_imm(), evaluate_mrs_msr(), evaluate_mul_and_extra_ld_st(), evaluate_pld(), evaluate_srs(), evaluate_swi(), arm_instruction::instruction_size, LOG_ERROR, arm_instruction::opcode, arm_instruction::text, and arm_instruction::type.
Referenced by arm_simulate_step_core(), etm_read_instruction(), and xscale_read_instruction().
int thumb_evaluate_opcode | ( | uint16_t | opcode, |
uint32_t | address, | ||
struct arm_instruction * | instruction | ||
) |
Definition at line 2883 of file arm_disassembler.c.
References ARM_UNDEFINED_INSTRUCTION, ERROR_OK, evaluate_add_sp_pc_thumb(), evaluate_add_sub_thumb(), evaluate_adjust_stack_thumb(), evaluate_b_bl_blx_thumb(), evaluate_breakpoint_thumb(), evaluate_byterev_thumb(), evaluate_cb_thumb(), evaluate_cond_branch_thumb(), evaluate_cps_thumb(), evaluate_data_proc_imm_thumb(), evaluate_data_proc_thumb(), evaluate_extend_thumb(), evaluate_hint_thumb(), evaluate_ifthen_thumb(), evaluate_load_literal_thumb(), evaluate_load_store_imm_thumb(), evaluate_load_store_multiple_thumb(), evaluate_load_store_reg_thumb(), evaluate_load_store_stack_thumb(), evaluate_shift_imm_thumb(), arm_instruction::instruction_size, LOG_ERROR, arm_instruction::opcode, arm_instruction::text, and arm_instruction::type.
Referenced by arm_simulate_step_core(), etm_read_instruction(), and xscale_read_instruction().