DOS INT21H函数大全:基础到高级操作详解

需积分: 16 3 下载量 172 浏览量 更新于2024-07-23 3 收藏 164KB DOC 举报
DOS功能调用INT21H是早期IBM PC兼容计算机中用于与操作系统进行交互的重要接口,通过将功能号(在指令中的AL寄存器)设置为特定的十进制值(00-17),程序员可以调用一系列系统服务,如输入输出操作、文件管理、设备控制等。这些调用通常涉及设置入口参数(如内存地址、数据等)并在完成任务后获取结果。 1. **程序终止** (00H): 用于结束当前程序,无需返回任何参数,仅使用CS寄存器指向程序暂停服务程序(PSP)的段地址。 2. **键盘输入** (01H): 接收用户按下的一键,AL寄存器存放输入字符。08H版本是无回显模式,适合密码输入等场景。 3. **显示输出** (02H): 将指定的字符(DL寄存器)输出到屏幕,用于文本显示。 4. **串行设备输入/输出** (03H, 04H, 06H): 控制串行通信,06H提供直接控制台I/O,区分输入和输出请求,输入时AL接收字符。 5. **打印机输出** (05H): 向打印机发送字符,同样使用DL寄存器。 6. **文件操作** (09H-17H): 包括文件操作如打开、关闭、查找、读取、写入、重命名和删除等,涉及文件控制块(FCB)地址和结果标志(AL)。 7. **设备初始化和驱动器选择** (0DH, 0EH): 初始化磁盘状态和选择默认驱动器,分别处理磁盘配置和用户指定的驱动器号。 8. **文件管理和输入缓冲** (0BH, 0CH): 检查标准输入状态、清除输入缓冲并执行指定功能,如清空键盘输入或执行特定的输入处理。 9. **磁盘和文件错误处理** (14H, 15H): 在读写操作中处理可能发生的错误,如缓冲区大小不足、磁盘满等。 了解并熟练掌握这些INT21H功能调用对于编写DOS时代的软件至关重要,它们构建了与硬件交互的基础,对于理解早期计算机系统的底层工作原理具有重要意义。随着Windows等现代操作系统的发展,虽然INT21H的使用已经不再普遍,但了解这一历史上的重要接口有助于我们理解计算机体系结构的演变。