|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
L'assembleur - Fichier source et compilationLa compilation du programmeLe programme doit être saisi dans un fichier texte non formaté (c'est-à-dire sans caractères en gras, souligné, avec des polices de caractères de différentes tailles, ...) appelé fichier source. En effet, l'assembleur (le programme permettant de faire la traduction du langage assembleur en langage machine) permet uniquement de créer un fichier assemblé à partir du fichier source (il devra comporter l'extension .ASM, en s'appelant par exemple source.asm ou n'importe quel autre nom suivi de l'extension .asm). L'assembleur va fournir un fichier objet (dont l'extension est .obj) qui va contenir l'ensemble des instructions traduites
en instructions machines. Ce fichier .OBJ ne pourra toutefois pas s'exécuter directement car il faut encore lier les différents fichiers.
A quoi ressemble un fichier source en assembleur ?Comme dans tout programme le fichier source doit être saisi de manière rigoureuse. Chaque définition et chaque instruction doivent ainsi s'écrire sur une nouvelle ligne (pour que l'assembleur puisse différencier les différentes intructions). Le fichier source contient :
Voici à quoi ressemble un fichier source (fichier .ASM) : donnees SEGMENT; voici le segment de données dont l'étiquette est donnees ;Placez ici les déclarations de données donnees ENDS; ici se termine le segment de données ASSUME DS:donnee, CS: instr instr SEGMENT; voici le segment d'instructions dont l'étiquette est instr debut : ;placez ici votre première instruction (son étiquette est nommée debut) ;Placez ici vos instructions instr ENDS; fin du segment d'instructions END debut; fin du programme suivie de l'étiquette de la première instruction La declaration d'un segmentComme nous le verrons plus loin, les données sont regroupées dans une zone de la mémoire appelée segment de données, tandis que les instructions se situent dans un segment d'instructions. Le registre DS (Data Segment) contient le segment de données, tandis que le registre CS
(Code Segment) contient le segment d'instructions. C'est la directive ASSUME qui permet
d'indiquer à l'assembleur où se situe le segment de données et le segment de code.
MOV AX, nom_du_segment_de_donnees MOV DS, AX Discussions pertinentes trouvées dans le forum
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||