Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96923
  • 博文数量: 60
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 651
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-03 10:45
文章分类
文章存档

2014年(11)

2013年(49)

我的朋友

分类: IT业界

2013-12-03 14:57:52

 ARM指令集中的指令大致分为6类:分支指令、Load/Store指令、数据处理指令、程序状态寄存器指令、异常中断指令、协处理器指令。下面就来分别介绍其中主要的指令。

 1、分支指令
  在ARM中,可以用两种方法实现程序分支转移。一种是使用跳转指令,另外一种是所谓的长跳转,即直接向PC寄存器(R15)中写人目标地址。

 2、Load/Store指令
  Load/Store指令用于在存储器和处理器之间传输数据。Load用于把内存中的数据装载到寄存器,而Store指令用于把寄存器中的数据存人内存。ARM中共有3种类型的Load/Store指令:单寄存器传输指令、多寄存器传输指令和交换指令。

 3、租序状态寄存吕指令
  程序状态寄存器指令有两条:MRS和MSR。两者在通用寄存器和状态寄存器之间进行效据传送,但是数据传送方向相反。

 4、协处理容才份令
  ARM处理器的协处理器操作指令为CDP,通常,与协处理粉编号CP#一致的协处理器将接受此指令,并执行操作。具体操作由Cop1和Cop2字段定义,使用CRu和CRm作为旅操作数,并将结果放到CRd。

 5、异常中断指令
  SWI是软件中断指令用于产生SW1异常中断,以实现在用户模式下调用操作系统的监控功能程序(Supervisor Function)。它将处理器里于管理(SVC)模式,从地址Ox08开始执行指令。

 6、 ARM伪指令
  ARM中有4条伪指令,包括ADR、ADRL、LDR和NOP。这些伪指令在汇编编译器对源程序进行汇编处理时被替换成对应的ARM或者Thumb指令序列。

  文章由嵌入式软硬件定制厂家小编原创,转载请注明文章来源出处,谢谢合作!
阅读(744) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~