| |||
| Home > ARM and Thumb Instructions > Coprocessor instructions > MCR, MCR2, MCRR, and MCRR2 | |||
Move to Coprocessor from ARM Register or Registers. Depending on the coprocessor, you might be able to specify various operations in addition.
{op1cond}coproc, #opcode1,Rt,CRn,CRm{, #opcode2}
{op2cond}coproc, #opcode3,Rt,Rt2,CRm
where:
op1is either MCR or MCR2.
op2is either MCRR or MCRR2.
condis an optional condition code. In ARM code, is
not permitted for condMCR2 or MCRR2.
coprocis the name of the coprocessor the instruction is
for. The standard name is p, where n is
an integer in the range 0 to 15.n
opcode1is a 3-bit coprocessor-specific opcode.
opcode2is an optional 3-bit coprocessor-specific opcode.
opcode3is a 4-bit coprocessor-specific opcode.
Rt, Rt2are ARM source registers. R and tR must
not be PC.t2
CRn, CRmare coprocessor registers.
The use of these instructions depends on the coprocessor. See the coprocessor documentation for details.
The MCR ARM instruction is available in all versions
of the ARM architecture.
The MCR2 ARM instruction is available in ARMv5T
and above.
The MCRR ARM instruction is available in ARMv6
and above, and E variants of ARMv5T.
The MCRR2 ARM instruction is available in ARMv6
and above.
These 32-bit Thumb instructions are available in ARMv6T2 and above.
There are no 16-bit Thumb versions of these instructions.