PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 3/28
b) Structure d'une instruction assembleur
Une instruction en langage assembleur est constituée de quatre champs : Adresse, Mnémonique,
Opérandes et Commentaires.
Le champ Adresse représente l'adresse d'implantation mémoire.
ex : $2000 (adresse absolue)
début (symbole représentant une adresse)
Le champ Mnémonique qui indique la nature de l'instruction.
ex lea (load effective adresse)
move (transfert de données)
add (opération arithmétique)
and (opération logique)
beq (branchement conditionnel)
etc...
Le champ opérande indique les données et le mode d'adressage. On peut avoir :
- des instructions sans opérande : nop, stop, rts etc...
- des instructions à un opérande : clr D0
- des instructions à deux opérandes : add D2,(A4)+
- des instructions à trois opérandes : sub D4,D5,D6
a) Exemple : Assembleur 68000
debut lea.l $6000,A4
move.b D0,$2000
Opérande destination (registre ou mémoire)
Opérande source (registre ou mémoire)
Code mémonic d'une instruction
Symbole de branchement pour le PC
bmi négatif
Chargement d'Adresse Effective dans le pointeur A4
Rangement du contenu du registre de données D0 dans la mémoire d'adresse $2000
Branchement au symbole "négatif" si le bit N=1 : registre détat
Pour utiliser ce langage il faut connaître :
- le modèle de programmation du microprocesseur : la liste et la fonction des registres internes.
- la liste des instructions par groupe
arithmétique, logique, branchement, accès à la mémoire, manipulation de bits, etc...
- les modes d'adressage possibles pour les opérandes sources et destinations.
Avantages de ce langage
- programmes très courts et très rapides.
- optimisation du code binaire.
- accès facile aux mémoires et aux entrées sorties.
Inconvénients de ce langage
- connaissance interne du microprocesseur exigée.
- lourdeur et complexité des instructions.
- code lié à une famille de processeurs.
- fonctions mathématiques difficiles à programmer.