Export (0) Print
Expand All
Expand Minimize

OpCodes.Conv_Ovf_I1 Field

Converts the signed value on top of the evaluation stack to signed int8 and extends it to int32, throwing OverflowException on overflow.

[Visual Basic]
Public Shared ReadOnly Conv_Ovf_I1 As OpCode
[C#]
public static readonly OpCode Conv_Ovf_I1;
[C++]
public: static OpCode Conv_Ovf_I1;
[JScript]
public static var Conv_Ovf_I1 : 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
B3 conv.ovf.i1 Convert to an int8 (on the stack as int32) and throw an exception on overflow.

The stack transitional behavior, in sequential order, is:

  1. value is pushed onto the stack.
  2. value is popped from the stack and the conversion operation is attempted. If overflow occurs, an exception is thrown.
  3. If the conversion is successful, the resulting value is pushed onto the stack.

The conv.ovf.i1 opcode converts the value on top of the stack to the type specified in the opcode, and places that converted value on the top of the stack. If the value is too large or too small to be represented by the target type, an exception is thrown.

Conversions from floating-point numbers to integer values truncate the number toward zero. Note that integer values of less than 4 bytes are extended to int32 when they are loaded onto the evaluation stack (unless conv.ovf.i or conv.ovf.u are used, in which case the result is also natural int).

OverflowException is thrown if the result can not be represented in the result type.

The following Emit constructor overload can use the conv.ovf.i1 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:
© 2014 Microsoft