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 

字段值

注解

下表列出了指令的十六进制和 Microsoft 中间语言 (MSIL) 程序集格式,以及简短的参考摘要:

格式 程序集格式 说明
58 add 添加两个数值,返回一个新的数值。

堆栈过渡行为(按顺序排列)是:

  1. value1 被推送到堆栈上。

  2. value2 被推送到堆栈上。

  3. value2value1 从堆栈中弹出; value1 添加到 value2

  4. 结果将推送到堆栈上。

未检测到整数操作溢出, (正确溢出处理,请参阅 Add_Ovf) 。

整数加法换行,而不是饱和。 例如,假设 8 位整数,其中 value1 设置为 255 且 value2 设置为 1,则包装结果为 0 而不是 256。

浮点溢出返回 +inf (PositiveInfinity) 或 -inf (NegativeInfinity) 。

下表列出了可接受的操作数类型及其相应的结果数据类型。 如果特定类型组合没有条目 (例如 int32floatint32int64) ,则它是无效的 Microsoft 中间语言 (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 操作码:

适用于