第1章 微型计算机概述 1
1.1微型计算机的发展与应用 1
1.1.1计算机的发展简史 1
1.1.2计算机的特点 2
1.1.3计算机的应用 3
1.2微型计算机组成 4
1.2.1微型计算机的系统组成 4
1.2.2微型计算机结构 5
1.2.3个人微机结构 7
1.3计算机系统的层次结构 9
1.3.1计算机系统层次结构 9
1.3.2计算机软件的分类 10
1.3.3计算机的工作过程 11
1.4计算机的分类和性能指标 11
1.4.1计算机的分类 11
1.4.2计算机的性能指标 12
1.5本章小结 13
1.6习题 14
第2章 8086微处理器 15
2.1微处理器发展 15
2.1.1微处理器历史 15
2.1.2 Intel 80x86系列微处理器 17
2.2 8086 CPU的内部结构 21
2.2.1 8086/8088微处理器 21
2.2.2 8086/8088的内部结构 22
2.2.3存储器组织 26
2.3 8086/8088CPU的引脚功能及其工作模式 28
2.3.1 8086/8088的工作模式 28
2.3.2 8086/8088的引脚信号 28
2.4 8086 CPU的总线时序 31
2.4.1 8086CPU最小模式引脚功能 31
2.4.2最小模式系统组成 32
2.4.3最小模式下的总线时序 34
2.4.4 8086最大模式引脚功能 39
2.4.5最大模式系统组成 40
2.4.6最大模式下的总线时序 42
2.5 Intel系列微处理器的主要特性和内部结构 44
2.5.1 80286微处理器 45
2.5.2 80386微处理器 46
2.5.3 80486微处理器 51
2.5.4 Pentium系列微处理器 52
2.5.5多核和64位CPU 56
2.6本章小结 58
2.7习题 58
第3章 8086指令系统 60
3.1计算机指令系统的发展与性能 60
3.1.1指令系统的发展 60
3.1.2指令系统的性能要求 61
3.2 指令的格式 62
3.2.1指令操作码与地址码 62
3.2.2指令字长与扩展方法 65
3.3寻址方式 67
3.3.1指令寻址方式 67
3.3.2操作数寻址方式 68
3.4指令的分类与高级语言 72
3.4.1指令系统的分类 72
3.4.2指令系统与高级语言 74
3.5 8086的寻址方式和指令系统 75
3.5.1 8086与数据有关的寻址方式 76
3.5.2 8086与转移地址有关的寻址方式 79
3.6 8086的指令系统 82
3.6.1数据传送指令 82
3.6.2算术指令 87
3.6.3逻辑指令 96
3.6.4字符串操作指令 99
3.6.5控制转移指令 104
3.6.6标志处理和CPU控制类指令 107
3.7本章小结 108
3.8习题 109
第4章 汇编语言程序设计 113
4.1汇编语言与汇编程序 113
4.1.1机器语言与汇编语言 113
4.1.2汇编与连接 115
4.1.3汇编语言与高级语言 115
4.1.4汇编语言源程序的结构(Program Structure) 116
4.1.5汇编语言的语句格式(Statement Formats) 117
4.2伪指令及其应用 120
4.2.1段定义伪指令SEGMENT/ENDS 120
4.2.2偏移地址计数器$和定位伪指令ORG 122
4.2.3段寻址伪指令ASSUME 123
4.2.4过程(子程序)定义伪指令PROC/ENDP 123
4.2.5变量定义伪指令与存储器分配 124
4.2.6记录与结构定义伪指令(RECORD、STRUC/ENDS) 125
4.2.7符号定义伪指令(EQU、=、LABEL) 127
4.2.8程序模块定义伪指令(NAME/END、PUBLIC/EXTRN) 128
4.3汇编语言属性操作符 129
4.3.1分析操作符 129
4.3.2属性修改操作符(PTR、THIS、SHORT) 130
4.3.3其他属性操作符 131
4.4基本结构的程序设计 131
4.4.1顺序结构程序设计 131
4.4.2分支程序设计 135
4.4.3循环程序设计 137
4.4.4子程序设计 140
4.5宏指令 153
4.5.1宏、宏指令、宏定义、宏调用和宏展开 153
4.5.2重复汇编 161
4.5.3条件汇编 162
4.5.4宏库 164
4.5.5宏指令与子程序 166
4.6 32位汇编语言与C+++语言混合编程 166
4.6.1 16位和32位汇编程序的区别 166
4.6.2 Visual C+++调用汇编语言的常用方法 167
4.6.3 IA-32结构及编程基础 168
4.6.4程序说明伪指令 171
4.6.5段定义的简化 171
4.6.6内联汇编中使用C/C+++元素 176
4.6.7在Visual C+++工程中使用独立汇编 183
4.6.8混合编程例题 184
4.7本章小结 187
4.8习题 187
第5章 半导体存储器 191
5.1概述 191
5.1.1半导体存储器的分类 195
5.1.2半导体存储器的组成 198
5.1.3半导体存储器的主要性能指标 200
5.2随机存储器(RAM) 201
5.2.1静态随机存储器(SRAM) 201
5.2.2动态随机存储器(DRAM) 203
5.3只读存储器(ROM) 207
5.3.1掩膜ROM 207
5.3.2可编程ROM(PROM) 208
5.3.3可擦除、可编程ROM(EPROM) 209
5.3.4电可擦除可编程ROM(EEPROM) 210
5.3.5 Flash存储器 210
5.4存储器芯片的扩展及其与系统总线的连接 211
5.4.1存储器芯片与CPU的连接 211
5.4.2存储器芯片的扩展 212
5.4.3 38086的存储器组织 216
5.5高速缓冲存储器(Cache) 217
5.5.1问题的提出 217
5.5.2存储器访问的局部性 217
5.5.3 Cache-主存存储结构及其实现 218
5.5.4 Cache-主存存储结构的命中率 219
5.5.5两级Cache-主存存储结构 219
5.5.6 Cache的基本操作 219
5.5.7地址映象及其方式 220
5.5.8替换策略 221
5.5.9 PⅢ中采用的Cache技术 222
5.6虚拟存储器 223
5.6.1主存-辅存层次结构 223
5.6.2虚拟存储器 223
5.6.3虚地址和实地址的基本概念及其相互关系 224
5.6.4虚拟存储器和Cache的异同点 224
5.6.5虚拟存储器的几种实现方法 225
5.7本章小结 225
5.8习题 226
第6章 输入/输出技术 228
6.1 I/O接口概述 228
6.1.1 I/O接口的功能 229
6.1.2 CPU与I/O之间的接口信号 229
6.2 I/O端口及其寻址方式 230
6.2.1存储器映像的I/O寻址方式 230
6.2.2 I/O端口单独寻址方式 231
6.3 CPU与外设之间的数据传送方式 231
6.3.1无条件传送方式 232
6.3.2查询传送方式 232
6.3.3中断传送方式 234
6.3.4 DMA方式 235
6.4中断系统的基本概念 236
6.4.1中断与中断系统功能 236
6.4.2中断工作过程 237
6.4.3中断向量 238
6.4.4中断优先级与中断嵌套 239
6.5 8086CPU的中断系统 240
6.5.1中断源及中断分类 240
6.5.2中断向量表 241
6.5.3 CPU响应中断的流程和中断响应总线周期 243
6.6 8259A可编程中断控制器 244
6.6.1 8259A的功能 244
6.6.2 8259A的内部结构及外部引脚 244
6.6.3 8259A的工作方式 247
6.6.4 8259A的级联 251
6.6.5 8259A的编程 251
6.7 BIOS和DOS功能调用 261
6.7.1 BIOS功能调用 261
6.7.2 DOS功能调用 264
6.8 DMA控制器8237A 270
6.8.1 DMA系统的基本概念 270
6.8.2 DMA系统的功能 270
6.8.3 DMA控制器8237A 272
6.8.4 8237A的编程方式 277
6.8.5 8237A的应用 280
6.9本章小结 282
6.10习题 282
第7章 可编程接口芯片及应用 285
7.1可编程定时/计数器8253 285
7.1.1 8253的结构 286
7.1.2 8253的工作方式与初始化 287
7.1.3 8253在PC机上的应用 292
7.2串行接口芯片8251a及其应用 294
7.2.1串行通信概述 294
7.2.2串行接口标准 296
7.2.3可编程串行通信接口8251a(USART) 298
7.3并行接口芯片8255a及应用 304
7.3.1并行口的分类 305
7.3.2可编程并行口8255a的结构 305
7.3.3 8255a的命令字 306
7.3.4 8255a的工作方式 306
7.3.5 8255a的应用举例 308
7.4 D/A、A/D转换接口 312
7.4.1 D/A转换器 312
7.4.2 A/D转换器接口 316
7.5本章小结 319
7.6习题 319
第8章 键盘与显示电路设计 321
8.1键盘设计 321
8.1.1键盘的基本工作原理 321
8.1.2键的识别 322
8.1.3抖动和重键问题的解决 322
8.1.4键盘工作方式 323
8.1.5微机键盘 323
8.2七段码LED显示接口 326
8.2.1 LED显示器的结构 326
8.2.2 LED显示器的工作方式和显示程序 327
8.3液晶显示器及其显示接口 328
8.3.1液晶显示器的工作原理 328
8.3.2液晶显示器的驱动方式 330
8.4本章小结 331
8.5习题 331
第9章 总线技术 332
9.1概述 332
9.1.1总线及总线的分类 332
9.1.2总线标准 334
9.1.3总线的性能指标 334
9.2总线判决和握手技术 335
9.2.1总线操作与总线操作周期 335
9.2.2总线使用权的分配 336
9.2.3总线仲裁技术 337
9.2.4信息在总线上的传送方式 339
9.2.5总线通信协议 340
9.2.6总线的负载能力 341
9.3系统总线和局部总线 342
9.3.1 ISA总线 342
9.3.2 EISA总线 344
9.3.3 VESA总线 345
9.3.4 PCI总线 346
9.4外部通信总线 349
9.4.1通用串行总线UBS 349
9.4.2硬盘驱动器接口电路 353
9.4.3 SCSI 355
9.4.4 GP-IB/HP-IB/IEC-IB/IEEE-488总线 356
9.4.5串行I/O标准接口IEEE 1394 359
9.5本章小结 361
9.6习题 361
附录 362
附录一 8086指令系统一览表 362
附录二 8086宏汇编常用伪指令表 368
附录三 ASCⅡ码表 369
附录四 DOS系统功能调用(INT 21H) 372
附录五 BIOS系统功能调用 377
附录六 Debug命令表 380
参考文献 381