
ORR(Logical OR)為邏輯或操作指令,將第二個源操作數的值與寄存器Rn的值按位做邏輯或操作,結果保存到Rd中。
BIC(Bit Clear)位清零指令,將寄存器Rn的值與第二源操作數的值的反碼按位做“邏輯與”操作,結果保存到Rd中。
MLA(Multiply Accumulate)32位乘累加指令將Rm和Rs中的值相乘,再將乘積加上第3個操作數,結果的最低32位保存到Rd中。
UMULL(Unsigned Multiply Long)為64位無符號乘法指令。指令將Rm和Rs中的值做無符號數相乘,結果的低32位保存到RsLo中,而高32位保存到RdHi中。
MLA(Multiply Accumulate)32位乘累加指令將Rm和Rs中的值相乘,再將乘積加上第3個操作數,結果的最低32位保存到Rd中。
UMLAL(Unsigned Multiply Accumulate Long)為64位無符號長乘-累加指令。指令將Rm和Rs中的值做無符號數相乘,64位乘積與RdHi,RdLo相加,結果的低32位保存到RsLo中,而高32位保存到RdHi中。
SMULL(Signed Multiply Long)64位有符號長乘法指令。指令將Rm和Rs中的值做有符號數相乘,結果的低32位保存到RsLo中,而高32位保存到RdHi中。
SMLAL(Signed Multiply Accumulate Long)為64位有符號長乘法指令。指令將Rm和Rs中的值做有符號數相乘,64位乘積與RdHi,RdLo相加,結果的低32位保存到RsLo中,而高32位保存到RdHi中。
跳轉指令B使程序跳轉到指定的地址執(zhí)行程序。帶連接的跳轉指令BL將下一條指令的地址拷貝到r14(即返回地址連接寄存器LR)寄存器中,然后跳轉到指定地址運行程序。需要注意的是,這兩條指令和目標地址處的指令都要屬于ARM指令集。兩條指令都可以根據CPSR中的條件標志位的值決定指令是否執(zhí)行。
帶狀態(tài)切換的跳轉指令BX使程序跳轉到指令中指定的參數Rm指定的地址執(zhí)行程序,Rm的第0位拷貝到CPSR中T位,位[31∶1]移入PC。若Rm的bit[0]為1,則跳轉時自動將CPSR中的標志位T置位,即把目標地址的代碼解釋為Thumb代碼;若Rm的位bit[0]為0,則跳轉時自動將CPSR中的標志位T復位,即把目標地址代碼解釋為ARM代碼
帶連接和狀態(tài)切換的跳轉指令BLX(Branch with Link Exchange)使用標號,用于使程序跳轉到Thumb狀態(tài)或從Thumb狀態(tài)返回。該指令為無條件執(zhí)行指令,并用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
帶連接和狀態(tài)切換的跳轉指令BLX(Branch with Link Exchange)使用一個寄存器中的絕對地址,用于使程序跳轉到Thumb狀態(tài)或從Thumb狀態(tài)返回。該指令用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
ARM體系結構允許通過增加協處理器來擴展指令集。最常用的協處理器是用于控制片上功能的系統(tǒng)協處理器。例如控制Cache和存儲管理單元的CP15寄存器。此外,還有用于浮點運算的浮點ARM協處理器,各生產商還可以根據需要開發(fā)自己的專用協處理器。
ARM指令集提供了兩條指令,可直接控制程序狀態(tài)寄存器psr。MRS指令用于把cpsr或者spsr的值傳送到一個寄存器;MSR與之相反,它將一個寄存器的內容傳送到cpsr或者spsr。這兩條指令結合,可用于對cpsr和spsr進行讀/寫操作。
ARMv5及其以上版本提供了一條新的指令——零計數指令CLZ(Count Leading Zeros)。該指令用于計算最高符號位與第一個1之間的0的個數。當一些操作數需要規(guī)范化(使其最高位為1)時,該指令用于計算操作數需要左移的位數。
交換指令是load/Store指令的一種特殊形式。該指令將一個存儲器單元內容與指定的寄存器內容相交換。交換指令為進程間同步提供了一種方便的解決途徑。該指令產生一對原子Load/Store操作,該操作發(fā)生在一個連續(xù)的總線操作中,在操作期間阻止其他任何指令對該存儲單元的讀/寫。
ARM指令集中提供了兩條產生異常的指令,通過這兩條指令可以用軟件的方法實現異常。表9.4總結了ARM異常產生指令。
本文根據光纖激光器泵浦源的特點,以設計泵浦源驅動的人機交互界面為前提,結合用戶需求和Qt/Embedded特點來開發(fā)嵌入式控制面板。詳細介紹了基于Qt/Embedded的嵌入式應用程序的開發(fā)過程,并成功移植到嵌入板中控制LD正常工作。
本文介紹了GSM無線模塊在嵌入式系統(tǒng)的應用,系統(tǒng)采用基于ARM9核的AT91RM9200微處理器,GSM無線模塊采用華為MG323無線模塊,在嵌入式Linux系統(tǒng)下,通過ARM與MG323進行控制通信,實現了短消息模塊的軟件
在如今這個信息化時代,ARM嵌入式系統(tǒng)在各個領域均得到了廣泛的應用。本文從ARM的概念入手,就ARM嵌入式微處理器的相關內容進行了概述,并重點就ARM嵌入式微處理器的應用及發(fā)展情況,以及未來發(fā)展過程