summaryrefslogtreecommitdiff
path: root/Debugger/debug_internals.h
diff options
context:
space:
mode:
authorTat-Chee Wan (USM)2011-07-04 16:20:17 +0800
committerTat-Chee Wan (USM)2011-07-04 16:20:17 +0800
commitf83c5c09674b2d2dbdfe7cdd9cd2d776df229b43 (patch)
tree023e584da6eb572b9c19bfff528e93e3f8739aa9 /Debugger/debug_internals.h
parent9985ae796b3f4806fe7087b685b5067e6c7469cd (diff)
thumb instruction parser cleanups
Cleanup Thumb Instruction Parser.
Diffstat (limited to 'Debugger/debug_internals.h')
-rw-r--r--Debugger/debug_internals.h40
1 files changed, 33 insertions, 7 deletions
diff --git a/Debugger/debug_internals.h b/Debugger/debug_internals.h
index d82563e..adb5497 100644
--- a/Debugger/debug_internals.h
+++ b/Debugger/debug_internals.h
@@ -234,13 +234,39 @@
/*
* ARM Opcode Masks (for Parser)
*/
-#define ARM_DATA_INSTR_MASK 0x0FBF0000
-#define ARM_DATA_INSTR_MSRMRS 0x010F0000
-#define ARM_DATA_INSTR_NORMAL 0x01E00000
-#define ARM_B_L_X_INSTR_OPCODE_MASK 0xFE000000
-#define ARM_BLX_INSTR_OPCODE_VAL 0xFA000000
-#define ARM_SWI_INSTR_MASK 0x0F000000
-#define ARM_SWI_INSTR_VAL 0x0F000000
+#define ARM_DATA_INSTR_MASK 0x0FBF0000
+#define ARM_DATA_INSTR_MSRMRS 0x010F0000
+#define ARM_DATA_INSTR_NORMAL 0x01E00000
+#define ARM_DATA_INSTR_IMMREG 0x02000000
+
+#define ARM_LDR_INSTR_REGIMM 0x02000000
+#define ARM_LDR_INSTR_PREPOST 0x01000000
+#define ARM_LDR_INSTR_UPDOWN 0x00800000
+
+#define ARM_LDM_INSTR_PREPOST 0x01000000
+#define ARM_LDM_INSTR_UPDOWN 0x00800000
+
+#define ARM_BLX_INSTR_MASK 0xFE000000
+#define ARM_BLX_INSTR_BLX 0xFA000000
+#define ARM_BLX_INSTR_HBIT 0x01000000
+
+#define ARM_SWI_INSTR_MASK 0x0F000000
+#define ARM_SWI_INSTR_VAL 0x0F000000
+
+
+/*
+ * Thumb Opcode Masks (for Parser)
+ */
+#define THUMB_BLX_INSTR_REG_RNMASK 0x0078
+
+#define THUMB_BCOND_SWI_INSTR_CONDMASK 0x0F00
+#define THUMB_BCOND_SWI_COND_UNUSED 0x0E00
+#define THUMB_BCOND_SWI_INSTR_SWI 0x0F00
+
+#define THUMB_BLX_INSTR_IMM_HBIT 0x0800
+#define THUMB_BLX_INSTR_IMM_MASK 0xF000
+#define THUMB_BLX_INSTR_IMM_BL 0xF000
+#define THUMB_BLX_INSTR_IMM_BLX 0xE000
/*@}*/