ARM汇编指令

1.  b指令跳转范围是64M,用24位空间表示26位。bl:保存返回地址。

2.  前索引:存在r0+4,r0值不变  str r1,[r0,#4](!!以下两种才是真正的索引)

   后索引:数据存在r0并后改变r0的值  str r1,[r0],#4

   自动索引:存到r0+4,然后r0+4。  str r1,[r0,#4]!

3.  stm(存)指令最多操作16个寄存器  stmia r11!,{r1-r5}  (注意和str的目标地址不同)

   使用批量寄存器操作时,编号小的一定存到低地址当中

   stm等价于stmia(increase after use),stmib, stmda,stmdb

   stmia和ldmdb配合,stmib和ldmda配合。

4.  最常用的是满减栈。stmfd,ldmfd

5.  读cpsr:mrs r1,cpsr

   写cpsr: msr cpsr_c,r1

6.  伪指令:ldr r1, =0x12345678  可能等价于ldr r1,[pc]

7.  CPSR中【31:24】条件域F表示  【23:16】状态域S表示  【15:8】预留域X表示  【8:0】控制域C表示

转载于:https://www.cnblogs.com/oyjngz101/p/6069343.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值