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

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

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

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

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

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

第7章中断与异常7.1.1中断基本概念中断系统其他功能:1.外部硬件(如键盘、鼠标,串口,并口打印机等)中断2.不可屏蔽中断(NMI)7.2.18259A主要任务内部逻辑:IRR、IMR、PR、ISR及控制电路。CPU响应可屏蔽中断条件:级联方式结构:连接总线与级联方式:屏蔽方式:嵌套方式:PIC111000L2L1L0 特征位:D4=1; 7)中断结束处理及返回 SERIRQ上信息分帧传输。 如果使用的寄存器多,可以保护所有寄存器,如果寄存器用的不多,可只将要用的寄存器压栈。 定义:CPU暂停现行程序,转而处理随机到来的事件,待处理完后再回到被暂停的程序继续执行,这个过程就是中断。 主片请求:与非级联一致。 0—边沿1—电平 ;中断向量为08H。 从输入信号来或通过SERIRQ来的IRQ14 MOVAL,20H 在上面的过程中有几点注意: 1APIC子系统组成 接受外部的中断请求; 静态的(一个串行IRQ设备来启动开始帧) 用OCW1屏蔽部分IR[含自己],(2)初始化命令ICW2(3)初始化命令ICW3主片:MOVAL,14H OUT21H,AL(4)初始化命令ICW4(5)操作命令OCW1(6)操作命令OCW2RSLEOI00L2L1L0(7)操作命令OCW3查询字格式:特定屏蔽管理:例:思考题:5.2.4微机中8259A应用(D31:F0);对主片8259A的初始化 INTM00 EQU 020H ;主8259A端口0 INTM01 EQU 021H ;主8259A端口1 …… MOV AL,00010001B ;ICW1:边沿触发,要ICW4;级联方式,要ICW3。 OUT INTM00,AL JMP SHORT$+2 ;I/O端口延时 MOV AL,00001000B ;ICW2:设置主片的中断向量,起始的中断向量为08H OUT INTM01,AL JMP SHORT$+2 MOV AL,00000100B ;ICW3:表示从8259A的INT输出是连接到主片的IR2。 OUT INTM01,AL JMP SHORT$+2 MOV AL,00010001B ;ICW4:非总线缓冲,特殊全嵌套,非自动EOI OUT INTM01,AL JMP SHORT$+2 ……;对从片8259A的初始化 INTS00 EQU 0A0H ;从8259A端口0 INTS01 EQU 0A1H ;从8259A端口1 …… MOV AL,00010001B ;ICW1边沿触发,要ICW4;级联方式,要ICW3。 OUT INTS00,AL JMP SHORT$+2 MOV AL,01110000B ;ICW2:设置从片的中断向量,起始的中断向量为70H OUT INTS01,AL JMP SHORT$+2 MOV AL,00000010B ;ICW3:设置从片的识别标志,指定对应主片的IR2。 OUT INTS01,AL JMP SHORT$+2 MOV AL,00000001B ;ICW4:非总线缓冲,全嵌套,非自动中断结束。 OUT INTS01,AL JMP SHORT$+2 ……8259在当前指令结束后,可屏蔽中断根据EFLAGS寄存器IF位决定是否响应;其他中断给予响应。 中断响应的步骤如下:82801HB在上面的过程中有几点注意:46一、PC机中断向量表(IVT,用于实地址模式)00000类型0的IP 类型0的CS 00004类型1的IP 类型1的CS 4*N类型N的IP 类型N的CS二、实模式下中断程序编写2)中断服务程序入口地址的正确设置(主程序中完成) 有两种设置中断服务程序入口地址(中断向量)的方法: 1)直接写中断向量表(假设中断向量是0CH) CLI;关中断 MOVAX,0 MOVES,AX;ES指向0000H段(中断向量表的段) MOVSI,0CH*4;一个中断向量4个字节 MOVAX,OFFSETSERVICE;中断入口偏移地址 MOVES:[SI],AX MOVAX,SEGSERVICE;中断入口的段地址 MOVES:[SI+2],AX STI;开中断 …… ;中断处理子程序 SERVICEPROCFAR ……4)避免非软件中断中断处理程序中DOS重入 DOS的重入容易引起系统瘫痪,所以在中断处理程序中要避免调用DOS功能调用,如果是对外设或屏幕的操作,改用BIOS中断,如果是文件操作,要到中断处理程序外的主程序中完成。6)中断的打开与关闭 中断响应的时候系统会自动将IF清0,如果希望中断能有限嵌套(高级与本级中断能嵌套)则在现场保护后,用STI指令将中断屏蔽打开。2.中断处理程序举例(假设中断类型号是0CH);中断处理子程序 SERVICEPROC FAR PUSHA ;