在Xtensa程序集中执行以下操作的正确方法是什么:
a4 =(1 << a5 )
其中a4和a5是寄存器,a5可以包含0到3的值(将来可能是0到7,但现在不要太担心了)。
我相信这一定很简单,但似乎相当棘手。
发布于 2021-12-19 07:39:32
根据Xtensa ISA,您必须使用ssl指令将移位量加载到内部移位量寄存器(SAR)中(设置移位左数量)。然后,您必须使用sll (shift逻辑左)指令,它需要两个寄存器,目标寄存器和包含要移动的值的寄存器。与汇编程序中的表达式a4 = ( 1 << a5 )等价的是:
movi a4, 1
ssl a5
sll a4, a4https://stackoverflow.com/questions/69852468
复制相似问题