Javaプログラミング/Javaプログラミング関連情報

Javaアセンブラ「Jasmin」を使おう(2ページ目)

Javaのアセンブラ「Jasmin」を使い、アセンブラでJavaのプログラムを作ってみましょう。

執筆者:掌田 津耶乃

アセンブラのソースコードを書く


では、実際にJasminを使ってみましょう。テキストエディタなどを使い、以下のように記述をしてみてください。これが、Jasminアセンブラで書かれたプログラムのソースコードです。

.class public Hello
.super java/lang/Object

.method public ()V
aload_0
invokespecial java/lang/Object/()V
return
.end method

.method public static main([Ljava/lang/String;)V
.limit stack 2
getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Hello Jasmin!!"
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
return
.end method

実行している内容などは後で触れるとして、記述をしたら、jasmin.jarがある場所に「Hello.j」というファイル名で保存をしてください。

続いて、ソースコードをコンパイルします。コマンドプロンプトを起動し、cdコマンドでソースコードファイルがある場所(jasmin.jarがある場所)に移動します。そして、以下のように実行します。

java -jar jasmin.jar Hello.j

ソースコードに問題がなければ、コマンドプロンプトに「Generated: Hello.class」と出力され、その場所に「Hello.class」というファイルが作成されます。そう、Javaのクラスファイルです! ファイルが作成されていることを確認したら、実際にこれを実行してみましょう。

java Hello

コマンドプロンプトに「Hello Jasmin!!」と出力されましたか? これが、今作成したHello.classの実行結果なのです。
Hello.jをコンパイルし、javaコマンドで実行すると、作成されたHello.classが実行される。


Javaソースコードと比較してみる


今作成したHello.jは、一体どういうことをしていたのでしょうか。これをJavaのソースコードで記述してみると、以下のようになります。

public class Hello {

public static void main(String[] args){
System.out.println("Hello Jasmin!!");
}
}

なんとなく、関連性が見えてきませんか? ごく初歩的なソースコードですが、書き方さえわかってくれば、意外とアセンブラで書くことはできそうですね。
  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます