浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 嵌入式系統(tǒng)

ARM指令集

發(fā)布時(shí)間:2008/12/22 0:00:00 訪問(wèn)次數(shù):575

  arm指令集可以分為6類(lèi),即跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器(psr)傳輸指令、load/store指令、協(xié)處理器指令和異常中版產(chǎn)生指令。下面分別對(duì)這6種指令進(jìn)行介紹。

  1.跳轉(zhuǎn)指令

  在arm中有兩種方式可以實(shí)現(xiàn)程序的跳轉(zhuǎn):一種是刀‘轉(zhuǎn)指令;另一種是直接向pc寄存器(r15)中寫(xiě)入目標(biāo)地址值。

  通過(guò)直接向pc寄存器中寫(xiě)入目標(biāo)地址值可以實(shí)現(xiàn)在46b地址空間中任意跳轉(zhuǎn),這種跳轉(zhuǎn)指令又稱為長(zhǎng)跳轉(zhuǎn)。如果在長(zhǎng)跳轉(zhuǎn)指令之前使用mov lr,pc等指令,則可以保存將來(lái)返回的地址值,這樣就實(shí)現(xiàn)了在46b地址空間中的子程序調(diào)用。

  在arm版本5及以上的體系中,實(shí)現(xiàn)了arm指令集和thumb指令集的混合使用。指令使用目標(biāo)地址值的bit[0]來(lái)確定目標(biāo)程序的類(lèi)型。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)。這類(lèi)跳轉(zhuǎn)指令有以下4種。

 。1)b 跳4專(zhuān)指令

  b〔條件) (地址)

  b指令屬于arm指令集,是最簡(jiǎn)單的分支指令。一旦遇到一個(gè)b指令,arm處理器將立即跳轉(zhuǎn)到給定的地址,從那里繼續(xù)執(zhí)行。注意:存儲(chǔ)在分支指令中的實(shí)際值是相對(duì)當(dāng)前r15的值的一個(gè)偏移量,而不是一個(gè)絕對(duì)地址。它的值由匯編器來(lái)計(jì)算,是24位有符號(hào)數(shù),左移兩位后有符號(hào)擴(kuò)展為32位,表示的有效偏移位為26位(+/- 32 mb)。

 。2)bl 帶返回的跳轉(zhuǎn)指令

  bi,〔條件) (地址)

  bl指令也屬于arm指令集,是另一個(gè)分支指令。就在分支之前,在寄存器r14中裝載上r15的內(nèi)容,因此可以重新裝載r14到r15中來(lái)返回到這個(gè)分支之后的那個(gè)指令處執(zhí)行,它是子例程的一個(gè)基本但強(qiáng)力的實(shí)現(xiàn)。

  (3)blx 帶返回和狀態(tài)切換的跳轉(zhuǎn)指令

  blx <地址>

  blx指令有兩種格式,第1種格式的blx指令記作blx(1)。blx(1)從arm指令集跳轉(zhuǎn)到指令中指定的目標(biāo)地址,并將程序狀態(tài)切換到thumb狀態(tài),該指令同時(shí)將pc寄存器的內(nèi)容復(fù)制到lr寄存器中。

  blx(1)指令屬于無(wú)條件執(zhí)行的指令。

  第2種格式的blx指令記作blx(2)。blx(2)指令從arm指令集跳轉(zhuǎn)到指令中指定的目標(biāo)地址,目標(biāo)地址的指令可以是arm指令,也可以是thumb指令。目標(biāo)地址放在指令中的寄存器<dest>中,該地址的bit[0]值為0,目標(biāo)地址處的指令類(lèi)型由cpsr中的t位決定。該指令同時(shí)將pc寄存器的內(nèi)容復(fù)制到lr寄存器中。

 。4)bx 帶狀態(tài)切換的跳轉(zhuǎn)指令

  bx(條件) (dest)

  bx指令跳轉(zhuǎn)到指令中指定的目標(biāo)地址,目標(biāo)地址處的指令可以是arm指令,也可以是thumb指令。目標(biāo)地址值為指令的值和0xfl·ffffff做“與”操作的結(jié)果,目標(biāo)地址處的指令類(lèi)型由寄存器決定。

  歡迎轉(zhuǎn)載,信息來(lái)源維庫(kù)電子市場(chǎng)網(wǎng)(www.dzsc.com)



  arm指令集可以分為6類(lèi),即跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器(psr)傳輸指令、load/store指令、協(xié)處理器指令和異常中版產(chǎn)生指令。下面分別對(duì)這6種指令進(jìn)行介紹。

  1.跳轉(zhuǎn)指令

  在arm中有兩種方式可以實(shí)現(xiàn)程序的跳轉(zhuǎn):一種是刀‘轉(zhuǎn)指令;另一種是直接向pc寄存器(r15)中寫(xiě)入目標(biāo)地址值。

  通過(guò)直接向pc寄存器中寫(xiě)入目標(biāo)地址值可以實(shí)現(xiàn)在46b地址空間中任意跳轉(zhuǎn),這種跳轉(zhuǎn)指令又稱為長(zhǎng)跳轉(zhuǎn)。如果在長(zhǎng)跳轉(zhuǎn)指令之前使用mov lr,pc等指令,則可以保存將來(lái)返回的地址值,這樣就實(shí)現(xiàn)了在46b地址空間中的子程序調(diào)用。

  在arm版本5及以上的體系中,實(shí)現(xiàn)了arm指令集和thumb指令集的混合使用。指令使用目標(biāo)地址值的bit[0]來(lái)確定目標(biāo)程序的類(lèi)型。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)。這類(lèi)跳轉(zhuǎn)指令有以下4種。

 。1)b 跳4專(zhuān)指令

  b〔條件) (地址)

  b指令屬于arm指令集,是最簡(jiǎn)單的分支指令。一旦遇到一個(gè)b指令,arm處理器將立即跳轉(zhuǎn)到給定的地址,從那里繼續(xù)執(zhí)行。注意:存儲(chǔ)在分支指令中的實(shí)際值是相對(duì)當(dāng)前r15的值的一個(gè)偏移量,而不是一個(gè)絕對(duì)地址。它的值由匯編器來(lái)計(jì)算,是24位有符號(hào)數(shù),左移兩位后有符號(hào)擴(kuò)展為32位,表示的有效偏移位為26位(+/- 32 mb)。

  (2)bl 帶返回的跳轉(zhuǎn)指令

  bi,〔條件) (地址)

  bl指令也屬于arm指令集,是另一個(gè)分支指令。就在分支之前,在寄存器r14中裝載上r15的內(nèi)容,因此可以重新裝載r14到r15中來(lái)返回到這個(gè)分支之后的那個(gè)指令處執(zhí)行,它是子例程的一個(gè)基本但強(qiáng)力的實(shí)現(xiàn)。

 。3)blx 帶返回和狀態(tài)切換的跳轉(zhuǎn)指令

  blx <地址>

  blx指令有兩種格式,第1種格式的blx指令記作blx(1)。blx(1)從arm指令集跳轉(zhuǎn)到指令中指定的目標(biāo)地址,并將程序狀態(tài)切換到thumb狀態(tài),該指令同時(shí)將pc寄存器的內(nèi)容復(fù)制到lr寄存器中。

  blx(1)指令屬于無(wú)條件執(zhí)行的指令。

  第2種格式的blx指令記作blx(2)。blx(2)指令從arm指令集跳轉(zhuǎn)到指令中指定的目標(biāo)地址,目標(biāo)地址的指令可以是arm指令,也可以是thumb指令。目標(biāo)地址放在指令中的寄存器<dest>中,該地址的bit[0]值為0,目標(biāo)地址處的指令類(lèi)型由cpsr中的t位決定。該指令同時(shí)將pc寄存器的內(nèi)容復(fù)制到lr寄存器中。

 。4)bx 帶狀態(tài)切換的跳轉(zhuǎn)指令

  bx(條件) (dest)

  bx指令跳轉(zhuǎn)到指令中指定的目標(biāo)地址,目標(biāo)地址處的指令可以是arm指令,也可以是thumb指令。目標(biāo)地址值為指令的值和0xfl·ffffff做“與”操作的結(jié)果,目標(biāo)地址處的指令類(lèi)型由寄存器決定。

  歡迎轉(zhuǎn)載,信息來(lái)源維庫(kù)電子市場(chǎng)網(wǎng)(www.dzsc.com)



相關(guān)IC型號(hào)

熱門(mén)點(diǎn)擊

 

推薦技術(shù)資料

DFRobot—玩的就是
    如果說(shuō)新車(chē)間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!