中断传送方式_第1页
中断传送方式_第2页
中断传送方式_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文格式为Word版,下载可任意编辑中断传送方式 一、中断的概念 1中断:一种使CPU中止正在执行的程序而转去处理特别大事的操作。 2中断源:引起中断的大事。 (1)内部中断源,由程序中支配的中断指令INT产生的中断,或由CPU的某些错误操作结果产生的中断。 溢出中断指令INTO 中断指令INTN产生的中断 CPU错误引起的中断 为debug设置的中断:单步中断,断点中断 (2)外部中断源 由外部设备随机引起的一般由中断掌握器掌握的中断或某些处理器(8087/80287)引起的中断。 二、80x86CPU的中断源 如下图所示。 三、8086的中断分类 1软件中断(内中断) 1)中断指令INT引

2、起的中断:CPU执行完一条INTn(n不能为0、1、2、4的类型号)指令后,会马上产生中断,并且调用系统中相应的中断处理程序来完成中断功能。 2)处理CPU某些错误的中断(为处理运算结果的错误而设置) 3)除法错中断:中断类型为0。又称为除数为0中断。 4)溢出中断:中断类型为4。用INTO指令来中断发生溢出的算术操作,并把掌握交给操作系统(此时要求OF=1并执行INTO指令)。假如未发生溢出,此时OF=0,则INTO不会引起中断,连续执行下面的一条指令。 5)为调试程序(DEBUG)设置的中断 单步中断:当标志位TF置为1时,每条指令执行后,CPU自动产生类型1的中断单步中断。 断点中断:中

3、断类型为3。通常调试程序时,把程序按功能分成几段,然后每段设一个断点。当CPU执行到断点时便产生中断,这时程序员可以检查各寄存器及有关存储单元的内容。 软终端过程 2硬件中断(外中断):外中断来自处理机的随机发生的外部条件。 外中断源:有非屏蔽中断(NMI脚)和可屏蔽中断(INTR脚)两大类。 外中断与CPU的连接 非屏蔽中断接至8086/8088CPU的NMI脚(17脚)。 可屏蔽中断通过8259A可编程中断掌握器接至8086/8088CPU的INTR脚(18脚)。 3CPU响应可屏蔽外中断(INTR)的条件 IF=1才响应INTR恳求的中断。 INTR未被8259A的中断屏蔽寄存器(IMR

4、)屏蔽。 IMR的I/O端口地址为21H。其8位对应8个外设的中断恳求。 某位为0允许该外设中断,某位为1则禁止该外设中断。 4CPU响应非屏蔽外中断(NMI)是无条件的。该中断类型号为2。 8259A的中断结束命令EOI及中断命令寄存器(OCW2) 8259A的中断命令寄存器的端口地址为20H。其内容为: 中断结束命令EOI是使8259A的中断命令寄存器的第5位(EOI位)置1,清除当前中断服务寄存器ISR中对应的ISn位,以告知8259A该中断已结束。 四、中断向量表 1中断类型号:每个中断都被支配一个以示区分的8位的类型编号称为中断类型号。80x86中断系统能处理256种类型的中断,类型

5、号为00FFH。 2中断向量表:各个中断类型的处理子程序的入口地址表。存放于00000003FFH的1KB单元中。低两位字节存放中断处理程序的偏移地址,高两位存放段地址。每个类型的中断向量地址占用4个字节的存储单元。 3内部中断的操作步骤 (1)取中断类型号; (2)计算中断向量地址; (3)取中断向量:偏移地址(IP),段地址(CS); (4)转入执行中断处理程序; (5)中断返回到INT指令的下一条指令。 4设置中断向量:在检查或设置任何中断向量时,总是避开直接使用中断向量的肯定地址,而是使用DOS系统功能调用(21H)存取中断向量。 1)设置中断向量:把由AL指定的中断类型的中断向量DS

6、:DX放置到中断向量表中。 预置:AH=25H AL=中断类型号 DS:DX=中断向量 执行:INT21H 2)取中断向量:把由AL指定的中断类型的中断向量从中断向量表中取到ES:BX中。 预置:AH=35H AL=中断类型号 执行:INT21H;中断向量作为出口信息已在ES:BX中 5中断过程:当中断发生时,由中断机构自动完成下列动作: (1)取中断类型号N (2)标志寄存器(FLAGS)内容入栈 (3)当前代码段寄存器(CS)内容入栈 (4)当前指令计数器(IP)内容入栈 (5)禁止外部中断和单步中断(IF=0,TF=0) (6)从中断向量表中取(4N)中的字节内容送IP,取(4N+2)中

7、的字节内容送CS (7)转中断处理程序。中断处理程序需留意: 1)如在执行中断处理程序中还允许中断,可用STI置IF=1来开中断; 2)留意爱护现场和恢复现场; 3)中断处理程序返回时使用IRET指令。 6中断优先级和中断嵌套 2)IBMPC的可屏蔽中断(INTR)的优先级由高到低为:IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7。但是可以由8259A的中断命令寄存器(OCW2)的最高两位D7、D6位 3)置为循环的优先级。 4)中断嵌套:正在运行的中断处理程序又被中断称为中断嵌套。 一般是高级中断嵌套低级中断,此时要求低级中断的处理程序中要有开中断指令STI。被同级或低级中断源嵌套,除了使IF=1外,还要求向8259A发中断结束命令EOI。 7中断处理程序 1)中断预备:在主程序中设置。 设置中断向量 设置设备的中断屏蔽位 设置CPU的中断允许位IF(开中断) 2)中断响应:由硬件自动完成。 外设接口送中断恳求给CPU 当前指令执行完后,CPU送中断响应信号给外设接口 CPU接收中断类型号 当前的FLAGS,CS和IP保存入栈 清除TF和IF 中断向量送IP和CS 3)中断处理程序的编写方法与标准子程序类似,编写步骤如下: 爱护现场,即保存寄存器内容 如允许中断嵌套,则开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论