汇编语言汇总

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;



猜你喜欢

转载自blog.csdn.net/abc1254597559/article/details/80171443