lshr

Operation
Arithmetic shift right long

lshr

Forms
lshr = 123 (0x7b)

Stack
..., value1.word1, value1.word2, value2 ..., result.word1, result.word2

Description
The value1 must be of type long and value2 must be of type int. The values are popped from the operand stack. A long result is calculated by shifting value1 right by s bit positions, with sign extension, where s is the value of the low six bits of value2. The result is pushed onto the operand stack.

Notes
The resulting value is , where s is value2 & 0x3f. For nonnegative value1, this is equivalent to truncating long division by 2 to the power s. The shift distance actually used is therefore always in the range 0 to 63, inclusive, as if value2 were subjected to a bitwise logical AND with the mask value 0x3f.