如何在Xtensa LX7的寄存器中左移一个量



在Xtensa程序集中执行以下操作的正确方法是什么:

a4=(1<<a5(

其中a4和a5是寄存器,a5可以包含值0到3(将来可能是0到7,但现在不太担心。(

我相信这一定很简单,但似乎很棘手。

根据Xtensa ISA,您必须使用ssl指令(设置左移量(将移位量加载到内部移位量寄存器(SAR(中。然后,您必须使用sll(逻辑左移(指令,该指令占用两个寄存器,目标寄存器和包含要移位值的寄存器。与汇编程序中的表达式a4 = ( 1 << a5 )等效的是:

movi a4, 1
ssl a5
sll a4, a4

相关内容

  • 没有找到相关文章

最新更新