ARM:将数据从核心寄存器传输到其他寄存器的不同方法

时间:2012-07-23 20:39:58

标签: gcc assembly arm cpu-registers armv7

据我所知,有许多不同的方法可以将数据从ARM内核寄存器(R寄存器)传输到其他寄存器。我发现了这两种方式:

  1. 使用MCR指令从核心寄存器传输到协处理器寄存器

  2. 使用D指令从核心寄存器传输到VMOV寄存器

  3. 我需要经历各种方式并找出每种方式的延迟。但就目前而言,我想知道是否还有其他方法可以将数据从核心寄存器传输到我可能忘记的其他寄存器(而不是内存)。

    我的架构是ARMv7-A,我使用的是GCC 4.6.3。

1 个答案:

答案 0 :(得分:1)

指令时序是微架构特定的(即ARMv7架构的不同实现具有不同的延迟)。

您需要在TRM中查找您要定位的特定处理器,以查找每个实施的延迟。