《汇编语言程序设计 基于ARM体系结构》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:文全刚,张平编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2010
  • ISBN:9787512401877
  • 页数:355 页
图书介绍:本书的内容分成三个部分:第一部分主要介绍汇编语言程序设计的基础知识和ARM系列微处理器,包括第1、2章。第二部分主要介绍基于ARM体系结构的指令系统,汇编程序设计,以及异常中断编程,包括第3、4、5章。第三部分主要是MDK集成开发环境的使用和ARM汇编语言程序实验,包括第6、7章。

第1章 基础知识 1

1.1 数制与数制转换 1

1.1.1 数制的基本概念 1

1.1.2 二进制数 2

1.1.3 十进制和二进制之间的转换 3

1.1.4 二进制和其他进制之间的转换 4

1.2 二进制数的基本运算 5

1.3 计算机中的编码 6

1.3.1 数字的编码 6

1.3.2 字符的编码 7

1.3.3 汉字的编码 8

1.3.4 统一代码 11

1.3.5 语音编码 11

1.3.6 差错控制编码 12

1.4 计算机中有符号数的表示 18

1.4.1 机器数与真值 18

1.4.2 原码、反码与补码 19

1.4.3 补码的加法运算 21

1.4.4 定点数与浮点数 23

1.5 基本逻辑运算 24

1.5.1 与运算 24

1.5.2 或运算 25

1.5.3 非运算 25

1.5.4 异或运算 25

习题一 26

第2章 ARM微处理器基础 27

2.1 嵌入式系统概述 27

2.1.1 嵌入式系统的基本概念 27

2.1.2 嵌入式系统的发展 29

2.1.3 嵌入式系统的组成结构 31

2.1.4 嵌入式处理器 36

2.1.5 典型嵌入式处理器介绍 38

2.2 ARM概述 39

2.2.1 计算机体系结构的分类 39

2.2.2 ARM技术的发展过程 40

2.3 ARM内核的特点 45

2.3.1 RISC技术 45

2.3.2 流水线技术 45

2.3.3 超标量技术 46

2.4 基于ARM核的微处理器 47

2.4.1 基于ARM核的硬件结构 47

2.4.2 ARM核的数据流模型 48

2.4.3 ARM处理器工作模式和工作状态 49

2.5 ARM寄存器 50

2.5.1 通用寄存器 50

2.5.2 状态寄存器 52

2.5.3 Thumb寄存器 55

2.6 ARM的存储系统简介 56

2.6.1 存储器的层次结构 56

2.6.2 数据类型与存储器格式 58

2.6.3 非对齐的存储器访问 59

习题二 60

第3章 ARM指令系统 61

3.1 指令基础 61

3.1.1 程序设计语言的层次结构 61

3.1.2 指令周期和时序 62

3.1.3 程序的执行过程 64

3.2 ARM汇编语言 65

3.2.1 指令和指令格式 65

3.2.2 指令的可选后缀 66

3.2.3 指令的条件执行 67

3.2.4 ARM指令分类 69

3.3 ARM指令的寻址方式 69

3.3.1 立即数寻址 70

3.3.2 寄存器寻址 70

3.3.3 寄存器间接寻址 70

3.3.4 寄存器移位寻址 71

3.3.5 基址变址寻址 71

3.3.6 多寄存器寻址 72

3.3.7 相对寻址 72

3.3.8 堆栈寻址 73

3.4 数据处理指令 73

3.4.1 数据传送指令 75

3.4.2 移位操作 75

3.4.3 算术指令 79

3.4.4 逻辑运算指令 83

3.4.5 比较指令 84

3.4.6 乘法指令 86

3.5 数据加载与存储指令 89

3.5.1 数据加载与存储指令概述 89

3.5.2 单寄存器加载与存储指令 92

3.5.3 多寄存器加载与存储指令 98

3.5.4 堆栈操作 102

3.5.5 交换指令 104

3.6 分支指令 106

3.6.1 分支指令B 106

3.6.2 带返回的分支指令BL 107

3.6.3 带状态切换的分支指令BX 108

3.6.4 带返回和状态切换的分支指令BLX 109

3.7 程序状态寄存器访问指令 110

3.8 协处理器指令 112

3.9 软件中断指令 116

3.10 ARM伪指令 118

3.11 Thumb指令集 121

3.11.1 概述 121

3.11.2 Thumb指令寄存器的使用 123

3.11.3 ARM-Thumb交互 124

3.11.4 数据处理指令 126

3.11.5 单寄存器加载和存储指令 128

3.11.6 多寄存器加载和存储指令 129

3.11.7 堆栈指令 130

3.11.8 软件中断指令 130

3.12 Thumb伪指令 131

习题三 132

第4章 ARM汇编语言程序设计 134

4.1 汇编语言程序格式 134

4.1.1 汇编语言的基本概念 134

4.1.2 汇编语言源程序的组成 135

4.1.3 汇编语言程序中常用的符号 138

4.1.4 汇编语言程序中的表达式和运算符 140

4.2 ARM汇编器的伪操作 143

4.2.1 符号定义伪操作 144

4.2.2 数据定义伪操作 146

4.2.3 汇编控制伪操作 150

4.2.4 信息报告伪操作 153

4.2.5 其他常用的伪操作 155

4.3 汇编语言程序的上机过程 161

4.3.1 汇编语言上机环境 161

4.3.2 编辑汇编语言源程序 162

4.3.3 编译链接源程序 164

4.3.4 调试汇编程序 165

4.4 汇编语言程序设计 166

4.4.1 程序设计步骤 166

4.4.2 简单程序设计 167

4.4.3 分支程序设计 168

4.4.4 循环程序设计 172

4.4.5 子程序设计 177

4.4.6 汇编程序举例 178

4.5 工作模式切换编程 181

4.5.1 处理器模式 181

4.5.2 处理器工作模式切换编程 182

4.6 ATPCS介绍 183

4.6.1 寄存器的使用规则 183

4.6.2 数据栈使用规则 184

4.6.3 参数传递规则 186

4.6.4 ARM和Thumb程序混合使用的ATPCS 186

4.7 ARM和Thumb混合编程 187

4.7.1 工作状态 187

4.7.2 工作状态切换编程 188

4.8 汇编语言和C语言交互编程 192

4.8.1 汇编程序访问C程序变量 192

4.8.2 汇编程序调用C程序 193

4.8.3 C程序内嵌汇编指令 194

4.8.4 C程序调用汇编程序 200

习题四 201

第5章 异常中断编程 204

5.1 ARM的异常和中断 204

5.1.1 异常和中断的基本概念 204

5.1.2 ARM的异常中断 205

5.1.3 向量表 206

5.1.4 异常的优先级别 208

5.2 ARM异常中断的处理过程 209

5.2.1 异常中断响应过程 209

5.2.2 异常中断的返回 211

5.3 复位处理程序 215

5.3.1 复位 215

5.3.2 复位处理编程 215

5.4 SWI异常中断处理程序 218

5.4.1 SWI异常中断处理程序的实现 218

5.4.2 SWI异常中断调用 221

5.5 FIQ和IRQ异常中断处理程序 227

5.5.1 IRQ/FIQ中断处理机制 227

5.5.2 IRQ/FIQ异常中断处理程序 229

5.5.3 IRQ异常中断处理程序举例 232

5.6 未定义指令异常中断 233

习题五 234

第6章 RealView MDK软件的使用 235

6.1 嵌入式系统开发基础 235

6.1.1 嵌入式系统开发流程 235

6.1.2 嵌入式软件开发 236

6.1.3 RealView MDK软件的简介 239

6.1.4 RealView MDK软件的安装 241

6.2 μVision集成开发环境介绍 245

6.2.1 工程工作区 247

6.2.2 工作区 250

6.2.3 输出窗口 251

6.2.4 菜单栏、工具栏和快捷键 252

6.2.5 软件开发流程 256

6.3 程序的编辑 257

6.3.1 工程项目创建 259

6.3.2 源文件的创建 261

6.3.3 工程项目管理 263

6.3.4 工程基本配置 263

6.4 程序的编译与链接 268

6.4.1 基本概念 268

6.4.2 链接器的基本功能 271

6.4.3 分散加载描述文件 275

6.4.4 编译链接配置 276

6.4.5 编译链接工程 279

6.5 程序的调试 280

6.5.1 调试模式 280

6.5.2 调试前的配置 280

6.5.3 调试器的使用 282

6.5.4 调试窗口和对话框 283

6.5.5 Flash编程工具 293

6.5.6 调试命令和变量 295

6.5.7 调试函数简介 300

6.5.8 调试脚本的使用 305

6.5.9 调试信息和去除方法 307

6.5.10 映像文件转换器fromELF 308

习题六 309

第7章 ARM汇编语言程序实验 310

7.1 ARM汇编的上机过程 310

7.2 ARM寻址方式 316

7.3 数据处理指令 321

7.4 数据加载与存储指令 324

7.5 ARM分支指令 330

7.6 ARM汇编程序设计一 334

7.7 ARM汇编程序设计二 339

7.8 工作模式的切换 343

7.9 ARM汇编和C语言混合编程 347

7.10 异常中断编程 353

参考文献 355