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

ns5*_*533 1 assembly arm cpu-registers

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

Not*_*hat 5

我假设你真的在问“'a'和'v'是什么意思?”,然后回答。

过程调用标准指定一些寄存器作为主要为“参数”和“变量”,并且参照它们的方式由同义词许可证:

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
Run Code Online (Sandbox Code Playgroud)

  • 就我个人而言,我认为它们是一个糟糕的主意,只会让事情比架构寄存器名称更难阅读,尤其是在 1 索引的情况下。 (2认同)