次の方法で共有


OpCodes.Add フィールド

2 つの値を加算し、結果を評価スタックにプッシュします。

Public Shared ReadOnly Add As OpCode
[C#]
public static readonly OpCode Add;
[C++]
public: static OpCode Add;
[JScript]
public static var Add : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

形式 アセンブリ形式 説明
58 add 2 つの数値を加算し、新しい数値を返します。

スタックの遷移動作を順番に示すと、次のようになります。

  1. value1 がスタックにプッシュされます。
  2. value2 がスタックにプッシュされます。
  3. value2value1 がスタックからポップされます。 value1value2 に加算されます。
  4. 結果がスタックにプッシュされます。

オーバーフローは、整数演算については検出されません。適切なオーバーフロー処理については、 Add_Ovf のトピックを参照してください。

整数加算では、飽和させず、ラップします。たとえば、8 ビット整数で value1 が 255 に、 value2 が 1 に設定されている場合、ラップされた結果は 256 ではなく 0 になります。

浮動小数点オーバーフローは、 +inf (PositiveInfinity) または -inf (NegativeInfinity) を返します。

使用可能なオペランド型および対応する結果のデータ型の一覧を次の表に示します。特定の型の組み合わせ (int32 と float、 int32int64 など) についてエントリがない場合は、無効な MSIL (Microsoft Intermediate Language) となり、エラーが生成されます。

オペランド value1 型 value2 型 結果型
add int32 int32 int32
add int32 natural int natural int
add int32 & &
add int32 * *
add int64 int64 int64
add natural int int32 natural int
add natural int natural int natural int
add natural int & &
add natural int * *
add F F F
add & int32 &
add & natural int &
add * int32 *
add * natural int *

add オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間