OpCodes.Mul_Ovf 字段


将两个整数值相乘,执行溢出检查,并将结果推送到计算堆栈上。Multiplies two integer values, performs an overflow check, and pushes the result onto the evaluation stack.

public: static initonly System::Reflection::Emit::OpCode Mul_Ovf;
public static readonly System.Reflection.Emit.OpCode Mul_Ovf;
 staticval mutable Mul_Ovf : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mul_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
D8D8 mul.ovfmul.ovf 使用溢出检查将堆栈上的两个整数值相乘。Multiplies two integer values on the stack 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 与 value2 相乘,并进行溢出检查。value2 and value1 are popped from the stack; value1 is multiplied by value2, with an overflow check.

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

@No__t-0 指令将整数 value1 乘以整数 @no__t 2,并将结果推送到堆栈上。The mul.ovf instruction multiplies integer value1 by integer value2 and pushes the result on the stack. 如果结果类型中不能容纳结果,则会引发异常。An exception is thrown if the result will not fit in the result type.

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

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

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