新手初来乍到,想请教有关pc和lr的关系问题
新手初来乍到,想请教有关pc和lr的关系问题,不明白在汇编过程调用中他们的关系
[解决办法]
PC就是当前指令执行的地址,如果改变它程序就会跳到新写入的地址处。
LR是函数返回地址的专用寄存器,也就是说其它的用途不应该去用它。
当将要调用一个函数时,因为函数执行完后需要返回到当前地址的下一条,所以在调用函数前先将当前地址的下一条保存到LR。
在函数执行的最后,将LR赋给PC,程序就会跳回调用函数处执行。
[解决办法]
建议看《M3权威指南》,讲的很清楚的。
如果汇编命令不理解,可以去弄篇ARM汇编指令速查之类的~~结合着看就清楚了
LR的作用蛮多的。。。