一、上篇基本按书上写个一个从实模式到保护模式的简单实现,但是上面的实现书上说太暴力了主要是死循环,就添加了从保护调回到实模式的实现。

直接问题:按书上写的却怎么也跳回不到实模式

  1. 错误:我的中间段的长度是实际长度 而不是0ffffh 
  2. 至于原因。我想是16位代码的界限,这样在跳到另一个段的时候,cs的值改变了。
  3. 但是学的跳转指令有直接修改cs的???为何我也不知道了 

流程

  1. 1.通过一个16位的段  而不是一个32位的段 段属性执行代码
  2. ds,es,fs,gs,ss这些段寄存器对应的高速缓冲寄存器中的内容可以通过加载normal选择子而得
  3. 到更新,当向这几个段寄存器中装入normal选择子时,会自动地将normal对应的描述符装载到
  4. 述符高速缓冲存器中,因normal选择子所对应的描述符的属性符合实模式下的要求。 
  5. 通过jmp 跳转实现cs的修改