東北大學計算機硬件基礎綜合程序設計實驗報告_第1頁
東北大學計算機硬件基礎綜合程序設計實驗報告_第2頁
東北大學計算機硬件基礎綜合程序設計實驗報告_第3頁
東北大學計算機硬件基礎綜合程序設計實驗報告_第4頁
東北大學計算機硬件基礎綜合程序設計實驗報告_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

東北大學計算機硬件技術基礎實驗報告專業(yè)班級:機械0908班姓名:學號:實驗題目:綜合程序設計日期:2011年12月15日一、實驗內容[程序1]自內存DATA開始存放若干個無符號字節(jié)數(shù),數(shù)據個數(shù)在COUNT單元存放。編制程序分別計算其中的奇數(shù)、偶數(shù)的和,并分別存入ODDSUM,ENENSM單元。設各類和不超過16位二進制數(shù),可用一個字表示或存放。[程序2]試編制一程序。從鍵盤輸入一個字符,若為“1”,則顯示“THEFIRSTSUBROUTINE!”,否則顯示“INPUTTHERIGHTCHARACTER”[程序3]計算一組數(shù)據中正數(shù)、負數(shù)和零的個數(shù),并分別存放在PCOUNT,MCOUNT和ZOUNT單元。設該組數(shù)據首地址為ARRY,數(shù)據個數(shù)在CNT單元存放。程序一:算法描述流程圖2、實驗源程序DSEGSEGMENTDATADB10H,21H,13H,0AH,0B1H,32H,07H,06HCOUNTDW08ODDSUMDW0EVENSUMDW0DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGMAIN:MOVAX,DSEGMOVDS,AXLEASI,DATAMOVCX,COUNTXORAX,AXXORBX,BXXORDX,DXAGAIN:MOVAL,[SI]TESTAL,01JZEVENSADDBX,AXJMPCHCNTEVENS:ADDDX,AXCHCNT:INCSILOOPAGAINMOVODDSUM,BXMOVEVENSUM,DXMOVAH,4CHINT21HCSEGENDSENDMAIN3、實驗結果程序運行結果:4、思考題測試最低位狀態(tài)也可以用右移指令,然后判斷CF的狀態(tài)。請問如何修改程序語句?答:修改如下:DSEGSEGMENTDATADB10H,21H,13H,0AH,0B1H,32H,07H,06HCOUNTDW08ODDSUMDW0EVENSUMDW0DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGMAIN:MOVAX,DSEGMOVDS,AXLEASI,DATAMOVCX,COUNTXORAX,AX;AX清零XORBX,BX;清零計和存儲器XORDX,DXAGAIN:MOVAL,[SI]SHR[SI],1;右移一位,測試根據結果跳轉JNCEVENSADDBX,AXJMPCHCNTEVENS:ADDDX,AXCHCNT:INCSILOOPAGAINMOVODDSUM,BXMOVEVENSUM,DXMOVAH,4CHINT21HCSEGENDSENDMAIN運行結果:從結果發(fā)現(xiàn)DATA中的數(shù)據在右移一位的過程中被減半了,但是不影響數(shù)據的統(tǒng)計,如果想恢復原來的數(shù)據,可以把數(shù)據傳給一個寄存器,然后用寄存器里的數(shù)來右移一位判斷。5、擴展題有一個班級,學生人數(shù)存儲于NUB單元,該班同學某門課程的成績存放于內存S開始的單元,編制程序,統(tǒng)計該班技該門課程的平均成績,存放于E開始的單元中。設計的程序如下:DSEGSEGMENTSDB68,70,84,56,99,88,64,85,96,80NUBDW10EDW0 DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGMAIN:MOVAX,DSEGMOVDS,AXLEASI,SMOVCX,NUBXORAX,AXXORBX,BXXORDX,DXAGAIN:MOVAL,[SI]ADDBX,AX,先累加求和INCSILOOPAGAINMOVAX,BX;再用和除以學生數(shù),得平均成績DIVNUBMOVE,AXMOVAH,4CHINT21HCSEGENDSENDMAIN運行結果:程序二:1、算法流程圖實驗源程序。DATASEGMENTSTR0DB'INPUTTHERIGHTCHARACTER','$'STR1DB'INPUTCHARACTER:$'STR2DB'THEFIRSTSUBROUTNE!$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETSTR1MOVAH,09HINT21HMOVAH,01HINT21HCMPAL,'1'JZSUBFMOVDL,0DHMOVAH,02HINT21HMOVAH,02HINT21HLEADX,STR0MOVAH,09HINT21HJMPEXITSUBF:LEADX,STR2MOVAH,09HINT21HJMPEXITEXIT:MOVAH,4CHINT21HCODEENDSENDSTART3、運行結果。輸入為1時:輸入不為1時4、思考題。請仔細閱讀程序說明功能號分別為01H,02H,09H時所代表的功能。答:01H代表的是鍵盤輸入并回顯,02H代表的是顯示輸出,09H代表的是顯示字符串。5、拓展題。編寫程序在屏幕上顯示A—Z26個大寫字母,要求用DOS系統(tǒng)功能調用INT21H的02H號功能實現(xiàn)。程序如下:DATASEGMENTDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDL,'A'AGAIN:CMPDL,'Z';循環(huán)判斷,比Z大就跳出循環(huán)JBEL1JMPEXITL1:MOVAH,02H;用DOS系統(tǒng)屏幕顯示字母INT21HINCDL;DL自加1,轉到下一個字符JMPAGAINEXIT:MOVAH,4CHINT21HCODEENDSENDSTART程序運行結果:程序三:1、算法流程圖。實驗源程序。DSEGSEGMENTARRYDW54,45,65,-23,0,87,-21,89,-36,789CNTDW10PCOUNTDW0MCOUNTDW0ZCOUNTDW0DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXLEASI,ARRYMOVCX,CNTXORAX,AXXORBX,BXXORDX,DXPMZN0:TESTWORDPTR[SI],0FFFFHJSMINUSJNZPLUSINCDXJMPPMZN1PLUS:INCAXJMPPMZN1MINUS:INCBXPMZN1:INCSILOOPPMZN0MOVPCOUNT,AXMOVMCOUNT,BXMOVZCOUNT,DXMOVAH,4CHINT21HCSEGENDSENDSTART運行結果。4、思考題。本程序利用TEST指令影響標志位來判別程序分支,請問程序利用的是哪兩個標志位?答:用的是SF和ZF標志位。拓展題。設有一組字節(jié)數(shù)據,編寫程序求其全部正數(shù)的和。設和不超過16位二進制數(shù),可用一個字表示或存放。設計程序如下:DSEGSEGMENTARRYDW15,45,65,-5,0,78,96,35,-12,-54CNTDW10HEDW0DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXLEASI,ARRYMOVCX,CNTXORAX,AXPMZN0:TESTWORDPTR[SI],0FFFFHJNSPLUSJMPPMZN1PLUS:ADDAX,[SI]PMZN1:ADDSI,2LOOPPMZN0MOV

溫馨提示

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

評論

0/150

提交評論