相对跳转和绝对跳转的区别

假如: __main的链接地址是0x20000000。而因为它在前面,在启动的时候被拷贝到前面了,所以实际的地址是0x00000000.

    __main2的链接地址是0x20000010。实际地址是0x00000010.

 

B指令是相对跳转。

  也就是把pc加上两个链接地址之间的差值。

  如果使用 在 __main处使用  B _main2。则pc的值为0x00000010.

 

如果使用绝对跳转则使用 ldr pc, _main2.

    此时pc的值是0x20000010。可以直接跳转到内存中。

posted @ 2016-10-18 21:43  叶念西风  阅读(690)  评论(0编辑  收藏  举报
叶念西风 - 个人博客 & 电脑Run - 维修帮助软件教程安装