第一部分 为成功作计划 2
第一章 开始之前 2
1.1 知道你从哪里开始 2
1.2 弄清楚你干的原因 5
1.3 弄明白你带的是什么 7
第二章 分析和设计:一个无限的循环 10
2.1 出发点:问题是什么 11
2.2 另一个出发点:输入输出 14
2.3 从这儿到那儿 15
2.4 保证每部分都正常运转 20
2.5 保护程序 21
2.6 回到以前的讨论范围 26
2.7 弄明白你什么时候已做完 27
第二部分 你的工具箱 30
第三章 语言、编译程序、汇编程序及其他有关应用程序 30
3.1 认真对待BASIC语言 31
3.2 Pascal编译器 35
3.3 C语言(和C++语言) 39
3.4 最低级的语言:汇编程序 47
3.5 连接程序和库管理程序 52
3.6 其他开发工具 58
第四章 21h中断:DOS自身 63
4.1 什么是21h中断 63
4.2 MS-DOS 6版本中有什么新东西 66
4.3 新外貌 66
4.4 MS-DOS的基本结构 67
4.5 内部框架结构 67
4.6 文件系统结构 72
4.7 进程控制结构 80
4.8 MRCI结构 87
4.9 Double Space结构 91
4.10 主引导记录(MBR)结构 97
4.11 总结 99
第五章 其他DOS中断 100
5.1 20h中断:终止进程 102
5.2 22h中断:保存终点地址 103
5.3 23h中断:用户信号处理程序 103
5.4 24h中断:严重错误处理程序 105
5.5 25h和26h中断:绝对磁盘读、写 108
5.6 27h中断:终止并驻留 110
5.7 28h中断:后台处理中断 111
5.8 29h中断:快速控制台输出 112
5.9 2Ah中断:关键代码控制 112
5.10 2Bh~2Dh中断:目前暂未使用 112
5.11 2Eh中断:COMMAND.COM的入口 112
5.12 2Fh中断:多重中断 113
5.13 30h,31h中断:CP/M分配远跳转 121
5.14 32h~3Fh中断:未用 122
5.15 新的MRCI(集成Rendezuons)中断服务程序 122
5.16 其他DOS所改变、修改、影响及增加其功能的中断 125
5.17 进入BIOS之前 129
第六章 必要的BIOS 130
6.1 10h中断:显示功能 131
6.2 11h中断:硬件信息 132
6.3 12h中断:存储器大小 132
6.4 13h中断:磁盘服务 132
6.5 14h中断:串行通信 133
6.6 15h中断:系统连接 133
6.7 16h中断:键盘服务 133
6.8 17h中断:打印机服务 134
6.9 18h中断:ROM-BASIC界面 134
6.10 19h中断:系统的重启动 134
6.11 1Ah中断:时钟设备 134
6.12 1Bh~1Fh中断:中断向量 135
6.13 BIOS使用的随机存储器(RAM)的结构 135
6.14 工具箱的关闭 149
第三部分 技术 152
第七章 控制台I/O 152
7.1 BIOS标准句柄和重定向 152
7.2 控制台输入函数 153
7.3 控制台输出功能 166
7.4 功能02h:显示字符 166
7.5 Control-C和Control-Break 178
7.6 设备控制和IOCTL 180
7.7 其他设备I/O 187
7.8 一个实例 187
7.9 总结 201
第八章 时间和空间的管理 202
8.1 控制时钟和日历 202
8.2 内存管理 216
第九章 磁盘存储器与文件系统 253
9.1 物理原理 254
9.2 驱动器的逻辑结构 260
9.3 文件系统组织 268
9.4 分配文件 276
9.5 数据存储与检索 283
9.6 一个实例 323
第十章 串行通信 334
10.1 为什么不能使用MS-DOS 334
10.2 UART要求 337
10.3 一个实例 361
第十一章 进程管理 378
11.1 进程创建 379
11.2 进程转换 382
11.3 进程终止 386
11.4 TSR技术 387
11.5 轮询技术 394
11.6 一个实例:TIMEFOR 395
第十二章 多种功能和结构 404
12.1 系统结构的详细知识 404
12.2 国际化 408
12.3 设备驱动程序 423
12.4 一个实例 436
12.5 总结 440
第四部分 参考文献 442
第十三章 INT 21h:DOS接口 442
第十四章 其他DOS中断 469
第十五章 BIOS服务 492