Sections
Un programme assembleur est composé de plusieurs sections déclarées comme suit.data : contient les données initialisées par le programmeur. L'écriture est autorisée
.bss : contient les données initialisées à Zero par le système. L'écriture est autorisée.
.text : contient le code du programme. L'écriture n'est pas autorisée.
.section : permet de créer d'autres sections si nécessaire.
Déclaration des données :
.ascii : déclaration d'une chaine de caractères
.asciz : déclaration d'une chaine de caractères suivie d'un zero binaire.
.word ou .int ou .long : déclaration d'un mot de 4 octets : doit être aligné sur une frontière de 4 octets
.hword : déclaration d'un demi mot de 2 octets : doit être aligné sur une frontière de 2 octets
.byte : déclaration d'un octet
.skip : déclaration d'une zone de longueur variable
.fill : déclaration d'une zone avec remplissage d'un caractère.
.space : idem que .fill (attention : ne met pas des espaces comme son nom l'indique).
.align : permet d'aligner les données au demi mot, au mot ou au double mot.
Constantes
.equ ou .set : définition
.include "nomfichier" : inclusion d'un fichier de constantes
Commentaires
/* ceci est un commentaire sur
plusieurs lignes */
@ ceci est un commentaire sur une ligne
// toléré : commentaire sur une ligne
Autres directives :
.global : permet de désigner une donnée ou une routine accessible à l'exterieur du programme. La routine principale d'un programme doit être déclaré .global
.extern : permet d'indiquer qu'un label est déclaré à l’extérieur (non obligatoire ).
Aucun commentaire:
Enregistrer un commentaire