summaryrefslogtreecommitdiff
path: root/src/arch/arm/v7/thumb_16.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-04-21 20:14:04 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-04-21 20:14:04 (GMT)
commitd062f5ffbac1250938206f4d2e15c44d8a9357f6 (patch)
treeb7bf90248866925515b3c2029eb7e9bbc12e6e05 /src/arch/arm/v7/thumb_16.c
parentc517a9defa6fae19007a398e0594074d08d18fd0 (diff)
Got prepared for more ARMv7 opcodes.
Diffstat (limited to 'src/arch/arm/v7/thumb_16.c')
-rw-r--r--src/arch/arm/v7/thumb_16.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/arch/arm/v7/thumb_16.c b/src/arch/arm/v7/thumb_16.c
index c722f30..4697b3e 100644
--- a/src/arch/arm/v7/thumb_16.c
+++ b/src/arch/arm/v7/thumb_16.c
@@ -33,25 +33,25 @@
-/* Désassemble une instruction ARMv7 en mode Thumb 16 bits. */
+/* Désassemble une instruction ARMv7 liées au chapitre A6.2.1 */
static GArchInstruction *process_armv7_thumb_16_shift_immediate_add_subtract_move_and_compare(uint16_t);
-/* Désassemble une instruction ARMv7 en mode Thumb 16 bits. */
+/* Désassemble une instruction ARMv7 liées au chapitre A6.2.2. */
static GArchInstruction *process_armv7_thumb_16_data_processing(uint16_t);
-/* Désassemble une instruction ARMv7 en mode Thumb 16 bits. */
+/* Désassemble une instruction ARMv7 liées au chapitre A6.2.3. */
static GArchInstruction *process_armv7_thumb_16_special_data_instructions_and_branch_and_exchange(uint16_t);
-/* Désassemble une instruction ARMv7 en mode Thumb 16 bits. */
+/* Désassemble une instruction ARMv7 liées au chapitre A6.2.4. */
static GArchInstruction *process_armv7_thumb_16_load_store_single_data_item(uint16_t);
-/* Désassemble une instruction ARMv7 en mode Thumb 16 bits. */
+/* Désassemble une instruction ARMv7 liées au chapitre A6.2.5. */
static GArchInstruction *process_armv7_thumb_16_miscellaneous_16_bit_instructions(uint16_t);
-/* Désassemble une instruction ARMv7 en mode Thumb 16 bits. */
+/* Désassemble une instruction ARMv7 liées au chapitre A6.2.5.b. */
static GArchInstruction *process_armv7_thumb_16_miscellaneous_16_bit_instructions_if_then_and_hints(uint16_t);
-/* Désassemble une instruction ARMv7 en mode Thumb 16 bits. */
+/* Désassemble une instruction ARMv7 liées au chapitre A6.2.6. */
static GArchInstruction *process_armv7_thumb_16_conditional_branch_and_supervisor_call(uint16_t);
@@ -60,7 +60,7 @@ static GArchInstruction *process_armv7_thumb_16_conditional_branch_and_superviso
* *
* Paramètres : raw = donnée brute de 16 bits à désassembler. *
* *
-* Description : Désassemble une instruction ARMv7 en mode Thumb 16 bits. *
+* Description : Désassemble une instruction ARMv7 liées au chapitre A6.2. *
* *
* Retour : Instruction mise en place ou NULL en cas d'échec. *
* *
@@ -133,7 +133,7 @@ GArchInstruction *process_armv7_thumb_16_instruction_set_encoding(uint16_t raw)
* *
* Paramètres : raw = donnée brute de 16 bits à désassembler. *
* *
-* Description : Désassemble une instruction ARMv7 en mode Thumb 16 bits. *
+* Description : Désassemble une instruction ARMv7 liées au chapitre A6.2.1. *
* *
* Retour : Instruction mise en place ou NULL en cas d'échec. *
* *
@@ -199,7 +199,7 @@ static GArchInstruction *process_armv7_thumb_16_shift_immediate_add_subtract_mov
* *
* Paramètres : raw = donnée brute de 16 bits à désassembler. *
* *
-* Description : Désassemble une instruction ARMv7 en mode Thumb 16 bits. *
+* Description : Désassemble une instruction ARMv7 liées au chapitre A6.2.2. *
* *
* Retour : Instruction mise en place ou NULL en cas d'échec. *
* *
@@ -300,7 +300,7 @@ static GArchInstruction *process_armv7_thumb_16_data_processing(uint16_t raw)
* *
* Paramètres : raw = donnée brute de 16 bits à désassembler. *
* *
-* Description : Désassemble une instruction ARMv7 en mode Thumb 16 bits. *
+* Description : Désassemble une instruction ARMv7 liées au chapitre A6.2.3. *
* *
* Retour : Instruction mise en place ou NULL en cas d'échec. *
* *
@@ -360,7 +360,7 @@ static GArchInstruction *process_armv7_thumb_16_special_data_instructions_and_br
* *
* Paramètres : raw = donnée brute de 16 bits à désassembler. *
* *
-* Description : Désassemble une instruction ARMv7 en mode Thumb 16 bits. *
+* Description : Désassemble une instruction ARMv7 liées au chapitre A6.2.4. *
* *
* Retour : Instruction mise en place ou NULL en cas d'échec. *
* *
@@ -471,7 +471,7 @@ static GArchInstruction *process_armv7_thumb_16_load_store_single_data_item(uint
* *
* Paramètres : raw = donnée brute de 16 bits à désassembler. *
* *
-* Description : Désassemble une instruction ARMv7 en mode Thumb 16 bits. *
+* Description : Désassemble une instruction ARMv7 liées au chapitre A6.2.5. *
* *
* Retour : Instruction mise en place ou NULL en cas d'échec. *
* *
@@ -561,7 +561,7 @@ static GArchInstruction *process_armv7_thumb_16_miscellaneous_16_bit_instruction
* *
* Paramètres : raw = donnée brute de 16 bits à désassembler. *
* *
-* Description : Désassemble une instruction ARMv7 en mode Thumb 16 bits. *
+* Description : Désassemble une instruction ARMv7 liées au chapitre A6.2.5.b.*
* *
* Retour : Instruction mise en place ou NULL en cas d'échec. *
* *
@@ -588,7 +588,10 @@ static GArchInstruction *process_armv7_thumb_16_miscellaneous_16_bit_instruction
opa = (raw >> 4) & b1111;
opb = (raw >> 0) & b1111;
- if (opb == b0000)
+ if (opb != b0000)
+ result = armv7_read_thumb_16_instr_it(raw);
+
+ else
switch (opa)
{
case b0000:
@@ -613,9 +616,6 @@ static GArchInstruction *process_armv7_thumb_16_miscellaneous_16_bit_instruction
}
- else
- result = armv7_read_thumb_16_instr_it(raw);
-
return result;
}
@@ -625,7 +625,7 @@ static GArchInstruction *process_armv7_thumb_16_miscellaneous_16_bit_instruction
* *
* Paramètres : raw = donnée brute de 16 bits à désassembler. *
* *
-* Description : Désassemble une instruction ARMv7 en mode Thumb 16 bits. *
+* Description : Désassemble une instruction ARMv7 liées au chapitre A6.2.6. *
* *
* Retour : Instruction mise en place ou NULL en cas d'échec. *
* *