diff options
Diffstat (limited to 'lib/registre.c')
-rw-r--r-- | lib/registre.c | 15 |
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")); } } |