汇编语言课程设计说明书1

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

汇编语言课程设计报告(2011--2012年度第2学期)代码转换程序专业计算机科学与技术学生姓名俞文杰班级B计算机105学号1010704523指导教师刘其明张静林完成日期2012年6月22日汇编语言课程设计目录1设计目的..................................................................................................................................12设计内容..................................................................................................................................13实现方法..................................................................................................................................13.1系统目标............................................................................................................13.2主体功能............................................................................................................13.3开发环境.............................................................................................................34小结..................................................................................................................................3附录.......................................................................................................................................4附录1源程序清单.....................................................................................................................4汇编语言课程设计1代码转换程序1设计目的本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。2设计内容功能菜单的编制;小写字母向大写字母的转换;大写字母向小写字母的转换;二进制数向十六进制数的转换;十六进制数向二进制数的转换;十六进制数向十进制数的转换。3实现方法3.1系统目标目的:学习汇编语言综合应用程序设计方法,提高汇编语言实际应用能力,充分了解计算机硬件和软件,完成理论到实践的推进过程。要求:1.根据微机软、硬件条件,没人选定一个具有一定综合性的程序设计题目。(1)、对题目进行模块分析(2)、系统设计实用,功能全面(3)、编程简练、清晰,可读性强,学习良好的程序设计风格。按质、按量,并按时间完成课程设计的任务。2.按照所安排的集中上机时间内完成程序调试任务。(1)、熟悉汇编语言的程序设计,BIOS中断调用,DOS系统功能调用等相关知识。(2)、熟悉汇编的上机环境,掌握汇编和各种程序调试方法,提高调试程序的效率。3、撰写设计论文(说明书),要求层次清楚,语言流畅。4,设计完成时英按时提交设计论文及设计程序。每组一个文件夹,文件夹以自己的名字和学号命名。5、提供可运行的课程设计程序,参加上机面试答辩。3.2主体功能这是一个字母或数制之间的转化程序,5为主模块,调用模块1和模块7,模块1又调用模块2、3、4和6四个模块,其中:汇编语言课程设计2模块2实现小写字母向大写字母的转换模块3实现大写字母向小写字母的转换模块4实现二进制数向十六进制数的转换模块6实现十六进制数向二进制数的转换模块7实现十六进制数向十进制数的转换按“q”键退出。使用时,需将7个文件分别汇编,连接的方法为:5+1+2+3+4+6+7生成可执行文件“5”即可运行。汇编语言课程设计3流程图如下:开始按小写字母b开始调用小写字母转化大写字母子程序调用大写字母转化小写字母子程序调用二进制转化十六进制子程序调用十六进制转化二进制子程序调用十六进制转化十进制子程序按小写字母q结束程序结束汇编语言课程设计43.3开发环境TASM5.0集成环境。4小结通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。作为一个程序编程人员,要保持清醒的头,以现实为依据,让自己的每一行代码都能实现自己的意义。汇编语言程序设计是一门很抽象的学科,学起来也比较乏味。一开始学的时候感觉很难,也没什么兴趣。但随着学习的推进,以及上机编程,逐渐感到轻松。在这次课程设计中,让我更加熟悉了汇编语言的一些基本的指令;掌握了汇编语言的一些基本的中断调用功能,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制;能够熟练的利用子程序和宏进行编程。在设计过程中,不断对程序进行修改、改进,增强了自己分析问题、解决问题的能力;在不断的调试中,也让自己发现了自己存在的一些错误以及一些调试时应注意的问题,同时也更深的理解了寄存器、存储器等工作原理以及一些指令执行后对它们的改变,例如INT指令会改变AL的值,在编程时应注意这方面的问题。在编写过程中,让我深刻的体会到了搞科学的严谨性。有时一个逗号或者写错一个字母这样一点点小小的错误,就会产生十几个错误,导致调试的失败。不管做什么事,都要认认真真,否则就会得不偿失了。当设计一步步接近成功,每一个子程序的调试成功,都让自己感到喜悦,从中体会到了编程的乐趣,有一种成就感,也让自己树立了信心,增强了对汇编语言程序设计的兴趣。汇编语言课程设计5附录附录1源程序清单模块1文件名为:1.asmpublicinfo1,info2,bufa,bufb,buf,main,info0,info3extrnchange1:far,change2:far,change3:far,change4:fardatasegmentinfo0db0ah,0dh,'thisisthechangeoflettertoleter:$'info1db0ah,0dh,'pleaseinputstring:$'info2db0ah,0dh,'outputstring:$'bufadb81db?db80dup(?)bufbdb80dup(?)info3db0ah,0dh,'thisisthechangeofdigitaltodigital:',0ah,0dh,'$'bufdb0dh,0ah,'thenumberis:0100101010001111b',0ah,0dh,'theresultis:$'dataendsstacksegmentstackdb200dup(?)stackendscodesegmentmainprocfarassumeds:data,cs:code,ss:stackmovax,datamovds,axdispmacromleadx,mmovah,9int21hendmcallchange1callchange2dispinfo3dispbufcallchange3callchange4retmainendpcodeendsend查看此模块对应的列表文件模块2文件名为:2.asmextrninfo1:byte,info2:byte,bufa:byte,bufb:byte,info0:bytepublicchange1codesegmentassumecs:codelowtohighprocnear汇编语言课程设计6cmpal,'a'jbstopcmpal,'z'jastopsubal,20hstop:retlowtohighendpchange1procfarleadx,info0movah,9int21hleadx,info1movah,9int21hleadx,bufamovah,10int21hleasi,bufa+1leadi,bufbmovch,0movcl,[si]addsi,1next:moval,[si]calllowtohighmov[di],alincsiincdiloopnextmovbyteptr[di],'$'leadx,info2movah,9int21hleadx,bufbmovah,9int21hretchange1endpcodeendsend查看此模块对应的列表文件模块3文件名为:3.asmextrninfo1:byte,info2:byte,bufa:byte,bufb:bytepublicchange2codesegmentassumecs:codehightolowprocnearcmpal,'A'jbstopcmpal,'Z'jastop汇编语言课程设计7addal,20hstop:rethightolowendpchange2procfarleadx,info1movah,9int21hleadx,bufamovah,10int21hleasi,bufa+1leadi,bufbmovch,0movcl,[si]incsinext:moval,[si]callhightolowmov[di],alincsiincdiloopnextmovbyteptr[di],'$'leadx,info2movah,9int21hleadx,bufbmovah,9int21hretchange2endpcodeendsend查看此模块对应的列表文件模块4文件名为:4.asmextrnbuf:byte,info3:bytepublicchange3codesegmentchange3procfarassumecs:codesubax,axmovch,4movcl,4movbx,4a8fhrotate:rolbx,clmoval,blandal,0fhaddal,30hcmpal,3ahjlprintitaddal,7hprintit:movdl,al汇编语言课程设计8movah,2int21hdecchjnzrotatemovdl,'H'movah,2int21hretchange3endpcodeendsend查看此模块对应的列表文件模块5文件名为:zcx.asmextrnmain:far,change5:farstacksegmentparapublic'stack'db200dup(0)stackendsdatasegment;*****主程序中的提示信息*****str1DB0AH,0DH,'********************************************$'str2DB0AH,0DH,'****$'str3DB0AH,0DH,'**welcomeyou!**$'str4DB0AH,0DH,'****$'str5DB0AH,0DH,'**thisisprogrammeofshuzhizhuanghuan**$'str6db0AH,0DH,'****$'str

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功