当前位置: 代码迷 >> 汇编语言 >> 优先级有关问题,高手指教!
  详细解决方案

优先级有关问题,高手指教!

热度:5868   发布时间:2013-02-26 00:00:00.0
优先级问题,高手指教!!!!!!



80386响应
中断/异常
的优先级                                   中断/异常类型         优先级
 
                                                  调试故障                     最高
 
                                                  其它故障                       ↓

                                      陷阱指令INT   n和INTO             ↓

                                                  调试陷阱                       ↓

                                                  NMI中断                         ↓

                                                  INTR中断                     最低


  为什么nmi和intr的优先级这么低呢,不可屏蔽中断不是应该优先级最高的吗?这个表是不是错了?高手指教!!!!


 



------解决方案--------------------------------------------------------
表中所列的都是不可屏蔽中断
------解决方案--------------------------------------------------------
好底成!
------解决方案--------------------------------------------------------
让我说,一时也不太清楚,查查资料吧!
------解决方案--------------------------------------------------------
还有特权级转移是指:假如当前的要访问的代码段的特权级是dpl,而当前的权限是cpl,cpl> dpl(非一致代码段),那么发生特权级转移。而如果当前cpl <dpl那么就不发生特权级转移吗?是不是在cpl的权限值不可以访问dpl是才发生?还是怎么回事?

"对于使用调用门的段间转移指令JMP,检测条件与段间直接转移相同。由于已置RPL=0,所以可认为 RPL <=DPL的条件总能满足。所以,对于普通的非一致代码段,当CPL=DPL时,发生无特权级变换的转移;对于一致代码段,在满足CPL> =DPL时也发生无特权级变换的转移;其它情形就引起异常。 " -------------为什么这个cpl要等于dpl,cpl <dpl 不行吗?为什么?

非一致代码段其实就是普通代码段,叫它非一致代码段是为了跟一致代码段对称。表示特权级的数字越大,表示特权级越低。普通代码段的调用规则是,cpl=dpl,rql <=dpl。就是同特权级之间调用,“rql <=dpl”是一个附加条件,其实没有什么实质性的用途。
一致代码段的调用规范是:cpl=> dpl,但是并不发生特权级转变。

为什么这个cpl要等于dpl,cpl <dpl 不行吗?
这是一个硬性规定,可以不必理会它,没有实际价值。
  相关解决方案