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

基本寄存器

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

  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中的描述符类型为中断门。

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

实模式

保护模式

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hack Rabbit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值