第1章 概述 1
1.1计算机的基本结构和工作原理 1
1.1.1计算机的基本结构 1
1.1.2计算机工作原理 2
1.2微处理器,微计算机,微处理器系统 3
1.2.1微处理器(Microprocessor简称up或MP) 3
1.2.2微计算机(Micmcomputer简称uC或MC) 3
1.2.3微处理器系统(Mircroprocessing System简称uPS或MRS) 3
1.3微处理器的产生和发展 4
1.3.1 8位微处理器 4
1.3.2 16位微处理器 4
1.3.3 32位微处理器 4
1.3.4 Pentium微处理器 5
1.3.5 Pentium Ⅱ微处理器 6
1.3.6 Pentium Ⅲ微处理器 6
1.3.7 Pentium 4微处理器 7
1.3.8新一代字长64位微处理器 7
1.4 IA-32结构微处理器 8
1.4.1 80x86指令集 8
1.4.2 MMX指令集 9
1.4.3 SSE/SSE2/SSE3扩展指令集 9
1.4.4 3DNOW!技术 9
1.4.5高速缓存(Cache)技术的发展——Cache分级设计 10
1.4.6流水线及动态执行技术 10
1.5微计算机系统的组成 11
1.5.1硬件系统 11
1.5.2软件系统 16
1.5.3微计算机系统结构的特殊性 16
1.6典型微处理器系统结构及工作原理 18
1.6.1系统连接 19
1.6.2典型微处理器的内部结构 19
1.6.3典型存储器的内部结构 21
1.6.4简单程序的编制和执行 23
1.7 IA-32结构的数据类型 26
1.7.1数据单位表示 26
1.7.2表示存储器容量的计量单位 27
1.7.3存储器编址与数据存储 28
1.7.4数的表示法 29
1.7.5字符的表示法 34
1.7.6基本数据类型 35
1.8 IBMPC/XT微型计算机系统实例 36
习题1 37
第2章IA-32结构微处理器及其体系结构 38
2.1微处理器的主要性能指标 38
2.1.1微处理器的字长 38
2.1.2指令数 38
2.1.3运算速度 38
2.1.4访存空间 39
2.1.5高速缓存 39
2.1.6虚拟存储 40
2.1.7多处理器系统 40
2.1.8工艺形式及其他 40
2.2 8086/8088微处理器 41
2.2.1 8086的内部结构 41
2.2.2 8086的寄存器结构 45
2.2.3 8086的引脚特性 48
2.2.4 8086和8088的比较 51
2.2.5 8086的时钟和总线周期概念 52
2.2.6 8086/8088的工作方式 54
2.2.7 8086/8088的总线操作时序 59
2.2.8存储器组织 63
2.2.9 I/O组织 65
2.3从8086到Pentium 65
2.3.1指令预取技术 65
2.3.2地址流水线和Cache技术 66
2.3.3存储器管理技术 68
2.3.4超标量流水线技术 68
2.4 80486微处理器 69
2.4.1 80486的主要性能 69
2.4.2 80486的内部结构 69
2.4.3片内高速缓冲存储器(Cache) 71
2.4.4 80486的寄存器结构 73
2.4.5 80486工作模式 82
2.4.6工作模式之间的转换 85
2.4.7 80486存储器组织 85
2.5 Pentium微处理器的结构特点 88
2.5.1超标量体系结构(Supers Calar Architecture) 88
2.5.2独立的指令Cache和数据Cache 89
2.5.3新设计的浮点单元 90
2.5.4分支预测 90
2.5.5 Pentium微型计算机系统的体系结构 90
2.6其他先进微处理器 91
2.6.1 Pentium Pro微处理器 91
2.6.2 Pentium Ⅱ微处理器 97
2.6.3 Pentium Ⅲ微处理器 99
2.6.4 Pentium 4微处理器 102
习题2 105
第3章 80x86指令系统 107
3.1指令的基本格式 107
3.2寻址方式 108
3.3指令执行时间 114
3.4 8086/8088指令系统 116
3.4.1数据传送(Data Transfer)类指令 116
3.4.2算术运算(Arithmatic)类指令 123
3.4.3逻辑运算与移位(Logic and Shift)类指令 136
3.4.4串操作(String Manipulation)指令 140
3.4.5控制转移(Control Jump)指令 144
3.4.6处理器控制(Processor Control)指令 152
3.5中断类指令及PC DOS系统功能调用 153
3.5.1中断及中断返回指令 153
3.5.2 8086的专用中断 155
3.5.3 PC DOS的系统功能调用与基本I/O子程序调用 157
3.5.4 BIOS中断调用 161
3.5.5返回DOS的方法及使用的中断调用 162
3.6 80286扩充的指令 164
3.6.1对8086/8088某些指令功能的扩充 164
3.6.2通用扩充指令 164
3.6.3保护模式下的新增指令 165
3.7 80386扩充的指令 166
3.7.1对80286工作范围扩大的指令 166
3.7.2实地址模式下的扩充指令 166
3.7.3保护模式下的特权指令 169
3.8 80486扩充的指令 170
3.8.1新增指令 170
3.8.2管理Cache的有关命令 170
3.9 Pentium CPU扩充的指令 171
习题3 171
第4章 汇编语言程序设计 177
4.1语言和汇编程序 177
4.1.1汇编语言(Assembly Language) 177
4.1.2汇编程序(Assembler) 177
4.2 MASM宏汇编语言程序的规范 178
4.2.1一个简单的汇编语言程序 178
4.2.2分段结构 179
4.2.3语句的构成与规范 179
4.3伪指令及其应用 185
4.3.1数据定义及存储器分配伪指令 185
4.3.2符号定义伪指令EQU和= 186
4.3.3标号定义伪指令LABEL 187
4.3.4段定义伪指令SEGMENT/ENDS 187
4.3.5段寻址伪指令ASSUME 189
4.3.6过程定义伪指令PROC/ENDP 189
4.3.7程序计数器$和定位伪指令ORG 190
4.4结构与记录 190
4.4.1结构 190
4.4.2记录 193
4.5宏指令及其应用 195
4.5.1宏指令的定义 195
4.5.2宏指令的使用——宏调用 195
4.5.3宏指令应用举例 196
4.5.4取消宏指令的伪指令PURGE 197
4.5.5定义局部标号伪指令LOCAL 197
4.6指定处理器及简化段定义伪指令 198
4.6.1指定处理器伪指令 198
4.6.2简化段定义伪指令 199
4.7程序设计的基本方法 202
4.7.1汇编语言程序的设计步骤 202
4.7.2模块化程序设计 206
4.8程序的基本结构及基本程序设计 208
4.8.1程序的基本结构 208
4.8.2顺序结构与简单程序设计 208
4.8.3条件结构与分支程序设计 209
4.8.4循环结构与循环程序设计 212
4.8.5子程序结构与子程序设计 215
4.9实用程序设计举例 222
4.9.1代码转换程序 223
4.9.2用逻辑尺控制对数组的处理 224
4.9.3表处理程序 225
4.9.4声音和动画程序 228
习题4 233
第5章 存储器 235
5.1分级存储器系统结构 235
5.2半导体存储器的分类及特点 236
5.2.1半导体存储器的分类 236
5.2.2半导体存储器的性能指标 237
5.2.3半导体存储器的特点 238
5.3随机存取存储器RAM 239
5.3.1静态存储器SRAM 240
5.3.2动态存储器DRAM 242
5.4只读存储器ROM 243
5.4.1固定掩膜编程ROM 243
5.4.2可编程PROM 244
5.4.3可擦除可编程EPROM 244
5.5新型存储器 246
5.5.1快擦写Flash存储器 246
5.5.2多端口读写存储器 246
5.5.3内存条 247
5.6主存储器系统设计 249
5.6.1 存储器芯片的选择 249
5.6.2计算机系统中存储器的地址分配 250
5.6.3存储器芯片与CPU的连接 250
5.6.4存储器的寻址方法 251
5.6.5存储器芯片的扩展 253
5.6.6小结 258
5.7高速缓冲存储器与虚拟存储器 259
5.7.1高档微机系统中的高速缓存技术 259
5.7.2虚拟存储器技术 261
5.7.3高速缓存器与虚拟存储器的比较 263
习题5 263
第6章 输入/输出技术 264
6.1微机和外设间的输入/输出接口 264
6.1.1为什么需要接口电路 264
6.1.2接口电路中的信息 264
6.1.3接口电路的组成 265
6.1.4 I/O端口的编址方式 266
6.1.5 80x86系列微机I/O端口地址分配与地址译码 266
6.2输入/输出的控制方式 270
6.2.1程序控制方式 270
6.2.2中断控制方式 276
6.2.3直接存储器存取(DMA)控制方式 277
6.3 DMA控制器8237A及其应用 278
6.3.1 8237A的内部结构及其与外部的连接 278
6.3.2 8237A的引脚特性 281
6.3.3 8237A的内部寄存器 282
6.3.4 8237A的初始化编程 287
6.3.5 8237A应用举例 288
6.4微计算机功能扩展及总线标准 290
6.4.1微计算机功能扩展 290
6.4.2总线标准 290
6.4.3 ISA总线 291
6.4.4 PCI局部总线 293
6.4.5 USB总线 295
习题6 296
第7章 微计算机的中断系统 297
7.1中断控制方式的优点 297
7.2 8086/8088的中断机构 298
7.2.1中断源 298
7.2.2中断过程 299
7.2.3中断向量表的设置方法 299
7.3外部中断 302
7.3.1 NMI中断 302
7.3.2 INTR中断 302
7.4中断的优先权管理 302
7.4.1软件查询方式 303
7.4.2菊花链法 304
7.4.3专用芯片管理方式 305
7.5可编程中断控制器8259A 305
7.5.1 8259A的引脚特性 305
7.5.2 8259A的内部结构及工作原理 306
7.5.3 8259A的工作方式 307
7.5.4 8259A的级联 309
7.5.5 8259A的初始化命令字和操作命令字 310
7.5.6 8259A的应用举例 316
7.6 IBM PC/XT微计算机的中断系统 322
7.6.1可屏蔽中断INTR 322
7.6.2非屏蔽中断NMI 324
7.7 386/486微计算机的中断系统 324
7.7.1 80386/80486 CPU的中断机构 324
7.7.2 386/486微机的硬中断控制系统 327
习题7 328
第8章 可编程通用接口芯片 330
8.1可编程接口芯片 330
8.1.1可编程接口芯片的组成与功能 330
8.1.2接口芯片的分类 332
8.2并行I/O接口芯片8255A 333
8.2.1 8255A的基本性能 334
8.2.2 8255A的内部结构 334
8.2.3 8255A的引脚特性和外部连接 335
8.2.4 8255A的控制字 337
8.2.5 8255A的工作方式 339
8.2.6 8255A用于A/D和D/A的接口 344
8.2.7 8255A应用举例 346
8.3串行通信接口 350
8.3.1串行接口及串行通信协议 350
8.3.2串行通信的物理标准 354
8.3.3可编程串行异步通信接口8250 356
8.3.4 8250的编程 364
8.3.5 8250应用举例 369
8.4可编程计数器/定时器8253/8254 371
8.4.1 8253的基本功能和用途 371
8.4.2 8253内部结构与工作原理 372
8.4.3 8253引脚特性及外部连接 374
8.4.4 8253的控制字和编程 374
8.4.5 8253的工作方式 375
8.4.6 8253的应用举例 382
8.4.7 8254与8253的比较 389
习题8 390
附录1 8086/8088指令系统一览表 393
附录2 MASM伪指令一览表 401
附录3中断向量地址一览表 403
附录4 DOS功能调用(INT 21H) 405
附录5 BIOS功能调用 409
附录6 IBM PC ASCII码字符表 413
附录7 MASM宏汇编程序出错信息 414
附录8调试程序DEBUG的主要命令 421
参考文献 427