Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96811
  • 博文数量: 15
  • 博客积分: 286
  • 博客等级: 二等列兵
  • 技术积分: 202
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-05 09:30
文章分类

全部博文(15)

文章存档

2012年(15)

分类: LINUX

2012-05-06 15:20:43

MCR指令将ARM处理器的寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。

指令的语法格式:

MCR{} p15, 0, , , {,}

MCR2 p15, 0, , , {,}

其中,为指令执行的条件码。当忽略时指令为无条件执行。MCR2中,为Ob1111,指令为无条件执行指令。

 为协处理器将执行的操作的操作码。对于CP15协处理器来说, 永远为0b000,当不为0b000时,该指令操作结果不可预知。

 作为元寄存器的ARM寄存器,其值被传送到得协处理器寄存器中。

 不能为PC,当其为PC时,指令操作结果不可预知。

 作为目标寄存器的协处理器寄存器,其编号可能为C0,C1....C15。 附加的目标寄存器或者原操作数寄存器,用于区分同一个编号的不同物理寄存器。当指令中不需要提供附加信息时,将C0指定为,否则指令操作结果不可预知。  提供附加信息,用于区别同一个编号的不同物理寄存器。当指令中指定附加信息时,省略或者将其指定为0,否则指令操作结果不可预知。

MRC指令将协处理器的寄存器中数值传送到ARM处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。

指令的语法格式:

MRC{} p15, 0, , , {,}

MRC2 p15, 0, , , {,}

阅读(17490) | 评论(0) | 转发(6) |
给主人留下些什么吧!~~