SEGMENT

Définit un segment de programme appelé nom ayant des attributs de segment

Syntaxe

name SEGMENT ⟦READONLY⟧ ⟦align⟧ ⟦combine⟧ ⟦use⟧ ⟦caractéristiquesALIAS(string)'class'⟧
Déclarations
nom ENDS

Paramètres

align
Plage d’adresses mémoire à partir de laquelle une adresse de départ pour le segment peut être sélectionnée. Le type d’alignement peut être l’un des éléments suivants :

Aligner le type Adresse de départ
BYTE Adresse d’octet disponible suivante.
WORD Adresse de mot disponible suivante (2 octets par mot).
DWORD Adresse double mot disponible suivante (4 octets par double mot).
PARA Adresse de paragraphe disponible suivante (16 octets par paragraphe).
PAGE Adresse de page disponible suivante (256 octets par page).
ALIGN(n) Ensuite, nième adresse d’octet disponible. Pour plus d’informations, consultez la section Remarques.

Si ce paramètre n’est pas spécifié, PARA est utilisé par défaut.

combiner (MASM 32 bits uniquement)
PUBLIC, STACK, COMMON, MEMORY, ATaddress, PRIVATE

utiliser (MASM 32 bits uniquement)
USE16, USE32, FLAT

Caractéristiques
INFO, READ, WRITE, EXECUTE, SHARED, NOPAGE, NOCACHE et DISCARD

Ceux-ci sont pris en charge uniquement pour COFF et correspondent aux caractéristiques de section COFF du nom similaire (par exemple, SHARED correspond à IMAGE_SCN_MEM_SHARED). READ définit l’indicateur IMAGE_SCN_MEM_READ. L’indicateur READONLY obsolète a provoqué l’effacement de la section de l’indicateur IMG_SCN_MEM_WRITE. Si des caractéristiques sont définies, les caractéristiques par défaut ne sont pas utilisées et seuls les indicateurs spécifiés par le programmeur sont en vigueur.

string
Cette chaîne est utilisée comme nom de section dans l’objet COFF émis. Crée plusieurs sections portant le même nom externe, avec des noms de segment MASM distincts.

Non pris en charge avec /omf.

class
Désigne la façon dont les segments doivent être combinés et ordonnés dans le fichier assemblé. Les valeurs classiques sont, 'DATA', 'CODE'et 'CONST''STACK'

Notes

Pour ALIGN(n), n peut être n’importe quelle puissance de 2 de 1 à 8192 ; non prise en charge avec /omf.

Voir aussi

Informations de référence sur les directives
Grammaire MASM BNF