本
熱血アセンブラを読んで
Takeyuki Sato
こんにちは!皆さんはアセンブラは好きですか?私は好きです。実行ファイルを読めるってゾクゾクしますよね。今回、この記事では「熱血アセンブラ入門 (坂井弘亮 著)」を呼んだ感想を述べさせていただきます。
まず、最初に思ったのは800ページという分厚さです。読みながら寝落ちしたときはいい高さになってました笑。内容は大きく1部、2部、3部と分かれていて1部がアセンブラを理解する上での基礎知識、メジャーなアーキテクチャのアセンブラの読み方などです。2部はさらにいろんなアーキテクチャのアセンブラを読んでいきます。3部では、実際に手を動かして学ぶためのシュミレーションの準備という構成になっています。
この本のすごい所の一つに、紹介されてるアーキテクチャーの数が他のアセンブラ入門と比べ物にならない。MIPS,SH,i386,ARMなど有名どころから始まり40種類ほどのアセンブラを読んでいきます。
「そんなに命令セット覚えられないよね?」
と思われるかと思いますがこの本は命令一つ一つを詳細に学ぶことを目的としていません。
「アセンブラの読み方」が学べる本なのです。
適当な実行ファイルを作りそれをバイナリエディタで開いて観察したり、例えばc言語のfor文はMIPSアーキテクチャ上ではどのようにコンパイラーが命令を組んでるか知りたかったら作って観察という実験を繰り返し真実を得るという面ではもう科学です。
このようなことを続けていると知らないアーキテクチャに出くわしたときに「だいたい読めちゃう」ようになります。
観察からプロセッサがなぜこのような命令を持ってるか分かることは相当気持ちのいいことでしょう。
最後に、この本の著者は環境の構築方法を紹介していますが、すぐに実験が出来るようにVMが用意されていました。すばらしすぎる(泣
みなさんもアセンブラ どうでしょう?