lr

連接寄存器的英文縮寫

LR(Link Register),連接寄存器的英文縮寫,在ARM體系結構中LR的特殊用途有兩種:一是用來保存子程序返回地址;二是當異常發生時,LR中保存的值等於異常發生時PC的值減4(或者減2),因此在各種異常模式下可以根據LR的值返回到異常發生前的相應位置繼續執行。

基本介紹


當通過BL或BLX指令調用子程序時,硬體自動將子程序返回地址保存在R14寄存器中。在子程序返回時,把LR的值複製到程序計數器PC即可實現子程序返回。如,可以使用MOV PC, LR或者BX LR來完成子程序返回。另外,也可以在在子程序入口處使用下面的指令將LR保存到棧中。