ARM 应用系统开发详解──基于 S3C4510B 的系统设计
1
第 3 章 ARM 微处理器的指令系统
本章介绍 ARM 指令集、Thumb 指令集,以及各类指令对应的寻址方式,通过对本章的阅读,希
望读者能了解 ARM 微处理器所支持的指令集及具体的使用方法。
本章的主要内容有:
- ARM 指令集、Thumb 指令集概述。
- ARM 指令集的分类与具体应用。
- Thumb 指令集简介及应用场合。
3.1 ARM 微处理器的指令集概述
3.1.1 ARM 微处理器的指令的分类与格式
ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果
都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。
ARM微处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、
加载/存储指令、协处理器指令和异常产生指令六大类,具体的指令及功能如表3-1所示(表中指令
为基本ARM指令,不包括派生的ARM指令)。
表 3-1 ARM 指令及功能描述
助记符 指令功能描述
ADC
带进位加法指令
ADD
加法指令
AND
逻辑与指令
B
跳转指令
BIC
位清零指令
BL
带返回的跳转指令
BLX
带返回和状态切换的跳转指令
BX
带状态切换的跳转指令
CDP
协处理器数据操作指令
CMN
比较反值指令
CMP
比较指令
EOR
异或指令
LDC
存储器到协处理器的数据传输指令
LDM
加载多个寄存器指令
LDR
存储器到寄存器的数据传输指令
MCR
从 ARM 寄存器到协处理器寄存器的数据传输指令
MLA
乘加运算指令
MOV
数据传送指令
MRC
从协处理器寄存器到 ARM 寄存器的数据传输指令
MRS
传送 CPSR 或 SPSR 的内容到通用寄存器指令
MSR
传送通用寄存器到 CPSR 或 SPSR 的指令
MUL
32 位乘法指令
MLA
32 位乘加指令