匯編語言計算比賽成績系統(tǒng)_第1頁
匯編語言計算比賽成績系統(tǒng)_第2頁
匯編語言計算比賽成績系統(tǒng)_第3頁
匯編語言計算比賽成績系統(tǒng)_第4頁
匯編語言計算比賽成績系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE《匯編語言》實(shí)習(xí)報告實(shí)習(xí)題目計算比賽成績系統(tǒng)學(xué)生姓名班級(學(xué)號)院系信息學(xué)院計算機(jī)系指導(dǎo)老師提交時間2012年6月19號成績目錄PAGE3目錄1實(shí)習(xí)任務(wù)概述 22 基本知識 22.1匯編語言源程序結(jié)構(gòu) 22.2匯編語言上機(jī)過程 22.3 關(guān)鍵指令介紹 23 課題分析 23.1 程序功能分析 23.2 主程序流程圖 24 詳細(xì)設(shè)計 34.1 菜單模塊 34.2 輸入模塊 44.3 移動模塊 54.4 輸出模塊 55代碼實(shí)現(xiàn) 76調(diào)試過程 117 操作說明 12實(shí)習(xí)總結(jié) 錯誤!未定義書簽。參考文獻(xiàn) 錯誤!未定義書簽。參考文獻(xiàn)callsum;排序后,求第二個至倒數(shù)第二個數(shù)的和callcursor;光標(biāo);movbx,gradeavg;callbinidec;十進(jìn)制輸出平均成績;calloutputretmainendp輸入模塊inputprocnearleadx,mess1movah,09int21hcallcrlfmovsi,0;movcount,0ent: calldecibin;輸入一個成績 ;inccount cmpdl,'';如果輸入空格,則表示輸入下一個數(shù) jestore cmpdl,13;如果輸入回車,則表示輸入完畢 jeexit1 jneerror;否則顯示輸入錯誤store: movgrade[si],bx addsi,2 jmpenterror: leadx,mess2 movah,09 int21hexit1: movgrade[si],bx callcrlf retinputendpdecibinprocnear;輸入一個成績 movbx,0 movdx,0newchar: movah,01h int21h movdl,al subal,30h;asc碼減去30h得出數(shù)字 jlexit cmpal,09d jgexit;如果輸入的不在'1~9'范圍內(nèi),則結(jié)束本次輸入 cbw xchgax,bx movcx,10d;第一位數(shù)字乘以10,加上第二位數(shù)字,得到二位十進(jìn)制數(shù) mulcx xchgax,bx addbx,ax jmpnewcharexit: retdecibinendp排序模塊sortprocnear;冒泡排序 movcx,9 deccxloop1: movdi,cx movbx,0loop2: movax,grade[bx] cmpax,grade[bx+2] jgecotinue xchgax,grade[bx+2] movgrade[bx],axcotinue: addbx,2 looploop2 movcx,di looploop1 retsortendp求平均值輸出模塊sumprocnear;求平均值并輸出 leadx,mess3 movah,9h int21h movdx,0 movax,0 movsi,2 movax,grade[si];在排序的數(shù)當(dāng)中,求第二個數(shù)至倒數(shù)第二個數(shù)的平均值addavg: addsi,2 addax,grade[si] ;addsi,2 cmpsi,14;第二個數(shù)加到第8個數(shù) jbaddavgcmpax,46h jaefull;如果全部是10 jmpn_fullfull: movah,2h movdl,'1' int21h movdl,'0' int21h movdl,'.' int21h movdl,'0' int21h movdl,'0' int21hjmpexit3n_full: movcx,2 movbh,1division: movbl,7 divbl pushax addal,30h movdl,al movah,2 int21h cmpbh,0 jedot movdl,'.' movbx,0dot: int21h popax moval,ah movdl,10 muldl loopdivision exit3: ret sumendp5代碼實(shí)現(xiàn)DATASSEGMENTgradedw12dup(?)rankdw12dup(?)countdw?gradeavgdw?mess1db'InputTheGrade?$'mess2db13,10,'InputError!',13,10,'$'mess3db'Theavggrade:$'DATASENDSSTACKSSEGMENT;此處輸入堆棧段代碼STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSmainprocfarSTART:pushdssubax,axpushaxMOVAX,DATASMOVDS,AXcallinput;輸入9個數(shù),數(shù)之間用空格隔開callsort;冒泡排序callcrlf;換行;movsi,2callsum;排序后,求第二個至倒數(shù)第二個數(shù)的和callcursor;光標(biāo);movbx,gradeavg;callbinidec;十進(jìn)制輸出平均成績;calloutputretmainendpinputprocnearleadx,mess1movah,09int21hcallcrlfmovsi,0;movcount,0ent: calldecibin;輸入一個成績 ;inccount cmpdl,'';如果輸入空格,則表示輸入下一個數(shù) jestore cmpdl,13;如果輸入回車,則表示輸入完畢 jeexit1 jneerror;否則顯示輸入錯誤store: movgrade[si],bx addsi,2 jmpenterror: leadx,mess2 movah,09 int21hexit1: movgrade[si],bx callcrlf retinputendpcrlfprocnear;回車換行 movdl,0ah movah,02h int21h movdl,0dh movah,02h int21h retcrlfendp ;outputprocnear ;movbx,2 ;leadx,grade[bx] ;movah,09 ;int21h ;ret;outputendpbinidecprocnear;轉(zhuǎn)換成10進(jìn)制輸出 leadx,mess3 movah,09 int21h movcx,10 calldec_div;輸出十位的數(shù) movcx,1 calldec_div;輸出個位的數(shù) retdec_divprocnear;余數(shù)放在dl,商放在al movax,bx movdx,0 divcx movbx,dx movdl,al adddl,30H movah,2 int21H retdec_divendpbinidecendpsortprocnear;冒泡排序 movcx,9 deccxloop1: movdi,cx movbx,0loop2: movax,grade[bx] cmpax,grade[bx+2] jgecotinue xchgax,grade[bx+2] movgrade[bx],axcotinue: addbx,2 looploop2 movcx,di looploop1 retsortendpsumprocnear;求平均值并輸出 leadx,mess3 movah,9h int21h movdx,0 movax,0 movsi,2 movax,grade[si];在排序的數(shù)當(dāng)中,求第二個數(shù)至倒數(shù)第二個數(shù)的平均值addavg: addsi,2 addax,grade[si] ;addsi,2 cmpsi,14;第二個數(shù)加到第8個數(shù) jbaddavgcmpax,46h jaefull;如果全部是10 jmpn_fullfull: movah,2h movdl,'1' int21h movdl,'0' int21h movdl,'.' int21h movdl,'0' int21h movdl,'0' int21hjmpexit3n_full: movcx,2 movbh,1division: movbl,7 divbl pushax addal,30h movdl,al movah,2 int21h cmpbh,0 jedot movdl,'.' movbx,0dot: int21h popax moval,ah movdl,10 muldl loopdivision exit3: ret sumendpcursorprocnearmovah,02movbh,0movdx,0311hint10hmovah,1int21hretcursorendpCODESENDSendmain6調(diào)試過程

溫馨提示

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

評論

0/150

提交評論