Shifts an integer value (in sign) to the right by a specified number of bits, pushing the result onto the evaluation stack.
[Visual Basic] Public Shared ReadOnly Shr As OpCode [C#] public static readonly OpCode Shr; [C++] public: static OpCode Shr; [JScript] public static var Shr : OpCode;
The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:
|63||shr||Shifts an integer to the right (shifting in sign).|
The stack transitional behavior, in sequential order, is:
- A value is pushed onto the stack.
- The amount of bits to be shifted is pushed onto the stack.
- 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.
- The result is pushed onto the stack.
The shr.un instruction shifts the value (type int32, int64 or natural int) right by the specified number of bits. The number of bits is a value of type int32, int64 or natural 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 constructor overload can use the shr opcode:
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family