2007年10月27日土曜日

1日目:PCの仕組みからアセンブラ入門(その3)

バイナリエディタで16進数の値をずらずらひたすら入力したところで、まったく意味がわかりませんでした。
次はもうちょっと分かりやすく、同じものをアセンブラを使ってやってみることになります。
といっても、DB命令(Data byte)やRESB命令(Reserve byte)を使って、これまた16進数を入力するものです。

アセンブラは、著者の川合さんが作成したnaskというものを使うらしいです。
nasmの文法をベースに、プラスアルファの機能を持たせてるようです。

今日の新しい発見は、アセンブラの中で使う"RESB 0x1fe-$"の"$"が先頭から何バイト目かをあらわす変数だったということです。(厳密には違うようですが)
独習アセンブラにはその説明がなかった?ので、意味が分かっていませんでした。

アセンブラを使うやり方では、画面に表示させる文字を好きに変更することができました。
表示される文字列をちょっといじって、こんな感じで完成しました。



これで、1日目が終了です。