SEGMENT
セグメント属性を持つ name というプログラム セグメントを定義します。
name SEGMENT [[READONLY]] [[align]] [[combine]] [[use]] [[characteristics]] ALIAS(string) [['class']]
statements
name ENDS
パラメータ
align
セグメントの開始アドレスを起点としてメモリ アドレスの範囲を選択できます。アライメントの種類としては、次のいずれかを使用できます。アラインメントの種類
開始アドレス
BYTE
次に使用可能なバイト アドレス。
WORD
次に使用可能なワード アドレス (ワードあたり 2 バイト)。
DWORD
次に使用可能なダブル ワード アドレス (ダブル ワードあたり 4 バイト)。
PARA
次に使用可能な段落アドレス (段落あたり 16 バイト)。
PAGE
次に使用可能なページ アドレス (ページあたり 256 バイト)。
ALIGN(n)
次に使用可能な n 番目のバイト アドレス。詳細については、次の「解説」を参照してください。
このパラメータが指定されていない場合は、既定で PARA が使用されます。
combine
PUBLIC、STACK、COMMON、MEMORY、ATaddress、PRIVATEuse
USE16、USE32、FLATcharacteristics
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 フラグがクリアされていました。何か characteristics が設定されている場合、既定の特性は使用されず、プログラマ定義のフラグのみが有効になります。
ALIAS(string)
この文字列は、生成された COFF オブジェクト内のセクション名として使用されます。同じ外部名と異なる MASM セグメント名を持つ複数のセクションが作成されます。/omf ではサポートされていません。
解説
ALIGN(n) の n は 1 から 8192 までの 2 の累乗になります。/omf ではサポートされていません。