6- LES MODES D’ADRESSAGES DU ST6.
Les modes d’adressages sont les différents moyens permettant d’accéder à une
opérande en vue de tester ou de modifier le contenu d’un registre ou d’une
mémoire.
ØØ Mode d’adressage inhérent ou implicite.
L’adressage inhérent concerne les instructions qui ne comportent pas
d’opérande, cette dernière étant implicite. Un telle instruction est codée sur 1
octet.
Exemple : DEC A → soustrait 1 à l’accumulateur.
ØØ Mode d’adressage immédiat.
Dans ce mode d’adressage, le code opératoire 8 bits est directement suivi de
la valeur prise en compte par l’instruction. Ce type d’adressage permet de
charger les registres internes du microprocesseur avec la valeur de
l’opérande. La lettre “i” signifie immédiat dans la syntaxe assembleur.
Exemple : LDI A,43 → Charge l’accumulateur avec la valeur décimal 43.
ØØ Mode d’adressage direct.
Ce mode d’adressage nécessite 2 octets pour avoir accès à l’ensemble de
l’espace mémoire de donnée du microprocesseur. Le premier octet définit le
code opératoire, le second représente les huit bits de l’adresses.
Exemple : ADD A,43h → additionne l’accumulateur avec le contenu de
la mémoire ayant l’adresse hexadécimal 43.
ØØ Mode d’adressage direct court.
Ce mode d’adressage ne nécessite qu’un octet mais ne permet que
d’accéder aux registres X, Y, V et W ayant respectivement les adresses 80h,
81h, 82h et 83h hexadécimales.
Exemple : DEC Y → soustrait 1 au contenu du registre Y.
ØØ Mode d’adressage étendu..
Ce mode d’adressage est destiné à adresser la mémoire programme dans
sa globalité. Il ne s’adresse qu’aux instructions de saut ou d'appel de sous -
programme. Il nécessite 2 octets : 4 bits pour le code instruction et 12 bits
pour l’adresse.
Exemple : JP 0C2A → Charge le compteur programme avec l’adresse
hexadécimale 0C2A afin de faire un saut.
ØØ Mode d’adressage relatif court.
Ce mode d’adressage est réservé pour les instructions de branchement
conditionnel. L’instruction de branchement opérant en adressage relatif court
fait appel à un format de un octets seulement. Les 3 derniers bits détermine
le code opératoire qui spécifie le type de branchement en même temps que
le test correspondant. Les 7 premiers bits spécifie la valeur du déplacement
qui peut être positif ou négatif (de -16 à +15 par rapport à la valeur du PC à
la fin du traitement de l’instruction).
Exemple : JRZ -12 → Effectue un branchement de 12 octets en arrière
dans la mémoire programme si le bit indicateur “Z” est à 1.
ØØ Mode d’adressage relatif long
Ce mode d’adressage est toujours réservé aux 2 opérations de test avec
branchement conditionnel (JRS et JRR). Ces instructions sont codées sur 3
octets, le premier détermine le code opératoire ainsi que le n° du bit à tester,
le 2e spécifie la mémoire à tester et le 3e octet donne la valeur signée du
déplacement (de -128 à +127).
Exemple : JRS 3,A,+9 → Effectue un branchement de 9 octets en avant
dans la mémoire programme si le bit de rang 3 de l’accumulateur est à
1.
ØØ Mode d’adressage indexé ou indirect.
Ce mode d’adressage s’applique aux registres d’index X et Y. Ces derniers
contiennent une adresse mémoire dans laquelle est placée l’opérande.
Une telle instruction est codée sur 1 octet : le premier bit spécifie le registre
d’index, les 7 derniers le code de l’opération. On peut accéder en un temps
record à une suite de donnée placée en mémoire.
Exemple : ADD A,(X) → Additionne à l’accumulateur le contenu de
l'adresse pointée par X.
7- EDITION ET ASSEMBLAGE D’UN PROGRAMME.
La saisie d’un programme (en assembleur) se fait grâce à éditeur de texte ayant de
préférence une indication ligne colonne et l’auto-indentation. On peut utiliser celui
du MS-DOS : “EDIT.COM”. L’enregistrement se fait généralement avec l’extension
“.asm” ou “.st6”.
STAGE NOVEMBRE 2000 MICROCONTRÔLEUR ST62E65
PADIOLLEAU JEAN-LUC PAGE B-5