Étape 4: Notes sur le langage d’assemblage
OK, le langage assembleur peut semble étrange (et je ne prétends pas tout savoir), mais voici les principales instructions utilisées pour cela. Plus d’informations sur le jeu d’instructions sont disponibles ici :http://en.wikipedia.org/wiki/Intel_MCS-51#Instruc...
Tout ce qui suit un «;» est un commentaire.
Un mot qui se termine par un «:» est une étiquette de ligne. Utilisé pour les sauts. Les espaces ne sont pas autorisés.
.EQU A, B : placée au début d’un fichier, permettent au programmeur de définir un symbole A est égal à B. Ex: .equ InputButton, 3.5 signifie que InputButton est maintenant attaché à la broche de 3.5.
MOV A,B : Mettre la valeur de B en A (B peut être une constante, un registre, une adresse de mémoire...)
DJNZ Registre, ligne : Decrement et sauter si il n’est pas zéro. Décrémente le registre, puis passer à la ligne donnée si le registre contient 0. Utile pour créer des boucles simples.
Composer : appelle une fonction externe.
RET : déplacer vers le programme. Utilisé dans une fonction sub appelée par appel.
JB bit, ligne : sauter si Bit défini. Si le bit spécifié a la valeur (si vrai), le programme saute à la ligne donnée. Sinon, se déplace vers la prochaine instruction.
SETB bit : le bit de donnée la valeur TRUE
CLR bit : le bit de donnée la valeur FALSE
R0, R1, R2 : enregistre les octets d’usage général.
Un registre est simplement un octet qui est utilisé pour stocker des données. La puce contient aussi des fonctions spéciales registres (SFR), utilisés pour piloter les ports e/s et la configuration générale.
L' accumulateur ("A" dans le code) est également un registre généraliste, comme R0, R1 ou R2.
Les ports d’e/s générales de la puce sont nommés ici avec des nombres (contrairement aux lettres utilisés avec des dispositifs ATMEGA et ATTINY). P2 est un octet de Registre, donc au totales huit ports individuels. P2.0 est un bit qui indique le premier port individuel. Les ports sont de forme P2.0 à P2.7
Vous pouvez également lire le fichier PDF « doc3710_C51ASM » disponible dans le dossier DOC dans le fichier zip de compilateur. Tout est expliqué en détails : définir des instructions complètes, comment utiliser le compilateur...