第1章 微型计算机系统概述 1
1.1 微型计算机的发展 1
1.1.1 通用微处理器 1
1.1.2 专用微处理器 2
1.1.3 摩尔定律 3
1.2 微型计算机的系统组成 3
1.2.1 冯·诺伊曼计算机结构 4
1.2.2 微型计算机的硬件组成 6
1.2.3 IBM PC系列机结构 7
1.2.4 微型计算机的软件系统 9
1.3 计算机中的数据表示 11
1.3.1 数值的编码 11
1.3.2 字符的编码 12
习题 14
第2章 微处理器指令系统 16
2.1 微处理器的内部结构 16
2.1.1 微处理器的基本结构 16
2.1.2 8088/8086的功能结构 17
2.1.3 8088/8086的寄存器结构 19
2.1.4 8088/8086的存储器结构 21
2.2 8088/8086的数据寻址方式 24
2.2.1 立即数寻址方式 25
2.2.2 寄存器寻址方式 26
2.2.3 存储器寻址方式 26
2.3 数据传送类指令 29
2.3.1 通用数据传送指令 29
2.3.2 堆栈操作指令 31
2.3.3 标志操作指令 32
2.3.4 地址传送指令 33
2.4 算术运算类指令 33
2.4.1 加法和减法指令 33
2.4.2 符号扩展指令 35
2.4.3 乘法和除法指令 35
2.4.4 十进制调整指令 37
2.5 位操作类指令 37
2.5.1 逻辑运算指令 37
2.5.2 移位指令 38
2.5.3 循环移位指令 39
2.6 控制转移类指令 40
2.6.1 无条件转移指令 41
2.6.2 条件转移指令 42
2.6.3 循环指令 45
2.6.4 子程序指令 45
2.6.5 中断指令和系统功能调用 47
2.7 处理器控制类指令 50
习题 50
第3章 汇编语言程序设计 54
3.1 汇编语言的源程序格式 54
3.1.1 语句格式 54
3.1.2 源程序框架 56
3.2 常量、变量和属性 59
3.2.1 常量 59
3.2.2 变量 61
3.2.3 名字和标号的属性 62
3.3 顺序程序设计 64
3.4 分支程序设计 65
3.5 循环程序设计 68
3.5.1 计数控制循环 69
3.5.2 条件控制循环 70
3.5.3 串操作类指令 71
3.6 子程序设计 74
3.6.1 过程定义和子程序编写 75
3.6.2 用寄存器传递参数 77
3.6.3 用共享变量传递参数 80
3.6.4 用堆栈传递参数 82
3.6.5 子程序模块 84
3.6.6 子程序库 85
3.7 宏汇编 86
习题 90
第4章 微机总线 94
4.1 总线技术 94
4.1.1 总线类型 94
4.1.2 总线的数据传输 95
4.2 8088的引脚信号 98
4.2.1 8088的两种组态模式 99
4.2.2 地址/数据信号 100
4.2.3 读写控制信号 101
4.2.4 其他控制信号 102
4.3 8088的总线时序 103
4.3.1 写总线周期 103
4.3.2 读总线周期 105
4.4 8086和80286的引脚 106
4.5 微机系统总线 107
4.5.1 IBM PC总线 107
4.5.2 ISA总线 111
习题 112
第5章 主存储器 113
5.1 半导体存储器 113
5.1.1 半导体存储器的分类 113
5.1.2 半导体存储器芯片的结构 115
5.1.3 半导体存储器的主要技术指标 116
5.2 随机存取存储器 117
5.2.1 SRAM 117
5.2.2 DRAM 119
5.3 只读存储器 122
5.3.1 EPROM 122
5.3.2 EEPROM 125
5.3.3 Flash Memory 127
5.4 半导体存储器的连接 131
5.4.1 存储器芯片的地址译码 131
5.4.2 存储容量的扩充 135
习题 138
第6章 输入输出接口 140
6.1 I/O接口概述 140
6.1.1 I/O接口的典型结构 140
6.1.2 I/O端口的编址 142
6.1.3 输入输出指令 143
6.1.4 外设与主机的数据传送方式 146
6.2 无条件传送 146
6.3 查询传送 149
6.4 中断传送 152
6.4.1 中断传送的工作过程 153
6.4.2 中断优先权管理 155
6.5 DMA传送 156
习题 158
第7章 中断控制接口 159
7.1 8088中断系统 159
7.1.1 8088的中断类型 159
7.1.2 8088的中断响应过程 161
7.1.3 8088的中断向量表 162
7.2 内部中断服务程序 163
7.3 8259A中断控制器 164
7.3.1 8259A的内部结构和引脚 164
7.3.2 8259A的中断过程 166
7.3.3 8259A的工作方式 167
7.3.4 8259A的编程 169
7.4 8259A在IBM PC系列机上的应用 174
7.5 外部中断服务程序 175
7.6 驻留中断服务程序 178
习题 180
第8章 定时计数控制接口 182
8.1 8253/8254定时计数器 182
8.1.1 8253/8254的内部结构和引脚 182
8.1.2 8253/8254的工作方式 184
8.1.3 8253/8254的编程 187
8.2 8253/8254在IBM PC系列机上的应用 189
8.2.1 定时中断和定时刷新 189
8.2.2 扬声器控制 190
8.2.3 可编程硬件延时 191
8.3 扩充定时计数器的应用 193
习题 194
第9章 DMA控制接口 196
9.1 DMA控制器8237A 196
9.1.1 8237A的内部结构和引脚 196
9.1.2 8237A的工作时序 198
9.1.3 8237A的工作方式 199
9.1.4 8237A的寄存器 201
9.1.5 8237A的编程 204
9.2 8237A的应用 205
9.2.1 8237A在IBM PC系列机上的应用 205
9.2.2 DMA写传送 206
9.2.3 DMA设定子程序 207
习题 208
第10章 并行接口 210
10.1 并行接口电路8255A 210
10.1.1 8255A的内部结构和引脚 210
10.1.2 8255A的工作方式 211
10.1.3 8255A的编程 215
10.2 8255A的应用 217
10.2.1 8255A在IBM PC/XT机上的应用 217
10.2.2 用8255A方式0与打印机接口 217
10.2.3 用8255A方式1与打印机接口 218
10.2.4 双机并行通信接口 220
10.3 键盘及其接口 221
10.3.1 简易键盘的工作原理 221
10.3.2 PC键盘的工作原理 225
10.4 LED数码管及其接口 229
10.5 并行打印机接口 233
10.5.1 打印机接口信号 233
10.5.2 打印机适配器 234
10.5.3 打印机驱动程序 236
习题 239
第11章 串行通信接口 241
11.1 串行通信基础 241
11.2 串行接口标准EIA-232D 243
11.2.1 EIA-232D的引脚定义 243
11.2.2 EIA-232D的连接 244
11.2.3 EIA-232D的电气特性 245
11.3 通用异步接收发送器8250/16550 245
11.3.1 8250的内部结构 246
11.3.2 8250的引脚 247
11.3.3 8250的寄存器 249
11.4 异步通信适配器 251
11.4.1 异步通信适配器的接口电路 252
11.4.2 异步通信适配器的初始化编程 253
11.4.3 异步通信程序 254
11.4.4 16550的FIFO模式 255
习题 256
第12章 模拟接口 258
12.1 模拟输入输出系统 258
12.2 D/A转换器 259
12.2.1 D/A转换的基本原理 259
12.2.2 DAC0832芯片 260
12.2.3 DAC芯片与主机的连接 263
12.2.4 DAC芯片的应用 264
12.3 A/D转换器 265
12.3.1 A/D转换的基本原理 265
12.3.2 ADC0809芯片 267
12.3.3 ADC芯片与主机的连接 268
12.3.4 ADC芯片的应用 269
习题 271
第13章 32位微型计算机系统 272
13.1 32位微机组成结构 272
13.1.1 Intel 80x86系列微处理器 272
13.1.2 32位微机主板 277
13.2 32位指令系统 279
13.2.1 IA-32指令集结构 279
13.2.2 32位整数指令 282
13.2.3 浮点数据格式及指令 283
13.2.4 多媒体数据格式及指令 285
13.3 32位汇编语言 287
13.3.1 DOS平台 287
13.3.2 Windows平台 288
13.4 32位微机总线 291
13.4.1 Pentium引脚 291
13.4.2 PC总线的发展 294
13.4.3 PCI总线 295
13.4.4 USB总线 297
13.5 存储系统 301
13.5.1 存储系统的层次结构 301
13.5.2 高速缓冲存储器 302
13.5.3 虚拟存储管理 305
13.6 处理器性能提高技术 306
13.6.1 精简指令集计算机技术 306
13.6.2 指令级并行技术 309
13.6.3 线程级并行技术 312
习题 315
附录A 调试程序DEBUG的使用方法 317
附录B 汇编语言的开发方法 325
附录C 8088/8086指令系统 329
附录D 常用DOS功能调用(INT 21H) 332
附录E 常用ROM-BIOS功能调用 335
附录F 输入输出子程序库 338
参考文献 340