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

news2024/11/13 4:22:29

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


文章目录

  • 【微机原理及接口技术】中断系统
  • 前言
  • 一、中断概述
    • 中断的基本概念
    • 中断处理过程
  • 二、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.coloradmin.cn/o/1793993.html

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

相关文章

Linux驱动开发笔记(三)平台设备驱动

文章目录 前言一、Linux的设备模型1. 总线1.1 bus_type结构体1.2 注册/注销总线 2. 设备2.1 device结构体2.2 内核注册/注销设备 3. 驱动3.1 device_driver结构体3.2 注册/注销驱动 4. attribute属性文件4.1 attribute_group结构体4.2 设备属性文件4.3 驱动属性文件4.3. 总线属…

2024骨传导耳机品牌排行前五名汇总,揭晓年度最强王者骨传导机型!

骨传导耳机自问世以来,便迅速在蓝牙耳机市场中崭露头角,并且凭借特殊的传声方式和特健康的佩戴方式深得消费者的喜爱。然而,随着骨传导耳机逐渐热门,市场中品牌越来越多,也逐渐出现了一些劣质品牌,这些品牌…

vscode运行Java utf-8文件中文乱码报错

问题现象 vscode 运行utf-8 java文,爆出如下错误 hello.java:5: ����: ����GBK�IJ���ӳ���ַ&a…

Latex之图片排列的简单使用(以MiKTeX工具为例)

一、参考资料 Latex如何插入图片 Latex 学术撰写工具推荐(在线、Windows、Mac、Linux) 关于Latex并排多张图片及加入图片说明的方法 二、准备工作 1. 在线LaTex工具 Overleaf 2. 本地LaTex工具 MiKTeX 3. 测试用例 \documentclass{article} \ti…

AWS EC2服务器开启root密码,SSH登录

1) EC2 Instance Connect连接,更改root密码 sudo passwd root 2)接着切换到切换到 root 身份,编辑 SSH 配置文件 $ sudo -i$ vi /etc/ssh/sshd_configPasswordAuthentication no,把 no 改成 yes #PermitRootLogin prohibit-passw…

SSM旅游论坛(前后分离源码+论文)

该旅游论坛是基于Spring、SpringMVC、Mybatis框架开发出来的 用户信息管理 此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息, 还进行了对用户名称的模糊查询的条件 景点信息管理 论坛类型管理…

体验SmartEDA:颠覆传统,设计流程更流畅,超越Multisim与Proteus!

在电子设计自动化(EDA)领域,传统软件如Multisim和Proteus一直是工程师们的得力助手。然而,随着科技的飞速发展和用户需求的不断升级,一个全新的EDA平台——SmartEDA正崭露头角,凭借其更为流畅的设计流程&am…

Github Copilot登录账号,完美支持chat

Github Copilot 代码补全等功能,提高写代码的效率 https://web.52shizhan.cn/activity/copilot 登录授权后,已经可以使用,完美。如图

虚拟处理器和线程

本文主要介绍以下内容: 线程及多线程结构描述UNIX 下的虚拟处理器是如何实现的列出和解释虚拟处理器类别描述服务器如何处理网络连接设置与 VP 和线程相关的服务器配置参数动态添加和移除虚拟处理器 1. 线程 线程是程序中正在执行的一段指令序列。 当多个线程在一…

学习请求接口

axios的方法 方法一 方法二 方式三 方式四 ajax请求 fetch请求 学习一下

前复权、后复权,技术分析看哪个?价值投资呢?

先说结论, 前复权可以实现技术指标的连续性,适合技术分析, 后复权可以实现股价走势的连续性,适合价值投资者 ​ 从头来说,一家公司盈利后,可以选择用盈利购买新的生产设备或者拓展生产,但是…

【打印功能】js简单实现表格样式的数据打印,按样式打印出来

效果图 代码部分&#xff0c;简单三步 1&#xff0c;html部分&#xff1a;写一个表格&#xff0c;然后数据填进去 <div id"printable-area" v-show"false"><div><div style"text-align: center;height: 40px;line-height: 40px;font…

联想Y410P跑大模型

安装vs 2017 查看GPU版本 查看支持哪个版本的cuda windows cuda更新教程_cuda 12.0-CSDN博客 下载并安装cuda tookit 10.1 CUDA Toolkit 10.1 Update 2 Archive | NVIDIA Developer 找到下载的文件&#xff0c;安装 参考安装链接 Win10 Vs2017 CUDA10.1安装&#xff08;避坑…

金融科技赋能跨境支付:便捷与安全并驾齐驱

一、引言 在全球经济一体化的背景下,跨境支付作为国际贸易和金融活动的重要组成部分,正迎来金融科技浪潮的洗礼。金融科技以其独特的创新性和颠覆性,正在重塑跨境支付市场的格局,使其更加便捷、高效且安全。本文旨在探讨金融科技如何助力跨境支付,实现便捷与安全并存,并…

Linux进程无法被kill

说明&#xff1a;记录一次应用进程无法被kill的错误&#xff1b; 场景 在一次导出MySQL数据时&#xff0c;使用下面的命令&#xff0c;将数据库数据导出为.sql文件&#xff0c;数据量大&#xff0c;导出时间长&#xff0c;于是我就将服务器重启了。 mysqldump -u username -…

C++:list模拟实现

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习《C&#xff1a;list模拟实现》&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 如果本篇文章对你有帮助&#xff0c;还请各位点点赞&#xff01;&#xf…

Python接口自动化测试:Json 数据处理实战

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 上一篇说了关于json数据处理&#xff0c;是为了断言方便&#xff0c;这篇就带各位小伙伴实战一下…

vue3+elementPlus实现Radio单选切换显示不同内容

el-radio-group 组件方法&#xff1a; <template><el-radio-group v-model"radio"><el-radio :value"0">阶梯达标</el-radio><el-radio :value"1">限时达标</el-radio></el-radio-group> </templ…

ElementUI之el-tooltip显示多行内容

ElementUI之el-tooltip显示多行内容 文章目录 ElementUI之el-tooltip显示多行内容1. 多行文本实现2. 实现代码3. 展示效果 1. 多行文本实现 展示多行文本或者是设置文本内容的格式&#xff0c;使用具名 slot 分发content&#xff0c;替代tooltip中的content属性。 2. 实现代码 …

​谁用谁知道,教师实用工具分享​

老师们面临着日益增长的教学和管理任务。为了有效提升工作效率&#xff0c;一些实用的工具成为了老师们不可或缺的助手。给大家分享几款教师必备的工具&#xff0c;帮助教师们在教学和管理工作中更加得心应手。 1. 知乎&#xff1a;知识的海洋 知乎是一个中文问答社区&#xf…