Mouvement de données
Drapeaux
5-16-6 SINGLE WORD DISTRIBUTE – DIST(80)
Limitations
Description
Précautions
Distribution de données
(C=0000 à 6655)
Empilage
(C=9000 à 9999)
Exemple d'empilage
188
Si l'on désire échanger les contenus des blocs dont le volume dépasse 1 mot,
employer des mots de travail comme tampon intermédiaire aptes à contenir l'un
des blocs à l'aide de XFER(70) utilisée trois fois.
Le mot d'adressage indirect DM n'existe pas. (Le contenu du mot DM
ER:
n'est pas BCD ou la zone DM a été dépassée.)
Schémas à contacts
DIST(80)
@DIST(80)
S
DBs
C
C doit être BCD. Lorsque C≤6655, DBs doit se trouver dans la même zone de
données, ainsi que DBs+C. Lorsque C≥9000, DBs doit être dans la même zone
de données, ainsi que DBs+C–9000.
Selon la valeur de C, DIST(80) fonctionne comme instruction de distribution de
données ou instruction d'empilage. Lorsque C est compris entre 0000 et 6655,
DIST(80) fonctionne comme instruction de distribution de données et recopie le
contenu S sur DBs+C. Si le digit de poids fort C est égal à 9, DIST(80) se com-
porte comme instruction d'empilage et crée une pile avec le nombre de mots
indiqué dans les 3 digits C de poids faible.
L'empilage n'est pas fiable si la longueur de pile spécifiée est différente de celle
de la dernière exécution DIST(80) ou COLL(81).
Lorsque la condition d'exécution est sur OFF, DIST(80) n'est pas exécutée.
Lorsque la condition d'exécution est sur ON, DIST(80) recopie le contenu S sur
DBs+C, c'est-à-dire que l'on ajoute C à DBs pour définir le mot de destination.
S
3 4 5
Lorsque la condition d'exécution est sur OFF, DIST(80) n'est pas exécutée.
Lorsque la condition d'exécution est sur ON, DIST(80) effectue un empilage de
DBs à DBs+C–9000. DBs est le pointeur de pile, S est recopié dans le mot indi-
qué par DBs et DBs augmente d'1 unité. Le drapeau négatif est lui aussi modifié.
Digits C:
3 2 1 0
On peut ajouter des données à la pile jusqu'à la remplir. Normalement DIST(80)
est utilisée avec COLL(81), sélectionnée pour lire les données de l'empilage
selon le FIFO ou le LIFO. Pour plus d'informations, voir le par. 5-16-7 DATA
COLLECT – COLL(81).
Dans l'exemple suivant, le contenu C (LR 10) est 9010 et DIST(80) est utilisée
pour écrire les données numériques #00FF dans la pile de 10 mots HR 20 à HR
Zones de données d'opérande
IR, SR, AR, DM, HR, TC, LR, #
DBs: Mot destination de base
S
IR, SR, AR, DM, HR, TC, LR
DBs
C: Mot de commande (BCD)
C
IR, SR, AR, DM, HR, TC, LR, #
2
Indique la longueur de pile (000 à 999).
La valeur 9 indique l'empilage.
Chapitre 5-16
S: Donnée source
DBs + C
3 4 5
2