第1章 微型计算机基本知识 1
1.1 微型计算机的发展概况 1
1.2 微型计算机系统 6
1.2.1 微型计算机系统的构成 6
1.2.2 微型计算机的工作过程 12
1.3 微型计算机的运算基础 13
1.3.1 常用进制计数法 13
1.3.2 不同进制数之间的转换 16
1.3.3 二进制编码 19
1.3.4 无符号二进制数的运算 21
1.3.5 带符号二进制数的表示和运算 25
习题 33
第2章 微处理器 35
2.1 8086/8088微处理器 35
2.1.1 8086/8088 CPU的内部结构 35
2.1.2 8086/8088 CPU的内部寄存器 39
2.1.3 8086/8088 CPU的存储器组织 42
2.1.4 8086/8088 CPU的工作模式和引脚及其功能 52
2.1.5 8086/8088 CPU的工作时序 56
2.2 80386微处理器 59
2.2.1 80386微处理器的主要特性 59
2.2.2 80386微处理器的内部结构 60
2.2.3 80386微处理器的内部寄存器 61
2.2.4 80386微处理器的主要引脚信号 66
2.2.5 80386微处理器的工作模式 67
2.3 Pentium 4微处理器 71
2.3.1 Pentium 4微处理器的物理特性 71
2.3.2 Pentium 4微处理器的NetBurt体系结构 72
2.3.3 Pentium 4微处理器增强的单指令多数据流扩展指令集SSE2 73
2.3.4 Pentium 4微处理器的功能结构 74
2.4 总线 75
2.4.1 总线概述 75
2.4.2 PC系统总线 78
2.4.3 外设总线 81
习题 85
第3章 汇编语言程序设计基础 87
3.1 基本概念 87
3.1.1 机器指令和代码指令 87
3.1.2 汇编指令 87
3.1.3 汇编语言程序建立及处理过程 88
3.2 8086指令系统 89
3.2.1 数据传送类指令 89
3.2.2 算术运算类指令 92
3.2.3 逻辑运算与移位指令 97
3.2.4 字符串处理指令 100
3.2.5 控制转移指令 104
3.2.6 中断指令 106
3.2.7 处理器控制指令 106
3.2.8 常用伪指令 107
3.3 源程序典型结构 110
3.3.1 一个标准的单模块汇编语言源程序书写形式示例 110
3.3.2 段寄存器初值的设置 112
3.3.3 DOS下汇编语言程序的正常结束 113
3.4 变量 115
习题 118
第4章 数据传送程序设计 121
4.1 数据的传送 121
4.1.1 MOV指令(传送字节或字) 121
4.1.2 循环控制指令LOOP 122
4.1.3 各种寻址方式编制数据块传送程序 123
4.2 数据的输入和输出 127
4.2.1 常用DOS功能调用 127
4.2.2 程序举例 129
4.3 堆栈 131
4.3.1 堆栈的定义及操作指令 131
4.3.2 用堆栈存储数据实例 133
4.4 换码程序 134
4.4.1 XLAT指令 135
4.4.2 换码程序举例 135
习题 138
第5章 算术逻辑运算程序 140
5.1 带符号和无符号二进制数加减运算 140
5.1.1 加减运算指令 140
5.1.2 程序举例 144
5.2 带符号和无符号二进制数乘除运算 147
5.2.1 乘除运算指令 147
5.2.2 程序举例 149
5.3 十进制数算术运算 150
5.3.1 压缩型BCD码调整指令 151
5.3.2 压缩型BCD码程序举例 151
5.3.3 非压缩型BCD码(ASCII码)加法调整指令 153
5.3.4 非压缩型BCD码程序举例 154
5.4 逻辑运算程序 157
5.4.1 逻辑指令 157
5.4.2 移位指令 158
5.4.3 程序举例 160
习题 164
第6章 分支与循环程序设计 166
6.1 分支程序设计 166
6.1.1 标号 166
6.1.2 无条件转移指令 167
6.1.3 比较指令 168
6.1.4 条件转移指令 169
6.1.5 分支程序设计 171
6.2 循环程序设计 175
6.3 多重循环程序设计 178
6.4 子程序 180
6.4.1 子程序定义 181
6.4.2 子程序调用与返回 181
6.4.3 子程序举例 183
习题 187
第7章 微型计算机和外设的数据传输 189
7.1 接口电路的作用 189
7.2 CPU和输入/输出设备之间的信号 190
7.3 接口部件的I/O端口 191
7.4 CPU和外设之间的数据传送方式 192
7.4.1 程序方式 193
7.4.2 中断方式 195
7.4.3 DMA方式 199
7.5 PC系列机中接口电路的连接 200
习题 201
第8章 可编程并行I/O接口电路——8255A 202
8.1 并行接口概述 202
8.2 8255A的结构及功能 203
8.2.1 8255A的组成及功能 203
8.2.2 8255A的引脚信号 206
8.2.3 8255A的控制字 206
8.3 8255A的控制字格式及工作方式 207
8.3.1 方式选择控制字 207
8.3.2 端口C置1/置0控制字 208
8.3.3 8255A的工作方式 208
习题 216
第9章 可编程串行通信接口——8250 218
9.1 串行通信的基本概念 218
9.1.1 串行通信的类型 219
9.1.2 信号的调制与解调 222
9.2 可编程异步串行接口部件8250 223
9.2.1 8250的功能、结构 223
9.2.2 8250的引脚定义 228
9.2.3 8250的初始化编程 232
9.2.4 8250编程举例 234
习题 236
第10章 中断系统及中断控制器——8259A 237
10.1 中断类型号和中断向量表 237
10.2 可编程中断控制器8259A 238
10.2.1 8259A的引脚信号和工作原理 238
10.2.2 8259A的结构及功能 239
10.2.3 8259A的工作方式 242
10.2.4 8259A的初始化命令字 247
10.2.5 8259A的初始化流程 251
10.2.6 8259A的操作命令字 253
10.3 8259A使用举例 256
10.3.1 中断结束命令的例子 256
10.3.2 特殊屏蔽方式的例子 257
10.3.3 一个完整的程序段 258
习题 263
第11章 可编程计数器/定时器——8253 265
11.1 计数与定时概述 265
11.1.1 计数与定时的概念 265
11.1.2 计数方法与计数器 266
11.1.3 计数/定时的工作原理 267
11.2 可编程计数器/定时器8253 268
11.2.1 8253的编程结构 268
11.2.2 8253的编程 271
11.2.3 8253的工作模式 272
11.2.4 8253的应用举例 279
11.2.5 通用发声程序 280
习题 281
第12章 模拟接口 283
12.1 模拟输入输出系统 283
12.2 数/模转换器 284
12.2.1 数/模转换的基本原理 285
12.2.2 数/模转换器的主要技术指标 287
12.2.3 数/模转换器的芯片和有关电路 288
12.2.4 数/模转换器的应用 289
12.3 模/数转换器 290
12.3.1 模/数转换的基本原理 291
12.3.2 模/数转换器的主要技术指标 292
12.3.3 模/数转换器与系统连接的问题 293
12.3.4 典型的模/数转换芯片及应用 294
习题 297
附录A ASCII码表 298
附录B 汇编语言上机指导与程序调试工具DEBUG的使用 299
参考文献 312