OpCodes.Add Поле

Определение

Складывает два значения и помещает результат в стек вычислений.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 

Значение поля

Комментарии

В следующей таблице приводится список шестнадцатеричных и форматных сборок инструкций языка MSIL, а также краткая сводка.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
5858 addadd Складывает два числовых значения, возвращая новое числовое значение.Adds two numeric values, returning a new numeric value.

Переход в стек в последовательном порядке имеет следующие особенности:The stack transitional behavior, in sequential order, is:

  1. value1 помещается в стек.value1 is pushed onto the stack.

  2. value2 помещается в стек.value2 is pushed onto the stack.

  3. value2 и value1 извлекаются из стека; value1 добавляется в value2.value2 and value1 are popped from the stack; value1 is added to value2.

  4. Результат помещается в стек.The result is pushed onto the stack.

Переполнение не обнаружено для целочисленных операций (для правильной обработки переполнения см. раздел Add_Ovf).Overflow is not detected for integer operations (for proper overflow handling, see Add_Ovf).

Сложение целых чисел, а не насыщенность.Integer addition wraps, rather than saturates. Например, при использовании 8-разрядных целых чисел, где value1 имеет значение 255, а value2 имеет значение 1, то упакованный результат равен 0, а не 256.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.

Переполнение с плавающей точкой возвращает +inf (PositiveInfinity) или -inf (NegativeInfinity).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. Если нет записи для определенного сочетания типа (например, int32 и float; int32 и int64), это недопустимый MSIL-код, который выдает ошибку.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 Тип value1value1 type Тип value2value2 type Тип результатаresult type
addadd int32 int32 int32
addadd int32 native int native int
addadd int32 & &
addadd int32 * *
addadd int64 int64 int64
addadd native int int32 native int
addadd native int native int native int
addadd native int & &
addadd native int * *
addadd F F F
addadd & int32 &
addadd & native int &
addadd * int32 *
addadd * native int *

Следующая перегрузка метода Emit может использовать код операции add.The following Emit method overload can use the add opcode:

Применяется к