实模式与保护模式详解一:寄存器

基本寄存器

在了解实模式与保护模式区别之前,先介绍一下几个基本的寄存器

  1. 通用寄存器

    寄存器组中有8个32位寄存器,属于CPU内的寄存器,也称通用寄存器,按照用途可以分为数据寄存器组和指示器变址寄存器

    • 数据寄存器组:EAX、EBX、ECX、EDX
      一般用来保存操作数,运算结果,或作为指示器,变址寄存器等
    • 指示器变址寄存器组:ESI、EDI、ESP、EBP
      一般用来存放操作数的偏移地址、用作指示器或变址寄存器
      在这里插入图片描述
  2. 段寄存器

    在保护模式下,从逻辑地址到物理地址的映射过程中要涉及到分段部件和分页部件,分段部件的作用是将二维的逻辑地址转换为一维的线性地址,在分段部件中有6个十六位的段寄存器,如下图
    在这里插入图片描述

  3. 指令指示器:IP

  4. 标志寄存器 :Flags

  5. 控制寄存器: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位
  6. GDTR寄存器
    全局描述符表寄存器

    存放GDT基址和大小
    48位
    BASE:32位:GDT在内存基地址
    LIMIT :16位:GDT界限(即:长度-1).
    GDT最大能容纳 65536 / 8 = 8192 个 描述符。

  7. IDTR寄存器
    中断描述符表寄存器

    48位
    存放中断描述符表IDT的基地址和限长
    支持 256 个中断
    LIMIT最大为 07FFH 。
    IDT中的描述符类型为中断门。

实模式与保护模式有不同的寄存器使用情况

实模式

保护模式

发布了43 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/include_IT_dog/article/details/100568053
今日推荐