OpCodes.Sub_Ovf 字段


从另一值中减去一个整数值,执行溢出检查,并且将结果推送到计算堆栈上。Subtracts one integer value from another, performs an overflow check, and pushes the result onto the evaluation stack.

public: static initonly System::Reflection::Emit::OpCode Sub_Ovf;
public static readonly System.Reflection.Emit.OpCode Sub_Ovf;
 staticval mutable Sub_Ovf : System.Reflection.Emit.OpCode
Public Shared ReadOnly Sub_Ovf As OpCode 



下表列出了指令的十六进制和 Microsoft 中间语言(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
DADA sub.ovfsub.ovf 使用溢出检查从一个整数值中减去另一个整数值。Subtracts one integer value from another with an overflow check.

堆栈转换行为顺序如下: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 和 @no__t 从堆栈中弹出;将从 @no__t 中减去 @no__t,并检查溢出。value2 and value1 are popped from the stack; value2 is subtracted from value1 with a check for overflow.

  4. 将结果推送到堆栈上。The result is pushed onto the stack.

如果结果类型中不能表示结果,则会引发 OverflowExceptionOverflowException is thrown if the result can not be represented in the result type.

此操作在有符号整数上执行;对于浮点值,请使用 SubThis operation is performed on signed integers; for floating-point values, use Sub.

以下 @no__t 0 方法重载可以使用 @no__t 操作码:The following Emit method overload can use the sub.ovf opcode:

  • ILGenerator.Emit(OpCode)ILGenerator.Emit(OpCode)