; print "Hello" 10 times
.class public PrintHello10Times
.super java/lang/Object
.method public <init>()V
aload_0 ; load `this`
invokespecial java/lang/Object/<init>()V ; super()
return
.end method
.method public static main([Ljava/lang/String;)V
.limit stack 3
.limit locals 3 ; `this` is variable 0
iconst_1
istore_1 ; i = 1
getstatic java/lang/System/out Ljava/io/PrintStream;
astore_2 ; out object
loop:
aload_2 ; load out
iload_1 ; load i
invokevirtual java/io/PrintStream/print(I)V ; print i
aload_2 ; load out again
ldc " - "
invokevirtual java/io/PrintStream/print(Ljava/lang/String;)V
aload_2 ; load out once more
ldc "Hello" ; load the string to be printed
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V ; print the string
iinc 1 1 ; i += 1
iload_1 ; load i
bipush 10 ; load limit
if_icmple loop ; loop if i <= limit
return
.end method