首页
社区
课程
招聘
未解决 [求助]关于段寄存器的疑问
发表于: 2019-11-16 14:43 1840

未解决 [求助]关于段寄存器的疑问

2019-11-16 14:43
1840
初学操作系统,看到保护模式一块.书里提到8086时代有很多程序利用了"地址回绕"这一特性,后来地址线进行拓展,超过2**20-1的地址是否回绕就成了问题,为了兼容,后来的cpu设置了A20Gate.

我的问题是,"可以通过多种 段基址+段内偏移地址 的组合选择某一个特定地址"这一特性是否也被当时的程序广泛使用?按照我的理解,保护模式下段寄存器的值成为了一个数组的下标,而这个数组存放着每个段的起始地址,这个数组由操作系统负责管理.假设一种情况:实模式下,程序设置段基址0x1000H,偏移地址0x1000H,在此处写入一个字符'a';之后,设置段基址0x1100H,偏移地址为0,此时读取应该还是字符'a'.在保护模式下是怎样保证能够取到'a'的?

如果没有被广泛使用,原因又是什么呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//