22.1 Les instructions assembleurs

publicité
Document ressource : jeu d’instructions pour PIC
I Présentation
Le langage assembleur permet de transformer l’algorigramme en instructions spécifiques à
une famille de microcontrôleurs.
Le microcontrôleur PIC 16F877 dispose d’un jeu réduit de 35 instructions.
Ce jeu d’instruction réduit implique qu’une opération peut être traduite par plusieurs
instructions assembleurs.
La majorité des instructions s’exécutent en un seul cycle d’horloge sauf pour les
instructions de branchement ou certaines autres instructions.
II Jeu d’instructions
Le tableau suivant résume toutes les instructions pour le PIC :
Pour plus de détails sur les instructions assembleurs il faut se référer à la
documentation constructeur (paragraphe 13 « Instruction Set Summary »).
G BERTHOME
Page 1/1
Document ressource : jeu d’instructions pour PIC
III Explications des notations
Lorsque l’on note les termes entre parenthèses ceci veut dire que l’on traite le contenu de
l’adresse :
(W) : représente le contenu du registre W,
(f) : représente le contenu de l’adresse f.
W : est un registre d’un octet (soit 8 bits),
b7
b6
b5
b4
b3
b2
b1
b0
Ce registre permet de sauvegarder des données temporaires sur un format de 8 bits.
f : est une adresse,
Adresse
f-1
f
f+1
f+2
à 7).
b7
b6
b5
b4
b3
b2
Contenu de l’adresse f-1 : noté (f-1)
Contenu de l’adresse f : noté (f)
Contenu de l’adresse f+1 : noté (f+1)
Contenu de l’adresse f+2 : noté (f+2)
b1
b0
k : est une constante d’un octet,
b : représente le numéro du bit d’une adresse f (b peut donc prendre des valeurs allant de 0
f,1 : représente le bit 1 contenu dans l’adresse f
d : permet de sélectionner la destination de l’opération :
-d=0 : la destination est le registre W,
-d=1 : la destination est l’emplacement mémoire f.
Par défaut d=1.
IV Le registre STATUS
Lorsqu’une instruction vient d’être exécutée, le registre STATUS indique des informations
sur le résultat de cette instruction.
b7
IRP
b6
RP1
b5
RP0
b4
/TO
b3
/PD
b2
Z
b1
DC
b0
C
Ce registre permet d’indiquer :
-si le résultat de l’instruction assembleur est égal à 0 :
-Z=1 : le résultat est égal à 0,
-Z=0 : le résultat est différent de 0.
-si le résultat de l’instruction assembleur a provoqué un dépassement du bit de poids
le plus fort :
-C=1 : dépassement,
-C=0 : pas de dépassement.
G BERTHOME
Page 2/2
Téléchargement