博主联系方式:
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控制。
IF=0:CPU不响应INTR中断;
IF=1:CPU响应INTR中断;
INTR中断的类型码范围:8~255;

2、外部不可屏蔽中断

由NMI引入,不受到中断允许寄存器标志位IF控制。
NMI信号有效,且8086现行指令执行结束,且没有DMA请求:响应NMI中断
NMI中断类型码:2

3、除法错中断

在执行DIV或者IDIV指令时,除数为0或商超过寄存器能够表达的范围(商溢出):执行中断。
中断类型号:0.
(我寻思着,在做除法操作的时候就可以避免这种现象的存在,没有必要搞个中断啊。。。)

4、单步中断

受到标志位寄存器中的陷阱标志位TF控制。
TF=1:CPU每执行完一条指令就引起一个内部中断。
TF=0:无
中断类型号:1
用途:用于实现但不操作,是一种强有力的调试手段。(联系debug中相关操作)

5、断点中断

由INT3指令产生的内部中断。
在程序调试过程中,需要跟踪程序走向,了解程序执行过程中的中间结果时,可以用INT3指令临时替代原有的指令,称为设置断点。
中断类型号:3

6、溢出中断

受到标志寄存器中的溢出标志位OF控制。
若上条指令执行结果使OF=1,则产生中断。
中断类型号:4

7、软中断

由INTn指令产生。
中断类型码:n

2、8086中断向量表

两个知识点:
中断向量:中断指针,是中断服务程序的入口地址
中断向量表:中断类型号与对应的中断服务函数入口地址的换算表。
8086的中断向量表如下:

3、8086中断响应

1、外部可屏蔽中断响应

1、等待当前指令结束,然后进入中断响应周期。
2、CPU获取中断类型号
3、当前的PSW、CS、IP的内容依次压入栈中。(保存了断点的状态和断点地址,以便返回时恢复)
4、清除PSW中的IF位和TF位。(IF=0意味着关中断,这里不包含中断嵌套)
5、把中断服务函数的入口地址置入IP和CS
6、完成响应,进入中断服务函数

2、外部不可屏蔽中断响应

中断请求在NMI端加入。
等待当前指令执行结束.如果同时出现非屏蔽和可屏蔽中断请求,CPU优先响应非可屏蔽。
中断类型号由硬件决定,不需要从外部获取。其他操作与可屏蔽中断相同

3、内部中断响应

内部中断的响应操作的共同特点:
1、中断类型号来源于:指令码、CPU硬件,不需要从外部获取
2、没有INTA’信号的响应周期
3、不受到IF位的控制,但单步中断受TF位控制
4、除单步中断之外,其他内部中断都比外部中断优先响应
5、同样执行可屏蔽中断的3、4、5操作
特别说明:
中断响应时应清除TF标志位意味着什么?
TF=1,没执行完一条指令都引起一次单步中断。如果不清除,将不停地引起中断,每次中断都执行同一条指令而不能反悔。
所以,中断服务函数期间TF=0,等到IRET指令恢复PSW值是,才恢复TF位。

4、8086中断返回

无论内部外部中断,中断返回都是由中断服务函数的末尾设置IRET指令实现的。
IRET指令的操作是:恢复断点处的地址和PSW内容:依次从堆栈中弹出保存的IP、CS、PSW值,使被中断的程序继续执行


参考书籍:

《微机原理与接口技术》

微机原理——8086中断类型以及中断向量表、中断响应、中断返回相关推荐

  1. 微型计算机原理中的mov,微机原理考试题目类型

    微机原理考试题目类型 1.阅读程序,并指出程序执行后,相应寄存器的内容是多少? STR1 DW ?AB? STR2 DB 16 DUP(?) CNT EQU $ - STR1 MOV CX , CNT ...

  2. 微机原理8086/8088——指令系统与寻址方式

    微机原理8086/8088概念系列 微机原理8086/8088--微型计算机组成 微机原理8086/8088--微处理器功能结构 微机原理8086/8088--内部寄存器 微机原理8086/8088- ...

  3. 微机原理8086汇编语言上机——Masm环境搭建与常用汇编调试指令

    学校的微机原理与接口技术课,最近开始 考古 上机实验了. 1.弯路 为什么不用宇宙最强大的IDEL--Visual Studio呢? 在我的Visual Studio专栏中有一篇文章介绍Visual ...

  4. 中断的分类,中断指令,中断类型码,中断向量表,中断优先级

    目录 PC机的中断系统 中断的分类 内部中断(软件中断) 故障 陷阱 异常终止 中断指令 指令类型中断指令 INT N 溢出中断指令  INTO 中断返回指令  IRET 外部中断(硬件中断) 非屏蔽 ...

  5. [Keil][Verilog][微机原理] 流水灯、存储器、外部中断实验_北京邮电大学计算机原理与应用课程实验报告

    计算机原理与应用实验-流水灯.存储器.外部中断实验 1 实验一 流水灯实验 1.1 实验目的 掌握ARM开发工具的使用. 掌握基本IO的使用. 1.2 实验原理及内容 电路结构图 实现流水灯的电路结构 ...

  6. 微机原理——8086系统的概述与引脚介绍

    概述 8086 是 16 位 CPU , 采用高性能的 N 沟道.耗尽型负载的硅栅工艺(HMOS) 制造.由于受当时制造工艺的限制,为了解决功能多和引脚少的矛盾,部分引脚采用 分时复用 的方式,构成了 ...

  7. 【沧海拾昧】微机原理:8086/8088中断系统

    #C0305 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题定为本集记录有谬, ...

  8. 微型计算机原理与应用课件,微机原理与应用课件

    PPT内容 这是微机原理与应用课件,包括了微型计算机系统概述,微处理器指令系统,汇编语言程序设计,微处理器外部特性,半导体存储器系统,基本输入输出接口等内容,欢迎点击下载. Principle and ...

  9. 微型计算机电路试卷,微机原理试卷及答案2

    填空题: 1. 从功能上分,8086CPU由_______和_______两部分组成 执行部分EU,总线接口部分BIU 2. 8086CPU采用_______和_______两级存储器寻址方式 段地址 ...

最新文章

  1. JavaScript之js的一些基础方法
  2. Docker selenium自动化 - 修改/dev/shm路径大小实例演示,“session deleted because of page crash“问题解决
  3. 深入理解python特性_深入理解Python特性(7)
  4. DCMTK:测试dcmiod的颜色转换功能
  5. c语言的标准字符,C语言标准定义的32个关键字
  6. Android之matrix类控制图片的旋转、缩放、移动
  7. 解决CodeIgniter大量查询sql时占用内存大问题
  8. es6 async函数的基本用法
  9. 台式计算机 评标细则,附:认证评分项目及评分细则
  10. SQL Server实际执行计划COST欺骗案例
  11. NXP ZigBee JN5169开发流程总结
  12. 16天7000dict
  13. iPhone, iPad, 的Safari书签和阅读列表不同步问题
  14. 友情链接对于网站来说有什么作用?
  15. 网络基本知识【数据传输流程】
  16. [Mysql] ROUND函数
  17. matplotlib作图系列之内置颜色使用(一)
  18. 人脸识别嵌入式Linux芯片瑞芯微RV1109参数介绍
  19. 数据共享交换平台解决方案
  20. DirectX11.2前哨战 R7/R9显卡性能首测

热门文章

  1. Delphi ord 函数
  2. 微信小程序如何直接分享到朋友圈?
  3. 一看就懂!任务提交的资源判断在Taier中的实践
  4. 用python从身份证中提取生日信息(切片计算)
  5. oracle grant
  6. Dubbo系列之Dubbo原理简介
  7. 计算机理论知识论文,理论知识:计算机科学与技术硕士毕业论文写作方法
  8. 中国经济稳中有进态势依旧
  9. 慎用小封装大阻值电阻
  10. 用python实现随机选人、选取活动或节目小程序