来自ARM汇编指令'MULS'的常量错误

时间:2014-02-07 01:32:39

标签: assembly arm

我正在尝试执行

MULS r1, r1, #4
当我使用像#4这样的常量值作为第三个操作数时,

并得到以下错误。

  

错误:A1647E:错误的寄存器名称符号,预期的整数寄存器

1 个答案:

答案 0 :(得分:3)

mul需要3个寄存器作为操作数,因此不允许使用立即数。在这种情况下,您可以使用向左移动2位的mov:

movs r1,r1,lsl#2