2006-05-01から1ヶ月間の記事一覧

今日買った本

ピアノの森 2 (モーニングKC (1430)) ピアノの森 3 (モーニングKC (1431)) Write Great Code〈Vol.1〉ハードウェアを知り、ソフトウェアを書く

今日買った本

ピアノの森 1 (モーニングKC (1429))

皇帝の新しい心―コンピュータ・心・物理法則作者: ロジャーペンローズ,Roger Penrose,林一出版社/メーカー: みすず書房発売日: 1994/12/20メディア: 単行本購入: 5人 クリック: 116回この商品を含むブログ (47件) を見る数学者ペンローズ博士が人間の意識過…

キリスト教は邪教です! 現代語訳『アンチクリスト』 (講談社+α新書)作者: フリードリッヒ・ニーチェ,適菜収出版社/メーカー: 講談社発売日: 2005/04/21メディア: 新書購入: 8人 クリック: 136回この商品を含むブログ (102件) を見るまずは文句から。何が許…

5日目 その2

今回は変数の値の表示です。 OS自作本で使っているコンパイラ(GO)にはおまけでsprintfがついてますが、gccにはそんなものはない(はず)です。で、どうするかというとGOからパクってきます。(オープンソース万歳ですな) ソースは以下のURLにあります。 http://…

今日読んだ本

エマ (3) (Beam comix) あとがきを読んで衝撃。 作者さん女性だったのかー。完全に予想外(笑

5日目 その1

今日は文字列を表示するところ(harib02f)まで。 問題になるのはhankaku.txtの扱いです。 makefont.exeが使えないので、rubyでC配列を出力させてそれを利用します。 hankaku.txtからC配列を出力させるhankaku.rbはこんな感じ #!/usr/bin/ruby fio = open(ARGV…

今日買った本

よつばと! (5) (電撃コミックス (C102-5))

4日目

ここらへんから開発は主にCでおこなうようになっていくのでここで説明することは減っていきます。 4日目についてはbootpack.cなどはOS自作本とまったく同じでOK 異なるのはnaskfunc.nasに対応するasmfunc.Sを作ったくらいです。

3日目 その4

前回までで32ビットモードには到達したので あとはHariMainの起動して3日目は終了です。 キリがいいので3日目終了ぶんまでのソースを掲載しときます。 以下細かいはなし。 HariMain中のhlt命令はインラインアセンブラasm("hlt")で済ませました。(OS自作本の…

今日買った本

Emacs 辞典 (DESKTOP REFERENCE)

今日買った本

考える脳 考えるコンピューター よつばと! (4) (電撃コミックス (C102-4))

3日目 その3

32ビットモードへの道 その2前回はbootpack用のリンカースクリプトを書きましたが、今回はオリジナルのHariboteOSがそこらへんをどう処理しているかという話。ちなみに32ビットモードへの移行についてはOS自作本の8日目に書いてあるのですが、データセクショ…

3日目 その2

32ビットモードへの移行 その1 asmhead.Sを書きますがOS自作本のasmhead.nasとほとんど同じです。 違うのはbootpackの転送元アドレスです。 asmhead.nasではファイルの最後にbootpackラベルがありbootpack.hrbがそのラベルの直後に連結されるので転送元アド…

3日目 その1

FDから読み込む部分は特に問題ないとおもいます。 (といいつつ自分は当初セグメントの設定がいい加減だったために大層苦労しましたが…) 次にharibote.S(haribote.nasに相当)を書きます。 .file "haribote.S" .code16gcc .text main: // 画面のモードを切り替…

今日買った本

エマ (2) (Beam comix)

2日目 その2

前回halloos.Sを作りましたが、OS自作本に掲載されているhelloos.nasとはセグメントの設定などが異なっています。 今回はこれをOS自作本にあわせます。 以下修正したhelloos.Sの先頭部分です。 .file "helloos.S" .code16gcc .section .rodata msg1: .string…

2日目

とりあえずhelloos.nasに相当するhelloos.Sを作成。 最初なんで全部掲載しときます。 #define INIT_SEG 0x07c0 .file "helloos.S" .code16gcc .section .rodata msg1: .string "hello,world" .text ljmp $INIT_SEG, $main main: cli movw $INIT_SEG, %ax mov…

4月の終わりにこんな本買いました。 30日でできる! OS自作入門 本の中でアセンブラには筆者謹製のnaskを使用してますが、 せっかくLinux上で開発するのでそこらへんをGNUツールでまかなってみます。 以下参考資料とか はじめて読む486―32ビットコンピュータ…

おとつい実家に帰る途中の本屋で衝動買い

C++の設計と進化 ニューロマンサー (ハヤカワ文庫SF)