目录 1
第一章 MS—DOS4.0编程环境 1
1·1 引言 1
1·2 必要的条件 1
1·3 8086结构上的限制 1
1·4 定义 1
1·5 DOS接口 2
1·6 设备驱动程序 3
1·6·1 多任务设备驱动程序 3
1·6·2 控制台驱动程序 3
1·7 键盘中止 3
1·10·1 概述 4
1·10 上托包(POPUPpackage) 4
1·9 硬件条件 4
1·8 内部结构 4
1·10·2 使用注意事项 6
第二章 MS—DOS4.0新的系统调用 7
2·1 进程控制 7
2·2 并行支持 7
2·3 内部进程并行性 9
2·4 进程间通讯 9
2·5 上托包 10
2·6 调度程序 11
2·7 存储管理 13
2·8 信号 14
2·9 文件系统 15
3·2 进程控制调用 16
3·1·1 约定 16
3·1·2 定义 16
3·1 引言 16
第三章 MS—DOS 4.0系统调用 16
3·2·1 EXEC——启动一个新的进程 17
3·2·2 AEXEC——启动异步进程 18
3·2·3 WAIT——回送同步子终止码 18
3·2·4 CWAIT——等待子进程终止 18
3·2·5 FREEZE——停止一个进程 19
3·2·6 RESUME——恢复一个进程 20
3·2·7 SLEEP——延迟进程的执行 20
3·2·8 KILL——终止一个进程 21
3·2·9 CRITERR——使硬件出错处理可行 21
3·3 上托包 21
3·3·1 CHECKPU——检查上托包的安装 22
3·3·2 POSTPU——开启/关闭一个上托屏幕 22
3·3·3 SAVEPU——保存屏幕 23
3·3·4 RESTOREPU——恢复屏幕 24
3·4 进程信息 24
3·4·1 GETPID——送回进程ID(即PID) 24
3·4·2 SETPRI——取得/设置进程的优先级 25
3·5 存储管理调用 26
3·5·1 PARTITION——取得或设置前台存储区大小 26
3·6 内部进程并行操作调用 27
3·6·1 CRITENTER和CRITLEAVE——在RAM信号上封锁进程 27
3·6·2 PBLOCK——封锁一个进程 28
3·6·3 PRUN——在存储单元释放进程 28
3·7 进程间通讯调用 29
3·7·1 PIPE——建立一个新的管道 29
3·7·2 CREATMEM——建立一个共享存储区 30
3·7·3 GETMEM——实现对共享存储区的访问 30
3·8 信号调用 31
3·7·4 RELEASEMEM——释放对共享存储区的访问 31
3·8·1 SET—SIGNAL—HANDLER——设置信号处理程序 32
3·8·2 SEND—SIGANL——发出信号 32
3·8·3 信号处理程序 33
3·9 文件管理调用 33
3·9·1 SETFILETABLE——安装一个新的文件句柄表 33
3·10 类IOCTL调用 34
3·10·1 类IOCTL调用 34
3·10·2 在逻辑驱动器上读/写/格式化/检验磁道的支持 35
3·10·3 Get Logical Drive Map——读取逻辑驱动器映象 39
3·11·1 GETEXTENDEDERROR——送回扩展的DOS出错码 40
3·11 辅助调用 40
第四章 设备驱动程序 41
4·1 引言 41
4·1·1 概述 41
4·1·2 新的特点 41
4·2 新的驱动程序结构 42
4·2·1 设备驱动程序方式 42
4·2·2 MS—DOS提供的服务 43
4·2·3 I/O处理 44
4·2·4 处理多重I/O请求 45
4·3·1 标志字 46
第六章 80286与8086的兼容性 46
4·3 设备标题 46
4·4·1 请求标题 47
4·4 I/O请求数据包 47
4·4·2 状态字 48
4·4·3 新的命令 48
4·5·1 内部排队 52
4·5 操作 52
4·4·4 修改的请求 52
4·5·2 请求完成通讯 53
4·5·3 嵌套中断 53
4·5·4 初始化 54
4·5·5 非中断驱动设备 54
4·6 控制台设备 54
4·6·1 错误处理 55
4·6·2 键盘中断 56
4·6·3 ROM仿真 56
4·7 设备辅助功能详述 56
4·7·1 请求队列管理程序 57
4·7·2 进程同步程序 59
4·7·3 控制台及时钟驱动器的特殊程序 60
4·7·4 字符排序程序 61
4·7·5 其它程序 61
4·7·6 临界区程序 62
4·8 IOCTL功能详述 63
4·9 信号程序 64
第五章 可执行文件格式 68
5·1 新的可执行文件格式 68
5·2 可执行文件启动条件 68
5·3 新的.EXE格式图 69
5·3·1 状态位和标题信息 70
5·3·2 新的.EXE标题 70
5·3·3 段表 71
5·3·4 资源表 72
5·3·5 模块参数表 73
5·3·6 入口表(1—based) 73
5·3·7 常驻或非常驻名称表入口(3+n字节) 73
5·3·8 输入名称表入口(1+n字节) 74
5·3·9 单位段数据(per—segment data) 74
6·1 引言 76
6·2 286兼容性 76
6·2·1 在8086方式下的兼容性 77
6·2·2 在286保护方式下的兼容性 80
6·3 什么是存储管理? 80
6·3·1 8086存储模型研讨 81
6·3·2 286存储再定位 82
6·3·3 什么是“段”(Segment)? 83
6·3·4 使程序兼容 84
6·4·2 不纯代码段 85
6·4 286保护特点 85
6·4·1 段尺寸 85
6·4·3 特权指令 86
第七章 文件和目录 87
7·1 概述 87
7·2 多级目录 88
7·3 路径和路径名 90
7·4 通配符 91
7·5 目录使用 92
第八章 有关命令的一些说明 94
8·1 MS—DOS命令类型 94
13·6·9 设置最大段数 (1 95
8·3 过滤器和管道 96
8·2 改变标准I/O命令 96
第九章 MS—DOS命令 98
9·1 命令选择项 98
9·2 关于选择项的进一步说明 99
9·3 MS—DOS命令 99
第十章 多任务的使用 140
10·1 概述 140
10·3 MS—DOS进程调度 141
10·2 MS—DOS上托包 141
10·4 MS—DOS存储管理 142
10·5 MS—DOS4.0的通讯 142
10·6 一个上托应用程序是怎样工作的 143
10·7 MS—DOS上托包工作限制 143
第十一章 批处理 145
11·1 批处理的介绍 145
11·2 批处理命令 150
12·1·2 MS—DOS怎样使用模板 156
第十二章 MS—DOS行编辑 156
12·1·3 MS—DOS编辑键 156
12·1·1 MS—DOS特殊编辑键 156
12·1 MS—DOS编辑和功能键 156
12·1·4 怎样使用MS—DOS模板 157
12·1·5 MS—DOS控制符的使用 158
12·2 行编辑 159
12·2·1 关于行编辑程序(Edlin) 159
12·2·2 Edlin怎样工件 159
12·2·3 怎样起动Edlin 159
12·2·4 怎样退出Edlin 160
12·2·5 在Edlin下使用特殊编辑键 160
12·3 行编辑命令 165
12·3·1 使用Edlin命令应注意的一些事项 166
12·3·2 Edlin命令参数 167
12·3·3 行编辑命令 168
13·2 怎样起动Link4 183
第十三章 连接目标文件——Link4 183
13·1 引言 183
13·2·1 方法1:应用提示来指定Link4文件 184
13·2·2 方法2:用命令行指定Link4文件 185
13·2·3 方法3:用应答文件指定Link4文件 187
13·3 映象文件 188
13·4 库文件 188
13·5 模块定义文件 189
13·6 Link4的有关参量 192
13·6·1 观察参量清单 192
13·6·2 暂停连接以更换磁盘 192
13·6·3 生成一个公共符号映象 193
13·6·4 将行号复制到映象文件 193
13·6·5 禁止远程调用转换 194
13·6·6 保护小写字母 194
13·6·7 忽略缺省库文件检索 195
13·6·8 设置堆栈的大小 195
13·6·10 设置段区定位因数 196
13·6·11 组装代码段 196
13·7 Link4怎样工件 196
13·7·1 暂时磁盘文件 196
13·7·6 组 196
13·7·2 可执行文件起动条件 197
13·7·3 各段的定位 197
13·7·4 段序 198
13·7·5 段的组合 198
13·7·7 装配 199
13·7·8 段组装 200
14·2 如何启动DEBUG程序 201
14·1 引言 201
第十四章 调试(DEBUG)程序 201
14·3 DEBUG命令信息 202
14·4 DEBUG命令参数 203
14·5 DEBUG命令 204
14·5·1 Assemble(汇编) 204
14·5·2 Compare(比较) 206
14·5·3 Dump(卸出) 206
14·5·4 Enter(打入) 207
14·5·5 Fill(填充) 207
14·5·6 Go(转移) 208
14·5·7 Hex(十六进制运算) 208
14·5·8 Input(输入) 209
14·5·9 Load(装入) 209
14·5·11 Name(命名) 210
14·5·10 Move(传送) 210
14·5·12 Output(输出) 211
14·5·13 Quit(退出) 211
14·5·14 Register(寄存器) 212
14·5·15 Search(检索) 213
14·5·16 Trace(跟踪) 213
14·5·17 Una ssemble(反汇编) 214
14·5·18 Write(写) 215
14·6 DEBUG出错信息 215
附录A 单软盘驱动器系统的用户命令 216
附录B 如何配置你的系统 216
附录C 可安装的设备驱动程序 221
附录D 磁盘和设备出错信息 226
附录E MS—DOS信息目录 229
附录F 配置你的硬盘(Fdisk) 263