4.10.3. MRC、MRC2、MRRC 和 MRRC2

从协处理器移到 ARM 寄存器。

对于不同的协处理器,有多种附加操作可供您选用。

语法

op{cond} coproc, #opcode1, Rt, CRn, CRm{, #opcode2}

op{cond} coproc, #opcode1, Rt, Rt2, CRm

其中:

op

MRCMRC2MRRCMRRC2

cond

是一个可选的条件代码(请参阅条件执行)。 在 ARM 代码中,MRC2MRRC2 不允许使用 cond

coproc

是要运行指令的协处理器的名称。 标准名称为 pn,其中 n 为 0 到 15 范围内的整数。

opcode1

是一个协处理器特定的操作码。

Rt, Rt2

是 ARM 源寄存器。 不要使用 r15。 Rt2 仅适用于 MRRCMRRC2

MRCMRC2 中,Rt 可为 APSR_nzcv

CRn, CRm

是协处理器寄存器。 CRn 仅适用于 MRCMRC2

opcode2

是一个依协处理器而定的可选操作码,它适用于 MRCMRC2

用法

这些指令的具体用法取决于协处理器。 有关详细信息,请参阅协处理器文档。

体系结构

MRC ARM 指令在所有版本的 ARM 体系结构中都有效。

MRC2 ARM 指令可用于 ARMv5 及更高版本。

MRRC ARM 指令可用于 ARMv6 和更高版本,以及 ARMv5 的 E 变体。

MRRC2 ARM 指令可用于 ARMv6 及更高版本。

这些 32 位 Thumb 指令可用于 ARMv6T2 和 ARMv7。

这些指令均无 16 位 Thumb 版本。

Copyright © 2002-2007 ARM Limited. All rights reserved. ARM DUI 0204HC
Non-Confidential