Unsigned Integers: assume V0 = 0x1234
|
V1 = V0 >>> 5
|
V1 = 0x1234 >>> 5
0000_0000_0000_0000_0001_0010_0011_0100
- initial bit pattern
0000_0000_0000_0000_0000_0000_1001_0001
- after 5th right shift
V1 = 0x91
|
One operand is an unsigned integer memory locations, the other is an integer constant.
The 16-bit integer is sign-extended to 32-bits when it is loaded into the math stack.
The lower 5 bits are shifted out. The remaining 11 bits are shifted into the lowest 11 bit positions. The upper 5 positions are filled with 0's.
The result is placed in an unsigned integer memory location.
|