企业创建网站的途径,美食的网站建设个人总结,上海专业网站建站公司,小程序商城图标素材博主联系方式#xff1a; QQ:1540984562 QQ交流群#xff1a;892023501 群里会有往届的smarters和电赛选手#xff0c;群里也会不时分享一些有用的资料#xff0c;有问题可以在群里多问问。 目录先验知识回顾控制寄存器回顾1、8086中断类型1、外部可屏蔽中断2、外部不可屏蔽… 博主联系方式 QQ:1540984562 QQ交流群892023501 群里会有往届的smarters和电赛选手群里也会不时分享一些有用的资料有问题可以在群里多问问。 目录先验知识回顾控制寄存器回顾1、8086中断类型1、外部可屏蔽中断2、外部不可屏蔽中断3、除法错中断4、单步中断5、断点中断6、溢出中断7、软中断2、8086中断向量表3、8086中断响应1、外部可屏蔽中断响应2、外部不可屏蔽中断响应3、内部中断响应4、8086中断返回先验知识回顾
控制寄存器回顾 PSW是Program Status Word的缩写即程序状态字也叫程序状态寄存器 CS:段代码寄存器。
1、8086中断类型
8086用8位二进制码表示一个中断类型共有256个中断可分为两大类 中断结构
1、外部可屏蔽中断
由INTR引入受到标志寄存器中的中断允许标志位IF控制。 IF0CPU不响应INTR中断 IF1CPU响应INTR中断 INTR中断的类型码范围8~255
2、外部不可屏蔽中断
由NMI引入不受到中断允许寄存器标志位IF控制。 NMI信号有效且8086现行指令执行结束且没有DMA请求响应NMI中断 NMI中断类型码2
3、除法错中断
在执行DIV或者IDIV指令时除数为0或商超过寄存器能够表达的范围商溢出执行中断。 中断类型号0. 我寻思着在做除法操作的时候就可以避免这种现象的存在没有必要搞个中断啊。。。
4、单步中断
受到标志位寄存器中的陷阱标志位TF控制。 TF1:CPU每执行完一条指令就引起一个内部中断。 TF0:无 中断类型号1 用途用于实现但不操作是一种强有力的调试手段。联系debug中相关操作
5、断点中断
由INT3指令产生的内部中断。 在程序调试过程中需要跟踪程序走向了解程序执行过程中的中间结果时可以用INT3指令临时替代原有的指令称为设置断点。 中断类型号3
6、溢出中断
受到标志寄存器中的溢出标志位OF控制。 若上条指令执行结果使OF1则产生中断。 中断类型号4
7、软中断
由INTn指令产生。 中断类型码n
2、8086中断向量表
两个知识点 中断向量中断指针是中断服务程序的入口地址 中断向量表中断类型号与对应的中断服务函数入口地址的换算表。 8086的中断向量表如下
3、8086中断响应
1、外部可屏蔽中断响应
1、等待当前指令结束然后进入中断响应周期。 2、CPU获取中断类型号 3、当前的PSW、CS、IP的内容依次压入栈中。保存了断点的状态和断点地址以便返回时恢复 4、清除PSW中的IF位和TF位。IF0意味着关中断这里不包含中断嵌套 5、把中断服务函数的入口地址置入IP和CS 6、完成响应进入中断服务函数
2、外部不可屏蔽中断响应
中断请求在NMI端加入。 等待当前指令执行结束.如果同时出现非屏蔽和可屏蔽中断请求CPU优先响应非可屏蔽。 中断类型号由硬件决定不需要从外部获取。其他操作与可屏蔽中断相同
3、内部中断响应
内部中断的响应操作的共同特点 1、中断类型号来源于指令码、CPU硬件不需要从外部获取 2、没有INTA’信号的响应周期 3、不受到IF位的控制但单步中断受TF位控制 4、除单步中断之外其他内部中断都比外部中断优先响应 5、同样执行可屏蔽中断的3、4、5操作 特别说明 中断响应时应清除TF标志位意味着什么 TF1没执行完一条指令都引起一次单步中断。如果不清除将不停地引起中断每次中断都执行同一条指令而不能反悔。 所以中断服务函数期间TF0等到IRET指令恢复PSW值是才恢复TF位。
4、8086中断返回
无论内部外部中断中断返回都是由中断服务函数的末尾设置IRET指令实现的。 IRET指令的操作是恢复断点处的地址和PSW内容依次从堆栈中弹出保存的IP、CS、PSW值使被中断的程序继续执行 参考书籍 《微机原理与接口技术》