Diff for /rpl/src/instructions_h1.c between versions 1.21 and 1.73

version 1.21, 2011/04/21 16:00:57 version 1.73, 2020/05/22 22:26:05
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.0.prerelease.0    RPL/2 (R) version 4.1.32
   Copyright (C) 1989-2011 Dr. BERTRAND Joël    Copyright (C) 1989-2020 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 325  instruction_hms_plus(struct_processus *s Line 325  instruction_hms_plus(struct_processus *s
             return;              return;
         }          }
   
         (*((real8 *) (*s_objet_resultat).objet)) = (*((integer8 *)          (*((real8 *) (*s_objet_resultat).objet)) = ((real8) (*((integer8 *)
                 (*s_objet_argument_2).objet)) + (*((real8 *)                  (*s_objet_argument_2).objet))) + (*((real8 *)
                 (*s_objet_argument_1).objet));                  (*s_objet_argument_1).objet));
   
         conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);          conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);
Line 344  instruction_hms_plus(struct_processus *s Line 344  instruction_hms_plus(struct_processus *s
         }          }
   
         (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *)          (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *)
                 (*s_objet_argument_2).objet)) + (*((integer8 *)                  (*s_objet_argument_2).objet)) + ((real8) (*((integer8 *)
                 (*s_objet_argument_1).objet));                  (*s_objet_argument_1).objet)));
   
         conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);          conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);
     }      }
Line 480  instruction_hms_moins(struct_processus * Line 480  instruction_hms_moins(struct_processus *
     if (((*s_objet_argument_1).type == INT) &&      if (((*s_objet_argument_1).type == INT) &&
             ((*s_objet_argument_2).type == INT))              ((*s_objet_argument_2).type == INT))
     {      {
         (*((integer8 *) (*s_objet_argument_1).objet)) =          if (depassement_soustraction((integer8 *) (*s_objet_argument_2).objet,
                 -(*((integer8 *) (*s_objet_argument_1).objet));                  (integer8 *) (*s_objet_argument_1).objet, &tampon) ==
   
         if (depassement_addition((integer8 *) (*s_objet_argument_1).objet,  
                 (integer8 *) (*s_objet_argument_2).objet, &tampon) ==  
                 d_absence_erreur)                  d_absence_erreur)
         {          {
             if ((s_objet_resultat = allocation(s_etat_processus, INT))              if ((s_objet_resultat = allocation(s_etat_processus, INT))
Line 506  instruction_hms_moins(struct_processus * Line 503  instruction_hms_moins(struct_processus *
             }              }
   
             (*((real8 *) (*s_objet_resultat).objet)) = ((real8)              (*((real8 *) (*s_objet_resultat).objet)) = ((real8)
                     (*((integer8 *) (*s_objet_argument_1).objet))) + ((real8)                      (*((integer8 *) (*s_objet_argument_2).objet))) - ((real8)
                     (*((integer8 *) (*s_objet_argument_2).objet)));                      (*((integer8 *) (*s_objet_argument_1).objet)));
         }          }
     }      }
   
Line 529  instruction_hms_moins(struct_processus * Line 526  instruction_hms_moins(struct_processus *
             return;              return;
         }          }
   
         (*((real8 *) (*s_objet_resultat).objet)) = (*((integer8 *)          (*((real8 *) (*s_objet_resultat).objet)) = ((real8) (*((integer8 *)
                 (*s_objet_argument_2).objet)) - (*((real8 *)                  (*s_objet_argument_2).objet))) - (*((real8 *)
                 (*s_objet_argument_1).objet));                  (*s_objet_argument_1).objet));
   
         conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);          conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);
Line 548  instruction_hms_moins(struct_processus * Line 545  instruction_hms_moins(struct_processus *
         }          }
   
         (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *)          (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *)
                 (*s_objet_argument_2).objet)) - (*((integer8 *)                  (*s_objet_argument_2).objet)) - ((real8) (*((integer8 *)
                 (*s_objet_argument_1).objet));                  (*s_objet_argument_1).objet)));
   
         conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);          conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);
     }      }
Line 797  instruction_help(struct_processus *s_eta Line 794  instruction_help(struct_processus *s_eta
         printf("  [ ]     : vecteur ;\n");          printf("  [ ]     : vecteur ;\n");
         printf("  [[ ]]   : matrice ;\n");          printf("  [[ ]]   : matrice ;\n");
         printf("  <[ ]>   : table ;\n");          printf("  <[ ]>   : table ;\n");
           printf("  |[ ]|   : enregistrement ;\n");
         printf("  \" \"     : chaîne de caractères ;\n");          printf("  \" \"     : chaîne de caractères ;\n");
         printf("  { }     : liste ;\n");          printf("  { }     : liste ;\n");
         printf("  /* */   : commentaire ;\n");          printf("  /* */   : commentaire ;\n");
Line 818  instruction_help(struct_processus *s_eta Line 816  instruction_help(struct_processus *s_eta
         printf("  [ ]     : scalar vector ;\n");          printf("  [ ]     : scalar vector ;\n");
         printf("  [[ ]]   : scalar matrix ;\n");          printf("  [[ ]]   : scalar matrix ;\n");
         printf("  <[ ]>   : table ;\n");          printf("  <[ ]>   : table ;\n");
           printf("  |[ ]|   : record ;\n");
         printf("  \" \"     : character string ;\n");          printf("  \" \"     : character string ;\n");
         printf("  { }     : list ;\n");          printf("  { }     : list ;\n");
         printf("  /* */   : comment ;\n");          printf("  /* */   : comment ;\n");
Line 885  instruction_help(struct_processus *s_eta Line 884  instruction_help(struct_processus *s_eta
     if ((*s_etat_processus).langue == 'F')      if ((*s_etat_processus).langue == 'F')
     {      {
         printf("Processus asynchrones :\n");          printf("Processus asynchrones :\n");
         printf("  CTRL+C : interruption de l'instruction en cours ;\n");          printf("  CTRL+c : interruption de l'instruction en cours ;\n");
         printf("  CTRL+D : en mode interactif, provque un ABORT ;\n");          printf("  CTRL+d : en mode interactif, provoque un ABORT\n");
         printf("  CTRL+Z : en cours d'exécution, provoque un HALT "          printf("  CTRL+g : en mode interactif, provoque l'annulation de la "
                   "commande en cours ;\n");
           printf("  CTRL+z : en cours d'exécution, provoque un HALT "
                 "asynchrone.\n\n");                  "asynchrone.\n\n");
   
         printf("Drapeaux (valeurs par défaut) :\n");          printf("Drapeaux (valeurs par défaut) :\n");
Line 904  instruction_help(struct_processus *s_eta Line 905  instruction_help(struct_processus *s_eta
                 "en tête (armés)\n");                  "en tête (armés)\n");
         printf("  43 à 44 : base de numérotation binaire (désarmés)\n");          printf("  43 à 44 : base de numérotation binaire (désarmés)\n");
         printf("  45      : affichage multiligne (armé)\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("  48      : virgule comme séparateur décimal (désarmé)\n");
         printf("  49 à 50 : format des nombres (désarmés)\n");          printf("  49 à 50 : format des nombres (désarmés)\n");
         printf("  51      : tonalité désactivée (désarmé)\n");          printf("  51      : tonalité désactivée (désarmé)\n");
Line 920  instruction_help(struct_processus *s_eta Line 923  instruction_help(struct_processus *s_eta
     else      else
     {      {
         printf("Hot keys :\n");          printf("Hot keys :\n");
         printf("  CTRL+C : interruption ;\n");          printf("  CTRL+c : interruption ;\n");
         printf("  CTRL+D : ABORT (in interactive mode only) ;\n");          printf("  CTRL+d : in interactive mode only sends ABORT on empty "
         printf("  CTRL+Z : HALT.\n\n");                  "command line ;\n");
           printf("  CTRL+g : in interactive mode only, nullifies current "
                   "command line ;\n");
           printf("  CTRL+z : HALT.\n\n");
   
         printf("Flags (default values) :\n");          printf("Flags (default values) :\n");
         printf("  1 to 30  : user flags (cleared)\n");          printf("  1 to 30  : user flags (cleared)\n");
Line 939  instruction_help(struct_processus *s_eta Line 945  instruction_help(struct_processus *s_eta
         printf("             (set)\n");          printf("             (set)\n");
         printf("  43 to 44 : binary integer basis (cleared)\n");          printf("  43 to 44 : binary integer basis (cleared)\n");
         printf("  45       : multiline conversion (set)\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("  48       : comma as decimal separator (cleared)\n");
         printf("  49 to 50 : numbers format (cleared)\n");          printf("  49 to 50 : numbers format (cleared)\n");
         printf("  51       : visual bell disabled (cleared)\n");          printf("  51       : visual bell disabled (cleared)\n");
Line 980  instruction_help(struct_processus *s_eta Line 987  instruction_help(struct_processus *s_eta
         printf("    %s        : connexion à une base de données SQL\n", d_SQL);          printf("    %s        : connexion à une base de données SQL\n", d_SQL);
         printf("    %s             : mutex\n", d_MTX);          printf("    %s             : mutex\n", d_MTX);
         printf("    %s  : sémaphore nommé\n", d_SPH);          printf("    %s  : sémaphore nommé\n", d_SPH);
           printf("    %s         : enregistrement\n", d_REC);
     }      }
     else      else
     {      {
Line 1007  instruction_help(struct_processus *s_eta Line 1015  instruction_help(struct_processus *s_eta
         printf("    %s        : connection to SQL database\n", d_SQL);          printf("    %s        : connection to SQL database\n", d_SQL);
         printf("    %s             : mutex\n", d_MTX);          printf("    %s             : mutex\n", d_MTX);
         printf("    %s  : named semaphore\n", d_SPH);          printf("    %s  : named semaphore\n", d_SPH);
           printf("    %s         : record\n", d_REC);
     }      }
   
     /*      /*

Removed from v.1.21  
changed lines
  Added in v.1.73


CVSweb interface <joel.bertrand@systella.fr>