前言
第1章 微型计算机系统概述1
1.1 微型计算机的发展1
1.1.1 通用微处理器1
1.1.2 专用微处理器2
1.1.3 摩尔定律3
1.2 微型计算机的系统组成3
1.2.1 冯·诺伊曼计算机结构4
1.2.2 微型计算机的硬件组成6
1.2.3 IBM PC系列机结构7
1.2.4 微型计算机的软件系统9
1.3 计算机中的数据表示11
1.3.1 数值的编码11
1.3.2 字符的编码12
习题14
第2章 微处理器指令系统16
2.1 微处理器的内部结构16
2.1.1 微处理器的基本结构16
2.1.2 8088/8086的功能结构17
2.1.3 8088/8086的寄存器结构19
2.1.4 8088/8086的存储器结构21
2.2 8088/8086的数据寻址方式24
2.2.1 立即数寻址方式25
2.2.2 寄存器寻址方式26
2.2.3 存储器寻址方式26
2.3 数据传送类指令29
2.3.1 通用数据传送指令29
2.3.2 堆栈操作指令31
2.3.3 标志操作指令32
2.3.4 地址传送指令33
2.4 算术运算类指令33
2.4.1 加法和减法指令33
2.4.2 符号扩展指令35
2.4.3 乘法和除法指令35
2.4.4 十进制调整指令37
2.5 位操作类指令37
2.5.1 逻辑运算指令37
2.5.2 移位指令38
2.5.3 循环移位指令39
2.6 控制转移类指令40
2.6.1 无条件转移指令41
2.6.2 条件转移指令42
2.6.3 循环指令45
2.6.4 子程序指令45
2.6.5 中断指令和系统功能调用47
2.7 处理器控制类指令50
习题50
第3章 汇编语言程序设计54
3.1 汇编语言的源程序格式54
3.1.1 语句格式54
3.1.2 源程序框架56
3.2 常量、变量和属性59
3.2.1 常量59
3.2.2 变量61
3.2.3 名字和标号的属性62
3.3 顺序程序设计64
3.4 分支程序设计65
3.5 循环程序设计68
3.5.1 计数控制循环69
3.5.2 条件控制循环70
3.5.3 串操作类指令71
3.6 子程序设计74
3.6.1 过程定义和子程序编写75
3.6.2 用寄存器传递参数77
3.6.3 用共享变量传递参数80
3.6.4 用堆栈传递参数82
3.6.5 子程序模块84
3.6.6 子程序库85
3.7 宏汇编86
习题90
第4章 微机总线94
4.1 总线技术94
4.1.1 总线类型94
4.1.2 总线的数据传输95
4.2 8088的引脚信号98
4.2.1 8088的两种组态模式99
4.2.2 地址/数据信号100
4.2.3 读写控制信号101
4.2.4 其他控制信号102
4.3 8088的总线时序103
4.3.1 写总线周期103
4.3.2 读总线周期105
4.4 8086和80286的引脚106
4.5 微机系统总线107
4.5.1 IBM PC总线107
4.5.2 ISA总线111
习题112
第5章 主存储器113
5.1 半导体存储器113
5.1.1 半导体存储器的分类113
5.1.2 半导体存储器芯片的结构115
5.1.3 半导体存储器的主要技术指标116
5.2 随机存取存储器117
5.2.1 SRAM117
5.2.2 DRAM119
5.3 只读存储器122
5.3.1 EPROM122
5.3.2 EEPROM125
5.3.3 Flash Memory127
5.4 半导体存储器的连接131
5.4.1 存储器芯片的地址译码131
5.4.2 存储容量的扩充135
习题138
第6章 输入输出接口140
6.1 I/O接口概述140
6.1.1 I/O接口的典型结构140
6.1.2 I/O端口的编址142
6.1.3 输入输出指令143
6.1.4 外设与主机的数据传送方式146
6.2 无条件传送146
6.3 查询传送149
6.4 中断传送152
6.4.1 中断传送的工作过程153
6.4.2 中断优先权管理155
6.5 DMA传送156
习题158
第7章 中断控制接口159
7.1 8088中断系统159
7.1.1 8088的中断类型159
7.1.2 8088的中断响应过程161
7.1.3 8088的中断向量表162
7.2 内部中断服务程序163
7.3 8259A中断控制器164
7.3.1 8259A的内部结构和引脚164
7.3.2 8259A的中断过程166
7.3.3 8259A的工作方式167
7.3.4 8259A的编程169
7.4 8259A在IBM PC系列机上的应用174
7.5 外部中断服务程序175
7.6 驻留中断服务程序178
习题180
第8章 定时计数控制接口182
8.1 8253/8254定时计数器182
8.1.1 8253/8254的内部结构和引脚182
8.1.2 8253/8254的工作方式184
8.1.3 8253/8254的编程187
8.2 8253/8254在IBM PC系列机上的应用189
8.2.1 定时中断和定时刷新189
8.2.2 扬声器控制190
8.2.3 可编程硬件延时191
8.3 扩充定时计数器的应用193
习题194
第9章 DMA控制接口196
9.1 DMA控制器8237A196
9.1.1 8237A的内部结构和引脚196
9.1.2 8237A的工作时序198
9.1.3 8237A的工作方式199
9.1.4 8237A的寄存器201
9.1.5 8237A的编程204
9.2 8237A的应用205
9.2.1 8237A在IBM PC系列机上的应用205
9.2.2 DMA写传送206
9.2.3 DMA设定子程序207
习题208
第10章 并行接口210
10.1 并行接口电路8255A210
10.1.1 8255A的内部结构和引脚210
10.1.2 8255A的工作方式211
10.1.3 8255A的编程215
10.2 8255A的应用217
10.2.1 8255A在IBM PC/XT机上的应用217
10.2.2 用8255A方式0与打印机接口217
10.2.3 用8255A方式1与打印机接口218
10.2.4 双机并行通信接口220
10.3 键盘及其接口221
10.3.1 简易键盘的工作原理221
10.3.2 PC键盘的工作原理225
10.4 LED数码管及其接口229
10.5 并