119.

prev next contents
lshr

long integer arithmetic shift right

Jasmin Syntax
     lshr 
Stack

Before

After
value1
result-word1
value2-word1
result-word2
value2-word2
...
...

Description

Pops an int and a long integer from the stack. Shifts value2 (the long integer) right by the amount indicated in the low six bits of value1 (an int). The long integer result is then pushed back onto the stack. The value is shifted arithmetically (preserving the sign extension).

This is the same as computing the expression:

x / 2s

where s is value1 and x is value2.

Example

 ; This is like the Java code: ;      long x; ;      x >>= 3; ; lload_1          ; load long in local variable 1 onto stack iconst_3         ; push the integer 3 onto the stack lshr             ; arithmetic shift right lstore_1         ; store the long result in local variable 1 

Bytecode

Type

Description
u1
lshr opcode = 0x7B (123)
See Also

ishl, ishr, iushr, lshl, lushr, iand, land, ior, lor, ixor, lxor


prev next contents
Java Virtual Machine, by Jon Meyer and Troy Downing, O'Reilly Associates


Java Virtual Machine
Java Virtual Machine (Java Series)
ISBN: 1565921941
EAN: 2147483647
Year: 1996
Pages: 171

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net