1 一般性的介绍 1
1.1 何谓系统程式设计 2
1.2 系统软体的演进 3
1.3 为什么介绍小型电脑的系统程式设计方法? 8
1.4 目前的发展方向? 10
1.5 系统程式复杂度的测量 11
1.6 系统程式设计的学习计划 12
习题 13
2 系统环境:第一部份 15
2.1 单板计算机系统简介 16
2.2 硬体特性及介面 17
2.2.1 介面埠 17
2.2.2 键盘 18
2.2.3 简单的印表机 19
2.2.4 储存程式用的磁带机 21
2.3 简单输出入装置的程式设计 24
习题 28
3 最简单的作业系统:仅读记忆监督程式 31
3.1 简介:电脑的基本控制 32
3.2 使用者介面的典型设计 33
3.3 监督程式所使用的资料结构 36
3.4 监督程式如何决定下一步骤做什么:控制和剖析 38
3.5 任务识别後之任务执行 44
习题 52
4 组合语言 55
4.1 简介:比机器语言还高一阶的语言 56
4.2 符号表之排序和查寻 60
4.3 基本的二次处理组译程式 66
4.4 增加符号表式功能 75
4.5 可重定位的组合码 80
习题 82
5 链结程式和载入程式 85
5.1 简介:大型程式的处理 86
5.2 链结程序 87
5.3 链结程式库 92
5.4 载入程序 93
习题 95
6 巨集处理程式 97
6.1 简介:利用巨集来扩充语言的功能 98
6.2 巨集处理系统的特性 98
6.3 简单式巨集组译程式的设计 104
习题 107
7 系统环境:第二部份 109
7.1 简介:强有力的单使用者微电脑系统 110
7.2 硬体特性和介面 112
7.2.1 软式磁碟 112
7.2.2 视频显示器 115
7.3 在强有力的硬体环境中的程式设计 118
习题 121
8 单使用者磁碟作业系统:CP/M 123
8.1 简介:为软体创造一个环境 124
8.2 CP/M的记忆体用法 127
8.3 最低层次的输出入程式(BIOS) 130
8.4 实体与逻辑上的输出入动作 133
8.5 CP/M的档案概念 134
8.5.1 系统之档案处理概观 134
8.5.2 磁碟目录的处理 136
8.5.3 动态的空间分配 138
8.5.4 实际及逻辑的磁碟磁扇 142
8.5.5 存取档案中的记录 143
8.6 与机器无关的输出入(BDOS常式) 146
8.7 控制台命令处理程式(CCP) 148
8.8 系统的载入与启始状态的设定 153
8.9 更强而有力的单使用者磁碟作业系统之特性 155
习题 157
9 文字编辑程式 159
9.1 简介:程式制作的捷径 160
9.2 编辑程式与使用者之间的交谈介面 162
9.3 记忆缓冲区内之档案编辑 165
9.4 超长档案之编辑程式 169
9.4.1 特定文字列的定址 171
9.4.2 记忆体与磁碟间的资料调换 173
9.4.3 列删除 175
9.4.4 插入新增之列 177
9.4.5 列内资料的更动 180
9.5 更具功能之编辑程式 184
9.6 全萤幕编辑程式:最复杂的设计 185
习题 187
10 高阶计算机语言的描述与分析 189
10.1 语言系统简介 190
10.2 非正式地定义一套语言:TINY BASIC 192
10.3 正式地定义一套语言:TINY BASIC 196
10.4 使用最终状态结构来分析与剖析程式 204
10.5 高等剖析技巧 211
习题 212
11 解译程式:TINY BASIC 215
11.1 解译系统之简介与范例设计 216
11.2 编辑与程式之内部形式 218
11.3 反波兰记法的执行程式 222
11.4 解译程式概观 225
11.5 陈述剖析 228
11.6 提取下一条指令 231
11.7 符号表的维护 231
11.8 单一程式陈述之处理常式 233
11.9 循环圈处理的控制 236
11.10 培基语言的透视方法 239
习题 242
12 编译程式:TINY BASIC 245
12.1 编译之简介与设计范例 246
12.2 陈述列之剖析 250
12.3 分支点之码产生 252
12.4 程式陈述的码产生 254
12.4.1 指定陈述之码产生 254
12.4.2 条件分支之码产生 256
12.4.4 副常式呼叫之码产生 261
12.4.3 非条件分支之码产生 261
12.4.5 返回陈述之码产生 262
12.4.6 插入陈述之码产生 262
12.4.7 输出陈述之码产生 263
12.4.8 标题陈述之码产生 263
12.4.9 注解陈述之码产生 265
12.4.10 结束陈述的码产生 266
12.5 循环的码产生 266
12.6 代数表示式之码产生 271
12.7 程式编辑之范例 274
12.8 解译器与编译器之比较 275
习题 277
13 系统环境:第三部份 279
13.1 大型的微电脑系统简介 280
13.2 硬体特性及介面 284
13.2.1 更具能力的微处理机 284
13.2.2 温彻斯特磁碟 286
13.2.3 可扩充的记忆体位址空间 287
13.2.4 使用岔断系统 291
13.3 由岔断驱动输出入的设计 293
习题 301
14 多工作业系统 303
14.1 简介:电脑的最佳用途 304
14.2 工作配送程式及定序程式 307
14.3 并行工作间控制的交互作用:MP/M-Ⅱ 314
14.4 即时作业系统之核心——VRTX 323
14.5 树状档案结构:UNIX 327
14.6 树状结构的处理召唤:UNIX 331
14.7 嵌入式的命令语言解译程式:UNIX SHELL 333
习题 340
附录 343
A.1 学习Intel 8080微处理机之程式规划 343
A.2 数位通讯用的ASCII字元码 352
图表及资料结构的中文索引 353
索引 355