微机原理中断小结

合集下载

中断知识点总结

中断知识点总结

中断知识点总结一、中断的基本概念中断是一种计算机系统响应外部事件的机制,当外部事件发生时,CPU能够立即停止当前处理的任务,转而执行中断服务程序。

中断能够提高系统的实时响应能力,使得CPU能够在处理多任务的情况下,能够及时地响应外部事件。

中断在计算机系统中起到了非常重要的作用。

二、中断的分类1、外部中断外部中断是指由CPU外部设备发出的中断,通常包括定时中断、I/O中断等。

定时中断是由计时器或者RTC产生的中断信号,用于实现定时任务。

I/O中断是由外设发出的中断信号,用于通知CPU外设有数据需要处理。

2、内部中断内部中断是指由CPU内部产生的中断,比如除法错误中断、非法指令中断等。

这些中断是由CPU自身产生的,用于通知CPU当前指令执行出现了错误或者异常情况。

3、软中断软中断是由软件自身产生的中断,通过系统调用或者异常处理指令产生。

软中断通常用于实现系统调用和异常处理,使得软件能够以一种可控制的方式响应外部事件。

三、中断的处理流程中断的处理流程一般包括中断响应、中断处理和中断返回三个阶段。

1、中断响应当外部事件发生时,CPU能够立即停止当前任务,转而执行中断服务程序。

CPU会保存当前的程序状态,包括程序计数器、寄存器等,然后转向中断服务程序的起始地址开始执行。

2、中断处理中断服务程序执行具体的中断处理操作,比如处理外设输入输出、处理异常错误等。

中断服务程序执行完成后,CPU会回复之前保存的程序状态,然后恢复当前任务的执行。

3、中断返回中断返回是指CPU从中断服务程序返回到之前的任务中。

CPU会恢复之前被中断的任务的程序状态,然后继续执行之前被中断的指令,从而实现对中断的处理。

四、中断的实现方式1、硬件中断硬件中断是通过硬件设备产生中断信号,通常是通过中断控制器将中断信号发送给CPU。

中断控制器能够对多个外部中断进行管理,使得CPU能够正确响应外部事件。

2、软件中断软件中断是由CPU自身产生的中断,通过异常处理或者系统调用方式实现。

微机原理与接口技术——中断系统

微机原理与接口技术——中断系统

08H 定时中断
09H 键盘中断
0AH 保留的硬件中断
0BH 异步串口2中断
0CH 异步串口1中断
0DH 并口2(硬磁盘)中断
0EH 软盘中断
INTR
类型码 0FH 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 1CH 1DH
中断源 并口1(打印机)中断 显示器驱动程序 设备检测 存储器检测 软盘驱动程序 通信驱动程序 盒式磁带机驱动程序 硬盘驱动程序 打印机驱动程序 BASIC程序 引导(BOOT)程序 年月日定时中断 用户键盘 用户定时器时标 CRT初始化参数
(4)溢出中断 类型号为04H
对带符号数来说,溢出就意味着出错(加、减运算 ),一旦产生应立即发现,而CPU并不知道当前处理的 数据是无符号数还是带符号数,只有程序员才明确这一 点。
因此通常在带符号数的加、减法运算后面总是跟着 INTO指令
(4)溢出中断 类型号为04H
当标志寄存器的OF=0时,则INTO指令不产生中断,CPU继 续运行原程序; 当OF=1时,进入溢出中断处理程序,打印出一个出错信息 ,在处理程序结束时,不返回原程序继续运行,而是把控制 交给操作系统。
内部中断的种类
(2)单步中断(陷阱中断) 类型号为01H
三、8086/8088指令系统中没有设置或清除TF 标志的指令,但指令系统中的PUSHF和POPF为 程序员提供了置位或复位TF的手段。置位和复位 TF的程序段如下所示:
内部中断的种类
(2)单步中断(陷阱中断) 类型号为01H
置位TF标志(D8=1) PUSHF POP AX OR AX, 0100H PUSH AX POPF
有更高级别的中断源发出请求,且新中断源满足 响应条件;

微机原理 第9章 微型计算机中断技术

微机原理 第9章 微型计算机中断技术

9.2.3 8086的中断响应过程
2、可屏蔽中断响应 当CPU检测到外设有中断请求(即INTR为高电 平)时,CPU又处于允许中断状态(IF=1),则 CPU就进入中断响应周期。在中断响应周期中, CPU自动完成如下操作: 1)处理器接到中断申请,处理完当前指令即进入中 断响应周期; 2)第二阶段即中断响应周期,在此期间CPU向外部 中断控制器发送两个响应脉冲信号/INTA。第一 个响应脉冲通知中断控制器,已经响应外部中断 请求,让中断控制器提供中断类型号。第二个响 应脉冲,CPU取走中断类型号。
9.1.3 中断工作过程
中断处理:中断处理也叫中断服务,是由中断服 务程序完成的。中断服务程序一般应由以下几部 分按顺序组成: (1)保护现场 (2)CPU开放中断 (3)中断服务程序 (4)CPU关中断 (5)恢复现场 中断返回:IRET指令自动返回到断点地址,继续 执行被中断的程序。

9.2 8086的中断结构
中断向量为4030H:2010H
9.2.3 8086的中断响应过程
一、内部中断响应过程 1、将类型号乘4,计算中断向量指针; 2、CPU的标志寄存器压栈,以保护各个标志位; 3、清除IF和TF标志,屏蔽可屏蔽中断和单步中断; 4、保存断点,即把断点处的IP和CS值压入堆栈,先 压入CS值,再压入IP值; 5、根据第一步计算出来的中断向量指针从中断向量 表中取出中断服务程序的入口地址(段地址和偏 移地址)即中断向量,分别送至CS和IP中; 6、转入中断服务程序执行。
9.1.2 中断系统的功能
二、能实现优化级排队 设计者事先根据轻重缓急,给每个中断 源确定不同的级别,也就是在实际的计算 机系统中,为不同的中断源设定不同的优 先级。 优先级管理可以使系统具备有序的事件 处理能力。

微机原理 微型计算机中断系统剖析

微机原理  微型计算机中断系统剖析

个中断源的请求呢?
当CPU正在处理某个中断,且IF=1,这时若有新
的中断请求产生,CPU要不要响应呢?以什么原则
去响应?
31
第九章
一、中断优先级
一般原则:
级别不同的中断同时发生时,由高到低依次处理。
级别相同的中断同时发生时,按事先设定的次序处理
1、不同级别中断优先级顺序
IBM PC机中,优先级从高到低的顺序如下: (1)内部中断(除法错,INTO,INT n)
方法:
对于专用中断:除法出错、单步中断、不可屏蔽中断、断点
中断和溢出中断,由CPU分别提供中断类型号0~4;
对于用户自己确定的软件中断INT n,类型号由n决定;
对于INTR引脚上的中断:
–由硬件电路设计产生中断类型号。 –可用8259A获取中断类型号。
25
第九章
三、中断服务子程序
1、中断服务子程序特点 为”远”过程(类型为FAR) 要用IRET指令返回 2、中断服务子程序一般结构形式 保护现场(PUSH reg’s) 开中断(STI) 进行中断处理 关中断(CLI) 恢复现场(POP reg’s) 中断返回(IRET)
3
第九章
3、中断的定义
CPU正常运行程序时,由于CPU的内部事件或外
设请求,引起CPU暂时中断正在运行的程序,转 去执行相应的外设(或内部事件)的服务程序
,程序执行完后又返回到原先的程序继续执行
,这一过程称为中断。
中断流程如下页图所示
4
第九章
5
第九章
4、与中断相关的基本概念
中断源 中断类型号 中断向量 中断向量表
两种方法:用指令设置;用DOS功能调用设置。

微机原理指令小结

微机原理指令小结

8086CPU指令小结所有指令:(1)立即数不能作为目的操作数。

(2)不能在2个存储单元之间直接进行操作(串操作除外)。

(3)MOV指令和堆栈指令是惟一能对段寄存器进行操作的指令。

(4)源和目的操作数的数据类型必须匹配,都是8位,或都是16位。

(5)CS 、IP不能直接作为操作数。

(6)指令中至少要有一项明确说明传送的是字节还是字,如果没有,可通过PTR进行设置。

一、传送指令(1)6种指令:通用传送指令、堆栈操作指令、交换操作指令、I/O操作指令、目的地址传送指令和标志传送指令。

(2)对标志位的影响:除标志传送(SAHF、POPF)外,均不影响标志位。

(3)操作数表示方法:立即数——data,存储器单元地址——mem,寄存器——reg,段寄存器——segreg。

1. 通用传送指令:完成数据传送(1)指令格式:MOV OPRD1,OPRD2 ;[目的操作数OPRD1]←[源操作数OPRD2] (2)源OPRD2:data、mem、reg、segreg。

(3)目的OPRD1:mem、reg、segreg。

(4)通用传送指令MOV和堆栈指令是唯一允许以段寄存器(代码段寄存器CS和指令指针IP除外,即CS 、IP不能作为直接操作数)作为操作数的指令,不允许通过MOV 指令直接以立即数方式给段寄存器赋值,不允许直接在两个段寄存器之间直接进行传送。

(5)8位/16位操作。

2. 堆栈操作指令:将数据压入/弹出堆栈(1)指令格式:入栈:PUSH OPRD;先修改堆栈指针SP-2,然后将数据压入堆栈。

;SP =SP-1,[SP]=操作数高8位;SP =SP-1,[SP]= 操作数低8位。

出栈:POP OPRD;先将数据弹出堆栈,然后修改堆栈指针SP+2。

;(操作数低8位)←[SP],SP =SP+1;(操作数高8位)←[SP],SP =SP+1。

(2)操作数:mem、reg、segreg。

操作数不能是立即数data。

微机原理第六章 中断

微机原理第六章 中断

六、8259A的编程
端口地址和命令字关系
初始化命令字ICW
ICW1(芯片控制字)
初始化命令字ICW
ICW2(中断类型码字)
初始化命令字ICW
ICW3(中断级联字)
初始化命令字ICW
ICW4(方式控制字)
操作命令字OCW
OCW1(中断屏蔽字)
用来设置8259A的屏蔽中断操作,直接对中断屏 蔽寄存器IMR中的相应屏蔽位进行设置,其格式如下图 所示。
第六章 中断
第六章 中断


主要教学内容 中断技术 编程中断控制器8259A 8086的中断系统 教学重难点 编程中断控制器8259A
中断技术
一、中断的概念 所谓“中断”是指在CPU正常运行程 序时,由于内、外部事件引起CPU暂时 中止正在运行的程序,转而去执行内、 外部事件的服务程序,待该服务程序处 理完毕后又返回到被中止的程序。




8086的中断系统

8086CPU用8位二进制来表示一个中断中断类型,
因此可有256个中断,编码为0~255。

按中断产生的方式分为两类中断: 软件中断——由指令的执行所引起的;
硬件中断——由外部(主要是外设)的请求所引起
的。
8086的中断系统
一、外部中断 非屏蔽中断NMI(Non Maskable Interrupt)
中断处理过程
2.中断响应过程
(1)关中断 (2)保存断点 (3)识别中断源
3. 中断服务过程
(1)保护现场 (2)执行中断服务 (3)恢复现场 (4)开中断与返回
中断优先级
用软件查询中断优先级
中断优先级
硬件优先级排队电路

计算机专接本之微机原理-7.中断

计算机专接本之微机原理-7.中断

中断 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
13
7.1.2 8086的中断系统
新曙光专接本培训
• 8088能够处理256个中断,分内部和外部两类。用中断向 量号0~255区别 • 可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优 先权管理 • 中断类型:
IF控制可屏蔽中断的响应
6
中断标志IF的状态 • IF=0:可屏蔽中断不会被响应
– – – – 关中断、禁止中断、中断屏蔽 系统复位,使IF=0 任何一个中断被响应,使IF=0 执行指令CLI,使IF=0
新曙光专接本培训
• IF=1:可屏蔽中断会被响应
– 开中断、允许中断、中断开放 – 执行指令STI,使IF=1
30
新曙光专接本培训
• 如果把CPU中断响应周期的动作和中断响应过程结合起来,当一个可 屏蔽中断被响应时,CPU实际执行了7个总线周期。 CPU实际执行了7个总线周期 (1) 执行第一个INTA周期
(2) 执行第二个INTA周期
(3) 执行一个总线写周期
(4) 执行一个总线写周期
(5) 执行一个总线写周期 (6) 执行一个总线读周期,送IP (7) 执行一个总线读周期,从中断向量表中取出中断服务程序入 口地址的段值送CS。 对于非屏蔽与软中断跳过第(1)、(2)步,从第(3)步开始执行到第(7)
• 执行指令IRET恢复原IF状态
7
2. 内部中断
新曙光专接本培训
• 在8086/8088系统中,通过执行中断指令或由CPU本身启 动的中断称为内部中断(也称软件中断)。除单步中断外, 内部中断无法用软件禁止,即不受中断允许标志IF的影响。 • 内部中断是由于8088内部执行程序出现异常引起的程序中 断

微机原理课件第七章微型计算机中断系统

微机原理课件第七章微型计算机中断系统
中断判优
CPU根据中断优先级和状态等信 息,判断哪个中断请求应先被响 应。
中断响应
CPU响应中断请求,将当前程序 的计数器PC和状态寄存器PSW保 存到堆栈中,并跳转到相应的中 断处理程序入口地址。
执行中断服务程序
CPU执行相应的中断处理程序, 完成对突发事件的响应和处理。
中断请求
当某个事件发生时,相应的中断 源向CPU发出中断请求。
中断的历史与发展
中断的概念最早出现在1950年代的真空管计算机中,当时主要用于实现人机交互。
随着集成电路和计算机技术的发展,中断系统逐渐完善,并广泛应用于各种计算机 系统中。
现代计算机的中断系统已经实现了向量中断、可编程中断控制器等技术,能够更好 地满足各种应用需求。
02
中断的基本概念
中断的定义与特点
VS
实时处理广泛应用于工业控制、航空 航天、医疗设备等领域,对于这些领 域来说,系统的实时性至关重要,中 断系统的快速响应和高效处理能力能 够保证系统的稳定性和可靠性。
多任务处理
多任务处理是指计算机系统同时处理多个任务的能力。在多任务处理中,中断系统同样扮演着重要的角色。当多个任务同时 请求计算机系统进行处理时,中断系统能够根据任务的优先级和紧急程度进行调度和管理,确保系统能够高效地完成多个任 务。
中断向量包括中断处理程序的地址和中断类型号,通过中 断向量表可以快速找到对应的中断处理程序地址,从而实 现快速响应和处理中断。
04
中断处理过程
中断请求与优先级
中断请求
当某个外部事件需要CPU立即处 理时,相应的设备会向CPU发出 中断请求信号。
中断优先级
多个中断同时发生时,CPU会根 据中断优先级的高低来决定先处 理哪个中断。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

09H号功能
功能:在屏幕上显示一个以$符号作为结束标 志的字符串。 入口参数:DX的内容为待显示某个字符串的 首地址。 调用方式: MOV DX,待显示字符串的首地址 MOV AH,09H INT 21H 出口参数:无。
0AH号功能(或10)
功能:从键盘上输入一串字符送到指定的内 存缓冲区。 入口参数:DX存有内存缓冲区的首地址。 调用方式: MOV DX,内存缓冲区的首地址 MOV AH,0AH INT 21H 出口参数:无。
中断类型码 10H 13H 14H 16H 17H BIOS中断调用功能 显示器I/O中断调用(及显示器驱动程序) 磁盘驱动程序 通信驱动程序 键盘驱动程序 打印机驱动程序
例如,用指令“INT 16H”可调用键盘驱动程序
当某个BIOS程序中具有多种不同功能时,用不 同的编号----功能号加以区分,并约定功能号 存放在寄存器AH中。其调用方法与DOS功能调 用类似: (1)功能号-AH (2)入口参数-指定寄存器 (3)指令“INT n”实现对BIOS子程序的调用 下面以键盘I/O中断调用为例介绍BIOS中断调用 的方法。
02H号功能
功能:将DL中的一个字符显示在屏幕上。 入口参数:待显示字符的ASCII码。 调用方式: MOV DL,待显示字符的ASCII码 MOV AH,02H INT 21H 出口参数:无。
08H号功能
功能:等待从键盘输入一个字符,将该字符 的ASCII码送AL,但不在屏幕上显示该字 符。 入口参数:无。 调用方式: MOV AH,08H INT 21H 出口参数:AL的内容为输入字符的ASCII码。
DOS系统功能调用与BIOS中断调用
学习目标: 1、理解DOS系统功能调用和ROM BIOS中 断调用的概念。 2、熟悉常用的功能调用,如键盘输入字符/ 字符串、显示器输出字符/字符串等的调用 方法。
一、DOS系统功能调用
1、什么是DOS系统功能调用 系统功能调用是DOS为用户提供的常用子程序 (80多个),可在汇编语言程序中直接调用。这 些子程序的主要功能包括: (1)设备管理(如键盘、显示器、打印机、磁盘 等的管理) (2)文件管理和目录操作 (3)其他管理(如内存、时间、日期等管理) 这些子程序给用户编程带来很大方便,用户不必 了解有关的设备、电路、接口等方面的问题,只 需直接调用即可。
DOS功能调用
类型号 20H 22H 中断功能 程序结束 结束地址 磁盘顺序写 类型号 21H 23H 25H 27H 中断功能 请求DOS功能调用 中止(Ctrl-Break)处理 磁盘顺序读 程序结束且驻留内存 DOS内部保留 DOS内部保留
24H 关键性错误处理 26H 28H 2FH
DOS内部使用 29~2EH DOS内部使用 30~3FH
LEA DX,STR ;显示 键入的字符串 MOV AH,9 INT 21H RET MAIN ENDP
CODE ENDS END MAIN
Z o n g. a s m
这个程序的功能是什么呢?
• • • • • mov dl,1 mov ah,2 int 21 inc dl jmp 102
在该功能调用之前,应该在存储缓冲区的第 一个字节设置待接受字符的个数(范围为 1~255),存储缓冲区的第二个字节在该功 能调用后被自动置上实际键入的字符数 (标志输入结束的回车符除外),输入的 字符从该存储缓冲区的第三个字节开始存 放。若输入的字符数少于所设置的待接受 字符的个数,则多余的内容被置为零;若 实际输入的字符数多于所设置的待接受字 符的个数,则多余部分被忽略。
简单的人机对话的实现 屏幕显示: What is your name ?(使用9号DOS功能调用) 用户输入: LiPing↙(使用10号DOS功能调用) 屏幕在显示: Hello,LiPing!(使用9号DOS功能调用)
程序清单:
DATA SEGMENT BUF DB 30 ACTL DB ? STR DB 30 DUP(?) MESS DB ‘What’s your name?’,0Dh,0AH,’$’ DMESS DB 0DH,0AH,’Hello,$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROC FAR
4CH号功能
功能:返回DOS。 入口参数:无。 调用方式: MOV AH,4CH INT 21H 出口参数:无。
二、BIOS中断调用
1、什么是BIOS BIOS的全称是ROM-BIOS—ROM Basic I/O system (只读存储器基本输入输出系统)。他是一组固化到微 机主板上一个ROM芯片上的子程序,主要功能包括: (1)驱动系统中所配置的常用外设(即驱动程序),如 显示器、键盘、打印机、磁盘驱动器、通信接口等。 (2)开机自检,引导装入。 (3)提供时间、内存容量及设备配置情况等参数。 使用BIOS中断调用与DOS系统功能调用类似,用户也无须 了解相关设备的结构与组成细节,直接调用即可。
2、调用方法
DOS功能调用的子程序已按顺序编号—功能 号(00H—68H),其调用方法是: (1)功能号----AH (2)入口参数--指定寄存器 (3)INT 21H 用户只需给出以上三方面信息,DOS就可根 据所给信息自动转入相关子程序执行。
3、常用的系统功能调用
01H号功能 功能:等待从键盘输入一个字符,将该字符的 ASCII码送AL,并在屏幕上显示该字符。 入口参数:无。 调用方式: MOV AH,01H INT 21H 出口参数:AL的内容为输入字符的ASCII码。
中断功能 被零除 单步 不可屏蔽 断点 溢出 打印屏幕 保留 保留 日时钟 键盘 保留 串口2 串口1 硬盘 软盘 打印机 显示器
类型号 11 H 12 H 13 H 14 H 15 H 16 H 17 H 18 H 19 H 1A H 1B H 1C H 1D H 1E H 1F H 40 H 41 H
3、键盘I/O中断调用示例
键盘I/O中断调用(INT 16H)有三个功能,功 能号为0~2。 (1)AH=0 功能:从键盘读入字符送AL。 出口参数:( AL)=键入字符的ASCII码; (AH)=键入字符的扫描码 【例】MOV AH,0 INT 16H 调用结果:将键盘输入字符的ASCII码送AL,扫 描码送AH
中断功能 设备检测 存储容量 磁盘I/O 通信I/O 盒式磁带I/O 键盘I/O 打印机I/O ROM BASIC 引导 日时钟 Ctrl-Break 定时器报时 显示器参数 软盘参数 图形字符扩展 保留给软盘 硬盘参数
2、调用方法
用户在汇编程序中可使用软中断指令“INT n”调 用BIOS程序,其中n是中断类型码。常用的BIOS 程序的功能与其中断类型码对应关系如下表:
从上图可见,两者相比较,BIOS可更直接地控 制外设,故能完成更复杂的输入/输出操作; 而DOS操作对硬件依赖性少,比相应的BIOS操 作简单,因此在二者能完成同样功能时,应 尽量使用DOS功能调用。
类型号 00 H 01 H 02 H 03 H 04 H 05 H 06 H 07 H 08 H 09 H 0A H 0B H 0C H 0D H 0E H 0F H 10 H
(2)AH=1 功能:从键盘读入字符送AL,并设置ZF标志,若 按过任一键,则置ZF=0,否则ZF=1。 出口参数:ZF=0,键盘有输入,(AL)=键入字符 的ASCII码;ZF=1,键盘无输入。 (3)AH=2 功能:读取特殊功能键的状态。 出口参数:AL中是各特殊功能键的状态(如下图)
三、综合举例:
P DS,AX LEA DX,MESS MOV AH,9 INT 21H ;显示‘what’s your name?’ LEA DX,BUF MOV AH,10 INT 21H ;从键盘接收用户输入的信息
MOV AL,ACTL ;取得键入字符串的时间长度 CBW MOV SI,AX LEA BX,STR MOV [BX+SI],BYTE PTR ‘!’ ;再键入的字符串后加‘!‘ MOV [BX+SI+1],BYTE PTR ‘$’ ;在’!‘后加’$‘,以便显示 LEA DX,DMESS ;显示’Hello!‘ MOV AH,9 INT 21H
相关文档
最新文档