Linux

スポンサーリンク
Linux

C言語インラインアセンブリ 拡張構文 その1

インラインアセンブリ拡張構文 Linuxのコードでしばしば登場するこれ。 アセンブリなんだけど独特のルールがめんどくせぇ。 しっかり理解しておこう。 オペランド __asm__()とやってカッコの中に命令を書き込んでいきます。 ...
Linux

Linux入門 その1 そもそもLinuxとは

Linuxとは カーネル そもそもLinuxとはなんだということですが、ずばりそれはカーネルのこと見たいです。 カーネルが何をしているのか、それはユーザーの命令をハードウェアに伝えることです。 つまりユーザーとハードウェアの仲介役で...
Linux

Linux勉強 パート11 GRUBコード GRUBカーネル2

GRUBカーネル突入 ソースコード ここを参照しながら読んでみてください。 ソースコード GRUBカーネル 前回の続きです。 GRUBカーネルスタート esiには展開先のアドレスが保存されています。 ecxに入...
Linux

Linux勉強 パート10 GRUBコード GRUBカーネル

GRUBカーネル突入 ソースコード ここを参照しながら読んでみてください。 GRUB後半コード ソースコード ソースコード GRUBカーネルの実行 前回の記事でA20マスクの機能を停止させる処理を行ったので今回はその続きです。...
Linux

Linux勉強 パート9 GRUBコード プロテクトモードでの処理

リアルモードからプロテクトモードへ ソースコード ここを参照しながら読んでみてください。 GRUB後半コード ソースコード real_to_protからの帰還 復習すると、プロテクトモード用のセグメントレジスタ、GDT、IDTを...
Linux

Linux勉強 パート8 GRUBコード後半 real_to_protとprot_to_real

リアルモードからプロテクトモードへ real_to_protのコード ここを参照しながら読んでみてください。 GRUB後半コード ソースコード 前回プロテクトモード用にセグメントレジスタにデータをロードしたところからの続き。 ...
Linux

Linux勉強 パート7 GRUBコード後半 プロテクトモードへ移行

プロテクトモードへ移行 GURBU後半へジャンプ ここを参照しながら読んでみてください。 GRUB前半コード ソースコード MBRに読み出されるファイルはdiskboot.Sというファイルです。 2セクター目に配置されています。...
Linux

Linux勉強 パート6 GRUB後半 コードを別のメモリアドレスへ移し替える続き

copy_bufferルーチンでメモリを移し替える ソースコード ここを参照しながら読んでみてください。 GRUB前半コード ソースコード MBRに読み出されるファイルはdiskboot.Sというファイルです。 2セクター目に配...
Linux

Linux勉強 パート5 GRUB前半 コードを別のメモリアドレスへ移し替える

GRUB先頭コードを読み込む ソースコード ここを参照しながら読んでみてください。 MBRコード ソースコード GRUB前半コード ソースコード MBRに読み出されるファイルはdiskboot.Sというファイルです。 2セク...
Linux

Linux勉強 パート5 GRUB先頭のコードを読み出す

GRUBの先頭コードを読む ソースコード ここを参照しながら読んでみてください。 ソースコード LBAとCHSモード CHS 物理的なディスクの構造通りにセクターを指定します。 C(シリンダー)H(ヘッダー)S(セクター) ...
スポンサーリンク