第1章 计算机基础 1
1.1 概述 1
1.1.1 微计算机的发展 1
1.1.2 常用术语 2
1.1.3 正文中使用的符号 3
1.2 计算机中数与编码的表示方法 3
1.2.1 进制表示 3
1.2.2 定点和浮点表示 5
1.2.3 有符号数的表示 6
1.2.4 编码的表示 8
1.3 微型计算机结构及工作原理 9
1.3.1 微处理器 9
1.3.2 微型计算机 12
1.3.3 微型计算机系统 13
1.3.4 计算机中的指令执行过程 14
1.4 微机系统中采用的先进技术 16
1.4.1 流水线技术 16
1.4.2 高速缓冲存储技术 17
1.4.3 CISC和RISC 17
1.4.4 多核心技术 18
1.5 习题与思考 18
第2章 80x86及Pentium微处理器 20
2.1 Intel系列微处理器概述 20
2.2 8086/8088微处理器 22
2.2.1 8086/8088编程结构 22
2.2.2 8086/8088的工作模式与引脚定义 28
2.2.3 8086/8088的时序与总线周期 32
2.2.4 8086/8088的存储器组织 37
2.2.5 8086/8088的堆栈组织 39
2.2.6 8086/8088的系统组织 40
2.3 80286到Pentium系列微处理器 45
2.3.1 概述 45
2.3.2 80x86微处理器 51
2.3.3 Pentium系列微处理器 54
2.3.4 双核微处理器 57
2.4 习题与思考 59
第3章 80x86及Pentium指令系统 61
3.1 指令的结构 61
3.1.1 指令提供的信息 61
3.1.2 指令格式 62
3.2 寻址方式 64
3.2.1 寻址方式的定义 64
3.2.2 寻址方式分类 64
3.2.3 数据型操作数寻址方式 65
3.2.4 目标地址寻址方式 71
3.3 8086/8088指令系统 73
3.3.1 传送类指令 74
3.3.2 算术运算类指令 81
3.3.3 逻辑运算类指令 92
3.3.4 位移类指令 94
3.3.5 转移类指令 97
3.3.6 串操作类指令 109
3.3.7 处理器类指令 113
3.4 80286到Pentium增加指令介绍 114
3.4.1 80286的增强与增加指令 115
3.4.2 80386/80486的增强与增加指令 117
3.4.3 Pentium系列处理器的增加指令 119
3.5 习题与思考 122
第4章 汇编语言程序设计 126
4.1 概述 126
4.1.1 计算机语言的分类 126
4.1.2 MASM汇编语言 127
4.2 伪指令 129
4.2.1 汇编语言中数、符号、表达式的描述规范 130
4.2.2 处理器定义伪指令 133
4.2.3 模式定义伪指令 134
4.2.4 段定义伪指令 135
4.2.5 数据定义伪指令 139
4.2.6 符号定义伪指令 140
4.2.7 类型定义伪指令 141
4.2.8 过程定义伪指令 142
4.2.9 程序计数器与定位伪指令 143
4.2.10 条件汇编伪指令 144
4.2.11 记录与结构伪指令 144
4.2.12 模块定义伪指令 149
4.3 宏指令 150
4.3.1 宏指令定义 150
4.3.2 宏指令的应用 151
4.3.3 宏指令与子程序的区别 152
4.4 BIOS和DOS的功能调用 152
4.4.1 BIOS调用 153
4.4.2 DOS软中断 153
4.4.3 DOS系统功能调用 154
4.5 汇编语言程序设计与调试 155
4.5.1 汇编语言程序设计步骤 155
4.5.2 MASM汇编语言的调试方法 156
4.6 汇编语言程序设计基本方法 157
4.6.1 顺序结构程序 157
4.6.2 分支结构程序 160
4.6.3 循环结构程序 166
4.6.4 子程序调用结构程序 170
4.6.5 综合应用程序设计举例 177
4.6.6 80x86应用程序设计举例 178
4.7 汇编语言与C/C++语言的混合编程 180
4.7.1 内嵌模块方法 180
4.7.2 外调模块方法 181
4.8 习题与思考 184
第5章 半导体存储器及其接口技术 188
5.1 计算机存储器概述 188
5.1.1 微型计算机中存储器的分类 188
5.1.2 半导体存储器的分类 189
5.13 半导体存储器的性能指标 191
5.1.4 计算机系统中常见的半导体存储器 191
5.1.5 存储卡技术介绍 193
5.2 半导体存储器结构与工作原理 196
5.2.1 半导体存储器的基本组成 196
5.2.2 随机存储器RAM 197
5.2.3 只读存储器ROM 204
5.2.4 非易失读/写存储器 206
5.3 半导体存储器接口设计 211
5.3.1 存储芯片的选择 211
5.3.2 存储器的地址分配 213
5.3.3 存储器的地址译码 214
5.3.4 存储器与CPU的信号连接 216
5.3.5 存储器接口设计举例 217
5.4 80x86存储器技术 222
5.4.1 虚拟存储器简介 222
5.4.2 80x86中的ROM重复和影子RAM 223
5.5 习题与思考 223
第6章 微型计算机接口技术 226
6.1 微型计算机接口结构与功能 226
6.1.1 接口的基本结构 227
6.1.2 接口的功能 227
6.1.3 80x86PC系统中的I/O地址映射 229
6.2 微处理器与外设数据传输控制方式 230
6.2.1 直接程序传输 230
6.2.2 查询程序传输 230
6.2.3 中断传输 231
6.2.4 DMA传输 232
6.3 微型计算机的中断系统 233
6.3.1 中断控制方式的优点 233
6.3.2 与中断有关的术语 234
6.3.3 中断过程 234
6.3.4 80x86中断系统 239
6.4 微型计算机功能扩展总线和接口标准 240
6.4.1 一些常用的总线术语 241
6.4.2 总线的分类 242
6.4.3 80x86系列微机中常用的总线和接口标准 242
6.5 习题与思考 249
第7章 简单接口电路设计 251
7.1 概述 251
7.1.1 数据锁存器 251
7.1.2 数据缓冲器 252
7.2 开关量输出接口设计 252
7.2.1 单个开关量输出接口 252
7.2.2 多个开关量输出接口 253
7.2.3 数码显示接口 254
7.3 开关量输入接口设计 257
7.3.1 单个开关量输入接口 257
7.3.2 多个开关量输入接口 257
7.3.3 键盘接口 257
7.4 D/A转换接口 261
7.4.1 D/A转换原理 261
7.4.2 D/A转换器技术参数 263
7.4.3 DAC 0832介绍 263
7.5 A/D转换接口 266
7.5.1 A/D转换原理 266
7.5.2 A/D转换器的主要技术指标 269
7.5.3 ADC0809介绍 270
7.6 A/D和D/A转换接口应注意的问题 274
7.7 习题与思考 275
第8章 可编程接口技术 277
8.1 可编程计数器8253/8254 277
8.1.1 8253/8254外部特点与功能 277
8.1.2 8253/8254内部结构与工作原理 278
8.1.3 8253/8254的控制字与初始化编程 279
8.1.4 8253/8254的工作方式 281
8.1.5 8253/8254应用举例 283
8.2 并行通信接口8255A 287
8.2.1 8255A内部结构与引脚定义 287
8.2.2 8255A的工作方式及其初始化设置 289
8.2.3 8255A各工作方式的功能特点说明 290
8.2.4 8255A应用举例 294
8.3 串行通信接口8250/8251 301
8.3.1 串行通信接口技术的概念 302
8.3.2 可编程异步通信接口8250/16450 307
8.3.3 可编程串行通信接口芯片Intel 8251A 317
8.4 可编程中断控制器8259A 326
8.4.1 8259A概述 326
8.4.2 8259A的引脚特性 326
8.4.3 8259A内部结构 327
8.4.4 8259A的初始化编程 329
8.4.5 8259A的工作编程&■ 2
8.4.6 8259A应用举例 334
8.5 DMA控制器8237A 340
8.5.1 8237A的功能及引脚特性 340
8.5.2 8237A内部寄存器及读写操作 342
8.5.3 8237A初始化编程 345
8.5.4 8237A应用举例 345
8.6 习题与思考 347
附录 353
附录A 7位ASCII码编码表 353
附录B DEBUG的常用命令 354
附录C 多媒体辅助教学软件说明 355
附录D 逻辑符号对照表 356
附录E 8086/8088常用指令简单列表 357
附录F 常用汇编语言伪指令简单列表 358
附录G TD的常用命令 358
参考文献 359