aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/arm/dyncom/arm_dyncom_thumb.h
diff options
context:
space:
mode:
authorGravatar Lioncash <mathew1800@gmail.com>2015-07-27 23:45:24 -0400
committerGravatar Lioncash <mathew1800@gmail.com>2015-07-28 02:27:57 -0400
commit89540ea7618fbaca1c9cd332b24aff7f2865d324 (patch)
treed5e25da76e20be36e3016beb363b2c25071d9c36 /src/core/arm/dyncom/arm_dyncom_thumb.h
parent7e4fb4db193433c77ffd707b62d11e58e46c684e (diff)
dyncom: Use enum class for instruction decoding results
Diffstat (limited to 'src/core/arm/dyncom/arm_dyncom_thumb.h')
-rw-r--r--src/core/arm/dyncom/arm_dyncom_thumb.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom_thumb.h b/src/core/arm/dyncom/arm_dyncom_thumb.h
index 74e69e13..44797436 100644
--- a/src/core/arm/dyncom/arm_dyncom_thumb.h
+++ b/src/core/arm/dyncom/arm_dyncom_thumb.h
@@ -28,14 +28,15 @@
#include "common/common_types.h"
-enum tdstate {
- t_undefined, // Undefined Thumb instruction
- t_decoded, // Instruction decoded to ARM equivalent
- t_branch, // Thumb branch (already processed)
- t_uninitialized,
+enum class ThumbDecodeStatus {
+ UNDEFINED, // Undefined Thumb instruction
+ DECODED, // Instruction decoded to ARM equivalent
+ BRANCH, // Thumb branch (already processed)
+ UNINITIALIZED,
};
-tdstate thumb_translate(u32 addr, u32 instr, u32* ainstr, u32* inst_size);
+// Translates a Thumb mode instruction into its ARM equivalent.
+ThumbDecodeStatus TranslateThumbInstruction(u32 addr, u32 instr, u32* ainstr, u32* inst_size);
static inline u32 GetThumbInstruction(u32 instr, u32 address) {
// Normally you would need to handle instruction endianness,