ARM 汇编 - v1 和 a1 寄存器有什么区别?

ARM Assembly - what's the difference between v1 and a1 registers?

我目前正在使用名为 armulator 的手臂模拟器。在查看一些小程序时,我看到正在使用寄存器 v1 和 a1。两者有什么区别?

我假设你真的在问 "what do the 'a' and 'v' mean?",然后回答这个问题。

procedure call standard 将一些寄存器指定为主要用于 "arguments" 和 "variables",并允许使用同义词来引用它们:

register  synonym
 r0        a1
 r1        a2
 r2        a3
 r3        a4
 r4        v1
 r5        v2
 r6        v3
 r7        v4
 r8        v5
 r9        v6
 r10       v7
 r11       v8
  • a=A参数 = Parameter
  • v=V可变

关于包含av的ARM寄存器arch和调用约定,我总结了一些,列在这里供大家参考: