16位MS-DOS编程中的文件I/O服务
1. 章节回顾问题
在16位MS - DOS编程中,有一系列关于INT 21h函数调用的问题值得探讨:
1. 调用INT 21h时,哪个寄存器保存函数号?
2. 哪个INT 21h函数用于终止程序?
3. 哪个INT 21h函数将单个字符写入标准输出?
4. 哪个INT 21h函数将以$字符结尾的字符串写入标准输出?
5. 哪个INT 21h函数将数据块写入文件或设备?
6. 哪个INT 21h函数从标准输入读取单个字符?
7. 哪个INT 21h函数从标准输入设备读取数据块?
8. 若要获取系统日期、显示它并更改它,需要哪些INT 21h函数?
9. 本章中显示的哪些INT 21h函数在具有受限用户配置文件的Windows NT、2000或XP下可能无法工作?
10. 要检查标准输入缓冲区是否有字符等待处理,应使用哪个INT 21h函数?
2. 标准MS - DOS文件I/O服务
INT 21h提供了大量的文件和目录I/O服务,下面介绍一些常用的函数:
| 函数 | 描述 |
| ---- | ---- |
| 716Ch | 创建或打开文件 |
| 3Eh | 关闭文件句柄 |
| 42h | 移动文件指针 |
| 5706h | 获取文件创建日期和时间 |
MS - DOS和MS - Windows使用16位整数(句柄)来标识文件和I/O设备,有五个预定义的设备句柄:
- 0:键盘(标准输入)
- 1:控制台(标准输出)