第一部分 8086/8088汇编语言程序设计 3
第1章 汇编语言基础知识 3
1.1汇编语言概述 3
汇编语言基本概念 3
汇编语言的特点 4
1.2进位计数制及其转换 5
数与数制 6
不同数制之间的转换 7
1.3计算机中数与字符的表示方法 11
数值型数据的编码 11
小结 20
习题 21
第2章 IBM-PC系统结构 22
2.1微型计算机发展概述 22
2.2微型计算机系统 23
硬件 23
软件 25
2.3 8086/8088CPU的内部结构 25
8086/8088CPU功能结构 25
8086/8088CPU的寄存器组 27
2.4 8086/8088的存储器结构 30
存储单元的地址和内容 30
存储器的分段 31
物理地址的形成 32
小结 33
习题 33
第3章 8086/8088寻址方式和指令系统 34
3.1指令的基本格式 34
3.2 8086/8088的寻址方式 34
与数据有关的寻址方式 35
与转移地址有关的寻址方式 40
3.3 8086/8088的指令系统 42
数据传送指令 43
算术运算指令 47
逻辑指令 52
串处理指令 55
控制转移指令 58
处理器控制指令 61
小结 61
习题 61
第4章 8086/8088汇编语言(格式) 65
4.1汇编语言和汇编程序的基本概念 65
汇编语言 65
汇编程序 65
4.2汇编语言源程序书写格式 66
汇编语言源程序的分段结构 66
汇编语言源程序的语句类型 66
4.3伪指令语句 66
数据定义及存储器分配伪指令 66
符号定义伪指令 68
段定义伪指令 69
过程定义伪指令 71
汇编结束伪指令END 72
4.4 8086/8088汇编语言程序格式 72
名字项 72
操作数项 73
表达式 76
4.5汇编语言的上机过程 77
汇编语言的工作环境及上机步骤 77
汇编语言程序运行实例 77
小结 80
习题 81
第5章 基本程序设计 85
5.1程序设计方法概述 85
编写汇编语言程序的步骤 86
判断程序质量的标准 86
汇编语言程序的开发过程 86
完整的汇编语言程序框架 87
5.2流程图 88
流程图的功能及意义 88
流程图的画法规定 89
5.3结构化程序设计 89
5.4顺序结构的程序设计 91
小结 93
习题 93
第6章 输入/输出程序设计 95
6.1输入/输出指令 95
I/O端口编址方式 95
输入/输出指令 96
I/O端口寻址方式 96
6.2 CPU与外设传送数据的控制方式 97
6.3程序查询传送方式 99
6.4中断传送方式 101
中断的概念 101
8088/8086中断系统 102
中断传送方式程序举例 108
小结 110
习题 110
第7章 8086/8088循环程序设计 111
7.1循环程序结构 111
7.2循环程序设计 113
单循环程序设计 113
多重循环程序设计 116
小结 118
习题 118
第8章 8086/8088分支程序设计 121
8.1分支程序的结构形式 121
8.2分支结构程序设计 122
测试法分支程序设计 122
跳跃表法 123
举例 125
小结 130
习题 130
第9章 子程序设计 133
9.1子程序设计方法 133
子程序的定义 133
子程序调用与返回 135
寄存器内容的保护与恢复 136
9.2子程序的参数传递 137
用寄存器传递参数 137
用存储单元传递参数 139
用堆栈传递参数 141
9.3子程序嵌套与递归 142
9.4子程序库 144
小结 147
习题 147
第10章 数据运算程序设计 149
10.1多精度的加减运算 149
二进制加减运算 149
压缩型BCD码加减运算 151
非压缩型BCD码(ASCII码)加减运算 152
10.2乘除运算 154
一般整数二进制乘除运算 154
多字节整数十进制乘除运算 156
小结 159
习题 159
第11章 高级汇编语言技术 161
11.1宏汇编 161
宏定义 161
宏调用和宏扩展 162
宏定义和宏调用中参数的使用 163
宏嵌套 167
11.2重复汇编 168
使用REPT伪指令的重复汇编结构 168
使用IRP伪指令的重复汇编结构 169
使用IRPC伪指令的重复汇编结构 170
11.3条件汇编 171
条件汇编的概念及条件汇编结构 171
条件汇编伪指令 171
11.4库的使用 176
库的建立 176
库的使用 176
小结 176
习题 177
第12章 BIOS和DOS中断调用 179
12.1 BIOS中断调用 179
显示输出管理(INT 10H) 180
键盘输入管理(INT 16H) 184
打印输出管理(INT 17H) 186
时间中断调用(INT 1AH) 186
12.2 DOS功能调用 188
常用DOS操作系统中断调用 189
常用INT 21H系统功能中断 190
小结 195
习题 196
第13章 汇编语言与C/C++的混合编程 197
13.1 C/C++语言参数调用协议 197
入口参数传递规则 197
返回参数传递规则 198
13.2汇编语言与C/C++语言的连接 199
模块连接法 199
嵌入式汇编法 204
小结 206
习题 207
第14章 80286/386/486/PENTIUM汇编语言简介 208
14.1 80x86 CPU特点及其寄存器组 208
80x86CPU特点 208
80x86寄存器组 210
14.2 80x86的寻址方式 211
14.3 80x86 工作模式 212
14.4 80286、 80386、 80486和Pentium处理器的指令 214
数据传送类指令 214
算术运算类指令 216
位操作类指令 216
比较类指令 217
串操作类指令 217
逻辑运算类指令 218
堆栈操作类指令 219
条件设置和控制转移类指令 220
类型转换类指令 221
I/O类指令 221
小结 222
习题 222
第二部分 基于ARM核的汇编语言程序设计 225
第15章 ARM CPU概述 225
15.1 ARM—Advanced RISC Machines 225
15.2 ARM微处理器的应用领域及特点 226
ARM微处理器的应用领域 226
ARM微处理器的特点 226
15.3 ARM微处理器系列 226
ARM7微处理器系列 227
ARM9微处理器系列 227
ARM9E微处理器系列 228
ARM 10E微处理器系列 228
SecurCore微处理器系列 229
StrongARM微处理器系列 229
Xscale处理器 229
15.4 ARM微处理器结构 230
RISC体系结构 230
ARM微处理器的寄存器结构 230
ARM微处理器的指令结构 231
15.5 ARM微处理器的应用选型 231
小结 232
习题 232
第16章 ARM系统结构 233
16.1 ARM微处理器的工作状态 233
16.2 ARM微处理器的工作模式 234
16.3 ARM微处理器的寄存器组织 235
ARM状态下的寄存器组织 235
Thumb状态下的寄存器组织 237
程序状态寄存器 239
16.4 ARM异常处理 240
ARM中的异常类型 241
ARM对异常的响应 241
ARM从异常的返回 242
异常向量地址及优先级 242
16.5 ARM体系中的存储系统 242
ARM体系中的存储空间 242
ARM存储器格式 243
小结 243
习题 244
第17章 ARM/Thumb汇编语言 245
17.1 ARM指令的分类及格式 245
ARM指令的分类 245
ARM指令一般编码格式 245
ARM指令基本语法格式 246
17.2 ARM指令的寻址方式 248
17.3 ARM汇编语言的语句格式 250
在汇编语言程序中常用的符号 250
汇编语言程序中的表达式和运算符 251
小结 254
习题 254
第18章 ARM指令系统 255
18.1概述 255
18.2 ARM指令的格式与条件码 256
ARM指令的格式与条件码 256
ARM指令的条件码 258
18.3单寄存器存取指令 259
18.4多寄存器存取指令 261
18.5数据交换指令 262
18.6数据处理指令 262
18.7乘法指令与乘加指令 266
18.8 ARM分支指令 268
18.9软件中断指令 269
18.10程序状态寄存器访问指令 269
18.11 ARM伪指令 270
小结 272
习题 272
第19章 Thumb指令系统 273
19.1概述 273
19.2 Thumb存储器访问指令 274
单寄存器加载/存储指LDR和STR 274
寄存器入栈及出栈指令PUSH和POP 276
多寄存器加载/存储指令LDMIA和STMIA 276
19.3 Thumb数据处理指令 277
Thumb数据处理指令——数据传送指令 277
Thumb数据处理指令——算术逻辑运算指令 278
19.4 Thumb分支指令 283
19.5 Thumb杂项指令SWI 284
19.6 Thumb伪指令 284
小结 285
习题 286
第20章 ARM汇编程序设计 287
20.1 ARM汇编器所支持的伪指令 287
符号定义(Symbol Definition)伪指令 287
数据定义(Data Definition)伪指令 289
汇编控制(Assembly Control)伪指令 291
其他常用的伪指令 293
20.2汇编语言的程序结构 297
汇编语言的程序结构 297
汇编语言的子程序调用 298
汇编语言程序示例 299
汇编语言与C/C++的混合编程 303
小结 305
习题 305