ARM指令集合ARM指令集合ARM指令集合ARM指令集合
標(biāo)簽: ARM指令集合
上傳時(shí)間: 2015-06-15
上傳用戶:zhang461
ARM的指令集合,對(duì)ARM開發(fā)人員很有參考價(jià)值。
上傳時(shí)間: 2015-09-18
上傳用戶:qb1993225
arm中文指令集合
上傳時(shí)間: 2016-06-26
上傳用戶:cooran
指令集仿真器是目前嵌入式系統(tǒng)研究中一個(gè)極其重要的領(lǐng)域,一個(gè)靈活高效且準(zhǔn)確度高的仿真器不僅可以實(shí)現(xiàn)對(duì)嵌入式系統(tǒng)硬件環(huán)境的仿真,而且是現(xiàn)代微處理器結(jié)構(gòu)設(shè)計(jì)過程中性能評(píng)估的重要工具. 仿真器的性能已經(jīng)成為影響整個(gè)設(shè)計(jì)效率的重要因素,在現(xiàn)有的指令集仿真技術(shù)中,編譯型仿真技術(shù)雖然可以獲得高的仿真速度,但其對(duì)應(yīng)用的假設(shè)過于嚴(yán)格,限制了其在商業(yè)領(lǐng)域中的應(yīng)用;解釋型仿真器雖被普遍使用,但其缺點(diǎn)也很明顯,由于模擬過程中需要耗費(fèi)大量時(shí)間用于指令譯碼,解釋型模擬器速度往往很有限,使用性能較低。由此可見,如何減少仿真過程中的指令譯碼時(shí)間,是提高仿真器的性能的關(guān)鍵。 本文旨在提出一個(gè)指令集仿真器的原型,重點(diǎn)解決指令解碼過程中的速度瓶頸,在其基礎(chǔ)可以進(jìn)行擴(kuò)充和改進(jìn),以適應(yīng)不同硬件平臺(tái)的需要。文章首先從ARM指令集的指令功能和編碼格式入手,通過分析和比較找出了一般常用指令的編碼和實(shí)現(xiàn)規(guī)律,并在此基礎(chǔ)上進(jìn)行了高級(jí)語言的描述,其后提出了改進(jìn)版解釋型指令集仿真器的設(shè)計(jì)方案,包括為提高仿真器性能,減少譯碼時(shí)間,創(chuàng)新性的在流程設(shè)計(jì)中加入了預(yù)解碼的步驟,同時(shí)用自己設(shè)計(jì)的壓縮算法解決了因預(yù)解碼產(chǎn)生大量譯碼信息而帶來的內(nèi)存過度消耗難題。接下來,描述了仿真器的實(shí)現(xiàn),包括指令的取指、譯碼、執(zhí)行等基本功能,并著重描述了如何通過劃分存儲(chǔ)域和存儲(chǔ)塊的方式模擬真實(shí)存儲(chǔ)器的讀寫訪問實(shí)現(xiàn)。 另外,需要特別指出的是,針對(duì)仿真器中普遍存在的調(diào)試難問題,本文從一線程序開發(fā)人員的角度,在調(diào)試模塊的設(shè)計(jì)中除了斷點(diǎn)設(shè)置、程序暫停、恢復(fù)等基本功能外,還添加了各類監(jiān)視設(shè)備和程序跟蹤的功能,以期能提高本仿真器的實(shí)用性。 在文章的結(jié)尾,提出了仿真器的驗(yàn)證方案,并按照該方案對(duì)仿真器進(jìn)行了功能和性能上的驗(yàn)證,最后對(duì)進(jìn)一步的工作進(jìn)行了展望。
上傳時(shí)間: 2013-08-02
上傳用戶:宋桃子
關(guān)于arm指令集的小軟件,在編程時(shí)樂意很方便地查找指令用法,很方便,推薦下。
上傳時(shí)間: 2013-06-12
上傳用戶:wys0120
ARM指令集(2) 1.跳轉(zhuǎn)指令 在ARM中有兩種方式可以實(shí)現(xiàn)程序的跳轉(zhuǎn):一種是刀‘轉(zhuǎn)指令;另一種是直接向PC寄存器(R15)中寫入目標(biāo)地址值。 通過直接向PC寄存器中寫入目標(biāo)地址值可以實(shí)現(xiàn)在46B地址空間中任意跳轉(zhuǎn),這種跳轉(zhuǎn)指令又稱為長跳轉(zhuǎn)。如果在長跳轉(zhuǎn)指令之前使用MOV LR,PC等指令,則可以保存將來返回的地址值,這樣就實(shí)現(xiàn)了在46B地址空間中的子程序調(diào)用。 在ARM版本5及以上的體系中,實(shí)現(xiàn)了ARM指令集和Thumb指令集的混合使用。指令使用目標(biāo)地址值的bit[0]來確定目標(biāo)程序的類型。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)。這類跳轉(zhuǎn)指令有以下4種。
上傳時(shí)間: 2013-11-20
上傳用戶:妄想演繹師
arm指令集(1) ARM跳轉(zhuǎn)指令可以從當(dāng)前指令向前或向后的32MB地址空間跳轉(zhuǎn)。這類跳轉(zhuǎn)指令有以下4種。 (1)B 跳4專指令 B〔條件) (地址) B指令屬于ARM指令集,是最簡單的分支指令。一旦遇到一個(gè)B指令,ARM處理器將立即跳轉(zhuǎn)到給定的地址,從那里繼續(xù)執(zhí)行。注意:存儲(chǔ)在分支指令中的實(shí)際值是相對(duì)當(dāng)前R15的值的一個(gè)偏移量,而不是一個(gè)絕對(duì)地址。它的值由匯編器來計(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中來返回到這個(gè)分支之后的那個(gè)指令處執(zhí)行,它是子例程的一個(gè)基本但強(qiáng)力的實(shí)現(xiàn)。 ?。?)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)指令屬于無條件執(zhí)行的指令。 第2種格式的BLX指令記作BLX(2)。BLX(2)指令從ARM指令集跳轉(zhuǎn)到指令中指定的目標(biāo)地址,目標(biāo)地址的指令可以是ARM指令,也可以是Thumb指令。目標(biāo)地址放在指令中的寄存器<dest>中,該地址的bit[0]值為0,目標(biāo)地址處的指令類型由CPSR中的T位決定。該指令同時(shí)將PC寄存器的內(nèi)容復(fù)制到LR寄存器中。 ?。?)BX 帶狀態(tài)切換的跳轉(zhuǎn)指令 BX(條件) (dest) BX指令跳轉(zhuǎn)到指令中指定的目標(biāo)地址,目標(biāo)地址處的指令可以是ARM指令,也可以是Thumb指令。目標(biāo)地址值為指令的值和0xFl·FFFFFF做“與”操作的結(jié)果,目標(biāo)地址處的指令類型由寄存器決定。
上傳時(shí)間: 2014-12-27
上傳用戶:laomv123
隨著嵌入式系統(tǒng)軟件的發(fā)展,以及嵌入式應(yīng)用在各個(gè)行業(yè)的普及,嵌入式系統(tǒng)開發(fā)已經(jīng)被越來越多的人所關(guān)注。目前,嵌入式軟件更新頻率快,因此要求開發(fā)者在短期內(nèi)能開發(fā)出具有針對(duì)型的應(yīng)用程序,然而嵌入式系統(tǒng)運(yùn)行環(huán)境往往是用戶制定,并且運(yùn)行在特定的硬件環(huán)境中。常規(guī)的軟件開發(fā)方法往往導(dǎo)致嵌入式系統(tǒng)開發(fā)效率低下,同時(shí)大幅提高了開發(fā)成本。因此,實(shí)現(xiàn)對(duì)嵌入式系統(tǒng)硬件環(huán)境的仿真能有效提高嵌入式系統(tǒng)開發(fā)效率。本文針對(duì)此問題,結(jié)合現(xiàn)有ARM體系架構(gòu)和指令集模擬器實(shí)現(xiàn)原理,提出了一套基于X86平臺(tái)的ARM指令集模擬器的設(shè)計(jì)方案。
上傳時(shí)間: 2013-10-23
上傳用戶:neu_liyan
常用ARM指令集及匯編
上傳時(shí)間: 2014-11-28
上傳用戶:lvzhr
ARM指令集 QRC0001H_rvct_v2.1_thumb.rar
標(biāo)簽: H_rvct_v thumb 0001 ARM
上傳時(shí)間: 2014-01-10
上傳用戶:徐孺
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1