summaryrefslogtreecommitdiff
path: root/src/arch/arm/v7/pseudo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/v7/pseudo.h')
-rw-r--r--src/arch/arm/v7/pseudo.h41
1 files changed, 27 insertions, 14 deletions
diff --git a/src/arch/arm/v7/pseudo.h b/src/arch/arm/v7/pseudo.h
index 5645234..bf8fe2a 100644
--- a/src/arch/arm/v7/pseudo.h
+++ b/src/arch/arm/v7/pseudo.h
@@ -36,34 +36,34 @@
/* Traduit la fonction 'LSL_C'. */
-uint32_t armv7_lsl_c(uint32_t, unsigned int, unsigned int, bool *);
+bool armv7_lsl_c(uint32_t, unsigned int, unsigned int, bool *, uint32_t *);
/* Traduit la fonction 'LSL'. */
-uint32_t armv7_lsl(uint32_t, unsigned int, unsigned int);
+bool armv7_lsl(uint32_t, unsigned int, unsigned int, uint32_t *);
/* Traduit la fonction 'LSR_C'. */
-uint32_t armv7_lsr_c(uint32_t, unsigned int, unsigned int, bool *);
+bool armv7_lsr_c(uint32_t, unsigned int, unsigned int, bool *, uint32_t *);
/* Traduit la fonction 'LSR'. */
-uint32_t armv7_lsr(uint32_t, unsigned int, unsigned int);
+bool armv7_lsr(uint32_t, unsigned int, unsigned int, uint32_t *);
/* Traduit la fonction 'ASR_C'. */
-uint32_t armv7_asr_c(uint32_t, unsigned int, unsigned int, bool *);
+bool armv7_asr_c(uint32_t, unsigned int, unsigned int, bool *, uint32_t *);
/* Traduit la fonction 'ASR'. */
-uint32_t armv7_asr(uint32_t, unsigned int, unsigned int);
+bool armv7_asr(uint32_t, unsigned int, unsigned int, uint32_t *);
/* Traduit la fonction 'ROR_C'. */
-uint32_t armv7_ror_c(uint32_t, unsigned int, unsigned int, bool *);
+bool armv7_ror_c(uint32_t, unsigned int, unsigned int, bool *, uint32_t *);
/* Traduit la fonction 'ROR'. */
-uint32_t armv7_ror(uint32_t, unsigned int, unsigned int);
+bool armv7_ror(uint32_t, unsigned int, unsigned int, uint32_t *);
/* Traduit la fonction 'RRX_C'. */
-uint32_t armv7_rrx_c(uint32_t, unsigned int, bool *);
+bool armv7_rrx_c(uint32_t, unsigned int, bool *, uint32_t *);
/* Traduit la fonction 'RRX'. */
-uint32_t armv7_rrx(uint32_t, unsigned int, bool);
+bool armv7_rrx(uint32_t, unsigned int, bool, uint32_t *);
@@ -73,10 +73,23 @@ uint32_t armv7_rrx(uint32_t, unsigned int, bool);
/* Traduit la fonction 'ARMExpandImm_C'. */
-uint32_t armv7_arm_expand_imm_c(uint32_t, bool *);
+bool armv7_arm_expand_imm_c(uint32_t, bool *, uint32_t *);
/* Traduit la fonction 'ARMExpandImm'. */
-uint32_t armv7_arm_expand_imm(uint32_t);
+bool armv7_arm_expand_imm(uint32_t, uint32_t *);
+
+
+
+/**
+ * ยง A6.3.2 - Modified immediate constants in Thumb instructions
+ */
+
+
+/* Traduit la fonction 'ThumbExpandImm_C'. */
+bool armv7_thumb_expand_imm_c(uint32_t, bool *, uint32_t *);
+
+/* Traduit la fonction 'ThumbExpandImm'. */
+bool armv7_thumb_expand_imm(uint32_t, uint32_t *);
@@ -103,10 +116,10 @@ bool armv7_decode_imm_shift(uint8_t, uint8_t, SRType *, uint32_t *);
bool armv7_decode_reg_shift(uint8_t, SRType *);
/* Traduit la fonction 'Shift_C'. */
-uint32_t armv7_shift_c(uint32_t, unsigned int, SRType, unsigned int, bool *);
+bool armv7_shift_c(uint32_t, unsigned int, SRType, unsigned int, bool *, uint32_t *);
/* Traduit la fonction 'Shift'. */
-uint32_t armv7_shift(uint32_t, unsigned int, SRType, unsigned int, bool);
+bool armv7_shift(uint32_t, unsigned int, SRType, unsigned int, bool, uint32_t *);