Registres d'Index
Adressage indirect
Variante
Adressage indirect
Le contenu de IRj est traité
comme l'adresse mémoire API
d'un bit ou d'un mot.
Adressage indirect
Le préfixe constant est ajouté au
à décalage constant
contenu de IRj et le résultat est
traité comme l'adresse mémoire
API d'un bit ou d'un mot.
La constante est un mot entier
compris entre -2 048 et 2 047.
Adressage indirect
Le contenu du registre de donnée
à décalage DR
est ajouté à la constante de IRj
et le résultat est traité comme
l'adresse mémoire API d'un bit ou
d'un mot.
276
Lorsqu'un registre d'index est utilisé comme un opérande avec un préfixe ",",
l'instruction traite le mot indiqué à l'adresse mémoire de l'API du registre d'in-
dex, non le registre d'index lui-même. Fondamentalement, les registres d'index
sont des pointeurs de mémoire d'E/S.
· Toutes les adresses dans une mémoire d'E/S (exceptés les registres d'index,
les registres de données et les drapeaux de condition) peuvent être spécifiées
avec les adresses mémoire de l'API. Il n'est pas nécessaire de spécifier la
zone de données.
· En plus de l'adressage indirect, l'adresse mémoire de l'API dans un registre
d'index peut être décalée avec une constante ou un registre de données, auto
incrémentée ou auto décrémentée. Ces fonctions peuvent être utilisées en
boucle pour lire ou écrire des données pendant l'incrémentation ou la décré-
mentation de l'adresse à chaque fois que l'instruction est exécutée.
Avec les variantes d'instruction de décalage, d'incrémentation/décrémentation,
les registres d'index peuvent être configurés à des valeurs standard avec
MOVR(560) ou MOVRW(561) et modifiés ensuite comme des pointeurs dans
chaque instruction.
Configuré à une
valeur standard avec
MOVR(560) ou
MOVRW(561).
Rem. Il est possible de spécifier des zones en dehors de la mémoire d'E/S et de géné-
rer une erreur d'accès illégal lorsque la mémoire est adressée indirectement
avec les registres d'index. Se référer à l'annexe E Topographie de la Mémoire
pour plus de détails sur les limites des adresses mémoire de l'API.
Le tableau suivant décrit les variantes possibles lorsque la mémoire d'E/S est
adressée indirectement avec les registres d'index (IRj représente un registre
d'index de IR0 à IR15).
Fonction
Pointeur
Syntaxe
,IRj
LD, IR0
Constante,IRj
LD +5, IR0
(Inclut un + ou un
- dans la
constante).
DRj , IRj
LD DR0 , IR0
Chapitre
Mémoire d'E/S
Exemple
Charge le bit d'adresse
mémoire de l'API
contenu dans IR0.
Additionne 5 au contenu
de IR0 et charge le bit à
l'adresse mémoire de
l'API.
Additionne le contenu de
DR0 au contenu de IR0
et charge le bit à
l'adresse mémoire de
l'API.
7-13