This topic has not yet been rated - Rate this topic

OpCodes.Shr Field

Shifts an integer value (in sign) to the right by a specified number of bits, pushing the result onto the evaluation stack.

Namespace:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)
public static readonly OpCode Shr

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

63

shr

Shifts an integer to the right (shifting in sign).

The stack transitional behavior, in sequential order, is:

  1. A value is pushed onto the stack.

  2. The amount of bits to be shifted is pushed onto the stack.

  3. The number of bits to be shifted and the value are popped from the stack; the value is shifted right by the specified number of bits.

  4. The result is pushed onto the stack.

The shr.un instruction shifts the value (type int32, int64 or native int) right by the specified number of bits. The number of bits is a value of type int32 or native int. The return value is unspecified if the number of bits to be shifted is greater than or equal to the width (in bits) of the supplied value.

Shr replicates the high order bit on each shift, preserving the sign of the original value in the result.

The following Emit method overload can use the shr opcode:

  • ILGenerator.Emit(OpCode)

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ