- 1、本文档共96页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 8086中断系统课件
第五章中断系统;5.1 中断的基本概念;常见的中断源为:;中断系统;中断系统应具备的基本功能;能实现中断嵌套,即高级别的中断源能够中断低级别的中断服务程序。
系统响应中断后,能自动转入中断处理。中断处理结束,能自动返回。;5.2 8086中断系统;软件中断;除法出错中断-0类型中断;单步中断-1类型中断;当溢出标志OF=1时,执行指令INTO,则产生溢出中断。;中断指令 INT n
INT n是中断指令,n是中断类型号(0~255)。
磁盘操作系统、基本输入输出系统的功能即是用INT n指令中断调用。;硬件中断;它不受中断允许标志的屏蔽,微处理器无法禁止,将在当前指令执行结束予以响应;
8086的非屏蔽中断的类型号为2;
非屏蔽中断主要用于处理系统的意外或故障。例如:
电源调电前的数据保护
存储器读写错误的处理;中断请求信号通过CPU的INTR(打断)引脚进入;中断响应信号从INTA引脚发出;
且中断允许标志IF=1时, CPU响应中断;若IF=0, 则中断请求被屏蔽;
通常可屏蔽中断源经过中断控制器8259A管理再向CPU发INTR请求。;中断标志IF的状态;5.2 中断处理过程;CPU会自动完成3项任务:;中断处理:;恢复现场
将压栈保护的内容顺序出栈给相关寄存器。
中断返回
中断服务程序的最后一条指令是中断返回指令IRET, 执行后IRET后CPU自动从堆栈中弹出IP 、 CS和FLAGS的内容, 返回主程序继续执行。;NMI;Y; 中断向量;中断向量表;N型中断向量在中断向量表中的位置:
存放地址= N×4~( n×4 +3 )
N×4字单元存放偏移地址;
N×4+2的字单元存放段基址。;例5.1 5型中断向量存放在:
5×4~5×4+3=14H~17H的4个单元中, 其中14H、15H单元存放中断服务程序入口的偏移地址;16H、17H单元存放中断服务程序入口的段基址。
;例5.2 CPU执行INT 21H指令时, 中断向量的引导过程。
假设21H型服务程序被放在地址为: XX: YY开始的内存区, 其中断向量XX: YY存放在4×21H~4×21H+3的单元中。
CPU取出INT 21H指令后, CS: IP等于下一指令(标号NEXT:)存放单元的物理地址。;CPU执行INT 21H之后:
FAGS、CS、IP的当前值被压栈保护。
CPU从4×21H~4×21H+3的单元中取得中断向量并写入IP, CS之中。
CPU根据CS: IP值转向21H型中断服务程序。;当中断程序执行完毕, 执行IRET指令时, CPU 从栈顶顺序弹出保护的断点给IP 、 CS、 FLAGS。
CPU根据CS: IP返回断点(NEXT:处), 继续执行主程序。
;3)中断向量表的初始化;设置中断向量的方法为:;MOV AX , 0
MOV ES , AX ; set to base of interrupt vector
MOV BX , N﹡4 ; offset of type N interrupt
MOV AX , OFFSET INTHAND
MOV ES: WORD PTR [BX] , AX ; set addr of
MOV AX , SEG INTHAND ; INTHAND
MOV ES:WORD PTR [BX+2] , AX
INTHAND: ; interrupt processing routine
?
IRET;用DOS功能调用(INT 21H)设置中断向量;35H功能:取中断向量
把由AL指定的中断类型的中断向量从中断向量表中取到ES: BX中。
预置: AH = 35H
AL = 中断类型号
执行: INT 21H
返回时送: ES: BX = 中断向量;例5.4 使用DOS功能调用存取中断向量。
MOV AL , N ; type N interrupt
MOV AH , 35 ; get interrupt vector
INT 21H
PUSH ES ; save the old base and
PUSH BX ; offset of interrupt N
MOV AX , SEG INTHAND
MOV DS , AX ; base of INTHAND
文档评论(0)