第7章 中断西北工业大学微机原理PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;置向量表偏移地址
MOV AX,OFFSET INT_VCE;中断服务程序偏移地址
CLD
STOSW
MOV AX,SEG INTV_CE ;中断服务程序段地址
STOSW
STI
12
Baidu Nhomakorabea
7.6.3 使用DOS调用法
第七章 中断
利用DOS中断21H以及专门为更新中断服务程序地址的 25H号功能来设置中断地址。
2
7.1中断与异常中断
1. 中断的概念 中断 (中断/异常) 中断源 中断请求 中断响应 中断处理 2. 中断分类 按中断源的性质可以把中断分类:
第七章 中断
中断返回
3
第七章 中断
(1).外部硬件中断: 中断源是外部硬电路。通过CPU的NMI引脚或INTR引脚 向CPU提出中断请求。 INTR:可屏蔽中断,受CPU内标志寄存器中IF位的屏蔽
地址。 规定:中断向量表中各向量等长,且处理程序入口地
址在向量表中按中断源的类型码排序。
重要公式:
向量地址=向量表的首地址 + 中断类型码*4
讨论:已知中断类型码n,如何得到中断服务程序入口
地址?
8
保护模式:
第七章 中断
.中断描述符表(IDT):在内存中的首地址保存在CPU内 部的IDTR系统寄存器中。
7.6.4 直接接入法
第七章 中断
例:外设的中断类型号为6BH,则对应的中断向量表 地址为从001ACH开始的4个存储单元。
设中断服务程序段地址在1000H,偏移地址为2000H。
……
XOR AX,AX
MOV DS,AX
;指向0段
MOV AX,2000H
MOV WORD PTR [01ACH],AX ;置偏移地址
第七章 中 断
7.1 中断与异常中断 7.2 向量中断系统 *7.3 多任务系统 *7.4 任 务 转 换 7.5 可编程中断控制器8259A 7.6 中断向量表的建立方法 7.7 CPU的中断处理顺序
第七章 中断
1
第七章 中断
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
MOV AX,1000H
MOV WORD PTR [01ACH+2],AX ;置段地址
……
14
7.5 可编程中断控制器8259A
7.5.1 8259A的内部结构及管脚分配
第七章 中断
15
第七章 中断
特点:可编程、八级向量优先中断、级连、优先权动态 地改变。
1.中断请求寄存器(IRR) 中断请求IR7~IR0,当某个为高电平时,IRR相应位置 “1”。 2.中断服务寄存器(ISR) 任何一级中断被响应,执行其中断服务程序,ISR相应位置 “1” 。多重中断情况下,ISR中多位被同时置“1”。 3.优先权判别器(PR) 当IR7 ~ IR0中有多个中断请求信号同时产生时,PR判定 哪个中断请求具有最高优先权,并把它置入ISR的相应位。
16
4 .中断屏蔽寄存器(IMR) 通过IMR可实现对各级中断的有选择的屏蔽。
第七章 中断
断服务程序的入口地址。
9
第七章 中断
10
7.6 中断向量表的建立方法
第七章 中断
7.6.1 绝对地址置入法
AT指定段地址(16位) ,ORG指定偏移地址,用DD伪指
令将中断服务程序的首地址装入。
INTTBL SEGMENT AT 0
ORG n*4
DD INT_VCE
INTTBL ENDS
……
MCODE
使用25H功能时要求:AL=中断类型号,DS∶DX=中断服
务程序首地址的段、偏移地址。
PUSH DS
;保存当前数据段
MOV DX,SEG INT60H
MOV DS,DX
MOV DX,OFFSET INT60H
MOV AL,60H
;设中断类型号为60H
MOV AH,25H
INT 21H
POP DS
13
.CPU响应中断过程中,CPU把中断类型码乘以8,与IDTR 中的基地址相加,指示中断描述符表中的某一中断门或 陷阱门(8个字节组成)。
.CPU将门描述符中的选择符送CS寄存器,并根据选择符 中TI位从LDT或GDT中选择一个段描述符,送入CS的段描 述符寄存器中。
.由段描述符中的基地址和门描述符中的偏移地址确定中
程序的入口地址联系起来; .保护模式:是由中断描述符表来对二者进行联系。
7
第七章 中断
实模式下几个重要概念: .中断向量表:设置在系统RAM的最低端00000H~ 003FFH的1K字节内,表中共有256个中断类型码对应 的向量值。(256*4=1K) .中断向量:每个向量占用4个字节,称为中断向量。 前2个字节为中断服务程序入口地址的偏移地址IP, 后2个字节为服务程序的段基址CS。 .向量地址:这4个单元的地址中的最小地址称为向量
比如:除法错误(n=0) 调试异常(n=1)
NMI中断(n=2) 断点中断(n=3)
溢出中断(n=4)
……
5
5.中断处理顺序
第七章 中断
6
第七章 中断
6.中断向量表和中断描述符表 每个中断都分配有中断类型码,CPU通过中断类型码 经过处理要找到对应的中断服务程序的入口地址。 .实模式: 由中断向量表将中断类型码和中断服务
NMI:非屏蔽中断,不受IF位的屏蔽。 CPU每执行完一条指令,检测NMI和INTR引脚上有无中 断请求。 (2).内部异常中断: 中断源是CPU内部正在执行的过程发生的异常情况。 如除法操作时结果太大 (分母太小) ;
访问某个页或段时,该页或段正好不在内存; 系统的硬件 、软件 (各种系统用表)发生错误。
SEGMENT ……
;主程序
INT_VCE PROC FAR ……
;中断服务程序
IRET
11
第七章 中断
7.6.2 使用串指令装入法
ES设定为0,DI中设定为n*4,使用STOSW指令、即可完
成中断服务程序首地址的装入。
CLI
;禁止中断
MOV AX,0
MOV ES,AX
;置向量表段地址
MOV DI,n*4H
4
第七章 中断
3.中断优先顺序 CPU的中断优先权排列从高到低为: (1)除法出错中断,溢出中断,INT n,… (2)NMI (3)INTR (4)单步中断
4.中断类型码
中断类型码是连接中断源和中断处理程序的唯一桥
梁。80X86可处理256级中断,中断类型码可以是0~
255,一部分由系统占用,一部分用户可以支配。