OpCodes.Mul OpCodes.Mul OpCodes.Mul OpCodes.Mul Field


Multiplies two values and pushes the result on the evaluation stack.

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

Field Value


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
5A mul Multiplies two values on the stack.

The stack transitional behavior, in sequential order, is:

  1. value1 is pushed onto the stack.

  2. value2 is pushed onto the stack.

  3. value2 and value1 are popped from the stack; value1 is multiplied by value2.

  4. The result is pushed onto the stack.

The mul instruction multiplies value1 by value2 and pushes the result on the stack. Integer operations silently truncate the upper bits on overflow.

See Mul_Ovf for an integer-specific multiply operation with overflow handling.

For floating-point types, 0 * infinity = NaN.

The following Emit method overload can use the mul opcode:

  • ILGenerator.Emit(OpCode)

Applies to