--- rpl/src/instructions_h1.c 2013/02/26 19:56:14 1.43 +++ rpl/src/instructions_h1.c 2021/03/13 12:50:44 1.74 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.12 - Copyright (C) 1989-2013 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.33 + Copyright (C) 1989-2021 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); } @@ -797,6 +794,7 @@ instruction_help(struct_processus *s_eta printf(" [ ] : vecteur ;\n"); printf(" [[ ]] : matrice ;\n"); printf(" <[ ]> : table ;\n"); + printf(" |[ ]| : enregistrement ;\n"); printf(" \" \" : chaîne de caractères ;\n"); printf(" { } : liste ;\n"); printf(" /* */ : commentaire ;\n"); @@ -818,6 +816,7 @@ instruction_help(struct_processus *s_eta printf(" [ ] : scalar vector ;\n"); printf(" [[ ]] : scalar matrix ;\n"); printf(" <[ ]> : table ;\n"); + printf(" |[ ]| : record ;\n"); printf(" \" \" : character string ;\n"); printf(" { } : list ;\n"); printf(" /* */ : comment ;\n"); @@ -906,7 +905,9 @@ instruction_help(struct_processus *s_eta "en tête (armés)\n"); printf(" 43 à 44 : base de numérotation binaire (désarmés)\n"); printf(" 45 : affichage multiligne (armé)\n"); - printf(" 46 à 47 : réservés (désarmés)\n"); + printf(" 46 : simplification automatique des expression " + "(désarmé)\n"); + printf(" 47 : réservé (désarmé)\n"); printf(" 48 : virgule comme séparateur décimal (désarmé)\n"); printf(" 49 à 50 : format des nombres (désarmés)\n"); printf(" 51 : tonalité désactivée (désarmé)\n"); @@ -944,7 +945,8 @@ instruction_help(struct_processus *s_eta printf(" (set)\n"); printf(" 43 to 44 : binary integer basis (cleared)\n"); printf(" 45 : multiline conversion (set)\n"); - printf(" 46 to 47 : reserved (cleared)\n"); + printf(" 46 : expression simplification (cleared)\n"); + printf(" 47 : reserved (cleared)\n"); printf(" 48 : comma as decimal separator (cleared)\n"); printf(" 49 to 50 : numbers format (cleared)\n"); printf(" 51 : visual bell disabled (cleared)\n"); @@ -985,6 +987,7 @@ instruction_help(struct_processus *s_eta printf(" %s : connexion à une base de données SQL\n", d_SQL); printf(" %s : mutex\n", d_MTX); printf(" %s : sémaphore nommé\n", d_SPH); + printf(" %s : enregistrement\n", d_REC); } else { @@ -1012,6 +1015,7 @@ instruction_help(struct_processus *s_eta printf(" %s : connection to SQL database\n", d_SQL); printf(" %s : mutex\n", d_MTX); printf(" %s : named semaphore\n", d_SPH); + printf(" %s : record\n", d_REC); } /*