码迷,mamicode.com
首页 > 其他好文 > 详细

实模式下的影子寄存器

时间:2020-01-04 16:50:53      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:修改   stack   perl   nbsp   使用   question   保护模式   ref   eal   

先说实模式,这是x86开机时所处的模式。仿佛cpu仍旧是80x86时代。

然后是unreal模式,其实叫做far real mode更形象,就是,仍旧是在16位模式下,但是可以访问1M以上的地址。

这个模式是通过先进入保护模式,通过修改段寄存器,把它的影子寄存器的limit修改成4G来做到的。然后回到16位模式,这样就可以访问远地址了。

x86 cpu并不使用段寄存器,它总是从影子寄存器里读数据。

而实模式下修改段寄存器,cpu只是间接的把影子寄存器里base字段修改成seg<<4。

 

参考:

Segment size in x86 real mode

Peter Cordes 的回答

实模式下的影子寄存器

标签:修改   stack   perl   nbsp   使用   question   保护模式   ref   eal   

原文地址:https://www.cnblogs.com/xiang-yin/p/12149076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!