資料介紹
8.4 帶狀態(tài)切換的連接跳轉(zhuǎn)指令BLX(2)
1.指令編碼格式
帶連接和狀態(tài)切換的跳轉(zhuǎn)指令BLX(Branch with Link Exchange)使用一個(gè)寄存器中的絕對(duì)地址,用于使程序跳轉(zhuǎn)到Thumb狀態(tài)或從Thumb狀態(tài)返回。該指令用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
指令編碼格式如圖8.4所示。
圖8.4 BLX(2)指令編碼格式
2.語(yǔ)法格式
BLX{《cond》} 《Rm》
① 《cond》
為指令編碼中的條件域。它指示指令在什么條件下執(zhí)行。當(dāng)《cond》忽略時(shí),指令為無條件執(zhí)行(cond=AL(Alway))。
?、?《Rm》
寄存器Rm指定轉(zhuǎn)移目標(biāo),Rm的第0位拷貝到CPSR中的T位,bit[31∶0]移入PC。
· 如果Rm的bit[0]=1,則跳轉(zhuǎn)時(shí)自動(dòng)將CPSR中的標(biāo)志位T置位,即把目標(biāo)地址的代碼解釋為Thumb代碼。
· 如果Rm的bit[0]=0,則跳轉(zhuǎn)時(shí)自動(dòng)將CPSR中的標(biāo)志位T復(fù)位,即把目標(biāo)地址代碼解釋為ARM代碼。
3.指令操作的偽代碼
指令操作的偽代碼如下面程序段所示。
If ConditionPass{cond} then
LR = address of the instruction after the branch instruction
T Flag=Rm[0]
PC=Rm AND 0xfffffffe
注意在這種情況下,如果Rm的bit[1∶0]=0b10,指令的執(zhí)行結(jié)果不可預(yù)知,因?yàn)檫@將導(dǎo)致在ARM狀態(tài)下非對(duì)齊的字訪問。
4.指令舉例
調(diào)用Thumb子程序。
CODE32 ;ARM代碼
……
BLX TSUB ;調(diào)用Thumb子程序
……
CODE16 ;Thumb代碼開始
TSUB
……
BX r14 ;返回ARM狀態(tài)
注意(1)一些不支持Thumb指令集的ARM處理器將捕獲這些指令,允許軟件仿真Thumb指令。
?。?)只有實(shí)現(xiàn)ARMv5版本以上的處理器支持BLX指令的兩種格式。
?
1.指令編碼格式
帶連接和狀態(tài)切換的跳轉(zhuǎn)指令BLX(Branch with Link Exchange)使用一個(gè)寄存器中的絕對(duì)地址,用于使程序跳轉(zhuǎn)到Thumb狀態(tài)或從Thumb狀態(tài)返回。該指令用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
指令編碼格式如圖8.4所示。
圖8.4 BLX(2)指令編碼格式
2.語(yǔ)法格式
BLX{《cond》} 《Rm》
① 《cond》
為指令編碼中的條件域。它指示指令在什么條件下執(zhí)行。當(dāng)《cond》忽略時(shí),指令為無條件執(zhí)行(cond=AL(Alway))。
?、?《Rm》
寄存器Rm指定轉(zhuǎn)移目標(biāo),Rm的第0位拷貝到CPSR中的T位,bit[31∶0]移入PC。
· 如果Rm的bit[0]=1,則跳轉(zhuǎn)時(shí)自動(dòng)將CPSR中的標(biāo)志位T置位,即把目標(biāo)地址的代碼解釋為Thumb代碼。
· 如果Rm的bit[0]=0,則跳轉(zhuǎn)時(shí)自動(dòng)將CPSR中的標(biāo)志位T復(fù)位,即把目標(biāo)地址代碼解釋為ARM代碼。
3.指令操作的偽代碼
指令操作的偽代碼如下面程序段所示。
If ConditionPass{cond} then
LR = address of the instruction after the branch instruction
T Flag=Rm[0]
PC=Rm AND 0xfffffffe
注意在這種情況下,如果Rm的bit[1∶0]=0b10,指令的執(zhí)行結(jié)果不可預(yù)知,因?yàn)檫@將導(dǎo)致在ARM狀態(tài)下非對(duì)齊的字訪問。
4.指令舉例
調(diào)用Thumb子程序。
CODE32 ;ARM代碼
……
BLX TSUB ;調(diào)用Thumb子程序
……
CODE16 ;Thumb代碼開始
TSUB
……
BX r14 ;返回ARM狀態(tài)
注意(1)一些不支持Thumb指令集的ARM處理器將捕獲這些指令,允許軟件仿真Thumb指令。
?。?)只有實(shí)現(xiàn)ARMv5版本以上的處理器支持BLX指令的兩種格式。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- T5L_TA指令集開發(fā)資料
- 跳轉(zhuǎn)指令表的詳細(xì)資料說明 2次下載
- 一種C波段帶狀線定向耦合器的研究設(shè)計(jì)與實(shí)際應(yīng)用 15次下載
- 51單片機(jī)匯編教程之指令集的詳細(xì)資料說明
- 使用單片機(jī)匯編跳轉(zhuǎn)指令延時(shí)一秒的程序免費(fèi)下載
- 基于PIC10F220/222下的6 引腳 8 位閃存單片機(jī)
- 基于PIC16F5X下的8 位 CMOS 閃存單片機(jī)
- 基于PIC12F508/509/16F505下的8/14 引腳 8 位閃存單片機(jī)
- 跳轉(zhuǎn)指令B及帶連接的跳轉(zhuǎn)指令BLX上 2次下載
- Thumb指令集之Thumb跳轉(zhuǎn)指令 1次下載
- 數(shù)據(jù)傳送指令之程序狀態(tài)寄存器指令簡(jiǎn)述 1次下載
- 三菱FX系列PLC條件跳轉(zhuǎn)和子程序指令的應(yīng)用_赫煥麗 3次下載
- ARM系列處理器應(yīng)用技術(shù)完全手冊(cè)(黑色經(jīng)典系列
- arm指令集(1)
- IO口狀態(tài)切換說明.pdf
- Vim跳轉(zhuǎn)技巧 921次閱讀
- 狀態(tài)機(jī)該怎么監(jiān)控 310次閱讀
- PLC基本工作狀態(tài) 3983次閱讀
- SIMATIC S7-1500程序控制指令簡(jiǎn)述 2217次閱讀
- PLC指令的應(yīng)用方面到什么程度 479次閱讀
- 深度剖析ARM跳轉(zhuǎn)指令 2546次閱讀
- continue和break跳轉(zhuǎn)語(yǔ)句介紹 1410次閱讀
- PLC跳轉(zhuǎn)/標(biāo)號(hào)指令的工作原理及應(yīng)用舉例 5154次閱讀
- BL(B)和LDR跳轉(zhuǎn)范圍是如何規(guī)定的 2112次閱讀
- armv8/armv9的執(zhí)行狀態(tài)的跳轉(zhuǎn)和切換 3874次閱讀
- 鴻蒙內(nèi)核源碼的中斷環(huán)境下的任務(wù)切換 2169次閱讀
- 鴻蒙內(nèi)核源碼之線程環(huán)境下的任務(wù)切換 1371次閱讀
- 鴻蒙內(nèi)核分析:線程中斷環(huán)境下的任務(wù)切換 2497次閱讀
- 三菱PLC有哪些常用指令三菱PLC指令詳細(xì)匯總 5.5w次閱讀
- ARM嵌入式系統(tǒng)的中斷服務(wù)例程跳轉(zhuǎn) 2773次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多