Cette partie a pour but de vous présenter l’architecture du
langage assembleur à travers de courts exemples. Ne vous
inquiétez pas si vous ne comprenez pas parfaitement certaines
instructions : toutes seront détaillées dans la
troisième partie. L’essentiel
est que vous compreniez grossièrement ce qu’on fait et
pourquoi on le fait. Les explications qui accompagnent ces
exemples devraient y suffire. Vous pourrez ensuite apprendre le
langage en lui-même en consultant la partie suivante.
Remarques pratiques préliminaires :
-
Les mots qui sont imprimés en italique sont ceux qui ne font pas partie du
langage en lui-même. Ils sont choisis par le programmeur.
-
Tous les programmes présentés ci-dessous suivent la syntaxe
du compilateur TASM. Il existe de très légères
différences d’un compilateur à l’autre.
-
Le code peut être écrit en majuscules ou en minuscules.
Chaque mot est séparé des autres par des espaces ou
des tabulations.
-
Les commentaires sont précédés du signe ‘;’.
-
Les nombres doivent toujours commencer par un chiffre (entre 0 et 9),
même les nombres hexadécimaux. Il faut donc écrire
0F2Ah et non pas F2Ah. Par contre, l’écriture 5CFh est
correcte.
-
Les apostrophes et les guillemets sont équivalents. Il est
cependant plus commode de réserver l’usage des
guillemets aux chaînes de plusieurs caractères et celui
des apostrophes aux caractères isolés.
-
Vous pouvez taper vos programmes avec l’éditeur de texte du
DOS (EDIT.COM). Donnez-leur l’extension ‘.asm’.
-
La compilation se fait en tapant “TASM /m9 MONPROG” si
votre source s’appelle ‘MONPROG.ASM’.
Le paramètre ‘/m9’, facultatif, indique au
compilateur qu’il devra effectuer 9 passes, c’est-à-dire
qu’il examinera 9 fois le code source. Comme chaque examen se
fait de manière linéaire, le compilateur trouve parfois
des instructions qui font référence à des labels
placés plus loin dans le programme. Il manque donc
d’informations, mais il continue son examen jusqu’à
la fin. Quand il a terminé, il recommence tout depuis le début
pour résoudre les problèmes qui s’étaient
posés.
La compilation crée un fichier objet (‘.obj’). Pour
obtenir un fichier EXE, tapez ”TLINK MONPROG”. Pour un
fichier COM, tapez “TLINK /tdc MONPROG”.
Après l’édition des liens (le
« linkage »), vous pouvez supprimer
les fichiers MONPROG.obj’ et ‘MONPROG.map’.
@ECHO OFF
TASM /m9 %1.asm
IF NOT EXIST %1.obj GOTO FIN
TLINK %1.obj REM : ajouter ici /tdc pour obtenir un fichier COM
ERASE %1.map
ERASE %1.obj
:FIN
Enregistrez-le et nommez-le MAKE.BAT. Vous pouvez compiler et linker
en tapant “MAKE MONPROG”. Pour compiler des fichiers COM,
ajoutez le paramètre '/tdc' à la commande TLINK.
PATH = %path%;c:\MonChemin\DossierTASM
Vous pouvez inclure cette ligne à la fin de votre fichier
AUTOEXEC.BAT afin qu’elle soit exécutée à
chaque démarrage.
-
Vous pouvez débugger vos programmes (par exemple les exécuter
instruction par instruction en observant les changements induits
dans la RAM et dans les registres,...) avec le logiciel Turbo
Debugger 16/32 bits qui est très pratique et très
performant. A défaut, vous pouvez vous rabattre sur
l'archaïque DEBUG.COM (il se trouve dans votre dossier de
commandes DOS). Mais alors bon courage !
Le seul travail du compilateur (et du linkeur) est de convertir chacune
de vos instructions en son équivalent en langage machine.
Le programme compilé présentera donc exactement la même
structure et la même linéarité que votre code
source.
Sommaire
Suite
|