第1章 微型计算机概述 1
1.1 微型计算机的发展概况 2
1.1.1 微处理器和微型计算机的发展 2
1.1.2 80x86微处理器的性能与特点 3
1.2 微型机的特点与主要技术指标 6
1.2.1 微型机的特点 6
1.2.2 微型机的主要性能指标 6
1.2.3 微型计算机的应用 7
习题 9
第2章 微型计算机基础 11
2.1 计算机中信息的表示和运算 12
2.1.1 进位计数制 12
2.1.2 进位计数制之间的数转换 13
2.1.3 定点数和浮点数 17
2.1.4 原码、反码和补码 20
2.1.5 BCD码 23
2.1.6 字符和汉字的编码 23
2.2 基本逻辑运算 25
2.2.1 “与”运算(AND) 25
2.2.2 “或”运算(OR) 25
2.2.3 “非”运算(NOT) 25
2.2.4 “异或”运算(XOR) 25
2.3 80x86微型计算机系统概述 26
2.3.1 微型计算机系统概述 26
2.3.2 8086/8088CPU功能结构 28
2.3.3 内部存储器概述 31
习题 32
第3章 8086微型计算机机器语言指令 35
3.1寻址方式 36
3.1.1 操作数的种类 36
3.1.2 8086/8088的寻址方式 36
3.2 指令系统 41
3.3 8086微型计算机的常用指令 43
3.3.1 数据传送指令 43
3.3.2 算术运算指令 48
3.3.3 逻辑运算和移位指令 55
3.3.4 处理机控制指令 57
习题 58
第4章 汇编语言程序 61
4.1.3 宏汇编语言 62
4.1.2 分类 62
4.1.1 定义 62
4.1 汇编语言 62
4.2 80x86汇编语言语句 63
4.2.1 语句的种类 63
4.2.2 语句的格式 63
4.3 汇编语言数据 64
4.3.1 常量 64
4.3.2 变量 65
4.3.3 标号 65
4.3.3 表达式 65
4.4 汇编语言伪指令 70
4.4.1 变量定义和数据预置伪指令 70
4.4.2 符号定义伪指令 72
4.4.3 段定义伪指令 73
4.4.4 程序开始与结束伪指令 76
4.4.5 对准伪指令 77
4.4.6 其他伪指令 78
4.5 汇编语言源程序的结构 79
4.6 上机操作过程 81
4.6.1 软件环境 81
4.6.2 源程序的汇编 82
4.6.3 装配连接目的程序 82
4.6.4 程序的执行与调试 83
习题 84
第5章 汇编语言程序设计 87
5.1 顺序结构程序设计 88
5.2 分支结构程序设计 89
5.2.1 分支结构程序设计概述 89
5.2.2 转换移令 91
5.2.3 分支结构程序设计 94
5.3 循环结构程序设计 101
5.3.1 循环结构程序设计概述 101
5.3.2 循环控制与串操作指令 102
5.3.3 循环程序设计 106
习题 113
第6章 子程序设计 115
6.1 子程序(过程)调用与返回指令 116
6.1.1 子程序调用指令GALL 116
6.1.2 子程序返回指令RET 117
6.2 子程序的设计方法 118
6.2.1 子程序的定义 118
6.2.3 寄存器的保存与恢复 119
6.3 子程序的参数传递 119
6.2.2 子程序的调用和返回 119
6.3.1 通过寄存器传递参数 120
6.3.2 用参数表传递参数 121
6.3.3 通过堆栈传递参数或参数地址 123
6.4 嵌套子程序 125
6.5 递归子程序 127
习题 128
第7章 高级汇编语言技术 129
7.1 宏汇编 130
7.1.1 宏的定义 130
7.1.2 宏调用和宏展开 130
7.1.3 宏定义和宏调用中的参数 132
7.1.4 宏定义中的标号和变量处理 133
7.1.5 取消宏定义伪指令PURGE 134
7.2.2 不定重复伪指令 135
7.2 重复汇编 135
7.2.1 定重复汇编伪指令 135
7.3 条件汇编 136
7.4 宏库的使用 138
7.4.1 宏库的建立 138
7.4.5 宏库的使用 139
7.5 结构与记录 140
7.5.1 结构 140
7.5.2 记录 143
习题 145
第8章 80x86 CPU 147
8.1 8086/8088 CPU 148
8.1.1 8086/8088引脚信号 148
8.1.2 8086/8088操作和时序 153
8.2.1 80486功能结构 157
8.2 80486CPU 157
8.2.2 80486引脚信号 160
8.2.3 80486的工作方式 164
8.3 Pentium CPU 167
8.3.1 Pentium CPU概述 167
8.3.2 Pentium微处理器的基本组成 167
8.4 80486指令系统 168
8.4.1 增加的寻址方式 168
8.4.2 80486的数据类型 168
8.4.3 80486指令系统简介 169
习题 170
第9章 半导体存储器 173
9.1.1 存储器的分类 174
9.1 概述 174
9.1.2 存储器的主要性能指标 176
9.2 主存储器及接口 177
9.2.1 主存储器的基本组成 177
9.2.2 半导体存储器的分类 178
9.2.3 存储器与CPU的接口 185
9.3 高速缓存系统 190
9.3.1 高速缓存系统的结构 190
9.3.2 高速缓存数据的一致性 191
9.4 PC内存的分配和使用 192
9.4.1 PC内存空间分配 192
9.4.2 PC内存的使用 195
习题 196
第10章 输入/输出及中断系统 199
10.1.2 I/O接口的硬件分类 200
10.1.1 I/O接口的概念 200
10.1 I/O接口概述 200
10.1.3 I/O接口的功能及结构 201
10.1.4 I/O接口的端口寻址 203
10.1.5 I/O控制方式 203
10.2 PC系列I/O端口布局 209
10.2.1 I/O端口寻址特点 209
10.2.2 I/O端口地址分配 210
10.3 中断原理 211
10.3.1 80x86中断的类型 211
10.3.2 中断向量与中断描述符表 213
10.3.3 中断响应和中断处理过程 215
10.3.4 中断优先级与嵌套 217
10.3.5 中断源的识别和判优 218
10.4 8259A中断控制器 219
10.4.1 8259A中断控制器的功能结构及外形 220
10.4.2 8259A的中断工作过程 221
10.4.3 8259A中断控制器的编程 222
10.5 中断应用 230
10.5.1 DOS系统功能调用 231
10.5.2 ROM BIOS中断调用 234
10.5.3 系统中断调用及应用实例 236
10.6 8237DMA控制器 239
10.6.1 DMA控制器的一般结构 239
10.6.2 DMA8237控制器 240
10.6.3 8237A的编程和使用 247
习题 249
第11章 总线 253
11.1.2 总线标准 254
11.1.1 总线 254
11.1 概述 254
11.1.3 信息在总线上的传送方式 256
11.1.4 总线仲裁 256
11.1.5 总线通信协议 258
11.1.6 总线的负载能力 259
11.2 系统总线和局部总线 259
11.2.1 ISA总线 259
11.2.2 EISA总线 262
11.2.3 VESA总线 262
11.2.4 PCI总线 263
11.3 外部通信总线 265
11.3.1 RS-232C串行通信总线 265
11.3.2 CENTRONIC打印机总线接口 268
11.3.3 通用串行总线USB(Universal Serial Bus) 269
11.3.4 硬盘驱动器接口电路 270
11.3.5 软盘驱动器接口电路 271
习题 271
第12章 可编程接口芯片及应用 273
12.1 并行接口芯片8255A及应用 274
12.1.1 8255A的结构与引脚 274
12.1.2 8255A的工作方式 276
12.1.3 8255的应用举例 281
12.2 定时/计数器接口芯片8253应用 284
12.2.1 8253的结构与引脚功能 284
12.2.2 8253的工作方式与初始化 286
12.2.3 计数器/计时器应用举例 291
12.3 串行接口芯片8251A及应用 300
12.3.1 串行通信概述 300
12.3.2 可编程通信接口8251A(USART) 305
习题 313
第13章 微机常规外设子系统 315
13.1 键盘 316
13.1.1 键盘的工作原理 316
13.1.2 键盘控制器 318
13.1.3 键盘中断 319
13.2 视频子系统 321
13.2.1 概述 321
13.2.2 视频显示原理 321
13.2.3 VGA显示卡 326
13.2.4 字符和图形程序设计 328
13.3 打印机 338
13.3.1 并行接口 338
13.4.1 软盘 340
13.3.2 打印字符的子程序 340
13.4 磁盘子系统 340
13.4.2 硬盘 345
13.4.3 CD-ROM光盘 348
13.4.4 文件操作程序设计 351
习题 357
附录A ASCII码表 359
附录B 8066/8088指令系统 360
附录C 中断向量地址表 364
附录D BIOS功能调用 365
附录E DOS功能调用 369
附录F 调试程序DEBUG 374
附录G 汇编错误信息 378
参考文献 384