This documentation is archived and is not being maintained.

OpCodes.Mul Field

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

[Visual Basic]
Public Shared ReadOnly Mul As OpCode
[C#]
public static readonly OpCode Mul;
[C++]
public: static OpCode Mul;
[JScript]
public static var Mul : OpCode;

Remarks

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 resulton 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 constructor overload can use the mul opcode:

  • ILGenerator.Emit(OpCode)

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

OpCodes Class | OpCodes Members | System.Reflection.Emit Namespace

Show: