Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
OpCodes Class
 OpCodes Members
Members FilterMembers Filter
Frameworks FilterFrameworks Filter
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
OpCodes Members

Updated: November 2007

Provides field representations of the Microsoft Intermediate Language (MSIL) instructions for emission by the ILGenerator class members (such as Emit).

The OpCodes type exposes the following members.

  NameDescription
Equals Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Finalize Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
GetType Gets the Type of the current instance. (Inherited from Object.)
MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
TakesSingleByteArgument Returns true or false if the supplied opcode takes a single byte argument.
ToString Returns a String that represents the current Object. (Inherited from Object.)
Top
  NameDescription
Add Adds two values and pushes the result onto the evaluation stack.
Add_Ovf Adds two integers, performs an overflow check, and pushes the result onto the evaluation stack.
Add_Ovf_Un Adds two unsigned integer values, performs an overflow check, and pushes the result onto the evaluation stack.
And Computes the bitwise AND of two values and pushes the result onto the evaluation stack.
Arglist Returns an unmanaged pointer to the argument list of the current method.
Beq Transfers control to a target instruction if two values are equal.
Beq_S Transfers control to a target instruction (short form) if two values are equal.
Bge Transfers control to a target instruction if the first value is greater than or equal to the second value.
Bge_S Transfers control to a target instruction (short form) if the first value is greater than or equal to the second value.
Bge_Un Transfers control to a target instruction if the first value is greater than the second value, when comparing unsigned integer values or unordered float values.
Bge_Un_S Transfers control to a target instruction (short form) if the first value is greater than the second value, when comparing unsigned integer values or unordered float values.
Bgt Transfers control to a target instruction if the first value is greater than the second value.
Bgt_S Transfers control to a target instruction (short form) if the first value is greater than the second value.
Bgt_Un Transfers control to a target instruction if the first value is greater than the second value, when comparing unsigned integer values or unordered float values.
Bgt_Un_S Transfers control to a target instruction (short form) if the first value is greater than the second value, when comparing unsigned integer values or unordered float values.
Ble Transfers control to a target instruction if the first value is less than or equal to the second value.
Ble_S Transfers control to a target instruction (short form) if the first value is less than or equal to the second value.
Ble_Un Transfers control to a target instruction if the first value is less than or equal to the second value, when comparing unsigned integer values or unordered float values.
Ble_Un_S Transfers control to a target instruction (short form) if the first value is less than or equal to the second value, when comparing unsigned integer values or unordered float values.
Blt Transfers control to a target instruction if the first value is less than the second value.
Blt_S Transfers control to a target instruction (short form) if the first value is less than the second value.
Blt_Un Transfers control to a target instruction if the first value is less than the second value, when comparing unsigned integer values or unordered float values.
Blt_Un_S Transfers control to a target instruction (short form) if the first value is less than the second value, when comparing unsigned integer values or unordered float values.
Bne_Un Transfers control to a target instruction when two unsigned integer values or unordered float values are not equal.
Bne_Un_S Transfers control to a target instruction (short form) when two unsigned integer values or unordered float values are not equal.
Box Converts a value type to an object reference (type O).
Br Unconditionally transfers control to a target instruction.
Br_S Unconditionally transfers control to a target instruction (short form).
Break Signals the Common Language Infrastructure (CLI) to inform the debugger that a break point has been tripped.
Brfalse Transfers control to a target instruction if value is false, a null reference (Nothing in Visual Basic), or zero.
Brfalse_S Transfers control to a target instruction if value is false, a null reference, or zero.
Brtrue Transfers control to a target instruction if value is true, not null, or non-zero.
Brtrue_S Transfers control to a target instruction (short form) if value is true, not null, or non-zero.
Call Calls the method indicated by the passed method descriptor.
Calli Calls the method indicated on the evaluation stack (as a pointer to an entry point) with arguments described by a calling convention.
Callvirt Calls a late-bound method on an object, pushing the return value onto the evaluation stack.
Castclass Attempts to cast an object passed by reference to the specified class.
Ceq Compares two values. If they are equal, the integer value 1 (int32) is pushed onto the evaluation stack; otherwise 0 (int32) is pushed onto the evaluation stack.
Cgt Compares two values. If the first value is greater than the second, the integer value 1 (int32) is pushed onto the evaluation stack; otherwise 0 (int32) is pushed onto the evaluation stack.
Cgt_Un Compares two unsigned or unordered values. If the first value is greater than the second, the integer value 1 (int32) is pushed onto the evaluation stack; otherwise 0 (int32) is pushed onto the evaluation stack.
Ckfinite Throws ArithmeticException if value is not a finite number.
Clt Compares two values. If the first value is less than the second, the integer value 1 (int32) is pushed onto the evaluation stack; otherwise 0 (int32) is pushed onto the evaluation stack.
Clt_Un Compares the unsigned or unordered values value1 and value2. If value1 is less than value2, then the integer value 1 (int32) is pushed onto the evaluation stack; otherwise 0 (int32) is pushed onto the evaluation stack.
Constrained Constrains the type on which a virtual method call is made.
Conv_I Converts the value on top of the evaluation stack to native int.
Conv_I1 Converts the value on top of the evaluation stack to int8, then extends (pads) it to int32.
Conv_I2 Converts the value on top of the evaluation stack to int16, then extends (pads) it to int32.
Conv_I4 Converts the value on top of the evaluation stack to int32.
Conv_I8 Converts the value on top of the evaluation stack to int64.
Conv_Ovf_I Converts the signed value on top of the evaluation stack to signed native int, throwing OverflowException on overflow.
Conv_Ovf_I_Un Converts the unsigned value on top of the evaluation stack to signed native int, throwing OverflowException on overflow.
Conv_Ovf_I1 Converts the signed value on top of the evaluation stack to signed int8 and extends it to int32, throwing OverflowException on overflow.
Conv_Ovf_I1_Un Converts the unsigned value on top of the evaluation stack to signed int8 and extends it to int32, throwing OverflowException on overflow.
Conv_Ovf_I2 Converts the signed value on top of the evaluation stack to signed int16 and extending it to int32, throwing OverflowException on overflow.
Conv_Ovf_I2_Un Converts the unsigned value on top of the evaluation stack to signed int16 and extends it to int32, throwing OverflowException on overflow.
Conv_Ovf_I4 Converts the signed value on top of the evaluation stack to signed int32, throwing OverflowException on overflow.
Conv_Ovf_I4_Un Converts the unsigned value on top of the evaluation stack to signed int32, throwing OverflowException on overflow.
Conv_Ovf_I8 Converts the signed value on top of the evaluation stack to signed int64, throwing OverflowException on overflow.
Conv_Ovf_I8_Un Converts the unsigned value on top of the evaluation stack to signed int64, throwing OverflowException on overflow.
Conv_Ovf_U Converts the signed value on top of the evaluation stack to unsigned native int, throwing OverflowException on overflow.
Conv_Ovf_U_Un Converts the unsigned value on top of the evaluation stack to unsigned native int, throwing OverflowException on overflow.
Conv_Ovf_U1 Converts the signed value on top of the evaluation stack to unsigned int8 and extends it to int32, throwing OverflowException on overflow.
Conv_Ovf_U1_Un Converts the unsigned value on top of the evaluation stack to unsigned int8 and extends it to int32, throwing OverflowException on overflow.
Conv_Ovf_U2 Converts the signed value on top of the evaluation stack to unsigned int16 and extends it to int32, throwing OverflowException on overflow.
Conv_Ovf_U2_Un Converts the unsigned value on top of the evaluation stack to unsigned int16 and extends it to int32, throwing OverflowException on overflow.
Conv_Ovf_U4 Converts the signed value on top of the evaluation stack to unsigned int32, throwing OverflowException on overflow.
Conv_Ovf_U4_Un Converts the unsigned value on top of the evaluation stack to unsigned int32, throwing OverflowException on overflow.
Conv_Ovf_U8 Converts the signed value on top of the evaluation stack to unsigned int64, throwing OverflowException on overflow.
Conv_Ovf_U8_Un Converts the unsigned value on top of the evaluation stack to unsigned int64, throwing OverflowException on overflow.
Conv_R_Un Converts the unsigned integer value on top of the evaluation stack to float32.
Conv_R4 Converts the value on top of the evaluation stack to float32.
Conv_R8 Converts the value on top of the evaluation stack to float64.
Conv_U Converts the value on top of the evaluation stack to unsigned native int, and extends it to native int.
Conv_U1 Converts the value on top of the evaluation stack to unsigned int8, and extends it to int32.
Conv_U2 Converts the value on top of the evaluation stack to unsigned int16, and extends it to int32.
Conv_U4 Converts the value on top of the evaluation stack to unsigned int32, and extends it to int32.
Conv_U8 Converts the value on top of the evaluation stack to unsigned int64, and extends it to int64.
Cpblk Copies a specified number bytes from a source address to a destination address.
Cpobj Copies the value type located at the address of an object (type &, * or native int) to the address of the destination object (type &, * or native int).
Div Divides two values and pushes the result as a floating-point (type F) or quotient (type int32) onto the evaluation stack.
Div_Un Divides two unsigned integer values and pushes the result (int32) onto the evaluation stack.
Dup Copies the current topmost value on the evaluation stack, and then pushes the copy onto the evaluation stack.
Endfilter Transfers control from the filter clause of an exception back to the Common Language Infrastructure (CLI) exception handler.
Endfinally Transfers control from the fault or finally clause of an exception block back to the Common Language Infrastructure (CLI) exception handler.
Initblk Initializes a specified block of memory at a specific address to a given size and initial value.
Initobj Initializes each field of the value type at a specified address to a null reference or a 0 of the appropriate primitive type.
Isinst Tests whether an object reference (type O) is an instance of a particular class.
Jmp Exits current method and jumps to specified method.
Ldarg Loads an argument (referenced by a specified index value) onto the stack.
Ldarg_0 Loads the argument at index 0 onto the evaluation stack.
Ldarg_1 Loads the argument at index 1 onto the evaluation stack.
Ldarg_2 Loads the argument at index 2 onto the evaluation stack.
Ldarg_3 Loads the argument at index 3 onto the evaluation stack.