計算機系統(tǒng)組成與體系結(jié)構(gòu) 實驗二實驗報告_第1頁
計算機系統(tǒng)組成與體系結(jié)構(gòu) 實驗二實驗報告_第2頁
計算機系統(tǒng)組成與體系結(jié)構(gòu) 實驗二實驗報告_第3頁
計算機系統(tǒng)組成與體系結(jié)構(gòu) 實驗二實驗報告_第4頁
計算機系統(tǒng)組成與體系結(jié)構(gòu) 實驗二實驗報告_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

HUNANUNIVERSITY課程實習(xí)報告題目尋找80x86指令格式中尋址方式字段的編碼規(guī)律學(xué)生姓名馮玉萍學(xué)生學(xué)號20090830102 專業(yè)班級信息安全一班 一,實驗步驟及分析實驗任務(wù):如前所述,8086/8088每條指令長1~6個字節(jié),指令第1個字節(jié)為操作碼主體加D位W位,第2個字節(jié)為尋址方式字段。在基本實驗過程中,我們將第2~6字節(jié)全部固定為00。實際上,除單字節(jié)指令外,其余指令在尋址方式字段變化時,指令功能應(yīng)該有變化。一、當?shù)?字節(jié)變化時,指令功能有何不同?應(yīng)該如何研究?怎樣才能形成一張包含尋址方式字段的完整指令表?請你自行設(shè)計實驗方案并完成實驗,并提交簡潔明了,條例清晰的實驗報告。分析總結(jié)尋址方式字段的規(guī)律;在你得到的指令全集中,有哪些是無意義的信息?找出源操作數(shù)為立即尋址方式時的指令編碼規(guī)律;(1),分析總結(jié)尋址方式字段的規(guī)律1380:01000000ADD [BX+SI],AL//存儲器尋址,沒有位移量1380:0100004000ADD [BX+SI+00],AL//存儲器尋址,有8位位移量1380:010000800000ADD [BX+SI+0000],AL//存儲器尋址,有16位位移量1380:010000C0ADD AL,AL//寄存器尋址有這四個匯編語言可以知道,第二字節(jié)的高兩位是用來區(qū)分另一個操作數(shù)在寄存器中(寄存器尋址)還是在存儲器中(存儲器尋址)。高兩位尋址方式00存儲器尋址,沒有位移量01存儲器尋址,有8位位移量10存儲器尋址,有16位位移量11寄存器尋址,沒有位移量1380:01000000ADD [BX+SI],AL//存儲器尋址,沒有位移量1380:01000008ADD [BX+SI],CL1380:01000010ADD [BX+SI],DL1380:01000028ADD [BX+SI],CH1380:01000020ADD [BX+SI],AH1380:01000030ADD [BX+SI],DH1380:01000038ADD [BX+SI],BH1380:01000018ADD [BX+SI],BL由上面的八個匯編語言可以看出,第二字節(jié)的3,4,5位是規(guī)定一個寄存器操作數(shù)。1380:01000000ADD [BX+SI],AL1380:01000001ADD [BX+DI],AL1380:01000005ADD [DI],AL由上面可以看出第二字節(jié)的0,1,2位。R/M字段受MOD字段控制。若MOD=11,為寄存器方式,R/M字段將指出第二操作數(shù)所在寄存器編號。MOD=00,01,10為存儲器方式,R/M則指出如何計算存儲器中操作數(shù)地址。綜上所述,得第二字節(jié)的格式如下:操作碼DWMODREGR/M7654321076543210(2),在你得到的指令全集中,有哪些是無意義的信息?在得到的指令中當?shù)谝蛔止?jié)為FF,尋址方式字段由FC開使得到的指令是無意義的。二、為了得到尋址方式字段的完整指令表,你一定使用了DOS的輸入輸出重定向功能,該輸入文件的內(nèi)容是完全人工輸入的,其實這個.txt文件的內(nèi)容是一些很有規(guī)律的debug命令,你能嘗試編程序自動生成這個文件嗎?(用任何你熟悉的語言編程)算術(shù)運算指令:ADDADCINCAAADAA.SUBSBBDECNECCMPAASDASMULIMULAAMDIVIDIVAADCBWCWDCWDECDQ數(shù)據(jù)傳送指令:MOVMOVSXMOVZXPUSHPOPBSWAPXCHGXADDXLATINOUTLEALDSLESLFSLGSLSSLAHFSAHF邏輯運算指令:ANDOR.XORNOTTESTSHLSALSHRSARROLRORRCLRCR.程序控制指令:JMPCALLRET/RETFJAE/JNB.JB/JNAEJBE/JNAJG/JNLEJGE/JNLJL/JNGEJLE/JNGJE/JZJNE/JNZJCJNCJNOJNP/JPOJNSJOJP/JPE.JSLOOPLOOPE/LOOPZLOOPNE/LOOPNZJCXZJECXZINTINTOIRETHLT.WAIT.ESCLOCKNOPSTCCLCCMCSTDCLDSTICLIC語言程序如下所示:#include<stdio.h>#include<conio.h>main(){ FILE*fp;//fp為指向文件的指針 fp=fopen("in1.txt","w");//表示以寫的方式打開文件 if(fp==NULL) printf("fileopenerror\n"); else { charch[60]="e100000000000000"; fprintf(fp,"%s\n",ch); charch1[20]="e101"; charch3[20]="u100105"; charb='q'; inti=0,n=0; while(n<256) { fprintf(fp,"%s%x\n",ch1,n);//向文件中寫入e101十六進制數(shù) fprintf(fp,"%s\n",ch3);//向文件中寫入u100105,表示反匯編100至105 n++; } fprintf(fp,"%c\n",b);//在文件末尾寫入q,表示退出debug fclose(fp);//關(guān)閉文件 }}在debug中利用重定向輸入和輸出將生成in1.txt和out1.txt,使得生成的out1.txt文件中是經(jīng)過反匯編語言的代碼。通過觀察這些代碼,我們也可以得到關(guān)于8086指令集的一些構(gòu)成規(guī)律。生成的兩個文件如下所示:三,實驗日志2011年4月16日星期六在完成基本要求之后,開始做了第一個較高要求,這個較高要求并不難,只是考察我們的分析和對8086匯編語言指令格式的掌握程度,我通過找到幾組匯編語言指令,分析了第二字節(jié)尋

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論