一、中断服务程序设计步骤: 1、主程序应做的工作
1)CPU关中断,即用CLI置IF=0; 2)设置中断向量;
3)CPU开中断,用STI置IF=1; 4)等待中断。
2、编写中断服务子程序,完成中断服务任务:
1)保护现场,用入栈指令把中断服务程序中要用到的寄存器内容压入堆栈; 2)中断服务程序的编写,与普通子程序类似;
3)在中断子程序结束前,恢复现场,用出栈指令将堆栈中保护的寄存器内容弹出到原寄存器;
4)用IRET中断返回指令返回主程序被中断处。 二、中断向量表的装入与修改 三、软件中断服务程序设计
8259A的功能模块: 1、8位中断请求寄存器 2、8位中断服务寄存器 3、优先权比较器
4、8位中断屏蔽寄存器 5、控制逻辑
6、读/写控制逻辑
7、8位数据总线缓冲器 8、级联缓冲/比较器
8253:定时时间=时钟脉冲Tc x 预置的计数初值n