您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 汇编课程设计个人档案管理文件
华北科技学院课程设计说明书课程名称:汇编语言班级:计算机B08-1姓名:胡诗招学号:200807014102设计题目:个人档案管理文件设计时间:2010年6月23号_至2010年7月2号_指导教师:______李冬艳____________评语:_____________________________________________________________________________________________________________________________________________________________________________________________________评阅成绩:____评阅教师:_____-1-一、课程设计目的进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。二、课程设计要求1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。2.遵循模块化、结构化的程序设计方法。3.要求程序必须正确。4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。5.要求程序结构合理,语句使用得当。6.适当追求编程技巧和程序运行效率。三、课程设计题目:个人档案管理文件四、课题分析程序开始时,先建立判断是否存在文件,如果不存在,就创立文件。然后随便输入i,l,q中任意一个字母,然后跳到相应的子程序,输入i诗,跳到输入的子程序,输入相应的数据,保存到文件里。当输入l时,保存在文件里的数据就会显示,每个学生的信息显示一行。当输入q时,直接关闭文件,程序结束-2-五、流程图:开始先建立一个文件输入i,l,q中的一个字母输入i输入l输入学生的名字,年龄性别,身高,体重,并把打开文件数据依次存到文件显示学生名字,年领,性别,身高,体重输入q关闭文件结束-3-六、程序源代码:vardatasegmentfilenamedb'ffff.txt',00;定义文件vardataendscondatasegmentnamesdb10dup(?);名字定义agedb?,?;年龄定义sexdb2dup(?);性别定义heightdb3dup(?);身高定义weightdb3dup(?);体重定义mess_ndb0dh,0ah,'name:$'mess_adb0dh,0ah,'age:$'mess_sdb0dh,0ah,'sex:$'mess_hdb0dh,0ah,'height:$'mess_wdb0dh,0ah,'weight:$'s4db0dh,0ahdb'***************************************',0dh,0ahdb'*-1:printlist[L]-*',0dh,0ahdb'*-2:insertnewele[I]-*',0dh,0ahdb'*-3:quit[q]-*',0dh,0ahdb'***************************************',0dh,0ahdb0dh,0ahdb'$'s1db'nameagesexheightweight',13,10,'$'s2db'$'s3db'$'condataendscodesegmentassumecs:code,ds:vardata,es:condatastart:movax,condatamoves,axmovax,vardatamovds,axpushds;--------------printcommandhint-------------------movax,esmovds,axmovdx,offsets4movah,9h-4-int21hpopds;----------------intepretcommand------------------cmp_l:movah,01hint21hcmpal,'l'jnzcmp_icalllist_alljmpstartcmp_i:cmpal,'i'jnzcmp_qcallinsertjmpstartcmp_q:cmpal,'q'jnzclosefexit:movax,4c00hint21h;-------------打开和创建文件list_allprocnearcallopen_create;openorcreatefilepushdsmovax,es;es里放的是文件movds,axleadx,s1movah,9int21hmovdl,0ahmovah,2int21hloop_rd:movah,3fh;readrecordfromfiletomemory读取文件movdx,offsetnamesmovcx,20movbx,siint21hcmpax,0jeread_finish;readtotheend,thenfinish相等是结束-5-;--------------------名字leadx,s3movah,9int21hmovbx,0go_on:movdl,names[bx]movah,2hint21hincbxcmpbx,10jlgo_on;---------------------年龄leadx,s2movah,9int21hmovdl,age[0]movah,2int21hmovdl,age[1]movah,2int21h;---------------------性别leadx,s2movah,9int21hmovbx,0l1:movdl,sex[bx]movah,2hint21hincbxcmpbx,2jll1;----------------------身高leadx,s2movah,9int21hmovbx,0l2:movdl,height[bx]movah,2hint21hincbx-6-cmpbx,3jll2;----------------------体重leadx,s2movah,9int21hmovbx,0l3:movdl,weight[bx]movah,2hint21hincbxcmpbx,3jll3movdl,0dhmovah,2int21hmovdl,0ahmovah,2int21hjmploop_rd;arecordfinished,thentoreadthenext接着显示read_finish:callclosefpopdsretlist_allendp;-----------------------输入子程序insertprocnearcallopen_create;openofcreatefilepushdsmovax,esmovds,ax;------------------------名字输入movdx,offsetmess_nmovah,9hint21hmovbx,0init:;memoryinitialize初始化movnames[bx],0incbxcmpbx,20jlinitmovbx,0lp:;从键盘接受数据movah,1-7-int21hcmpal,0dhjzinextcmpal,0ahjzinextmovnames[bx],alincbxcmpbx,10jllp;---------------------年龄的输入inext:leadx,s2movah,9int21hmovdx,offsetmess_amovah,9hint21hmovbx,0lp2:movah,1hint21hcmpal,0dhjzinext1cmpal,0ahjzinext1movage[bx],alincbxcmpbx,1jlelp2;-----------------------性别输入inext1:leadx,s2movah,9int21hmovdx,offsetmess_smovah,9hint21hmovbx,0lp3:movah,1hint21hcmpal,0dhjzinext2cmpal,0ahjzinext2-8-movsex[bx],alincbxcmpbx,2jlelp3;--------------------身高输入inext2:leadx,s2movah,9int21hmovdx,offsetmess_hmovah,9hint21hmovbx,0lp4:movah,1hint21hcmpal,0dhjzinext3cmpal,0ahjzinext3movheight[bx],alincbxcmpbx,3jlelp4;-------------------体重输入inext3:leadx,s2movah,9int21hmovdx,offsetmess_wmovah,9hint21hmovbx,0lp5:movah,1hint21hcmpal,0dhjziexitcmpal,0ahjziexitmovweight[bx],alincbxcmpbx,3jlelp5iexit:;movethefilepointertotheendoffilemovah,42h;移动文件-9-moval,2movbx,simovcx,0movdx,0int21hmovah,40h;writetherecordtofile写入文件movbx,simovcx,20movdx,offsetnamesint21hback:callclosefpopdsretinsertendp;---------------------------open_createprocnearpushdsmovax,segfilename;filename文件d的段地址值送给axmovds,axmovah,3dh;openthefilemovdx,offsetfilenamemoval,2h;显示文件int21hjncok;大于等于时跳转movah,3ch;如果不存在文件,就创建文件movdx,offsetfilenamemovcx,00int21hok:movsi,axpopdsretopen_createendpclosefprocnearmovbx,simovah,3eh;关闭文件int21hretclosefendpcodeendsendstart-10-七、结果显示八、感想、收获及体会课程设计从开始找资料到课设结束,在这短时间里,课设给我的收获很大,虽然我的题目不是很难,比其他同学的简单,程序也简单,程序的代码都是简单的指令,但我学到的却很多。以前学程序时思维都很乱,但写这个程序是,我的思路确是非常清晰的,本来想加上一些代码,让显示时带有颜色,但试了几次都不太理想,就去掉了。这个程序不是我单独完成的,有些东西是在网上找的。虽然是别人的,但我把它转换为自己的东西。在写程序时,思路是最终要的,如果思路错了,你就很难写出正确的程序,但要是思路非常的清晰,就算程序有写错误,你也会很快的找出并把它改对。所以我认为在写一个程序时,必须把思路弄得非常的清楚,然后再开始写。
本文标题:汇编课程设计个人档案管理文件
链接地址:https://www.777doc.com/doc-876441 .html