Structure du programme source
Directive : ne génère pas du code mais aide
l’assembleur à traduire le programme source
Tous segment est délimité par les directives
SEGMENT ENDS
Commentaires : le point-virgule marque le
début des commentaires (tous les caractères
situés à droite d'un point virgule sont ignorés).
23/08/2010 Khaled Hassine 5
Structure du fichier Source
Le fichier source (extension .ASM) contient:
1. L’identificateur du programme sous TITLE (facultative).
2. La partie Déclaration de la pile qui est définie dans le segment de
pile délimité par les directives SEGMENT STACK et ENDS
3. La partie Déclaration des données dans le segment de données
délimitée par les directives SEGMENT et ENDS
4. La partie instructive (le cœur du programme) délimitée par les
directives SEGMENT et ENDS. La première ligne doit être signalée
par une étiquette.
Le fichier se termine par la directive END suivi du nom de l'étiquette de la
première ligne (pour permettre au traducteur de connaître la première
instruction à exécuter).
23/08/2010 Khaled Hassine 6
Structure du programme source
23/08/2010 Khaled Hassine 7
<Data definition>
Data
Segment
ASSUME CS:<Code Segment Id.>, DS:<Data Segment Id.>
<Instructions
definition>
<Stack Segment Identifier> SEGMENT STACK
Stack
Segment
Code
Segment
<Stack Segment Identifier> ENDS
<Data Segment Identifier> SEGMENT
<Data Segment Identifier> ENDS
<Code Segment Identifier> SEGMENT
<Code Segment Identifier> ENDS
END <Begin Label >
DW <Size of Stack : a number>DUP (?)
MOV AH, 4CH
INT 21H
MOV AX, <Data Segment Identifier>
MOV DS, AX
<Begin Label > :
Exemple de programme
23/08/2010 Khaled Hassine 8
Data SEGMENT
Message DB "Bonjour, le monde !$" ; Le segment de données
Data ENDS
Code SEGMENT ; Le segment de code
ASSUME CS : Code, DS : Data
Debut :
MOV AX, Data
MOV DS, AX
MOV AH, 09H ; Affichage du message
MOV DX, OFFSET MESSAGE
INT 21H
MOV AX, 4C00H ; Indicateur de fin du programme
INT 21H
Code ENDS
END Debut