匯編語(yǔ)言計(jì)算比賽成績(jī)系統(tǒng)_第1頁(yè)
匯編語(yǔ)言計(jì)算比賽成績(jī)系統(tǒng)_第2頁(yè)
匯編語(yǔ)言計(jì)算比賽成績(jī)系統(tǒng)_第3頁(yè)
匯編語(yǔ)言計(jì)算比賽成績(jī)系統(tǒng)_第4頁(yè)
匯編語(yǔ)言計(jì)算比賽成績(jī)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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)介

PAGE《匯編語(yǔ)言》實(shí)習(xí)報(bào)告實(shí)習(xí)題目計(jì)算比賽成績(jī)系統(tǒng)學(xué)生姓名班級(jí)(學(xué)號(hào))院系信息學(xué)院計(jì)算機(jī)系指導(dǎo)老師提交時(shí)間2012年6月19號(hào)成績(jī)目錄PAGE3目錄1實(shí)習(xí)任務(wù)概述 22 基本知識(shí) 22.1匯編語(yǔ)言源程序結(jié)構(gòu) 22.2匯編語(yǔ)言上機(jī)過(guò)程 22.3 關(guān)鍵指令介紹 23 課題分析 23.1 程序功能分析 23.2 主程序流程圖 24 詳細(xì)設(shè)計(jì) 34.1 菜單模塊 34.2 輸入模塊 44.3 移動(dòng)模塊 54.4 輸出模塊 55代碼實(shí)現(xiàn) 76調(diào)試過(guò)程 117 操作說(shuō)明 12實(shí)習(xí)總結(jié) 錯(cuò)誤!未定義書(shū)簽。參考文獻(xiàn) 錯(cuò)誤!未定義書(shū)簽。參考文獻(xiàn)callsum;排序后,求第二個(gè)至倒數(shù)第二個(gè)數(shù)的和callcursor;光標(biāo);movbx,gradeavg;callbinidec;十進(jìn)制輸出平均成績(jī);calloutputretmainendp輸入模塊inputprocnearleadx,mess1movah,09int21hcallcrlfmovsi,0;movcount,0ent: calldecibin;輸入一個(gè)成績(jī) ;inccount cmpdl,'';如果輸入空格,則表示輸入下一個(gè)數(shù) jestore cmpdl,13;如果輸入回車,則表示輸入完畢 jeexit1 jneerror;否則顯示輸入錯(cuò)誤store: movgrade[si],bx addsi,2 jmpenterror: leadx,mess2 movah,09 int21hexit1: movgrade[si],bx callcrlf retinputendpdecibinprocnear;輸入一個(gè)成績(jī) 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)中,求第二個(gè)數(shù)至倒數(shù)第二個(gè)數(shù)的平均值addavg: addsi,2 addax,grade[si] ;addsi,2 cmpsi,14;第二個(gè)數(shù)加到第8個(gè)數(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個(gè)數(shù),數(shù)之間用空格隔開(kāi)callsort;冒泡排序callcrlf;換行;movsi,2callsum;排序后,求第二個(gè)至倒數(shù)第二個(gè)數(shù)的和callcursor;光標(biāo);movbx,gradeavg;callbinidec;十進(jìn)制輸出平均成績(jī);calloutputretmainendpinputprocnearleadx,mess1movah,09int21hcallcrlfmovsi,0;movcount,0ent: calldecibin;輸入一個(gè)成績(jī) ;inccount cmpdl,'';如果輸入空格,則表示輸入下一個(gè)數(shù) jestore cmpdl,13;如果輸入回車,則表示輸入完畢 jeexit1 jneerror;否則顯示輸入錯(cuò)誤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;輸出個(gè)位的數(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)中,求第二個(gè)數(shù)至倒數(shù)第二個(gè)數(shù)的平均值addavg: addsi,2 addax,grade[si] ;addsi,2 cmpsi,14;第二個(gè)數(shù)加到第8個(gè)數(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)試過(guò)程

溫馨提示

  • 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)論