Entry

今日買った本 - 『やさしいアセンブラ入門』

2010年03月19日

パソコン本好きが知られたからか,会社(部)の図書係になってしまいました。で,早速,「最近の若いのは C/C++ は書けるけどアセンブリが読めなくていかん。ちょっと入門書を買ってきて。」ということに。図書係というのは,要するに雑用係。若いもんばっかが,アセンブリを読めないわけじゃないと思うんだけど。

たしかに,C/C++ プログラマ,なかんづくプロの C/C++ プログラマは,アセンブリを(書けないまでも)読めた方がいい。比べるもんでもないけど,英語よりも必要性が高いんじゃないかと思うくらい。プログラマが直接アセンブリを書くことは稀だけれども,例えば C/C++ でプログラミングしていて次のような問題に当たった向きは,読めるととても便利です。

  • リリースビルドとデバッグビルドでアプリケーションの挙動が異なる。
  • Windows で 0xc000001d(illegal instruction)なんて,見たこともない例外が返ってきた。
  • 全然いぢっていないローカル変数の値がクルクル変わる(スタック破壊)。

主にデバッグ向きです。illegal instruction の例は,今回入門書を買うことになったきっかけなんですけれど,例外コードと WinDbg があれば,10分で解決できる問題でした。2日も右往左往している新人君を鍛えるために,アセンブリを覚えさせることになった,と。本書は会社のもんを買う前に,自分で買ったもの。

やさしいアセンブラ入門―CPUの基本的な構造と仕組みも学べる
日向 俊二
カットシステム
売り上げランキング: 324208

多分,現在出版されているアセンブリ入門書(IA-32系)の中でもっとも質の高い書籍は,本書だと思います。著者の日向俊二さんは,『Cプログラムの中身がわかる本』や『独習アセンブラ』といった,良質のアセンブリ本をいくつか出版されいて,あたしもお世話になっています。その中でも,C/C++ プログラマ(特に Windows 系のプログラマ)がアセンブリを読めるようになる(そして少し書けるようになる)ために読む本は,本書だと思います。

Cプログラムの中身がわかる本
日向 俊二
翔泳社
売り上げランキング: 242342
おすすめ度の平均: 5.0
5 x86+GASでアセンブリを勉強したい人には良いと思う。

『Cプログラムの中身がわかる本』は,文字通り C の処理系がどのようなアセンブリを吐いているのか,という点から書かれたもの。C の構文とアセンブリの対応関係に重点を置いているので,どちらかというと,C/C++ のコードをアセンブリレベルで改善したり,効率のいいコードを書くのに役立つと思います。ただ,それ単体でアプリケーションなりライブラリなりを作るのは難しい。Windows プログラマからすると,処理系が gcc + gas というのも,少し敬遠する元になるかもしれません。

独習アセンブラ
独習アセンブラ
posted with amazlet at 10.03.19
日向 俊二
翔泳社
売り上げランキング: 68648
おすすめ度の平均: 4.5
4 初心者向けの入門書
5 PCで気楽にアセンブラを学べる

一方,『独習アセンブラ』は,アセンブリの入門というよりは x86 入門と言った方がいい。もっぱら CPU 命令の種類や用法をリファレンスに近い形で紹介しています。この本でアセンブリに入ってもいいとは思うんですけれど,具体的なプログラムの構成法については,あまり詳しい説明はありません。

この点,『やさしいアセンブラ入門』は,両者の中間にあるような本です。リファレンスの要素は少なく実践的。かといって C/C++ に偏りすぎた記述でもない。アセンブリ単体で,そこそこのプログラムを作れるようになるはずです。処理系が MASM32 なので,VC++ との連携をうまく取れるのもポイント。C/C++ のプログラムと連携する方法はもちろん,DLL の作成を通じて VB のような高級言語から自作のアセンブリプログラムを呼び出す方法も紹介しています。やさしく書いてあるので,中学生の高学年くらいからでも読めると思う。

入門書というと,あたしは,はじめから『x86アセンブラ入門』(の旧版)を苦労しながら読んだんですけれど,今はむしろ『やさしいアセンブラ入門』から入った方がスムーズにアセンブリに入れると思います。『x86アセンブラ入門』は,MASM も gas も詳しく説明しているし,SSE や MMX 命令の使い方も紹介しているんですけれど,薄い冊子の割に中身が濃いので,いきなり読むと疲れてしまうかもしれません。

x86アセンブラ入門―PC/ATなどで使われている80x86のアセンブラを習得 (TECHI―Processor)
x86アセンブラ入門
posted with amazlet at 10.03.19
大貫 広幸
CQ出版
売り上げランキング: 130862
おすすめ度の平均: 5.0
5 今でもPCのDEBUGコマンドで使えるアセンブラ

多分,入門としては,『やさしいアセンブラ入門』で親しんで,『x86アセンブラ入門』でより深く知る,といったパスが効率的な感じがします。そこから先は,CPU の仕様書やテクニカルノートを読むことになる。

とりあえず,会社には本書を持っていくことにしようかなー。別に著者で選んでいるわけじゃないんですけど,アセンブリ本は日向さんの本がとっつきやすくていい感じ。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN