第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 微型计算机的应用 8
习题 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/8088 CPU功能结构 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 算术运算指令 47
3.3.3 逻辑运算和移位指令 54
3.3.4 处理器控制指令 56
习题 57
第4章 汇编语言程序 61
4.1 汇编语言 62
4.1.1 定义 62
4.1.2 分类 62
4.1.3 宏汇编语言 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.4 表达式 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 源程序的汇编 81
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 循环结构程序设计 100
5.3.1 循环结构程序设计概述 100
5.3.2 循环控制与串操作指令 102
5.3.3 循环程序设计 106
习题 112
第6章 子程序设计 115
6.1 子程序(过程)调用与返回指令 116
6.1.1 子程序调用指令CALL 116
6.1.2 子程序返回指令RET 117
6.2 子程序的设计方法 118
6.2.1 子程序的定义 118
6.2.2 子程序的调用和返回 119
6.2.3 寄存器的保存与恢复 119
6.3 子程序的参数传递 119
6.3.1 通过寄存器传递参数 119
6.3.2 用参数表传递参数 121
6.3.3 通过堆栈传递参数或参数地址 122
6.4 嵌套子程序 124
6.5 递归子程序 126
习题 127
第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 重复汇编 134
7.2.1 定重复汇编伪指令 134
7.2.2 不定重复伪指令 135
7.3 条件汇编 136
7.4 宏库的使用 138
7.4.1 宏库的建立 138
7.4.2 宏库的使用 138
7.5 结构与记录 139
7.5.1 结构 139
7.5.2 记录 142
习题 144
第8章 80x86 CPU 147
8.1 8086/8088 CPU 148
8.1.1 8086/8088引脚信号 148
8.1.2 8086/8088操作和时序 153
8.2 80486 CPU 157
8.2.1 80486功能结构 158
8.2.2 80486引脚信号 161
8.2.3 80486的工作方式 165
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的数据类型 169
8.4.3 80486指令系统简介 170
习题 171
第9章 半导体存储器 173
9.1 概述 174
9.1.1 存储器的分类 174
9.1.2 存储器的主要性能指标 176
9.2 主存储器及接口 176
9.2.1 主存储器的基本组成 176
9.2.2 半导体存储器的分类 178
9.2.3 存储器与CPU的接口 186
习题 191
第10章 输入/输出及中断系统 193
10.1 I/O接口概述 194
10.1.1 I/O接口的概念 194
10.1.2 I/O接口的硬件分类 194
10.1.3 I/O接口的功能及结构 195
10.1.4 I/O接口的端口寻址 196
10.1.5 I/O控制方式 197
10.2 PC系列I/O端口布局 202
10.2.1 I/O端口寻址特点 203
10.2.2 I/O端口地址分配 204
10.3 中断原理 205
10.3.1 80x86中断的类型 205
10.3.2 中断向量与中断描述符表 207
10.3.3 中断响应和中断处理过程 208
10.3.4 中断优先级与嵌套 210
10.3.5 中断源的识别和判优 211
10.4 8259A中断控制器 212
10.4.1 8259A中断控制器的功能结构及外形 213
10.4.2 8259A的中断工作过程 214
10.4.3 8259A中断控制器的编程 215
10.5 中断应用 223
10.5.1 DOS系统功能调用 224
10.5.2 ROM BIOS中断调用 227
10.5.3 系统中断调用及应用实例 229
习题 231
第11章 总线 233
11.1 概述 234
11.1.1 总线 234
11.1.2 总线标准 234
11.1.3 信息在总线上的传输方式 235
11.1.4 总线仲裁 236
11.1.5 总线通信协议 238
11.1.6 总线的负载能力 239
11.2 系统总线和局部总线 239
11.2.1 ISA总线 239
11.2.2 EISA总线 242
11.2.3 VESA总线 242
11.2.4 PCI总线 242
11.3 外部通信总线 245
11.3.1 RS-232C串行通信总线 245
11.3.2 RS-449与RS-423/422/485接口 247
11.3.3 通用串行总线USB(Universal SerialBus) 248
习题 249
第12章 可编程接口芯片及其应用 251
12.1 并行接口芯片8255A及其应用 252
12.1.1 8255A的结构与引脚 252
12.1.2 8255A的工作方式 254
12.1.3 8255A的应用举例 259
12.2 定时/计数器接口芯片8253的应用 261
12.2.1 8253的结构与引脚功能 262
12.2.2 8253的工作方式与初始化 264
12.2.3 定时器/计数器应用举例 269
12.3 串行接口芯片8251A及其应用 277
12.3.1 串行通信概述 277
12.3.2 可编程通信接口8251A(USART) 282
习题 290
第13章 微机常规外设子系统 293
13.1 键盘 294
13.1.1 键盘的工作原理 294
13.1.2 键盘控制器 296
13.1.3 键盘中断 297
13.2 视频子系统 299
13.2.1 概述 299
13.2.2 视频显示原理 299
13.2.3 VGA显示卡 303
13.2.4 字符和图形程序设计 306
13.3 打印机 315
13.3.1 并行接口 315
13.3.2 打印字符的子程序 318
13.4 磁盘子系统 319
13.4.1 软盘 319
13.4.2 硬盘 323
13.4.3 CD-ROM光盘 328
13.4.4 文件操作程序设计 331
习题 336
附录A ASCII码表 337
附录B 8066/8088指令系统 338
附录C 中断向量地址表 342
附录D BIOS功能调用 343
附录E DOS功能调用 347
附录F 调试程序DEBUG 352
附录G 汇编错误信息 356
参考文献 362