第一篇 汇编语言与程序设计 3
第1章 微型计算机系统接口技术概述 3
1.1 微型计算机的特点和发展 3
1.2 微型计算机的指标和分类 6
1.2.1 微型计算机的主要性能指标 6
1.2.2 微型计算机的分类 8
1.3 微处理器、微型计算机和微型计算机系统的基本组成 9
1.3.1 微处理器 9
1.3.2 微型计算机 11
1.3.3 微型计算机系统 12
1.4 计算机中数的表示和编码 13
1.4.1 不同进制数之间的转换 15
1.4.2 二进制数及十六进制数的算术运算和二进制数的逻辑运算 18
1.4.3 数据表示 20
1.4.4 非数值信息的表示 24
1.5 微机系统中的接口问题 26
习题1 27
第2章 微处理器结构 29
2.1 16位微处理器8086的编程结构 29
2.1.1 16位微处理器8086的内部结构 29
2.1.2 80x86CPU的寄存器结构 32
2.2 16位微处理器8086存储器组织结构与I/O组织 36
2.2.1 存储器简介 36
2.2.2 存储单元的地址和内容 37
2.2.3 堆栈 39
2.2.4 Intel 8086的I/O组织 39
2.3 Intel 8086的外特征 40
2.4 8086的总线操作 46
2.5 80286、80386、80486微处理器 49
2.5.1 80286微处理器 49
2.5.2 80386微处理器 51
2.5.3 80486微处理器 55
2.5.4 Pentium微处理器 57
习题2 58
第3章 寻址方式和指令系统 60
3.1 寻址方式 60
3.1.1 与数据有关的寻址方式 61
3.1.2 与地址有关的寻址方式 69
3.2 8086指令系统 72
3.2.1 数据传送类指令 72
3.2.2 算术运算类指令 78
3.2.3 逻辑运算指令 85
3.2.4 移位类指令 86
3.2.5 控制转移类指令 89
3.2.6 处理器控制类指令 94
3.2.7 字符串操作指令 95
3.3 80x86的扩展指令 98
3.3.1 80386的指令系统 98
3.3.2 80486新增加的指令 108
3.3.3 Pentium新增加的指令 110
习题3 111
第4章 8086/8088汇编语言程序设计 114
4.1 汇编语言语句格式 114
4.2 汇编语言伪指令 116
4.2.1 处理器选择伪指令 116
4.2.2 段定义伪指令 117
4.2.3 程序开始和结束伪指令 124
4.2.4 数据定义及存储器分配伪指令 124
4.2.5 表达式赋值伪指令EQU 128
4.2.6 地址计数器与对准伪操作 129
4.2.7 基数控制伪指令 130
4.3 汇编语言源程序的汇编与连接 131
4.3.1 建立ASM文件 131
4.3.2 用MASM程序产生OBJ文件 132
4.3 3 用LINK程序产生EXE文件 133
4.3.4 可执行程序的结构 133
4.4 汇编语言程序设计的基本方法 136
4.4.1 顺序程序设计 136
4.4.2 分支程序设计 138
4.4.3 循环程序设计 143
4.4.4 子程序设计 146
4.4.5 宏汇编 157
4.4.6 条件汇编 162
4.5 程序设计举例 163
习题4 174
第二篇 微机接口技术 179
第5章 半导体存储器和高速缓冲存储器 179
5.1 存储系统概述 179
5.1.1 半导体存储器的分类 180
5.1.2 存储器的主要技术指标 181
5.2 随机存储器 182
5.2.1 静态RAM 182
5.2.2 动态RAM 187
5.3 只读存储器 191
5.3.1 EPROM 191
53.2 EEPROM 195
5.4 存储器部件的组成与连接 197
5.4.1 16位微机的内存组织 197
5.4.2 32位微机的内存组织 198
5.4.3 半导体存储器与CPU的连接 199
5.5 微机系统中的高速缓冲存储器 205
5.5.1 Cache概述 205
5.5.2 Cache的组织方式 206
5.5.3 Cache的数据更新方法 208
习题5 209
第6章 中断技术 211
6.1 概述 211
6.1.1 中断的基本概念 211
6.1.2 中断处理的一般过程 212
6.1.3 中断优先级处理方式 212
6.2 80x86中断系统 214
6.2.1 外部中断 214
6.2.2 内部中断 215
6.2.3 中断向量表 215
6.2.4 80x86中断处理的优先级 217
6.3 中断控制器8259A 217
6.3.1 8259A功能、内部结构及引脚功能 218
6.3.2 8259A的工作方式 220
6.3.3 8259A的编程 223
6.3.4 8259A在80x86微机上的应用 227
习题6 232
第7章 定时/计数器8253/8254 234
7.1 概述 234
7.2 可编程定时/计数器8253-5/8254-2 234
7.2.1 外部特性与内部逻辑结构 235
7.2.2 工作方式及特点 237
7.2.3 编程命令 242
7.3 8253/8254的应用举例 244
7.3.1 8253/8254在PC系列机定时系统中的应用 244
7.3.2 扩展定时计数器的应用 251
习题7 253
第8章 DMA技术 254
8.1 DMA概述 254
8.1.1 DMA方式的提出 254
8.1.2 DMA控制器的功能和基本结构 254
8.1.3 DMA操作的工作过程 255
8.2 DMA控制器8237A 257
8.2.1 8237A的编程结构和引脚 257
8.2.2 8237A的工作周期和时序 260
8.2.3 8237A的工作方式和传送类型 262
8.2.4 8237A的内部寄存器及编程控制字 263
8.3 8237A在80x86系列微机上的应用 268
8.3.1 8237A在IBM PC/XT上的应用 268
8.3.2 DMA写传输 270
习题8 271
第9章 并行接口与串行接口 272
9.1 并行接口原理 272
9.1.1 并行接口的功能 273
9.1.2 并行接口的内部结构 273
9.1.3 并行接口的外部信号 273
9.2 可编程并行接口芯片8255A 273
9.2.1 8255A的内部结构及引脚功能 273
9.2.2 8255A控制字 276
9.2.3 8255A的工作方式 277
9.3 8255A应用举例 281
9.4 串行接口通信的基本概念 289
9.4.1 并行通信与串行通信 289
9.4.2 串行通信的基本方式 289
9.4.3 串行通信的传送速率 291
9.4.4 信号的传送 291
9.5 串行总线标准 293
9.5.1 RS-232C信号定义 293
9.5.2 RS-232C的信号电平及电平转换电路 294
9.5.3 RS-485串行总线标准 296
9.6 可编程串行接口芯片8251A 297
9.6.1 串行通信接口电路简介 297
9.6.2 8251A的内部结构和工作过程 299
9.6.3 8251A的控制字及初始化方法 303
习题9 311
第10章 总线技术 313
10.1 概述 313
10.1.1 总线的分类 313
10.1.2 总线的主要性能指标 313
10.1.3 总线标准(总线规范) 314
10.1.4 总线控制方法 314
10.1.5 总线的数据传输方法 315
10.1.6 总线体系结构 315
10.2 ISA工业标准总线 316
10.2.1 8位ISA(即XT)总线定义 319
10.2.2 16位ISA(即AT)总线定义 320
10.3 PCI局部总线 321
10.3.1 PCI总线原理 322
10.3.2 PCI总线的主要信号 324
10.4 外部总线 326
习题10 331
第11章 模拟接口 332
11.1 模拟接口基础 332
11.2 数模(D/A)转换接口 332
11.2.1 数模转换的工作原理 333
11.2.2 数模转换的主要技术指标 334
11.2.3 8位D/A转换器DAC0832的结构与工作方式 336
11.2.4 12位D/A转换器DAC1232结构及引脚 339
11.2.5 D/A转换器应用举例 340
11.3 模数转换 345
11.3.1 模数转换的工作原理 345
11.3.2 模数转换的主要技术指标 349
11.3.3 8位A/D转换器ADC0809的结构及引脚 349
11.3.4 12位A/D转换器AD574的结构及引脚 353
11.3.5 A/D转换器应用举例 355
习题11 359
附录1 DOS系统功能调用(INT21H) 361
附录2 BIOS系统功能调用 368
参考文献 373