在嵌入式汇编程序中,B和BL指令是很常见的,这两个的区别很简单,就是BL指令带返回,即在跳转到某个程序时,会自动的保存返回地址,所以一般在子程序的最后一条命令是mov pc,lr。
B和BL指令好用,但是需要注意他们的使用范围,他们的使用范围是正负32M,对于嵌入式系统,现在程序和内存,都远不止32M,如果想要访问超过32M外的程序怎么办呢,可以使用LDR命令,如下所示:
LDR PC,=XXXX //这里XXXX就代表对应的子程序或函数。
B和BL指令好用,但是需要注意他们的使用范围,他们的使用范围是正负32M,对于嵌入式系统,现在程序和内存,都远不止32M,如果想要访问超过32M外的程序怎么办呢,可以使用LDR命令,如下所示:
LDR PC,=XXXX //这里XXXX就代表对应的子程序或函数。
当然,解决问题的方式不止这一种,在这里仅仅是提出一种方式。