mrc2

Move to Register from Coprocessor 2 (A32)

MRC2<c> <coproc>, <opc1>, <Rt>, <CRn>, <CRm>{, <opc2>}

Reads a coprocessor register into a general-purpose register (Extension encoding).

Details

A32 coprocessor data transfer (extension encoding): reads a coprocessor register (CRn, CRm) from coproc into the general-purpose register Rt. The opc1 and opc2 fields specify the operation. Does not modify condition flags. Execution state: A32 only; requires coprocessor support. May cause an Undefined Instruction exception if the coprocessor does not exist.

Pseudocode Operation

Rt ← Coprocessor[coproc].CRn[opc1] or Coprocessor[coproc].CRm[opc2]

Example

MRC2 p15, 0, r3, c1, c2

Encoding

Binary Layout
11111110
opc1
1
CRn
Rt
coproc
opc2
1
CRm
 
Format Coprocessor
Opcode 0xFE100010
Extension A32 (System)

Operands

  • coproc
    CP Num
  • Rt
    Transfer general-purpose register (load/store)
  • CRn
    Src CP Reg