DOS系统功能调用详解

需积分: 14 3 下载量 85 浏览量 更新于2024-09-11 1 收藏 320KB DOC 举报
"DOS功能调用表" DOS(Disk Operating System)是早期个人计算机上广泛使用的操作系统,它提供了一系列功能调用来实现对硬件、文件、输入/输出等的操作。DOS功能调用通常通过向中断INT 21H发送特定的功能号来实现。下面我们将详细探讨DOS功能调用的各个方面。 一、DOS软中断 DOS 2.10版本使用了从INT 20H到INT 27H的一系列中断,每个中断都有特定的功能: 1. INT 20H:程序正常退出,传递CS=PSP段地址作为参数。 2. INT 21H:系统功能调用,最重要的一个中断,功能号存放在AH寄存器中,根据功能号的不同,实现各种操作。 3. INT 22H:程序结束处理,通常用于程序异常退出。 4. INT 23H:Ctrl-Break处理,当用户按下Ctrl-Break组合键时被调用,AL=0表示忽略该中断。 5. INT 24H:严重错误处理,例如磁盘错误,AL=驱动器号,AL的值可以决定如何响应错误:1表示重试,2表示通过INT 23H终止,Cy标志表示是否有错误。 二、DOS功能调用 DOS功能调用是通过INT 21H中断实现的,主要通过设置AH寄存器中的功能号来指定要执行的操作。以下是部分常用的功能调用: 1. 调用号00H:程序终止,传入PSP段地址。 2. 调用号01H:键盘输入字符,返回AL中存储的输入字符。 3. 调用号02H:显示输出,将DL中的字符送到显示器。 4. 调用号03H:串行设备输入,从串行设备读取字符到AL。 5. 调用号04H:串行设备输出,将字符从DL输出到串行设备。 6. 调用号05H:打印输出,将字符从DL输出到打印机。 7. 调用号06H:直接控制台I/O,用于请求输入或输出。 8. 调用号07H:直接控制台I/O,不显示输入的字符。 9. 调用号08H:键盘输入字符(无回显),AL中存储输入的字符。 10. 调用号09H:显示字符串,从DS:DX指向的缓冲区开始显示字符串。 11. 调用号0AH:输入字符串,从键盘接收输入并存入DS:DX指向的缓冲区。 12. 调用号0BH:检查标准输入状态,AL返回状态,0表示无按键,0FFH表示有按键。 13. 调用号0CH:清除输入缓冲区并执行指定的标准输入功能。 14. 调用号0DH:初始化磁盘状态,准备进行磁盘操作。 15. 调用号0EH:选择缺省的驱动器,设置默认驱动器,如DL=0表示驱动器A,DL=1表示驱动器B。 这些功能调用构成了DOS程序与操作系统交互的基础,允许程序员控制硬件、读写文件、处理用户输入等。通过熟练掌握这些调用,开发者可以编写出运行在DOS环境下的高效程序。