.method main                                                                                                   
.args   1
.define OBJREF = 42

         bipush OBJREF		// stack = 42
         bipush 1		// stack = 1, 42
	 bipush 1		// stack = 1, 1, 42
	 ishl			// stack = 2, 42
	 pop			// stack = 42
         bipush 0		// stack = 0, 42
	 bipush 1		// stack = 1, 0, 42
	 ishl			// stack = 0, 42
	 pop			// stack = 42
         bipush 1		// stack = 1, 42
	 bipush 0		// stack = 0, 1, 42
	 ishl			// stack = 1, 42
	 pop			// stack = 42
         bipush -1		// stack = -1, 42
	 bipush 1		// stack = 1, -1, 42
	 ishl			// stack = -2, 42
	 pop			// stack = 42
         bipush 1		// stack = 1, 42
	 bipush -1		// stack = -1, 1, 42
	 ishl			// stack = -2147483648, 42
	 pop			// stack = 42
				// 2^26 = 67108864
	 ldc_w 67108864		// stack = 67108864, 42
         bipush 5		// stack = 5, 67108864, 42 
         ishl			// stack = -2147483648, 42
	 pop			// stack = 42
				// 2^25 = 33554432
	 ldc_w 33554432		// stack = 33554432, 42
	 bipush 5		// stack = 5, 33554432, 42
	 ishl			// stack = 1073741824, 42
	 pop			// stack = 42
         bipush 1		// stack = 1, 42
         bipush 31		// stack = 31, 1, 42
         ishl			// stack = -2147483648, 42
	 pop			// stack = 42
         bipush 1		// stack = 1, 42
         bipush 32		// stack = 32, 1, 42
         ishl			// stack = 1, 42
	 pop			// stack = 42
         bipush 1		// stack = 1, 42
         bipush -31		// stack = -31, 1, 42
         ishl			// stack = 2, 42
	 pop			// stack = 42
         bipush 1		// stack = 1, 42
         bipush -32		// stack = -32, 1, 42
         ishl			// stack = 1, 42
	 pop			// stack = 42
         bipush 2		// stack = 2, 42
         bipush 0		// stack = 0, 2, 42
         ishl			// stack = 2, 42
	 pop			// stack = 42
         bipush 0		// stack = 0, 42
         bipush 0		// stack = 0, 0, 42
         ishl			// stack = 0, 42
	 pop			// stack = 42
         bipush -2		// stack = -2, 42
         bipush 0		// stack = 0, -2, 42
         ishl			// stack = -2, 42
	 pop			// stack = 42
         bipush 0		// stack = 0, 42
         bipush -3		// stack = -3, 0, 42
         ishl			// stack = 0, 42
	 pop			// stack = 42
         bipush -1		// stack = -1, 42
	 bipush -1		// stack = -1, -1, 42
	 ishl			// stack = -2147483648, 42
	 pop	 		// stack = 42
	 bipush 1		// stack = 1, 42
	 bipush 2		// stack = 2, 1, 42
	 ishl			// stack = -2147483648, 42
	 pop	 		// stack = 42

         bipush 0		// stack = 0
         ireturn		// return 0

