北京理工大学汇编语言实验六 学生成绩管理系统设计实验_第1页
北京理工大学汇编语言实验六 学生成绩管理系统设计实验_第2页
北京理工大学汇编语言实验六 学生成绩管理系统设计实验_第3页
北京理工大学汇编语言实验六 学生成绩管理系统设计实验_第4页
北京理工大学汇编语言实验六 学生成绩管理系统设计实验_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验六学生成绩管理系统设计实验(综合性实验)

一、实验要求和目的1.熟悉汇编语言程序结构;2.熟悉INT21H的文件操作功能调用;3.熟悉INT21H的1、9号功能和INT10H常用功能的使用方法;4.掌握多子程序复杂问题程序设计方法;5.了解多模块程序设计方法(不作要求)。二、软硬件环境1、硬件环境:计算机系统windows;2、软件环境:装有MASM、DEBUG、LINK、等应用程序。三、实验涉及的主要知识单元对于一个复杂的程序,往往是分成若干个子程序设计的,然后用将它们组成一个完整的程序。子程序通过调用和返回,参数传递方法实现互相联系。四、实验内容与步骤1、实验内容设计一个学生成绩管理系统,要求完成文件建立、学生成绩录入、显示指定学号的学生记录、删除一个学生的记录、修改学生记录、返回等工作。学生成绩包括学号(XH)、姓名(XM)、数学(SX)、语文(YW)、外语(WY)字段。至少包括30名学生信息,每名学生学号字段为4个字符,姓名字段为15个字符(最大),每门成绩字段为3个字符(最大)。2、实验步骤(1)编写主程序main.asm,实现如图所示菜单;(2)编写文件创建子程序create,实现在指定盘指定文件夹”d:\chengji\2009\’下建立一个指定名称的文件2009doc.dat,界面如图所示;(3)编写成绩录入子程序append,实现在指定文件尾部插入一个学生的成绩记录,界面如图所示;(4)编写显示子程序display,实现按指定学号显示一个学生的记录,,界面如图所示;(5)编写修改子程序modify,实现按指定学号修改一个学生的记录字段(不需修改直接回车),界面如图所示;(6)编写删除子程序,实现按指定学号、姓名删除一个学生的记录,界面如图所示;(7)编译、链接、调试,产生可执行文件main.exe。五、实验要求与提示1、实验要求(1)画出各程序流程图;(2)列出程序清单,加上适量注释;(3)回答思考问题;(4)记录实验结果;(5)完成实验报告(实验材料上的内容简写,自己的工作要详尽)。2、实验提示考虑用INT10H的06H号实现清屏的功能,用02H号实现置光标位置的功能?六、思考与练习以及测评标准1.有兴趣的同学可以考虑用多模块程序设计方法实现;2.文件在使用之前为何要打开?使用后为何要关闭?怎样计算文件的长度和移动文件的读写指针?打开获得句柄,使用后用int21h七、程序流程图

八、实验结果九、程序代码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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论