Le µcontrôleur 68HC11
hc11+regétat.doc 5/10
1. L'assembleur HC11:
Définition :
Le programme pour pouvoir être exécuté doit être chargé en mémoire. Les
mémoires ne contiennent que des mots écrits en binaire sous forme d'octets.
Une fois écrit un programme doit donc être traduit en binaire (on dit en code
machine).
Le langage assembleur est un langage de programmation de bas niveau (par
opposition aux langages évolués). Cela signifie qu'il peut être directement
traduit en binaire sans interprétation de son contenu. Il fait appel à des
mnémoniques qui sont des mots constitués d'abréviations de l'action que doit
réaliser l'instruction (tout cela en anglais). Par exemple le mnémonique
LDAA signifie LoaD Accumulator A.
Règles syntaxiques :
Une ligne de programme est décomposée en 4 zones (appelées champs) :
label, mnémonique, opérande et commentaire. On passe d’un champ au
suivant avec un espace ou une tabulation. Il est conseillé d’utiliser un éditeur
assembleur pour saisir le programme car avec la tabulation chaque champ est
indenté (aligné verticalement) ce qui en facilite la lisibilité.
Exemple de ligne assembleur :
encor ldaa $2000 ; initialisation de A
encor est un label (ou étiquette) ldaa est le mnémonique de l’instruction
$2000 est l’opérande (ce sur quoi porte l’instruction) et ce qui suit ; des
commentaires.
Une étiquette sert à repérer une ligne ou une zône de programme. Une
étiquette ne génère pas de code machine. Une ligne doit contenir un
mnémonique ou un mnémonique et son opérande. Seuls les mnémonique et
les opérandes génère du code machine. Une ligne précédée d’un des 2
caractères suivants « * » ou « ; » est ignorée lors de l’assemblage du
programme.
Les opérandes numériques sont exprimés par défaut en décimal ; pour une
écriture en hexadécimal le nombre doit être précédé du symbole $ et % pour
du binaire.
L’assembleur ne distingue pas les minuscules des majuscules sauf pour les
étiquettes.
Modes d’adressage :
Les modes d’adressage caractérise la façon dont on accède à la mémoire pour
une instruction de sauvegarde (STA : Store Accumulator) ou à la donnée.
Lors de l’écriture d’un programme le choix du mode d’adressage utilisé pour
chaque instruction est primordial car il conditionne le format de l’instruction
(nombre de lignes mémoire occupées).