SMLAL(Signed Multiply Accumulate Long)為64位有符號長乘法指令。指令將Rm和Rs中的值做有符號數(shù)相乘,64位乘積與RdHi,RdLo相加,結(jié)果的低32位保存到RsLo中,而高32位保存到RdHi中。
跳轉(zhuǎn)指令B使程序跳轉(zhuǎn)到指定的地址執(zhí)行程序。帶連接的跳轉(zhuǎn)指令BL將下一條指令的地址拷貝到r14(即返回地址連接寄存器LR)寄存器中,然后跳轉(zhuǎn)到指定地址運行程序。需要注意的是,這兩條指令和目標地址處的指令都要屬于ARM指令集。兩條指令都可以根據(jù)CPSR中的條件標志位的值決定指令是否執(zhí)行。
帶狀態(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代碼
帶連接和狀態(tài)切換的跳轉(zhuǎn)指令BLX(Branch with Link Exchange)使用標號,用于使程序跳轉(zhuǎn)到Thumb狀態(tài)或從Thumb狀態(tài)返回。該指令為無條件執(zhí)行指令,并用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
帶連接和狀態(tài)切換的跳轉(zhuǎn)指令BLX(Branch with Link Exchange)使用一個寄存器中的絕對地址,用于使程序跳轉(zhuǎn)到Thumb狀態(tài)或從Thumb狀態(tài)返回。該指令用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
ARM體系結(jié)構(gòu)允許通過增加協(xié)處理器來擴展指令集。最常用的協(xié)處理器是用于控制片上功能的系統(tǒng)協(xié)處理器。例如控制Cache和存儲管理單元的CP15寄存器。此外,還有用于浮點運算的浮點ARM協(xié)處理器,各生產(chǎn)商還可以根據(jù)需要開發(fā)自己的專用協(xié)處理器。
ARM指令集提供了兩條指令,可直接控制程序狀態(tài)寄存器psr。MRS指令用于把cpsr或者spsr的值傳送到一個寄存器;MSR與之相反,它將一個寄存器的內(nèi)容傳送到cpsr或者spsr。這兩條指令結(jié)合,可用于對cpsr和spsr進行讀/寫操作。
ARMv5及其以上版本提供了一條新的指令——零計數(shù)指令CLZ(Count Leading Zeros)。該指令用于計算最高符號位與第一個1之間的0的個數(shù)。當一些操作數(shù)需要規(guī)范化(使其最高位為1)時,該指令用于計算操作數(shù)需要左移的位數(shù)。
交換指令是load/Store指令的一種特殊形式。該指令將一個存儲器單元內(nèi)容與指定的寄存器內(nèi)容相交換。交換指令為進程間同步提供了一種方便的解決途徑。該指令產(chǎn)生一對原子Load/Store操作,該操作發(fā)生在一個連續(xù)的總線操作中,在操作期間阻止其他任何指令對該存儲單元的讀/寫。
ARM指令集中提供了兩條產(chǎn)生異常的指令,通過這兩條指令可以用軟件的方法實現(xiàn)異常。表9.4總結(jié)了ARM異常產(chǎn)生指令。
本文根據(jù)光纖激光器泵浦源的特點,以設計泵浦源驅(qū)動的人機交互界面為前提,結(jié)合用戶需求和Qt/Embedded特點來開發(fā)嵌入式控制面板。詳細介紹了基于Qt/Embedded的嵌入式應用程序的開發(fā)過程,并成功移植到嵌入板中控制LD正常工作。
本文介紹了GSM無線模塊在嵌入式系統(tǒng)的應用,系統(tǒng)采用基于ARM9核的AT91RM9200微處理器,GSM無線模塊采用華為MG323無線模塊,在嵌入式Linux系統(tǒng)下,通過ARM與MG323進行控制通信,實現(xiàn)了短消息模塊的軟件
在如今這個信息化時代,ARM嵌入式系統(tǒng)在各個領域均得到了廣泛的應用。本文從ARM的概念入手,就ARM嵌入式微處理器的相關內(nèi)容進行了概述,并重點就ARM嵌入式微處理器的應用及發(fā)展情況,以及未來發(fā)展過程
Linux是一種支持多種體系結(jié)構(gòu)處理器的操作系統(tǒng),有很強的移植性。描述了將μClinux移植到基于S3C4510B處理器目標板上的方法與過程。首先介紹了S3C4510B處理器和μClinux,并簡單說明了如何搭建移植環(huán)
本文針對無影照明系統(tǒng)中色溫控制的難題,設計了一種基于ARM微處理器的嵌入式溫度調(diào)節(jié)器,整個智能溫度控制器由微控制器、數(shù)字顯示模塊、溫度傳感器、PWM加熱模塊、時鐘電路等多個部件組成,設計了其中
我們大家知道傳統(tǒng)的鼠標只能做到上下左右移動的功能,而當我們在玩游戲的時候例如大家不陌生的CS游戲,因為對槍的移動、射擊等操作是利用“趴”在桌面上鼠標的移動和點擊實現(xiàn)的,然而真實的場面并不是這樣。
隨著科技的發(fā)展,嵌入式系統(tǒng)的應用越來越廣泛,為了進行射頻功率校準系統(tǒng)的嵌入式軟件開發(fā),需要將嵌入式實時操作系統(tǒng)μC/OS -Ⅱ移植到sharp lh79520微處理器上。分析了嵌入式實時操作系統(tǒng)μC/OS-Ⅱ
1 Linux中流數(shù)據(jù)的操作 在本設計中,數(shù)據(jù)在整個系統(tǒng)中是以流數(shù)據(jù)的形式存在的,Linux內(nèi)核為流數(shù)據(jù)提供了一個標準的編程接口,這種接口為數(shù)據(jù)從外部設備經(jīng)內(nèi)核到達用戶進程提供了一個全雙工通道。 在
為提高通信基站監(jiān)控終端的可靠性和事件處理能力,本文介紹采用 16位 RISC架構(gòu)嵌入式微處理器R8800實現(xiàn)基站監(jiān)控終端的設計。利用 Paradigm C++ 5.1集成環(huán)境編寫監(jiān)控終端控制程序,實現(xiàn)μC/OS-II在 R88
ARM體系結(jié)構(gòu) 目前,ARM系列的通用32位RISC微處理器有ARM7、ARM9、ARM9E、ARM10等多個產(chǎn)品,這些處理器可以工作于7種模式下。除User模式以外的其它模式都叫做特權(quán)模式,除User和System以外的其它5種模式