【问题标题】:ARM Assembly - what's the difference between v1 and a1 registers?ARM 汇编 - v1 和 a1 寄存器有什么区别?
【发布时间】:2016-11-09 21:53:08
【问题描述】:

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

【问题讨论】:

  • 不同之处在于它们引用了不同的寄存器,由于它们不相同,因此希望很明显。

标签: assembly arm cpu-registers


【解决方案1】:

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

procedure call standard 将一些寄存器指定为主要用于“参数”和“变量”,并允许通过同义词来引用它们:

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

【讨论】:

  • 就我个人而言,我认为它们是一个糟糕的主意,只会让事情比架构寄存器名称更难阅读,尤其是在 1 索引的情况下。
猜你喜欢
  • 1970-01-01
  • 2012-01-28
  • 2014-07-06
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多