毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

汇编TSS中栈切换的问题

更新时间:2012-6-13:  来源:毕业论文

;tr已经初始化,esp0已经赋值
;时钟中断处理程序
;8259A时钟中断处理程序
      pushad
      push ds
      push es
      push fs
      push gs

      mov al , EOI
      out NIT_M_CTL,al      ;中断处理结束

;;;;;;;这里没有保存esp0,当发生下次时钟中断时候,使用的esp0是什么值?此时tss中的以前保存的esp0不能在使用么?

      pop gs
      pop fs
      pop es
      pop ds
      popad

      iretd

没有保存esp0,当发生下次时钟中断时候,使用的esp0是什么值?此时tss中的以前保存的esp0不能在使用么?不是没有改变tss中esp0的值么。

TSS中的静态字段只是用于发生了由外层向内层特权级变换的转移的时候,CPU会用静态字段也就是内层栈保存区的三组栈寄存器中的一组来初始化目标特权级层。


但是如果这个特权级变换的转移是由任务切换导致的,就不会使用那三组内层栈寄存器组,而是使用通用寄存器esp字段来初始化目标特权级层。 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。