summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/simulator.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/simulator.c b/lib/simulator.c
index ea3b142..f2749e0 100644
--- a/lib/simulator.c
+++ b/lib/simulator.c
@@ -181,11 +181,13 @@ void DecodeExec(Uint32 instruction)
break;
}
}
- if ((Opcode(instruction) & 2)
- && !(Opcode(instruction & 3))) {
- EcrireRegistreRG(resultat);
- EcrireRegistreRD(SecondResult);
- } else {
+ switch (Opcode(instruction)) {
+ case 2:
+ case 3:
+ EcrireRegistreRD(resultat);
+ EcrireRegistreRG(SecondResult);
+ break;
+ default:
EcrireRegistre(champ_registre_resultat, resultat); /* On écrit le résultat dans le registre de sortie */
}
break;