|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 ]2 t, o& a6 M7 ~
MCR指令将ARM处理器的寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。
! y3 t3 f& k4 f$ Y3 O2 Z" i: g- D5 K
指令的语法格式:
: {: u1 r+ u0 V( c- w. b6 h# `2 o d8 j, J: J
MCR{} p15, 0, , , {,}
! | f9 G) j6 w0 A9 K# R/ ~5 ^- a3 H) @
MCR2 p15, 0, , , {,}
$ C# e, v1 I4 [/ P2 Q2 [) k
0 f6 S' l9 Q2 ?4 l5 x3 I其中,为指令执行的条件码。当忽略时指令为无条件执行。MCR2中,为Ob1111,指令为无条件执行指令。
( m8 J0 x0 K, d+ q, U5 @2 U/ d% R0 h! _# B$ H: n8 J, c& C
为协处理器将执行的操作的操作码。对于CP15协处理器来说, 永远为0b000,当不为0b000时,该指令操作结果不可预知。' B/ W+ J, F8 O7 U: O% f
7 u! T# ?% p) M! T. B9 U6 [) R作为元寄存器的ARM寄存器,其值被传送到得协处理器寄存器中。
1 F+ m2 B; x0 A# K9 X: u1 F) I3 ~# ?! @
不能为PC,当其为PC时,指令操作结果不可预知。' R! a6 M. T+ X3 F: y
! z! m- A/ y+ ~& i; }, _
作为目标寄存器的协处理器寄存器,其编号可能为C0,C1....C15。 附加的目标寄存器或者原操作数寄存器,用于区分同一个编号的不同物理寄存器。当指令中不需要提供附加信息时,将C0指定为,否则指令操作结果不可预知。 提供附加信息,用于区别同一个编号的不同物理寄存器。当指令中指定附加信息时,省略或者将其指定为0,否则指令操作结果不可预知。
: \- \ L$ v `8 E, B5 k/ [: N2 W: C/ a4 Y! T
MRC指令将协处理器的寄存器中数值传送到ARM处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。
; t3 i4 X7 ?4 o# ] Y; m0 U8 q* x; z* \- g7 R# e" O: e$ P! p, w/ ]
指令的语法格式:
( S4 R7 M4 r" p& e
5 }- O1 V8 w4 @. o+ mMRC{} p15, 0, , , {,}! O/ |$ t- o0 L/ ~$ J) s
0 r+ [ S1 p& U+ U: `$ I3 @MRC2 p15, 0, , , {,} |
|