本文主要是介绍刘帅嵌入式系统-ARM指令集概要,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ARM指令分类:
1、跳转指令;
2、数据处理指令;
3、程序状态寄存器传输指令;
4、Load/Store指令;
5、协处理器指令;
6、异常中断指令;
ARM指令的一般编码格式如下。
ARM指令字长固定为32bit,典型的ARM指令编码格式如下图所示:
--cond:指令执行的条件编码。
--opcode:指令操作符编码。
--S:决定指令的操作是否影响CPSR的值。
--Rd:目标寄存器编码。
--Rn:包含第一个操作数的寄存器编码。
--shifter_opreand:表示第二个操作数。
一条典型的ARM指令语法格式如下:
<opcode>{<cond>}{S} <Rd> <Rn> <shifter_operand>
参数说明如下:
<opcode>:是指令助记符,如ADD表示加法运算。
{<cond>}:表示指令执行的条件。
{S}:决定指令的操作是否影响CPSR的值。
<Rd>:表示目标寄存器。
<Rn>:表示包含第一个操作数的寄存器。
<shifter_operand>:表示第2个操作数。
ARM指令的条件码域
大部分的ARM指令都是可以又条件的执行,当条件满足时,执行该指令,不满足时,该指令被当作一条空指令NOP,这是处理器进行判断中断请求等操作,然后转到下一条指令。
条件码一共16个,条件码和助记符如下图所示。
这篇关于刘帅嵌入式系统-ARM指令集概要的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!