版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中北大学汇编语言程序设计课 程 设 计 说 明 书学生姓名: 夏志广 学 号: 学 院: 信息与通信工程学院 专 业: 自动化 题 目: 键盘输入及数据显示程序设计 指导教师:沈小林 安道新 职称:副教授 助教 2011年6月25日 中北大学汇编语言程序设计实验课程设计任务书 10/11 学年第 二 学期学 院: 信息与通信工程学院 专 业: 自动化 学 生 姓 名: 夏志广 学 号: 课程设计题目: 数据显示及键盘输入程序设计 起 迄 日 期: 6月20 日6月25日 课程设计地点: 中北大学 指 导 教 师: 沈小林 安道新 系 主 任: 王忠庆 下达任务书日期: 2011年06月 20
2、日课 程 设 计 任 务 书1设计目的:通过键盘及显示程序设计掌握汇编语言程序在键盘输入及文本显示方面的编程过程。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):1、程序要求(1)能识别数字键、字母键(能区分大小写); (2)一次最多字符(含数字)输入不超过80个; (3)依次显示键盘输入的所有可显示字符。2、设计内容(1)根据要求确定解决问题的编程方法;(2)画出程序框图、设计源程序;(3)在计算机上汇编、链接所设计的程序;(4)按照要求调试程序,记录程序运行结果;(5)写出设计总结报告。设计报告主要内容包括:设计目的与要求、系统技术指标或设计要求、程序设计方案、主要参考资料及
3、心得体会等3设计工作任务及工作量的要求包括课程设计计算说明书、图纸、实物样品等:设计总结;程序清单;程序框图;参考文献等。【注】装订时依照封面、任务书、设计总结顺序一起装订。课 程 设 计 任 务 书4主要参考文献:1 王志军.汇编语言程序设计.大连:大连理工大学出版社,20032 梁发寅,宗大华. 汇编语言程序设计.北京:人民邮电出版社,20063 王爽.汇编语言.北京:清华大学出版社,20034 何超.汇编语言程序设计实验与习题解答.北京:机械工业出版社,20105 黄冰,覃伟年,黄志超.微机原理与应用.重庆:重庆大学出版社,20036 杨季文.汇编语言程序设计教程.北京:清华大学出版社,
4、19987 罗万钧,罗方中.汇编语言程序设计.西安:西安电子科技大学出版社8 吴向军,李磊,汇编语言程序设计实验辅导.西安:西安电子科技大学出版社9 杨素行,刘慧银.微型计算机系统原理及应用.北京:清华大学出版社,199510 冯康.汇编语言.武汉:武汉大学出版社5设计成果形式及要求:设计总结;参考文献等。6工作计划及进度:6月20日 6月21日6月22日 6月22日6月23日 6月24日6月25日 6月25日调研、资料收集;设计方案确定,设计程序 程序调试、程序必须调试通过。撰写总结、设计报告答辩系主任审查意见: 签字: 年 月 日一、 设计目的1、 通过程序设计和调试,加深对字符串程序设计
5、的认识,掌握其调试方法;2、 通过键盘及显示程序设计掌握汇编语言程序在键盘输入及文本显示方面的编程过程;3、 学会DOS中关于显示功能调用的用法;4、 领会修改显存方法显示字符。二、 程序设计要求 (1)能识别数字键、字母键(能区分大小写); (2)一次最多字符(含数字)输入不超过80个; (3)依次显示键盘输入的所有可显示字符。三、编程思路串(String)即数据串,是指存放在连续内存中的一组数据,通常表现为字节(或字)数组,串操作指令具有以下共性。1) 源串:地址由DS:SL表示。2) 目的串:地址由ES:DI表示。3) 自动修改地址:每次数据操作后,SI和DI自动递增或递减,取决于操作的
6、数据类型(字节、字或双字)以及DF的值。若DF=0,则SI和DI自动增加1、2或4;否则减1、2或4。可以使用CLD或STD指令设置DF。4) 计数器:使用重复前缀时,用CX显示数据个数,每重复一次操作,CX减1。从键盘输入一串字符串,通过指令STRING DB 80 DUP(?)来设置一次最多字符(含数字)输入不超过80个,能识别数字键、字母键。要使程序能够识别字母键的大小写,必须通过ASCII码来寻址识别。依次显示键盘输入的所有可显示字符,当用户按回车键时,输入结束。然后通过显示器显示输入的字符。 三、 程序框图开始设置可输入字符长度80按键输入字符串判断字符类型小写字母字符az大写字母字
7、符AZ数字字符09按回车结束字符串输入输出可显示字符串结束61H74H41H5AH30H39H五、程序清单:DSEG SEGMENTMAX DB 80ACT DB ?STRING DB 80 DUP(?)ALPHABET DBNUMBER DBOTHER DBCRLF DBDSEG ENDS;-CSEG SEGMENTMAIN PROC FARASSUME CS:CSEG, DS:DSEGSTART: PUSH DSSUB AX,AXPUSH AXMOV AX,DSEGMOV DS,AXBEGIN: MOV BX,0 MOV SI,0 MOV DI,0 INPUT: MOV AH,1;输入一个
8、字符INT 21HCMP AL,0DH;是回车符吗?JE DISPCMP AL,30H;其值数字0吗?JAE NEXT1OTHER: INC DI;是其他字符? JMP SHORT INPUTNEXT1: CMP AL,39H JA NEXT2 INC SI;是数字字符 JMP SHORT INPUTNEXT2: CMP AL,41H;其值字母Z吗 JA NEXT4 INC BX;是字母字符AZ JMP SHORT INPUTNEXT4: CMP AL,.61H;其值字母a吗? JAE NEXT5JMP SHORT OTHER;是其他字符?NEXT5: CMP AL,7AH;其值C: C:CD
9、 ASMC:ASMMASM HELLO.ASM操作时的屏幕显示如图2所示。图2 在DOS命令提示符窗口中进行汇编不管用以上二个方法中的哪个方法,进入MASM程序后,都会提示让你输入目标文件名(Object filename),并在方括号中显示默认的目标文件名,建议输入目标文件的完整路径名,如:C:ASMHELLO.OBJ回车。后面的两个提示为可选项,直接按回车。注意,若打开MASM程序时未给出源程序名,则MASM程序会首先提示让你输入源程序文件名(Source filename),此时输入源程序文件名HELLO.ASM并回车,然后进行的操作与上面完全相同。图3 有错误的汇编过程例子如果没有错误
10、,MASM就会在当前目录下建立一个HELLO.OBJ文件(名字与源文件名相同,只是扩展名不同)。如果源文件有错误,MASM会指出错误的行号和错误的原因。图3是在汇编过程中检查出两个错误的例子。在这个例子中,可以看到源程序的错误类型有两类:警告错误(Warning Errors)。警告错误不影响程序的运行,但可能会得出错误的结果。此例中无警告错误。严重错误(Severe Errors)。对于严重错误,MASM将无法生成OBJ文件。此例中有两个严重错误。在错误信息中,园括号里的数字为有错误的行号(在此例中,两个错误分别出现在第6行和第9行),后面给出了错误类型及具体错误原因。如果出现了严重错误,你
11、必须重新进入EDIT编辑器,根据错误的行号和错误原因来改正源程序中的错误,直到汇编没有错为止。4用LINK.EXE产生EXE可执行文件在上一步骤中,汇编程序产生的是二进制目标文件(OBJ文件),并不是可执行文件,要想使我们编制的程序能够运行,还必须用连接程序(LINK.EXE)把OBJ文件转换为可执行的EXE文件。具体操作如下: 方法一:在Windows中操作用资源管理器打开源程序目录C:ASM,把HELLO.OBJ拖到LINK.EXE程序图标上。方法二:在DOS命令提示符窗口中操作选择“开始”“程序”“附件”“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入L
12、INK命令:I:C: C:CD ASMC:ASMLINK HELLO.OBJ操作时的屏幕显示如图4所示。图4 把OBJ文件连接成可执行文件不管用以上二个方法中的哪个方法,进入LINK程序后,都会提示让你输入可执行文件名(Run file),并在方括号中显示默认的可执行文件名,建议输入可执行文件的完整路径名,如:C:ASMHELLO.EXE回车。后面的两个提示为可选项,直接按回车。注意,若打开LINK程序时未给出OBJ文件名,则LINK程序会首先提示让你输入OBJ文件名(Object Modules),此时输入OBJ文件名HELLO.OBJ并回车,然后进行的操作与上面完全相同。如果没有错误,LI
13、NK就会建立一个HELLO.EXE文件。如果OBJ文件有错误,LINK会指出错误的原因。对于无堆栈警告(Warning:NO STACK segment)信息,可以不予理睬,它不影响程序的执行。如链接时有其它错误。须检查修改源程序,重新汇编、连接,直到正确。5执行程序建立了HELLO.EXE文件后,就可以直接在DOS下运行此程序,如下所示:C:HELLO回车C:程序运行结束后,返回DOS。如果运行结果正确,那么程序运行结束时结果会直接显示在屏幕上。如果程序不显示结果,我们如何知道程序是否正确呢?例如,这里的HELLO.EXE程序并未显示出结果,所以我们不知道程序执行的结果是否正确。这时,我们就
14、要使用TD.EXE调试工具来查看运行结果。此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,调试程序时也要使用TD.EXE。七、心得体会一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。课程设计是培养学生综合运用所学知识、发现、提出、分
15、析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。通过这次课程设计,本人在多方面都有所提高。通过这次课程设计,综合运用本专业所学课程的理论和生产实际知识进行一次汇编程序设计的实际训练从而培养和提高学生独立工作能力,巩固与扩充了汇编语言等设计等课程所学的内容,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出自己单独设计的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补,以达到最优的学习效果。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分包工程安全协议完整版
- 维修合同的标的和标的物
- 影视剧制片人聘用合同协议书范本签约版5
- 铝锭生产线建设合同(2024版):生产线建设协议
- 二零二四年度高校毕业设计指导服务协议3篇
- 房屋托管出租的合同范本
- 公路排水沟施工合同范本
- 2024年度仪器设备采购与安装合同
- 《产后出血的处理》课件
- 2024版高层住宅工程防火设施合同
- 安全质量管理员岗位职责
- 膝关节镜手术
- 华为认证无线工程师H35-460考试题及答案
- 数学-2025届湖北省武汉市江岸区高三11月调研试题+答案
- GB/T 26342-2024国际间遗体转运棺柩
- 2020-2024年上海市春考语文真题试卷汇编含答案
- 保安公司转让合同范例
- 人教版六年级语文上册第六单元习作:《学写倡议书》授课课件
- 天津市五区县重点校联考2024-2025学年高三上学期11月期中考试 语文 版含答案
- 云海Insight HD V4.6.5技术白皮书
- 植物学#-形考作业3-国开(ZJ)-参考资料
评论
0/150
提交评论