《8086/8088和ARM核汇编语言程序设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:李敬兆主编;张雷,谢晓东,丁刚,詹林副主编
  • 出 版 社:合肥:中国科学技术大学出版社
  • 出版年份:2006
  • ISBN:7312019803
  • 页数:299 页
图书介绍:本书以8086/8088系列16位微型计算机和基于ARM的32位嵌入式微处理器为背景,系统地介绍了这两类微处理器的汇编语言程序设计。全书共20章。该书由安徽理工大学教师编写,作为本校教材使用。

第1章 汇编语言基础知识 3

1.1 汇编语言概述 3

1.1.1 汇编语言基本概念 3

第一部分 8086/8088汇编语言程序设计 3

1.1.2 汇编语言的特点 4

1.2 进位计数制及其转换 5

1.2.1 数与数制 6

1.2.2 不同数制之间的转换 7

1.3 计算机中数与字符的表示方法 11

1.3.1 数值型数据的编码 11

1.3.2 非数值型数据的编码 17

小结 20

习题 21

第2章 IBM-PC系统结构 22

2.1 微型计算机发展概述 22

2.2.1 硬件 23

2.2 微型计算机系统 23

2.2.2 软件 25

2.3 8086/8088CPU的内部结构 25

2.3.1 8086/8088CPU功能结构 25

2.3.2 8086/8088CPU的寄存器组 27

2.4 8086/8088的存储器结构 31

2.4.1 存储单元的地址和内容 31

2.4.2 存储器的分段 31

2.4.3 物理地址的形成 32

习题 33

第3章 8086/8088寻址方式和指令系统 34

3.1 指令的基本格式 34

3.2 8086/8088寻址方式 34

3.2.1 与数据有关的寻址方式 35

3.2.2 与转移地址有关的寻址方式 40

3.3.1 数据传送指令 42

3.3 8086/8088的指令系统 42

3.3.2 算术运算指令 46

3.3.3 逻辑指令 51

3.3.4 串处理指令 54

3.3.5 控制转移指令 57

3.3.6 处理器控制指令 60

习题 61

第4章 8086/8088汇编语言(格式) 65

4.1 汇编语言和汇编程序的基本概念 65

4.1.1 汇编语言 65

4.1.2 汇编程序 65

4.2 汇编语言源程序书写格式 66

4.2.1 汇编语言源程序的分段结构 66

4.2.2 汇编语言源程序的语句类型 66

4.3 伪指令语句 66

4.3.1 数据定义及存储器分配伪指令 66

4.3.2 符号定义伪指令 67

4.3.3 段定义伪指令 69

4.3.4 过程定义伪指令 71

4.3.5 汇编结束伪指令END 71

4.4 8086/8088汇编语言程序格式 72

4.4.1 名字项 72

4.4.2 操作数项 73

4.4.3 表达式 76

4.5 汇编语言的上机过程 77

4.5.1 汇编语言的工作环境及上机步骤 77

4.5.2 汇编语言程序运行实例 77

习题 81

第5章 基本程序设计 84

5.1 程序设计方法概述 84

5.1.1 编写汇编语言程序的步骤 85

5.1.2 判断程序质量的标准 85

5.1.3 汇编语言程序的开发过程 85

5.1.4 完整的汇编语言程序框架 86

5.2 流程图 87

5.2.1 流程图的功能及意义 87

5.2.2 流程图的画法规定 88

5.3 结构化程序设计 88

5.4 顺序结构的程序设计 90

习题 92

第6章 输入/输出程序设计 93

6.1 输入/输出指令 93

6.1.1 I/O端口编址方式 93

6.1.2 输入/输出指令 94

6.1.3 I/O端口寻址方式 94

6.2 CPU与外设传送数据的控制方式 94

6.3 程序查询传送方式 97

6.4 中断传送方式 99

6.4.1 中断的概念 99

6.4.2 8086/8088中断系统 100

6.4.3 中断传送方式程序举例 106

习题 107

第7章 8086/8088循环程序设计 109

7.1 循环程序结构 109

7.2 循环程序设计 111

习题 115

第8章 8086/8088分支程序设计 118

8.1 分支程序的结构形式 118

8.2 分支结构程序设计 119

8.2.1 测试法分支程序设计 119

8.2.2 跳跃表法 120

8.2.3 举例 121

习题 126

第9章 子程序设计 129

9.1 子程序设计方法 129

9.1.1 子程序的定义 129

9.1.2 子程序调用与返回 130

9.1.3 寄存器内容的保护与恢复 132

9.2 子程序的参数传递 132

9.2.1 用寄存器传递参数 133

9.2.2 用存储单元传递参数 135

9.2.3 用堆栈传递参数 136

9.3 子程序嵌套与递归 138

9.4 子程序库 139

习题 142

第10章 数据运算程序设计 144

10.1 多精度的加减运算 144

10.1.1 二进制加减运算 144

10.1.2 压缩型BCD码加减运算 146

10.1.3 非压缩型BCD码(ASCII码)加减运算 147

10.2 乘除运算 149

10.2.1 一般整数二进制乘除运算 149

10.2.2 多字节整数十进制乘除运算 151

小结 154

习题 154

第11章 高级汇编语言技术 156

11.1 宏汇编 156

11.1.1 宏定义 156

11.1.2 宏调用和宏扩展 157

11.1.3 宏定义和宏调用中参数的使用 158

11.1.4 宏嵌套 162

11.2 重复汇编 163

11.2.1 使用REPT伪指令的重复汇编结构 163

11.2.2 使用IRP伪指令的重复汇编结构 164

11.2.3 使用IRPC伪指令的重复汇编结构 165

11.3 条件汇编 166

11.3.1 条件汇编的概念及条件汇编结构 166

11.3.2 条件汇编伪指令 166

习题 171

11.4.2 库的使用 171

11.4 库的使用 171

11.4.1 库的建立 171

第12章 BIOS和DOS中断调用 173

12.1 BIOS中断调用 173

12.1.1 显示输出管理(INT 10H) 174

12.1.2 键盘输入管理(INT 16H) 178

12.1.3 打印输出管理(INT 17H) 180

12.1.4 时间中断调用(INT 1AH) 180

12.2 DOS功能调用 182

12.2.1 常用DOS操作系统中断调用 183

12.2.2 常用INT 21H系统功能中断 184

习题 189

第13 汇编语言与C/C++的混合编程 191

13.1 C/C++语言参数调用协议 191

13.1.1 入口参数传递规则 191

13.1.2 返回参数传递规则 192

13.2.1 模块连接法 193

13.2 汇编语言与C/C++语言的连接 193

13.2.2 嵌入式汇编法 198

小结 200

习题 201

第14章 80286/386/486/Pentium 202

14.1 80x86 CPU特点及其寄存器组 202

14.1.1 80x86CPU特点 202

14.1.2 80x86寄存器组 204

14.2 80x86工作模式 206

14.3 80286、80386、80486和Pentium处理器的指令 207

14.3.1 数据传送类指令 207

14.3.2 算术运算类指令 209

14.3.3 位操作类指令 209

14.3.4 比较类指令 210

14.3.5 串操作类指令 210

14.3.6 逻辑运算类指令 211

14.3.7 堆栈操作类指令 212

14.3.8 条件设置和控制转移类指令 213

14.3.9 类型转换类指令 214

14.3.10 I/O类指令 214

习题 215

第二部分 基于ARM核的汇编语言程序设计 219

第15章 ARM CPU概述 219

15.1 ARM-Advancei RISC Machines 219

15.2 ARM微处理器的应用领域及特点 220

15.2.1 ARM微处理器的应用领域 220

15.2.2 ARM微处理器的特点 220

15.3 ARM微处理器系列 220

15.3.1 ARM7微处理器系列 221

15.3.2 ARM9微处理器系列 221

15.3.4 ARM10E微处理器系列 222

15.3.3 ARM9E微处理器系列 222

15.3.5 SecurCore微处理器系列 223

15.3.6 StrongARM微处理器系列 223

15.3.7 Xscale处理器 223

15.4 ARM微处理器结构 224

15.4.1 RISC体系结构 224

15.4.2 ARM微处理器的寄存器结构 224

15.5 ARM微处理器的应用选型 225

15.4.3 ARM微处理器的指令结构 225

小结 226

习题 226

第16章 ARM系统结构 227

16.1 ARM微处理器的工作状态 227

16.2 ARM微处理器的工作模式 228

16.3 ARM微处理器的寄存器组织 229

16.3.1 ARM状态下的寄存器组织 229

16.3.2 Thumb状态下的寄存器组织 231

16.3.3 程序状态寄存器 233

16.4 ARM异常处理 234

16.4.1 ARM中的异常类型 235

16.4.2 ARM对异常的响应 235

16.4.2 ARM从异常的返回 236

16.4.3 异常向量地址及优先级 236

16.5 ARM体系中的存储系统 236

16.5.1 ARM体系中的存储空间 236

16.5.2 ARM存储器格式 237

小结 237

习题 238

第17章 ARM/Thumb汇编语言 239

17.1 ARM指令的分类及格式 239

17.1.1 ARM指令的分类 239

17.1.2 ARM指令一般编码格式 239

17.1.3 ARM指令基本语法格式 240

17.2 ARM指令的寻址方式 242

17.3 ARM汇编语言的语句格式 244

17.3.1 在汇编语言程序中常用的符号 244

17.3.2 汇编语言程序中的表达式和运算符 245

小结 248

习题 248

第18章 ARM指令系统 249

18.1 概述 249

18.2 ARM指令的格式与条件码 250

18.2.1 ARM指令的格式与条件码 250

18.2.2 ARM指令的条件码 252

18.3 单寄存器存取指令 253

18.4 多寄存器存取指令 255

18.5 数据交换指令 256

18.6 数据处理指令 256

18.7 乘法指令与乘加指令 260

18.8 ARM分支指令 262

18.9 软件中断指令 263

18.10 程序状态寄存器访问指令 263

18.11 ARM伪指令 264

小结 266

习题 266

第19章 Thumb指令系统 267

19.1 概述 267

19.2 Thumb存储器访问指令 268

19.2.1 单寄存器加载/存储指LDR和STR 268

19.2.2 寄存器入栈及出栈指令PUSH和POP 270

19.2.3 多寄存器加载/存储指令LDMIA和STMIA 270

19.3 Thumb数据处理指令 271

19.3.1 Thumb数据处理指令——数据传送指令 271

19.3.2 Thumb数据处理指令——算术逻辑运算指令 272

19.4 Thumb分支指令 277

19.5 Thumb杂项指令SWI 278

19.6 Thumb伪指令 279

小结 280

习题 280

第20章 ARM汇编程序设计 281

20.1 ARM汇编器所支持的伪指令 281

20.1.1 符号定义(Symbol Definition)伪指令 281

20.1.2 数据定义(Data Definition)伪指令 283

20.1.3 汇编控制(Assembly Control)伪指令 285

20.1.4 其他常用的伪指令 287

20.2 汇编语言的程序结构 291

20.2.1 汇编语言的程序结构 291

20.2.2 汇编语言的子程序调用 292

20.2.3 汇编语言程序示例 293

20.2.4 汇编语言与C/C++的混合编程 297

小结 299

习题 299