iushr |
int
Stack
..., value1, value2 ..., result
Description
Both value1 and value2 must be of type int
. The values are popped from the operand stack. An int
result is calculated by shifting value1 right by s bit positions, with zero extension, where s is the value of the low five bits of value2. The result is pushed onto the operand stack.
Notes
If value1 is positive and s
is value2 & 0x1f, the result is the same as that of value1 >> s
; if value1 is negative, the result is equal to the value of the expression (value1 >> s
) + (2 << ~s
). The addition of the (2 << ~s
) term cancels out the propagated sign bit. The shift distance actually used is always in the range 0 to 31, inclusive.
Contents | Prev | Next | Index
Java Virtual Machine Specification (HTML generated by dkramer on February 25, 1997)
Copyright © 1996 Sun Microsystems, Inc.
All rights reserved
Please send any comments or corrections to doug.kramer@sun.com