MS-DOS函数使用指南
立即解锁
发布时间: 2025-08-24 00:02:22 阅读量: 1 订阅数: 4 


MS-DOS编程指南:深入解析与实践
# MS-DOS 函数使用指南
## 1. MS-DOS 函数概述
MS-DOS 内核通过软件中断 20H - 2FH 为应用程序提供服务。每个 MS-DOS 函数的描述格式如下:
- 标题:包含函数名称、软件中断和函数编号,以及指示该函数首次支持的 MS-DOS 版本的图标。除非另有明确说明,否则该函数在所有后续的 MS-DOS 版本中均可用。
- 概要:函数执行的操作以及使用该函数的情况。
- 参数摘要:函数的参数。
- 结果和/或错误指示:函数返回的结果和错误信息。完整的错误代码列表可在 Int 21H 函数 59H 的条目中找到。
- 注意事项:描述函数的特殊用途或依赖关系。
- 示例:用汇编语言编写的函数使用示例。
版本图标在概要、参数、结果或注意事项部分中引用特定的小版本或大版本,除非它们包含“+”号,表示该版本及所有后续版本。
## 2. Int 21H 函数按编号汇总
| 十六进制 | 十进制 | 函数名称 | 版本 | F/H |
| --- | --- | --- | --- | --- |
| 00H | 0 | 终止进程 | 1.0+ | |
| 01H | 1 | 带回显的字符输入 | 1.0+ | |
| 02H | 2 | 字符输出 | 1.0+ | |
| 03H | 3 | 辅助输入 | 1.0+ | |
| 04H | 4 | 辅助输出 | 1.0+ | |
| 05H | 5 | 打印机输出 | 1.0+ | |
| 06H | 6 | 直接控制台 I/O | 1.0+ | |
| 07H | 7 | 无回显的未过滤字符输入 | 1.0+ | |
| 08H | 8 | 无回显的字符输入 | 1.0+ | |
| 09H | 9 | 显示字符串 | 1.0+ | |
| 0AH | 10 | 缓冲键盘输入 | 1.0+ | |
| 0BH | 11 | 检查输入状态 | 1.0+ | |
| 0CH | 12 | 刷新输入缓冲区然后输入 | 1.0+ | |
| 0DH | 13 | 磁盘重置 | 1.0+ | |
| 0EH | 14 | 选择磁盘 | 1.0+ | |
| 0FH | 15 | 打开文件 | 1.0+ | F |
| 10H | 16 | 关闭文件 | 1.0+ | F |
| 11H | 17 | 查找第一个文件 | 1.0+ | F |
| 12H | 18 | 查找下一个文件 | 1.0+ | F |
| 13H | 19 | 删除文件 | 1.0+ | F |
| 14H | 20 | 顺序读取 | 1.0+ | F |
| 15H | 21 | 顺序写入 | 1.0+ | F |
| 16H | 22 | 创建文件 | 1.0+ | F |
| 17H | 23 | 重命名文件 | 1.0+ | F |
| 18H | 24 | 保留 | | |
| 19H | 25 | 获取当前磁盘 | 1.0+ | |
| 1AH | 26 | 设置 DTA 地址 | 1.0+ | |
| 1BH | 27 | 获取默认驱动器数据 | 1.0+ | |
| 1CH | 28 | 获取驱动器数据 | 2.0+ | |
| 1DH | 29 | 保留 | | |
| 1EH | 30 | 保留 | | |
| 1FH | 31 | 保留 | | |
| 20H | 32 | 保留 | | |
| 21H | 33 | 随机读取 | 1.0+ | F |
| 22H | 34 | 随机写入 | 1.0+ | F |
| 23H | 35 | 获取文件大小 | 1.0+ | F |
| 24H | 36 | 设置相对记录号 | 1.0+ | F |
| 25H | 37 | 设置中断向量 | 1.0+ | |
| 26H | 38 | 创建新的 PSP | 1.0+ | |
| 27H | 39 | 随机块读取 | 1.0+ | F |
| 28H | 40 | 随机块写入 | 1.0+ | F |
| 29H | 41 | 解析文件名 | 1.0+ | |
## 3. Int 21H 函数按类别汇总
### 3.1 字符 I/O
| 十六进制 | 十进制 | 函数名称 | 版本 | F/H |
| --- | --- | --- | --- | --- |
| 01H | 1 | 带回显的字符输入 | 1.0+ | |
| 02H | 2 | 字符输出 | 1.0+ | |
| 03H | 3 | 辅助输入 | 1.0+ | |
| 04H | 4 | 辅助输出 | 1.0+ | |
| 05H | 5 | 打印机输出 | 1.0+ | |
| 06H | 6 | 直接控制台 I/O | 1.0+ | |
| 07H | 7 | 无回显的未过滤字符输入 | 1.0+ | |
| 08H | 8 | 无回显的字符输入 | 1.0+ | |
| 09H | 9 | 显示字符串 | 1.0+ | |
| 0AH | 10 | 缓冲键盘输入 | 1.0+ | |
| 0BH | 11 | 检查输入状态 | 1.0+ | |
| 0CH | 12 | 刷新输入缓冲区然后输入 | 1.0+ | |
### 3.2 文件操作
| 十六进制 | 十进制 | 函数名称 | 版本 | F/H |
| --- | --- | --- | --- | --- |
| 0FH | 15 | 打开文件 | 1.0+ | F |
| 10H | 16 | 关闭文件 | 1.0+ | F |
| 11H | 17 | 查找第一个文件 | 1.0+ | F |
| 12H | 18 | 查找下一个文件 | 1.0+ | F |
| 13H | 19 | 删除文件 | 1.0+ | F |
| 16H | 22 | 创建文件 | 1.0+ | F |
| 17H | 23 | 重命名文件 | 1.0+ | F |
| 23H | 35 | 获取文件大小 | 1.0+ | F |
| 29H | 41 | 解析文件名 | 1.0+ | F |
| 3CH | 60 | 创建文件 | 2.0+ | H |
| 3DH | 61 | 打开文件 | 2.0+ | H |
| 3EH | 62 | 关闭文件 | 2.0+ | H |
| 41H | 65 | 删除文件 | 2.0+ | H |
| 43H | 67 | 获取或设置文件属性 | 2.0+ | |
| 45H | 69 | 复制句柄 | 2.0+ | |
| 46H | 70 | 重定向句柄 | 2.0+ | |
| 4EH | 78 | 查找第一个文件 | 2.0+ | H |
| 4FH | 79 | 查找下一个文件 | 2.0+ | H |
| 56H | 86 | 重命名文件 | 2.0+ | |
| 57H | 87 | 获取或设置文件日期和时间 | 2.0+ | H |
| 5AH | 90 | 创建临时文件 | 3.0+ | H |
| 5BH | 91 | 创建新文件 | 3.0+ | H |
| 67H | 103 | 设置句柄计数 | 3.3+ | |
| 68H | 104 | 提交文件 | 3.3+ | H |
| 6CH | 108 | 扩展打开文件 | 4.0+ | H |
### 3.3 记录操作
| 十六进制 | 十进制 | 函数名称 | 版本 | F/H |
| --- | --- | --- | --- | --- |
| 14H | 20 | 顺序读取 | 1.0+ | F |
| 15H | 21 | 顺序写入 | 1.0+ | F |
| 1AH | 26 | 设置 DTA 地址 | 1.0+ | |
| 21H | 33 | 随机读取 | 1.0+ | F |
| 22H | 34 | 随机写入 | 1.0+ | F |
| 24H | 36 | 设置相对记录号 | 1.0+ | F |
| 27H | 39 | 随机块读取 | 1.0+ | F |
| 28H | 40 | 随机块写入 | 1.0+ | F |
| 2FH | 47 | 获取 DTA 地址 | 2.0+ | |
| 3FH | 63 | 读取文件或设备 | 2.0+ | H |
| 40H | 64 | 写入文件或设备 | 2.0+ | H |
| 42H | 66 | 设置文件指针 | 2.0+ | H |
| 5CH | 92 | 锁定或解锁文件区域 | 3.0+ | H |
### 3.4 目录操作
| 十六进制 | 十进制 | 函数名称 | 版本 | F/H |
| --- | --- | --- | --- | --- |
| 39H | 57 | 创建目录 | 2.0+ | |
| 3AH | 58 | 删除目录 | 2.0+ | |
| 3BH | 59 | 设置当前目录 | 2.0+ | |
| 47H | 71 | 获取当前目录 | 2.0+ | |
### 3.5 磁盘管理
| 十六进制 | 十进制 | 函数名称 | 版本 | F/H |
| --- | --- | --- | --- | --- |
| 0DH | 13 | 磁盘重置 | 1.0+ | |
0
0
复制全文
相关推荐










