DOS系统功能调用详解与INT21H表解读
需积分: 10 154 浏览量
更新于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
- 资源: 22
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码