预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共120页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

9.1 中断的基本概念 9.2 80x86的中断指令 9.3 中断向量 9.4 系统中断的分类 9.5 8259A中断控制器 9.6 PC/AT的可屏蔽中断 9.7 实模式下的定时中断程序设计第九章中断系统复习:CPU与外设交换数据的方式又几种? 以查询方式为例:1、中断方式输入数据的过程分析2、什么是中断? CPU暂停执行现行程序,转而处理随机事件,处理完毕后再返回被中断的程序继续执行,这一全过程称为中断。4、具有中断请求功能的输入接口4、具有中断请求功能的输入接口5、什么是中断系统? 为实现中断功能而采取的硬件和软件的集合。中断响应及中断嵌套过程示意图(设B中断的级别高于A)第九章中断系统1、开中断指令STI 功能:使标志寄存器中I标志置1,CPU处于开中断状态; 2、关中断指令CLI 功能:使标志寄存器中I标志置0,CPU处于关中断状态; 3、软件中断指令INTn n为中断类型码,是0~255之间的无符号整数。 功能:无条件转向n型中断服务子程序。 注意:中断类型n必须有定义。 INTn指令的执行过程—CPU响应软件中断的过程 ①F寄存器栈(为了保存INTn之前的F状态) 使F中的T标志置0——禁止单步操作; 使F中的I标志置0——使CPU处于关中断状态; ②断点地址栈 先将断点的段地址(CS)栈; 再将断点的偏移地址(IP)栈; ③CPU从存储器4n~4n+3单元取出n型中断的服务程序入口地址CS:IP,从而转入n型中断服务程序。4、中断返回指令IRET 功能: 依次从栈顶弹出6个元素IP,CS,F; 如果栈顶是INTn的中断入口地址,则执行IRET后,返回断点,否则不能返回断点。第九章中断系统每个中断都指定了一个类型码,也称为中断号。 每一种中断对应有一个中断服务程序(InterruptServiceProgram——ISP),也可称为中断服务例程(InterruptServiceRoutine——ISR); ISR本质上就是为特定中断事件服务的代码,中断发生后,在中断系统的控制下,CPU转向ISR执行,为中断事件服务完毕后,再返回被中断程序继续执行。 ISR存放在内存中,每个ISR程序段的起始地址被称为ISR的入口地址。1、什么是中断向量? 中断向量是实模式下,中断服务子程序的入口地址。它由两部分组成: 中断服务程序所在代码段的段基址,2字节; 中断服务程序所在代码段的段内偏移地址,2字节; 2、中断向量表 中断类型码通过一个地址指针表与中断服务子程序的入口地址相联系。 实模式下,该表被称为中断向量表; 保护模式下,该表被称为中断描述符表;3、中断向量表的设置 80x86系统规定,在实模式下,中断向量表需设置在系统RAM最低端1KB单元空间内。即00000H~003FFH。 如果每个中断向量占用4字节,共可有256个中断。 RAM最低1KB空间内,并不是全部作为中断向量表。4、中断向量表的表地址与中断类型的关系5、中断向量的转向作用──CPU响应软件中断的过程6、中断向量表的初始化 由BIOS设计的中断服务程序(如INT16H,INT10H等)其中断向量在加电时由BIOS负责写入中断向量表; 由DOS设计的中断服务程序(如INT21H)其中断向量是在启动DOS时,由DOS负责写入中断向量表; 用户开发的中断服务程序,由用户程序写入其中断向量。问题: 用户如何向中断向量表中写入中断向量?方法一:用户自己编写程序填写中断向量 CLI ;关闭所有中断 PUSH DS ;保护原DS MOV AX,0000H MOV DS,AX ;DS指向内存最低端 MOV BX,4*n ;BX指向入口地址 MOV AX,OFFSETSERVICE MOV [BX],AX ;先填入口偏移地址 MOV AX,SEGSERVICE MOV [BX+2],AX ;后填入口段地址 POP DS ;恢复原DS STI ;重新开放中断方法二:使用DOS功能调用读写中断向量 [INT21H的35H子功能] 功能: 读出n型中断向量 入口: AL=中断类型码n 出口: ES:BX=n型中断向量 [INT21H的25H子功能] 功能: 写入n型中断向量 入口: DS=中断服务程序所在代码段的段基址 DX=中断服务程序入口的偏移地址 出口: 无例:把用户程序中名为”TIMER”的中断服务程序的入口地址写入INT1CH中断向量处。例:把用户程序中名为“TIMER”的中断服务程序的入口地址写入INT1CH中断向量处。第九章中断系统CPU中断系统中断分类如下图所示:1、CPU中断 CPU中断是指:CPU执行某