アセンブラ

Global Descriptor Tableと保護モードでのセグメントレジスタ

セグメントレジスタに値を入れる e.g) mov bx, SysDataSelector mov ds, bx 保護モードでは16bitのセレクトレジスタと64bitのディスクリプタレジスタがあるが ds内の数字をOffsetとしてGDTからLimitとBase Address等を取得。それをそのまま、ディスクリプタ…

リニアモードの論理アドレス->物理アドレスの計算

セグメント*16 (=+0x0) + オフセット (e.g) 0x2004:0101 = 0x20040 + 0101 = 0x20141