SEGMENT
Définit un segment de programme appelé nom ayant des attributs de segment
Syntaxe
name SEGMENT ⟦READONLY⟧ ⟦align⟧ ⟦combine⟧ ⟦use⟧ ⟦caractéristiques⟧ ALIAS(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