DOS系统AH功能详解:从输入到磁盘操作

需积分: 13 1 下载量 151 浏览量 更新于2024-11-05 收藏 130KB DOC 举报
DOS功能调用是早期计算机操作系统MS-DOS(Microsoft Disk Operating System)中一组用于执行特定任务的指令集合。这些功能通过调用不同的中断服务子程序(Interrupt Service Routines, ISRs),在程序与硬件之间实现了基本的数据输入/输出(I/O)操作和文件管理。每个功能调用都有一个特定的八位代码(称为命令码或功能码,通常用AH寄存器来表示),并可能需要额外的参数。 1. **程序终止** (INT 20H): 这个调用用于结束当前程序的执行,设置CS寄存器为程序段前缀,表示程序将返回操作系统。 2. **键盘输入与回显** (AH=1): 当前AL寄存器存储输入的字符,可用于实时获取用户输入并显示。 3. **显示输出** (AH=2): 使用DL寄存器传递字符,实现简单的屏幕打印。 4. **异步通信** (AH=3/4): 用于设备间的非阻塞数据传输,分别用于输入(AH=3)和输出(AH=4)。 5. **打印机输出** (AH=5): 将DL中的字符发送到打印机,可用于文本输出。 6. **直接控制台I/O** (AH=6): 允许程序直接读写控制台,输入标志为FF,输出标志为字符,AL寄存器接收输入。 7. **无回显键盘输入** (AH=7/8): 用于无声键盘输入,AH=7不回显,AH=8用于检测Ctrl-Break。 8. **显示字符串** (AH=9): 从DS:DX指向的内存区域显示字符串,直到遇到结束符'\$'。 9. **键盘输入到缓冲区** (AH=0A): 读取输入到指定的DS:DX地址的缓冲区,存储最大字符数和实际输入字符数。 10. **检验键盘状态** (AH=0B): AL寄存器指示是否有输入(00表示有输入,FF表示无输入)。 11. **清除输入缓冲区** (AH=0C): 清除输入缓冲区,并根据AL值执行不同输入功能。 12. **磁盘操作** (AH=0D-0F): 包括磁盘复位、设置默认驱动器、文件打开和关闭等,涉及文件控制和磁盘操作。 13. **目录操作** (AH=11-14): 查找目录项、删除文件、顺序读写文件,用于文件管理。 14. **文件I/O操作** (AH=15-16): 顺序读写、建立文件,以及文件大小和记录位置的设定。 15. **文件重命名和属性操作** (AH=17-19): 改名文件、取当前驱动器、设置DOS版本和日期/时间。 16. **其他高级操作**: 包括中断向量设置、随机访问文件、分析文件名、取空闲磁盘空间、设备I/O控制等。 这些功能调用提供了丰富的接口,使得程序能够灵活地与硬件交互,执行各种任务,是早期计算机编程的基础。理解并掌握这些功能调用对于理解早期DOS系统及其应用程序至关重要。