微机原理与接口技术第1章35中断_第1页
微机原理与接口技术第1章35中断_第2页
微机原理与接口技术第1章35中断_第3页
微机原理与接口技术第1章35中断_第4页
微机原理与接口技术第1章35中断_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、1中断控制2n几个概念:几个概念:n中断中断n断点断点n中断源中断源n中断处理程序中断处理程序n中断返回中断返回n中断中断 在在CPU执行程序的过程中,某种突发事件的发生,迫使执行程序的过程中,某种突发事件的发生,迫使CPU暂停正在执行的程序,转向突发事件处理;处理完后又暂停正在执行的程序,转向突发事件处理;处理完后又返回原来被中断的程序,继续执行,这一过程称为返回原来被中断的程序,继续执行,这一过程称为中断。中断。n断点断点 被中断的位置(下一条指令的地址)称为被中断的位置(下一条指令的地址)称为断点断点。n中断源中断源 引起中断的原因或触发中断请求的事件称为中断源;引起中断的原因或触发中断

2、请求的事件称为中断源;3n中断处理程序中断处理程序 用以处理突发事件的程序称为用以处理突发事件的程序称为中断处理或中断服务程序;中断处理或中断服务程序;n中断返回中断返回 从中断服务程序返回到原来被从中断服务程序返回到原来被中断的程序的过程称为中断的程序的过程称为中断返回中断返回。4中断控制逻辑 INT n 指令 非屏蔽中断请求 中断控制系统 8259A 非 屏蔽 中 断 请 求 溢出 中断 断点 中断 单步 中断 除数为0中断 图2.15 8086中断源 5中断源n8086中断源中断源 -256个中断源。个中断源。内部中断内部中断外部中断外部中断内部事件内部事件中断指令中断指令INT n 可

3、屏蔽中断可屏蔽中断非屏蔽中断非屏蔽中断6外部中断n对于对于INTR请求,只有在请求,只有在CPU开中断,即开中断,即IF=1时才能被响应;时才能被响应;n对于对于NMI请求,不受状态标志请求,不受状态标志IF的限制。的限制。NMIINTR中断向量和中断向量表7n8086微处理器中,所有中断服务程序的入口地址(包微处理器中,所有中断服务程序的入口地址(包括段基址和偏移量)集中存放,构成一个表,称为括段基址和偏移量)集中存放,构成一个表,称为中断中断向量表;向量表;n在在8086中,中,256个中断服务程序的入口地址顺序存放,个中断服务程序的入口地址顺序存放,构成中断向量表。其序号(构成中断向量表

4、。其序号(0255)称为)称为中断类型码中断类型码,常用常用n表示;表示;n每个入口占用每个入口占用4 Bytes,低字为段内偏移,高字为段基,低字为段内偏移,高字为段基址,表的地址位于内存的址,表的地址位于内存的00000H003FFH,大小为,大小为1KB,共,共256个入口;个入口;n存放中断服务程序入口地址的地址称为存放中断服务程序入口地址的地址称为中断向量中断向量。8n某中断源发中断请求时,某中断源发中断请求时,CPU只要获取类型码,即只要获取类型码,即可得到相应中断服务程序的入口地址。可得到相应中断服务程序的入口地址。n中断向量从低到高依次存放,分为三类:中断向量从低到高依次存放,

5、分为三类: 第一类专用第一类专用,由,由8086内部设定,共内部设定,共5个,即个,即04; 第二类系统保留第二类系统保留,共,共27个,即个,即531; 第三类用户自定义义第三类用户自定义义,共,共224个,即个,即32255。910中断指令n格式:格式: INT nn说明:说明: n4中断类型码中断类型码n=0 255n 4 XXHXXHXXHXXH入口的段地址入口的段地址入口的偏移地址入口的偏移地址存放中断服务子程序入口存放中断服务子程序入口地址单元的偏移地址地址单元的偏移地址代代码码段段数数据据段段该单元在数据段,段地址该单元在数据段,段地址=DS11中断指令的执行n将将FLAGS压入

6、堆栈;压入堆栈;n将将INT指令的指令的下一条指令下一条指令的的CS、IP压栈;压栈;nCPU根据根据n4的值计算出存放的值计算出存放中断向量的地中断向量的地址(存放中断子程序入口地址的地方);址(存放中断子程序入口地址的地方);n将中断向量(中断服务程序入口地址)送将中断向量(中断服务程序入口地址)送CS和和IP寄存器;寄存器;n转入执行中断服务程序。转入执行中断服务程序。n例如:例如:段地址为段地址为0(CS=0000H),某中断类型),某中断类型码为码为33(21H),乘以),乘以4得得132(84H);可知中);可知中断服务程序的入口地址存放在以断服务程序的入口地址存放在以0000:0

7、084H为为起始地址的起始地址的4个字节单元中。个字节单元中。12n内部中断源和非屏蔽中断的类型码由系统默认内部中断源和非屏蔽中断的类型码由系统默认产生;其他外部中断源的类型码由中断源自己产生;其他外部中断源的类型码由中断源自己提供。提供。中断请求与响应n若若CPU开中断,在指令周期的最后一个时钟周期检查开中断,在指令周期的最后一个时钟周期检查INTR。若有请求,则进入中断响应周期,发两个中断响应信号若有请求,则进入中断响应周期,发两个中断响应信号INTA。第一个通知中断源,第二个取中断类型码。然后根据类型码第一个通知中断源,第二个取中断类型码。然后根据类型码在中断向量表中取出中断服务程序的入

8、口地址,并送入在中断向量表中取出中断服务程序的入口地址,并送入IP和和CS。同时,断点(。同时,断点(IP和和CS中原来的内容)压栈。中原来的内容)压栈。1415中断响应n向中断源发出向中断源发出INTA中断响应信号;中断响应信号;n保护硬件现场保护硬件现场n将将FLAGS压入堆栈压入堆栈n保护断点保护断点n将将CS、IP压入堆栈压入堆栈n获得中断服务程序入口地址获得中断服务程序入口地址由硬件系统完成由硬件系统完成16中断指令的执行过程n4 22H11H00H67HIPCS68122HMOV代代码码段段数数据据段段堆堆栈栈段段SPFLAGSHFLAGSLIPHCSLCSHIPLSPSPSP17

9、中断指令例执行程序段:执行程序段: CS IP 6200H:0110H INT 21H6200H:0112H MOV AX,BX 12H01H00H62HSP=1200FLAGSLFLAGSHSP=11FA执行执行INT指令后指令后堆堆栈栈段段18中断指令例n执行执行INT 21H指令后指令后 IP=21H4 CS=(21H4)+20084H 23H11H00H20HIP CS数数据据段段代代码码段段XX21123H 中断服务子程序中断服务子程序19总线请求与响应n总线请求的概念总线请求的概念n8086在最小工作模式下允许高速外设与主存之间直在最小工作模式下允许高速外设与主存之间直接存取数据,

10、即接存取数据,即DMA传送。传送。n在最大工作模式下允许构成多微处理器系统。在最大工作模式下允许构成多微处理器系统。 20n外设或其它微处理器数据传送时,须向主外设或其它微处理器数据传送时,须向主CPU发总线发总线请求。主请求。主CPU在每一个时钟周期的在每一个时钟周期的末尾末尾检查,若有总检查,若有总线请求,则予以响应,让出总线,且与总线之间变为线请求,则予以响应,让出总线,且与总线之间变为高阻态。其它设备获得总线控制权后,进行一次数据高阻态。其它设备获得总线控制权后,进行一次数据传送。传送完后,释放总线,归还给主传送。传送完后,释放总线,归还给主CPU。21n最小工作模式下的总线请求与响应

11、最小工作模式下的总线请求与响应22HOLD-总线保持信号总线保持信号n最大工作模式下的总线请求与响应最大工作模式下的总线请求与响应2324复位与启动n8086的的 RESET为高电平时复位,至少为高电平时复位,至少4个时钟周期。个时钟周期。n初次加电复位,要求初次加电复位,要求RESET高电平不少于高电平不少于50s。复位后。复位后内部寄存器的状态如内部寄存器的状态如表表1-5所示。所示。nCPU关中断,关中断,CS=FFFFH,IP=0000H。25表表1-5 复位后各寄存器状态复位后各寄存器状态寄存器寄存器状状 态态寄存器寄存器状状 态态状态标志寄存器状态标志寄存器清清0SS寄存器寄存器0000H指令指针寄存器指令指针寄存器0000HES寄存器寄存器0000HCS寄存器寄存器FFFFH指令队列指令队列空空DS寄存器寄存器0000H其它寄存器其它寄存器0000H26图图1-22 80861-22 80

温馨提示

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

评论

0/150

提交评论