目录 1
第2版前言 1
第1版前言 1
第1章 微型计算机系统概述 1
1.1 微型计算机的发展和应用 1
1.1.1 微型计算机的发展 2
1.1.2 微型计算机的应用 4
1.2 微型计算机的系统组成 6
1.2.1 微型计算机的硬件系统 6
1.2.2 微型计算机的软件系统 8
1.3 IBM PC系列机系统 8
1.3.1 硬件基本组成 8
1.3.2 主板的构成 9
1.3.3 存储空间的分配 13
1.3.4 I/O空间的分配 14
1.4 计算机中的数据表示 15
1.4.1 计算机中的数 16
1.4.2 计算机中的码 20
习题 23
第2章 微处理器指令系统 25
2.1 微处理器的内部结构 25
2.1.1 微处理器的基本结构 25
2.1.2 8088/8086的功能结构 26
2.1.3 8088/8086的寄存器结构 28
2.1.4 8088/8086的存储器结构 31
5.4.1 EPROM1 33
2.2 8088/8086的寻址方式 33
2.2.1 立即数寻址方式 34
2.2.2 寄存器寻址方式 35
2.2.3 存储器寻址方式 35
2.3 数据传送类指令 38
2.3.1 通用数据传送指令 38
2.3.2 堆栈操作指令 40
2.3.4 地址传送指令 41
2.3.3 标志操作指令 41
2.4 算术运算类指令 42
2.4.1 加法和减法指令 42
2.4.2 符号扩展指令 44
2.4.3 乘法和除法指令 44
2.4.4 十进制调整指令 45
2.5 位操作类指令 46
2.5.1 逻辑运算指令 46
2.5.2 移位指令 47
2.5.3 循环移位指令 48
2.6 控制转移类指令 49
2.6.1 无条件转移指令 49
2.6.2 条件转移指令 50
2.6.3 循环指令 52
2.6.4 子程序指令 53
2.6.5 中断指令和系统功能调用 54
习题 57
2.7 处理器控制类指令 57
第3章 汇编语言程序设计 61
3.1 汇编语言的源程序格式 61
3.1.1 简化段定义格式 61
3.1.2 完整段定义格式 63
3.1.3 可执行程序的结构 65
3.2 常量、变量和属性 65
3.2.1 常量 66
3.2.2 变量 67
3.2.3 名字和标号的属性 69
3.3 顺序程序设计 71
3.4 分支程序设计 71
3.5 循环程序设计 74
3.5.1 计数控制循环 75
3.5.2 条件控制循环 76
3.5.3 串操作类指令 78
3.6.1 过程定义和子程序编写 81
3.6 子程序设计 81
3.6.2 用寄存器传递参数 84
3.6.3 用共享变量传递参数 85
3.6.4 用堆栈传递参数 87
3.6.5 子程序模块和子程序库 89
3.7 宏汇编 90
习题 94
第4章 微处理器的外部特性 99
4.1 8088的引脚信号和总线形成 99
4.1.1 8088的两种组态模式 100
4.1.2 最小组态下的引脚定义 100
4.1.3 最小组态下的总线形成 103
4.1.4 最大组态下的引脚定义 104
4.1.5 最大组态下的总线形成 105
4.2 8088的总线时序 106
4.2.1 最小组态下的总线时序 108
4.2.2 最大组态下的总线时序 110
4.3 8086微处理器 111
4.4 80286微处理器 112
4.5 微处理器技术简介 114
习题 117
第5章 存储器系统 119
5.1 存储器概述 119
5.1.1 存储器的分类和评价指标 120
5.1.2 存储系统的层次结构 120
5.2 半导体存储器 122
5.2.1 半导体存储器的分类 122
5.2.2 半导体存储器芯片的结构 124
5.2.3 半导体存储器的主要技术指标 125
5.3 随机存取存储器 126
5.3.1 静态RAM 126
5.3.2 动态RAM 128
5.4 只读存储器 132
5.4.2 EEPROM 135
5.4.3 闪速存储器 138
5.5 存储芯片与CPU的典型连接 139
5.5.1 存储芯片与CPU的连接 139
5.5.2 存储芯片与CPU的配合 144
5.6 动态RAM的连接和使用 145
5.7 存储器技术及其发展 147
习题 151
第6章 输入/输出及接口 153
6.1 I/O接口概述 153
6.1.1 I/O接口的主要功能 153
6.1.2 I/O接口的典型结构 154
6.1.3 I/O端口的编址 155
6.1.4 8086/8088的输入/输出指令 156
6.1.5 I/O地址的译码 157
6.1.6 PC系列机主板上的I/O译码 158
6.2 无条件传送方式及其接口 159
6.1.7 数据传送方式 159
6.3 查询传送方式及其接口 160
6.3.1 查询输入接口 161
6.3.2 查询输出接口 161
6.3.3 用查询方式对EEPROM进行编程 162
6.4 中断传送方式 163
6.4.1 中断传送与接口 163
6.4.2 中断工作过程 165
6.4.3 中断源识别和中断优先权管理 166
6.5 DMA传送方式 169
习题 171
第7章 总线及总线接口 173
7.1 总线概述 173
7.1.1 总线上的设备和总线的使用特点 173
7.1.2 按传输特点对总线分类 173
7.1.3 按使用范围对总线分类 175
7.1.4 按信号属性对总线分类 175
7.1.6 总线的主要技术指标 176
7.1.7 总线的标准化 176
7.1.5 总线操作、总线周期和总线时序 176
7.2 PC总线和ISA总线 177
7.2.1 PC总线 177
7.2.2 ISA总线 179
7.3 微机系统的内部总线和总线接口 182
7.4 微机系统的外部总线和总线接口 185
7.5 微机系统中的总线架构 187
习题 189
8.1.1 8088的中断类型 191
第8章 中断控制接口 191
8.1 8088中断系统 191
8.1.2 8088的中断响应过程 193
8.1.3 8088的中断向量表 194
8.2 内部中断服务程序 194
8.3 8259A中断控制器 196
8.3.1 8259A的内部结构和引脚 196
8.3.2 8259A的中断过程 198
8.3.3 8259A的工作方式 199
8.3.4 8259A的编程 201
8.4 8259A在IBM PC系列机上的应用 205
8.5 外部中断服务程序 207
8.6 驻留中断服务程序 209
习题 211
第9章 定时计数控制接口 215
9.1 8253/8254定时计数器 215
9.1.1 8253/8254的内部结构和引脚 215
9.1.2 8253/8254的工作方式 217
9.1.3 8253/8254的编程 220
9.2 8253/8254在IBM PC系列机上的应用 222
9.2.1 定时中断和定时刷新 222
9.2.2 扬声器控制 223
9.2.3 可编程硬件延时 224
9.3 扩充定时计数器的应用 225
习题 227
10.1.1 8237A的内部结构和引脚 229
第10章 DMA控制接口 229
10.1 DMA控制器8237A 229
10.1.2 8237A的工作时序 231
10.1.3 8237A的工作方式 232
10.1.4 8237A的寄存器 234
10.1.5 8237A的编程 237
10.2 8237A的应用 238
10.2.1 8237A在IBM PC系列机上的应用 238
10.2.2 DMA写传送 239
10.2.3 DMA设定子程序 240
习题 242
第11章 并行接口 245
11.1 并行接口电路8255A 245
11.1.1 8255A的内部结构和引脚 245
11.1.2 8255A的工作方式 246
11.1.3 8255A的编程 250
11.2.2 用8255A方式0与打印机接口 252
11.2.1 8255A在IBM PC/XT机上的应用 252
11.2 8255A的应用 252
11.2.3 用8255A方式1与打印机接口 253
11.2.4 双机并行通信接口 255
11.3 键盘及其接口 256
11.3.1 简易键盘的工作原理 256
11.3.2 PC机键盘的工作原理 260
11.4 LED数码管及其接口 264
11.5 并行打印机接口 268
11.5.1 打印机接口信号 268
11.5.2 打印机适配器 269
11.5.3 打印机驱动程序 271
习题 274
第12章 串行通信接口 277
12.1 串行通信基础 277
12.2 串行接口标准RS-232C 279
12.2.1 RS-232C的引脚定义 279
12.2.2 RS-232C的连接 280
12.2.3 RS-232C的电气特性 281
12.3 通用异步接收发送器8250/16550 281
12.3.1 8250的内部结构 282
12.3.2 8250的引脚 283
12.3.3 8250的寄存器 285
12.4 异步通信适配器 287
12.4.1 异步通信适配器的接口电路 288
12.4.2 异步通信适配器的初始化编程 289
12.4.3 异步通信程序 290
12.4.4 16550的FIFO模式 291
习题 292
第13章 模拟接口 295
13.1 模拟输入输出系统 295
13.2 D/A转换器 296
13.2.1 D/A转换的基本原理 296
13.2.2 DAC0832芯片 297
13.2.3 DAC芯片与主机的连接 300
13.2.4 DAC芯片的应用 301
13.3 A/D转换器 302
13.3.1 A/D转换的基本原理 302
13.3.2 ADC0809芯片 304
13.3.3 ADC芯片与主机的连接 305
13.3.4 ADC芯片的应用 306
习题 308
14.1.1 Intel 80x86系列微处理器的发展 309
14.1 32位微机组成结构 309
第14章 32位微型计算机系统 309
14.1.2 32位微机主板 313
14.2 32位指令系统 316
14.2.1 32位微处理器的工作方式 316
14.2.2 32位寄存器组 317
14.2.3 32位寻址方式 318
14.2.4 32位扩展指令 319
14.2.5 新增32位整数指令 319
14.2.6 浮点指令 320
14.2.7 多媒体指令 321
14.2.8 32位指令的程序设计 322
14.3 32位微处理器的引脚 324
14.3.1 数据线 325
14.3.2 地址线 325
14.3.3 总线周期控制线 325
14.4 虚拟存储管理 326
14.4.1 段式存储管理 327
14.4.2 页式存储管理 327
14.4.3 描述符 328
14.4.4 特权与保护 328
14.5 高速缓冲存储器Cache 329
14.5.1 高速缓存的工作原理 329
14.5.2 80486的片上高速缓存 331
14.6 精简指令集RISC技术 332
14.6.1 为什么需要RISC 332
14.6.2 RISC技术的主要特点 333
14.7 指令流水线技术 335
14.7.1 80486的指令流水线 335
14.7.2 Pentium的超标量指令流水线 336
14.7.3 Pentium的动态分支预测 336
14.8 动态执行技术 338
14.8.1 指令级并行ILP处理器 338
14.8.2 PentiumⅢ的动态执行结构 339
14.9.1 Pentium 4的NetBurst微结构 340
14.9 同时多线程技术 340
14.9.2 Pentium 4的超线程技术 341
习题 343
附录A 调试程序DEBUG的使用方法 345
附录B 汇编语言的开发方法 351
附录C 8088/8086指令系统 353
附录D 常用DOS功能调用(INT 21H) 357
附录E 常用ROM-BIOS功能调用 361
参考文献 365