1 / 18
文档名称:

第3章 ARM微处理器的指令系统.pdf

格式:pdf   页数:18页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第3章 ARM微处理器的指令系统.pdf

上传人:管理资源吧 2011/9/7 文件大小:0 KB

下载得到文件列表

第3章 ARM微处理器的指令系统.pdf

文档介绍

文档介绍:ARM 应用系统开发详解──基于 S3C4510B 的系统设计 1
第 3 章 ARM 微处理器的指令系统
本章介绍 ARM 指令集、Thumb 指令集,以及各类指令对应的寻址方式,通过对本章的阅读,希
望读者能了解 ARM 微处理器所支持的指令集及具体的使用方法。
本章的主要内容有:
- ARM 指令集、Thumb 指令集概述。
- ARM 指令集的分类与具体应用。
- Thumb 指令集简介及应用场合。
ARM 微处理器的指令集概述
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 位乘加指令
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 2
MVN 数据取反传送指令
ORR 逻辑或指令
RSB 逆向减法指令
RSC 带借位的逆向减法指令
SBC 带借位减法指令
STC 协处理器寄存器写入存储器指令
STM 批量内存字写入指令
STR 寄存器到存储器的数据传输指令
SUB 减法指令
SWI 软件中断指令
SWP 交换指令
TEQ 相等测试指令
TST 位测试指令
指令的条件域
当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有
条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。
每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码
可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。例如,跳转指令B
可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转。
在16种条件标志码中,只有15种可以使用,如表3-2所示,第16种(1111)为系统保留,暂时不
能使用。
表 3-2 指令的条件码
条件码助记符后缀标志含义
0000 EQ Z 置位相等
0001 NE Z 清零不相等
0010 CS C 置位无符号数大于或等于
C 清零无符号数小于
0100 MI N 置位负数
0101 PL N 清零正数或零
0110 VS V 置位溢出
0111 VC V 清零未溢出
1000 HI C 置位 Z 清零无符号数大于
1001 LS C 清零 Z 置位无符号数小于或等于
1010 GE N 等于 V 带符号数大于或等于
1011 LT N 不等于 V 带符号数小于
1100 GT Z 清零且(N 等于 V) 带符号数大于
1101 LE Z 置位或(N 不等于 V) 带符号数小于或等于
1110 AL 忽略无条件执行
ARM 指令的寻址方式
所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。目前ARM指令系
统支持如下几种常见的寻址方式。
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 3
立即寻址
立即寻址也叫立即数寻址,这是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出
指令也就取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即寻址。例如以下
指令