OpCodes.Add Campo

Definição

Adiciona dois valores e envia o resultado para a pilha de avaliação.

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 

Valor do campo

Comentários

A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:

Formatar Formato de assembly Descrição
58 add Adiciona dois valores numéricos, retornando um novo valor numérico.

O comportamento de transição da pilha, em ordem sequencial, é:

  1. value1 é enviado por push para a pilha.

  2. value2 é enviado por push para a pilha.

  3. value2 e value1 são exibidos da pilha; value1 é adicionado a value2.

  4. O resultado é enviado por push para a pilha.

O estouro não é detectado para operações de inteiro (para tratamento de estouro adequado, consulte Add_Ovf).

A adição de inteiro encapsula, em vez de satura. Por exemplo, supondo inteiros de 8 bits em value1 que é definido como 255 e value2 é definido como 1, o resultado encapsulado é 0 em vez de 256.

O estouro de ponto flutuante retorna +inf (PositiveInfinity) ou -inf (NegativeInfinity).

Os tipos de operando aceitáveis e seu tipo de dados de resultado correspondente são listados na tabela abaixo. Se não houver nenhuma entrada para uma combinação de tipo específica (por exemplo, int32 e float; int32 e int64), ela será uma MSIL (Linguagem Intermediária da Microsoft) inválida e gerará um erro.

operando tipo value1 tipo value2 tipo de resultado
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 *

A sobrecarga do método Emit a seguir pode usar o add opcode:

Aplica-se a