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

正文內(nèi)容

第八章虛擬機(jī)word版(編輯修改稿)

2025-09-13 06:04 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 是BP的內(nèi)容加上5的結(jié)果作為操作數(shù)存放的單元地址。這則指令式將棧中物理地址BP的內(nèi)容加上5的單元的值傳送AX寄存器。 內(nèi)存設(shè)計(jì)在我們的虛擬機(jī)中,存儲(chǔ)區(qū)主要有三個(gè)部分構(gòu)成:全局變量存儲(chǔ)區(qū)、活動(dòng)記錄區(qū)、對(duì)象存儲(chǔ)區(qū)(堆)。1.全局變量存儲(chǔ)區(qū)在我們的虛擬機(jī)中,每個(gè)程序它都使用棧最底部的那幾個(gè)單元來(lái)作為全局變量存儲(chǔ)區(qū)。這樣做的原因是和后面的活動(dòng)記錄區(qū)設(shè)計(jì)聯(lián)系在一起的。因?yàn)樵诨顒?dòng)紀(jì)錄區(qū),存儲(chǔ)空間的分配大小是與具體的函數(shù)參數(shù)相關(guān)的,并且它們是生存期也會(huì)隨著函數(shù)的返回而結(jié)束。2.活動(dòng)記錄區(qū) 在活動(dòng)記錄區(qū)中包含的信息用于對(duì)象的動(dòng)態(tài)鏈接,正常的方法返回以及異常傳播。動(dòng)態(tài)鏈接 運(yùn)行環(huán)境包括對(duì)指向當(dāng)前類(lèi)和當(dāng)前方法的解釋器符號(hào)表的指針,用于支持方法代碼的動(dòng)態(tài)鏈接。方法的class文件代碼在引用要調(diào)用的方法和要訪問(wèn)的變量時(shí)使用符號(hào)。動(dòng)態(tài)鏈接把符號(hào)形式的方法調(diào)用翻譯成實(shí)際方法調(diào)用,裝載必要的類(lèi)以解釋還沒(méi)有定義的符號(hào),并把變量訪問(wèn)翻譯成與這些變量運(yùn)行時(shí)的存儲(chǔ)結(jié)構(gòu)相應(yīng)的偏移地址。動(dòng)態(tài)鏈接方法和變量使得方法中使用的其它類(lèi)的變化不會(huì)影響到本程序的代碼。正常的方法返回如果當(dāng)前方法正常地結(jié)束了,在執(zhí)行了一條具有正確類(lèi)型的返回指令時(shí),調(diào)用的方法會(huì)得到一個(gè)返回值。執(zhí)行環(huán)境在正常返回的情況下用于恢復(fù)調(diào)用者的寄存器,并把調(diào)用者的程序計(jì)數(shù)器增加一個(gè)恰當(dāng)?shù)臄?shù)值,以跳過(guò)已執(zhí)行過(guò)的方法調(diào)用指令,然后在調(diào)用者的執(zhí)行環(huán)境中繼續(xù)執(zhí)行下去。3.對(duì)象存儲(chǔ)區(qū)(堆) 目前的語(yǔ)言中尚不需要在堆中分配空間;因此在這里不做介紹。4.棧中內(nèi)容介紹:從棧的最底部開(kāi)始,我們?cè)谀抢锎鎯?chǔ)了程序中的全局變量,將需要對(duì)全局變量進(jìn)行訪問(wèn)時(shí),我們首先通過(guò)查詢(xún)符號(hào)表,獲取它在棧中相對(duì)棧底的偏移位置,然后直接讀取這個(gè)單元的內(nèi)容即可。Local varsparamsOld_pcBpPcParams全局?jǐn)?shù)據(jù)區(qū)Old_bplocal vars分配了全局變量之后,就是程序的活動(dòng)記錄區(qū),每個(gè)函數(shù)的活動(dòng)記錄格式如下:Bp:棧底指針Pc:返回地址Local vars:局部變量Params:形式參數(shù) 棧中的內(nèi)容在前一節(jié)中,我們介紹了虛擬機(jī)的結(jié)構(gòu),在接下來(lái)的內(nèi)容中,我們將詳細(xì)地講述虛擬機(jī)怎樣執(zhí)行我們生成的代碼。第一步:對(duì)源文件進(jìn)行語(yǔ)法分析、詞法分析……直至生成目標(biāo)代碼。 的測(cè)試源文件,它的內(nèi)容為:void main() { int a。 int b。 a=4。 b=5+a。}最后我們將得到一組文件:,,, 。第二步:運(yùn)行虛擬機(jī)程序,我們將見(jiàn)到以下的界面: 界面第三步:點(diǎn)擊“裝入元數(shù)據(jù)”按鍵,將符號(hào)表數(shù)據(jù)導(dǎo)入。第四步:點(diǎn)擊“裝入中間代碼”按鍵,將指令數(shù)據(jù)導(dǎo)入。到這里,程序的裝入工作就已經(jīng)完成了,然后我們點(diǎn)擊“單步執(zhí)行”按鍵,就可以運(yùn)行代碼了。首先,我們來(lái)看看生成的代碼:line0: CALL NEAR PTR _MAINline1: HALT line2: main: MAIN PROC NEARline3: ADD SP 6line4: MOV [BP+2] 0line5: MOV [BP+3] 0line6: MOV AX 1line7:
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1