关于实方式到保护方式的切换

fjyangzb 2011-05-13 06:07:48
杨季文的80X86中用以下方式实现从实方式到保护方式的切换:JUMP MACRO selector,offsetv
DB OEAH
DW offsetv
DW selector
ENDM
我们都知道选择子只占高13位,现在他直接用selector装入CS中,这不是覆盖了CS中的低三位RPL了吗,这样CPU在从CS中取出高13位的选择子不就产生了错误了吗?
...全文
76 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Areslee 2011-05-13
  • 打赏
  • 举报
回复
自己看描述符的定义
8/16/24/32才是不同的描述符,如果是LDT或DPL不同,低3位再加上相应的值
fjyangzb 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cnzdgs 的回复:]
例如选择子8和9都表示第1个描述符,装入时处理器会忽略低两位,所以8和9是一样的。
[/Quote]那么是不是8和9表示第1个描述符,但8的RPL是0而9的RPL是1?如果我将一个8的倍数的索引装入CS,是不是意味着TI和RPL都为0?
cnzdgs 2011-05-13
  • 打赏
  • 举报
回复
例如选择子8和9都表示第1个描述符,装入时处理器会忽略低两位,所以8和9是一样的。
cnzdgs 2011-05-13
  • 打赏
  • 举报
回复
索引值在选择子中就是放在高位的.
fjyangzb 2011-05-13
  • 打赏
  • 举报
回复
cnzdgs你是说CPU会自己将索引左移到高13位然后自己设置TI位和RPL吗
fjyangzb 2011-05-13
  • 打赏
  • 举报
回复
指令完全没有考虑TI位和RPL
cnzdgs 2011-05-13
  • 打赏
  • 举报
回复
处理器会自动处理低两位。
fjyangzb 2011-05-13
  • 打赏
  • 举报
回复
是我解释错了,是描述符索引只占选择子的高13位,但那杀JUMP指令直接将一个描述符索引装入CS中,不就错误了吗
大熊猫侯佩 2011-05-13
  • 打赏
  • 举报
回复
谁说选择子是13位,应该是16位

21,499

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧