x86のエミュレータを作ろう本を読んでます

x86アセンブリ書いたことないじゃん

冬休みにプログラミングをしてないやつは雑魚だとか言った どっかのCTOが冬休みにプログラミングをしてないことがわかって草みたいな話があったけど、 おれは年中何かしら刺激を常に抱えていないと駄目な人間なので、次何やろうかなと思ってたらいい本を見つけたので読んでる。みなさんも読みませんか?表紙はだいぶきもいですが。

前にLinuxカーネルを勉強した時に、CPUのことは本を学んだわけで、 この内容に相当するのが

で、一応読んでざざっと理解はしたつもりだけど、 どちらかというと、OSをサポートするCPUの機能を知るという観点で読んだ (というか本自体もその観点で書いてあったはず) ため、 そういえばおれはx86のアセンブリを書いたことがない という気づき、 エミュレータを作るという本は面白そうだなと思って買ってみた。 IT技術は実際に作って理解してしまうのが早い場合がある。 逆にそれが出来るのもITの良さだといえる。

進捗。一緒に学ぼう

実装は当然、Rustでやっている。 本で使ってるのはCだが、どうやったらもっと良く書けるだろうという視点で考えると、 より理解が深まると思う。

https://github.com/akiradeveloper/x86emu

今はまだ序盤の方だけど、今後も少しずつ進めていく。 重要なポイントではタグを打ってあるから、タグの差分を追っていくとか でも本を読まずとも雰囲気だけは掴めるだろうと思う。 コードに対してどういう意味なのかと質問を投げてくれてもいい。 そうしてくれた方がおれにも得があるから。

さすが東工大教員

この本はすごく良く出来た本だと思う。(星5) 何が良いかというとまず、構成と日本語に対して、ほとんどケチのつけようがない。 技術本は中には、日本語がだめだったり、無関係なことがだらだら書いてあってボケてるとか、 そういったものも多いが、この本はそういった駄目な点がほぼない。 最近は、Kindleでしか本を買わないんだけど、Kindleだとページを行ったり来たりしにくいという弱点があるため、余計なことが書いてあると読みにくくなる。さすが東工大教員。

サンプルのコードもきちんと書かれていて読みやすいのと、フルセットのソースコードをサポートページに置いて、重要なコードをエッセンスがわかりやすいように加工した上で本に貼り付けているため、読解にかかる負荷が少ない。さすが東工大教員。

次回作も期待!!

とりあえず、x86エミュレータはさくさくっと終わらせて、 次は同著者の新作が来月発売されるようなので、それを買おうと思う。次も期待。 社内かあるいは社外の有志で勉強会が出来ればいいなぁと思うけど、 たぶんおれの実装スピードには誰もついて来れない気がする。