【微机原理及接口技术】中断系统

【微机原理及接口技术】中断系统


文章目录

  • 【微机原理及接口技术】中断系统
  • 前言
  • 一、中断概述
    • 中断的基本概念
    • 中断处理过程
  • 二、8086/8088中断系统
    • 中断类型
    • 中断响应过程
    • 中断向量表
    • 内部中断服务程序
  • 总结


前言

本篇文章我们会讲到中断的概述,8086/8088中断系统。


一、中断概述

中断的基本概念

中断:指CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序的过程。

中断系统的功能:

  • 1)能实现中断响应、中断服务及中断返回

  • 2)能实现中断优先权排队
    当多个中断源同时提出中断请求时

  • 3)能实现中断嵌套
    当中断处理过程中,又有新的中断提出请求时

中断处理过程

  • 中断请求
  • 中断判优
  • 中断响应:断点保护(同时标志寄存器保护)、
    关中断、转向中断处理
  • 中断处理:现场保护、中断服务、恢复现场
  • 中断返回:断点恢复(同时标志寄存器恢复)

中断服务是进行数据交换的实质性环节


二、8086/8088中断系统

8086/8088的中断系统采用向量中断机制
能够处理256个中断
用中断向量号0~255区别
可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理

中断源

  • 引起CPU中断的事件——中断源。常见的中断源有:
    外部设备的请求
    由硬件故障引起的
    实时时钟
    由软件引起的
  • 中断源分为:外部中断(硬件中断)、内部中断(软件中断)
    内部中断:CPU内部执行程序出现异常引起的中断
    外部中断:CPU以外的设备、部件产生的中断
  • 8086/8088的外部中断信号:INTR、NMI
    INTR——可屏蔽中断请求,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。
    NMI——非屏蔽中断请求,任何时候CPU都要响应此中断请求信号。

中断类型

在这里插入图片描述

中断指令:INT n, INTO, IRET

  • 内部中断
    除法错中断
    指令中断
    溢出中断
    单步中断
  • 外部中断
    非屏蔽中断
    可屏蔽中断

内部中断
内部中断的中断向量号已定

除法错中断:向量号为0
指令中断:向量号为n
其中,断点中断的向量号为3
溢出中断:向量号为4
单步中断:向量号为1

外部中断

非屏蔽中断:向量号为2
外部通过非屏蔽中断NMI请求,必须响应
非屏蔽中断主要用于处理系统的意外或故障
可屏蔽中断:向量号来自中断控制器
外部通过可屏蔽中断INTR请求,由IF控制是否响应;响应时产生INTA*信号
可屏蔽中断主要用于与外设交换数据
IF控制可屏蔽中断的响应

中断标志IF的状态

IF=0:可屏蔽中断不会被响应
关中断、禁止中断、中断屏蔽
系统复位,使IF=0
任何一个中断被响应时,使IF=0
执行指令CLI,使IF=0
IF=1:可屏蔽中断会被响应
开中断、允许中断、中断开放
执行指令STI,使IF=1
执行指令IRET恢复原IF状态

中断响应过程

在这里插入图片描述

例:8086CPU,若NMI、除法错中断和INTR同时产生,则CPU执行完当前指令后对中断请求的检测顺序为( D
A. NMI、除法错中断、INTR B. NMI、INTR、除法错中断
C. INTR、除法错中断、NMI D. 除法错中断、NMI、INTR

中断向量表

  • 中断向量:中断服务程序的入口地址(首地址)
  • 入口地址含有段基址CS和偏移地址IP(32位)
  • 每个中断向量的低字是偏移地址高字是段基址,需占用4个字节
  • 256个中断占用1KB区域,就形成中断向量表
  • 8086/8088中断向量号范围:0H~FFH
  • 8086/8088中断向量表物理地址范围:00000H~003FFH
    在这里插入图片描述
    向量号为n的中断向量物理地址=n×4

内部中断服务程序

  • 编写内部中断服务程序与编写子程序类似
    利用过程定义伪指令PROC/ENDP
    第1条指令通常为开中断指令STI
    最后用中断返回指令IRET
  • 主程序需要调用中断服务程序
    调用前,需要设置中断向量
    利用INT n指令调用中断服务程序

中断向量的读取与设置
读取中断向量
入口参数:AH=35H,
AL=中断类型号(中断向量号)
出口参数:ES:BX=中断向量
设置中断向量
入口参数:AH=25H,
AL=中断类型号(中断向量号),
DS:DX=要设置的中断向量

例:
编写80H号中断服务程序
功能:显示以“0”结尾的字符串
利用显示器功能调用INT 10H
字符串缓冲区首地址为入口参数

;数据段
intoff dw ?
intseg dw ?
intmsg db ‘A Instruction Interrupt !’
db 0dh,0ah,0
;保存中断向量
mov ax,3580h
int 21h
mov intoff,bx;保存偏移地址
mov intseg,es;保存段基地址
;设置中断向量
push ds
mov dx,offset new80h
mov ax,seg new80h
mov ds,ax
mov ax,2580h
int 21h
pop ds
;调用中断服务程序
mov dx,offset intmsg ;入口参数
int 80h
;进入中断服务程序
new80h proc
sti ;开中断
push ax ;保护现场
push bx
push si
;显示字符串
mov si,dx
new1: mov al,[si] ;显示的字符AL
cmp al,0
jz new2
mov bx,0 ;显示的页号和前景色
mov ah,0eh ;功能号
int 10h
inc si
jmp new1
;退出中断服务程序
new2: pop si ;恢复现场
pop bx
pop ax
iret ;中断返回
new80h endp
;主程序结束
mov dx,intoff ;设置80H中断向量
mov ax,intseg
mov ds,ax
mov ax,2580h
int 21h
mov ah,4ch ;返回操作系统
int 21h


总结

到这里这篇文章的内容就结束了,谢谢大家的观看,如果有好的建议可以留言喔,谢谢大家啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bootstrap5-学习笔记3-文字格式+表格+徽章

参考: Bootstrap5 教程 | 菜鸟教程 https://www.runoob.com/bootstrap5/bootstrap5-tutorial.html Bootstrap 入门 Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网 https://v5.bootcss.com/docs/getting-started/introduction/ 之前用bootstrap2和3比较多&#x…

微软云计算Windows Azure(三)

目录 五、Windows Azure Marketplace六、Windows Azure服务平台(一)网站(二)虚拟机(三)云服务(四)移动服务(五)大数据处理(六)媒体支持…

点赋科技:在招聘会上绽放光彩,助力青春梦想起航

在近日举行的青年企业家协会招聘会暨长江大学就业实习双选会上,点赋科技以其独特的魅力和强大的实力吸引了众多求职者的关注。 点赋科技的展位前人头攒动,公司的招聘团队热情地与每一位求职者交流。他们详细介绍了公司的发展历程、业务范围、企业文化以及…

LeetCode-704. 二分查找【数组 二分查找】

LeetCode-704. 二分查找【数组 二分查找】 题目描述:解题思路一:注意开区间和闭区间背诵版:解题思路三: 题目描述: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target &#xf…

杨校老师项目之基于52单片机的霍尔自行车码表【嵌入式】

获取全套资料: 有偿获取:mryang511688 技术:C语言、单片机等 摘要: 本项目基于单片机设计了一款霍尔自行车码表。该系统实现了骑行过程中即时显示行驶速度、行径里程、显示当前时刻以及超速危险报警等功能。有助于骑行者在骑行过…

“解锁财富新密码:订单共享商业模式的革命性力量“

在当前的商业环境中,创新和效率是企业生存和发展的关键。今天,我们向您介绍一种革命性的商业模式——订单共享商业模式,它正在改变企业家们对新零售的理解和实践。 订单共享商业模式,是一种通过整合和优化不同商家的订单资源&…

从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件

文章目录 从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件准备工作:Node.js和npm国内镜像加速下载初始化你的Electron项目创建你的Electron应用运行你的Electron应用为你的应用设置图标打包成EXE文件结语 从零开始:如何用Electron将…

【动手学深度学习】使用块的网络(VGG)的研究详情

目录 🌊1. 研究目的 🌊2. 研究准备 🌊3. 研究内容 🌍3.1 多层感知机模型选择、欠拟合和过拟合 🌍3.2 练习 🌊4. 研究体会 🌊1. 研究目的 理解块的网络结构;比较块的网络与传统…

Qt如何让按钮的菜单出现在按钮的右侧

直接上代码,我们用到了一个eventfilter的函数功能。这个函数比较厉害和重要,大家务必经常拿出来看看。 void MainWindow::initMenu() { QMenu* menuLiXiang new QMenu; QAction* actXiangMuZhangCheng new QAction("项目章程"); …

【Cesium4UE】使用问题及解法统计

本期作者:尼克 易知微3D引擎技术负责人 1.加载3dtiles模型很慢 1.3dtiles是否做了重建顶层处理。如果3dtiles的tiles块太多使用CesiumLab重建顶层。 2.将3dtiles模型放置到固态硬盘中 3.如果有多块3dtiles,考虑使用CesiumLab合并3dtiles处理 4.如果不需…

OSG天空图代码

osgEarth // 创建天空选项osgEarth::Util::SkyOptions skyOptions;// 设置天空的坐标系统(可选)skyOptions.coordinateSystem() osgEarth::Util::SkyOptions::COORDSYS_ECEF;// 设置一天中的小时数(可选)skyOptions.hours() 12.…

基于springboot实现社区养老服务系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现社区养老服务系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本社区养老服务系统就是在这样的大环境下诞生,其可以帮助…

Al2O3/SiC纳米复相陶瓷力学性能显著提升 我国研究机构数量较多

Al2O3/SiC纳米复相陶瓷力学性能显著提升 我国研究机构数量较多 Al2O3/SiC纳米复相陶瓷,是以氧化铝(Al2O3)为基体相,以纳米碳化硅(SiC)为第二相,将第二相纳米颗粒弥散进入基体相,经高…

Google Inventor一款适合儿童的趣味APP编程开发平台

Google Inventor 其实是指 App Inventor,这是由 Google 开发并由麻省理工学院(MIT)继续维护和发展的一个应用程序开发平台。 App Inventor 的主要特点和用途如下: 什么是 App Inventor? App Inventor 是一个基于 W…

uni-app基础框架搭建(vue3+ts+vite)

1.基础准备 uni-app官网uni-app,uniCloud,serverless,环境安装,创建uni-app,自定义模板,国内特殊情况,更新依赖到指定版本,运行、发布uni-app,运行并发布快应用,运行并发布快应用(webview),运行并发布快应用(webview)-华为,cli创建项目和HBuilderX可视化界面创https://uniapp.…

中科数安 | 透明加密防泄密系统!如何有效防止企业内部核心数据资料外泄?

中科数安提供的透明加密防泄密系统是一种专为企业设计的数据保护解决方案,它通过以下关键特性有效防止企业内部核心数据资料外泄: PC地址:——www.weaem.com 自动智能透明加密:系统能够在操作系统级别无缝集成,对指定类…

AC/DC电源模块:跟踪技术的创新之选

BOSHIDA AC/DC电源模块:跟踪技术的创新之选 AC/DC电源模块是一种将交流电转换为直流电的设备,广泛应用于各个领域的电子设备中。随着现代科技的发展,对电子设备的要求越来越高,需要能够提供更稳定、更高效的电源。AC/DC电源模块…

从零开始写 Docker(十七)---容器网络实现(中):为容器插上”网线“

本文为从零开始写 Docker 系列第十七篇,利用 linux 下的 Veth、Bridge、iptables 等等相关技术,构建容器网络模型,为容器插上”网线“。 完整代码见:https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实…

BERT应用——文本间关联性分析

本文结合了自然语言处理(NLP)和深度学习技术,旨在分析一段指定的任务文本中的动词,并进一步探讨这个动词与一系列属性之间的关联性。具体技术路径包括文本的词性标注、语义编码和模型推断。 一、技术思路 NLP和词性标注 在自然…

独著出书的出版流程是怎样的?

独著出书的出版流程一般包括以下几个步骤: 1. 准备书稿:确保书稿内容完整、准确,并符合出版社的要求。 2. 选择出版社:根据书稿的主题和内容,选择合适的出版社。可以考虑出版社的专业性、声誉和出版范围等因素。 3.…