




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)六學(xué)生成績管理系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)(綜合性實(shí)驗(yàn))
一、實(shí)驗(yàn)要求和目的1.熟悉匯編語言程序結(jié)構(gòu);2.熟悉INT21H的文件操作功能調(diào)用;3.熟悉INT21H的1、9號(hào)功能和INT10H常用功能的使用方法;4.掌握多子程序復(fù)雜問題程序設(shè)計(jì)方法;5.了解多模塊程序設(shè)計(jì)方法(不作要求)。二、軟硬件環(huán)境1、硬件環(huán)境:計(jì)算機(jī)系統(tǒng)windows;2、軟件環(huán)境:裝有MASM、DEBUG、LINK、等應(yīng)用程序。三、實(shí)驗(yàn)涉及的主要知識(shí)單元對于一個(gè)復(fù)雜的程序,往往是分成若干個(gè)子程序設(shè)計(jì)的,然后用將它們組成一個(gè)完整的程序。子程序通過調(diào)用和返回,參數(shù)傳遞方法實(shí)現(xiàn)互相聯(lián)系。四、實(shí)驗(yàn)內(nèi)容與步驟1、實(shí)驗(yàn)內(nèi)容設(shè)計(jì)一個(gè)學(xué)生成績管理系統(tǒng),要求完成文件建立、學(xué)生成績錄入、顯示指定學(xué)號(hào)的學(xué)生記錄、刪除一個(gè)學(xué)生的記錄、修改學(xué)生記錄、返回等工作。學(xué)生成績包括學(xué)號(hào)(XH)、姓名(XM)、數(shù)學(xué)(SX)、語文(YW)、外語(WY)字段。至少包括30名學(xué)生信息,每名學(xué)生學(xué)號(hào)字段為4個(gè)字符,姓名字段為15個(gè)字符(最大),每門成績字段為3個(gè)字符(最大)。2、實(shí)驗(yàn)步驟(1)編寫主程序main.asm,實(shí)現(xiàn)如圖所示菜單;(2)編寫文件創(chuàng)建子程序create,實(shí)現(xiàn)在指定盤指定文件夾”d:\chengji\2009\’下建立一個(gè)指定名稱的文件2009doc.dat,界面如圖所示;(3)編寫成績錄入子程序append,實(shí)現(xiàn)在指定文件尾部插入一個(gè)學(xué)生的成績記錄,界面如圖所示;(4)編寫顯示子程序display,實(shí)現(xiàn)按指定學(xué)號(hào)顯示一個(gè)學(xué)生的記錄,,界面如圖所示;(5)編寫修改子程序modify,實(shí)現(xiàn)按指定學(xué)號(hào)修改一個(gè)學(xué)生的記錄字段(不需修改直接回車),界面如圖所示;(6)編寫刪除子程序,實(shí)現(xiàn)按指定學(xué)號(hào)、姓名刪除一個(gè)學(xué)生的記錄,界面如圖所示;(7)編譯、鏈接、調(diào)試,產(chǎn)生可執(zhí)行文件main.exe。五、實(shí)驗(yàn)要求與提示1、實(shí)驗(yàn)要求(1)畫出各程序流程圖;(2)列出程序清單,加上適量注釋;(3)回答思考問題;(4)記錄實(shí)驗(yàn)結(jié)果;(5)完成實(shí)驗(yàn)報(bào)告(實(shí)驗(yàn)材料上的內(nèi)容簡寫,自己的工作要詳盡)。2、實(shí)驗(yàn)提示考慮用INT10H的06H號(hào)實(shí)現(xiàn)清屏的功能,用02H號(hào)實(shí)現(xiàn)置光標(biāo)位置的功能?六、思考與練習(xí)以及測評標(biāo)準(zhǔn)1.有興趣的同學(xué)可以考慮用多模塊程序設(shè)計(jì)方法實(shí)現(xiàn);2.文件在使用之前為何要打開?使用后為何要關(guān)閉?怎樣計(jì)算文件的長度和移動(dòng)文件的讀寫指針?打開獲得句柄,使用后用int21h七、程序流程圖
八、實(shí)驗(yàn)結(jié)果九、程序代碼datasegmentformsdb101*64dup('$')filenamedb14,0,14dup(0)formsbdb14,'$$$$$$$$$$$$$$$',22,'$$$$$$$$$$$$$$$$$$$$$$$',6,'$$$$$$$',6,'$$$$$$$',6,'$$$$$$$'screen0db '1.Appendarecord',0dh,0ah, '2.Displayarecord',0dh,0ah, '3.Modifyarecord',0dh,0ah, '4.Deletearecord',0dh,0ah, '5.Openafile',0dh,0ah, '6.Saveintoafile',0dh,0ah, '7.ReturnDOS',0dh,0ah, 'Pleaseinput1-6:','$'f1str1 db 'PleaseinputXH:$'f1str2 db 'PleaseinputXM:$'f1str3 db 'PleaseinputSX:$'f1str4 db 'PleaseinputYW:$'f1str5 db 'PleaseinputWY:$'f2str1 db 'XueHao:$'f2str2 db 'XingMing:$'f2str3 db 'ShuXue:$'f2str4 db 'Yuwen:$'f2str5 db 'WaiYu:$'f3str1 db 'XueHaodoesnotexist.Nothinghasbeenchanged.$'f4str1 db 'PleaseinputXingMing:$'f4str2 db 'PleaseinputXueHao:$'f5str1 db 'Pleaseinputfilename:$'f5str2db 'Sorry!Filedoesnotexist.$'f5str3db 'Loading...$'f5str4db 'Completed.$'f5str5db 'Failed.$'f6str1db 'Savesucceed!$'f6str2db 'Savefailed.$'fstr1 db 'Finish!$'fstr2 db 'Pressanykeytoreturn!$'tempiodb0statedb'0'formenddw0XHtempdb0eh,'0','$$$$$$$$$$$$$$'XHtempbdb0eh,'0','$$$$$$$$$$$$$$'cxtemp1dw100cxtemp2dw14ditempdw0sitempdw0handledw0dataendsstacksegmentstacksdb64dup(0)stackends
codesegmentassumeds:data,ss:stack,cs:codestart: movax,data movds,ax moves,ax movax,stack movss,ax callinitialwin: callprts0 callinput moval,tempio movstate,al M1: cmpal,'1' jnzM2 jmpf1 jmpwinM2: cmpal,'2' jnzM3 jmpf2 jmpwinM3: cmpal,'3' jnzM4 jmpf3 jmpwinM4: cmpal,'4' jnzM5 jmpf4 jmpwinM5: cmpal,'5' jnzM6 jmpf5 jmpwinM6: cmpal,'6' jnzM7 jmpf6 jmpwinM7: cmpal,'7' jnzwin jmpquit ;;;;;;;;;;;;;;;;;;; quit: movah,4ch int21h;;;;;;;;;;;;;;;;;;;initial: leaax,forms movsi,ax movcx,101linit: moval,14 movds:[si],al moval,22 movds:[si+16],al moval,6 movds:[si+40],al moval,6 movds:[si+48],al moval,6 movds:[si+56],al addsi,64 looplinit retf1: callcscreen leadi,forms movcx,100Lf1: movdl,'$' cmpes:[di+1],dl jzskipf1 adddi,64 loopLf1skipf1: leaax,f1str1 movsi,ax callputs movax,di movsi,ax callgets leaax,f1str2 movsi,ax callputs movax,di addax,16 movsi,ax callgets leaax,f1str3 movsi,ax callputs movax,di addax,40 movsi,ax callgets leaax,f1str4 movsi,ax callputs movax,di addax,48 movsi,ax callgets leaax,f1str5 movsi,ax callputs movax,di addax,56 movsi,ax callgets leaax,fstr1 movsi,ax callputs callnewline leaax,fstr2 movsi,ax callputs callnewline callinput ret f2: callcscreen leaax,f1str1 movsi,ax callputs leaax,XHtemp movsi,ax callgets movcx,100 movcxtemp1,cx leadi,XHtemp leasi,formsLf21: leadi,XHtemp movcx,16 movsitemp,si repecmpsb jzf21start movsi,sitemp addsi,64 movcx,cxtemp1 deccx movcxtemp1,cx inccx loopLf21 leasi,f3str1 callputs callnewline jmpf2Qf21start: movsi,sitemp callcscreen leasi,f2str1 callputs movsi,sitemp addsi,2 callputs callnewline leasi,f2str2 callputs movsi,sitemp addsi,18 callputs callnewline leasi,f2str3 callputs movsi,sitemp addsi,42 callputs callnewline leasi,f2str4 callputs movsi,sitemp addsi,50 callputs callnewline leasi,f2str5 callputs movsi,sitemp addsi,58 callputs callnewlinef2Q: leasi,XHtempb leadi,XHtemp movcx,16 repmovsb leaax,fstr1 movsi,ax callputs callnewline leaax,fstr2 movsi,ax callputs callnewline callinput retf3: callcscreen leasi,f4str2 callputs leasi,XHtemp leadi,forms callgets movcx,100Lf3: movcxtemp1,cx leasi,XHtemp movcx,16 movsitemp,si movditemp,di repecmpsb jzf3start movsi,sitemp movdi,ditemp adddi,64 movcx,cxtemp1 loopLf3 ;cannotfind leasi,f3str1 callputs callnewline jmpf3Qf3start: ;f4,f2 movcx,64 movdi,ditemp leasi,formsb repmovsb callf1f3Q: retf4: callcscreen leasi,f4str2 callputs leasi,XHtemp leadi,forms callgets movcx,100Lf4: movcxtemp1,cx leasi,XHtemp movcx,16 movsitemp,si movditemp,di repecmpsb jzf4start movsi,sitemp movdi,ditemp adddi,64 movcx,cxtemp1 loopLf4 ;cannotfind leasi,f3str1 callputs callnewline jmpf4Qf4start: movcx,64 movdi,ditemp leasi,formsb repmovsbf4Q: leasi,XHtempb leadi,XHtemp movcx,16 repmovsb leasi,fstr1 callputs callnewline leasi,fstr2 callputs callnewline callinput ret f5: callcscreen ;copyfiletomemery leasi,f5str1 callputs leasi,filename callgets movbx,0 leasi,filename movbl,ds:[si+1] moval,0 movds:[si+bx+2],al movdx,si incdx incdx movah,3dh moval,0 int21h jncsucceed1 fail: leasi,f5str2 callputs callnewline jmpf5Qsucceed1: movhandle,ax leasi,f5str3 callputs leadx,forms movbx,handle movcx,6000 movah,3fh int21h jncsucceed2 leasi,f5str5 callputs callnewline movbx,handle movah,3eh int21h jmpf5Qsucceed2: leasi,f5str4 callputs callnewline movbx,handle movah,3eh int21h jmpf5Qf5Q: leasi,fstr2 callputs callnewline callinput retf6: callcscreen ;copymemerytofile leasi,f5str1 callputs leasi,filename callgets movbx,0 leasi,filename movbl,ds:[si+1] moval,0 movds:[si+bx+2],al leadx,filename incdx incdx movcx,0 movah,3ch int21h jncsuc leasi,f5str5 callputs callnewline jmpf6Qsuc: movhandle,ax leadx,forms movbx,ax movah,40h movcx,6400 int21h jncsuc2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合肥幼兒師范高等??茖W(xué)?!秳?chuàng)新理論與方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆政法學(xué)院《新聞算法與編程》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津渤海職業(yè)技術(shù)學(xué)院《衛(wèi)星通信系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川國際標(biāo)榜職業(yè)學(xué)院《建筑工程造價(jià)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古大學(xué)《新能源汽車概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024屆河北省石家莊二中實(shí)驗(yàn)學(xué)校高三下學(xué)期仿真模擬歷史試卷
- 2024-2025學(xué)年山東省聊城市第二中學(xué)高一上學(xué)期12月月考?xì)v史試卷
- 新疆醫(yī)科大學(xué)《高層建筑智慧施工》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州科技貿(mào)易職業(yè)學(xué)院《建筑CAD》2023-2024學(xué)年第二學(xué)期期末試卷
- 嶺南師范學(xué)院《高電壓技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 作品集合同范本
- 保安員綜合理論考試題庫備考500題(含各題型)
- X證書失智老年人照護(hù)身體綜合照護(hù)講解
- 2025勞動(dòng)合同法重點(diǎn)法條導(dǎo)讀附案例詳解
- 2025年內(nèi)蒙古自治區(qū)政府工作報(bào)告測試題及參考答案
- 2024年全國中學(xué)生生物學(xué)聯(lián)賽試題及答案詳解
- 2025年度花卉產(chǎn)業(yè)大數(shù)據(jù)服務(wù)平臺(tái)建設(shè)合同2篇
- 2025年度花卉產(chǎn)業(yè)大數(shù)據(jù)平臺(tái)建設(shè)合同3篇
- 小學(xué)班會(huì)-交通安全伴我行(共25張課件)
- 建筑施工現(xiàn)場安全警示(案例)
- 《生產(chǎn)與運(yùn)作管理 第4版》課件 第1、2章 概論、需求預(yù)測與管理
評論
0/150
提交評論