第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 寄存器 14
1.2.3 移位寄存器 14
1.2.4 计数器 15
1.2.5 三态输出门与缓冲放大器 16
1.2.6 译码器 17
1.3 微型计算机的结构和工作原理 17
1.3.1 微型计算机常用的术语 17
1.3.2 微型计算机的基本结构 18
1.3.3 计算机的工作原理 20
1.4 80x86微处理器 21
1.5 80x86的寄存器 24
1.6 80x86的工作方式与存储器物理地址的生成 28
习题1 32
第2章 汇编语言与汇编程序 34
2.1 符号指令中的表达式 34
2.1.1 常量和数值表达式 35
2.1.2 变量 35
2.1.3 标号 37
2.1.4 地址表达式及其类型的变更 37
2.2 符号指令的寻址方式 38
2.3 常用指令 43
2.3.1 数据传送类指令 43
2.3.2 加减运算指令 50
2.3.3 逻辑运算指令 53
2.3.4 移位指令 55
2.3.5 位搜索指令和位测试指令 58
2.3.6 指令应用举例 59
2.4 常用伪指令 63
2.5 常用系统功能调用和BIOS 68
2.5.1 系统功能调用 69
2.5.2 常用系统功能调用应用举例 71
2.5.3 BIOS 74
习题2 77
第3章 程序设计的基本技术 81
3.1 顺序程序设计 81
3.1.1 乘除法指令 81
3.1.2 BCD数调整指令 84
3.1.3 顺序程序设计举例 90
3.2 分支程序设计 94
3.2.1 条件转移指令 94
3.2.2 无条件转移指令 96
3.2.3 分支程序设计举例 96
3.3 循环程序设计 101
3.3.1 循环程序的基本结构 101
3.3.2 重复控制指令 102
3.3.3 单重循环程序设计举例 103
3.3.4 多重循环程序设计举例 118
3.4 串处理程序设计 124
3.4.1 方向标志置位和清除指令 125
3.4.2 串操作指令 125
3.4.3 重复前缀 126
3.4.4 串操作程序设计举例 127
3.5 子程序设计 133
3.5.1 子程序的概念 133
3.5.2 子程序的调用指令与返回指令 136
3.5.3 子程序及其调用程序设计举例 137
3.6 宏功能程序设计 149
3.6.1 宏指令 150
3.6.2 条件汇编与宏库的使用 153
3.6.3 宏功能程序设计举例 154
习题3 158
第4章 总线 164
4.1 总线概述 164
4.2 8086/8088的CPU总线 165
4.2.1 8086/8088的引线及功能 165
4.2.2 8088的CPU系统 168
4.2.3 8088的时序 173
4.3 Pentium的CPU总线 178
4.4 局部总线 181
4.4.1 ISA局部总线 181
4.4.2 PCI局部总线 183
4.5 通用外部总线 187
4.6 Pentium微型计算机系统 190
习题4 192
第5章 半导体存储器 193
5.1 存储器概述 193
5.2 常用的存储器芯片 195
5.2.1 半导体存储器芯片的结构 195
5.2.2 只读存储器ROM 195
5.2.3 随机读写存储器RAM 197
5.3 存储器与CPU的接口 201
习题5 206
第6章 输入/输出和接口技术 207
6.1 接口的基本概念 207
6.1.1 接口的功能 207
6.1.2 接口控制原理 208
6.1.3 接口控制信号 210
6.2 I/O指令和I/O地址译码 210
6.3 数字通道接口 214
6.3.1 数据输出寄存器 214
6.3.2 数据输入三态缓冲器 215
6.3.3 三态缓冲寄存器 215
6.3.4 寄存器和缓冲器接口的应用 216
6.3.5 打印机适配器 223
6.4 模拟通道接口 227
6.4.1 数/模转换器及其与微型计算机的接口 227
6.4.2 模/数转换器ADC及其与微型计算机的接口 233
习题6 239
第7章 中断技术 241
7.1 中断和中断系统 241
7.1.1 中断的概念 241
7.1.2 中断源 241
7.1.3 中断系统的功能 242
7.2 中断的处理过程 242
7.2.1 CPU对中断的控制 242
7.2.2 CPU对中断的响应及中断过程 243
7.2.3 中断源及其优先权的识别 244
7.3 中断控制器8259A 246
7.3.1 8259A的组成和接口信号 246
7.3.2 8259A处理中断的过程 247
7.3.3 8259A的级联连接 248
7.3.4 8259A的命令字 248
7.4 80x86 PC机的中断系统和中断指令 251
7.4.1 外部中断 251
7.4.2 内部中断 252
7.4.3 中断向量表 252
7.4.4 中断响应和处理过程 253
7.5 可屏蔽中断服务程序的设计 254
7.5.1 中断服务程序入口地址的装入 254
7.5.2 中断屏蔽与中断结束的处理 255
7.5.3 中断服务程序设计举例 255
习题7 262
第8章 常用可编程接口芯片 263
8.1 可编程并行接口8255 263
8.1.1 8255的组成与接口信号 263
8.1.2 8255的工作方式与控制字 265
8.1.3 3种工作方式的功能 268
8.1.4 8255在IBM PC XT系统中的应用 274
8.2 可编程计数器/定时器8253 276
8.2.1 8253的组成与接口信号 277
8.2.2 计数器的工作方式及其与输入/输出的关系 279
8.2.3 8253的控制字和初始化编程 280
8.2.4 8253的应用 282
8.3 串行通信与异步通信控制器8250的应用 288
8.3.1 微型计算机的串行口 288
8.3.2 异步通信控制器8250 290
8.3.3 8250与微型计算机及RS-232接口信号的连接 298
8.3.4 异步串行通信程序设计 299
8.3.5 PC机之间的通信 300
8.3.6 PC机与MCS-51单片机之间的通信 303
8.4 键盘/显示控制器8279 306
8.4.1 8279的组成和接口信号 307
8.4.2 8279的操作命令 308
8.4.3 8279在键盘和显示器接口中的应用 309
习题8 314
附录A 80x86指令系统表 316
附录B 80x86指令按字母顺序查找表 321
附录C 80x86算术逻辑运算指令对状态标志位的影响 326