从ARM MRC
文档引用,MRC命令的附加协处理器寄存器的功能是什么?
MRC{2}<c><q> <coproc>, #<opc1>, <Rt>, <CRn>, <CRm>{, #<opc2>}
其中:
2
如果指定,选择编码T2/A2。如果省略,则选择编码T1/A1。
<c><q>
见网页上的A8-7标准汇编语法领域。 ARM MRC2指令必须是无条件的。
<coproc>
协处理器的名称。标准的通用协处理器名称是p0,p1,...,p15。
<opc1>
是范围为0的特定于协处理器的操作码,以7.
<Rt>
是对目的地ARM核心寄存器。该寄存器可以是R0-R14或APSR_nzcv。最后一种形式将传输值的位[31:28]写入N,Z,C和V条件标志,并通过将编码的Rt字段设置为0b1111来指定。在UAL之前的汇编语法中,写入了PC而不是APSR_nzcv来选择此表单。
<CRn>
是包含第一个操作数的协处理器寄存器。
<CRm>
是一个额外的源或目的协处理器寄存器。
<opc2>
是在到7的范围内0特定于协处理器的操作码如果省略,<opc2>
被假定为0
MRC
如果意在单个协处理器寄存器的内容复制到单个ARM注册,CRm
是什么原因?此外,我不太确定opcode
的原因是什么,但这不重要。
有关更好的解释,请参见第A.4节[此处](http://www.peter-cockerell.net/aalp/html/app-a.html)。 – user786653