第1章 微机系统概述 1
1.1 微机的发展 1
1.2 微机系统的组成 1
1.2.1 微机的硬件 1
1.2.2 微机的软件 2
1.3 PC系列微机的基本结构 3
1.3.1 PC/XT机的基本结构 3
1.3.2 80386/80486微机的基本结构 5
1.3.3 现代微机的基本结构 6
1.3.4 现代微机发展的特点 8
1.4 微机系统的性能指标 9
1.4.1 主板的结构与性能 9
1.4.2 微处理器的性能指标 9
1.4.3 总线的性能指标 10
习题 11
第2章 微处理器 12
2.1 微处理器概述 12
2.1.1 微处理器的基本概念 12
2.1.2 微处理器基本结构与功能 12
2.2 8086/8088微处理器内部结构 13
2.2.1 执行部件(EU) 13
2.2.2 总线接口部件(BIU) 15
2.2.3 BIU与EU的动作协调原则 15
2.2.4 8086/8088的存储器组织 16
2.3 8086/8088微处理器工作模式及外部结构 18
2.3.1 8086/8088的工作模式 18
2.3.2 8086/8088的引脚信号和功能 18
2.3.3 8086在最小模式和最大模式下的典型配置 22
2.4 8086/8088微处理器的基本时序 24
2.4.1 指令周期、总线周期及时钟周期 24
2.4.2 最小模式下的典型时序 24
2.4.3 最大模式下的典型时序 29
2.5 80x86至Pentium系列微处理技术概述 30
2.5.1 Pentium微处理器的程序设计模型 30
2.5.2 Pentium微处理器的工作模式 34
2.6 嵌入式系统和嵌入式处理器概述 42
习题 45
第3章 8086/8088指令系统 46
3.1 8086/8088指令格式与寻址方式 46
3.1.1 指令的基本格式 46
3.1.2 指令的寻址方式 47
3.1.3 8086/8088操作数的寻址方式 48
3.2 数据传送类指令 51
3.2.1 通用数据传送指令 51
3.2.2 交换传送指令 53
3.2.3 堆栈操作指令 53
3.2.4 有效地址传送指令 54
3.2.5 换码指令 55
3.2.6 标志寄存器传送指令 55
3.2.7 输入输出数据传送指令 56
3.3 算术运算类指令 57
3.3.1 加法指令 57
3.3.2 减法指令 58
3.3.3 乘法和除法指令 59
3.4 逻辑运算与移位指令 61
3.4.1 逻辑运算指令 61
3.4.2 移位指令 63
3.5 串操作类指令 64
3.5.1 重复前缀指令 64
3.5.2 字符串指令 64
3.5.3 字符串指令举例 65
3.6 控制转移类指令 66
3.6.1 无条件转移指令 66
3.6.2 调用和返回指令 67
3.6.3 条件转移指令 68
3.6.4 循环控制指令 69
3.7 标志处理和处理器控制类指令 70
习题 70
第4章 汇编语言程序设计 73
4.1 汇编语言程序的开发过程 73
4.2 汇编语言基本语法 74
4.2.1 汇编语言语句的种类及其格式 74
4.2.2 汇编语言的数据 75
4.2.3 汇编语言的伪指令语句 82
4.2.4 汇编语言程序的基本框架 86
4.3 系统功能调用 87
4.4 汇编语言程序设计 89
4.4.1 顺序程序设计 89
4.4.2 分支程序设计 90
4.4.3 循环程序设计 91
4.4.4 子程序设计 94
4.5 汇编语言和C/C++语言混合编程 95
4.5.1 嵌入式汇编 96
4.5.2 C/C++程序调用汇编程序 96
习题 99
第5章 微机的存储系统 103
5.1 存储器概述 103
5.1.1 存储器的分类 103
5.1.2 存储器的主要性能指标 105
5.1.3 存储系统的概念 106
5.2 半导体存储器的基本知识 107
5.2.1 半导体存储器的特点 107
5.2.2 半导体存储器芯片的基本结构 107
5.2.3 典型芯片 108
5.3 微机系统中的主存储器组织 112
5.3.1 存储器的扩展技术 112
5.3.2 主存储器的接口技术 117
5.3.3 PC系列微机的主存储器组织 119
5.3.4 DRAM内存条简介 122
5.4 高速缓冲存储器 123
5.4.1 Cache的工作原理 123
5.4.2 主存与Cache的地址映射方式 126
5.4.3 替换策略 127
5.4.4 Cache的更新策略 128
5.5 辅助存储器 129
5.5.1 硬盘存储器 129
5.5.2 光盘存储器 132
5.5.3 新型辅助存储器 134
习题 136
第6章 微机的I/O系统 138
6.1 I/O系统概述 138
6.1.1 I/O系统的组成 138
6.1.2 I/O系统的特点 140
6.2 I/O接口 140
6.2.1 接口的功能 140
6.2.2 接口的分类 141
6.2.3 CPU和外设之间交换的信息 143
6.2.4 I/O端口的编址方式 143
6.3 CPU和外设之间数据传送的控制方式 144
6.3.1 程序控制方式 144
6.3.2 中断控制方式 145
6.3.3 DMA方式 146
6.4 PC微机I/O接口设计 146
6.4.1 PC微机I/O端口地址分配 146
6.4.2 接口硬件设计方法 147
6.4.3 I/O端口地址译码 148
6.4.4 PC微机I/O接口的编程控制 150
6.5 微机的中断系统 151
6.5.1 中断的基本概念 151
6.5.2 PC微机的中断 152
6.6 中断优先级管理器8259A 159
6.6.1 8259A的主要特性和内部结构 159
6.6.2 8259A的工作原理 161
6.6.3 8259A的外部特性 161
6.6.4 8259A的控制字和初始化编程 162
6.6.5 8259A的工作方式 167
6.6.6 8259A的级联 170
6.6.7 8259A在PC微机中的应用 170
习题 173
第7章 微机总线及I/O接口标准 175
7.1 概述 175
7.1.1 总线和接口标准的基本概念 175
7.1.2 总线和接口标准的分类 176
7.1.3 总线的组成及性能参数 177
7.1.4 总线的数据传输过程 178
7.1.5 总线的优点及发展趋势 179
7.2 系统总线标准 180
7.2.1 ISA总线 180
7.2.2 PCI局部总线 181
7.2.3 PCI-E局部总线 182
7.3 外部总线(接口)标准 184
7.3.1 传统的串行/并行接口标准 184
7.3.2 通用外设接口标准 188
7.3.3 外存储设备接口标准 193
习题 198
第8章 可编程接口芯片 199
8.1 可编程并行接口芯片8255A 199
8.1.1 并行接口的基本概念 199
8.1.2 8255A的主要特征和内部结构 200
8.1.3 8255A的外部引脚 201
8.1.4 8255A的控制字和初始化编程 202
8.1.5 8255A的3种工作方式 204
8.1.6 8255A应用举例 208
8.2 可编程串行通信接口芯片8251A 210
8.2.1 串行通信的基本概念 210
8.2.2 8251A的主要特征 217
8.2.3 8251A的内部结构 218
8.2.4 8251A的外部引脚 219
8.2.5 8251A的编程 221
8.2.6 8251A的应用举例 226
8.3 可编程定时器/计数器8253/8254 230
8.3.1 定时/计数的基本概念 230
8.3.2 8253的主要特性和内部结构 231
8.3.3 8253的外部引脚 232
8.3.4 8253的命令字和初始化编程 233
8.3.5 8253的工作方式 234
8.3.6 8253的6种工作方式比较 240
8.3.7 8253的初始化编程 241
8.3.8 8253应用举例 242
习题 244
第9章 微机常用外设接口 247
9.1 键盘及其接口 247
9.1.1 非编码键盘的基本工作原理 247
9.1.2 PC键盘及接口技术 249
9.1.3 键盘I/O程序设计 250
9.2 鼠标及其接口 252
9.2.1 鼠标的工作原理 252
9.2.2 鼠标与计算机的接口 252
9.2.3 鼠标接口编程 253
9.3 显示器及其接口 254
9.3.1 显示系统的性能参数 254
9.3.2 显示器工作原理 255
9.3.3 显示器接口 258
9.3.4 显示器接口编程 260
9.4 打印机接口 261
9.4.1 打印机的基本工作原理 262
9.4.2 主机与打印机的接口 262
9.4.3 打印机I/O程序设计 264
习题 266
附录A DEBUG的主要命令 267
参考文献 272