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指令序列。
文章评论(0条评论)
登录后参与讨论