美文网首页
[065][x86汇编语言]第17章 中断门、陷阱门描述符格式,

[065][x86汇编语言]第17章 中断门、陷阱门描述符格式,

作者: AkuRinbu | 来源:发表于2018-08-23 10:07 被阅读33次

一、实模式,端口读写相关,复习

《汇编语言(第三版)》

二、学习笔记

《x86汇编语言:从实模式到保护模式》
https://www.jianshu.com/p/d481cb547e9f

三、中断相关,回顾复习

  • [014][x86汇编语言]采用更新周期结束中断,动态时钟(Bochs 调试: 在中断向量表IVT中,查看新的0x70号中断程序的入口地址)
    https://www.jianshu.com/p/0667a55bafce
  • [015][x86汇编语言]习题9-1:对8259芯片编程,屏蔽除RTC外的其他所有中断,观察字符“@”的变化速度,动态时钟
    https://www.jianshu.com/p/cec44e9d9bc7
    中断类型:硬件中断、内部中断 、软中断

四、格式相关,复习回顾

[019][x86汇编语言]段描述符、段选择子格式(检测点11.1)

https://www.jianshu.com/p/0ec493a0287c

存储器段描述符格式(Segment Descriptor)
段选择子格式(Segment Selector)

[030][x86汇编语言]第十四章 调用门描述符的格式

https://www.jianshu.com/p/268fa4fd21a0

调用门描述符的格式

[038][x86汇编语言]第十五章 中断描述符表 任务门描述符格式

https://www.jianshu.com/p/2464542aef84

任务门(Task-Gate)描述符格式

五、中断门与陷阱门

中断门描述符格式

中断门描述符的格式.png

陷阱门描述符格式

陷阱门描述符的格式.png

IDTR与GDTR

  • IDTR(Interrupt Descriptor Table Register):位于处理器内部的48位中断描述符表寄存器,保存中断描述符表(IVT)在内存中的线性基地址界限
    中断描述符表寄存器.png

保护模式下的中断处理过程示意图

图17-3 保护模式下的中断处理过程示意图.png

《x86汇编语言:从实模式到保护模式》 第345页

  • 1、中断门和陷阱门中有目标代码段描述符的选择子,以及段内偏移量
  • 2、根据选择子的TI位,处理器访问GDT或者LDT,取出目标代码段的描述符;
  • 3、从目标代码段的描述符中取得目标代码段所在基地址,再同中断门和陷阱门描述符中的段内偏移量相加,就得到了中断处理程序的32位线性地址;
  • 4、如果没有开启分页功能,该线性地址就是物理地址;否则,送页部件转换成物理地址.

控制转移到中断/异常处理程序时的两种栈使用情况

图17-4 控制转移到中断/异常处理程序时的两种栈使用情况

《x86汇编语言:从实模式到保护模式》 第346页

中断门

  • 进入中断处理程序时,EFLAGS寄存器IF位被处理器自动清零(if=0,屏蔽中断),以禁止嵌套的中断;
  • 返回时,将从栈中恢复EFLAGS寄存器的原始状态;

陷阱门

  • 陷阱中断的优先级较低,通过陷阱门,进入中断处理程序时,EFLAGS寄存器IF位不变,以允许其他中断优先处理;

EFLAGS寄存器 的 IF位

  • 仅影响硬件中断,对NMI、异常和int n形式的软件中断不起作用;
  • 标志寄存器位相关,复习参见

六、错误代码

错误代码格式

错误代码的格式.png
  • EXT:表示异常是由外部事件引发(external event)的,EXT=1,表示异常是由NMI、硬件中断等引发的;

  • IDTIDT=1,表示段选择子的索引部分(错误代码的位15~3)是指向中断描述符表IDT的;IDT=1,表示段选择子的索引部分(错误代码的位15~3)指向GDT或者LDT;

  • TIIDT=0时有效;TI=0,指向GDT;TI=1,指向LDT;

  • 段选择子的索引部分:用于指示GDT/LDT内的段描述符,或者IDT内的门描述符,它就是我们平时所用的段选择子的高13位;

错误代码的弹出

  • 当通过iret/ireted指令从中断处理程序返回时,处理器并不会自动弹出错误代码,对那些压入过错误代码的过程来说,在执行iret/ireted指令前,需要手动从栈中移除错误代码;

不会压入错误代码的情况

  • 外部异常(通过处理器引脚触发);
  • 软中断指令int n引发的异常;

相关文章

网友评论

      本文标题:[065][x86汇编语言]第17章 中断门、陷阱门描述符格式,

      本文链接:https://www.haomeiwen.com/subject/lccpiftx.html