freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linux平臺(tái)下的mix匯編器設(shè)計(jì)與實(shí)現(xiàn)(doc畢業(yè)設(shè)計(jì)論文)(已修改)

2025-04-19 06:13 本頁面
 

【正文】 Linux平臺(tái)下的MIX匯編器設(shè)計(jì)與實(shí)現(xiàn)The Design and Realization of MIX Compiler under 目 錄第1章 緒論 1 Linux下編譯的一般過程 1 Makefile文件簡介 2 C++編程語言 3 GCC編譯器簡介 3第2章 系統(tǒng)開發(fā)基礎(chǔ)知識(shí)簡介 4 MIX系統(tǒng)及匯編語言簡介 4 MIX系統(tǒng)簡介 4 MIX指令集 6 MIXAL匯編語言 7 虛擬機(jī)技術(shù)簡介 8第3章 系統(tǒng)總體規(guī)劃及設(shè)計(jì) 9 概要介紹 9 MIX匯編語言的匯編 9 MIX機(jī)器指令的載入 9 MIX機(jī)器指令的運(yùn)行 9 匯編器概要設(shè)計(jì) 10 詞法分析器 10 語法分析器 10 代碼生成器 11 符號(hào)表 11 錯(cuò)誤處理模塊 11 匯編器主要數(shù)據(jù)結(jié)構(gòu)及算法 11 地址計(jì)數(shù)器LC 11 符號(hào)表 11 未知標(biāo)號(hào)表 12第4章 系統(tǒng)具體設(shè)計(jì)與實(shí)現(xiàn) 13 MIX系統(tǒng)基本結(jié)構(gòu)模塊概述 13 MIX虛擬機(jī)系統(tǒng)的具體實(shí)現(xiàn) 13 Makefile文件 15 MIX虛擬機(jī)主程序 17 MIXAL匯編調(diào)試器主程序 18 Assemble匯編程序 18結(jié) 論 22參考文獻(xiàn) 23摘 要MIX計(jì)算機(jī)是一個(gè)假想的計(jì)算機(jī),它來源于著名的《計(jì)算機(jī)編程藝術(shù)》(the art of puter programing)?,F(xiàn)實(shí)中并沒有真正的實(shí)體機(jī)器,為了學(xué)習(xí)這本書,作者就在自己的PC上實(shí)現(xiàn)該計(jì)算機(jī)的虛擬機(jī)以使書上的代碼可以順利運(yùn)行。C/C++是Linux操作系統(tǒng)平臺(tái)下的主流語言,相對(duì)簡便好用,就選用C++作為實(shí)現(xiàn)的主要語言,這涉及到Linux平臺(tái)下的基本的C++編譯的知識(shí)。這部分編譯知識(shí)與平常使用較多的Windows平臺(tái)下的編譯知識(shí)有著顯著不同,所以會(huì)進(jìn)行較多的介紹。在一臺(tái)電腦上模擬另一種體系結(jié)構(gòu)不同的計(jì)算機(jī)涉及到了虛擬機(jī)的基本知識(shí),虛擬機(jī)技術(shù)的核心是匯編技術(shù)。本文首先簡單介紹了Linux下編譯的一般過程、Makefile文件以及開發(fā)環(huán)境,包括MIX系統(tǒng)、匯編語言以及虛擬機(jī)技術(shù)。然后介紹了本系統(tǒng)的總體規(guī)劃及設(shè)計(jì)。最后講述了系統(tǒng)具體設(shè)計(jì)與實(shí)現(xiàn)。關(guān)鍵詞 MIX匯編器,VM技術(shù),C/C++,Linux ABSTRACTMIX is a fictitious 16 bits puter created by D in his famous book—The Art of Computer Programming,and all algorithms in his book are coded by MIX assemble language. Nowadays puters can not execute those codes, so I want to achieve the main system structure of this machine on my PC for learning this book. There is not a such software in the Linux platform, so that is a good idea to actualize it under the Linux platform. C/C++ are the system languages of the Linux operating system, and I choose the C++ as a main language. The C++ piler knowledge of the Linux operating system is very different from Windows’, so I shall give a particular introduction about it. The Virtual Machine technology is the central idea to “virtual” a machine, and of course it is the most important technology to the realization of MIX puter system. The main idea of VM is involved the assemble technology.This paper firstly introduces the process of piler under Linux Platform, the file of Makefile and the background of the explains the design of this system as a whole. Finally, introduces the realize of this system.Keywords MIX piler, Vm technolegy, C++, Linux第1章 緒論《計(jì)算機(jī)編程藝術(shù)》(The art of puter programming)中描述的一種計(jì)算機(jī),他書中的所有算法都由該計(jì)算機(jī)的匯編語言實(shí)現(xiàn)。但現(xiàn)實(shí)生活中并沒有運(yùn)行MIX體系結(jié)構(gòu)的計(jì)算機(jī),所以在現(xiàn)有的計(jì)算機(jī)上并不能直接運(yùn)行書中的MIX匯編代碼。唯一的辦法只有在現(xiàn)有的計(jì)算機(jī)上將MIX的主要體系結(jié)構(gòu)加以模仿,使它可以運(yùn)行書中的MIX匯編代碼。由于在Linux平臺(tái)下并沒有相關(guān)的軟件存在,所以在Linux下構(gòu)造這樣一個(gè)具有MIX計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的虛擬機(jī)具有開創(chuàng)性的意義。實(shí)現(xiàn)的MIX匯編器的主要的作用是運(yùn)行MIX匯編語言,它的主體部分是一個(gè)匯編器。虛擬機(jī)的實(shí)現(xiàn)依賴于對(duì)計(jì)算機(jī)系統(tǒng)模仿,除去平臺(tái)和語言的關(guān)系,最主要的技術(shù)是虛擬機(jī)技術(shù),該技術(shù)通過軟件的方法使在一臺(tái)計(jì)算機(jī)上運(yùn)行另一臺(tái)體系結(jié)構(gòu)完全不同的計(jì)算機(jī)的機(jī)器指令的想法成為了可能。這其中最主要的代表便是Java虛擬機(jī),它使Java語言實(shí)現(xiàn)了“平臺(tái)無關(guān)性”。因此借鑒這個(gè)很著名的虛擬機(jī)技術(shù)來實(shí)現(xiàn)對(duì)該系統(tǒng)的模擬會(huì)有性能上的保證。下面,首先對(duì)編程的基本環(huán)境作一個(gè)簡單的介紹,然后就開始介紹該虛擬機(jī)的設(shè)計(jì)與實(shí)現(xiàn)。Linux平臺(tái)下的編程習(xí)慣與Windows平臺(tái)下有很大的不同,它很“原始”,基本上所有的東西都要自己設(shè)置,下面假定讀者極少接觸Linux,會(huì)對(duì)Linux平臺(tái)下的編程技術(shù)作一個(gè)相對(duì)簡要但清楚的介紹。 Linux下編譯的一般過程。它基本的開發(fā)工具是Vi,與Windows下的記事本很相像,在它上面輸入源程序,然后用命令執(zhí)行該程序。Linux支持多種語言,例如C語言、C++語言以及perl語言等。最常見和最重要的是C語言的編譯器GCC與C++語言的編譯器G++。這個(gè)執(zhí)行者有著多達(dá)一百條的編譯命令在需要時(shí)讓你輸,并且需要編程者與操作系統(tǒng)直接打交道,對(duì)于需要操作系統(tǒng)功能調(diào)用的地方,程序員必須自己設(shè)置適合的系統(tǒng)調(diào)用以及庫函數(shù)。Linux下編寫程序的基本步驟是:(1)用vi或Emacs寫下源代碼,保存。(2)用GCC編譯它(在命令行下輸入命令:gcc –編譯選項(xiàng) —)。(3)一般情況下,若編譯無錯(cuò)誤的話,鍵入如下命令運(yùn)行它:。當(dāng)然在很多情況下不能一次就正確編譯通過,會(huì)有很多錯(cuò)誤需要改正和調(diào)試,這時(shí)候就可以用GCC自帶的調(diào)試工具進(jìn)行調(diào)試,直至可以運(yùn)行。以上僅是最一般的匯編過程,若是有多個(gè)源文件的大型程序,就不得不自己定義他們之間的相互依賴關(guān)系和編譯調(diào)用關(guān)系,這就涉及到了Make工具和Makefile文件,這可能是與Windows平臺(tái)下的編程習(xí)慣最不同的一點(diǎn),所以對(duì)此作稍微詳細(xì)的介紹。 Makefile文件簡介Make工具能自動(dòng)地確定一個(gè)大程序系統(tǒng)中哪些程序文件需要被重新編譯,并發(fā)出命令對(duì)這些程序文件進(jìn)行編譯。Make命令執(zhí)行時(shí),需要一個(gè)Makefile文件,以告訴Make命令需要怎么樣去編譯和鏈接程序。Makefile關(guān)系到了整個(gè)工程的編譯規(guī)則。一個(gè)工程中的源文件不計(jì)其數(shù),其按類型、功能、模塊分別放在若干個(gè)目錄中,Makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至進(jìn)行更復(fù)雜的功能操作,因?yàn)镸akefile就像一個(gè)Shell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令。Makefile規(guī)則如下:target ... : prerequisites ... mand ... ... (1)Target:是一個(gè)目標(biāo)文件,也可以是執(zhí)行文件,還可以是一個(gè)標(biāo)簽(Label)。(2)Prerequisites:就是要生成target所需要的文件或是目標(biāo)。(3)Command:是make需要執(zhí)行的命令(任意的Shell命令)。這是一個(gè)文件的依賴關(guān)系,也就是說,Target這一個(gè)或多個(gè)的目標(biāo)文件依賴于Prerequisites中的文件,其生成規(guī)則定義在Comman
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1