ARM指令大全(简单介绍+助记符+条件码)
(2011-03-16 10:46:01)
标签:
杂谈 |
分类: ARM |
一
ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果
都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。
ARM微处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、
加载/存储指令、协处理器指令和异常产生指令六大类,具体的指令及功能如表3-1所示(表中指令
为基本ARM指令,不包括派生的ARM指令)。
助记符
ADC
ADD
AND
B
BIC
BL
BLX
BX
CDP
CMN
CMP
EOR
LDC
LDM
LDR
MCR
MLA
MOV
MRC
MRS
MSR
MUL
MLA
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)为系统保留,暂时不
能使用。
条件码
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110