本实验报告详细探讨了微机原理及汇编语言中的系统中断机制。通过具体实验操作和分析,深入理解中断向量、中断处理过程,并提供相关代码示例。适合学习微机原理和技术实践的学生参考。
根据提供的文件内容,可以提炼出以下知识点:
1. 微机中断处理系统的基本原理:
- 中断是当CPU在执行程序过程中遇到随机事件(包括内部和外部事件)导致暂停当前程序的执行,并转而运行一个专门用于处理该事件的程序——即中断服务程序。
- 处理完中断后,CPU会返回到被中断处继续执行原程序的过程称为中断。
2. 中断向量与中断服务程序的关系:
- 中断向量是指向特定于每个类型码的中断服务程序入口地址的数据结构。当发生有效中断请求时,相应的位会被设置为1,并通过屏蔽寄存器判断是否有未被屏蔽的中断。
- 如果存在未被屏蔽的中断,那么控制器会发出一个信号给CPU(INTR),促使它执行该特定事件的服务程序。
3. 可编程中断控制器8259A的工作过程:
- 8259A用于管理中断请求,并决定是否将它们发送到CPU。主片和从片地址分别设置为20H、21H,以及0A0H、0A1H。
- 来自从片的中断请求会通过主片IR2端口传递给系统。
4. 中断向量表与服务程序编写:
- 设置中断类型码和调用功能号,并将它们存储在中断向量表中。编写时需保存寄存器数据至堆栈,设置标志位。
- 完成后恢复原状态并清除相关标志以确保正确返回主程序。
5. 实验环境与步骤:
- 使用TPC-ZK-II作为实验平台。
- 涉及到用汇编语言编写代码来配置新的中断向量和入口地址的设定过程。
6. 中断结束后的处理流程:
- 在执行完服务程序后,需要发送一个命令给8259A以通知它中断已经完成(EOI)。
- 最终恢复堆栈中的数据并返回到主程序继续运行。
以上知识涵盖了微机原理、汇编语言以及系统中断实验的核心概念和操作步骤的总结。实际操作时,应详细阅读指导书,并根据具体环境调整相应的指令与调试方法。