SEGMENT
Define un segmento de programa denominado name que tiene atributos de segmento
Sintaxis
name SEGMENT ⟦READONLY⟧ ⟦align⟧ ⟦combine⟧ ⟦use⟧ ⟦characteristics⟧ ALIAS(string) ⟦'class'⟧
statements
name ENDS
Parámetros
align
Intervalo de direcciones de memoria desde las que se puede seleccionar una dirección inicial para el segmento. El tipo de alineación puede ser uno de los siguientes:
Tipo de alineación | Dirección de inicio |
---|---|
BYTE | Siguiente dirección de bytes disponible. |
WORD | Siguiente dirección de palabra disponible (2 bytes por palabra). |
DWORD | Siguiente dirección de palabra doble disponible (4 bytes por palabra doble). |
PARA | Siguiente dirección de párrafo disponible (16 bytes por párrafo). |
PAGE | Siguiente dirección de página disponible (256 bytes por página). |
ALIGN(n) | Siguiente dirección de nº byte disponible. Vea la sección Comentarios para más información. |
Si no se especifica este parámetro, se usa PARA de forma predeterminada.
combine (solo MASM de 32 bits)
PUBLIC, STACK, COMMON, MEMORY, ATaddress, PRIVATE
use (solo MASM de 32 bits)
USE16, USE32, FLAT
characteristics
INFO, READ, WRITE, EXECUTE, SHARED, NOPAGE, NOCACHE, y DISCARD
Se admiten solo para COFF y corresponden a las características de la sección COFF de un nombre similar (por ejemplo, SHARED corresponde a IMAGE_SCN_MEM_SHARED). READ establece la marca IMAGE_SCN_MEM_READ. La marca READONLY obsoleta hizo que la sección borrara la marca IMG_SCN_MEM_WRITE. Si se establece cualquier characteristics, las características predeterminadas no se usan y solo se aplican las marcas especificadas por el programador.
string
Esta cadena se usa como nombre de sección en el objeto COFF emitido. Crea varias secciones con el mismo nombre externo, con nombres de segmento MASM distintos.
No es compatible con /omf.
clase
Designa cómo se deben combinar y ordenar los segmentos en el archivo ensamblado. Los valores habituales son 'DATA'
, 'CODE'
, 'CONST'
y 'STACK'
Comentarios
Para ALIGN(n)
, n puede ser cualquier potencia de 2, desde 1 hasta 8192; no se admite con /omf.