ARM中为什么没有带进位的循环左移指令

[复制链接]
 楼主| arm2009wzm 发表于 2013-7-31 15:25 | 显示全部楼层 |阅读模式
如题:ARM只有一个LSL逻辑左移指令,却有LSR、ASR、ROR、RRX 共4个右移指令,为什么?????
这样,64位数右移比较方便,如果要64位数左移,就不方便了。
请教有什么好办法?

先谢谢了!
john_lee 发表于 2013-7-31 20:26 | 显示全部楼层
64位左移也用不着带进位的循环左移。
jlass 发表于 2013-8-2 10:20 | 显示全部楼层
左移为什么要带进位,加法才需要带进位吧
airwill 发表于 2013-8-2 15:07 | 显示全部楼层
呵呵, 楼主想得很深远哦
ARM 的编译器都支持 unsigned long long 的 64 位变量.
试试它的移位, 看看能编译成什么样?
 楼主| arm2009wzm 发表于 2013-8-13 16:06 | 显示全部楼层
我要用左移的办法自己做一个汇编的对数Log程序,以前在MSP430上用过。

现在在ARM上也已经解决了,我的办法是用左移和右移的办法结合使用:
前32位左移一位,后32位右移31位后组成前32位;然后后32位(右移31位前的数据)再左移1位,仍为后32位。

办法笨了点,见笑了!
也谢谢各位!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

29

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部