汇编语言课程设计--报告模版_第1页
汇编语言课程设计--报告模版_第2页
汇编语言课程设计--报告模版_第3页
汇编语言课程设计--报告模版_第4页
汇编语言课程设计--报告模版_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

华 北 科 技 学 院课程设计说明书汇编语言程序设计课程设计班级: 网络B113 姓名: 师向荣 学号 201107024314 设计题目:_在屏幕上弹出或隐去系统时间_设计时间: 2013-12-2 至 2013-12-12 指导教师:_顾涛_评 语:_评阅成绩:_评阅教师:_1.课程设计的目的、任务使学生综合使用所学过的汇编语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 课程设计的目的和要求: 1.使学生巩固和加强汇编语言课程的理论知识。 2.使学生掌握汇编语言的基本概念、语法、语义和数据类型的使用特点。 3.使学生掌握汇编语言程序设计的方法及编程技巧,能正确使用汇编语言编写程序。 4.进一步理解与运用结构化程序设计的思想和方法;学会利用流程图或N-S图表示算法。 5.使学生掌握调试程序的基本方法及上机操作方法。 6.掌握书写程设计开发文档的能力,使学生学会撰写课程设计总结报告。课程设计的思想和方法还可以作为学生做毕业论文时的参考资料。 7.通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。 8.初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析 问题的能力及编程能力,并养成良好的编程习惯。 9.培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 10.培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。2.软件需求分析和设计 要求:使用程序驻留内存的方法,在图形模式下的屏幕右上角“弹出”一个系统时钟窗口,显示当前系统时间的时、分、秒值。如果 不想显示,则只要同时按下左SHIFT键和右SHIFT键,然后再按ENTER键,此时窗口关闭。若再想看,需再次同时按下左SHIFT键和右SHIFT键。 显示或隐藏系统时间其中包括以下几个部分: (1)二进制十进制数显示模块描述:通过这个子程序可以将存放在BL的二进制系统时间转换为十进制的时间,并且显示出来。(2)调用系统时间模块描述:通过此子程序,使用DOS的AH=2AH将系统的时间分别存到存储区里,再调用二进制十进制子程序将系统时间显示出来。开始BX传参数给AXCX自加1除10,余数入栈判断AX是否为0余数出栈调整ASCII码,输出CX是否为0结束是是否否(3)主程序运用模块描述:主程序部分是一个关于SHIF(l)+SHIF(r)+enter判断的分支程序,使用这3个组合键可以显示隐藏系统时间。开始置光标,输出提示语使用AH=2A调取系统日期使用disp_2_10显示年、月、日、周回车,置光标,输出提示语使用AH=2C功能调取系统时间使用disp_2_10显示时、分、秒结束(4)宏库模块模块描述:此模块是为了方便显示系统时间格式设定的。其中包含了清屏功能、开窗口功能、窗口内上卷功能、置光标功能、2号显示功能、回车换行、现场保护/恢复功能。3.程序实现说明介绍程序实现过程,包括关键代码分析(注意:应该限制代码的数量)1、主过程的算法设计: 主过程先显示系统时间,当按下SHIF(l)+SHIF(r)+enter时,隐藏系统时间,当再次按下SHIF(l)+SHIF(r)+enter时,显示系统时间。此过程主要问题是对组合键的判断,解决此问题用到了16号键盘中断,首先判断接受的按键是否是ENTER或ESC,若为ESC就退出,若为其他就跳到开始阶段,若为ENTER就读取键盘状态,如果SHIF(L)、SHIF(r)也处于按下的状态的话,那么就可以进入显示/隐藏阶段,否则,跳回开始阶段。在显示/隐藏阶段,用到了一个SIGN来存放当前的系统时间是显示还是隐藏状态,初始值为1,也就是说当显示系统时间时SIGN值为1,当隐藏系统时间时SIGN值为0。通过对SIGN值得判断,若为1,则隐藏系统时间,且SIGN置0;若为0,则显示系统时间,且SIGN置1.2、子程序二进制十进制的算法设计 这个子程序主要是将BX里的二进制数转换为十进制并立即输出,不论要输出的是几位十进制都能够实现。首先,将存在BX里的值传给AX,CX置0(记录被除次数),DX置0(保存余数),BX置10(每次除10)。进入第一个循环,AX除以10,CX加1,将余数入栈,判断AX是否为0.若为0,进入下一条语句;若不为0,则进行循环。当循环结束时,这个数的每位数值已经保存在堆栈之中。进入显示阶段,此阶段也有个循环,循环的次数为CX的值。首先从堆栈中弹出余数,然后转换成ASCII码输出,继续循环,直到CX=0为止。3、子程序显示时间的算法设计 此子程序主要是调用系统的时间和日期,在其中同时也调用了二进制十进制转换子程序来显示系统的日期和时间。4、宏库的设计 宏是源程序中一段有独立功能的代码。宏也称为宏指令、宏操作。宏只需要再源程序中定义一次,就可以多次调用它,调用时只用一个宏指令语句。宏库的设计主要是为了输出的界面更加友好而设计的主要包含了BIOS用INT 10H中断实现对屏幕和光标的控制和显示功能、回车换行、现场保护与恢复。1、 程序总结软件完成情况,有哪些收获,存在哪些不足对课程设计有哪些建议通过这次的汇编程序,我从中学习到了很多知识。虽然刚开始的时候遇到了很多难题,但是通过与老师、同学的交流之后,逐步克服了一个个的难题。提高了自己编程的思维能力,在将来的学习,生活之中能够快速的解决问题。学习汇编语言,重要的是掌握如何通过汇编指令和程序来控制计算机各个组成部分工作,完成一系列任务。因此学习汇编语言与学习高级语言的不同之处是要学习如何深入到计算机内部进行控制,包括控制CPU的数据寄存器,地址寄存器,标志寄存器,对存储器的读写操作,对输出输入设备的访问等具体操作。汇编相对于别的编程语言而言,难度是比较大。汇编是直接对CUP进行操作,能够直接控制计算机编程。由于汇编不像JAVA 那样的高级编程语言面向对象,在编程的时候思维有点乱,容易出错,而且小的错误也不容易找到,特别是程序代码长的时候。学会了汇编语言,就能够在CPU的寄存器级别上进行控制操作,掌握直接对计算机硬件编程的方法,从而对计算机系统有更深刻的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论