import java.io.PrintStream;public class URShift
{            public URShift()
            {
/*   1*/    //    0    0:aload_0         
/*   1*/    //    1    1:invokespecial   #1   <Method void Object()>
/*   1*/    //    2    4:return          
            }            public static void main(String args[])
            {
/*   3*/    //    0    0:iconst_m1       
/*   3*/    //    1    1:istore_1        
/*   4*/    //    2    2:iload_1         
/*   4*/    //    3    3:bipush          10
/*   4*/    //    4    5:iushr           
/*   4*/    //    5    6:istore_1        
/*   5*/    //    6    7:getstatic       #2   <Field PrintStream System.out>
/*   5*/    //    7   10:iload_1         
/*   5*/    //    8   11:invokevirtual   #3   <Method void PrintStream.println(int)>
/*   6*/    //    9   14:ldc2w           #4   <Long -1L>
/*   6*/    //   10   17:lstore_2        
/*   7*/    //   11   18:lload_2         
/*   7*/    //   12   19:bipush          10
/*   7*/    //   13   21:lushr           
/*   7*/    //   14   22:lstore_2        
/*   8*/    //   15   23:getstatic       #2   <Field PrintStream System.out>
/*   8*/    //   16   26:lload_2         
/*   8*/    //   17   27:invokevirtual   #6   <Method void PrintStream.println(long)>/*   9*/    //   18   30:iconst_m1       
/*   9*/    //   19   31:istore          4
/*  10*/    //   20   33:iload           4
/*  10*/    //   21   35:bipush          10/*  10*/    //   22   37:iushr           <<<<<<<<<<<<<<<<<<<<<<
/*  10*/    //   23   38:int2short           <<<<<<<<<<<<<<<<<<<<</*  10*/    //   24   39:istore          4
/*  11*/    //   25   41:getstatic       #2   <Field PrintStream System.out>
/*  11*/    //   26   44:iload           4
/*  11*/    //   27   46:invokevirtual   #3   <Method void PrintStream.println(int)>/*  12*/    //   28   49:iconst_m1       
/*  12*/    //   29   50:istore          5
/*  13*/    //   30   52:iload           5
/*  13*/    //   31   54:bipush          10/*  13*/    //   32   56:iushr           <<<<<<<<<<<<<<<<<<<<<<<<<<<
/*  13*/    //   33   57:int2byte        <<<<<<<<<<<<<<<<<<<<<<<<<</*  13*/    //   34   58:istore          5
/*  14*/    //   35   60:getstatic       #2   <Field PrintStream System.out>
/*  14*/    //   36   63:iload           5
/*  14*/    //   37   65:invokevirtual   #3   <Method void PrintStream.println(int)>/*  15*/    //   38   68:iconst_m1       
/*  15*/    //   39   69:istore          5
/*  16*/    //   40   71:getstatic       #2   <Field PrintStream System.out>
/*  16*/    //   41   74:iload           5
/*  16*/    //   42   76:bipush          10/*  16*/    //   43   78:iushr           <<<<<<<<<<<<<<<<<<<<<<<<<</*  16*/    //   44   79:invokevirtual   #7   <Method void PrintStream.print(int)>
/*  17*/    //   45   82:return          
            }
----------------------------------------------------------------------------------------------------------------------------------------------
iushrLogical shift right int
Format   
 iushr   Forms
iushr = 124 (0x7c)Operand Stack
..., value1, value2  ..., resultDescription
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 5 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.