微机技术第08章中断控制接口.ppt
《微机技术第08章中断控制接口.ppt》由会员分享,可在线阅读,更多相关《微机技术第08章中断控制接口.ppt(89页珍藏版)》请在三一办公上搜索。
1、第 8 章,第8章 中断控制接口,教学重点 8088 CPU的中断系统 8259A的中断工作过程和工作方式 中断服务程序的编写,8.1 8088中断系统,8088的中断系统采用向量中断机制能够处理256个中断用中断向量号0255区别可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理,8.1.1 8088的中断类型,内部中断除法错中断指令中断溢出中断单步中断外部中断非屏蔽中断可屏蔽中断,1.内部中断,内部中断是由于8088内部执行程序出现异常引起的程序中断利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径例如,ROM-BIOS和DOS系统利用内部中
2、断为程序员提供了各种功能调用,内部中断的中断向量号已定,除法错中断,在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个向量号为0的内部中断,称为除法错中断例如:,mov bl,0idiv bl;除数BL0,产生除法错中断,mov ax,200hmov bl,1div bl;商200H,不能用AL表达;产生除法错中断,指令中断,在执行中断调用指令INT n时产生的一个向量号为n(0 255)的内部中断,称为指令中断其中向量号为3的指令中断比较特别(生成一个字节的指令代码:11001100),常用于程序调试,被称为断点中断,例如:DEBUG.EXE调试程序的运行命令G设置的断点
3、,就是利用INT 3指令实现的,溢出中断,在执行溢出中断指令INTO时,若溢出标志OF为1,则产生一个向量号为4的内部中断,被称为溢出中断例如:,mov ax,2000hadd ax,7000h;2000H7000H9000H,溢出:OF1into;因为OF1,所以产生溢出中断,单步中断,若单步中断TF为1,则在每条指令执行结束后产生一个向量号为1的内部中断,称为单步中断,例如:DEBUG.EXE调试程序的单步命令T就利用单步中断实现对程序的单步调试,2.外部中断,外部中断是由于8088外部提出中断请求引起的程序中断利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外
4、或紧急事件外部中断的原因是处理器外部随机产生的,所以是真正的中断(Interrupt)内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(Exception),非屏蔽中断,通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断8088的非屏蔽中断的向量号为2,非屏蔽中断请求信号为NMI非屏蔽中断主要用于处理系统的意外或故障。例如:电源调电前的数据保护存储器读写错误的处理,可屏蔽中断,外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这
5、个中断就是可屏蔽中断8088的可屏蔽中断请求和响应信号分别是INTR和INTA*;由IF标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器8088通常需要配合中断控制器8259A共同处理可屏蔽中断可屏蔽中断主要用于主机与外设交换数据,IF控制可屏蔽中断的响应,中断标志IF的状态,IF0:可屏蔽中断不会被响应关中断、禁止中断、中断屏蔽系统复位,使IF0任何一个中断被响应,使IF0执行指令CLI,使IF0IF1:可屏蔽中断会被响应开中断、允许中断、中断开放执行指令STI,使IF1执行指令IRET恢复原IF状态,明确IF标志的状态是关键,8.1.2 8088的中断响应过程,查询中断的顺序,决定
6、了各种中断源的优先权软件中断除法错中断指令中断溢出中断非屏蔽中断可屏蔽中断单步中断,8.1.2 8088的中断响应过程(续),8088各种中断源的优先权,实际上是指被识别出来的先后多种中断同时请求时,最先响应的则可能是单步中断或NMI中断,8.1.3 8088的中断向量表,中断向量:中断服务程序的入口地址(首地址)逻辑地址含有段地址CS和偏移地址IP(32位)每个中断向量的低字是偏移地址、高字是段地址,需占用4个字节8088微处理器从物理地址000H开始,依次安排各个中断向量,向量号也从0开始256个中断占用1KB区域,就形成中断向量表,向量号为N的中断向量的物理地址N4,8.2 内部中断服务
7、程序,编写内部中断服务程序与编写子程序类似利用过程定义伪指令PROC/ENDP第1条指令通常为开中断指令STI最后用中断返回指令IRET通常采用寄存器传递参数主程序需要调用中断服务程序调用前,需要设置中断向量利用INT n指令调用中断服务程序,例8.1 内部中断服务程序,编写80H号中断服务程序功能:显示以“0”结尾字符串的功能利用显示器功能调用INT 10H字符串缓冲区首地址为入口参数DS:DX(段地址:偏移地址)传递参数,数据段,intoffdw?intsegdw?intmsgdb A Instruction Interrupt!db 0dh,0ah,0,例8.1,以“0”结尾,回车、换行
8、,保存中断向量,mov ax,3580hint 21hmov intoff,bx;保存偏移地址mov intseg,es;保存段基地址,例8.1,获取中断向量(DOS功能调用INT 21H)功能号:AH35H入口参数:AL中断向量号出口参数:ES:BX中断向量(段地址:偏移地址),设置中断向量,push dsmov dx,offset new80hmov ax,seg new80hmov ds,axmov ax,2580hint 21hpop ds,例8.1,设置中断向量(DOS功能调用INT 21H)功能号:AH25H入口参数:AL中断向量号DS:DX中断向量(段地址:偏移地址),调用中断服
9、务程序,;设置入口参数:DS段地址(已设置)DX偏移地址mov dx,offset intmsgint 80h;调用80H中断服务程序,例8.1,A Instruction Interrupt!,;80H号内部中断服务程序:;显示字符串(以“0”结尾);入口参数:DS:DX缓冲器首地址new80hprocsti;开中断push ax;保护寄存器push bxpush si,例8.1,进入中断服务程序,A Instruction Interrupt!,显示字符串,mov si,dxnew1:mov al,sicmp al,0jz new2mov bx,0mov ah,0ehint 10hinc
10、sijmp new1,例8.1,A Instruction Interrupt!,退出中断服务程序,new2:pop si;恢复寄存器pop bxpop axiret;中断返回new80hendp,例8.1,A Instruction Interrupt!,主程序结束,mov dx,intoffmov ax,intsegmov ds,axmov ax,2580hint 21hmov ax,4c00hint 21h,例8.1,A Instruction Interrupt!,8.3 8259A中断控制器,Intel 8259A是可编程中断控制器PIC可用于管理Intel 8080/8085、80
11、86/8088、80286/80386的可屏蔽中断8259A的基本功能一片8259A可以管理8级中断,可扩展至64级每一级中断都可单独被屏蔽或允许在中断响应周期,可提供相应的中断向量号8259A设计有多种工作方式,可通过编程选择,8.3.1 8259A的内部结构和引脚,1.中断控制,中断请求寄存器IRR保存8条外界中断请求信号IR0IR7的请求状态Di位为1表示IRi引脚有中断请求;为0表示无请求中断服务寄存器ISR保存正在被8259A服务着的中断状态Di位为1表示IRi中断正在服务中;为0表示没有被服务中断屏蔽寄存器IMR保存对中断请求信号IR的屏蔽状态Di位为1表示IRi中断被屏蔽(禁止)
12、;为0表示允许,2.与处理器接口,3.中断级连,一个系统中,8259A可以级连,有一个主8259A,若干个(最多8个)从8259A级连时,主8259A的三条级连线CAS0CAS2作为输出线,连至每个从8259A的CAS0CAS2每个从8259A的中断请求信号INT,连至主8259A的一个中断请求输入端IR主8259A的INT线连至CPU的中断请求输入端SP*/EN*在非缓冲方式下,规定该8259A是主片(SP*1)还是从片(SP*0),动画,示例,8.3.2 8259A的中断过程,动画,8.3.3 8259A的工作方式,1.设置优先权方式,普通全嵌套方式8259A的中断优先权顺序固定不变,从高
13、到低依次为IR0、IR1、IR2、IR7中断请求后,8259A对当前请求中断中优先权最高的中断IRi予以响应,将其向量号送上数据总线,对应ISR的Di位置位,至到中断结束(ISR的Di位复位)在ISR的Di位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套特殊全嵌套方式优先权自动循环方式优先权特殊循环方式,2.结束中断处理方式,什么是8259A的中断结束?,8259A利用中断服务寄存器ISR判断:某位为1,表示正在进行中断服务;该位为0,就是该中断结束服务。这里说明如何使ISR某位为0,不反映CPU的工作状态。,2.结束中断处理方式,自动中断结束方式普通中断结束方式配合全
14、嵌套优先权方式使用当CPU用输出指令往8259A发出普通中断结束EOI命令时,8259A就会把所有正在服务的中断中优先权最高的ISR位复位特殊中断结束方式配合循环优先权方式使用CPU在程序中向8259A发送一条特殊中断结束命令,这个命令中指出了要清除哪个ISR位,3.屏蔽中断源方式,普通屏蔽方式将IMR的Di位置1,则对应的中断IRi被屏蔽,该中断请求不能从8259A送到CPU如果IMR的Di位置0,则允许IRi中断产生特殊屏蔽方式将IMR的Di位置1,对应的中断IRi被屏蔽的同时,使ISR的Di位置0,4.中断触发方式,边沿触发方式8259A将中断请求输入端出现的上升沿作为中断请求信号电平触
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 技术 08 中断 控制 接口

链接地址:https://www.31ppt.com/p-5975784.html