第1章 微型计算机基础 1
1.1 计算机中的数和编码 1
1.1.1 计算机中的数制 1
1.1.2 符号数的表示法 2
1.1.3 二进制数的加减运算 5
1.1.4 二进制数的逻辑运算与逻辑电路 7
1.1.5 二进制编码 9
1.1.6 BCD数的加减运算 11
1.2 微型计算机的结构和工作原理 12
1.2.1 微型计算机常用的术语 12
1.2.2 微型计算机的基本结构 12
1.2.3 计算机的工作原理 16
1.3 80x86微处理器 16
1.3.1 8086/8088 16
1.3.2 80286 18
1.3.3 80386 18
1.3.4 80486 18
1.3.5 Pentium 19
1.3.6 Itanium 22
1.4 80x86的寄存器 23
1.4.1 8086/8088的寄存器 23
1.4.2 80286的寄存器 26
1.4.3 80386的寄存器 26
1.4.4 80486的寄存器 27
1.4.5 Pentium的寄存器 27
1.5 80x86的工作方式与存储器物理地址的生成 34
1.5.1 80x86的工作方式 34
1.5.2 80x86存储器的分段和物理地址的生成 35
习题与思考题 38
第2章 汇编语言与汇编程序 41
2.1 符号指令中的表达式 41
2.1.1 常量 42
2.1.2 标号 42
2.1.3 变量 43
2.2 符号指令的寻址方式 45
2.2.1 寄存器寻址 45
2.2.2 立即寻址 46
2.2.3 直接寻址 46
2.2.4 间接寻址 47
2.2.5 基址寻址 47
2.2.6 变址寻址 48
2.2.7 基址变址寻址 48
2.2.8 比例变址寻址(80386及其后继微处理器可用) 49
2.2.9 基址比例变址寻址(80386及其后继微处理器可用) 49
2.2.10 存储器寻址及存储器寻址中段基址或段选择字的确定 49
2.3 常用指令 51
2.3.1 数据传送类指令 51
2.3.2 加减运算指令 57
2.3.3 逻辑运算指令 60
2.3.4 移位指令 62
2.3.5 位搜索(扫描bit scan)指令(80386及其后继微处理器可用) 65
2.3.6 位测试(bit tests)指令(80386及其后继微处理器可用) 65
2.3.7 指令应用举例 66
2.4 常用伪指令 70
2.4.1 过程的定义 70
2.4.2 微处理器选择伪指令 70
2.4.3 段的定义 71
2.4.4 汇编地址计数器 72
2.4.5 段寄存器的假定 72
2.4.6 源程序的结束 73
2.4.7 宏汇编源程序的格式 73
2.5 常用系统功能调用和BIOS 75
2.5.1 系统功能调用 75
2.5.2 常用系统功能调用应用举例 77
2.5.3 BIOS 81
习题与思考题 83
第3章 程序设计的基本技术 88
3.1 顺序程序设计 88
3.1.1 乘除法指令 88
3.1.2 BCD数调整指令 91
3.1.3 顺序程序设计举例 96
3.2 分支程序设计 99
3.2.1 条件转移指令 99
3.2.2 无条件转移指令 101
3.2.3 分支程序设计举例 102
3.3 循环程序设计 106
3.3.1 循环程序的基本结构 107
3.3.2 重复控制指令 108
3.3.3 单重循环程序设计举例 109
3.3.4 多重循环程序设计举例 122
3.4 串处理程序设计 127
3.4.1 方向标志置位和清除指令 127
3.4.2 串操作指令 128
3.4.3 重复前缀 129
3.4.4 串操作程序设计举例 129
3.5 子程序设计 135
3.5.1 子程序的概念 135
3.5.2 子程序的调用指令与返回指令 137
3.5.3 子程序及其调用程序设计举例 138
3.6 宏功能程序设计 148
3.6.1 宏指令 149
3.6.2 条件汇编与宏库的使用 152
3.6.3 宏功能程序设计举例 153
习题与思考题 155
第4章 总线 161
4.1 总线概述 161
4.1.1 总线分类 161
4.1.2 总线操作 162
4.2 8086/8088的CPU总线 162
4.2.1 8086/8088的引线及功能 162
4.2.2 8088的CPU系统 166
4.2.3 8088的时序 171
4.3 Pentium的CPU总线 177
4.4 局部总线 181
4.4.1 ISA局部总线 181
4.4.2 PCI局部总线 183
4.5 通用外部总线 188
4.5.1 IDE总线 188
4.5.2 SCSI总线 188
4.5.3 通用串行总线USB 189
4.5.4 视频接口AGP 190
4.6 Pentium微型计算机系统 190
4.6.1 北桥-南桥式控制芯片组与微型计算机系统 191
4.6.2 MCH-ICH集中式控制芯片组与微型计算机系统 191
习题与思考题 193
第5章 存储器及其接口 194
5.1 存储器概述 194
5.1.1 存储器的类型 194
5.1.2 存储器的性能指标 194
5.1.3 存储器的分级结构 195
5.2 常用的存储器芯片 196
5.2.1 半导体存储器芯片的结构 196
5.2.2 只读存储器ROM 196
5.2.3 随机读写存储器RAM 198
5.3 存储器与CPU的接口 202
5.3.1 存储器芯片与地址总线的连接 203
5.3.2 存储器芯片与数据总线的连接 204
5.3.3 存储器芯片与控制总线的连接 204
5.3.4 连接举例 204
习题与思考题 208
第6章 输入输出和接口技术 209
6.1 接口的基本概念 209
6.1.1 接口的功能 209
6.1.2 接口控制原理 210
6.1.3 接口控制信号 212
6.2 I/O指令和I/O地址译码 213
6.2.1 标准的I/O寻址方式 213
6.2.2 存储器映像I/O寻址方式 213
6.2.3 输入输出指令 214
6.2.4 I/O接口的端口地址译码 214
6.3 数字通道接口 216
6.3.1 数据输出寄存器 217
6.3.2 数据输入三态缓冲器 217
6.3.3 三态缓冲寄存器 218
6.3.4 寄存器和缓冲器接口的应用 218
6.3.5 打印机适配器 225
6.4 模拟通道接口 229
6.4.1 数模转换器DAC及其与微型计算机的接口 230
6.4.2 模数转换器ADC及其与微型计算机的接口 236
习题与思考题 241
第7章 中断技术 244
7.1 中断和中断系统 244
7.1.1 中断的概念 244
7.1.2 中断请求与控制和中断源的识别 244
7.1.3 中断系统的功能 245
7.1.4 CPU对外部可屏蔽中断的响应及中断过程 246
7.2 中断控制器8259A 246
7.2.1 8259A的组成和接口信号 246
7.2.2 8259A处理中断的过程 248
7.2.3 8259A的级联连接 248
7.2.4 8259A的命令字 248
7.3 80x86微处理器的中断指令和80x86微型计算机的中断系统 251
7.3.1 中断指令 251
7.3.2 外部中断 252
7.3.3 内部中断 253
7.3.4 中断类型码及中断种类 253
7.3.5 中断向量表和中断描述符表 254
7.3.6 中断响应和处理过程 255
7.4 实地址方式下的可屏蔽中断服务程序的设计 256
7.4.1 中断服务程序入口地址的装入 256
7.4.2 中断屏蔽与中断结束的处理 257
7.4.3 中断服务程序设计举例 257
习题与思考题 263
第8章 常用可编程接口芯片 264
8.1 可编程并行接口8255 264
8.1.1 8255的组成与接口信号 264
8.1.2 8255的工作方式与控制字 266
8.1.3 3种工作方式的功能 269
8.2 可编程计数器/定时器8253 275
8.2.1 8253的组成与接口信号 275
8.2.2 计数器的工作方式及其与输入输出的关系 277
8.2.3 8253的控制字和初始化编程 278
8.2.4 8253的应用 280
8.3 串行通信与异步通信控制器8250的应用 285
8.3.1 80x86微型计算机的串行口 285
8.3.2 异步通信控制器8250 287
8.3.3 8250与微型计算机及RS-232接口信号的连接 294
8.3.4 异步串行通信程序设计 295
8.3.5 80x86微型计算机之间的通信 297
8.3.6 80x86微型计算机与MCS-51单片机之间的通信 299
习题与思考题 302
附录A 80x86指令系统表 304
附录B 80x86指令按字母顺序查找表 309
附录C 80x86算术逻辑运算指令对状态标志位的影响 314