设为首页 加入收藏

TOP

浅谈ARM协处理器命令MCR-MRC
2014-11-24 11:36:42 来源: 作者: 【 】 浏览:4
Tags:浅谈 ARM 处理器 命令 MCR-MRC

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},,,{,opcode_2}



其中{cond} 就是可选的执行条件


p15就是指定哪个协处理器,ARM920T好像有两个一个15一个14


为协处理器将要执行的操作的操作码,对于CP15来说,永远为ob00,即0,如果不是,结果不同预知


作为源寄存器的ARM寄存器


目标寄存器的协处理器寄存器


附加的目标寄存器或者源操作数寄存器,用于区分同一个编号的不同物理寄存器,如果不需要,就将它设置为C0,否则结果不可预知


附加信息,用于区别同一编号的不同物理寄存器,如果省略或者为0,就表示不附加,如果不是,后果不可预知


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇交叉编译工具arm_linux_gcc安装 下一篇U-Boot-2011.06 For mini6410

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)