OpCodes.Conv_Ovf_U2_Un Field
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Converts the unsigned value on top of the evaluation stack to unsigned int16
and extends it to int32
, throwing OverflowException on overflow.
public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_U2_Un;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_U2_Un;
staticval mutable Conv_Ovf_U2_Un : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_U2_Un As OpCode
Field Value
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 |
---|---|---|
87 | conv.ovf.u2.un | Converts an unsigned value to an unsigned int16 (on the stack as int32 ) and throw an exception on overflow. |
The stack transitional behavior, in sequential order, is:
value
is pushed onto the stack.value
is popped from the stack and the conversion operation is attempted. If overflow occurs, an exception is thrown.If the conversion is successful, the resulting value is pushed onto the stack.
The conv.ovf.u2.un
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 native int
).
OverflowException is thrown if the result can not be represented in the result type.
The following Emit method overload can use the conv.ovf.u2.un
opcode: