第一部分 MS-DOS程序设计 1
第一章 MS-DOS家谱 1
第二章 MS-DOS的操作过程 5
2.1 MS-DOS的结构 5
2.2 MS-DOS的加载过程 7
第三章 MS-DOS应用程序的结构 13
3.1 程序段前缀 13
3.2 .COM程序介绍 15
3.3 .EXE程序介绍 20
3.4 有关汇编语言程序的进一步介绍 24
第四章 MS-DOS程序设计工具 29
4.1 文件类型 29
4.2 Microsoft宏汇编程序 30
4.3 Microsoft C优化编译程序 32
4.4 Microsoft目标链接程序 34
4.5 EXE2BIN实用程序 38
4.6 CREF实用程序 39
4.7 Microsoft库管理程序 41
4.8 MAKE实用程序 42
4.9 一个完整的例子 43
第五章 键盘和鼠标输入 45
5.1 键盘输入方式 45
5.2 Ctrl—C和Ctrl—Break处理程序 49
5.3 定位设备 55
第六章 视频显示 59
6.1 视频显示适配器 59
6.2 对显示器的支持 59
6.3 MS-DOS显示功能 61
6.4 ROM BIOS显示功能 65
6.5 内存映像显示技巧 67
第七章 打印机和串行口 74
7.1 打印机输出 74
7.2 串行口 76
7.3 TALK程序 78
第八章 文件管理 91
8.1 使用FCB功能 91
8.2 使用句柄功能 99
8.3 MS-DOS错误码 104
8.4 示例程序:DUMP.ASM和DUMP.C 110
第九章 卷和目录 122
9.1 驱动器和目录控制 123
9.2 卷标 128
第十章 磁盘内部结构 131
10.1 Boot区(引导区) 132
10.2 保留区 134
10.3 文件分配表 134
10.4 根目录 135
10.5 文件区 138
10.6 文件分配表的说明 139
10.7 硬盘分区 142
第十一章 内存管理 144
11.1 使用内存分配功能 144
11.2 场头 148
11.3 Lotus/Intel/Microsoft的扩展内存 149
11.4 使用扩展内存 152
11.5 扩充内存 156
第十二章 EXEC功能 159
12.1 利用可用的内存 159
12.2 EXEC功能请求 159
12.3 EXEC功能返回 161
12.4 环境块的进一步讨论 162
12.5 样例:SHELL.C和SHELL.ASM 165
12.6 使用EXEC装入覆盖模块 179
第十三章 中断处理程序 182
13.1 中断和Intel 80x86系列 183
13.2 中断处理程序和MS-DOS 189
13.3 ZERODIV:一个中断处理程序的例子 190
第十四章 可安装的设备驱动程序 195
14.1 MS-DOS设备驱动程序类型 195
14.2 MS-DOS设备驱动程序的结构 197
14.3 命令码例程 200
14.4 典型的I/O请求的处理 211
14.5 时钟驱动程序:一个特殊案例 211
14.6 编写及安装设备驱动程序 212
14.7 调试设备驱动程序 222
第十五章 过滤程序 224
15.1 系统对于过滤程序的支持 224
15.2 过滤程序如何工作 225
15.3 建立过滤程序 225
15.4 CLEAN过滤程序 229
第十六章 兼容性和可移植性 238
16.1 兼容性的程度 238
16.2 OS/2兼容性 241
第二部分 MS-DOS功能参考 252
第三部分 IBM ROM BIOS和鼠标功能参考 345
第四部分 Lotus/Intel/Microsoft EMS功能参考 408