4.《Rm》,LSL 《Rs》
ADD R0 , R1 , R2 , LSL R3 //R0=R1+(R2《R3)
算术右移:空出的高位用符号位填充
ROR循环右移:移出的低位用于空出的高位的填充
RRX:扩展右移一位,将Rm寄存器的内容右移1位,空出的高位用CPSR的C位填充,并将移出的位填充CPSR的C位,只有RRX,是不需要指定移位位数的。
CPSR
第二源操作:
1.立即数
2.寄存器
3.寄存器移位:
1.LSL #shift
2.LSL Rs空出的低位用0填充
3.LSR #shif
4.LSR Rs空出的高位用0填充
5.ASR #shift
6.ASR Rs:空出的高位用符号位填充
7.ROR #shift
8.ROR Rs
循环右移,将移出位填充空出的高位
9.RRX:扩展右移一位,将Rm寄存器的内容右移1位,空出的高位用原来CPSR的C位来填充,并将移出的位填充CPSR的C位,只有RRX,是不需要指定移位位数的。
0x04800000
找到8bit立即数,然后8bit先扩展为32bit,再将该32bit数循环右移2X#rot次,最终可以通过这种方式,得到#0x04800000
将0x12扩展为32bit的数,然后将它循环右移2*5=10