ど~もeagle0wlです(再)

140文字では収まらないネタを記録するブログ

新刊『大熱血! アセンブラ入門』を戴いた

f:id:eagle0wl:20170916212336j:plain
坂井さんの新刊『大熱血! アセンブラ入門』を戴いた。ありがとうございます。すこーしだけ協力させていただきました。

f:id:eagle0wl:20170916205346j:plain
まずこの本は鈍器である。1100ページ以上もある。入門とは。本書は、前作にあたる『熱血! アセンブラ入門』の増補版の位置付けのようである。こんな風にオフィスに届きました。重い!

入門と銘打たれているが、最初に紹介されるCPUはPowerPC。続いてMIPS。最もメジャーなはずのx86の話題が少ないように見えるが、これは様々なCPUを平等に扱った結果目立たないように見えるだけ、だと思う。でも「x86は初心者向けか?」と言われると多分違う。

本書で何度も記されているように、深く考えず、気が向いたときにつまんで読むべき本である。精読しようとすると間違いなくめげる。アセンブリとかCPUとかアーキテクチャの仕様を理解するには、わからない所があっても、何度も何度も繰り返し読んだり書いたりしていれば、ある日突然点が線につながるものなので、私が言うのもアレですが気楽に構えるべきだと思う。

それに、CPUの進化は基本足し算(機能が増える一方という意味)なので、どれか一つのCPUが理解できれば、2つめ以降のCPUを覚えるのはそんなに大変なことではない。頻出するニーモニック(movとかadd)なんかはほとんど同じである。バイナリ読めない人にMIPSちょっと読んでみろって言うのは酷だが、x86読める人にMIPSちょっと読んでみろっていうのは無茶振りではないはず(MIPSはIDA ProだとProfessional版でないと対応していないので難儀する)。

自分は業務レベルではx86とARM、趣味レベルで6502をかじっているが(それで6502の項目ではすこーしだけ協力させてもらった)、8bitから64bitまでのCPUや、FPGA(用のIPコアのアセンブラ)と広範で、カタログみたいに気楽に読む気になれば面白い。6502の項目は、癖の強いコードを吐くコンパイラであるcc65ベースとはいえ(6502対応のCコンパイラの選択肢がないからやむを得ない、gccZ80や6502に対応していない)、6502をある程度解説した書物が新刊で出たという事実もまた面白い。
f:id:eagle0wl:20170916205358j:plain

隣に着席していたマネージャは、組み込み開発で使っていたというMC68000に強く反応していた。世代の違うエンジニアでもCPUという共通の話題(?)で盛り上がれるので、まさかのコミュニケーションツールとしても活用できる書籍なのではないかと思うわけです。

目次を記したウェブサイトが見当たらないので、目次に記載のあるアーキテクチャ、チップを記す。

※2017/09/17追記 目次が公開されています。
大熱血! アセンブラ入門|書籍情報|秀和システム

PowerPC, MIPS, SuperH(SH), ARM, H8, i386, SPARC, PA-RISC, Alpha, PowerPC(64bit), MIPS(64bit), SH(64bit), x86-64, IA-64, MMIX, M32R, V850, i960, MN10300, FR30, FR-V, Xtensa, AVR, Xstormy16, 68HC11, 68000, VAX, PDP-11, S/390, MIPS16, Thumb(ARM), StrongARM, XScale, ARC, CRIS, M-CORE(モトローラ), MIST32, AArch64, RX, RL78, Blackfin, MSP430, SPU, MicroBlaze, Nios II, Z80, 6502

こうして並べてみるとすごくカオスです…。TRONCHIPは未調査扱いだが、gccのクロスコンパイル環境を整えればいけるらしい。

著者のサポートページは以下。
熱血/大熱血!アセンブラ入門 サポートページ

大熱血! アセンブラ入門

大熱血! アセンブラ入門