1

我注意到指令集有一个 LSL(逻辑左移),它执行 r << 1(将寄存器左移 1)。我希望能够左移任意数字。我需要循环执行此操作,还是有一条指令可以为我执行此操作?

我想只移动 1 位的原因是进位总是可以的,但在我的情况下,我会将 8 位无符号数字向左移动最多 8 位,以获得无符号 16 位数字......所以我觉得我应该没事吧?

谢谢,

z。

ps完全披露:我是一名学生,但这只是作业的一小部分。任务是在没有 MUL 的情况下实现乘法。我想我应该在一个循环中做多个添加......但我想做一些不同的事情。所以我用位移递归地实现它!这只是我解决问题的道路上的绊脚石之一。

4

0 回答 0