第1章 微处理器与微型计算机 1
1.1 微型计算机 1
1.1.1 电子计算机的基本组成 1
1.1.2 微型计算机 2
1.2 8086/8088微处理器结构 3
1.2.1 8086/8088微处理器内部结构 3
1.2.2 8086/8088微处理器的寄存器 5
1.3 8086/8088微处理器子系统 8
1.3.1 8086/8088微处理器的引脚及功能 8
1.3.2 最小模式下的8086/8088微处理器子系统 12
1.3.3 最大模式下的8086/8088微处理器子系统 14
1.4 8086/8088微处理器的工作时序 16
1.4.1 时钟周期、指令周期和总线周期 16
1.4.2 系统的复位和启动操作 16
1.4.3 最小模式下的总线读写周期 17
1.4.4 最大模式下的总线读写周期 19
1.4.5 总线空闲状态(总线空操作) 20
1.4.6 一条指令的执行过程 20
习题 21
第2章 存储器 23
2.1 存储器概述 23
2.1.1 计算机中的存储器 23
2.1.2 半导体存储器的分类与性能指标 23
2.2 随机存储器 25
2.2.1 静态随机存取存储器 25
2.2.2 动态随机存取存储器 28
2.2.3 新型DRAM存储器 29
2.3 只读存储器 30
2.3.1 掩膜型只读存储器 31
2.3.2 可编程只读存储器 31
2.3.3 可擦除可编程只读存储器 31
2.3.4 电擦除可编程只读存储器 32
2.3.5 闪速存储器 34
2.4 存储器的扩展 36
2.4.1 位扩展 37
2.4.2 字扩展 37
2.4.3 字位全扩展 38
习题 39
第3章 汇编语言基础 41
3.1 数据定义与传送 41
3.1.1 计算机内数据的表示 41
3.1.2 数据的定义 44
3.1.3 数据的传送 46
3.1.4 简化段格式 57
3.2 汇编语言上机操作 58
3.2.1 编辑 59
3.2.2 汇编 59
3.2.3 连接 60
3.2.4 运行和调试 60
3.3 数据运算 62
3.3.1 算术运算 62
3.3.2 循环 66
3.3.3 BCD数运算 69
3.4 数据的输入和输出 72
3.4.1 逻辑运算 72
3.4.2 控制台输入和输出 73
3.4.3 输入、输出库子程序 77
3.5 移位和处理器控制 79
3.5.1 移位指令 79
3.5.2 标志处理指令 81
3.5.3 处理器控制指令 81
习题 82
第4章 汇编语言程序设计 85
4.1 选择结构程序 85
4.1.1 测试和转移控制指令 85
4.1.2 基本选择结构 90
4.1.3 单分支选择结构 91
4.1.4 复合选择结构 92
4.1.5 多分支选择结构 93
4.2 循环结构程序 95
4.2.1 循环指令 96
4.2.2 计数循环 96
4.2.3 条件循环 98
4.2.4 多重循环 99
4.3 字符串处理 102
4.3.1 与无条件重复前缀配合使用的字符串处理指令 102
4.3.2 与有条件重复前缀配合使用的字符串处理指令 104
4.4 子程序 106
4.4.1 子程序指令 106
4.4.2 子程序的定义 107
4.4.3 子程序应用 109
4.5 宏指令 111
4.5.1 宏指令的定义 111
4.5.2 宏指令的应用 111
4.6 DOS和BIOS功能调用 112
4.6.1 BIOS功能调用 113
4.6.2 DOS功能调用 114
习题 115
第5章 微型计算机输入/输出接口 118
5.1 输入/输出接口 118
5.1.1 外部设备及其信号 118
5.1.2 I/O接口的功能 119
5.1.3 I/O端口的编址方法 119
5.1.4 输入/输出指令 121
5.1.5 简单I/O接口的组成 121
5.2 输入/输出数据传输的控制方式 124
5.2.1 程序方式 124
5.2.2 中断方式 129
5.2.3 直接存储器存取方式 129
5.3 开关量输入/输出接口 130
5.3.1 开关量输入接口 130
5.3.2 开关量输出接口 132
5.4 PC系列微型计算机外部设备接口 135
5.4.1 传统低速外部设备接口 135
5.4.2 硬盘/光盘驱动器接口 137
5.4.3 显示器和显示接口 138
5.4.4 声卡及其接口 140
5.4.5 IEEE 1394总线及接口 141
习题 142
第6章 中断与DMA传输 143
6.1 中断原理 143
6.1.1 中断的基本概念 143
6.1.2 中断工作方式的特点 144
6.1.3 中断管理 144
6.1.4 中断过程 146
6.1.5 8086 CPU中断系统 147
6.2 可编程中断控制器8259A 150
6.2.1 8259A引脚及内部结构 150
6.2.2 8259A的工作方式 152
6.2.3 8259A的编程 154
6.3 中断方式输入/输出 159
6.3.1 中断方式I/O接口 160
6.3.2 中断方式输入/输出程序设计 161
6.3.3 中断方式应用 162
6.4 DMA控制器8237A 163
6.4.1 DMA传输原理 163
6.4.2 8237A的内部结构和外部信号 165
6.4.3 8237A的编程使用 169
习题 175
第7章 可编程接口芯片 177
7.1 可编程并行接口8255A 177
7.1.1 8255A的内部结构与外部引脚 177
7.1.2 8255A的控制字 179
7.1.3 8255A的工作方式 180
7.1.4 8255A的应用 183
7.2 可编程定时器/计数器8254 187
7.2.1 8254的内部结构与外部引脚 188
7.2.2 8254的工作方式 190
7.2.3 8254的控制字与初始化 193
7.2.4 8254的应用 196
7.3 串行通信的基本概念 200
7.3.1 串行数据通信 200
7.3.2 串行通信的方式 202
7.3.3 串行通信接口 203
7.3.4 RS-232C标准 204
7.4 可编程串行通信接口——8251A 205
7.4.1 8251A的外部引脚 205
7.4.2 8251A的内部寄存器 207
7.4.3 8251A的应用 208
习题 209
第8章 数/模与模/数转换 210
8.1 数/模(D/A)转换 211
8.1.1 数/模转换原理 211
8.1.2 D/A转换芯片——DAC0832 212
8.2 A/D转换 215
8.2.1 信号变换中的采样、量化和编码 215
8.2.2 A/D转换原理 215
8.2.3 A/D转换器的主要技术指标 217
8.3 典型A/D转换器芯片 218
8.3.1 ADC0809 218
8.3.2 AD574A 220
8.4 数据采集系统 222
8.4.1 数据采集系统的构成 222
8.4.2 PCL818多功能接口卡 223
8.4.3 软件设计 224
习题 225
第9章 现代微型计算机 226
9.1 80x86系列微处理器 226
9.1.1 16位80x86微处理器 226
9.1.2 32位80x86微处理器 227
9.1.3 Pentium系列微处理器 228
9.1.4 32位微处理器的寄存器 230
9.1.5 32位微处理器的工作方式 231
9.1.6 64位微处理器 232
9.2 32位80x86汇编语言程序设计 235
9.2.1 32位汇编语言源程序格式 235
9.2.2 32位80x86指令系统 236
9.2.3 32位80x86汇编语言程序设计 238
9.3 微型计算机体系结构 238
9.3.1 80x86微型计算机结构 239
9.3.2 Pentium系列微型计算机结构 240
9.3.3 Intel系列芯片组 242
9.4 存储管理技术 243
9.4.1 高速缓存技术 243
9.4.2 虚拟存储技术 247
9.5 多任务管理与I/O管理 250
9.5.1 多任务管理 250
9.5.2 I/O管理 252
9.6 现代微型计算机中断系统 252
9.6.1 保护方式下的中断管理 252
9.6.2 I/O控制中心的中断管理功能 253
9.6.3 APIC中断 255
习题 256
第10章 微型计算机总线 257
10.1 总线技术原理 257
10.1.1 总线的基本概念 257
10.1.2 现代微型计算机的总线 260
10.1.3 现代微型计算机总线的串行化趋势 261
10.2 ISA总线 264
10.3 PCI总线与PCI-Express总线 265
10.3.1 PCI总线的特点 265
10.3.2 PCI总线体系结构 266
10.3.3 PCI总线信号 267
10.3.4 PCI总线周期和地址空间 268
10.3.5 PCI配置空间 269
10.3.6 PCI总线设备开发 272
10.3.7 PCI-Express总线 273
10.4 USB总线 276
10.4.1 USB总线的构成 276
10.4.2 USB总线信号传输 278
10.4.3 USB事务与USB帧 280
10.4.4 批量传输、中断传输和实时传输 283
10.4.5 控制传输 284
10.4.6 USB设备的检测和配置 286
10.4.7 USB控制器 288
习题 290
附录A 标准ASCII码字符表 291
附录B 80x86指令系统 292
附录C DOS功能调用 300
附录D BIOS功能调用 306
参考文献 310