DOS功能调用详解:INT21H系统接口与常用操作

需积分: 9 45 下载量 12 浏览量 更新于2024-09-11 收藏 142KB DOC 举报
DOS功能调用是早期个人计算机操作系统DOS(磁盘操作系统)中的关键组件,它提供了一种编程接口,使得程序员可以利用有限的硬件资源实现系统交互和设备操作。这些功能调用通常通过硬件中断INT21H来实现,中断号存储在指令的高级字节(AH)中,其余的参数根据特定功能设置。 1. **DOS软中断** (INT 20H至INT 27H) - INT 20H:程序正常退出,接收CS寄存器的值作为PSP(过程服务程序)的段地址。 - INT 21H:系统功能调用,是DOS功能调用的核心,AH寄存器中存放的是21H前的数字,指示特定的功能,例如: - 00H:程序终止,仅需提供PSP段地址。 - 01H:键盘输入字符,返回输入的字符在AL寄存器。 - 02H:显示输出,DL寄存器包含显示字符。 - 其他中断如INT 23H处理Ctrl-Break信号,INT 24H处理严重错误,提供重试或终止选项。 2. **磁盘I/O操作** (INT 25H和INT 26H) - INT 25H和INT 26H用于磁盘的读写操作,分别对应于读取和写入操作,参数包括驱动器号、扇区数、起始逻辑扇区和缓冲区地址。 3. **控制台I/O** (INT 21H中的06H和07H) - 06H:直接控制台输入/输出,输入时AL接收字符,输出时AL提供字符。 - 07H:不显示输入的直接控制台I/O。 4. **键盘和串行设备操作** (INT 21H中的01H、03H、04H、08H) - 提供了与键盘、串行设备的交互,包括输入字符、显示字符以及清除输入缓冲区等功能。 5. **显示和字符串处理** (INT 21H中的09H和0AH) - 09H用于显示字符串,从DS:DX指定的缓冲区开始; - 0AH用于输入字符串到指定缓冲区。 6. **驱动器管理和初始化** (INT 21H中的0DH和0EH) - 0DH初始化磁盘状态; - 0EH选择默认驱动器,接收指定的驱动器号和逻辑驱动器数。 DOS功能调用虽然功能有限,但在那个时代对于程序开发者来说是至关重要的,它允许开发者与硬件进行基本交互,实现了文本界面的操作和数据交换。这些调用在早期的计算机科学和软件开发中扮演了基础角色。