北理工-匯編-實(shí)驗(yàn)二-算術(shù)運(yùn)算類操作實(shí)驗(yàn)_第1頁(yè)
北理工-匯編-實(shí)驗(yàn)二-算術(shù)運(yùn)算類操作實(shí)驗(yàn)_第2頁(yè)
北理工-匯編-實(shí)驗(yàn)二-算術(shù)運(yùn)算類操作實(shí)驗(yàn)_第3頁(yè)
北理工-匯編-實(shí)驗(yàn)二-算術(shù)運(yùn)算類操作實(shí)驗(yàn)_第4頁(yè)
北理工-匯編-實(shí)驗(yàn)二-算術(shù)運(yùn)算類操作實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

./本科實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:實(shí)驗(yàn)二算術(shù)運(yùn)算類操作實(shí)驗(yàn)<基礎(chǔ)與設(shè)計(jì)課程名稱:CPU與匯編實(shí)驗(yàn)實(shí)驗(yàn)時(shí)間:任課教師:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)教師:實(shí)驗(yàn)類型:□原理驗(yàn)證■綜合設(shè)計(jì)□自主創(chuàng)新學(xué)生姓名:組號(hào):無(wú)學(xué)院:信息與電子同組搭檔:無(wú)專業(yè):信息工程成績(jī):.一、實(shí)驗(yàn)要求和目的

1.了解匯編語(yǔ)言中的二進(jìn)制、十六進(jìn)制、十進(jìn)制、BCD碼的表示形式;2.掌握各類運(yùn)算類指令對(duì)各狀態(tài)標(biāo)志位的影響及測(cè)試方法;3.熟悉匯編語(yǔ)言二進(jìn)制多字節(jié)加減法基本指令的使用方法;4.熟悉無(wú)符號(hào)數(shù)和有符號(hào)數(shù)乘法和除法指令的使用;5.掌握符號(hào)位擴(kuò)展指令的使用;6.掌握BCD碼調(diào)整指令的使用方法。二、軟硬件環(huán)境

1、硬件環(huán)境:計(jì)算機(jī)系統(tǒng)windows;2、軟件環(huán)境:裝有MASM、DEBUG、LINK、等應(yīng)用程序。三、實(shí)驗(yàn)涉及的主要知識(shí)1.加減法處理指令2.乘除法指令和符號(hào)位擴(kuò)展指令3.BCD碼的調(diào)整指令四、實(shí)驗(yàn)內(nèi)容〔一對(duì)于兩組無(wú)符號(hào)數(shù),087H和034H,0C2H和5FH,試編程求這兩組數(shù)的和差積商,并考慮計(jì)算結(jié)果對(duì)標(biāo)志寄存器中狀態(tài)標(biāo)志位的影響:計(jì)算狀態(tài)標(biāo)識(shí)表達(dá)式結(jié)果〔HCFAFZFOFSFPF087H+034H00BB000001087H-034H0053000001087H*034H1B6C000001087H/034H0002<1F>0000010C2H+5FH01210100010C2H-5FH00630100010C2H*5FH47FE0100010C2H/5FH0002<04>010001開(kāi)始結(jié)束開(kāi)始結(jié)束將兩組數(shù)據(jù)分別存入AX,BX中,將二者中的數(shù)據(jù)相加,存入AX中將兩組數(shù)據(jù)分別存入AX,BX中,用AX中數(shù)據(jù)減去BX中數(shù)據(jù),存入AX中將兩組數(shù)據(jù)分別存入AX,BX中,將二者中的數(shù)據(jù)相乘,存入AX中將兩組數(shù)據(jù)分別存入AX,BX中,用AX中數(shù)據(jù)除以BX中數(shù)據(jù),存入AX中2.程序代碼:DATASSEGMENTDATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAX,0C2HMOVBX,5FHADDAX,BX ;addMOVAX,0C2HMOVBX,5FHSUBAX,BX ;subMOVAX,0C2HMOVBX,5FHMULBX ;mulMOVAX,0C2HMOVBX,5FHDIVBX ;divMOVAH,4CHINT21HCODESENDSENDSTART〔將數(shù)據(jù)改變得到另一組輸出結(jié)果實(shí)驗(yàn)結(jié)果以第一組數(shù)的加法為例〔已將截圖以上輸入-t進(jìn)行debug的步驟省略此時(shí)右下角信息〔NVUP……代表標(biāo)志寄存器的值。結(jié)果分析:由資料可得:1.CF<carryflag>:進(jìn)位標(biāo)志位,運(yùn)算結(jié)果需要進(jìn)位為1,不需進(jìn)位為02.PF<parityflag>:奇偶標(biāo)志位,當(dāng)運(yùn)算結(jié)果的低8位中的"1"的個(gè)數(shù)為偶數(shù)時(shí)PF=1,為奇數(shù)時(shí),PF=0。3.AF<auxiliaryflag>:輔助進(jìn)位標(biāo)志,第3位有進(jìn)位為1,無(wú)進(jìn)位為04.ZF<zeroflag>:零標(biāo)志位,當(dāng)運(yùn)算結(jié)果為零時(shí)ZF=1,否則ZF=0。5.SF<signflag>:符號(hào)標(biāo)志位,當(dāng)運(yùn)算結(jié)果的最高位為1時(shí)SF=1,否則SF=0。6.OF<overflowflag>:溢出標(biāo)志位,當(dāng)算術(shù)運(yùn)算結(jié)果超出了帶符號(hào)數(shù)的范圍,即溢出時(shí),OF=1,否則OF=0.其中注意在本程序中,SUB影響全部的條件標(biāo)志:減法的CF反應(yīng)的是無(wú)符號(hào)數(shù)運(yùn)算中的借位情況:當(dāng)減數(shù)>被減數(shù)是CF=1,否則CF=0;

2.OF:如果兩個(gè)數(shù)的符號(hào)相反而結(jié)果的符號(hào)與減數(shù)相同,則OF=1,否則OF=0;

3.SF〔運(yùn)算結(jié)果<0為1否則為0、ZF〔零標(biāo)志、AF〔輔助進(jìn)位標(biāo)志、PF〔奇偶標(biāo)志根據(jù)其含義設(shè)置?!捕跀?shù)據(jù)段定義了兩個(gè)多精度的有符號(hào)16進(jìn)制數(shù),FIRST和SECOND,1求兩數(shù)的和與差,并將結(jié)果存放在THIRD為首地址的緩沖區(qū)中;2如果把兩組數(shù)據(jù)當(dāng)作十進(jìn)制數(shù)據(jù)來(lái)處理,再次求兩數(shù)的和與差,并將結(jié)果存放在FORTH為首地址的緩沖區(qū)中。試編程實(shí)現(xiàn)上述運(yùn)算。FIRSTDW45H,82H,96H,57HSECONDDW12H,46H,83H,45H16進(jìn)制結(jié)果10進(jìn)制結(jié)果FIRST+SECOND0057C9199CH0058298002DFIRST-SECOND00333C1312H0033361312D1.流程圖SI,DI,CX均自減1SI,DI,CX均自減1將FIRST[SI+3]與SECOND[SI+3]存入AL、BL,帶進(jìn)位相加,再加上CF的值。結(jié)果存入THIRD[DI+4]中。設(shè)定寄存器初始值SI=0,DI=0,CX=3,作為計(jì)數(shù)器開(kāi)始取值是否加到最高位〔CX=0將AX值強(qiáng)制顯示在THIRD[DI+4]中〔若有高位則存入THIRD[DI+5]帶進(jìn)位相加存入AX將FIRST[SI+3]與SECOND[SI+3]存入AL、BL單字節(jié)擴(kuò)展為雙字節(jié)設(shè)置寄存器值為SI=0,DI=5,CX=3………………否否是是十六進(jìn)制減法及十進(jìn)制顯示部分略。十進(jìn)制加法前設(shè)置寄存器值為SI=0,DI=0,CX=3,在每步相加后用DAA顯示為十進(jìn)制數(shù),十進(jìn)制加法前設(shè)置寄存器值為SI=0,DI=5,CX=3,在每步相減后用DAS顯示為十進(jìn)制數(shù)。2.程序代碼:DATASSEGMENT FIRSTDB45H,82H,96H,57H SECONDDB12H,46H,83H,45H THIRDDB10DUP<?> ;注意保證數(shù)組空間足夠大 FORTHDB10DUP<?>DATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVSI,0MOVDI,0MOVCX,3 ;設(shè)置寄存器值,作為計(jì)數(shù)器L1: ;十六進(jìn)制顯示加法MOVAL,FIRST[SI+3]MOVBL,ALMOVAL,SECOND[SI+3]ADCAL,BLMOVTHIRD[DI+4],ALDECSIDECDIDECCXJNZL1 ;若CX不為零,則未到最高位,循環(huán)DECDI ;CX為零,跳出循環(huán)MOVAL,FIRST[SI+3]CBW ;擴(kuò)充,符號(hào)位存入AHMOVBX,AXMOVAL,SECOND[SI+3]CBWADCAX,BXMOVWORDPTRTHIRD[DI+4],AX ;將AX強(qiáng)制顯示。即高位存入下一位。MOVDI,5 ;重置寄存器值,避開(kāi)加法結(jié)果位置。MOVSI,0MOVCX,3L2: ;十六進(jìn)制顯示減法MOVAL,FIRST[SI+3]MOVBL,SECOND[SI+3]SBBAL,BLMOVTHIRD[DI+4],ALDECSIDECDIDECCXJNZL2DECDIMOVAL,FIRST[SI+3]CBWMOVBL,SECOND[SI+3]CBWSBBAX,BXMOVWORDPTRTHIRD[DI+4],AXMOVDI,0MOVSI,0MOVCX,3L3: ;十進(jìn)制顯示加法MOVAL,FIRST[SI+3]MOVBL,ALMOVAL,SECOND[SI+3]ADCAL,BLDAA;顯示為十進(jìn)制MOVFORTH[DI+4],ALDECSIDECDIDECCXJNZL3DECDIMOVAL,FIRST[SI+3]CBWMOVBX,AXMOVAL,SECOND[SI+3]CBWADCAX,BXDAAMOVWORDPTRFORTH[DI+4],AXMOVDI,5MOVSI,0MOVCX,3L4: ;十進(jìn)制顯示減法MOVAL,FIRST[SI+3]MOVBL,SECOND[SI+3]SBBAL,BLDASMOVFORTH[DI+4],ALDECSIDECDIDECCXJNZL4DECDIMOVAL,FIRST[SI+3]CBWMOVBL,SECOND[SI+3]CBWSBBAX,BXDASMOVWORDPTRFORTH[DI+4],AXMOVAH,4CHINT21HCODESENDSENDSTART3.調(diào)試結(jié)果結(jié)果分析〔1CWB為擴(kuò)充,符號(hào)位置于AH;〔2將AX放入THIRD中時(shí),由于AX為WORD型,THIRD為BYTE型,故需要PTR指令;〔3最高位相加時(shí),將進(jìn)位結(jié)果強(qiáng)制存入數(shù)組,結(jié)果如圖顯示,第二位00為最高位進(jìn)位結(jié)果。

〔三編程計(jì)算<<Z+X*Y-328>-V>/Y,其中X、Y、Z、V均為16位帶符號(hào)數(shù),假設(shè)初始數(shù)據(jù)分別裝入X、Y、Z、V單元,要求上式計(jì)算結(jié)果的商存入AX,余數(shù)存入DX寄存器。同學(xué)自行給出初始值加以驗(yàn)證程序。開(kāi)始結(jié)束開(kāi)始結(jié)束計(jì)算x*y取值計(jì)算x*y+z計(jì)算x*y+z-328計(jì)算x*y+z-328-v計(jì)算〔x*y+z-328-v/y2.程序代碼DATASSEGMENT XDW0FF3H YDW1117H ZDW000FH VDW5B12HDATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAX,XIMULY;x*y,保存在DX,AX中MOVCX,AXMOVBX,DX;此時(shí)DX,AX存入BX,DX中MOVAX,Z;擴(kuò)展,存入AXCWDADDCX,AXADCBX,DXSUBCX,328SBBBX,0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論