ARM协处理器cp15,有16个寄存器,详细看《ARM体系结构与编程》
这里我大概说一下MRC与MCR这两个协处理器操作,参考《s3c2440》元件手册P140页
这两个命令是用于ARM寄存器与协处理器寄存器之间操作的,一个协处理器与寄存器之前操作的例子就是,一个浮点值在协处理器中转换成32位整型,然后它的结果传送到ARM920T的寄存器中MRC。相反则为MCR。
|
最重要的应用就是通过命令从协处理器交换控制信息到ARM920T CPSR相应标识位
看几个例子就明白
MRC p2,5,r3,c5,c6
协处理器p2把c5和c6经过5操作的结果赋给r3
MCR p6,0,r4,c5,c6
协处理器p6把r4执行0操作后将结果存放进c6
MRC p3,9,r3,c5,c6,2
协处理器p3把c5和c6经过9操作(类型2)的结果赋给r3
详细写一下格式
MCR{cond} p15,{opcode_1},
其中{cond} 就是可选的执行条件
p15就是指定哪个协处理器,ARM920T好像有两个一个15一个14