System.Reflection.Emit.OpCodes.Add Field

Adds two values and pushes the result onto the evaluation stack.

Syntax

public static readonly OpCode Add

Remarks

The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

58

add

Adds two numeric values, returning a new numeric value.

The stack transitional behavior, in sequential order, is:

[The 'ordered' type of list has not been implemented in the ECMA stylesheet.]

Overflow is not detected for integer operations (for proper overflow handling, see OpCodes.Add_Ovf).

Integer addition wraps, rather than saturates. For example, assuming 8-bit integers where value1 is set to 255 and value2 is set to 1, the wrapped result is 0 rather than 256.

Floating-point overflow returns +inf (PositiveInfinity) or -inf (NegativeInfinity).

The acceptable operand types and their corresponding result data type are listed in the table below. If there is no entry for a particular type combination (for example, int32 and float; int32 and int64), it is an invalid Microsoft Intermediate Language (MSIL) and generates an error.

add

int32

int32

int32

add

int32

native int

native int

add

int32

&

&

add

int32

*

*

add

int64

int64

int64

add

native int

int32

native int

add

native int

native int

native int

add

native int

&

&

add

native int

*

*

add

F

F

F

add

&

int32

&

add

&

native int

&

add

*

int32

*

add

*

native int

*

The following ILGenerator.Emit(OpCode) method overload can use the add opcode:

  • ILGenerator.Emit(OpCode)

Requirements

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0