雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
1: 2007-03-25 (日) 16:52:25 ソース バックアップ No.1 を復元して編集
Line 1: Line 1:
 +OS自作本の6日目。P124。
 +ここは難しくはありませんが、とても煩雑でややこしい部分。
 +
 +初めて読む方でもしうまく理解できなかったら、''「とにもかくにも64ビットくらいある設定用の値を、むりやり48ビットに押し込んでいる」''程度に理解して、先に進んじゃうのがいいかも。(それで後でもう一回よく読んでみれば意外とスルスルっと解ることも多いので)
 +
 +・・・まあでも、これじゃちょっとあんまりなので、オイラなりの解説〜♪
 +
 +
 +*GDTへの設定に必要なもの [#y2711dbc]
 +-とにかく、GDTには 8,192個分の設定ができる。(セグメントを 8,192種類設定できる)
 +-各1個の設定には、大きさ・開始番地・属性の三つを設定する必要がある。
 +
 +まずはこれだけ。属性はちょっと特殊なのでちょっと置いておく。とりあえずは16ビット必要ということで。
 +
 +そう考えると、こういう設定パラメータが必要になると。
 +
 +||C大きさ|C開始番地|C属性|h
 +|h範囲|0x0〜0xFFFFFFFF|0x0〜0xFFFFFFFF|0x0〜0xFFFF|
 +|h必要ビット数|32|32|16|
 +|h例|0x00230000|0x0000C000|0xA4FD|