.class obj
.access public

.modifiers

.extends java.lang.Object
.implements

.field value
.access public
.modifiers
.type int

.method <init>
.maxStack 2
.access public
.modifiers
.signature ()V
.args args


.data
	int temp1
	int temp2
.code
L0	aload_0
L1	invokespecial java.lang.Object.<init> ()V
L4	aload_0
L5	ipush 100
L7	putfield obj.value I
L10	return
.end

.method run
.maxStack 3
.access public
.modifiers
.signature ()V
.args args


.data
	int temp1
	int temp2
	int temp3
.code
L0	aload_0
L1	dup
L2	getfield obj.value I
L5	ipush 1
L6	iadd
L7	putfield obj.value I
L10	ldc "VALUE = "
L12	invokestatic IO.print (Ljava/lang/String;)V
L15	aload_0
L16	getfield obj.value I
L19	invokestatic IO.printInt (I)V
L22	ldc "Hello, World!"
L24	invokestatic IO.println (Ljava/lang/String;)V
L27	return
.end

.method main
.maxStack 3
.access public
.modifiers static
.signature ([Ljava/lang/String;)V
.args args


.data
	int temp1
	int temp2
	int temp3
.code
L0	new obj
L3	dup
L4	invokespecial obj.<init> ()V
L7	astore_1
L8	aload_1
L9	invokevirtual obj.run ()V
L12	new obj
L15	dup
L16	invokespecial obj.<init> ()V
L19	astore_2
L20	aload_2
L21	invokevirtual obj.run ()V
L24	aload_1
L25	aload_2
L26	if_acmpne L34
L29	ldc "EQUAL"
L31	invokestatic IO.println (Ljava/lang/String;)V
L34	aload_1
L35	aload_2
L36	if_acmpeq L44
L39	ldc "NOT EQUAL"
L41	invokestatic IO.println (Ljava/lang/String;)V
L44	aload_1
L45	ifnull L53
L48	ldc "NOT EQUAL TO NULL"
L50	invokestatic IO.println (Ljava/lang/String;)V
L53	return
.end

