第1章 微型计算机系统概述 1
1.1 概述 1
1.2 微处理器 1
1.3 微型计算机及微型计算机系统 4
1.3.1 微型计算机 4
1.3.2 微型计算机系统 6
1.4 计算机中数的表示与编码 8
1.4.1 计算机中常用的数制及其转换 8
1.4.2 带符号数的表示 10
1.4.3 数的定点表示与浮点表示 13
1.4.4 计算机中常用的编码 14
习题 17
第2章 微型计算机系统的微处理器 18
2.1 8086/8088微处理器 18
2.1.1 8086/8088 CPU的编程结构 18
2.1.2 8086/8088 CPU的引脚信号和工作模式 23
2.1.3 寄存器结构 33
2.1.4 8086/8088 CPU系统的存储器组织 37
2.1.5 8086 CPU的I/O组织 42
2.1.6 8086/8088 CPU典型时序分析 42
2.2 ARM处理器 46
2.2.1 ARM处理器特点 46
2.2.2 ARM处理器工作状态 47
2.2.3 ARM处理器工作模式 47
2.2.4 ARM处理器直接支持的数据类型 48
2.2.5 ARM处理器的寄存器 48
2.2.6 ARM处理器的I/O组织 49
2.2.7 ARM7 TDMI处理器的功能结构 49
习题 51
第3章 指令系统 53
3.1 8086 CPU的寻址方式 53
3.1.1 立即寻址 53
3.1.2 寄存器寻址 53
3.1.3 直接寻址 54
3.1.4 寄存器间接寻址 54
3.1.5 变址寻址 54
3.1.6 基址加变址寻址 55
3.2 8086/8088 CPU指令系统 55
3.2.1 数据传送指令 56
3.2.2 算术运算指令 59
3.2.3 逻辑运算和移位指令 65
3.2.4 串操作指令 67
3.2.5 程序控制指令 70
3.2.6 标志操作和处理器控制指令 73
3.3 ARM处理器指令系统介绍 73
3.3.1 ARM处理器指令系统的特点 74
3.3.2 ARM处理器寻址方式的特点 75
3.3.3 ARM处理器指令简介 76
习题 79
第4章 汇编语言程序设计 81
4.1 汇编语言程序及其开发方法 81
4.1.1 汇编语言及汇编语言程序 81
4.1.2 汇编语言程序的开发方法 81
4.2 汇编语言源程序的结构 84
4.2.1 汇编语言的语句格式 85
4.2.2 8086/8088 CPU汇编语言源程序的结构 85
4.3 8086/8088 CPU汇编语言常用伪指令 87
4.3.1 符号定义伪指令 87
4.3.2 数据定义伪指令 88
4.3.3 过程定义伪指令 89
4.3.4 定位伪指令 89
4.4 常数、变量及标号 90
4.4.1 常数 90
4.4.2 变量 90
4.4.3 标号 90
4.5 表达式和运算符 91
4.5.1 表达式 91
4.5.2 8086/8088 CPU汇编运算符 91
4.6 ARM处理器汇编语言简介 93
4.7 基本结构程序设计 95
4.7.1 顺序结构 95
4.7.2 分支结构 97
4.7.3 循环结构 100
4.7.4 子程序结构 104
4.8 8086/8088 CPU汇编程序数据的输入与输出(DOS功能调用) 109
4.8.1 输入单个字符 109
4.8.2 输入字符串 110
4.8.3 显示单个字符 110
4.8.4 显示字符串 110
4.8.5 磁盘输入输出 111
4.9 高级汇编语言技术 112
4.9.1 宏汇编 112
4.9.2 条件汇编与重复汇编 114
4.9.3 多模块程序设计 115
习题 115
第5章 微型计算机系统总线 119
5.1 总线概述 119
5.1.1 不同层次的总线 119
5.1.2 系统总线的主要性能指标 120
5.1.3 系统总线的发展 121
5.1.4 单总线和多总线 122
5.1.5 总线结构的优缺点 125
5.2 8088 CPU最大工作模式下总线信号的形成 125
5.2.1 8088 CPU最大工作模式下总线信号的形成 126
5.2.2 PC总线 127
5.3 总线仲裁和握手技术 127
5.3.1 总线主设备和从设备 127
5.3.2 总线仲裁 128
5.3.3 总线握手 130
5.4 常用微型计算机系统总线介绍 131
5.4.1 ISA总线 132
5.4.2 PCI总线 135
5.4.3 USB 137
习题 140
第6章 半导体存储器 142
6.1 存储器概述 142
6.1.1 半导体存储器的分类 142
6.1.2 半导体存储器的结构 144
6.1.3 存储器读写时序 145
6.1.4 半导体存储器的主要性能指标 146
6.2 典型存储器芯片及其接口特性 147
6.2.1 SRAM 147
6.2.2 DRAM 149
6.2.3 ROM 152
6.2.4 NOR Flash和NAND Flash 154
6.3 存储器系统的组织 157
6.3.1 存储器结构确定 157
6.3.2 片外存储器系统设计 157
6.4 高速缓存技术 162
6.4.1 Cache的工作原理 163
6.4.2 Cache的分级体系结构 164
6.5 虚拟存储技术 164
习题 165
第7章 微型计算机和外部设备间的数据传输 167
7.1 概述 167
7.2 CPU和I/O之间的信号 168
7.2.1 CPU与I/O之间的接口信号 168
7.2.2 I/O端口及其寻址方式 169
7.3 CPU和外部设备之间的数据传送方式 169
7.3.1 无条件传送方式 170
7.3.2 查询传送方式 170
7.3.3 中断传送方式 174
7.3.4 DMA方式 174
习题 176
第8章 中断系统 177
8.1 中断的基本概念 177
8.1.1 什么是中断 177
8.1.2 中断源 177
8.1.3 开中断和关中断 179
8.1.4 中断优先级 179
8.1.5 中断向量表 182
8.1.6 中断过程 183
8.2 8086 CPU中断系统 184
8.2.1 8086 CPU的中断源 184
8.2.2 可屏蔽中断的中断周期 186
8.2.3 8086 CPU的中断向量表 187
8.2.4 8086 CPU的中断过程 189
8.3 可编程中断控制器8259A及其应用 190
8.3.1 中断控制器的基本功能 191
8.3.2 8259A的基本功能 191
8.3.3 8259A的基本结构 191
8.3.4 8259A的引脚 192
8.3.5 8259A的工作方式 193
8.3.6 8259A的编程 196
8.3.7 中断应用程序举例 202
8.4 ARM处理器中断系统简介 205
8.4.1 ARM处理器将中断作为一种异常 206
8.4.2 ARM处理器中断断点的保存 206
8.4.3 ARM处理器的多级中断系统 207
习题 207
第9章 微型计算机常用接口技术 211
9.1 分析和设计接口的基本方法 211
9.2 并行接口 212
9.2.1 概述 212
9.2.2 并行输入输出过程 213
9.2.3 可编程并行接口芯片8255及其应用 215
9.3 串行通信接口 232
9.3.1 串行通信的基本概念 232
9.3.2 串行通信协议 233
9.3.3 RS-232C接口标准 236
9.3.4 串行通信接口的任务和组成 239
9.3.5 可编程串行通信接口8251A及其应用 240
9.3.6 STR710F芯片内嵌的UART模块 246
9.3.7 串行通信的应用 253
9.4 定时器/计数器 254
9.4.1 概述 254
9.4.2 可编程定时器/计数器芯片8253及其应用 255
9.5 DMA控制器 265
9.5.1 概述 265
9.5.2 8237A DMA控制器 265
9.6 模/数和数/模转换器 278
9.6.1 概述 278
9.6.2 数/模转换器 279
9.6.3 模/数转换器 285
9.6.4 D/A和A/D应用系统设计 289
习题 292
参考文献 295