第1章 概论 1
1.1计算机硬件 1
1.2计算机软件 4
1.2.1软件的组成与分类 4
1.2.2计算机语言 4
1.3计算机系统的层次结构 6
1.4计算机的基本工作原理 7
1.4.1存储程序工作原理 7
1.4.2计算机的工作过程 8
1.5计算机的性能 10
1.6计算机系统的分类 12
1.7嵌入式技术及应用 14
1.7.1嵌入式系统的概念 14
1.7.2嵌入式系统的特点 15
1.7.3嵌入式系统的应用领域 15
1.7.4嵌入式技术的发展趋势 16
本章小结 17
习题1 17
第2章 数据表示和运算方法 18
2.1数值数据在计算机内的表示 18
2.1.1定点数与浮点数 18
2.1.2数的机器码表示 20
2.1.3 BCD码 22
2.2非数值数据在机内的表示 23
2.2.1字符的表示方法 23
2.2.2汉字的表示方法 23
2.3加减运算方法 24
2.3.1补码加法运算 24
2.3.2补码减法运算 25
2.3.3溢出概念及检测方法 26
2.3.4基本的二进制加法/减法器 27
2.3.5十进制加法器 28
2.4乘法计算 28
2.4.1原码一位乘法 28
2.4.2补码一位乘法 30
2.4.3阵列乘法器 31
2.5除法计算 33
2.5.1原码一位除法 33
2.5.2补码一位除法 34
2.5.3阵列除法器 35
2.6逻辑运算 37
2.6.1逻辑非 37
2.6.2逻辑或 37
2.6.3逻辑与 38
2.6.4逻辑异或 38
2.7多功能算术/逻辑运算单元(ALU) 39
2.8定点运算 41
2.8.1单总线结构的运算器 41
2.8.2双总线结构的运算器 42
2.8.3三总线结构的运算器 42
2.9浮点运算 43
2.9.1浮点加法和减法 43
2.9.2浮点乘、除法运算 44
2.9.3浮点运算器 46
本章小结 47
习题2 47
第3章 微处理器的结构及应用特性 49
3.1概述 49
3.2 Intel 8086的编程结构 50
3.2.1总线接口部件 50
3.2.2执行部件 51
3.2.3总线接口部件和执行部件的管理 52
3.2.4 Intel 8086总线周期的概念 52
3.3 Intel 8086的引脚信号和工作模式 53
3.3.1最小模式和最大模式的概念 53
3.3.2 Intel 8086的引脚信号和功能 53
3.3.3最小模式下的系统配置 56
3.3.4最大模式下的系统配置 57
3.4 Intel 8086的操作和时序 58
3.4.1系统的复位和启动操作 58
3.4.2总线操作 58
3.4.3最小模式下的总线保持 59
3.4.4最大模式下的总线请求/允许 60
3.5总线的概念及Intel 8086系统总线的构成 60
3.5.1总线的功能与分类 61
3.5.2总线标准及信号组成 61
3.5.3 PCI总线操作时序 62
3.5.4 Intel 8086的系统总线 64
3.6嵌入式处理器及其应用 64
3.6.1概述 64
3.6.2嵌入式微处理器 65
3.6.3嵌入式微控制器 65
3.6.4嵌入式DSP处理器 65
3.6.5.嵌入式片上系统(SOC) 66
3.6.6嵌入式处理器的发展趋势 66
本章小结 66
习题3 67
第4章 存储系统 68
4.1存储器概述 68
4.1.1存储器的分类 68
4.1.2存储器的分级结构 69
4.2半导体随机存取存储器 70
4.2.1半导体存储器的存储原理 71
4.2.2静态随机存取存储器实例 74
4.2.3动态随机存储器的刷新方式 74
4.3半导体只读存储器(ROM) 75
4.3.1 MROM和PROM 76
4.3.2 EPROM 76
4.3.3闪速存储器(FLASH ROM) 77
4.4多体交叉存储器和双端口存储器 78
4.4.1多体交叉存储器的工作原理 78
4.4.2双端口存储器的工作原理 79
4.5存储器的层次结构 80
4.5.1什么是存储器的层次结构 81
4.5.2高速缓冲存储器 81
4.6虚拟存储器 84
4.6.1虚拟存储器的基本概念 85
4.6.2页式虚拟存储器 85
4.6.3段式虚拟存储器 86
4.6.4段页式虚拟存储器 87
本章小结 87
习题4 88
第5章 汇编语言与程序设计 89
5.1概述 89
5.2 Intel 8086微处理器的寄存器和主存储器 90
5.2.1 8086通用寄存器 90
5.2.2 8086的标志寄存器 94
5.2.3存储器组织与段寄存器 94
5.3汇编语言语句格式 96
5.3.1段定义的简化 97
5.3.2简化的段定义 98
5.3.3完整的段定义 100
5.3.4源程序编程格式 102
5.3.5返回操作系统方式 103
5.3.6建立汇编语言的工作环境 103
5.3.7汇编语言源程序上机运行过程 103
5.4 8086的指令系统及寻址方式 104
5.4.1指令中操作数的符号说明 104
5.4.2三类操作数的寻址方式 105
5.4.3数据传送类指令 108
5.4.4算术运算类指令 112
5.4.5逻辑运算类指令 118
5.4.6移位操作类指令 120
5.4.7串操作类指令 121
5.4.8控制转移类指令及其寻址方式 124
5.4.9处理机控制类指令 128
5.5 8086汇编语言的数据、表达式和运算符 129
5.5.1常量 129
5.5.2变量 130
5.5.3标号 133
5.5.4表达式与运算符 133
5.6 8086汇编语言的伪指令 134
5.6.1数据定义及存储器分配伪指令 135
5.6.2表达式赋值伪指令 135
5.6.3段定义伪指令 135
5.6.4程序开始和结束伪指令 136
5.6.5过程定义伪指令 137
5.6.6宏指令 138
5.7汇编语言程序设计技术 140
5.7.1源程序设计步骤 140
5.7.2顺序程序设计 141
5.7.3分支程序设计 141
5.7.4循环程序设计 144
5.7.5子程序设计 145
5.7.6系统功能调用 146
5.7.7汇编语言程序的开发 147
5.8汇编与C/C ++接口 148
5.8.1 C/C ++程序中内嵌汇编的方法 148
5.8.2独立汇编模块的汇编与C/ C++混合编程 152
本章小结 157
习题5 157
第6章 输入/输出接口 160
6.1 I/O接口概述 160
6.1.1 I/O接口的主要功能 160
6.1.2 I/O接口电路的基本模型 161
6.1.3 I/O端口的编址 162
6.1.4 I/O地址的译码方法 164
6.1.5 PC系列机主板上的I/O译码 164
6.1.6数据传送方式 165
6.2无条件传送 166
6.3查询传送 168
6.3.1查询输入接口 169
6.3.2查询输出接口 170
6.4中断传送 171
6.5直接存储器存取(DMA)传送 172
6.6 I/O处理器(IOP)方式 172
本章小结 173
习题6 173
第7章 中断控制接口 175
7.1中断和中断系统 175
7.2 8086 CPU的中断系统 180
7.2.1 8086的中断类型 180
7.2.2 8086的中断向量与中断向量表 182
7.2.3 8086 CPU中断处理过程 184
7.3中断控制器8259A 186
7.3.1 8259A的引脚信号、内部结构和工作原理 186
7.3.2 8259A的工作方式 189
7.3.3 8259A的初始化命令字和操作命令字 193
7.3.4 8259A应用举例 199
7.4中断程序设计 201
7.4.1中断服务程序的编写 201
7.4.2中断系统应用实例 203
本章小结 205
习题7 205
第8章 定时计数控制接口 207
8.1定时计数技术概述 207
8.2可编程定时计数器8253 208
8.2.1 8253的内部结构和引脚 208
8.2.2 8253的工作方式 211
8.2.3 8253的编程 214
8.3 8253在IBM PC系列微机和工程中的应用 216
8.3.1 8253在IBM PC系列微机中的应用 216
8.3.2 8253在工程中的应用 220
8.3.3 8253具体应用举例 223
本章小结 227
习题8 227
第9章 DMA控制接口 229
9.1直接存储存取概述 229
9.1.1直接存储访问基本概念 229
9.1.2 8086/8088 CPU系统中的DMA工作方式 230
9.2可编程DMA控制器8237A 231
9.2.1 8237A的引脚和内部结构 231
9.2.2 8237A的工作时序 234
9.2.3 8237A的工作方式 236
9.2.4 8237A的寄存器 239
9.2.5 8237A的编程 244
9.3 8237A的应用 245
9.3.1 8237A在IBM PC系列微机中的应用 245
9.3.2 8237A应用举例 247
本章小结 251
习题9 251
第10章 并行接口 253
10.1并行接口的结构 253
10.2并行接口电路8255A 255
10.2.1 8255A的内部结构和引脚 255
10.2.2 8255A的工作方式 257
10.2.3 8255A的编程 260
10.3 8255A的应用 263
本章小结 265
习题10 266
第11章 串行通信接口 268
11.1串行通信 268
11.2串行接口标准RS-232C 272
11.3可编程串行接口电路Intel 8251 A 275
11.3.1 8251A的外部特性 275
11.3.2 8251 A的内部结构 278
11.4 8251A的编程 279
11.4.1 8251A的控制字 279
11.4.2 8251A的编程地址 282
11.4.3 8251A编程的流程及举例 283
本章小结 287
习题11 287
第12章 模拟接口 289
12.1模拟输入/输出系统 289
12.2 D/A转换器 290
12.2.1 D/A转换的基本原理及特性 290
12.2.2 DAC0832芯片 292
12.2.3 DAC芯片与主机的连接 294
12.2.4 DAC芯片的应用 296
12.3 A/ D转换器 298
12.3.1 A/D转换的原理 298
12.3.2 ADC0809芯片 298
12.3.3 ADC芯片与系统的连接 300
12.3.4 ADC芯片的应用 301
本章小结 305
习题12 305
第13章 外部设备接口 307
13.1标准并行端口 307
13.1.1并行端口概述 307
13.1.2并口电路 307
13.1.3 IEEE 1284并行接口 310
13.1.4 IEEE 1284传输模式 310
13.1.5 ECP模式 312
13.1.6 ECP模式读/写实例 315
13.2 USB接口 317
13.2.1 USB接口概述 317
13.2.2 USB系统描述 317
13.2.3 USB传输协议和类型 322
13.2.4 USB系统的通信原理 324
13.2.5驱动开发概述 326
13.3网络设备接口NIC 329
13.3.1网络接口控制器简介 329
13.3.2基于NIC的网卡结构及功能 330
13.3.3 NIC的工作原理 332
13.3.4 NIC的内部结构 332
13.3.5 NIC的初始化过程 333
本章小结 334
习题13 334
第14章 嵌入式应用系统 336
14.1概述 336
14.1.1嵌入式系统的结构 336
14.1.2嵌入式系统的特点 337
14.1.3嵌入式系统的发展趋势 338
14.2嵌入式应用系统的开发 338
14.2.1确定嵌入式系统的需求 338
14.2.2设计系统的体系结构 339
14.2.3相关外部设备的选择 339
14.3构建嵌入式系统开发环境 339
14.4嵌入式应用系统硬件设计 341
14.4.1嵌入式系统的最小硬件系统设计 341
14.4.2基于功能需求的系统扩展设计 345
14.5嵌入式应用系统软件设计 346
14.5.1硬件驱动层 346
14.5.2系统软件层 346
14.5.3用户应用程序层 355
本章小结 358
习题14 358
附录A DEBUG命令详解 360
附录B 建立Windows环境下32位汇编语言开发环境 361
附录C MASM简介 363
参考文献 364