语法:
<Rm>, LSR #<shift_imm>
参数:
Rm 寄存器
shift_imm 左移使用的立即数,该值范围:[0,31]
移位操作在ARM指令集中不作为单独的命令使用,它在指令格式中常作为一部分出现。
功能:
将 寄存器的数值 逻辑右移 shift_imm 位;
移位操作后,空出位补0,移除的低位丢弃;
示例:
;//将5存储到R0寄存器
MOV R0, #5
;//然后将R0逻辑左移2位后传送到R1寄存器中
MOV R1, R0, LSR #2
分析:
5的二进制数为 0101,逻辑左移2位之后为 0000 0001, 也就是十进制 1。
技巧:
每逻辑右移1位相当于原数值进行一次除2的操作。
5逻辑右移2位,即: