DOS系统功能调用详解与INT21H表解读

需积分: 10 1 下载量 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程序、系统维护以及理解计算机历史有着重要意义。随着技术的发展,现代操作系统已经不再依赖这种复杂的系统调用表,但了解它对于理解计算机基础和历史仍有价值。