次の方法で共有


SEGMENT

セグメント属性を持つ name というプログラム セグメントを定義します

構文

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

パラメーター

align
メモリ アドレスの範囲。ここからセグメントの開始アドレスを選択できます。 アラインメントの種類には、次のいずれかを指定できます。

配置の種類 開始アドレス
BYTE 次に使用可能なバイト アドレス。
WORD 次に使用可能なワード アドレス (1 ワードあたり 2 バイト)。
DWORD 次に使用可能なダブル ワード アドレス (1 ダブル ワードあたり 4 バイト)。
PARA 次に使用可能なパラグラフ アドレス (1 パラグラフあたり 16 バイト)。
PAGE 次に使用可能なページ アドレス (1 ページあたり 256 バイト)。
ALIGN(n) 次に使用可能な n 番目のバイト アドレス。 詳細については、「解説」セクションを参照してください。

このパラメーターが指定されていない場合は、既定の PARA が使用されます。

combine (32 ビット MASM のみ)
PUBLICSTACKCOMMONMEMORYATaddressPRIVATE

use (32 ビット MASM のみ)
USE16USE32FLAT

characteristics
INFOREADWRITEEXECUTESHAREDNOPAGENOCACHEDISCARD

これらは COFF に対してのみサポートされ、類似する名前の COFF セクションの特性に対応します (たとえば、SHARED は IMAGE_SCN_MEM_SHARED に対応します)。 READ によって、IMAGE_SCN_MEM_READ フラグが設定されます。 不使用の READONLY フラグが原因で、セクションの IMG_SCN_MEM_WRITE フラグがクリアされました。 いずれかの characteristics が設定されている場合、既定の特性は使用されず、プログラマが指定したフラグのみが有効になります。

string
この文字列は、出力された COFF オブジェクトのセクション名として使用されます。 同じ外部名を持つ複数のセクションを作成し、それぞれに異なる MASM セグメント名を付けます。

/omf ではサポートされません。

クラス
アセンブルされたファイル内でセグメントを結合して順序を付ける方法を指定します。 通常、この値は、'DATA''CODE''CONST'、および 'STACK' です

解説

ALIGN(n) の場合、n は、1 から 8,192 の 2 の累乗となることがあります。/omf ではサポートされていません。

関連項目

ディレクティブ リファレンス
MASM BNF 文法