MCR指令
: 将 ARM 写入寄存器数据 CP15 协处理器寄存器。
MRC 就是读 CP15 寄存器, MCR 就是写 CP15 寄存器, MCR 指令格式如下:
MCR{
cond} p15, <opc1>, <Rt>, <CRn>, <CRm>, <opc2>
- 1
参数的含义
| “参数” | 含义 |
|---|---|
| cond | 如果忽略指令执行的条件码,则表示无条件执行。 |
| opc1 | 协处理器执行的操作码。 |
| Rt | ARM 写入源寄存器 CP15 该寄存器中保存了寄存器的数据。 |
| CRn | CP15 协处理器的目标寄存器。 |
| CRm | 如果不需要额外的信息,协处理器中附加的目标寄存器或源操作数寄存器将是CRm 设置为 C0,否则结果不可预测。 |
| opc2 | 当不需要时,应将可选协处理器的特定操作码设置为 0 |
MCR指令
: 将 CP15 读取协处理器中的寄存器数据 ARM 寄存器中。
MRC 指令格式和 MCR 只是在那里 MRC 指令中 Rt 即目标寄存器,即从CP15 指定寄存器读取的数据将数据 Rt 中。而 CRn 即源寄存器,即要读取的写处理器寄存器。
假如我们要去 CP15 中 C0 寄存器的值读取到 R0 如下命令可用于寄存器:
MRC p15, 0, r0, c0, c0, 0
- 1