首页 > 其他 > 详细

ARM汇编指令集3

时间:2015-11-27 12:45:03      阅读:366      评论:0      收藏:0      [点我收藏+]

常用ARM指令1:数据处理指令

    

•数据传输指令  mov mvn
      mov   r1,  r0        @两个寄存器之间数据传递
      mov       r1,  #0xff   @将立即数赋值给寄存器
mov 和mvn用法一样,区别是mov是原封不动的传递,而mvn是按位取反后传递
 
•算术指令  add sub rsb adc sbc rsc 
     and    逻辑与
     orr     逻辑或
     eor     逻辑异或
 
•逻辑指令  and orr eor bic
     bic     位清零
  bic   r0,r1,#0x1f      @将r1的数的bit0 到bit4清零后赋值给r0
 
•比较指令  cmp cmn tst teq   (比较指令重在过程不在乎结果
   cmp    r0, r1         @等价于sub   r2, r0,r1  (r2 = r0-r1)
   cmn   r0, r1           @等价于 add r0,r1
                                    tst     r0,#0x08      @测试bit_3是否为0
                                     bne   suspendup     @上一条指令指令是否成立 成立就跳转到 标签suspendup
     tst     r0,#0x0f      @测试r0的bit0-bit3是否都为0
 
•乘法指令  mvl mla umull umlal smull smlal
 
•前导零计数  clz
比较指令用来比较2个寄存器中的数
注意:比较指令不用后加s后缀就可以影响cpsr中的标志位。

常用ARM指令2:cpsr访问指令
•mrs & msr
•mrs用来读psr(包括cpsr、spsr),msr用来写psrpsr(包括cpsr、spsr)
      cpsr和spsr的区别和联系:cpsr程序状态寄存器,整个SOC中只有1个;而spsr有5个,分别在5种异常模式下,作用是当普通模式进入异常模式时,用来保存之前普通模式下的cpsr,已在返回普通模式时恢复原来的spsr。
•CPSR寄存器比较特殊,需要专门的指令访问,这就是mrs和msr。
   

ARM汇编指令集3

原文:http://www.cnblogs.com/yygsj/p/5000095.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!