2009-06-01から1ヶ月間の記事一覧

Rubyっぽい require の仕方

Rubyでライブラリを読み込むときはこんな風に require するんだけど: require 'rubygems' require 'open-uri' require 'yaml' require は単にメソッドだから,イテレーターの中でも使える。こんなふうに: ['rubygems', 'open-uri', 'yaml'].map{|f| requir…

GCCのインラインアセンブラの書き方 for x86

試行錯誤してインラインアセンブラのチュートリアルが完成した。 やったぞ,なんだか分からないけど俺はやったんだ! GAS構文の概要 まず,GAS のシンタックスについて見ていく。GAS は標準で AT&T 記法を使用しているが,.intel_syntax ディレクティブによ…

Emacsのコードの配色を設定した

カメの話 ウチではカメを一匹買っている。僕が小学生のころどうしても欲しくて,母に買ってもらったのだ。(記憶が曖昧なので,もしかしたら父が買ってくれたのかもしれないが,まあペアレントが買ってくれたのだ)僕はそのカメに「カメっち」というかわいい…

メモリ情報の習得

ここらで,僕らの興味の対象はメモリ管理へと移る。マシンに搭載されているメモリの量を知らなければ,僕らのメモリ管理の物語は始まらないので,搭載メモリ容量を習得する方法について模索しよう。 起動されたプロテクトモードの OS から,搭載メモリ容量を…

printfを作ってみる

前回までに文字を表示する関数を作ったが,簡単のためこの関数は変数を表示できなかった。動的な変数の値が確認できれば,開発を効率よく進められるだろうから,そろそろprintf関数を作っておこう。 video.c 今回の video.c は次のようになる: #include "i3…

GRUBでOSを起動する

前回はフロッピーイメージファイルに GRUB をインストールした。今回はその GRUB から OS を起動する。 GRUB とは GRUB とは,Multiboot Specification に準拠したブートローダーである。 Multiboot Specification とはブートローダーと OS 間のインターフェ…