; Socket java assembly example by pancake / cathack .class public HelloWorld .super java/lang/Object .method ()V ; metode constructor de la classe .limit stack 5 aload_0 invokespecial java/lang/Object/()V getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Object created" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return aload_0 invokevirtual HelloWorld/FinishRun()V return .end method .method public static main([Ljava/lang/String;)V .limit stack 5 ; En realitat l'unic necessari. new HelloWorld dup invokespecial HelloWorld/()V pop aload_0 ; agafem l'objecte i el fotem a la pila arraylength iconst_1 if_icmpeq args_ok getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Invalid args" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return ; finalitzem el programa. args_ok: getstatic java/lang/System/out Ljava/io/PrintStream; aload_0 iconst_0 aaload invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V .catch java/lang/Exception from _socket1 to _socket2 using _socket3 _socket1: new java/net/Socket dup aload_0 iconst_0 aaload ;ldc "127.0.0.1" bipush 80 invokespecial java/net/Socket/(Ljava/lang/String;I)V astore_0 _socket2: goto cont _socket3: ; Aqui es captura l'excepcio getstatic java/lang/System/out Ljava/io/PrintStream; ldc "No connection to host" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V astore_0 cont: return .end method .method public FinishRun()V .limit stack 5 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "FinishRun called" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V bipush 0 invokevirtual java/lang/System/exit(I)V return .end method