LES COMPATIBLES GE-400
LE FORMAT DES MOTS
Bien que les calculateurs de la série GE 400 soient décimaux, ils possèdent des circuits logiques et arithmétiques binaires, de plus le système binaire est utilisé pour ladressage interne de la mémoire. Le macro-assembleur permet au programmeur de représenter les adresses en mode décimal ou symbolique, cependant il est parfois souhaitable de les représenter directement dans le système de numération octale, dans la mesure où il constitue un équivalent du système binaire plus direct que le système décimal en facilitant la conversion entre les deux numérations.
Lunité de base des 400 est le mot de 24 bits dinformation plus un bit de parité quand le mot apparaît en mémoire. Il existe trois catégories de mots:
1. - Mots information.
Les données alphanumériques sont représentées en numération DCB (décimale-codée-binaire). Un mot alphanumérique contient 24 bits, numérotés, de droite à gauche, de O à 23. Un mot de 24 bits est formé de quatre caractères, comprenant chacun six bits. Les quatre caractères alphanumériques sont désignés, de gauche à droite, par 0, 1, 2 et 3. Chaque caractère dun mot alphanumérique comprend deux bits hors texte et quatre bits numériques. La structure des bits hors texte de tous les caractères numériques est 00.
Dans les opérations arithmétiques décimales, les bits hors texte de tous les caractères de chaque mot sont ignorés, sauf ceux du caractère 3 qui indiquent le signe (plus ou moins) du mot, et non le signe du caractère 3. Un signe moins est représenté par la structure binaire 10 dans les bits de zone (bits 5 et 4) du caractère 3. Si ces deux positions binaires contiennent nimporte quelle autre structure (00, 01 ou 11), le mot entier est considéré comme positif.
Dans le cas ou la longueur dune zone dinformation décimale excède un mot, cest le caractère 3 du mot le plus à droite (le moins significatif) qui contient le signe. Tous les autres bits hors texte de la zone sont automatiquement ignorés.
Bien que les GE-400 soient essentiellement des calculateurs alphanumériques, ils possèdent tous également certaines facultés binaires qui permettent lusage de mots information binaires. Dans les mots binaires, tous les 24 bits sont pris comme étant une unité indissociable, ils ne sont donc pas divisés en caractères comme les mots alphanumériques.
Les mots binaires sont automatiquement considérés comme positifs; aucun emplacement nest prévu pour indiquer le signe. Un mot de 24 bits peut contenir des valeurs positives, allant de 0 à 16 777 215 (en décimal).
Le numéro correspondant à chaque position binaire équivaut toujours à la puissance de deux de cette position: par exemple, la position binaire 23 correspond à 223. Il est cependant possible dexécuter des opérations arithmétiques binaires impliquant des quantités négatives, si le programmeur adopte les conventions de programmation appropriées (comprenant la représentation du complément à deux) et si létat de dépassement de capacité est correctement interprété.
2.- Mots instruction.
Le traitement des données dans les GE 400 seffectue sous le contrôle dinstructions préalablement stockées dans la mémoire à tores et exécutées une par une (généralement en séquence). La séquence dans laquelle les instructions sont exécutées sappelle séquence du programme, ou séquence -P, et est contrôlée par le compteur du programme, ou compteur-P.
Normalement tout mot pris dans la mémoire sous le contrôle du compteur-P peut être soit un mot instruction, soit un mot auxiliaire.
Le mot instruction remplit quatre fonctions:
1. Définit lopération à exécuter.
2. Identifie linstruction, comme étant à adresse unique ou à deux adresses.
3. Spécifie un opérande (ou une adresse).
4. Indique, le cas échéant, le type de modification dadresse à employer pour déterminer ladresse effective.
Le mot instruction, comme tout autre mot des GE-400 consiste en 24 bits; il est composé de trois zones: zone du code dopération (bits 18-23) identifie lopération à exécuter (additionner, soustraire, décaler, etc.) et spécifie si linstruction est à deux adresses ou à adresse unique. La zone de commande dadresse (ACF) détermine, en combinaison avec le code dopération, le type de modification dadresse à opérer (si une modification est nécessaire), ou dans le cas de certaines instructions à deux adresses, spécifie la seconde adresse.
La zone dadresse contient normalement une adresse de mémoire qui constitue une adresse provisoire, ou bien ladresse effective (définitive), selon quune modification dadresse est requise ou non.
3. - Mots auxiliaires.
Chaque instruction peut, sous le contrôle de son ACF, se référer à un mot dindex fixe (voir figure p. 10) ou alors être suivie, dans la séquence-P, dun ou plusieurs mots de séquence de modification dadresse (AMS) (voir figure p. 10). Selon linstruction, ou bien le contenu du mot dindex fixe modifie ladresse provisoire de linstruction, ou bien, pour les instructions à deux adresses, il constitue lui-même la seconde adresse de linstruction. Par contre, un mot AMS dans la séquence-P sert invariablement à déterminer la modification de la première adresse dune instruction.
Dans la plupart des instructions à deux adresses, linstruction (et les mots AMS correspondants) est suivie, dans la séquence-P, dun mot de séquence de seconde adresse (SAS) qui détermine la seconde adresse.
Selon le type ou la catégorie des mots AMS et SAS de la séquence-P, ceux-ci peuvent renvoyer le programme à des mots SAS et AMS à distance, stockés en mémoire mais extérieurs à la séquence-P, afin de déterminer la modification dadresse ou la seconde adresse de linstruction.
Dautre part, si on profite des possibilités dadressage indirect des GE-415, 425, 435, un mot AMS de la séquence-P peut également spécifier (dans sa zone dadresse indirecte, bit 21) un mot adresse indirecte (IAW-indirect address Word) qui établit une zone dadresse de remplacement pour ladresse provisoire de linstruction. Cet IAW peut également, sous le contrôle de son ACF, renvoyer à un mot AMS indirect, afin dexécuter toute modification ou remplacement dadresse supplémentaire.
Tous ces mots auxiliaires sont très utiles au programmeur pour la modification de la première adresse et pour la détermination de la seconde adresse.
Lindexation à un nombre illimité de niveaux combinée à ladressage indirect constitue un outil très puissant pour le programmeur: elle accroit en particulier beaucoup lefficacité et la compacité du software.
Dans les formats des mots auxiliaires, toutes les positions binaires qui montrent des zéros doivent absolument contenir des zéros, soit en raison des particularités des éléments technologiques des GE-400, soit pour maintenir la compatibilité de la programmation avec des éléments additionnels prévus pour la famille de calculateurs GE-400.