Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

OpCodes::Neg Field

 

Negates a value and pushes the result onto the evaluation stack.

Namespace:   System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

public:
static initonly OpCode Neg

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

65

neg

Negates the value currently on top of the stack.

The stack transitional behavior, in sequential order, is:

  1. A value is pushed onto the stack.

  2. A value is popped from the stack and negated.

  3. The result is pushed onto the stack.

The neg instruction negates value and pushes the result on top of the stack. The return type is the same as the operand type.

Negation of integral values is standard two's complement negation. In particular, negating the most negative number (which does not have a positive counterpart) yields the most negative number. To detect this overflow use the Sub_Ovf instruction instead (that is, subtract from 0).

Negating a floating-point number cannot overflow, and negating NaN returns NaN.

The following Emit method overload can use the neg opcode:

  • ILGenerator.Emit(OpCode)

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.1
Windows Phone
Available since 8.1
Return to top
Show:
© 2017 Microsoft