MOV PC,LR看下面這個ARM匯編吧 BL NEXT ;跳轉(zhuǎn)到子程序 ......... ;NEXT處執(zhí)行 NEXT .......... MOV PC,LR ;從子程序返回 這里的BL是跳轉(zhuǎn)的意思,LR(R14)保存了返回地址 PC(R15)是當(dāng)前地址,把LR給PC就是從子程序返回 這里有一下總結(jié) 首先 1.SP(R13) LR(R14)PC(R15) 2.lr(r14)的作用問題,這個lr一般來說有兩個作用: 3.》我以前看書不懂的地方 子程序返回的三種方法 現(xiàn)在總結(jié)如下 1.MOV PC,LR 2.BL LR 3.在子程序入口處使用以下指令將R14存入堆棧 STMFD SP!,{<Regs>,LR} 對應(yīng)的,使用以下指令可以完成子程序的返回 LDMFD SP!, {<Regs>,LR} |
|
來自: phoenixcyan > 《ARM匯編》