1. 首页
  2. 文档大全

微机原理 中断

上传者:20****2 2022-06-22 20:24:35上传 PPT文件 2.04MB
微机原理 中断_第1页 微机原理 中断_第2页 微机原理 中断_第3页

《微机原理 中断》由会员分享,可在线阅读,更多相关《微机原理 中断(44页珍藏版)》请在文档大全上搜索。

1、第七章 中断第七章第七章 中中 断断7.1 7.1 中断与异常中断中断与异常中断7.2 7.2 向量中断系统向量中断系统* *7.3 7.3 多任务系统多任务系统* *7.4 7.4 任任 务务 转转 换换7.5 7.5 可编程中断控制器可编程中断控制器8259A8259A7.6 7.6 中断向量表的建立方法中断向量表的建立方法7.7 7.7 CPUCPU的中断处理顺序的中断处理顺序第七章 中断7.17.1中断与异常中断中断与异常中断1. 1. 中断的概念中断的概念中断中断 (中断(中断/ /异常)异常)中断源中断源 中断请求中断请求 中断响应中断响应 中断处理中断处理 中断返回中断返回2.

2、2. 中断分类中断分类按中断源的性质可以把中断分类按中断源的性质可以把中断分类: :第七章 中断(1).(1).外部硬件中断外部硬件中断: 中断源是外部硬电路。通过中断源是外部硬电路。通过CPUCPU的的NMINMI引脚或引脚或INTRINTR引脚引脚向向CPUCPU提出中断请求。提出中断请求。INTR:INTR:可屏蔽中断,受可屏蔽中断,受CPUCPU内标志寄存器中内标志寄存器中IFIF位的屏蔽位的屏蔽 NMI:NMI:非屏蔽中断,不受非屏蔽中断,不受IFIF位的屏蔽。位的屏蔽。CPUCPU每执行完每执行完一条指令一条指令,检测,检测NMINMI和和INTRINTR引脚上有无中引脚上有无中断

3、请求。断请求。(2).(2).内部异常中断:内部异常中断: 中断源是中断源是CPUCPU内部正在执行的过程发生的异常情况。内部正在执行的过程发生的异常情况。如除法操作时结果太大如除法操作时结果太大 ( (分母太小分母太小) ) ;访问某个页或段时,该页或段正好不在内存;访问某个页或段时,该页或段正好不在内存;系统的硬件系统的硬件 、软件、软件 ( (各种系统用表各种系统用表) )发生错误。发生错误。第七章 中断3.中断优先顺序中断优先顺序 CPUCPU的中断优先权排列从高到低为:的中断优先权排列从高到低为: (1 1)除法出错中断,溢出中断,)除法出错中断,溢出中断,INT n,INT n,

4、(2 2)NMINMI (3 3)INTRINTR (4 4)单步中断)单步中断 4.中断类型码中断类型码中断类型码是连接中断源和中断处理程序的中断类型码是连接中断源和中断处理程序的唯一桥唯一桥梁梁。80X8680X86可处理可处理256256级中断级中断,中断类型码可以是,中断类型码可以是0 0255255,一部分由系统占用,一部分用户可以支配。,一部分由系统占用,一部分用户可以支配。 比如:除法错误(比如:除法错误(n=0n=0) 调试异常(调试异常(n=1n=1) NMINMI中断(中断(n=2n=2) 断点中断(断点中断(n=3n=3) 溢出中断(溢出中断(n=4n=4) 第七章 中断

5、5.中断处理顺序中断处理顺序 第七章 中断 6.中中断向量表和中断描述符表断向量表和中断描述符表每个中断都分配有中断类型码,每个中断都分配有中断类型码,CPUCPU通过中断类型通过中断类型码经过处理要找到对应的中断服务程序的码经过处理要找到对应的中断服务程序的入口地址入口地址。. .实模式:实模式: 由由中断向量表中断向量表将中断类型码和中断服将中断类型码和中断服务务 程序的入口地址联系起来;程序的入口地址联系起来;. .保护模式:是由保护模式:是由中断描述符表中断描述符表来对二者进行联系来对二者进行联系。第七章 中断实模式下几个重要概念:实模式下几个重要概念:. .中断向量表中断向量表: :

6、设置在系统设置在系统RAMRAM的最低端的最低端00000H00000H003FFH003FFH的的1K1K字节内,表中共有字节内,表中共有256256个中断类型码对应个中断类型码对应的向量值。(的向量值。(256256* *4=1K4=1K). .中断向量中断向量: :每个向量占用每个向量占用4 4个字节,称为中断向量。个字节,称为中断向量。前前2 2个字节为中断服务程序入口地址的个字节为中断服务程序入口地址的偏移地址偏移地址IPIP,后后2 2个字节为服务程序的个字节为服务程序的段基址段基址CSCS。. .向量地址向量地址: :这这4 4个单元的地址中的个单元的地址中的最小地址最小地址称为

7、向量称为向量地址。地址。规定规定:中断向量表中各向量:中断向量表中各向量等长等长,且处理程序入口,且处理程序入口地址在向量表中按中断源的地址在向量表中按中断源的类型码排序类型码排序。重要公式重要公式: 向量地址向量地址= =向量表的首地址向量表的首地址 + + 中断类型码中断类型码* *4 4讨论讨论: :已知中断类型码已知中断类型码n,n,如何得到中断服务程序入口如何得到中断服务程序入口 地址地址? ?第七章 中断保护模式保护模式:. .中断描述符表(中断描述符表(IDTIDT):在内存中的首地址保存在):在内存中的首地址保存在CPUCPU内部的内部的IDTRIDTR系统寄存器中。系统寄存器

8、中。.CPU.CPU响应中断过程中,响应中断过程中,CPUCPU把中断类型码把中断类型码乘以乘以8 8,与,与IDTRIDTR中的中的基地址相加基地址相加,指示,指示中断描述符表中的某一中断门或中断描述符表中的某一中断门或陷阱门陷阱门(8(8个字节组成个字节组成) )。.CPU.CPU将将门描述符门描述符中的中的选择符选择符送送CSCS寄存器,并根据选择符寄存器,并根据选择符中中TITI位从位从LDTLDT或或GDTGDT中选择一个中选择一个段描述符段描述符,送入,送入CSCS的段描的段描述符寄存器中。述符寄存器中。. .由由段描述符段描述符中的中的基地址基地址和和门描述符门描述符中的中的偏移

9、地址偏移地址确定确定中断服务程序的入口地址。中断服务程序的入口地址。第七章 中断第七章 中断7.6 7.6 中断向量表的建立方法中断向量表的建立方法7.6.1 7.6.1 绝对地址置入法绝对地址置入法ATAT指定段地址指定段地址(16(16位位) ) ,ORGORG指定偏移地址指定偏移地址, ,用用DDDD伪指伪指令将中断服务程序的首地址装入。令将中断服务程序的首地址装入。INTTBL SEGMENT AT 0INTTBL SEGMENT AT 0 ORG n ORG n* *4 4 DD DD INT_VCEINT_VCEINTTBL ENDSINTTBL ENDS MCODE SEGMEN

10、T MCODE SEGMENT ;主程序;主程序 INT_VCEINT_VCE PROC FAR PROC FAR ;中断服务程序;中断服务程序 IRET IRET第七章 中断7.6.2 7.6.2 使用串指令装入法使用串指令装入法ESES设定为设定为0 0,DIDI中设定为中设定为n n* *4 4,使用,使用STOSWSTOSW指令、即可完指令、即可完成中断服务程序首地址的装入。成中断服务程序首地址的装入。 CLI CLI ;禁止中断;禁止中断 MOV AXMOV AX,0 0 MOV ES MOV ES,AX AX ;置向量表;置向量表段地址段地址 MOV DIMOV DI,n n* *

11、4H 4H ;置向量表;置向量表偏移地址偏移地址 MOV AXMOV AX,OFFSET INT_VCEOFFSET INT_VCE;中断服务程序;中断服务程序偏移地址偏移地址 CLDCLD STOSW STOSW MOV AX MOV AX,SEG INTV_CE SEG INTV_CE ;中断服务程序;中断服务程序段地址段地址 STOSWSTOSW STI STI第七章 中断7.6.3 7.6.3 使用使用DOSDOS调用法调用法利用利用DOSDOS中断中断21H21H以及专门为更新中断服务程序地址的以及专门为更新中断服务程序地址的25H25H号功能来设置中断地址。号功能来设置中断地址。使


文档来源:https://www.renrendoc.com/paper/212633813.html

文档标签:

下载地址