第1章 概述 1
1.1 IA-32结构的概要历史 1
1.1.1 8086 2
1.1.2 80386 2
1.1.3 80486 3
1.1.4 奔腾(Pentium) 3
1.1.5 P6系列处理器 4
1.1.6 奔腾Ⅱ 4
1.1.7 奔腾Ⅲ 4
1.1.8 Intel Pentium 4处理器 4
1.1.9 Intel超线程处理器 4
1.1.10 Intel双核技术处理器 5
1.2 计算机基础 6
1.2.1 计算机的基本结构 6
1.2.2 常用的名词术语和二进制编码 8
1.2.3 指令程序和指令系统 9
1.2.4 初级计算机 10
1.2.5 简单程序举例 12
1.2.6 寻址方式 17
1.3 计算机的硬件和软件 21
1.3.1 系统软件 22
1.3.2 应用软件 22
1.3.3 支撑(或称为支持)软件 23
1.4 微型计算机的结构 23
1.4.1 微型计算机的外部结构 23
1.4.2 微型计算机的内部结构 24
1.5 多媒体计算机 25
1.5.1 人机接口 25
1.5.2 多媒体计算机的主要功能 25
1.5.3 多媒体计算机的组成 26
习题 27
2.1.1 8086功能的扩展 30
第2章 IA-32结构微处理器与8086 30
2.1 IA-32微处理器是8086的延伸 30
2.1.2 8086性能的提高 31
2.2 8086的功能结构 32
2.3 8086微处理器的执行环境 34
2.3.1 基本执行环境概要 34
2.3.2 基本的程序执行寄存器 34
2.3.3 存储器组织 39
习题 41
第3章 8086指令系统 42
3.1 基本数据类型 42
3.1.1 字、双字的对齐 42
3.1.2 数字数据类型 43
3.1.3 指针数据类型 44
3.1.4 串数据类型 44
3.2 8086的指令格式 44
3.3.1 立即数 45
3.3 8086指令的操作数寻址方式 45
3.3.2 寄存器操作数 46
3.3.3 存储器操作数 46
3.3.4 I/O端口寻址 50
3.4 8086的通用指令 50
3.4.1 数据传送指令 50
3.4.2 二进制算术指令 54
3.4.3 十进制算术指令 60
3.4.4 逻辑指令 63
3.4.5 移位和循环移位指令 65
3.4.6 控制传送指令 68
3.4.7 串指令 74
3.4.8 标志控制操作 78
3.4.9 段寄存器指令 78
习题 79
3.4.10 杂项指令 79
第4章 汇编语言程序设计 83
4.1 汇编语言的格式 83
4.1.1 8086汇编语言程序的一个例子 83
4.1.2 8086汇编语言源程序的格式 84
4.2 语句行的构成 84
4.2.1 标记(Token) 84
4.2.2 符号(Symbol) 87
4.2.3 表达式(Expressions) 88
4.2.4 语句(Statements) 91
4.3 指示性语句(Directive Statements) 92
4.3.1 符号定义语句 92
4.3.2 数据定义语句 93
4.3.3 段定义语句 99
4.3.4 过程定义语句 102
4.4.1 指令助记符 104
4.4 指令语句 104
4.3.5 结束语句 104
4.4.2 指令前缀 105
4.4.3 操作数寻址方式 105
4.4.4 串操作指令 107
4.5 汇编语言程序设计及举例 110
4.5.1 算术运算程序设计(直线运行程序) 110
4.5.2 分支程序设计 112
4.5.3 循环程序设计 113
4.5.4 字符串处理程序设计 115
4.5.5 码转换程序设计 119
4.5.6 有关I/O的DOS功能调用 123
4.5.7 宏汇编与条件汇编 127
习题 136
第5章 处理器总线时序和系统总线 138
5.1 8086的引脚功能 138
5.2 8086处理器时序 142
5.3 系统总线 149
5.3.1 概述 149
5.3.2 PC总线 154
5.3.3 ISA总线 154
5.3.4 PCI总线 155
5.3.5 USB总线 158
习题 159
第6章 存储器 161
6.1 半导体存储器的分类 162
6.1.1 RAM的种类 162
6.1.2 ROM的种类 163
6.2 读写存储器RAM 163
6.2.1 基本存储电路 163
6.2.2 RAM的结构 165
6.2.3 RAM与CPU的连接 168
6.2.4 64K位动态RAM存储器 172
6.3 现代RAM 176
6.3.1 内存条的构成 177
6.3.2 扩展数据输出动态随机访问存储器EDO DRAM 177
6.3.3 同步动态随机访问存储器SDRAM 178
6.3.4 突发存取的高速动态随机存储器Rambus DRAM 180
6.4 只读存储器(ROM) 181
6.4.1 掩模只读存储器 181
6.4.2 可擦除的可编程序的只读存储器EPROM 183
习题 190
第7章 输入和输出 194
7.1 概述 194
7.1.1 输入输出的寻址方式 194
7.1.2 CPU与I/O设备之间的接口信息 195
7.1.3 CPU的输入输出时序 196
7.1.4 CPU与接口电路间数据传送的形式 196
7.1.5 IBM PC的外设接口与现代PC的外设接口 197
7.2 CPU与外设数据传送的方式 199
7.2.1 查询传送方式 200
7.2.2 中断传送方式 203
7.2.3 直接数据通道传送(DMA) 204
7.3 DMA控制器 206
7.3.1 主要功能 206
7.3.2 8237的结构 207
7.3.3 8237的工作周期 208
7.3.4 8237的引线 208
7.3.5 8237的工作方式 211
7.3.6 8237的寄存器组和编程 212
习题 218
8.1.1 为什么要用中断 221
8.1.2 中断源 221
8.1 概述 221
第8章 中断 221
8.1.3 中断系统的功能 222
8.2 最简单的中断情况 222
8.2.1 CPU响应中断的条件 223
8.2.2 CPU对中断的响应 224
8.3 中断优先权 226
8.3.1 用软件确定中断优先权 226
8.3.2 硬件优先权排队电路 227
8.4 8086的中断方式 229
8.4.1 外部中断 229
8.4.2 内部中断 230
8.4.3 中断向量表 230
8.4.4 8086中的中断响应和处理过程 231
8.5 中断控制器Intel 8259A 233
8.5.1 功能 233
8.5.2 结构 233
8.5.3 8259A的引线 234
8.5.4 8259A的中断顺序 235
8.5.5 8259A的编程 235
8.5.6 8259A的工作方式 240
习题 243
第9章 计数器和定时器电路Intel 8253/8254-PIT 246
9.1 概述 246
9.1.1 主要功能 246
9.1.2 8253-PIT的内部结构 247
9.1.3 8253-PIT的引线 248
9.2 8253-PIT的控制字 249
9.3 8253-PIT的工作方式 250
9.3.1 方式0——计完最后一个数时中断 250
9.3.2 8253-PIT工作方式小结 251
9.4 8253-PIT的编程 253
9.5 8254-PIT 254
习题 255
第10章 并行接口芯片 257
10.1 可编程的并行输入/输出接口芯片8255A-5的结构 257
10.2 方式选择 259
10.2.1 “方式”选择控制字 259
10.2.2 方式选择举例 261
10.2.3 按位置位/复位功能 262
10.3 方式0的功能 263
10.3.1 方式0的基本功能 263
10.3.2 方式0的时序 264
10.4 方式1的功能 264
10.4.1 主要功能 264
10.4.2 方式1输入 265
10.4.3 方式1输出 266
10.5 方式2的功能 268
10.5.1 主要功能 268
10.5.3 方式2的控制字 269
10.5.2 时序 269
10.6 8255A应用举例 270
习题 272
第11章 串行通信及接口电路 274
11.1 串行通信 274
11.1.1 概述 274
11.1.2 串行接口标准EIA RS-232C接口 278
11.2 Intel 8251A可编程通信接口 280
11.2.1 8251的基本性能 280
11.2.2 8251的方框图 281
11.2.3 接口信号 282
11.2.4 8251的编程 284
11.2.5 8251应用举例 287
习题 289
第12章 数模(D/A)转换与模数(A/D)转换接口 291
12.1 模拟量输入与输出通道 291
12.1.2 模拟量输出通道的组成 292
12.1.1 模拟量输入通道的组成 292
12.2 数模(D/A)转换器 293
12.2.1 D/A转换的基本原理 293
12.2.2 D/A转换器的主要技术指标 294
12.2.3 典型的D/A转换器芯片 295
12.3 D/A转换器与微处理器的接口 299
12.3.1 8位D/A转换芯片与CPU的接口 299
12.3.2 12位D/A转换芯片与CPU的接口 300
12.4 模数(A/D)转换器 301
12.4.1 A/D转换的基本原理 301
12.4.2 A/D转换器的主要技术指标 302
12.4.3 A/D转换器与系统连接的问题 303
12.4.4 典型的A/D转换芯片 304
12.5 A/D转换器与微处理器的接口 307
12.5.1 8位A/D转换芯片与CPU的接口 308
12.5.2 12位A/D转换芯片与CPU的接口 309
12.6 D/A、A/D转换应用举例 310
12.6.1 D/A转换举例 310
12.6.2 A/D转换举例 311
习题 313
第13章 IA-32微处理器 314
13.1 IA-32处理器的功能结构 314
13.1.1 80386的功能结构 314
13.1.2 80486的功能结构 316
13.2 IA-32结构微处理器的指令系统的发展 317
13.3 IA-32结构微处理器的性能发展 319
13.3.1 IA-32的流水线结构简介 319
13.3.2 Cache 324
13.4 IA-32结构微处理器的执行环境 328
13.4.1 操作模式 328
13.4.2 基本执行环境概要 328
13.4.3 存储器组织 330
13.4.4 基本的程序执行寄存器 332
13.4.5 X87 FPU结构 337
13.5 IA-32处理器的工作方式 340
13.6 保护虚地址方式 341
13.6.1 保护方式下的寻址机制 341
13.6.2 全局描述符表和局部描述符表 342
13.6.3 描述符 343
13.6.4 选择子 347
13.6.5 段描述符的高速缓冲寄存器 347
13.6.6 IA-32微处理器中的特权级 349
13.6.7 任务切换 356
13.7 虚拟存储器管理与IA-32微处理器的MMU单元 360
13.7.1 虚拟存储器概念 360
13.7.2 Intel IA-32结构微处理器的存储管理单元 364
习题 371