[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:23241] Re: 機械語やアセンブラ



いろいろご意見を有難うございました。

そもそもこんなことを始めたきっかけは,やはり Web でした.
他の言語に比べると,機械語のページは少ない.
一番詳しかったのが皮肉にもインテルのマニュアル.
やはり時代の流れかなと,少し寂しい気持ちがしました.
書籍もまともなものは DOS 時代のものしか見つかりませんでした.
それもリアルモードからプロテクトモードへの移行が中心.

他の CPU での経験があれば Web の資料だけでもいけるでしょうが,
まったくの未経験者が機械語やアセンブラを独習するのは,
かなり難しい時代に入ったなと思います.

プログラマー募集の条件に「Linux のカスタマイズができる人」
なんて書かれていて,Linux のソースを読もうと思っても
アセンブラの知識がないときついですよね.

でもこの作業を続けてしてしまったのは,やはり
機械語のプログラミングがそのものが面白かったからみたいです.
そんなわけで最初の1/3は,アセンブラを使わず,
生身の機械語,それも16進数ではなく,
2進数によるハンドアセンブルで遊んでしまいました.
さすがに2進数によるプログラミングというと,マイコン時代でも
ちょっと経験する機会は少なかったですね.

アセンブラが登場するのは,全13章中のようやく第6章になってから
です.
デバッガは GDB を使ったのですが,C とかのデバッグと違って
アセンブラのデバッグはちょっとコツがいりますね.
GDB の info ファイルにも,あまり機械語のことが書かれていなくて
最初は手間取ってしまいました.
でもこれが CPU の仕組みが見えて面白い.はまりますね.

というわけで今度のものは,すでに400ページを超えて,ようやく
386の基本が終わったという段階です.
ですから申し訳ありません.マルチメディアも Linus さんが
Linux を作るきっかけとなった
プロテクトモードへの切替えも,今回のものには出てきません.

自分も好きなので,昔作った1Kにも満たない小さな言語の Unix 版とか,
プロテクトモードのお遊びとして,ブートローダを作ったり,
ELF の解析とか,いろいろな応用も続編としてやってみたいと
思うのですが,いまの時代,ちょっと出版は難しいかもしれませんね.

まあ,せっかく脱稿しそうですし,未経験者が Web を見るときの
参考にはなると思いますので,何らかの方法で公開したいとは
思っています.

ありがとうございました.

drock


[検索ページ] [メール一覧]
Plamo ML 公開システム