Поделиться через


OpCodes.Add Поле

Определение

Складывает два значения и помещает результат в стек вычислений.

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, а также краткая справочная сводка:

Формат Формат сборки Описание
58 add Добавляет два числовых значения, возвращая новое числовое значение.

Переходный режим стека в последовательном порядке:

  1. value1 помещается в стек.

  2. value2 помещается в стек.

  3. value2 и value1 выскочат из стека; value1 добавляется в value2.

  4. Результат помещается в стек.

Переполнение не обнаружено для целочисленных операций (сведения о правильной обработке переполнения см. в разделе Add_Ovf).

Целочисленное сложение обертывает, а не насыщает. Например, если предположить, что для 8-разрядных целых value1 чисел задано значение 255, а value2 для параметра задано значение 1, результат в оболочке будет равен 0, а не 256.

Функция переполнения с плавающей запятой возвращает +inf (PositiveInfinity) или -inf (NegativeInfinity).

Допустимые типы операндов и соответствующие им типы данных результатов перечислены в таблице ниже. Если для определенного сочетания типов нет записи (например, int32 и float; int32 и int64), это недопустимый msil и вызывает ошибку.

Операнд Тип value1 Тип value2 тип результата
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 *

Emit Следующая перегрузка add метода может использовать код операции:

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