ソース他のダウンロード
問題1
-
解答例
- まぁ,面倒くさいダケで,なんてことないです.
- 短時間でやるポイントとしては,
- djava OpenWin.class で,アセンブラの構造の概要を理解.
- djava -c -o DJava OpenWin.class とかで,CPの概要を知る.
この二つのヒントがあると無いとでは,大違いです.
実際,私はインストラクション表を全く見てません.
(jasminコードをみて,大体のあたりをつけてるだけ)
問題2
- 解答例.
ここ
の例に準拠... あんまりしてないなぁ.
- invokevirtual java/awt/Window/show()V の解析.
- ココをみればわかるが,
コードは,B6 00 0E
- ま,問題自体より,画を書くのを苦労したとの声も.
画を書いて考える,説明することは重要なことですので,
WinでもLinuxでもよいですから,自発的におえかきツールの使い方を習得してね.
その他
- コンストラクタ(メソッド)のアクセスフラグ 00 00 ですが,
教科書 p.73等をみればわかりますが,要はビットが何もたってません.
より詳しく解説すると,
- このメソッドは同じパッケージ(この例では名前の無いデフォルトパッケージ)
からのみアクセス可能である.
- こうなった理由は,クラス自体が,public 宣言されていないためである.
(ソース)
- 問題のクラスは,以下の手順で作りました.
- javacでクラスを作る.
- djavaでアセンブラにする.
(ダウンロード)
- linenumberテーブルなどをエディタで剥離.(サイズを小さくするため)
ファイル名は,OpenWin.j2 とする.
- jasminコマンドでクラスファイルにもどす.
jasminコマンドは,もとになったjasminアセンブラファイル名を,
SourceFile 属性に埋め込むらしい.
$Id: top.html,v 1.2 2002-07-07 12:48:42+09 kaiya Exp kaiya $
current