第1章 基础知识 1
1.1 微型计算机概述 1
1.1.1 微型计算机的特点 1
1.1.2 微型计算机系统的层次 1
1.2 计算机语言 3
1.2.1 机器语言 3
1.2.2 汇编语言 3
1.2.3 高级语言 3
1.2.4 汇编语言示例和特点 3
1.3 数据表示 4
1.3.1 数值数据 4
1.3.2 字符数据 7
1.4 习题 9
第2章 8086微处理器 10
2.1 Intel 8086微处理器 10
2.1.1 Intel 8086 CPU的内部结构 10
2.1.2 Intel 8086内部寄存器 12
2.2 存储器物理地址的形成 14
2.2.1 存储器结构 14
2.2.2 物理地址的形成 15
2.2.3 存储器单元的地址和内容 17
2.3 习题 18
第3章 8086指令系统 19
3.1 8086的寻址方式 19
3.1.1 数据的寻址方式 19
3.1.2 程序转移地址的寻址方式 24
3.1.3 对端口的寻址方式 26
3.2 8086的指令系统 26
3.2.1 数据传送类指令 26
3.2.2 算术运算类指令 31
3.2.3 位操作类指令 38
3.2.4 串操作类指令 42
3.2.5 控制转移类指令 45
3.2.6 处理机控制类指令 54
3.3 习题 55
第4章 MASM汇编语言知识 58
4.1 MASM汇编语言格式 58
4.1.1 指令语句格式 58
4.1.2 伪指令语句格式 58
4.2 汇编语句表达式 59
4.2.1 常量、变量和表达式 59
4.2.2 标号 62
4.2.3 表达式中的运算符 62
4.3 伪指令 67
4.3.1 数据定义伪指令 68
4.3.2 符号定义伪指令 69
4.3.3 段定义相关伪指令 69
4.3.4 子程序(过程)定义伪指令 73
4.3.5 其他伪指令 73
4.3.6 程序正常结束方式 75
4.3.7 MASM汇编语言源程序结构 76
4.4 MASM汇编语言程序的上机过程 78
4.4.1 MASM汇编程序的有关概念 78
4.4.2 MASM汇编语言程序的上机过程 79
4.5 DOS功能调用和BIOS功能调用 84
4.5.1 常用的DOS功能调用 85
4.5.2 DOS功能调用 87
4.5.3 BIOS功能调用 94
4.6 习题 101
第5章 汇编语言程序设计 104
5.1 程序设计概述 104
5.1.1 汇编语言程序设计的一般步骤 105
5.1.2 流程图 106
5.2 顺序程序设计 106
5.3 分支程序设计 111
5.3.1 用条件转移指令实现程序分支 112
5.3.2 用跳转表实现多路分支 115
5.4 循环程序设计 119
5.4.1 循环程序的结构 119
5.4.2 循环控制的方法 120
5.4.3 单重循环程序设计 120
5.4.4 多重循环程序设计 126
5.5 子程序设计 130
5.5.1 子程序的概念 131
5.5.2 子程序的定义 131
5.5.3 子程序的设计方法 131
5.5.4 子程序应用举例 133
5.5.5 子程序的嵌套与递归调用 138
5.6 模块化程序设计 140
5.7 习题 142
第6章 高级汇编语言程序设计 148
6.1 高级汇编技术 148
6.1.1 结构和联合 148
6.1.2 记录 150
6.1.3 宏 152
6.1.4 重复汇编 164
6.1.5 条件汇编 166
6.2 MASM汇编语言与高级语言的连接 168
6.2.1 PASCAL语言程序与汇编语言程序的连接 168
6.2.2 C语言程序与汇编语言程序的连接 169
6.3 80x86的寻址方式和扩充的指令 171
6.3.1 80x86数据的寻址方式 171
6.3.2 80x86程序转移地址的寻址方式 172
6.3.3 80x86扩充的指令 172
6.3.4 80x86扩充的伪指令 177
6.3.5 保护方式专用指令 179
6.4 80x86汇编语言编程 181
6.4.1 实地址方式汇编语言程序设计 181
6.4.2 保护方式的进入和退出 186
6.4.3 保护方式汇编语言程序设计 187
6.5 习题 193
第7章 嵌入式系统概述 195
7.1 嵌入式系统的概念 195
7.1.1 嵌入式系统的定义 195
7.1.2 嵌入式系统的特点 195
7.1.3 嵌入式系统的组成 196
7.2 ARM体系结构简介 196
7.2.1 ARM处理器系列 197
7.2.2 ARM处理器的工作基础 198
7.3 ARM开发环境 202
7.3.1 ARM的开发流程 202
7.3.2 开发环境 202
7.3.3 简单实例 204
7.4 习题 210
第8章 ARM汇编语言程序设计 211
8.1 ARM处理器的寻址方式 211
8.2 ARM处理器汇编语言指令 212
8.2.1 ARM指令概述 213
8.2.2 Thumb指令概述 224
8.3 ARM汇编语言伪指令 224
8.3.1 符号定义伪指令 224
8.3.2 数据定义伪指令 225
8.3.3 汇编控制伪指令 227
8.3.4 其他常用的伪指令 228
8.4 ARM汇编语言语句格式 228
8.4.1 ARM汇编语言中的符号 228
8.4.2 ARM汇编语句中的表达式 230
8.5 ARM汇编语言程序设计 230
8.5.1 汇编语言的程序格式 230
8.5.2 ARM指令的汇编程序设计 231
8.6 习题 238
第9章 微型机接口 239
9.1 微型机接口的基本知识 239
9.2 I/O设备数据传送方式 240
9.2.1 微型机I/O端口的布局 240
9.2.2 I/O端口地址的译码 241
9.2.3 CPU与外设之间的信息传送方式 241
9.3 中断系统 242
9.3.1 中断系统概述 242
9.3.2 8086/8088的中断系统 244
9.3.3 可编程中断控制器8259A 247
9.4 DMA 255
9.4.1 DMA传送方式 255
9.4.2 DMA控制器8237A 256
9.5 习题 263
第10章 可编程接口芯片 264
10.1 8255并行接口 264
10.1.1 并行接口的概念 264
10.1.2 Intel 8255A可编程并行接口 264
10.1.3 Intel 8255A的控制字 266
10.1.4 Intel 8255A的工作方式 267
10.1.5 Intel 8255A编程 269
10.2 8251串行接口 272
10.2.1 串行接口的概念 272
10.2.2 Intel 8251A可编程串行接口 272
10.2.3 Intel 8251A编程 275
10.3 可编程定时/计数器芯片 278
10.3.1 定时/计数器的概念 279
10.3.2 Intel 8253可编程定时/计数器 279
10.3.3 Intel 8253控制字和工作方式 282
10.3.4 Intel 8253编程 286
10.4 习题 287
第11章 嵌入式系统接口电路 288
11.1 PXA27x处理器 288
11.1.1 PXA270处理器组成 288
11.1.2 XScale内核 290
11.2 PXA270处理器接口电路 290
11.2.1 GPI 291
11.2.2 存储器接口 292
11.2.3 UART 294
11.2.4 中断控制器 295
11.2.5 LCD控制器 297
11.2.6 以太网接口 299
11.2.7 JTAG接口 302
11.2.8 其他接口 303
11.3 习题 305
附录 306
附录A DEBUG的使用 306
附录B 汇编程序出错信息 311
参考文献 314