匯編語言綜合實驗報告格式參考模板_第1頁
匯編語言綜合實驗報告格式參考模板_第2頁
匯編語言綜合實驗報告格式參考模板_第3頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗報告課程名稱匯編語言實驗學(xué)期2014至2015學(xué)年第J學(xué)期學(xué)生所在系部計算機學(xué)院網(wǎng)絡(luò)工程系年級專業(yè)班級網(wǎng)絡(luò)B121學(xué)生姓名學(xué)號任課教師實驗成績計算機學(xué)院制«匯編語言課程綜合性實驗報告實驗題顯示學(xué)生名次表目一、實驗?zāi)康倪M行匯編語言程序設(shè)計應(yīng)用的綜合性訓(xùn)練。綜合運用匯編語言循環(huán)程序、子程序、宏指令編程方法,提高匯編語言程序設(shè)計能力的應(yīng)用水平。二、設(shè)備與環(huán)境PC兼容機、Windows操作系統(tǒng)、匯編程序masmforwindows2012三、實驗內(nèi)容編制一程序,要求接收從鍵盤輸入的一個班的學(xué)生的學(xué)號、姓名、成績,對學(xué)生的成績進行排序,最后把學(xué)號、姓名、學(xué)生成績、名次顯示出來。實驗要求:1

2、. 必須畫流程圖。2. 本程序涉及匯編語言的多重循環(huán)、子程序及宏,其中成績輸入、計算學(xué)生名次、顯示學(xué)生名次都分別用子程序,也可用宏處理。3. 要求用菜單選擇。具體要求:輸入1是數(shù)據(jù)錄入并輸出(包括姓名、學(xué)號、成績);輸入2是排序后的數(shù)據(jù)輸出(包括姓名、學(xué)號、成績、名次);輸入3是可以按學(xué)號查找某學(xué)生,并輸出其成績,選擇修改或不改成績。1. 四、實驗結(jié)果及分析已實現(xiàn)的實驗功能:2. .數(shù)據(jù)錄入并輸出(包括姓名、學(xué)號、成績).排序后的數(shù)據(jù)輸出(包括姓名、學(xué)號、成績、名次).可以按學(xué)號查找某學(xué)生,并輸出其成績程序思路:程序中設(shè)定的名字是英文的,需要小丁9位字母,學(xué)號位數(shù)為8位,學(xué)生人數(shù)為3個,可以通

3、過改變p的值改變學(xué)生人數(shù)。1、本程序包括一個主程序和九個子程序。子程序包括INPUT鍵盤輸入、COPY數(shù)據(jù)轉(zhuǎn)存、CHANGE十進制數(shù)ASCII碼轉(zhuǎn)二進制、SORT按成績排序、PRINT0成績未排名輸出、PRINT成績排名后輸出、CCIN學(xué)號查找,存儲輸入學(xué)號和BJ進行申比較并輸出姓名成績。2、姓名和成績輸入分別用DOS中被調(diào)用的10號功能實現(xiàn)字符申輸入。在輸入最后字符后,要將回車符改為$,以便輸出時直接用9號功能顯示姓名和成績。3、用buffer。、bufferl和buffer2作為輸入的學(xué)號、姓名和成績的緩存區(qū),然后將所有學(xué)號、人名和成績用申傳送指令轉(zhuǎn)到sid、smane和score1中保存

4、。4、將score1中成績的十進制數(shù)ASCII碼轉(zhuǎn)換為二進制數(shù)score2.5、將score2中的成績排序,同時將保存在mingci中的輸入次序號也一起交換,以次序號作為排序指針,在sid、smane和scorel中查找相應(yīng)的人名和成績。6、打印排序名單時,從mingci中取出次序號作為位移量,到sid、smane和scorel中取出姓名和對應(yīng)的成績用9號功能顯小。排序后mingci中先取出的次序號一定是成績最高的人的,依次類推。7、將ccsidl作為輸入要查找的學(xué)號的緩存區(qū),然后學(xué)號申傳送給ccsid2,同時按照mingci中存儲的次序依次將sid中的學(xué)號存入ccid中,并將其與ccid2進

5、行申比較,如果匹配相同將mingci中的數(shù)據(jù)保存,從而輸出其姓名和成績,如果不匹配就退出程序。3.程序截圖:1.菜單1.INPUT.ZPF1IITHEHtriESORTT.3.PH1HTAFTERUlIRT.4.SELETFROMID.5EXJTr2.輸入inputid;21JikputikUKninputsorce:bUInputJlipuLIkAJKMJdChInputsorce:77inputid-£3iitpn1iKirwrJrryInputsorceraiu:1 .INPUT.2 .rnrtiTBErnnr加rt_3.PRNTAmBSORT,1.SELETEWMID.i.E

6、XFTf匯編語言綜合實驗報告格式3. 排序后輸出atLei-sari:1id:234. nanc:jerrysorce瀏2id:ZZmane:jacksorce:773id:Zlname:mikesorer:60查找hemj:l,inruT.I?PRINTBEFRnEJtFlRT3.PRNTnFTEBSOHT,4.SELLTFJUrtID.5.EXIT!1iinpiitiri.73name:JerrysorcePtrssatijkfi"tnenntnin關(guān)鍵代碼解釋movcx,d+1leasi,buff0+2leadi,sidadddi,sign0cldrepmovsbmovcx,d

7、movax,'$'leadi,buff0+2repstosbbuff0dbd,?,ddup(0),'$'學(xué)號緩沖區(qū)siddbpdup(d+1dup(0)保存學(xué)號buff0為輸入學(xué)號的緩沖區(qū),?中保存著輸入的數(shù)字個數(shù),最后以$結(jié)尾方便輸出時在此終止,不會讀取到其他學(xué)號區(qū)域。在sid保存的每個學(xué)號長度都是相同的,只需要用mingci中的輸入次序乘以間隔值sign。,就可以得到每個學(xué)號的啟示地址,從而輸出,其他輸入輸出同理。movcx,pdeccxloopl:pushcxmovbx,0movsi,0loop2:movax,score2bxcmpax,score2bx+

8、m+1jgenextxchgax,score2bx+m+1movscore2bx,axmoval,mingcisixchgal,mingcisi+1movmingcisi,alnext:addbx,m+1incsilooploop2popcxlooploop1子程序change的目的是把分數(shù)轉(zhuǎn)換成二進制數(shù)存入score2,方便比較,而子程序sort通過雙重循環(huán)對score2中各個數(shù)值的比較,從改變mingci中的各個輸入序數(shù)的排列位置,從而達到對各個學(xué)生按照分數(shù)進行排序的目的。movcx,pmovbx,0kd:pushcxmoval,mingcibxmovz,alincbxmovo,bxdec

9、almovdl,10muldlmovcx,10leasi,sidaddsi,axleadi,ccidcldrepmovsbleasi,ccid2leadi,ccidcldmovcx,10repecmpsbjzkd1popcxmovbx,oloopkd如上的代碼在子程序bj中,通過對mingcibx取值,使用循環(huán)按照順序取出每個學(xué)生的學(xué)號存入ccid中,而需要查找的學(xué)號存放在ccid2中,然后循環(huán)cx次,每都將ccid與ccid2進行申比較,如果兩個申相匹配,則跳到kd1同時將保存著輸入次序的z賦值給l進行輸出,從而達到學(xué)號查詢學(xué)生姓名和成績的目的。流程圖:排序子程序:主程序:NNNNY實驗體會

10、:這學(xué)期開設(shè)的匯編語言課程使我了解了計算機的組成和其內(nèi)部程序的執(zhí)行原理,通過匯編語言,我們可以通過基本的指令改變計算機寄存器的值以及讀寫內(nèi)存從而實現(xiàn)我們的所想要達到的功能,學(xué)習(xí)匯編用語言與學(xué)習(xí)高級語言的不同之處是要學(xué)習(xí)如何深入到計算機的內(nèi)部進行控制。同時在編程過程中我們要區(qū)分哪些寄存器能在這種尋址方式下使用,在此次程序設(shè)計中要使用到大量的寄存器進行數(shù)據(jù)的存儲,比較,交換和輸出。在如此復(fù)雜的程序設(shè)計中,我們可以通過使用子程序和模塊化結(jié)構(gòu)使得功能得以劃分。使得復(fù)雜的程序變簡單,變活晰,讓我們方便的讀懂代碼。使用主程序的調(diào)用和子程序嵌套,使得寫代碼時思路更加活晰,也不會導(dǎo)致各個功能之間寄存器的使用不

11、至丁混亂,同時讓我們閱讀程序時一目了然,方便對代碼的修改和檢錯。本程序中變量p可以控制輸入的人數(shù),同時定義各個數(shù)據(jù)的緩存區(qū)間和存儲區(qū)問,同時也是能很方便的將個個數(shù)據(jù)從等長的存儲區(qū)間里讀取出來。十進制碼要和二進制碼問相互轉(zhuǎn)換方便進行比較,這些乂體現(xiàn)在計算機內(nèi)部數(shù)據(jù)的存儲都是以二進制存在的,學(xué)習(xí)匯編語言,最基礎(chǔ)的就是對數(shù)據(jù)的處理,這涉及到輸入后對數(shù)據(jù)的運算和處理,對數(shù)據(jù)沒有正確的處理會導(dǎo)致程序運行的最終結(jié)果與期望值不一樣,同時,學(xué)習(xí)匯編語言時最重要的是靈活的運用匯編指令和程序來控制計算機各個組成部件工作,完成一系列的工作。在這次實驗中,加深了我對匯編語言的理解,通過解決實驗中出現(xiàn)的每個問題,讓我對

12、計算機內(nèi)部存儲方式有了更深了的理解,每一步的輸入、存儲、轉(zhuǎn)換、輸出,都對應(yīng)著相應(yīng)的地址指針運算,確定各個源地址和目的地址。每個數(shù)據(jù)都有自己的存儲空間和地址,我們可以很活楚的了解每一個數(shù)據(jù)的變化和地址的轉(zhuǎn)移。匯編語言綜合實驗報告格式教師評價評定項目ABCD評定項目ABCD算法正確操作熟練程序結(jié)構(gòu)合理實驗結(jié)果正確功能完善文字流暢、報告規(guī)范其他:評價教師簽名:2014年12月10日DATASSEGMENTmenudb0ah,0dh,'MENU:',0ah,0dh,'1.INPUT.',0ah,0dh,'2.PRINTBEFROESORT.',0ah,0

13、dh,'3.PRINTAFTERSORT.',0ah,0dh,'4.SELETFROMID.',0ah,0dh,'5.EXIT!',0ah,0dh,'$'ifordb0ah,0dh,'beforesort:$'ifor0db0ah,0dh,'aftersort:$'ifor3db0ah,0dh,'inputid:$'ifor1db0ah,0dh,'inputname:$'ifor2db0ah,0dh,'inputsorce:$'errordb0ah,0

14、dh,'error$'ws1db'id:$'ws2db'name:$'ws3db'sorce:$'dequ9;學(xué)號長度(8位+回車符)nequ8;姓名長度mequ4;成績長度(3位+回車符)pequ3;輸入的人數(shù)qequ3;成績位數(shù)buff0dbd,?,ddup(0),'$'學(xué)號緩沖區(qū)buff1dbn,?,ndup(0),'$'姓名緩沖區(qū)buff2dbm,?,mdup(0),'$'成績緩沖區(qū)siddbpdup(d+1dup(0);保存學(xué)號snamedbpdup(n+1dup(0);保

15、存姓名score1dwpdup(m+1dup(0);保存成績score2dwpdup(m+1dup(0);以ascii碼保存成績便于比較ccid1dbd,?,ddup(0),'$'ccid2dbd+1dup(0)cciddbd+1dup(0)mingcidbpdup(0)xdw?ydb?zdb?odw?ldb?sign0dw0sign1dw0sign2dw0coutdb'1'DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,es:datasstart:mainprocfarMOVAX,DATASMOVDS,AXmoves,

16、axmovbx,0movcx,0nem:leadx,menumovah,9int21hMOVAH,1INT21HSUBAL,30HMOVy,alcmpy,1jajet1callinputjmpnemjet1:cmpy,2jajet2callprint0jmpnemjet2:CMPY,3JAjet3callsortcallprintjmpnemjet3:cmpy,4jaout1callccincallbj;此處輸入代碼段代碼out1:MOVAH,4CHINT21Hmainendp;輸入學(xué)號,姓名,成績inputprocincbxcmpbx,pjaexitleadx,ifor3movah,9int

17、21hleadx,buff0movah,10int21hmoval,buff0+1addal,2movah,0movsi,axmovbuff0si,0leadx,ifor1movah,9int21hleadx,buff1movah,10int21hmoval,buff1+1addal,2movah,0movsi,axmovbuff1si,0leadx,ifor2movah,9int21hleadx,buff2movah,10int21hmoval,buff2+1addal,2movah,0movsi,axmovbuff2si,0movmingcibx-1,blcmpbx,1jzlet1adds

18、ign0,d+1addsign1,n+1addsign2,qlet1:callcopyjmpinputexit:retinputendp;數(shù)據(jù)轉(zhuǎn)存copyprocmovcx,d+1leasi,buff0+2leadi,sidadddi,sign0cldrepmovsbmovcx,dmovax,'$'leadi,buff0+2repstosbmovcx,n+1leasi,buff1+2leadi,snameadddi,sign1cldrepmovsbmovcx,nmovax,'$'leadi,buff1+2repstosbmovcx,m+1leasi,buff2+

19、2leadi,score1adddi,sign2cldrepmovsbleasi,buff2+2movdi,sign2callchangeretcopyendp;把成績轉(zhuǎn)換為2進制數(shù),便于比較changeprocmovx,0movcx,si-1andcx,000fhrept2:moval,sicmpal,30hjlexit1cmpal,39hjgexit1andax,000fhxchgax,xmovdx,10muldxaddx,axincsilooprept2movax,xmovscore2di,axmovx,0addsign2,2exitl:retchangeendp;輸出排序前的名單pri

20、nt0procleadx,iformovah,9int21hmovcx,pmovbx,0movax,0movdi,0rept3:movdl,0ahmovah,2int21hmovdl,0dhint21hleadx,ws1movah,9int21hmovax,0movbx,0moval,mingcididecalmovbl,10mulblleadx,sidadddx,axmovah,9int21hmovdl,0ahmovah,2int21hmovdl,0dhint21hleadx,ws2movah,9int21hmovax,0movbx,0moval,mingcididecalmovbl,9mu

21、lblleadx,snameadddx,axmovah,9int21hmovdl,0ahmovah,2int21hmovdl,0dhint21hleadx,ws3movah,9int21hmovax,0movbx,0moval,mingcididecalmovbl,5mulblleadx,score1adddx,axmovah,9int21hincdideccxcmpcx,0jbeexitp2jmprept3exitp2:retprint0endp;按程序排序sortprocmovcx,pdeccxloop1:pushcxmovbx,0movsi,0loop2:movax,score2bxcm

22、pax,score2bx+m+1jgenextxchgax,score2bx+m+1movscore2bx,axmoval,mingcisixchgal,mingcisi+1movmingcisi,alnext:addbx,m+1incsilooploop2popcxlooploop1retsortendp;輸出排序后的名單printprocleadx,ifor0movah,9int21hmovcx,pmovbx,0movax,0movdi,0rept31:movdl,0ahmovah,2int21hmovdl,0dhint21hmovdl,coutmovah,2int21hinccoutmo

23、vdl,0ahmovah,2int21hmovdl,0dhint21hleadx,ws1movah,9int21hmovax,0movbx,0moval,mingcididecalmovbl,10mulblleadx,sidadddx,axmovah,9int21hmovdl,0ahmovah,2int21hmovdl,0dhint21hleadx,ws2movah,9int21hmovax,0movbx,0moval,mingcididecalmovbl,9mulblleadx,snameadddx,axmovah,9int21hmovdl,0ahmovah,2int21hmovdl,0dhint21hleadx,ws3movah,9int21hmovax,0movbx,0moval,mingcididecalmovbl,5mulblleadx,score1adddx,axmovah,9int21hincdideccxcm

溫馨提示

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

評論

0/150

提交評論