中断调用详解:INT指令与中断向量表

需积分: 0 1 下载量 36 浏览量 更新于2024-08-04 收藏 19KB DOCX 举报
本文主要介绍了计算机系统中的中断概念和中断调用指令,特别是INT 21H和INT 10H这两个常用的BIOS中断。中断是硬件或软件引发的CPU响应机制,允许系统处理突发事件而不影响正常程序的执行。中断分为硬件中断和软件中断,其中INT指令用于触发软件中断。 在中断机制中,硬件引发的中断通常是通过INTR和NMI引脚,其中NMI(非屏蔽中断)不能被屏蔽,而INTR(中断请求)则可以通过设置IF标志位来屏蔽。软件中断则是通过INT指令,如INT 21H和INT 10H,它们常用于调用BIOS或DOS提供的服务。 INT 21H是DOS中断,它提供了大量的功能,例如文件操作、磁盘管理等。INT 10H是BIOS中断,主要用于屏幕管理和键盘输入等低级功能。参数传递通常通过特定的寄存器,比如AH寄存器来指定功能号,其他寄存器或堆栈用于传递额外参数。 中断服务程序在内存中的位置是固定的,由中断向量表进行管理。中断向量表是一个包含每个中断服务程序入口地址的表,地址由段地址和偏移地址组成,占用4个字节。整个表占用了1KB的内存空间,位于内存的最开始部分。 中断服务程序执行时,会保存现场,包括断点(IP)和标志寄存器的值,以便中断处理完成后能正确返回到被中断的程序。中断服务返回指令IRET不仅恢复IP,还会恢复标志寄存器的值,而子程序调用的返回指令RET只恢复IP。 中断和子程序调用有显著区别,中断是不可预测的,服务程序的位置固定,且某些中断可被屏蔽;而子程序调用的位置随程序布局变化,且无法被屏蔽。00H~1FH和20H~3FH这两个中断号范围分别被BIOS和DOS占用,提供了丰富的系统功能调用。 总结起来,中断是计算机系统中处理异步事件的关键机制,通过中断向量表管理和中断服务程序,使得系统能够高效地响应各种事件,INT 21H和INT 10H是其中常见的中断调用,它们在操作系统和应用程序中扮演着重要角色。