2008-01-01から1年間の記事一覧
あ…ありのまま 今 起こった事を話すぜ! 「vimperatorを入れたと思ったら,いつの間にか拡張が減っていた」 何を言ってるのか解らないと思うが,おれも何をされたのかわからなかった vimライクなキーバインドだとかヒントモードだとか そんなチャチなもんじ…
たぶん,一週間ぐらい前からvimperatorというものを使い始めた。これはやばい,Autopagerize以来の革命だと思う。それで,.vimperatorrcを弄っているんだけど,設定ファイルを再読み込みするのに毎回ブラウザを再起動するのがメンドクサイので,.vimperatorr…
512byteより大きなプログラムを実行してみよう。 前回は小さなプログラムを書いて,画面に文字を表示することが出来た。AT互換機はディスクの最初のセクタ,つまり512byteを読み込んで実行してくれる分けだから,ただディスクの先頭セクタにそのプログラム…
gasを使ってプログラムを書いてみよう。まずは伝統的にhello,worldからはじめる。 アセンブラで記述しなければならないのはセグメントレジスタの設定のみで、後はCで記述できる。 GAS ここではセグメントレジスタを設定したあとhelloへジャンプしている: cr…
GCCではインラインアセンブリでGASを使うことが出来る。 インラインアセンブラでは,Cとアセンブラ間でのスタックのやり取りをまったく気にすることなく,シームレスにコードを記述できる。 それに拡張子を.SにしておけばGCCはgasをcppで前処理してくれるの…
久しぶりの更新ですね。 OSの開発は知らないことが多くてなかなか思うように進みません。 試行錯誤で開発しているので今まで書いた記事にもウソが結構あるようです。たいした数も書いてないんだけどね改善の必要がありそうなとこをメモしておきます。 IPLは…
私たちがPCの電源を入れるとしばらく待てばwindowsなどのOSが起動される。まあ当然のことなんだけどね。 OSを一から書き上げる場合、PCの電源を入れてからOSが起動するまでPCの内部でどの様な事が起こっているのかを少し知っていなきゃいけない。 ここではい…
アセンブラはCPUに非常に近い言語であるので、アセンブラの解説を始める前にCPUを理解しておくのが賢明だろう。 x86なCPUとは8086互換のCPUのことである。例えばPentiumやAthlonなどはx86なCPUだ。 レジスタ CPUは主にデータの計算を行う回路だ(他にもする…
まず初めにOSを作る手順を紹介しよう。基本的にコードを書く→コンパイル→確認という手順になる。これはアプリケーションプログラムを作成する手順と同じである。なのでここではツールの使い方について簡単に説明する。 OS作成に必要なツールを揃えよう 私はd…
暇なのでブログを始めてみた。 実は今OSの自作を試みていて、そこら辺の事を書いていく予定だ。 三日坊主にならないように頑張ろう。