8086汇编语言中断程序设计实验指南

版权申诉
0 下载量 45 浏览量 更新于2024-09-05 收藏 502KB PDF 举报
"8086汇编语言中断程序设计" 8086汇编语言是用于编程Intel 8086微处理器的一种低级语言,它直接对应于机器指令。中断程序设计是汇编语言编程中的一个重要部分,特别是在早期的DOS系统中,中断被广泛用于与操作系统交互。中断允许程序在执行过程中暂停,处理外部事件或系统服务,然后恢复执行。 实验六的目标是让学生熟悉8086中断的调用方法,并掌握设计中断程序的技巧。实验原理涉及对汇编源代码的汇编、链接以及在Debug环境下进行调试和运行。实验环境包括一台微型计算机和MASM(Microsoft Macro Assembler)软件,这是一个用于编写8086汇编语言程序的工具。 实验内容的第一个部分展示了一个使用DOS中断的示例,具体是中断号21H,该中断用于文件操作。源程序创建了一个包含100个字符'A'的文件"ls.txt"。在程序中,`AH`寄存器用于设置DOS功能码,`CX`用于指定字节数,`DX`用于传递文件名。当`CX`设置为0时,DOS创建新文件;如果设置为其他值,可能会改变写入的字节数,从而影响文件内容。例如,将`CX`设为1会导致只写入一个字符,而设为2则会写入两个字符。`BX`通常用于存储文件句柄,以便后续操作。 实验的第二部分要求编写0号中断的处理程序,该中断与除法溢出错误相关。当执行除法指令时出现溢出,0号中断会被触发。处理程序应能在屏幕上显示错误消息"divideerror !",然后返回到DOS。这个过程涉及到中断向量表的修改,以及正确处理中断返回。 在8086汇编中,中断处理程序通常包括以下步骤: 1. 保存现场:保护CPU寄存器中的当前状态,因为中断处理可能改变这些状态。 2. 处理中断:执行必要的错误检查、日志记录或其他响应操作。 3. 恢复现场:恢复CPU寄存器的状态。 4. 中断返回:使用`IRET`指令返回到中断发生前的地址,继续执行被中断的程序。 通过这个实验,学生能够深入理解8086汇编语言中断的机制,学会如何利用DOS中断进行文件操作,并掌握如何处理系统异常,这对于理解和编写底层系统程序至关重要。