OSを作ってみよう day008
「OS自作入門」の二日目に突入。今のペースだと全部終わる頃には420日かかる計算だが・・・((((;゚Д゚))))ガクガクブルブル 引き続きアセンブラの解説が続く。サンプルプログラムはやはり0埋め命令の範囲指定の箇所がコンパイルエラーとなる。 Macのnasmでコンパイルする時は、その箇所を修正してやる必要有り。(コードのdiffは省く) 二日目の主眼はアセンブラの解説である、もとより一度で暗記できる訳もないのでサラッとソースを読んで、サンプルコードをnasmでコンパイルできたらクリアとしよう。
MakeFile
このままではMacで動かないので、大胆に修正してみた。
1 | # デフォルト動作 |
ipl.nasも範囲指定箇所が、例によってエラーになるので、下記の用に修正
1 | $ diff ipl.nas ipl.nas~ | nkf -w |
最後は、makeでイメージ作成と、USB焼きこみまで。 ※/dev/disk1s1は、環境に応じて変えること。
1 | $ make |
eeepc901で動作確認OK!m9っ`Д´) ビシッ!! どうも、この辺までは大分慣れた感じ。 アセンブラに関しては、良さそうなサイトを見つけたのでリンクを貼っておく。困ったら読みに行こう。 WIKIBOOKS - X86アセンブラ ついでに色々と疑問をぐぐっていると、こんなページに辿り着いた x86-64とは 【 AMD64 】 - 意味/解説/説明/定義 : IT用語辞典 x86とは、CPUの命令セットであるというのは、何度も色んな所で目にしたし、理解していたつもりだったが、アセンブラを書いてみて、コンパイルして初めてその意味を きちんと理解できた気がする。ちなみにx86-64というのは、後方互換を考えた64bit対応CPUと言うことなのだね。うーむ、勉強になる。