SEGMENT

Define um segmento de programa chamado name com atributos de segmento

Sintaxe

nome SEGMENT ⟦READONLY⟧ ⟦align⟧ ⟦combine⟧ ⟦use⟧ ⟦characteristicsALIAS(string)'class'⟧
statements
nome ENDS

Parâmetros

align
O intervalo de endereços de memória dos quais um endereço inicial para o segmento pode ser selecionado. O tipo de alinhamento pode ser qualquer um dos seguintes:

Tipo de alinhamento Endereço inicial
BYTE Próximo endereço de byte disponível.
WORD Próximo endereço de palavra disponível (2 bytes por palavra).
DWORD Próximo endereço de palavra dupla disponível (4 bytes por palavra dupla).
PARA Próximo endereço de parágrafo disponível (16 bytes por parágrafo).
PAGE Próximo endereço de página disponível (256 bytes por página).
ALIGN(n) Próximo endereço de nº byte disponível. Consulte a seção de comentários para obter mais informações.

Se esse parâmetro não for especificado, PARA será usado por padrão.

combine (somente MASM de 32 bits.)
PUBLIC, STACK, COMMON, MEMORY, ATaddress, PRIVATE

use (somente MASM de 32 bits)
USE16, USE32, FLAT

characteristics
INFO, READ, WRITE, EXECUTE, SHARED, NOPAGE, NOCACHE e DISCARD

Eles têm suporte somente para COFF e correspondem às características da seção COFF de nome semelhante (por exemplo, SHARED corresponde a IMAGE_SCN_MEM_SHARED). READ define o sinalizador IMAGE_SCN_MEM_READ. O sinalizador READONLY obsoleto fez com que a seção limpasse o sinalizador IMG_SCN_MEM_WRITE. Se algum characteristics for definido, as características padrão não serão usadas e apenas os sinalizadores especificados pelo programador estarão em vigor.

cadeia de caracteres
Essa cadeia de caracteres é usada como o nome da seção no objeto COFF emitido. Cria várias seções com o mesmo nome externo, com nomes de segmento MASM distintos.

Não dá suporte para /omf.

class
Designa como os segmentos devem ser combinados e ordenados no arquivo montado. Os valores típicos são 'DATA', 'CODE', 'CONST' e 'STACK'

Comentários

Para ALIGN(n), n pode ser qualquer potência de 2 de 1 a 8192; não dá suporte a /omf.

Confira também

Referência de diretivas
Gramática BNF do MASM