--- rpl/src/instructions_h1.c 2012/08/22 10:47:16 1.39 +++ rpl/src/instructions_h1.c 2015/09/18 13:41:14 1.58 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.10 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.23 + Copyright (C) 1989-2015 Dr. BERTRAND Joël This file is part of RPL/2. @@ -325,8 +325,8 @@ instruction_hms_plus(struct_processus *s return; } - (*((real8 *) (*s_objet_resultat).objet)) = (*((integer8 *) - (*s_objet_argument_2).objet)) + (*((real8 *) + (*((real8 *) (*s_objet_resultat).objet)) = ((real8) (*((integer8 *) + (*s_objet_argument_2).objet))) + (*((real8 *) (*s_objet_argument_1).objet)); conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet); @@ -344,8 +344,8 @@ instruction_hms_plus(struct_processus *s } (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *) - (*s_objet_argument_2).objet)) + (*((integer8 *) - (*s_objet_argument_1).objet)); + (*s_objet_argument_2).objet)) + ((real8) (*((integer8 *) + (*s_objet_argument_1).objet))); conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet); } @@ -480,11 +480,8 @@ instruction_hms_moins(struct_processus * if (((*s_objet_argument_1).type == INT) && ((*s_objet_argument_2).type == INT)) { - (*((integer8 *) (*s_objet_argument_1).objet)) = - -(*((integer8 *) (*s_objet_argument_1).objet)); - - if (depassement_addition((integer8 *) (*s_objet_argument_1).objet, - (integer8 *) (*s_objet_argument_2).objet, &tampon) == + if (depassement_soustraction((integer8 *) (*s_objet_argument_2).objet, + (integer8 *) (*s_objet_argument_1).objet, &tampon) == d_absence_erreur) { if ((s_objet_resultat = allocation(s_etat_processus, INT)) @@ -506,8 +503,8 @@ instruction_hms_moins(struct_processus * } (*((real8 *) (*s_objet_resultat).objet)) = ((real8) - (*((integer8 *) (*s_objet_argument_1).objet))) + ((real8) - (*((integer8 *) (*s_objet_argument_2).objet))); + (*((integer8 *) (*s_objet_argument_2).objet))) - ((real8) + (*((integer8 *) (*s_objet_argument_1).objet))); } } @@ -529,8 +526,8 @@ instruction_hms_moins(struct_processus * return; } - (*((real8 *) (*s_objet_resultat).objet)) = (*((integer8 *) - (*s_objet_argument_2).objet)) - (*((real8 *) + (*((real8 *) (*s_objet_resultat).objet)) = ((real8) (*((integer8 *) + (*s_objet_argument_2).objet))) - (*((real8 *) (*s_objet_argument_1).objet)); conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet); @@ -548,8 +545,8 @@ instruction_hms_moins(struct_processus * } (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *) - (*s_objet_argument_2).objet)) - (*((integer8 *) - (*s_objet_argument_1).objet)); + (*s_objet_argument_2).objet)) - ((real8) (*((integer8 *) + (*s_objet_argument_1).objet))); conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet); }