『熱血!アセンブラ入門』を読んでみたので、感想とか。
- 作者: 坂井弘亮
- 出版社/メーカー: 秀和システム
- 発売日: 2015/06/12
- メディア: Kindle版
- この商品を含むブログを見る
購入に至るまで
この本を初めて見たのは、近くのショッピングモールの本屋。
タイトルがものすごいインパクトで、思わず手に取ってしまったw
で、手に取ってパラパラと眺めたら、思った以上にガチの内容でビックリ。
そのときの驚きはツイートにも残ってたりw
本屋で「熱血!アセンブラ入門」って本があって、ネタかなと思ったらガチすぎて逆にドン引き(^_^;)
— やまいも@技術書典7【え23C】(3階Cホール) (@yappy0625) 2014年12月29日
i386の話くらいかと思ったら、PowerPCに始まってMIPS、SH、ARMとかを扱ってて、さらに組込みのH8とかV850、それにAVRとかも。PDP-11も扱ってて脱帽だわw
仕事柄、アセンブラは割と身近だったんだけど、なんだかんだで深くは勉強して来ず。
この本もすごく興味はあったんだけど、何しろかなり分厚い本だったので、そのときは購入には至らなかった。
けど、最近またアセンブラの知識が必要になってきたので、思い出したり。
そして、もしかして電子書籍化されてないかなぁと検索したら、見事ヒット。
しかも、hontoでちょうどポイントアップされていたので、実質半額で手に入れられるチャンスだったので、即購入してみた。
余談だけど、hontoはホントにお得。
特に、こういった分厚い技術書が手軽に読めるのはすごくいいので、オススメ。
内容と感想
さて、肝心の内容だけど、本格的な技術書というよりかは、アセンブラとアーキテクチャに関する読み物という面がかなり強い。
これは、著者自身も書いていること。
本書は「アセンブラ」を気負わずに読みモノのように読んでみるという、今までになかったタイプの書籍です。
アセンブラを「フィーリング」で「なんとなく」読んでみようというものです。
(省略)
あまり難しいことは考えずに、読みモノだと思って読んでいただければと思います。
読みモノなので、第一目標は「面白いと思ってもらうこと」です。そしてついでに多少の勉強にもなれば・・・とも思いますが、これはホントに「ついで」です。
(『熱血!アセンブラ』「はじめに」より引用)
実際、この本のアプローチは面白くて、C言語のコードから生成されたアセンブラを読むことで、アセンブラの各命令がどんな意味なのかを「推理して」読んでいくという方法がとられている。
読者自身、著者と一緒になって推理していくという面白さがある。
もちろん、最初は知識があまりないので推理もへったくれもないんだけど、同じようなパターンが何度か出てくることで次第とアタリがついていくようになる。
この感覚はなかなかいい。
まぁ、場合によっては著者自身も「これは分かんないねーw」と匙を投げることもあるんだけどw
この本でまず扱うのは、PowerPCやMIPS、SH、ARMといったRISCのアーキテクチャ。
自分にはすごく身近w
こういったアセンブラの本だと、i386を扱うことが多いと思うんだけどねw
さらに、H8、i386といったCISCのアーキテクチャ(もっとも、本だとこれらのアーキテクチャはCISCと分類するよりかは、マイコン系と分類した方がいいよね、としていたけど)にも触れながら、アセンブラの基本的な内容をおさえていく。
なお、確かに基本的な内容ではあるんだけど、それでもやっぱり組込み系以外のプログラマにはあまり馴染みのない内容だから、推理しながら読んでいくというスタイルをとってはいるものの、組込み系以外のプログラマには何を言っているのか分からない可能性があるかも。
少なくとも、C言語の知識だけでなく、「コンピュータがどのように動いているのか」という基本的な知識は必須だと思う。
まぁ、基本情報技術者の勉強とかをしたことあれば、十分理解できるとは思うけど。
これが終われば、あとはひたすらいろんなアーキテクチャのアセンブラを眺めては、推理しながら読み進めていくというスタイル。
その中で、どうしてこういったアーキテクチャになったのかを推測していったり、こんな全く知らないアーキテクチャのアセンブラを見て、こんなアーキテクチャもあるのかと驚いたりするのは、とても面白かった。
ただ、あくまでもこれは「アセンブラ入門」であって、扱っているアーキテクチャの数こそすごい数になっているものの、それ以上のより深い内容にまでは突っ込まれていなかったのが、個人的には少し残念。
その、より深い内容の部分を勉強してみたいなと思っていたので。
具体的には、OSや周辺I/Oへのアクセスを語る上では絶対に外せない割込みに関する話だとか(※システムコールに関しては少し触れられてる)、最近のOSではほぼ必須となっている仮想記憶やキャッシュメモリの話、あと、科学計算では重要になってくる、浮動小数点数演算に関する話とか。
まぁ、そんな内容まで扱ったら、アセンブラ入門を飛び越して、OS入門くらいの内容になってしまうわけだけどw
何はともあれ、この本を一通り読めばーー最悪、第一部だけでも読めばーーアセンブラの基本的な知識と、いろいろ試しながら推測して読み解いていく力は身につけられるんじゃないかなと思う。
読みモノとしても、普通に面白かったし。
今日はここまで!
- 作者: 坂井弘亮
- 出版社/メーカー: 秀和システム
- 発売日: 2015/06/12
- メディア: Kindle版
- この商品を含むブログを見る