DOS系统功能调用详解与INT21H表解读
需积分: 10 85 浏览量
更新于2024-09-21
1
收藏 78KB PDF 举报
DOS系统功能调用表,也称为INT21H,是早期IBM PC及其兼容机上操作系统DOS(Disk Operating System)的核心组成部分,用于实现与硬件的交互和基本操作。这个表格列出了DOS系统中一组关键的函数调用,它们通过将指令送入CPU的中断处理单元(Interrupt Vector Table,IVT),使得软件开发者能够控制计算机的硬件资源,包括输入输出操作、内存管理、设备控制等。
1. INT 00H (程序终止):此功能用于结束程序的执行,通常在程序完成所有操作后调用,不带参数,没有出口参数。
2. INT 01H (键盘输入并回显单字符):接收并显示一个单个字符,参数AL保存输入的ASCII值,无返回值。
3. INT 02H (单字符显示输出):将给定的字符输出到显示器,参数DL指定输出的字符。
4. INT 03H (COM1输入):读取COM1(串行端口)的输入字符,AL存放读入的字符。
5. INT 04H (COM1输出):向COM1发送字符,参数DL指定要输出的字符。
6. INT 05H (打印单字符):将字符打印到屏幕,参数DL指定字符。
7. INT 06H (直接控制台I/O):提供对打印机的低级控制,输入输出字符,AL用于输入,DL用于输出。
8. INT 07H 和 08H (键盘输入):前者无回显,后者处理Ctrl-Break或Ctrl-C中断,AL都存储输入字符。
9. INT 09H (显示字符串):输出一串文本,参数DS:DX指定字符串的逻辑地址,以' '$' 结束。
10. INT 0AH (字符串输入):接收用户输入的字符串并存储在缓冲区,DS:DX指缓冲区地址,包含最大按键数和实际输入长度。
11. INT 0BH (键盘状态检查):检查是否有按键,AL=0表示有按键,AL=FF表示键盘缓冲区为空。
12. INT 0CH (清除键盘缓冲区):清空键盘缓冲区,并根据AL中的子功能号执行不同操作。
13. INT 20H (磁盘复位):用于磁盘初始化,清除文件缓冲区。
14. INT 21H (驱动器选择):设置当前默认磁盘驱动器,参数DL指定驱动器号,AL返回驱动器数量。
15. INT 25H (设置中断向量):修改中断向量,DS:DX指定新的中断向量地址,AL指中断号。
16. INT 26H (建立程序段前缀PSP):设置程序段前缀寄存器,参数DX指定新的PSP段地址。
17-22H (日期和时间操作):提供设置、获取和修改系统日期和时间的功能,包括年、月、日、时、分和秒。
18-20H (磁盘管理):包括设置磁盘检验标志、取DTA地址和取DOS版本号。
21H (结束并驻留):程序结束后的返回码和驻留区长度设置。
22H (取驱动器参数):获取关于特定驱动器的详细信息。
这些函数调用反映了早期计算机硬件与软件交互的细节,是理解DOS编程和底层硬件操作的关键知识点。掌握它们对于编写DOS程序、系统维护以及理解计算机历史有着重要意义。随着技术的发展,现代操作系统已经不再依赖这种复杂的系统调用表,但了解它对于理解计算机基础和历史仍有价值。
2010-04-16 上传
2010-03-05 上传
点击了解资源详情
2014-04-16 上传
2021-10-11 上传
2012-05-16 上传
点击了解资源详情
liru125504
- 粉丝: 26
- 资源: 21
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新