龙空技术网

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

刘帅嵌入式系统 30

前言:

此时同学们对“c语言右移”大体比较关切,咱们都想要分析一些“c语言右移”的相关知识。那么小编同时在网摘上搜集了一些关于“c语言右移””的相关文章,希望咱们能喜欢,你们一起来了解一下吧!

寄存器逻辑右移:<Rm>, LSR <Rs>

指令编码格式如下:

操作数生成方法:

指令的操作数<shftrt_operand>为寄存器Rm的数值逻辑右移一定的位数。移位的位数由Rs的低8位bit[7:0]决定。

当Rs[7:0] = 0时,操作数<shifter_operand>为寄存器Rm的值,循环器的进位值时CPSR的C条件标志。

当Rs[7:0] > 0 && Rs[7:0] < 32时,指令操作数<shiter_operand> 是寄存器 Rm的值逻辑右移Rs[7:0]位,循环器的进位值<Carry_out 位>是Rm最后被移出的位Rm[Rs[7:0]-1]。

当Rs[7:0] = 32 时,指令操作数<shifter_operand> 为0,循环器的进位值是Rm[31]。

Rs[7:0] > 32 时,指令的操作数<shiter_operand> 为0,循环器进位值为0。

指令操作数的语法格式和标题相同:<Rm>, LSR <Rs>

标签: #c语言右移 #寄存器a右移一位 #寄存器右移