實(shí)驗(yàn)報(bào)告樣本_第1頁
實(shí)驗(yàn)報(bào)告樣本_第2頁
實(shí)驗(yàn)報(bào)告樣本_第3頁
實(shí)驗(yàn)報(bào)告樣本_第4頁
實(shí)驗(yàn)報(bào)告樣本_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

信息管理學(xué)院學(xué)生實(shí)驗(yàn)報(bào)告學(xué)生姓名學(xué)號(hào)同組人無實(shí)驗(yàn)項(xiàng)目實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)儀器臺(tái)號(hào)指導(dǎo)教師實(shí)驗(yàn)日期及節(jié)次”必修口選修一、實(shí)驗(yàn)綜述1、實(shí)驗(yàn)?zāi)康募耙笫炀欴UBUG的使用利用DEBUG學(xué)習(xí)8086CPU的指令練習(xí)各指令的使用,將實(shí)驗(yàn)過程中的表格在計(jì)算機(jī)上進(jìn)行操作,同時(shí)填寫所給出的表格中的內(nèi)容,并在實(shí)驗(yàn)之前預(yù)習(xí)并填好所預(yù)期的結(jié)果,把結(jié)果進(jìn)行對(duì)比。2、實(shí)驗(yàn)儀器、設(shè)備或軟件計(jì)算機(jī)一臺(tái)DEBUG軟件二、實(shí)驗(yàn)過程(實(shí)驗(yàn)步驟、記錄、數(shù)據(jù)、分析)1.實(shí)驗(yàn)內(nèi)容一數(shù)據(jù)傳送:對(duì)以下程序段,寫出每條指令執(zhí)行的預(yù)期結(jié)果和實(shí)際結(jié)果。指令序列預(yù)期結(jié)果執(zhí)行結(jié)果Moval,4Al=04hAl=04hMovcx,0ffhCx=00ffhCx=00ffhMovsi,200hSi=0200hSi=0200hMovbyteptr[si],0ah[200]=0ahds:[0200]=0ahMovwordptr[si+2],0bhDs:[0202]=0bhDs:[0203]=00hDs:[0202]=0bhDs:[0203]=00h用-a匯編指令實(shí)現(xiàn)給al,cx,si的賦值即得到執(zhí)行結(jié)果,后兩步的操作如下截圖

QB1A:0118novbyteptrPtH?=00Q4bx=aaaack=b0ffdk=00sosf=ffeeBF=aaaasi=02013I)£=SB1AEG=BB1AGS=0BlfiCS=0BlfiIP=0113NUUPElFLMZNeBlA:Q1130744320600MOUMORDFIB[SI+02],00aBRd2002056B1A:020??A4BB32E381C-p-a6B1A:SUBmouuopdptrfsi+2],0beBiA:012Oktnx=0004BX=9999CX=00FFDX=3S3S£P(guān)=FFEEBP=aasa£1=0200I)S=0B1AES=0B1ASS=0BlfiCS=0B1AIP=0118NUUPElPLNZNEIB1A:0118CG040AMOUBVTEPTB[SI],0APd2002050E1仙:@2自廂康計(jì)4BHR■舊39-通過觀察實(shí)驗(yàn)結(jié)果可知wordptr和byteptr在內(nèi)存中占的字節(jié)是不同的,前者改變兩個(gè)字節(jié),而后者則只改變一個(gè)字節(jié)。指令序列Movax,1234h指令序列Movax,1234hMovbx,5678hXchgax,bxXchgah,alDs:100處的數(shù)據(jù)依次為:Movbx,100hMoval,03hXlat預(yù)期結(jié)果ax=1234hbx=5678hax=5678h,bx=1234hah=78h,al=56h,0B,1B,2C,3C

bx=0100hal=03hal=2ch執(zhí)行結(jié)果ax=1234hbx=5678hax=5678h,bx=1234hah=78h,al=56hbx=0100hal=03hal=2ch2.實(shí)驗(yàn)內(nèi)容一堆棧操作:R命令使sp=100h,ss=2000hSp=0100hSs=2000hSp=0100hSs=2000hmovax,0a0bhAx=0a0bhAx=0a0bhPushaxSp=00feh,ax中的數(shù)據(jù)存儲(chǔ)到哪幾個(gè)存儲(chǔ)單元?00feh00ffhSp=00feh,存儲(chǔ)到00feh,00ffh兩個(gè)存儲(chǔ)單元movbp,0fchMovsi,2hMovcl,[bp][si]Cl=0bhCl=0bhPopbxSp=0100h,bx=0a0bhsp=0100h,bx=0a0bhLEAsi,[bp][si]Si=00fehSi=00fehbp,fcsi,2在此處進(jìn)行操作時(shí),一開始由于未能把握堆棧的查看操作應(yīng)該使用ss的段地址,使查看時(shí)使用默認(rèn)的dsbp,fcsi,20B1A:&12?FIBtA:R12ftngclUbpMsiJ0B1A:0L2C-t3EX=0Q90S=0B1AES=0BLACX=B0FFDX=000QSP=0BFEEX=0Q90S=0B1AES=0BLACX=B0FFDX=000QSP=0BFESS=B20f?CS=0BlflIP=0127HOUSI,0BU2BP=B0FCEl=0206DI=0009PLHZNAFONCX=0AHR胴工明叫S=0B1AES=0E1AB1A:012A8A0ACX=fiHFFD?=HWHRSP=P0FFSS=Q20?CS=0blA1P=012ANOUCL.[BP+SJ)HP=BHFCDINUUPElTTFM^TiAPONCSS:II;X=0AQBE*=施麗II;X=0AQBE*=施麗S=0B1AES=0B1AB1A:BL2C區(qū)阿42"DX=000QSP=00FESS=B200CS=0BlflIP^BtZCADD計(jì)BP=00FCSI=9002DI=0009NUUPElPLNZNAPONC再查看結(jié)果用一dss:00fe命令,因?yàn)槎褩5臈m斒?0fe,而堆棧段的內(nèi)容是存儲(chǔ)在以ss為段地址的段寄存器中。實(shí)驗(yàn)內(nèi)容一算術(shù)運(yùn)算指令序列預(yù)期結(jié)果執(zhí)行結(jié)果Moval,0fbhAl=fbhAlfh

Addal,07hAl=02hOF,SF,ZF,AF,PF,CF0,0,1,1,0,1Al=02h0,0,1,1,0,1Movwordptr[200],4652h目的操作數(shù)物理地址=13cf0h執(zhí)行后相應(yīng)內(nèi)存單兀的值=4652h物理地址=0ba30h[200]=52h,[201]=46hMovbx,1fehBx=01fehBx=01fehAddal,blAl=00hBL=fehOF,SF,ZF,AF,PF,CF0,0,1,1,1Al=00h,bl=feh0,0,1,1,1,1Adcwordptr[bx+2],f0f0h目的操作數(shù)物理地址=13cf0h執(zhí)行后相應(yīng)內(nèi)存單兀的值=3743h目的操作數(shù)物理地址=0ba30h執(zhí)行后相應(yīng)內(nèi)存單元的值=3743h=-a?0B1A:0133mouuordptr[200],46520B1A:0139-tX=0A02BX=0A0BCX=000BDX=0000SP=0100BP=00S=0B1AES=0BlfjSS=0200CS=0BlfiIP=0139NUUB1A:013921B4"l£CDAND[SI+CD3E],SId200205B1A:020052460B00381CAAA2aBBBt一300一BX=01FEE=SBiAX=0A02S=BBiAAAA2aBBBt一300一BX=01FEE=SBiAX=0A02S=BBiABlfi:013C00D8CX=000BSS=0200DX=0000SP=0100CS=0B1AIP=B13CADDAL,BLBP=00NUUX=0A00BX=01FES=SBiAES=0B1AEX=0A00BX=01FES=SBiAES=0B1AE“血3EF6C28DBP=00NUUSS=0200CS=0B1AIP=B13E

IggTDL皿此段操作中,在預(yù)期結(jié)果中對(duì)目的操作數(shù)的預(yù)測(cè)會(huì)與實(shí)際的有所偏差,因?yàn)槎渭拇嫫鞯拇a會(huì)有所不同,跟實(shí)際的有所區(qū)別。指令序列預(yù)期結(jié)果執(zhí)行結(jié)果Movax,8090hMovbx,1020hCmpbx,axMovbx,8090hCmpbx,axCF=1Cf=0如何通過標(biāo)志位判斷兩數(shù)大小(分帶符號(hào)數(shù),無符號(hào)數(shù)兩種情況)Cf=1有溢出Cf=0無溢出

指令序列預(yù)期結(jié)果執(zhí)行結(jié)果Moval,0b4hAL=b4hAl=b4hMovbl,11hBL=11hBl=11hMulblAX=0bf4h,BL=11hAx=0bf4h,bl=11hMovcl,11hCL=11hCl=11hMoval,0b4hAL=b4hAl=b4hImulclAX=faf4hAx=faf4h所有的操作都是用一a命令進(jìn)行執(zhí)行,結(jié)果則用一t跟蹤命令查看。這個(gè)表格中的操作執(zhí)行時(shí)查看等操作還是容易的,只是在做預(yù)期結(jié)果時(shí)對(duì)有符號(hào)數(shù)的乘法相對(duì)來說比較復(fù)雜,不過經(jīng)過課堂講解還是能知道怎么做,但是還是對(duì)為什么要那樣做有點(diǎn)疑問,比如為什么要取補(bǔ)碼,用補(bǔ)碼運(yùn)算得到結(jié)果后又要將其和負(fù)號(hào)一起再運(yùn)算一下。指令序列預(yù)期結(jié)果執(zhí)行結(jié)果Movax,0400hAX=0400hAx=0400hMovbl,0b4hBL=b4hBl=b4hDivblAL=05hAH=7chBL=b4hBl=b4hMovax,8400hAX=8400hAx=8400hCWDDX=ffffhAX=8400hDx=ffffhax=8400hmovbx,2hBX=2hBx=0002hIdivbxDX=0000hAX=c200hBX=0002hDx=0000hax=c200hbx=0002h在這個(gè)表格中,操作基本跟上個(gè)表格的實(shí)質(zhì)并無太大差別,只是這個(gè)是除法而已在對(duì)預(yù)期結(jié)果進(jìn)行預(yù)算時(shí),可以直接將參加運(yùn)算的十六進(jìn)制除數(shù)和被除數(shù)化為十進(jìn)制的數(shù)進(jìn)行運(yùn)算,得到的除數(shù)和余數(shù)再化為16進(jìn)制,放入相應(yīng)的存儲(chǔ)區(qū)域?!鼋ods:200h起始的8個(gè)存儲(chǔ)單元依次賦值為:11h,22h,33h,44h,55h,66h,77h,88h;給ds:210h起始的8個(gè)存儲(chǔ)單元依次賦值為:0efh,0cdh,0abh,89h,67h,45h,23h,01h?!霭吹妥止?jié)在低地址,高字節(jié)在高地址原則,則DS:200h起始的8個(gè)單元數(shù)據(jù)可表示為一個(gè)64位數(shù)據(jù)X,8877665544332211h,同理DS:210起始的8個(gè)單元可表示另一個(gè)數(shù)據(jù)Y。設(shè)計(jì)一段程序代碼,實(shí)現(xiàn)X=X—Y。答:用堆棧實(shí)現(xiàn),設(shè)置兩個(gè)堆棧1和2,一個(gè)存放x的值一個(gè)存放y的值,先將高位的數(shù)先壓入棧內(nèi),這樣棧頂便是最低位的數(shù),將cf標(biāo)志位置為0,每次取一個(gè)字節(jié)進(jìn)行相減,同時(shí)cf也參加運(yùn)算,得到的結(jié)果再另外壓入一個(gè)棧3,然后將棧3的數(shù)出棧,便得到X-Y的值,再將其壓入原先的存放x的值的棧。只是想到這一種思路,具體怎么寫代碼就不知道了。若兩數(shù)都是無符號(hào)數(shù),兩數(shù)相減是否溢出?若兩數(shù)都是帶符號(hào)數(shù),兩數(shù)相減是否溢出?如果是有符號(hào)數(shù)且無溢出,結(jié)果是多少,是正還是負(fù)數(shù),如何判斷的答:當(dāng)兩數(shù)是無符號(hào)數(shù)時(shí),相減不會(huì)溢出。若兩數(shù)都是帶符號(hào)數(shù),兩數(shù)相減分情況討論:同號(hào)相減不會(huì)溢出;異號(hào)相減,結(jié)果符號(hào)與減數(shù)符號(hào)相同則溢出。有符號(hào)數(shù)且無溢出,相減后的結(jié)果便是所得結(jié)果,通過最高位的值判斷是正數(shù)還是負(fù)數(shù),若最高位為0則結(jié)果為正數(shù)否則為負(fù)數(shù)。指令序列預(yù)期結(jié)果執(zhí)行結(jié)果Movax,0400hAX=0400hAx=0400hMovbl,0b4hBL=b4hBl=b4hDivblAL=05AH=7cBL=b4hBl=b4hMovax,8400hAX=8400hAX=8400hCWDDX=fffffhAX=8400hDX=fffffhAX=8400hmovbx,2hBX=0002hBX=0002hIdivbxDX=0000hAX=c200hBX=0002hDX=0000hAX=c200hBX=0002h三、總結(jié)與體會(huì)通過標(biāo)志位判斷兩數(shù)大?。ǚ謳Х?hào)數(shù),無符號(hào)數(shù)兩種情況)1.當(dāng)是帶符號(hào)的數(shù),通過of,sf兩個(gè)標(biāo)志位進(jìn)行判斷具體分析如下:當(dāng)OF=0,SF=0時(shí),目的操作數(shù)〉源操作數(shù)當(dāng)OF=1,SF=1時(shí),目的操作數(shù)〉源操作數(shù)當(dāng)OF=0,SF=1時(shí),目的操作數(shù)<源操作數(shù)當(dāng)OF=1,SF=0時(shí),目的操作數(shù)<源操作數(shù)2當(dāng)是無符號(hào)數(shù)時(shí),則可以

溫馨提示

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

評(píng)論

0/150

提交評(píng)論