大熱血!アセンブラ入門part3メモ
アセンブラ出力環境を構築するためのpart。
アセンブラ出力までの流れ。
次に、オブジェクトコード→実行ファイル(リンク)←一般のmakeはここまで行う。
最後に、実行ファイル→アセンブラ(逆アセンブル)←大熱血提供のmakeはここまで行う。
※高級言語のコードからいきなりアセンブラを作り出すこともできるし、オブジェクトコードからobjdumpで逆アセンブルしてアセンブラを作り出すこともできるが、一旦実行ファイルを作成した後逆アセンブルしたほうが、機械語の完全なバイトコードが手に入るとのこと。
環境構築:
「クロスコンパイル環境を準備するのはバージョン合わせがあって大変だから全部環境用意しておいたよ。仮想マシンで楽しんでね!」との著者の有難き心意気に感謝してVMで動作させることに。HDDの容量食うけど、環境構築で困るよりいい。この本のサポートサイトから仮想マシンをゲットしてVMで起動。その際、エラーメッセージが出たが、気にせずretryを押すと無事起動できた。
VMの使い方:
cross/sample ココに逆アセンブルコードが欲しいC言語のファイルを入れてmakeで実行
cross/exec コンパイル後、gdbでシミュレーションしたい時に利用。make→make runで実行。
その他:
環境構築のみ行ったので、APIを利用しないで(自分で対応するアセンブラを書いて)Hello Worldを出力させてみよう、という企画を楽しんでいない。機をみてトライしたい。