从 ARM 寄存器移到协处理器。 对于不同的协处理器,有多种附加操作可供您选用。
语法
{op1
cond
} coproc
, #opcode1
, Rt
, CRn
, CRm
{, #opcode2
}
{op2
cond
} coproc
, #opcode3
, Rt
, Rt2
, CRm
其中:
op1
是 MCR
或 MCR2
。
op2
是 MCRR
或 MCRR2
。
cond
是一个可选的条件代码。 在 ARM 代码中,不允许为 MCR2
或 MCRR2
使用
。cond
coproc
是要运行指令的协处理器的名称。 标准名称为 p
,其中 n
为 0 到 15 范围内的整数。n
opcode1
是一个特定于协处理器的 3 位操作码。
opcode2
是一个特定于协处理器的可选 3 位操作码。
opcode3
是一个特定于协处理器的 4 位操作码。
Rt
、Rt2
为 ARM 源寄存器。MCRR
或 MCRR2
不能使用 r15。
CRn
、CRm
是协处理器寄存器。
体系结构
MCR
ARM 指令在所有版本的 ARM 体系结构中都有效。
MCR2
ARM 指令可用于 ARMv5 及更高版本。
MCRR
ARM 指令可用于 ARMv6 和更高版本,以及 ARMv5 的 E 变体。
MCRR2
ARM 指令可用于 ARMv6 及更高版本。
这些 32 位 Thumb 指令可用于 ARMv6T2 及更高版本。
这些指令均无 16 位 Thumb 版本。