1. 相对跳转指令 : b , bl
(之所以叫相对跳转,是因为存在绝对跳转 ldr;两者的区别可以参照http://www.cnblogs.com/ynxf/p/5975143.html)
bl 和 b 的区别,bl 可以将下一条指令的地址保存在lr寄存器中。
2. mov
mov r1 , r2 相当于 r1 = r2
mov r1 , #4096 相当于 r1 = 4096
3. ldr、str、ldm、stm
ldr r1 , = 4097 相当于r1 = 4097
ldr r1 , =label 相当于将label 的链接地址 赋给 r1
label: ... ...
ldr r1 , [r2 , #4] 相当于 将地址为r2+4 的内存单元数据 读到r1中
ldr r1 , [r2] 相当于 将地址为r2 的内存单元数据 读到r1中
ldr r1 , [r2] , #4 相当于 将地址为r2 的内存单元数据 读到r1中,然后 r2 = r2 +4
反过来
str r1 , [r2 , #4] 相当于 将r1的数据 保存到地址为 r2+4 的内存单元中
str r1 , [r2] 相当于 将r1的数据 保存到地址为 r2的内存单元中
str r1 , [r2] , #4 相当于 将r1的数据 保存到地址为 r2的内存单元中,然后r2 = r2 +4;