实模式与保护模式详解一:寄存器
生活随笔
收集整理的這篇文章主要介紹了
实模式与保护模式详解一:寄存器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基本寄存器
在了解實模式與保護模式區別之前,先介紹一下幾個基本的寄存器
通用寄存器
寄存器組中有8個32位寄存器,屬于CPU內的寄存器,也稱通用寄存器,按照用途可以分為數據寄存器組和指示器變址寄存器
- 數據寄存器組:EAX、EBX、ECX、EDX
一般用來保存操作數,運算結果,或作為指示器,變址寄存器等 - 指示器變址寄存器組:ESI、EDI、ESP、EBP
一般用來存放操作數的偏移地址、用作指示器或變址寄存器
段寄存器
在保護模式下,從邏輯地址到物理地址的映射過程中要涉及到分段部件和分頁部件,分段部件的作用是將二維的邏輯地址轉換為一維的線性地址,在分段部件中有6個十六位的段寄存器,如下圖
指令指示器:IP
標志寄存器 :Flags
控制寄存器:CR0、CR1、CR2、CR3
- CR0寄存器:
CR0的低5位組成機器狀態字(MSW)
PE: 0——實模式;1——保護模式
MP: 1(系統有數學協處理器時)
EM: 0(仿真協處理器)
TS: 任務切換,切換任務時自動設置
ET: 1(協處理器的類型)
CR0中的PG位設置為1,表示允許分頁
- CR1寄存器
保留,為將來CPU做準備 - CR2寄存器
如果發生缺頁,引發缺頁的線性地址保存在CR2中 - CR3寄存器
CR3包含頁目錄基址:高20位
GDTR寄存器
全局描述符表寄存器
存放GDT基址和大小
48位
BASE:32位:GDT在內存基地址
LIMIT :16位:GDT界限(即:長度-1).
GDT最大能容納 65536 / 8 = 8192 個 描述符。
IDTR寄存器
中斷描述符表寄存器
48位
存放中斷描述符表IDT的基地址和限長
支持 256 個中斷
LIMIT最大為 07FFH 。
IDT中的描述符類型為中斷門。
實模式與保護模式有不同的寄存器使用情況
實模式
保護模式
總結
以上是生活随笔為你收集整理的实模式与保护模式详解一:寄存器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: justify-content与alig
- 下一篇: 实模式与保护模式详解二:地址映射