zoukankan      html  css  js  c++  java
  • orange's习题——第三章【中断和异常】

    一,简答题

    1,说说80386下“中断”和“异常”的概念?

    答案:对80386而言,中断是由异步的外部事件引起的,与正在执行的指令没有关系。异常则是由指令执行期间检测到的不正常或非法的条件引起的,它与正在执行的指令有直接关系。软中断指令“int n”和“into”也归于异常,这是因为执行这些指令产生异常事件。


    2,说说你对Fault,Trap,Abort的理解。

    答案:这三者是根据引起异常的程序是否可被恢复和恢复点的不同,把异常进一步细分的。

      Fault是一种可被更正的异常,当一个fault发生时,处理器会把fault指令的源操作数恢复为指令开始之前的值,所保存断点cs及eip的值指向引起fault的指令。

      Trap是一种在产生陷阱的指令执行后立即背报告的异常,异常处理程序的返回地址将会是产生陷阱的指令之后的那条指令。

      Abort是用来报告严重错误,系统接收到中止后,需要重新建立各种系统表格,并可能需要重新启动操作系统。硬件故障和系统表中出现非法值是中止的例子。


    3,描述中断或异常处理的返回。

    答案:对于提供出错码的异常的处理程序,必须先从堆栈中弹出出错码,然后再执行iret指令。

      先从栈顶弹出返回指针eip及cs,然后弹出eflag值。弹出的cs选择子的RPL字段,确定返回后的特权级。若返回选择子的RPL与CPL相等,则不仅行特权级的改变。若RPL规定了一个外层的特权级,则需要特权级改变,从内层堆栈中弹出外层堆栈的ESP及SS值,这些做法与ret指令相似。 



    二,填空题

    1,处理器不屏蔽来自_____的中断请求,和8086一样,80386下,不可屏蔽中断对应的向量号固定为_____,因此处理器在响应此中断时不从外部硬件接收中断向量号。中断处理程序开始后,处理器在内部自动屏蔽再次响应不可屏蔽中断,直到执行中断返回指令_____后才解除屏蔽。

    答案:NMI,3,iret

    2,段描述符和们描述符结构不同,但第byte_____是通用的,也就是这个byte中的_____位,标识了该选择符描述的是系统段/们描述符还是代码段/数据段。

    答案:5,S

    3,对比调用门来说,在中断门和陷阱门中的低_____位变成了保留位。

    答案:5

    4,中断描述符表IDT在整个系统中只有一个,由中断描述符表寄存器_____指示IDT在内存中的位置。保护模式下,80386把_____作为中断描述符表IDT中描述符的索引。由于80386只识别_____个中断向量号,所以IDT的最大长度是_____byte。

    答案:IDTR,中断向量号,256,2028或2K



  • 相关阅读:
    button theme
    Container详解
    flutter控件之ExpansionPanelList
    flutter屏幕适配
    Flutter 获取控件尺寸和位置
    Dart
    异步async、await和Future的使用技巧
    flutter key
    Flutter 控件之 Routes 和 Navigator. [PopupRoute]
    flutter
  • 原文地址:https://www.cnblogs.com/weiweishuo/p/3082623.html
Copyright © 2011-2022 走看看