版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机汉字姓名显示软件设计1设计任务及要求分析根据任务书进行分析可知,此课程设计要求用汇编语言编写程序显示自己名字“周帆”。设计的基本要求为:使用汇编语言设计一个运行于计算机的汉字姓名显示软件,软件应实现显示作者自己的汉字姓名。可以附加显示时间等其它信息和添加动态显示效果。完成课程设计说明书,且说明书撰写格式应符合《课程设计说明书统一书写格式》。2系统原理阐述分析设计任务及要求可以得知编写此汇编程序的基本原理,使用模块化编程,即编写一个主程序和若干个子程序(延时子程序、提示信息子程序、显示姓名子程序)来完成设计任务所要求的功能,用这种方法思路清晰,主程序完成的功能为:首先要确定初始时刻的光标位置,然后在该位置处分别调用提示信息子程序和显示姓名子程序,为了使我们能够看到自己的名字必须调用延时子程序以增加显示的时间。延时子程序的原理为通过设计循环来增加程序执行的次数,从而达到增加时间的目的,提示信息子程序的原理为通过int21h的09h功能来完成提示信息的显示。显示姓名子程序的原理为首先通过汉字取模软件完成姓名汉字的编码,经过的方格用1表示,没有经过的方格用0表示,然后应用int10h的09号功能完成字符的显示,将主程序和各个子程序组合在一起即可完成汇编程序的编制。3汇编语言程序设计3.1软件思想根据设计任务及要求,可以得到汇编语言的基本思想为编写一个主程序和若干个子程序,各子程序分别为:延时子程序、提示信息子程序、显示姓名子程序,在程序运行时用主程序分别调用各个子程序,即可完成汇编语言程序的编制。因为各个子程序是相互独立的,这样可以先依靠主程序来完成一部分功能,然后通过增加子程序逐渐增加系统的功能,最终达到所要求的功能。这样可以将大问题简化为一个个的小问题,将大程序简化为一个个得小程序,这样可以减小编写程序的难度。3.2流程图图1软件流程图3.3各子程序功能及说明3.3.1主程序说明CODESEGMENT;程序段代码起始位置ASSUMECS:CODE,DS:DATA,SS:STACKS;程序段,数据段,堆栈地址初始化设置START:;程序开始标识MOVAX,DATA;数据段首地址初始化设置MOVDS,AX;MOVAX,STACKS;堆栈首地址初始化设置MOVSS,AX;MOVSP,OFFSETTOP;堆栈指针偏址设置MOVYANSE,07H;改变颜色寄存器默认值黑底白字YANSE,07H改变此值可以改变颜色MAIN:CALLFARPTRCLEARSCR;调用显示器设置函数MOVBH,0;设置显示的页号MOVAH,6;;功能号6HMOVAL,0;清窗口MOVBH,YANSE;属性为白底黑字MOVCH,0MOVCL,0MOVDH,24MOVDL,79INT10HPRINTFSTRING1,6,20;以下14行是显示器打印名字PRINTFSTRING2,7,20;PRINTFSTRING3,8,20;PRINTFSTRING4,9,20;PRINTFSTRING5,10,20;PRINTFSTRING6,11,20;
PRINTFSTRING7,12,20;PRINTFSTRING8,13,20;PRINTFSTRING9,14,20;PRINTFSTRING10,15,20;PRINTFSTRING11,16,20;PRINTFSTRING12,17,20;PRINTFSTRING13,18,20;PRINTFSTRING14,19,20;BEGIN:MOVAH,01;从键盘输入字符INT21HCMPAL,'Q';输入Q键则退出程序JEEXITCMPAL,'W';输入R键则转移JEAACMPAL,'C';输入L键则转移JEBBJMPBEGIN;返回BEGINAA:MOVYANSE,70H;CALLMOVE_SHAPE_B;改变颜色白底黑字改变此值可以改变颜色JMPMAINBB:MOVYANSE,35H;CALLMOVE_SHAPE_C;改变颜色YANSE,35H改变此值可以改变颜色JMPMAINEXIT:MOVAH,4CH;主程序结束YANSE,70H彩色显示INT21HCODEENDENDSTART3.3.2显示汉字子程序及功能说明PRINTFMACROPRINTFMACRO_STRING,_PY,__PX;宏用于显示器打印字符串,行号,列号MOVAH,02H;MOVBH,0;设置显示的页号MOVDL,_PX;当前显示的列号MOVDH,_PY;当前显示的列号INT10H;当前光标位置设置MOVAH,09H;指令设置三个参数分别是要显示的MOVBL,78H;指令设置LEADX,_STRING;显示的字符串INT21H;ENDM;宏结束STACKSSEGMENTSTACK;堆栈设置DB2000DUP(?);长度为2000字节TOPLABELWORD;STACKSENDS;堆栈设置完成3.3.3提示信息子程序及其功能说明BEGIN:MOVAH,01;从键盘输入字符INT21HCMPAL,'Q';输入Q键则退出程序JEEXITCMPAL,'W';输入R键则转移JEAACMPAL,'C';输入L键则转移JEBBJMPBEGIN;返回BEGINAA:MOVYANSE,70H;CALLMOVE__SHAPE_B;改变颜色YANSE,70H改变此值可以改变颜色JMPMAINBB:MOVYANSE,35H;CALLMOVE__SHAPE_C;改变颜色YANSE,35H改变此值可以改变颜色JMPMAIN白底黑字彩色显示4测试记录及其结果分析编写好程序后即可运行测试程序,在刚开始调试的时候姓名显示的并不清晰,有时根本认不出来自己的姓名,经过仔细检查,最终发现汉字取模软件中方格数错了,经过多次计算并多次确认最终得到了正确的姓名模型。另外,通过修改延迟子程序中的程序循环次数可以改变姓名的下落速度的快慢。wemulatorscreen(80x25chars)-口^9clearscreenchangefont??????????????clearscreenchangefont???????????????or-or-or-or-or-???????????????????????????????????????????????????????????????????????5程序调试程序调试过程中,在堆栈设置中设置长度为2000字节时使用的语句“DB2000DUP(?);长度为2000字节”报错,错误提示为“unterminatedstring:2000DUP(””)”,尝试把DUP改为dup,之后依然报错,于是通过在网上查找方法,和查找书籍,发现emu8086不可以使用dup(?)来分配未初始化的单元,于是把“DB2000DUP(?);长度为2000字节”换成“bufferdb128dup(0)”即可。6小结课程设计是我们大学课堂,特别是我们工程学科的重要组成部分,是我们把课堂中学到的理论知识运用到实践的重要途径。课程设计使我们在短时间内独自完成一个程序的设计、运行、调试,能提高我们对所学课程的应用能力,加深对所学课程的理解,不仅可以巩固课堂上学过的知识,而且可以学到很多在书本上所没有学到过的知识,拓宽了自己的知识面。大学不能想中学那样,针对一个考试,进行三年的填鸭式教育,大学需要面向社会、市场需求,培养出能做事,有创造力的学生来,而不是只会考试的书呆子。我们平时在课堂上,书本上接触的程序都是很短、很基础的,所以总认为像画程序框图,设计程序算法之类的步骤都是多此一举,也很少会认识到模块化程序设计的重要性。而通过这次课程设计,我深刻地体会到这些步骤都是多么的重要。选择了好的算法,往往能节省很多编程的时间,还能优化程序,使程序执行地更加快速流畅。而程序框图可以使我们非常清楚的知道、明晰每一步要做什么,每一步要完成什么任务,这对于我们来说将是一个很明确的指导,并且有利于查错。模块化程序设计把程序分段,思路清晰,有利于编程,也容易查错和修改程序,同时,使其他程序员能看懂我们写的程序。7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年小学国防教育知识讲座方案
- 宜宾市产业投资集团有限公司2026年市场化选聘1名中层管理人员笔试参考试题及答案解析
- 2026萍乡市消防救援支队招聘政府专职消防队员和消防文员85人笔试备考试题及答案解析
- 2026重庆秀山县城区学校选聘341人笔试参考题库及答案解析
- 2026年广告策划师模拟试卷精
- 2026年福建泉州移动公司投诉处理岗位招聘笔试参考试题及答案解析
- 乐山市2026年“筑梦巴蜀 万才兴农”高校毕业生招聘 (第一批)笔试参考试题及答案解析
- 2026美年大健康产业(集团)有限公司招聘笔试参考试题及答案解析
- 2026江西管理职业学院高层次人才招聘10人笔试参考题库及答案解析
- 2026河南郑州曙光云科技有限公司招聘11人笔试参考试题及答案解析
- 2026广西来宾市教育系统参加“千校万岗”广西大中专学生招聘会(广西师范大学专场)招聘教师28人笔试参考试题及答案解析
- 2026重庆新华书店有限公司招聘工作人员47名笔试参考题库及答案解析
- 国家事业单位招聘2025中外文化交流中心应届毕业生招聘笔试历年参考题库典型考点附带答案详解
- 工程质量抗震性能保障方案
- 食品车间卫生质量培训
- 2025年广东省中考化学真题(含答案)
- 华为基本法(更新)
- 2023郑州幼儿师范高等专科学校工作人员招聘考试真题
- 某钢结构工程厂房办公楼施工组织设计方案
- 仓储标准化管理培训课程PPT仓库收、发、存作业标准规范
- GB/T 8806-2008塑料管道系统塑料部件尺寸的测定
评论
0/150
提交评论