OpCodes.Mul_Ovf_Un 字段


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

public: static initonly System::Reflection::Emit::OpCode Mul_Ovf_Un;
public static readonly System.Reflection.Emit.OpCode Mul_Ovf_Un;
 staticval mutable Mul_Ovf_Un : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mul_Ovf_Un 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
D9D9 mul.ovf.unmul.ovf.un 将堆栈上的两个无符号值与溢出检查相乘。Multiplies two unsigned 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 乘以无符号整数 value2,并将结果推送到堆栈上。The mul.ovf.un instruction multiplies unsigned integer value1 by unsigned 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.un opcode:

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