summaryrefslogtreecommitdiff
path: root/lib/registre.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/registre.c')
-rw-r--r--lib/registre.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/registre.c b/lib/registre.c
index ccd284c..e77e9c1 100644
--- a/lib/registre.c
+++ b/lib/registre.c
@@ -1,6 +1,13 @@
#include "registre.h"
#include "interne.h"
#include "simulator.h"
+#include "exceptions.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#else
+#define _(x) x
+#endif
+
/*****************************************/
/** **/
@@ -66,7 +73,7 @@ Uint32 LireRegistre(Uint32 champ_registre)
if (ValeurBit(champ_registre, 5) == 0) { /* Test du bit S */
Reset(&i);
if (champ_registre < 0 || champ_registre >= NB_REGISTRES_UTILISABLES) { /* Si on voudrait diminuer le nombre de registres */
- Set(&Err_Reg); /* Il n'y a que 32 registres */
+ exception(1,_("Invalid Register Descriptor")); /* Il n'y a que 32 registres */
return (i);
}
i = registre[champ_registre]; /* Registre classique */
@@ -82,7 +89,7 @@ Uint32 LireRegistre(Uint32 champ_registre)
case 3:
return (LireRegistreFLAG());
default:{
- Set(&Err_Reg);
+ exception(1,_("Invalid Register Descriptor"));
return (0);
}
}
@@ -96,7 +103,7 @@ void EcrireRegistre(Uint32 champ_registre, Uint32 valeur)
if (ValeurBit(champ_registre, 5) == 0) { /* Test du bit S */
Reset(&i);
if (champ_registre < 0 || champ_registre >= NB_REGISTRES_UTILISABLES)
- Set(&Err_Reg); /* Il n'y a que 32 registres */
+ exception(1,_("Invalid Register Descriptor")); /* Il n'y a que 32 registres */
else
registre[champ_registre] = valeur; /* Registre classique */
} else /* Registre spécial */
@@ -110,7 +117,7 @@ void EcrireRegistre(Uint32 champ_registre, Uint32 valeur)
case 3:
EcrireRegistreFLAG(valeur);
default:
- Set(&Err_Reg);
+ exception(1,_("Invalid Register Descriptor"));
}
}