[Java] Javaアセンブラ “Jasmin”

Javaアセンブラ “Jasmin”でアセンブラファイルをコンパイルするコマンドです。

java -jar jasmin.jar [Javaアセンブラファイル]

classファイルを逆アセンブラするコマンドは以下の通りです。

javap -c [classファイル]

Hello WorldをJavaアセンブラで書くとこんな感じになります(Jasminのexamplesから)。

.class public examples/HelloWorld
.super java/lang/Object

; standard initializer
.method public <init>()V
   aload_0
   invokenonvirtual java/lang/Object/<init>()V
   return
.end method

.method public static main([Ljava/lang/String;)V
   .limit stack 2

   ; push System.out onto the stack
   getstatic java/lang/System/out Ljava/io/PrintStream;

   ; push a string onto the stack
   ldc "Hello World!"

   ; call the PrintStream.println() method.
   invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

   ; done
   return
.end method

JASMIN HOME PAGE

[Pascal] 01 Hello World

[macOS Catalina 10.15.7]

初めて学んだプログラミング言語はPascalでした。

今でもFree Pascalとして使われていると知り、少しいじってみることにしました。

最新バージョンは3.2.2でした。インストール先は/usr/local/bin/fpcです。

GUIアプリも作れるらしいです。Java&Pythonで製作中の競馬データベースアプリを移植できるだろうか。

program Hello_World (output) ;
begin
writeln('Hello World')
end.