基于虛擬寄存器的中間語言.pdf_第1頁
已閱讀1頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、在嵌入式系統(tǒng)中,為了提高程序執(zhí)行效率而代替高級語言片段使用的內(nèi)嵌匯編嚴(yán)重影響了程序的可移植性和可讀性。為了解決這種矛盾,本文借鑒了主流中間語言(如.net字節(jié)碼和Java字節(jié)碼)的概念和設(shè)計方法,設(shè)計了一種可以和高級語言混合使用的基于虛擬寄存器的中間語言(VR-IL,VirtualRegister-Intermediate Language)。這種中間語言可以高效的轉(zhuǎn)換為機(jī)器語言,同時也可以支持多種目標(biāo)機(jī)器語言。這樣在保持匯編語言的執(zhí)行

2、效率的前提下解決了匯編語言的可移植性問題。本質(zhì)上是以空間和運(yùn)行時編譯時間換取執(zhí)行效率和可移植性。 在語法層面上,VR-IL語言是一種構(gòu)建在C語言函數(shù)基礎(chǔ)上的程序設(shè)計語言,其語句均由實現(xiàn)特定功能的C語言函數(shù)表達(dá),可以認(rèn)為C語言函數(shù)是VR-IL語言的基本語法單位。在語義層面上,VR-IL語言的執(zhí)行以生成中間代碼為目的,按照在生成中間代碼過程中的作用可以把VR-IL語句分為兩類:直接生成中間代碼語句和輔助生成中間代碼語句。VR-IL語

3、言的功能由中間代碼來實現(xiàn)。 VR-IL中間代碼和物理指令存在映射關(guān)系,在形式上,類似物理指令,具有操作數(shù)和操作碼,是物理指令的抽象。為了和物理指令區(qū)別,稱VR-IL中間代碼為虛擬指令。虛擬指令集被賦予了實現(xiàn)語言平臺無關(guān)性的使命,及時編譯器處理器相關(guān)層完成從虛擬指令到物理指令的映射,屏蔽了目標(biāo)處理器指令系統(tǒng)的復(fù)雜細(xì)節(jié),能夠滿足嵌入式系統(tǒng)多平臺應(yīng)用的需求。 VR-IL的編譯過程分為兩階段,首先由高級語言編譯器執(zhí)行靜態(tài)編譯

4、,編譯以后的VR-IL程序運(yùn)行后生成VR-IL中間代碼即VR-IL虛擬指令。然后由VR-IL及時編譯器對中間代碼執(zhí)行動態(tài)編譯,產(chǎn)生可供中間語言外部應(yīng)用程序直接調(diào)用的目標(biāo)機(jī)器代碼,完成整個中間語言編譯過程。 本文實現(xiàn)了一個基本完整的程序語言系統(tǒng),研究、實現(xiàn)了一些現(xiàn)代編譯理論的算法。最后通過比較VR-IL、C和ARM內(nèi)嵌匯編的執(zhí)行時間證明了VR-IL的效率優(yōu)勢,說明VR-IL基本達(dá)到了設(shè)計目標(biāo)。VR-IL不僅為提高高級語言應(yīng)用程序的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論