加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

跳轉(zhuǎn)指令

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

跳轉(zhuǎn)指令(jump instruction)是2018年公布的計算機科學技術(shù)名詞。

跳轉(zhuǎn)指令(jump instruction)是2018年公布的計算機科學技術(shù)名詞。收起

查看更多
  • Thumb指令集之: Thumb跳轉(zhuǎn)指令
    Thumb中有兩個分支跳轉(zhuǎn)指令的變體,第一個變體與ARM版本指令相似,可條件執(zhí)行,跳轉(zhuǎn)被限制在有符號8位立即數(shù)所表示的范圍內(nèi),或者是±256B。第二個變體不可條件執(zhí)行(沒有條件碼部分),但擴展了有效跳轉(zhuǎn)范圍,跳轉(zhuǎn)范圍為有符號11位立即數(shù)表示的范圍,即±2048B。
  • 跳轉(zhuǎn)指令之:帶狀態(tài)切換的連接跳轉(zhuǎn)指令BLX(2)
    帶連接和狀態(tài)切換的跳轉(zhuǎn)指令BLX(Branch with Link Exchange)使用一個寄存器中的絕對地址,用于使程序跳轉(zhuǎn)到Thumb狀態(tài)或從Thumb狀態(tài)返回。該指令用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
  • 跳轉(zhuǎn)指令之:帶狀態(tài)切換的連接跳轉(zhuǎn)指令BLX(1)
    帶連接和狀態(tài)切換的跳轉(zhuǎn)指令BLX(Branch with Link Exchange)使用標號,用于使程序跳轉(zhuǎn)到Thumb狀態(tài)或從Thumb狀態(tài)返回。該指令為無條件執(zhí)行指令,并用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
  • 跳轉(zhuǎn)指令之:帶狀態(tài)切換的跳轉(zhuǎn)指令BX
    帶狀態(tài)切換的跳轉(zhuǎn)指令BX使程序跳轉(zhuǎn)到指令中指定的參數(shù)Rm指定的地址執(zhí)行程序,Rm的第0位拷貝到CPSR中T位,位[31∶1]移入PC。若Rm的bit[0]為1,則跳轉(zhuǎn)時自動將CPSR中的標志位T置位,即把目標地址的代碼解釋為Thumb代碼;若Rm的位bit[0]為0,則跳轉(zhuǎn)時自動將CPSR中的標志位T復位,即把目標地址代碼解釋為ARM代碼
  • 跳轉(zhuǎn)指令之:跳轉(zhuǎn)指令B及帶連接的跳轉(zhuǎn)指令BL
    跳轉(zhuǎn)指令B使程序跳轉(zhuǎn)到指定的地址執(zhí)行程序。帶連接的跳轉(zhuǎn)指令BL將下一條指令的地址拷貝到r14(即返回地址連接寄存器LR)寄存器中,然后跳轉(zhuǎn)到指定地址運行程序。需要注意的是,這兩條指令和目標地址處的指令都要屬于ARM指令集。兩條指令都可以根據(jù)CPSR中的條件標志位的值決定指令是否執(zhí)行。