刘帅嵌入式系统-数据处理指令操作数寻址方式之寄存器寻址

<Rm>

指令编码格式如下:

指令的操作数<shifter_operand>即为寄存器Rm的数值。另外循环器进位值(即 Carry_Out 位)为CPSR的C条件标志。

伪代码如下:
shifter_operand = Rm

shifter_carry_out = C Flag

需要注意的是,当R15(PC指针)用作第一个源操作数Rn或者第二个操作数Rm时,操作数即为当前指令地址加常数8。造成上述的原因,是因为ARM指令集采用的是流水线的方式造成的。

猜你喜欢

转载自blog.csdn.net/shuai532209720/article/details/88323915