色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM中SP,LR,PC使用

          ARM中SP,LR,PC使用

          作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          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一般來說有兩個作用:
          1》.當(dāng)使用bl或者blx跳轉(zhuǎn)到子過程的時候,r14保存了返回地址,可以在調(diào)用過程結(jié)尾恢復(fù)。
          2》.異常中斷發(fā)生時,這個異常模式特定的物理R14被設(shè)置成該異常模式將要返回的地址。

          本文引用地址:http://cafeforensic.com/article/201611/317868.htm

          另外注意pc,在調(diào)試的時候顯示的是當(dāng)前指令地址,而用mov lr,pc的時候lr保存的是此指令向后數(shù)兩條指令的地址,大家可以試一下用mov pc,pc,結(jié)果得到的是跳轉(zhuǎn)兩條指令,這個原因是由于arm的流水線造成的,預(yù)取兩條指令的結(jié)果.
          3.》我以前看書不懂的地方
          子程序返回的三種方法
          現(xiàn)在總結(jié)如下
          1.MOV PC,LR
          2.BL LR
          3.在子程序入口處使用以下指令將R14存入堆棧
          STMFD SP!,{,LR}
          對應(yīng)的,使用以下指令可以完成子程序的返回
          LDMFD SP!, {,LR}



          關(guān)鍵詞: ARMSPLRP

          評論


          技術(shù)專區(qū)

          關(guān)閉