DOS系统AH功能详解:从输入到磁盘操作
需积分: 13 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系统及其应用程序至关重要。
2008-01-05 上传
2021-09-30 上传
2014-06-21 上传
2008-07-19 上传
2008-08-01 上传
2008-08-29 上传
2022-06-20 上传
2011-01-07 上传
2011-10-29 上传
dragon8847
- 粉丝: 3
- 资源: 9
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析