?? 共 3 個(gè)源碼文件 點(diǎn)擊文件名可在線查看源代碼
?? 資源詳細(xì)信息
?? 溫馨提示:本資源由用戶 zhangtaoai007 上傳分享,僅供學(xué)習(xí)交流使用。如有侵權(quán),請(qǐng)聯(lián)系我們刪除。
資源簡(jiǎn)介
ARM指令集(2)
1.跳轉(zhuǎn)指令
在ARM中有兩種方式可以實(shí)現(xiàn)程序的跳轉(zhuǎn):一種是刀‘轉(zhuǎn)指令;另一種是直接向PC寄存器(R15)中寫入目標(biāo)地址值。
通過直接向PC寄存器中寫入目標(biāo)地址值可以實(shí)現(xiàn)在46B地址空間中任意跳轉(zhuǎn),這種跳轉(zhuǎn)指令又稱為長(zhǎng)跳轉(zhuǎn)。如果在長(zhǎng)跳轉(zhuǎn)指令之前使用MOV LR,PC等指令,則可以保存將來返回的地址值,這樣就實(shí)現(xiàn)了在46B地址空間中的子程序調(diào)用。
在ARM版本5及以上的體系中,實(shí)現(xiàn)了ARM指令集和Thumb指令集的混合使用。指令使用目標(biāo)地址值的bit[0]來確定目標(biāo)程序的類型。bit[0]的值為1時(shí),目標(biāo)程序?yàn)門humb指令;bit[0]值為0時(shí),目標(biāo)程序?yàn)锳RM指令。
在ARM版本5以前的體系中,傳送到PC寄存器中的目標(biāo)地址值的低兩位bits[1∶0]被忽略,跳轉(zhuǎn)指令只能在ARM指令集中執(zhí)行,即程序不能從ARM狀態(tài)切換到Thumb狀態(tài)。非T系列ARM版本5體系不含Thumb指令,當(dāng)程序試圖切換到Thumb狀態(tài)時(shí),將產(chǎn)生未定義指令異常中斷。
ARM跳轉(zhuǎn)指令可以從當(dāng)前指令向前或向后的32MB地址空間跳轉(zhuǎn)。這類跳轉(zhuǎn)指令有以下4種。
源碼文件列表
立即下載此資源
資源說明
下載說明
- 下載需消耗 2積分
- 24小時(shí)內(nèi)重復(fù)下載不扣分
- 支持?jǐn)帱c(diǎn)續(xù)傳
- 資源永久有效
使用說明
- 下載后用解壓軟件解壓
- 推薦 WinRAR 或 7-Zip
- 如有密碼請(qǐng)查看說明
- 解壓后即可使用
積分獲取
- 上傳資源獲得積分
- 每日簽到免費(fèi)領(lǐng)取
- 邀請(qǐng)好友注冊(cè)獎(jiǎng)勵(lì)
- 查看詳情 →