<Rm>
指令编码格式如下:
指令的操作数<shifter_operand>即为寄存器Rm的数值。另外循环器进位值(即 Carry_Out 位)为CPSR的C条件标志。
伪代码如下:
shifter_operand = Rm
shifter_carry_out = C Flag
需要注意的是,当R15(PC指针)用作第一个源操作数Rn或者第二个操作数Rm时,操作数即为当前指令地址加常数8。造成上述的原因,是因为ARM指令集采用的是流水线的方式造成的。
<Rm>
指令编码格式如下:
指令的操作数<shifter_operand>即为寄存器Rm的数值。另外循环器进位值(即 Carry_Out 位)为CPSR的C条件标志。
伪代码如下:
shifter_operand = Rm
shifter_carry_out = C Flag
需要注意的是,当R15(PC指针)用作第一个源操作数Rn或者第二个操作数Rm时,操作数即为当前指令地址加常数8。造成上述的原因,是因为ARM指令集采用的是流水线的方式造成的。