name |
illustrate |
Add |
Add two values and push the result onto the calculation stack. |
|
Add two integers together, perform an overflow check, and push the result to the calculation stack. |
|
Add two unsigned integer values, perform an overflow check, and push the result to the calculation stack. |
And |
Computes the bitwise "AND" of two values and pushes the result onto the calculation stack. |
Arglist |
Returns an unmanaged pointer to the parameter list of the current method. |
Beq |
If the two values are equal, control is transferred to the target instruction. |
|
If the two values are equal, control is transferred to the target instruction (short format). |
Bge |
If the first value is greater than or equal to the second value, control is transferred to the target instruction. |
|
If the first value is greater than or equal to the second value, control is transferred to the target instruction (short format). |
|
When comparing unsigned integer values or unsorted floating point values, if the first value is greater than the second value, control is transferred to the target instruction. |
|
When comparing unsigned integer values or unsorted floating point values, if the first value is greater than the second value, control is transferred to the target instruction (short format). |
Bgt |
If the first value is greater than the second value, control is transferred to the target instruction. |
|
If the first value is greater than the second value, control is transferred to the target instruction (short format). |
|
When comparing unsigned integer values or unsorted floating point values, if the first value is greater than the second value, control is transferred to the target instruction. |
|
When comparing unsigned integer values or unsorted floating point values, if the first value is greater than the second value, control is transferred to the target instruction (short format). |
Ble |
If the first value is less than or equal to the second value, control is transferred to the target instruction. |
|
If the first value is less than or equal to the second value, control is transferred to the target instruction (short format). |
|
When comparing unsigned integer values or unsorted floating point values, if the first value is less than or equal to the second value, control is transferred to the target instruction. |
|
When comparing unsigned integer values or unsorted floating point values, if the first value is less than or equal to the second value, control is transferred to the target instruction (short format). |
Blt |
If the first value is less than the second value, control is transferred to the target instruction. |
|
If the first value is less than the second value, control is transferred to the target instruction (short format). |
|
When comparing unsigned integer values or unsorted floating point values, if the first value is less than the second value, control is transferred to the target instruction. |
|
When comparing unsigned integer values or unsorted floating point values, if the first value is less than the second value, control is transferred to the target instruction (short format). |
|
When two unsigned integer values or unsorted floating point values are not equal, control is transferred to the target instruction. |
|
When two unsigned integer values or unsorted floating point values are not equal, control is transferred to the target instruction (short format). |
Box |
Converts a value class to an object reference (type O). |
Br |
Unconditionally transfer control to the target instruction. |
|
Unconditionally transfer control to the target instruction (short format). |
Break |
Send a signal to the Common Language Structure (CLI) to inform the debugger that a breakpoint has hit. |
Brfalse |
If value is false, empty reference (Nothing in Visual Basic), or zero, control is transferred to the target instruction. |
|
If value is false, empty reference, or zero, control is transferred to the target instruction. |
Brtrue |
If value is true, non-null, or non-zero, control is transferred to the target instruction. |
|
If value is true, non-null, or non-zero, control is transferred to the target instruction (short format). |
Call |
Calls a method indicated by the passed method specifier. |
Calli |
The method indicated on the calculation stack (as a pointer to the entry point) is called by calling the parameters described in the convention. |
Callvirt |
Call a late binding method on the object and push the return value to the calculation stack. |
Castclass |
Try to convert the object passed by the reference to the specified class. |
Ceq |
Compare two values. If the two values are equal, the integer value 1 (int32) is pushed to the calculation stack; otherwise, 0 (int32) is pushed to the calculation stack. |
Cgt |
Compare two values. If the first value is greater than the second value, the integer value 1 (int32) is pushed to the calculation stack; otherwise, 0 (int32) is pushed to the calculation stack. |
|
Compare two unsigned or unsorted values. If the first value is greater than the second value, the integer value 1 (int32) is pushed to the calculation stack; otherwise, 0 (int32) is pushed to the calculation stack. |
Ckfinite |
If the value is not a finite number, an ArithmeticException is raised. |
Clt |
Compare two values. If the first value is less than the second value, the integer value 1 (int32) is pushed to the calculation stack; otherwise, 0 (int32) is pushed to the calculation stack. |
|
Compare unsigned or unsorted values value1 and value2. If value1 is less than value2, the integer value 1 (int32) is pushed to the calculation stack; otherwise, 0 (int32) is pushed to the calculation stack. |
Constrained |
Constrain the type to which the virtual method is called. |
|
Converts the value at the top of the compute stack to a native int. |
Conv.I1 |
Convert the value at the top of the compute stack to int8 and then expand (filled) it to int32. |
Conv.I2 |
Convert the value at the top of the compute stack to int16 and then expand (filled) it to int32. |
Conv.I4 |
Converts the value at the top of the compute stack to int32. |
Conv.I8 |
Converts the value at the top of the compute stack to int64. |
|
Converts a signed value at the top of the compute stack to a signed native int and throws an OverflowException on overflow. |
|
Converts an unsigned value at the top of the compute stack to a signed native int and throws an OverflowException on overflow. |
.I1 |
Converts the signed value at the top of the compute stack to signed int8 and expands it to int32 and throws an OverflowException on overflow. |
. |
Converts the unsigned value at the top of the compute stack to signed int8 and expands it to int32 and throws an OverflowException on overflow. |
.I2 |
Converts the signed value at the top of the compute stack to signed int16 and expands it to int32, and throws an OverflowException on overflow. |
. |
Converts the unsigned value at the top of the compute stack to signed int16 and expands it to int32, and throws an OverflowException on overflow. |
.I4 |
Converts the signed value at the top of the compute stack to a signed int32 and throws an OverflowException on overflow. |
. |
Converts an unsigned value at the top of the compute stack to a signed int32 and throws an OverflowException on overflow. |
.I8 |
Converts the signed value at the top of the compute stack to a signed int64 and throws an OverflowException on overflow. |
. |
Converts an unsigned value at the top of the compute stack to a signed int64 and throws an OverflowException on overflow. |
|
Converts a signed value at the top of the compute stack to an unsigned native int and throws an OverflowException on overflow. |
|
Converts an unsigned value at the top of the compute stack to an unsigned native int and throws an OverflowException on overflow. |
.U1 |
Converts the signed value at the top of the compute stack to unsigned int8 and expands it to int32, and throws an OverflowException on overflow. |
. |
Converts an unsigned value at the top of the compute stack to unsigned int8 and expands it to int32, and throws an OverflowException on overflow. |
.U2 |
Converts the signed value at the top of the compute stack to unsigned int16 and expands it to int32, and throws an OverflowException on overflow. |
. |
Converts the unsigned value at the top of the compute stack to unsigned int16 and expands it to int32, and throws an OverflowException on overflow. |
.U4 |
Converts the signed value at the top of the compute stack to unsigned int32 and throws an OverflowException on overflow. |
. |
Converts an unsigned value at the top of the compute stack to unsigned int32 and throws an OverflowException on overflow. |
.U8 |
Converts the signed value at the top of the compute stack to unsigned int64 and throws an OverflowException on overflow. |
. |
Converts an unsigned value at the top of the compute stack to unsigned int64 and throws an OverflowException on overflow. |
|
Converts the unsigned integer value at the top of the calculation stack to float32. |
Conv.R4 |
Converts the value at the top of the compute stack to float32. |
Conv.R8 |
Converts the value at the top of the compute stack to float64. |
|
Convert the value at the top of the compute stack to an unsigned native int and then expand it to a native int. |
Conv.U1 |
Convert the value at the top of the compute stack to unsigned int8 and then expand it to int32. |
Conv.U2 |
Convert the value at the top of the compute stack to unsigned int16 and then expand it to int32. |
Conv.U4 |
Convert the value at the top of the compute stack to unsigned int32 and then expand it to int32. |
Conv.U8 |
Convert the value at the top of the compute stack to unsigned int64 and expand it to int64. |
Cpblk |
Copy the specified number of bytes from the source address to the destination address. |
Cpobj |
Copy the value type at the address of the object (&, *, or native int type) to the address of the target object (&, *, or native int type). |
Div |
Divide the two values and push the result onto the calculation stack as floating point (type F) or quotient (type int32). |
|
The two unsigned integer values are divided and the result ( int32 ) is pushed onto the calculation stack. |
Dup |
Copy the current topmost value on the compute stack and push the copy to the compute stack. |
Endfilter |
Transfer control from the filter clause of the exception back to the common language structure (CLI) exception handler. |
Endfinally |
Transfer control from the fault or finally clause of the exception block back to the common language structure (CLI) exception handler. |
Initblk |
Initializes a specified block of memory located at a specific address to a given size and initial value. |
Initobj |
Initializes each field of the value type at the specified address to 0 of the null reference or the appropriate primitive type. |
Isinst |
Tests whether the object reference (type O) is an instance of a specific class. |
Jmp |
Exit the current method and skip to the specified method. |
Ldarg |
Loads the parameter (referenced by the specified index value) onto the stack. |
Ldarg.0 |
Load the parameter indexed to 0 onto the calculation stack. |
Ldarg.1 |
Load the parameter indexed to 1 onto the calculation stack. |
Ldarg.2 |
Load the parameter indexed to 2 onto the calculation stack. |
Ldarg.3 |
Load the parameter indexed to 3 onto the calculation stack. |
|
Load the parameter (referenced by the specified short format index) onto the calculation stack. |
Ldarga |
Load the parameter address onto the calculation stack. |
|
Load parameter addresses onto the calculation stack in short format. |
Ldc.I4 |
Push the provided value of type int32 as int32 onto the calculation stack. |
Ldc.I4.0 |
Push the integer value 0 as int32 onto the calculation stack. |
Ldc.I4.1 |
Push the integer value 1 as int32 onto the calculation stack. |
Ldc.I4.2 |
Push the integer value 2 as int32 onto the calculation stack. |
Ldc.I4.3 |
Push the integer value 3 as int32 onto the calculation stack. |
Ldc.I4.4 |
Push the integer value 4 as int32 onto the calculation stack. |
Ldc.I4.5 |
Push the integer value 5 as int32 onto the calculation stack. |
Ldc.I4.6 |
Push the integer value 6 as int32 onto the calculation stack. |
Ldc.I4.7 |
Push the integer value 7 as int32 onto the calculation stack. |
Ldc.I4.8 |
Push the integer value 8 as int32 onto the calculation stack. |
Ldc.I4.M1 |
Push the integer value -1 as int32 onto the calculation stack. |
Ldc. |
Push the provided int8 value as int32 onto the calculation stack (short format). |
Ldc.I8 |
Push the provided value of type int64 as int64 onto the calculation stack. |
Ldc.R4 |
Push the provided value of type float32 as F (float) onto the calculation stack. |
Ldc.R8 |
Push the provided value of type float64 as F (float) onto the calculation stack. |
Ldelem |
Load elements from the specified array index to the top of the compute stack, as specified in the directive. |
|
Load an element of type native int at the specified array index as native int to the top of the compute stack. |
Ldelem.I1 |
Load an element of type int8 at the specified array index as int32 to the top of the calculation stack. |
Ldelem.I2 |
Load an element of type int16 at the specified array index as int32 to the top of the calculation stack. |
Ldelem.I4 |
Load an element of type int32 at the specified array index as int32 to the top of the calculation stack. |
Ldelem.I8 |
Load an element of type int64 at the specified array index as int64 to the top of the calculation stack. |
Ldelem.R4 |
Load an element of type float32 at the specified array index as F (floatpoint) to the top of the calculation stack. |
Ldelem.R8 |
Load an element of type float64 at the index of the specified array as F (floatpoint) to the top of the calculation stack. |
|
Load the element containing the object reference at the specified array index as O type (object reference) to the top of the calculation stack. |
Ldelem.U1 |
Load an element of type unsigned int8 at the specified array index as int32 to the top of the compute stack. |
Ldelem.U2 |
Load an element of type unsigned int16 at the index of the specified array to the top of the compute stack as int32. |
Ldelem.U4 |
Load an element of type unsigned int32 at the specified array index as int32 to the top of the compute stack. |
Ldelema |
Load the address of the array element located at the specified array index as a & type (managed pointer) to the top of the compute stack. |
Ldfld |
Finds the value in the object that references the field currently on the calculation stack. |
Ldflda |
Find the address in the object whose references the field currently located on the calculation stack. |
Ldftn |
Push an unmanaged pointer (native int type) to native code that implements a specific method onto the compute stack. |
|
Load the value of type native int indirectly on the compute stack as native int . |
Ldind.I1 |
Load the value of type int8 indirectly as int32 on the calculation stack. |
Ldind.I2 |
Load the value of type int16 indirectly as int32 on the calculation stack. |
Ldind.I4 |
Load the value of type int32 indirectly on the calculation stack as int32. |
Ldind.I8 |
Load the value of type int64 indirectly as int64 on the calculation stack. |
Ldind.R4 |
Load the value of type float32 indirectly onto the calculation stack as F (float) type. |
Ldind.R8 |
Load the value of type float64 indirectly onto the calculation stack as the F (float) type. |
|
Load the object reference indirectly onto the calculation stack as an O (object reference) type. |
Ldind.U1 |
Load the value of type unsigned int8 indirectly as int32 on the calculation stack. |
Ldind.U2 |
Load the value of type unsigned int16 indirectly as int32 on the calculation stack. |
Ldind.U4 |
Load the value of type unsigned int32 indirectly on the calculation stack as int32. |
Ldlen |
Push the number of elements of a zero-based, one-dimensional array to the calculation stack. |
Ldloc |
Load local variables at the specified index onto the calculation stack. |
Ldloc.0 |
Load local variables at index 0 onto the calculation stack. |
Ldloc.1 |
Load local variables at index 1 onto the calculation stack. |
Ldloc.2 |
Load local variables at index 2 onto the calculation stack. |
Ldloc.3 |
Load local variables at index 3 onto the calculation stack. |
|
Load local variables at a specific index onto the calculation stack (short format). |
Ldloca |
Load the address of the local variable located at a specific index onto the calculation stack. |
|
Load the address of local variables located at a specific index onto the calculation stack (short format). |
Ldnull |
Push an empty reference (type O) onto the compute stack. |
Ldobj |
Copy the value type object pointed to by the address to the top of the calculation stack. |
Ldsfld |
Push the value of the static field onto the calculation stack. |
Ldsflda |
Push the address of the static field to the calculation stack. |
Ldstr |
Push a new object reference to the string stored in the metadata. |
Ldtoken |
Convert the metadata tag to its runtime representation and push it onto the compute stack. |
Ldvirtftn |
Push an unmanaged pointer (native int type) to native code implementing a specific virtual method associated with the specified object to the compute stack. |
Leave |
Exit the protected code area and unconditionally transfer control to a specific target instruction. |
|
Exit the protected code area and unconditionally transfer control to the target instruction (abbreviation). |
Localloc |
Allocate a specific number of bytes from the local dynamic memory pool and push the address of the first allocated byte (transient pointer, * type) to the compute stack. |
Mkrefany |
Push a typed reference to a specific type instance onto the compute stack. |
Mul |
Multiply the two values and push the result onto the calculation stack. |
|
Multiply two integer values, perform an overflow check, and push the result to the calculation stack. |
|
Multiply two unsigned integer values, perform an overflow check, and push the result to the calculation stack. |
Neg |
Perform inverting a value and push the result onto the calculation stack. |
Newarr |
Push object references to a new zero-based one-dimensional array whose elements belong to a specific type onto the calculation stack. |
Newobj |
Creates a new object or instance of value type and pushes an object reference (O type) onto the calculation stack. |
Nop |
If the opcode is patched, the space is filled. Although processing cycles may be consumed, no meaningful operation is performed. |
Not |
Compute bitwise complement of integer values on the top of the stack and push the result as the same type onto the calculation stack. |
Or |
Compute bitwise complements of two integer values located at the top of the stack and pushes the result onto the calculation stack. |
Pop |
Removes the value currently at the top of the compute stack. |
Prefix1 |
Infrastructure. This instruction is a reserved instruction. |
Prefix2 |
Infrastructure. This instruction is a reserved instruction. |
Prefix3 |
Infrastructure. This instruction is a reserved instruction. |
Prefix4 |
Infrastructure. This instruction is a reserved instruction. |
Prefix5 |
Infrastructure. This instruction is a reserved instruction. |
Prefix6 |
Infrastructure. This instruction is a reserved instruction. |
Prefix7 |
Infrastructure. This instruction is a reserved instruction. |
Prefixref |
Infrastructure. This instruction is a reserved instruction. |
Readonly |
Specifies that the following array address operation does not perform type checking at runtime and returns a managed pointer with limited variability. |
Refanytype |
Retrieves type tags embedded within typed references. |
Refanyval |
Retrieves the address (& type) embedded within the typed reference. |
Rem |
Divide the two values and push the remainder onto the calculation stack. |
|
Divide two unsigned values and push the remainder onto the calculation stack. |
Ret |
Return from the current method and push the return value (if present) from the caller's compute stack to the callee's compute stack. |
Rethrow |
The current exception is raised again. |
Shl |
Move the integer value left (filled with zeros) the specified number of bits and push the result onto the calculation stack. |
Shr |
Moves the integer value right (keep the symbol) the specified number of bits and pushes the result onto the calculation stack. |
|
Move the unsigned integer value right (filled with zeros) the specified number of bits and push the result onto the calculation stack. |
Sizeof |
Push the size (in bytes) of the provided value type onto the calculation stack. |
Starg |
Stores the value at the top of the calculation stack into the parameter slot at the specified index. |
|
Stores the value at the top of the calculation stack at the specified index in the parameter slot (short format). |
Stelem |
Replaces the array element at a given index with the value in the calculation stack, whose type is specified in the instruction. |
|
Replaces the array element at a given index with the native int value on the compute stack. |
Stelem.I1 |
Replaces the array element at a given index with the int8 value on the compute stack. |
Stelem.I2 |
Replaces the array element at a given index with the int16 value on the compute stack. |
Stelem.I4 |
Replaces the array element at a given index with the int32 value on the compute stack. |
Stelem.I8 |
Replaces the array element at a given index with the int64 value on the compute stack. |
Stelem.R4 |
Replaces the array element at a given index with the float32 value on the compute stack. |
Stelem.R8 |
Replaces the array element at a given index with the float64 value on the compute stack. |
|
Replaces the array element at a given index with the object ref value (type O) on the compute stack. |
Stfld |
Replace the value stored in the field of the object reference or pointer with the new value. |
|
Stores a value of type native int at the provided address. |
Stind.I1 |
Store a value of type int8 at the provided address. |
Stind.I2 |
Store a value of type int16 at the provided address. |
Stind.I4 |
Store a value of type int32 at the provided address. |
Stind.I8 |
Store a value of type int64 at the provided address. |
Stind.R4 |
Stores a value of type float32 at the provided address. |
Stind.R8 |
Stores a value of type float64 at the provided address. |
|
Stores the object reference value at the provided address. |
Stloc |
Pop up the current value from the top of the compute stack and store it in the list of local variables at the specified index. |
Stloc.0 |
Pop up the current value from the top of the calculation stack and store it in the list of local variables at index 0. |
Stloc.1 |
Pop up the current value from the top of the calculation stack and store it into the list of local variables at index 1. |
Stloc.2 |
Pop up the current value from the top of the calculation stack and store it into the list of local variables at index 2. |
Stloc.3 |
Pop up the current value from the top of the calculation stack and store it into the list of local variables at index 3. |
|
Pop up the current value from the top of the calculation stack and store it at index in the local variable list (short format). |
Stobj |
Copy the value of the specified type from the compute stack to the provided memory address. |
Stsfld |
Replace the value of the static field with the value from the calculation stack. |
Sub |
Subtract one value from the other values and push the result onto the calculation stack. |
|
Subtract an integer value from another value, perform an overflow check, and push the result onto the calculation stack. |
|
Subtract an unsigned integer value from another value, perform an overflow check, and push the result onto the calculation stack. |
Switch |
Implement jump table. |
Tailcall |
Execute a suffixed method call instruction to remove the stack frame of the current method before executing the actual call instruction. |
Throw |
Raises an exception object currently on the calculation stack. |
Unaligned |
Indicates that the address currently on the calculation stack may not be aligned with the natural size of the immediate ldind, stind, ldfld, stfld, ldobj, stobj, initblk, or cpblk directives. |
Unbox |
Converts a boxed representation of a value type to its unboxed form. |
|
Converts the boxed representation of the type specified in the directive to the unboxed form. |
Volatile |
Specifying that the address currently at the top of the computing stack can be volatile and the results of reading the location cannot be cached, or multiple memory areas of the address cannot be cancelled. |
Xor |
Computes a bitwise exclusive OR of two values located at the top of the compute stack and pushes the result onto the compute stack. |