标准MS - DOS文件I/O服务详解
1. INT 21h文件和目录I/O服务概述
INT 21h提供了众多文件和目录I/O服务,下面是一些常用的功能及其描述:
| 功能编号 | 描述 |
| ---- | ---- |
| 716Ch | 创建或打开文件 |
| 3Eh | 关闭文件句柄 |
| 42h | 移动文件指针 |
| 5706h | 获取文件创建日期和时间 |
MS - DOS和MS - Windows使用16位整数(句柄)来标识文件和I/O设备,有五个预定义的设备句柄:
| 句柄编号 | 设备描述 |
| ---- | ---- |
| 0 | 键盘(标准输入) |
| 1 | 控制台(标准输出) |
| 2 | 错误输出 |
| 3 | 辅助设备(异步) |
| 4 | 打印机 |
每个I/O函数若执行失败,进位标志(Carry flag)会被设置,并且会在AX中返回错误代码,可根据此代码显示相应的错误信息。以下是部分MS - DOS扩展错误代码及其描述:
| 错误代码 | 描述 |
| ---- | ---- |
| 01 | 无效的函数编号 |
| 02 | 文件未找到 |
| 03 | 路径未找到 |
| 04 | 打开的文件过多(没有可用句柄) |
| 05 | 访问被拒绝 |
| 06 | 无效的句柄 |
| 07 | 内存控制块被破坏 |
| 08 | 内存不足 |
| 09 | 无效的内存块地址 |
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



