ARM----- 移位操作(LSL、ASL、LSR、ASR、ROR、RRX)
来源:互联网 发布:golang mobile 编辑:程序博客网 时间:2024/04/27 02:23
前言
移位操作在ARM指令集中不作为单独的命令使用,它在指令格式中是一个字段。
(1)、LSL —- 逻辑左移(Logical Shift Left)与 ASL —- 算术左移 (Arithmetic Shift Left)
逻辑左移与算术左移的操作是一样的,都是将操作数向左移位,低位补零,移除的高位进行丢弃。
MOV R0, #5MOV R1, R0, LSL #2
上述命令,就是将5存储到R0寄存器上(R0 = 5), 然后将R0逻辑左移2位后传送到R1寄存器中。
十进制5的二进制数值是0101,进行逻辑左移2位就是0001_0100, 也就是十进制中的20。其实每逻辑左移1位就相当于原数值进行乘2操作,5逻辑左移2位其实就是5 x 2^2 = 20。下方是该操作的原理图
(2)、LSR —- 逻辑右移(Logical Shift Right)
逻辑右移与逻辑左移是相对的,逻辑右移其实就是往右移位,左边补零
(3)、ASR —- 算术右移(Arithmetic Shift Right)
(4)、ROR —- 循环右移(Rotate Right)
阅读全文
0 0
- ARM----- 移位操作(LSL、ASL、LSR、ASR、ROR、RRX)
- ARM指令集 mov指令,ldr=伪指令,地址访问指令ldr,str,位运算指令and,orr,eor,bic,逻辑位移指令lsl,lsr
- ARM指令集中的移位操作
- ARM指令集的移位操作
- cheng@ARM结构与编程之day3-MOV LSL
- Google Speech Recognition(ASR)
- 移位操作
- 移位操作
- 移位操作
- 移位操作
- 移位操作
- 移位操作
- 移位操作
- 移位操作
- 移位操作
- 移位操作
- 移位操作
- <<移位操作
- php define与const的区别
- 常见数据结构应用场景
- NIo、Bio、aio、 的原理及区别与应用场景
- 代理属性为何要用 weak 修饰?
- mysql jdbc 中文乱码解决方案
- ARM----- 移位操作(LSL、ASL、LSR、ASR、ROR、RRX)
- mysql5.5.47官方版本 同步数据到 percona 5.6.36-82-0的问题总结
- 获取本月的第一天和最后一天
- 源码解读----之-----KMeans
- 坐标系之间的旋转平移变换与对应变换矩阵的关系
- 桥接模式
- 安卓统一推送联盟 10 月 16 日正式成立
- SVN Update Error: Please execute the 'Cleanup' command
- 谷歌AI写的机器学习代码,完爆程序员