OpenOCD
arm_disassembler.h File Reference
This graph shows which files directly or indirectly include this file:

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)
 

Macro Definition Documentation

◆ COND

#define COND (   opcode)    (arm_condition_strings[(opcode & 0xf0000000) >> 28])

Definition at line 195 of file arm_disassembler.h.

Enumeration Type Documentation

◆ arm_instruction_type

Enumerator
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 

Definition at line 11 of file arm_disassembler.h.

Function Documentation

◆ arm_access_size()

int arm_access_size ( struct arm_instruction instruction)

◆ arm_evaluate_opcode()

◆ thumb_evaluate_opcode()