SEGMENT

定义名为 name、具有段属性的程序段

语法

nameSEGMENTREADONLY⟧ ⟦align⟧ ⟦combine⟧ ⟦use⟧ ⟦characteristicsALIAS(string)'class'
statements
nameENDS

参数

align
可以从中选择段起始地址的内存地址范围。 可以采用以下任何一种对齐类型:

对齐类型 开始地址
BYTE 下一个可用的字节地址。
WORD 下一个可用的字地址(每字 2 字节)。
DWORD 下一个可用的双字地址(每双字 4 字节)。
PARA 下一个可用的段落地址(每个段落 16 字节)。
PAGE 下一个可用的页面地址(每页 256 字节)。
ALIGN(n) 下一个可用的 nth 字节地址。 有关详细信息,请参阅备注部分。

如果未指定此参数,则默认使用 PARA

combine (仅限 32 位 MASM)
PUBLIC, STACK, COMMON, MEMORY, ATaddress, PRIVATE

use (仅限 32 位 MASM)
USE16USE32FLAT

特征
INFOREADWRITEEXECUTESHAREDNOPAGENOCACHEDISCARD

COFF 仅支持这些属性,对应于类似名称的 COFF 分区特征(例如 SHARED 对应于 IMAGE_SCN_MEM_SHARED)。 READ 设置 IMAGE_SCN_MEM_READ 标志。 过时的 READONLY 标志导致分区清除 IMG_SCN_MEM_WRITE 标志。 如果设置了任何特征,则不使用默认特征,并且只有程序员指定的标志生效。

字符串
此字符串用作发出的 COFF 对象中的分区名称。 使用不同的 MASM 段名称创建具有相同外部名称的多个分区。

/omf 不支持。

class
指定应在汇编文件中组合和排列段的方式。 典型值为 'DATA''CODE''CONST''STACK'

备注

对于 ALIGN(n)n 可以是 2(从 1 到 8192)的幂数;不支持 /omf

另请参阅

指令参考
MASM BNF 语法