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

正文內(nèi)容

第八章虛擬機word版-在線瀏覽

2024-09-27 06:04本頁面
  

【正文】 程序的運行環(huán)境,除了上述工作以外,基本上要完整地再做一份完全兼容的 Windows API,并且會遇到DDE、OLE、DirectX 等類似的令人頭疼的兼容性問題。 因此,我們大致可以看到一個比較完整的虛擬機需要在很多的層次上做仿真,總的來說是分為“描述仿真”和“環(huán)境仿真”兩大部分。完整、復(fù)雜的虛擬機是幾乎沒有盡頭的,假想我們要在一臺Unix計算機上運行一個看VCD的Windows 95程序,或是運行一個使用8259中斷、8237DMA的程序……, 有些仿真在理論上是可以實現(xiàn)的,有些則很可能行不通。粗略的介紹完虛擬機的概念以后,接下來將介紹在我們設(shè)計的虛擬機中是如何實現(xiàn)對“仿真”的實現(xiàn)的,在我們設(shè)計的虛擬機中,它主要包含下面幾個部分:一個完整的指令系統(tǒng)、一組寄存器、一個棧、一個用于對象存儲的堆、一組符號表和一個代碼存儲區(qū)。立即數(shù)據(jù)總是緊跟在指令操作碼之后并和操作碼一起存放在代碼段中,因而立即數(shù)據(jù)總是和操作碼一起被放入指令隊列里,在指令執(zhí)行時不需再存取存儲器。2.寄存器尋址 操作數(shù)存放在指令規(guī)定的寄存器中,在我們的虛擬機中,寄存器可以是AX,BX,CX,BP,PC,SP例如: MOV AX, BX執(zhí)行結(jié)果將使寄存器AX中的值為BX的值。 例如: MOV AX, [20]這則指令式將棧中物理地址為20單元的內(nèi)容傳送AX寄存器。這則指令式將棧中物理地址為BX的內(nèi)容的單元的值傳送AX寄存器。這則指令式將棧中物理地址BP的內(nèi)容加上5的單元的值傳送AX寄存器。1.全局變量存儲區(qū)在我們的虛擬機中,每個程序它都使用棧最底部的那幾個單元來作為全局變量存儲區(qū)。因為在活動紀錄區(qū),存儲空間的分配大小是與具體的函數(shù)參數(shù)相關(guān)的,并且它們是生存期也會隨著函數(shù)的返回而結(jié)束。方法的class文件代碼在引用要調(diào)用的方法和要訪問的變量時使用符號。動態(tài)鏈接方法和變量使得方法中使用的其它類的變化不會影響到本程序的代碼。正常的方法返回如果當前方法正常地結(jié)束了,在執(zhí)行了一條具有正確類型的返回指令時,調(diào)用的方法會得到一個返回值。3.對象存儲區(qū)(堆) 目前的語言中尚不需要在堆中分配空間;因此在這里不做介紹。Local varsparamsOld_pcBpPcParams全局數(shù)據(jù)區(qū)Old_bplocal vars分配了全局變量之后,就是程序的活動記錄區(qū),每個函數(shù)的活動記錄格式如下:Bp:棧底指針Pc:返回地址Local vars:局部變量Params:形式參數(shù) 棧中的內(nèi)容在前一節(jié)中,我們介紹了虛擬機的結(jié)構(gòu),在接下來的內(nèi)容中,我們將詳細地講述虛擬機怎樣執(zhí)行我們生成的代碼。 的測試源文件,它的內(nèi)容為:void main() { int a。 a=4。}最后我們將得到一組文件:,, 。第四步:點擊“裝入中間代碼”按鍵,將指令數(shù)據(jù)導(dǎo)入。首先,我們來看看生成的代碼:line0: CALL NEAR PTR _MAINline1: HALT line2: main: MAIN PROC NEARline3: ADD SP 6line4: MOV [BP+2] 0line5: MOV [BP+3] 0line6: MOV
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1