; Example JVM assembly ; Tested with JasminXT 2.4 .bytecode 49.0 .source HelloWorld.java .class public final enum HelloWorld .super java/lang/Object .implements java/io/Serializable .signature "Ljava/lang/Object;Ljava/io/Serializable;" .enclosing method hw/jasmin.HelloWorldRunner.run()V .deprecated .annotation visible HelloWorld I I = 0 .end annotation .debug "Happy debugging!" .inner interface public InnerInterface inner 'HelloWorld$InnerInterface' outer HelloWorld .inner class public InnerClass inner HelloWorld$InnerClass outer 'HelloWorld' .field public volatile transient I I .field static protected final serialVersionUID 'J' signature "TJ;" = 2147483648 .field annotation protected 'protected' [[[Lcom/oracle/util/Checksums; .deprecated .signature "[[[Lcom/oracle/util/Checksums;" .attribute foo "foo.txt" .attribute 'foo' "foo.txt" .end field .field public newline I .field public static defaultString 'Ljava/lang/String;' .method public ()V .limit stack 3 .line 7 .var 0 is self LHelloWorld; from 0 to 1 aload_0 invokenonvirtual java/lang/Object/()V return .end method .method static public main([Ljava/lang/String;)V .limit locals 7 .limit stack 10 .throws java.lang/RuntimeException .catch java/lang.ClassCastException from cast to 'extra_l' using /extra .signature "([Ljava/lang/String;)V" .stack offset /Input locals Object java/lang/String locals Uninitialized 'End' locals Uninitialized 0 locals Top locals Integer locals Float locals Long locals Double locals Null locals UninitializedThis stack Object java/lang/String stack Uninitialized End stack 'Uninitialized' 0 stack 'Top' stack Integer stack Float stack Long stack Double stack Null stack UninitializedThis .end stack .stack use 1 locals offset 'extra' .end stack .stack use locals .end stack .line 0xd .var 0 is args [Ljava/lang/String; aload_w 0 arraylength ifne /Input iconst_1 anewarray java/lang/String checkcast [Ljava/lang/String; astore_0 aload_0 iconst_0 ldc "World" dup putstatic HelloWorld.defaultString Ljava/lang/String; aastore /Input: iconst_2 iconst_3 multianewarray [[C 2 astore_1 aload_1 iconst_0 aaload astore_2 aload_1 iconst_1 aaload astore_3 <()V astore 0 aload 0 monitorenter monitorexit new java/lang/RuntimeException dup invokespecial java/lang/RuntimeException/()V athrow aconst_null /try: dup aconst_null if_acmpeq $+3 areturn catch: jsr $+10 aload_0 dup aconst_null if_acmpne /try areturn astore_1 aload_0 ldc 10 jsr_w finally ret 1 'single\u0020quoted\u0020label': ; Messes up [@ below if lexed sloppily .end method .method varargs private static int()I .annotation invisible HelloWorld [@ [@ WhatIsThis??? = .annotation ; name, type, exttype I I = 1 ; name, type another-I I = 2 Enum e Ljava/util/logging/Level; = FINE .end annotation .annotation s s = "foo" another-s s = "bar" Enum [e Ljava/util/logging/Level; = FINE FINE 'FINE' FINE .end annotation float F = 123.456 .end annotation .annotation visibleparam 1 LHelloWorld; x [I = 0x01 0x02 0x03 y I = 2 .end annotation .annotation invisibleparam 255 HelloWorld a F = 1.2 b D = 3.4 .end annotation .annotation default I = 0 .end annotation .limit locals 4 .limit stack 20 iconst_1 newarray int dup dup instanceof [Z bipush 0x9 bipush 0xB iand iconst_5 iconst_4 dup_x1 iconst_m1 iadd bipush +-111 ineg swap idiv dup_x2 dup ishr ishl imul ior bipush -73 ixor isub dup iconst_1 iadd irem iastore iconst_0 iaload istore_0 iload_0 istore_1 iload_1 istore_2 iload_2 istore_3 iload_3 dup dup dup2_x1 if_icmpeq $+33 dup dup if_icmpge $+28 dup dup if_icmple $+23 dup ifle $+19 dup ifeq $+15 dup iflt $+11 dup ifgt $+7 dup ifge $+3 ireturn .end method .method static private fpstrict double()D .limit locals 7 .limit stack 11 dconst_1 dconst_0 dcmpg newarray double dup dconst_0 dup2 dcmpl ldc2_w 128. ldc2_w -240.221d dneg ldc2_w 158.d dup2 dadd dup2_x2 drem ddiv pop2 dconst_1 dmul d2f f2d d2l l2i iconst_2 iushr i2d dastore iconst_0 daload dstore_0 dload_0 dstore_1 dload_1 dstore_2 dload_2 dstore_3 dload_3 dstore 4 dload 4 dstore_w 5 dload_w 5 dreturn .end method .method static long()J .limit locals 7 .limit stack 11 iconst_1 newarray long dup iconst_0 ldc2_w 5718613688 ldc2_w 3143486100 ldc2_w 0x3 ldiv lmul ldc2_w -10000000000 lrem ldc_w 0x60 i2l lor ldc 0x33 i2l land dup2 iconst_1 lshl iconst_3 lshr iconst_3 lushr ladd l2d d2l l2f f2l lastore iconst_0 laload lstore_0 lload_0 lstore_1 lload_1 lstore_2 lload_2 lstore_3 lload_3 lstore 4 lload 4 lstore_w 5 lload_w 5 lreturn .end method .method private static float(F)F .limit locals 6 .limit stack 9 iconst_1 newarray float dup fload_0 dup fcmpg fload_0 dup dup dup dup2_x2 fadd fsub fneg frem ldc 70 i2f fadd fadd swap pop fastore fload_0 dup fcmpl faload fstore_0 fload_0 fstore_1 fload_1 fstore_2 fload_2 fstore_3 fload_3 fstore 4 fload 4 fstore_w 5 fload_w 5 freturn .end method .method abstract bridge synthetic 'acc1()V' breakpoint .end method .method native synchronized acc2()V .end method