Assembly-programming-assembly-constants
提供:Dev Guides
アセンブリ-定数
NASMが提供する、定数を定義するディレクティブがいくつかあります。 前の章ですでにEQUディレクティブを使用しました。 特に3つのディレクティブについて説明します-
- EQU
- %割り当てます
- 定義する
EQUディレクティブ
例えば、
その後、次のようにコードでこの定数値を使用できます-
EQUステートメントのオペランドは式にすることができます-
上記のコードセグメントでは、AREAを200として定義します。
例
次の例は、EQUディレクティブの使用を示しています-
上記のコードをコンパイルして実行すると、次の結果が生成されます-
%assignディレクティブ
- %assign *ディレクティブを使用して、EQUディレクティブのような数値定数を定義できます。 このディレクティブは再定義を許可します。 たとえば、定数TOTALを次のように定義できます-
コードの後半で、次のように再定義できます-
このディレクティブは大文字と小文字を区別します。
%defineディレクティブ
- %define *ディレクティブを使用すると、数値定数と文字列定数の両方を定義できます。 このディレクティブは、Cの#defineに似ています。 たとえば、次のように定数PTRを定義できます-
上記のコードは、_PTR_を[EBP + 4]に置き換えます。
このディレクティブは再定義も許可し、大文字と小文字が区別されます。