Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

OpCodes.Add Field

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

Namespace:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

public static readonly OpCode Add

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

Format

Assembly Format

Description

58

add

Adds two numeric values, returning a new numeric value.

The stack transitional behavior, in sequential order, is:

  1. value1 is pushed onto the stack.

  2. value2 is pushed onto the stack.

  3. value2 and value1 are popped from the stack; value1 is added to value2.

  4. The result is pushed onto the stack.

Overflow is not detected for integer operations (for proper overflow handling, see 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.

operand

value1 type

value2 type

result type

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 Emit method overload can use the add opcode:

  • ILGenerator.Emit(OpCode)

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

Show:
© 2014 Microsoft