Calculatrices


Assembleur SATURN : Registres



Structure de la machine (la HP48 evidemment)

    La programmation est un art,au même titre que la peinture ou le bricolage,et qui comme lui se décompose en 2 phases.La création immatérielle de l'"oeuvre",c'est à dire sa conception ou réalisation immatérielle,puis sa réalisation matérielle.Pour réaliser cette oeuvre,il faut se servir sur quels établis,apprendre à choisir l'établi adapté à la pièce à réaliser,etc...
    En assembleur HP48,l'atelier (au sens pièce du terme) s'appelle le SATURN c'est le processeur.Les établis sont les registres,et les outils sont les instructions

Structure du Saturn

Les registres 64 bits

    Voyons donc le détail d'un des types d'établis à notre disposition,les registres 64 bits.
    Le SATURN dispose de 9 registres 64 bits c'est à dire encore 9 registres de 16 quartets. Ces registres sont,de plus,divisés en 9 champs.C'est à dire que chaque registre est divisé en 9 zones de tailles distinctes se recouvrant plus ou moins
    Voici le petit schéma qui vaut mieux que ce long discours
Dans l'exemple,on a P=9

F E D C B A 9 8 7 6 5 4 3 2 1 0
P
WP WP WP WP WP WP WP WP WP WP
W W W W W W W W W W W W W W W W
M M M M M M M M M M M M M
X X X X
A A A A A
XS
B B

    Le registre est représenté en première ligne,sous la forme de ses 16 quartets numérotés de 0 à 15 en hexadécimal

    Ensuite vient le champ P .Sa position est variable.Il couvre le quartet de valeur P.Ce qui explique son appelation (pointeur de registre)

    Il y a le champ WP qui s'étend du quartet 0 au quartet P.Pour P=9,il couvre les quartets de 0 à 9

    Puis le champ W ( Wide ) qui couvre tout le registre.Il est surtout utilisé lors de copie de mémoire ou d'affichage graphique

    Le champ S ( Sign ) qui couvre le dernier quartet du registre.On l'utilise comme compteur ou comme indicateur de signe lors de travail sur les réels

    Le champ M ( Mantisse ) rarement utilisé,qui sert à stocker la mantisse d'un réel ou un réel en virgule fixe

    Le champ X ( Xposent ) est utilisé principalement pour optimisation ou affichage graphique

    Le champ A ( Adresse ) est le plus utilisé de tous,comme compteur,adresse ...

    Le champ XS ( Xposent Sign ) utilisé sur HP71 pour stocker le signe de l'exposant est généralement utilisé comme compteur,comme le champ S

    Et enfin le champ B ( Byte ) de 2 quartets,c'est à dire un octet,le deuxième en fréquence d'utilisation après le champ A,il sert de compteur et pour le travail sur des chaŚînes de caractères


    Ces utilisations sont bien s–ûr données à titre d'exemple,on peut si l'on veut utiliser le champ W comme compteur,mais c'est aberrant car cela veut dire que l'on a à boucler près de 10^18 fois,ce qui prendrait près d'un an sur HP.Il faut choisir le champ le plus adapté au calcul à effectuer,de manière à gagner en temps et en registres utilisés.Utiliser les registres à bon escient permet de faire jusqu'à quatre (ou plus) calculs en même temps (enfin dans un même registre) sans avoir sans cesse à faire de lents échanges avec la mémoire

    Lorsque l'on utilise une instruction assembleur travaillant sur un champ particulier d'un registre 64 bits,il faut le préciser à l'assembleur,ceci ce fait en indiquant à la suite de l'instruction le champ de travail (exemple : A=A+A A ,lire A égale A plus A champ A).Lorsqu'on veut parler du contenu d'un champ d'un registre 64 bits,on dit "A champ M contient" ...





© Copyright 1999 FTLS (Tyndiuk Frédéric). All rights reserved.
Last Update 08/03/2000 - Send all comments to webmaster@ftls.org