DOS功能调用详解:INT21H系统接口与常用操作
需积分: 9 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功能调用虽然功能有限,但在那个时代对于程序开发者来说是至关重要的,它允许开发者与硬件进行基本交互,实现了文本界面的操作和数据交换。这些调用在早期的计算机科学和软件开发中扮演了基础角色。
2008-01-05 上传
159 浏览量
244 浏览量
115 浏览量
KoreQ
- 粉丝: 30
- 资源: 6
最新资源
- EconomyAPI:基于配置存储的经济方法
- nest-status-monitor:基于Socket.io和Chart.js的简单,自托管模块,用于报告基于Nest的节点服务器的实时服务器指标
- Softimage dotXSI xchange for Max-开源
- leetCode:leetCode实践
- ecommerce
- mobile-logstash-encoder:占位符描述:@markrichardsg通过回购生成
- 56G_112G_PAM4系列之玻纤效应.rar
- GCD_Course_Project:提交我的获取和清理数据课程的课程项目
- springboot_service:Spring Boot安全性
- docker-traefik-prometheus:一个用于使用Promethues和Grafana监视Traefik的Docker Swarm堆栈
- 网状 Meta 分析实用教程(下).rar
- Network_data_复杂网络仿真_复杂网络数据_复杂网络_
- advance-CV
- nuxeo-course-browser
- artysite:主要个人网站
- Dev-Cpp_5.11_TDM-GCC_4.9.2_Setup.zip