SEGMENT
定義名為 名稱 的程式區段,並具有區段屬性
語法
name SEGMENT ⟦READONLY⟧ ⟦align⟧ ⟦combine⟧ ⟦use⟧ ⟦特性⟧ ALIAS(string) ⟦'class'⟧
語句
name ENDS
參數
align
可以從中選取區段起始位址的記憶體位址範圍。 對齊類型可以是下列任一項:
對齊類型 | 起始位址 |
---|---|
BYTE | 下一個可用的位元組位址。 |
WORD | 下一個可用的字位址(每字 2 個字節)。 |
DWORD | 下一個可用的雙字位址(每個雙字 4 個字節)。 |
PARA | 下一個可用的段落位址(每個段落 16 個字節)。 |
PAGE | 下一個可用的頁面位址(每頁 256 個字節)。 |
ALIGN(n) | 接下來,第 n個字節位址可用。 如需詳細資訊,請參閱一節。 |
如果未指定此參數, 預設會使用PARA 。
結合 (僅限 32 位 MASM)
PUBLIC, STACK, COMMON, MEMORY, ATaddress, PRIVATE
use (僅限 32 位 MASM)
USE16、 USE32、 FLAT
特性
INFO、READ、WRITE、EXECUTE、SHARED、NOPAGE、NOCACHE 和 DISCARD
COFF 僅支援這些專案,並對應至類似名稱的 COFF 區段特性(例如 ,SHARED 對應至IMAGE_SCN_MEM_SHARED)。 READ 會設定IMAGE_SCN_MEM_READ旗標。 過時的 READONLY 旗標導致 區段清除IMG_SCN_MEM_WRITE旗標。 如果已設定任何 特性,則不會使用預設特性 ,而且只有程式設計人員指定的旗標才會生效。
string
此字串會當做所發出 COFF 物件中的區段名稱使用。 使用不同的MASM區段名稱,建立具有相同外部名稱的多個區段。
/omf 不支援。
class
指定如何在組合的檔案中合併和排序區段。 一般值為、'DATA'
、 'CODE'
'CONST'
和'STACK'
備註
針對 ALIGN(n)
, n 可以是 1 到 8192 的任何 2 電源;不支援 /omf。