OpCodes.Add Field
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adds two values and pushes the result onto the evaluation stack.
public: static initonly System::Reflection::Emit::OpCode Add;
public static readonly System.Reflection.Emit.OpCode Add;
staticval mutable Add : System.Reflection.Emit.OpCode
Public Shared ReadOnly Add As OpCode
Field Value
Remarks
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:
value1
is pushed onto the stack.value2
is pushed onto the stack.value2
andvalue1
are popped from the stack;value1
is added tovalue2
.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: