欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
ARM匯編指令(B/BL/BX)

跳轉指令用于實(shí)現程序流程的跳轉,在 ARM 程序中有兩種方法可以實(shí)現程序流程的跳轉:

(1) 使用專(zhuān)門(mén)的跳轉指令。

(2) 直接向程序計數器 PC 寫(xiě)入跳轉地址值。

    通過(guò)向程序計數器 PC 寫(xiě)入跳轉地址值,可以實(shí)現在 4GB 的地址空間中的任意跳轉,在跳轉之前結合使用

    MOV LR , PC

   等類(lèi)似指令,可以保存將來(lái)的返回地址值,從而實(shí)現在 4GB 連續的線(xiàn)性地址空間的子程序調用。

===============================================

ARM 指令集中的跳轉指令可以完成從當前指令向前或向后的 32MB 的地址空間的跳轉,包括以下 4 條指令:

(1) B 跳轉指令

(2) BL 帶返回的跳轉指令

(3) BLX 帶返回和狀態(tài)切換的跳轉指令

(4) BX 帶狀態(tài)切換的跳轉指令

1、 B 指令

B 指令的格式為:

B{條件} 目標地址

B 指令是最簡(jiǎn)單的跳轉指令。一旦遇到一個(gè) B 指令,ARM 處理器將立即跳轉到給定的目標地址,從那里繼
續執行。注意存儲在跳轉指令中的實(shí)際值是相對當前PC 值的一個(gè)偏移量,而不是一個(gè)絕對地址,它的值由匯編器來(lái)計算(參考尋址方式中的相對尋址)。它是 24 位有符號數,左移兩位后有符號擴展為 32 位,表示的有效偏移為 26 位(前后32MB 的地址空間)。以下指令:

B Label ;程序無(wú)條件跳轉到標號 Label 處執行

CMP R1 ,# 0 ;當 CPSR 寄存器中的 Z 條件碼置位時(shí),程序跳轉到標號 Label 處執行

BEQ Label

2、 BL 指令

BL 指令的格式為:

BL{條件} 目標地址

BL 是另一個(gè)跳轉指令,但跳轉之前,會(huì )在寄存器R14 中保存PC 的當前內容,因此,可以通過(guò)將R14 的內容重新加載到PC 中,來(lái)返回到跳轉指令之后的那個(gè)指令處執行。該指令是實(shí)現子程序調用的一個(gè)基本但常用的手段。以下指令:

BL Label ;當程序無(wú)條件跳轉到標號 Label 處執行時(shí),同時(shí)將當前的 PC 值保存到 R14 中

3、 BLX 指令

BLX 指令的格式為:

BLX 目標地址

BLX 指令從ARM 指令集跳轉到指令中所指定的目標地址,并將處理器的工作狀態(tài)有ARM 狀態(tài)切換到Thumb 狀態(tài),該指令同時(shí)將PC 的當前內容保存到寄存器R14 中。因此,當子程序使用Thumb 指令集,而調用者使用ARM 指令集時(shí),可以通過(guò)BLX 指令實(shí)現子程序的調用和處理器工作狀態(tài)的切換。

同時(shí),子程序的返回可以通過(guò)將寄存器R14 值復制到PC 中來(lái)完成。

4、 BX 指令
BX 指令的格式為:

BX{條件} 目標地址

BX 指令跳轉到指令中所指定的目標地址,目標地址處的指令既可以是ARM 指令,也可以是Thumb指令。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
arm 跳轉指令
ARM LR寄存器
《ARM學(xué)習手札》----B、BL、BX、BLX 和 BXJ
ARM匯編之寄存器
關(guān)于A(yíng)RM的PC指針(什么時(shí)候PC+8,PC+4,PC
轉載:arm匯編b,bl指令淺析
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久