Implémentation
Par Aldon
—
Dernière modification
02/09/2008 15:42
Pour la conception de la HP-35, le choix des ingénieurs de Hewlett-Packard s'est porté sur le RPN car l'implémentation de ce système ne nécessite qu'une quantité restreinte de mémoire, ce qui à l'époque était crucial. En effet, seuls quatre registres nommés x, y, z et t sont utilisés. L'ensemble forme ce qu'en informatique on nomme pile LIFO, c'est-à -dire « dernier entré, premier sortant ».
Le registre x est affecté à l'affichage et à la saisie. Chaque saisie numérique entraîne au préalable une montée de la pile (z → t, y → z et x → y), à moins que le registre x n'ait été réinitialisé. La touche [ENTER↑] sert à séparer les entrées numériques. Elle provoque elle aussi une montée de la pile et a donc pour effet de dupliquer le registre x dans y.
Voici, par exemple, l'effet sur une pile déjà remplie de la séquence [1] [2] [ENTER↑]. Le registre x, seul à être affiché, apparaît en rouge.
Un opérateur unaire s'applique directement au registre x. Un opérateur binaire s'applique aux registres x et y, le résultat étant stocké dans le registre x. Le calcul s'accompagne d'une descente de la pile (z → y et t → z), ce qui a pour effet de dupliquer le registre t dans le registre z.
Voici, l'effet sur la pile précédente de la séquence [5] [+].
Le registre x contient alors le résultat du calcul noté 12 5 + en RPN, c'est-à -dire 12 + 5 en écriture algébrique. En pratique, la taille de la pile se révele suffisante pour traiter la plupart des expressions, même complexes.
La HP-35 présente un ensemble de fonctions supplémentaires permettant de gérer la pile. La touche [CLx] réinitialise le registre x. La touche [x ‹ › y] échange les registres x et y. Enfin la touche [R↓] réalise une rotation de la pile vers le bas.
Voici, par exemple, l'effet sur la pile précédente de la séquence [x ‹ › y] [R↓].