华北科技学院。
课程设计说明书。
汇编语言程序设计课程设计。
班级: 网络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将系统的时间分别存到存储区里,再调用二进制—十进制子程序将系统时间显示出来。
3)主程序运用。
模块描述:主程序部分是一个关于shif(l)+shif(r)+enter判断的分支程序,使用这3个组合键可以显示隐藏系统时间。
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进行操作,能够直接控制计算机编程。由于汇编不像j**a 那样的高级编程语言面向对象,在编程的时候思维有点乱,容易出错,而且小的错误也不容易找到,特别是程序**长的时候。
学会了汇编语言,就能够在cpu的寄存器级别上进行控制操作,掌握直接对计算机硬件编程的方法,从而对计算机系统有更深刻的认识,分析问题的角度就会处在更深的层面。
在这一次的汇编课程设计中,我自己认真看书,对中断程序有了更深刻的理解和认识。掌握了中断的概念,能够制定自己的中断程序,并且能够使用bios中断来设置光标的位置,屏幕的控制,还有键盘中断,对键盘的控制。再就是利用dos中断调用系统的时间,和显示功能。
汇编语言课程设计报告
课程设计。一 课程设计题目 简易电子琴。二 课程设计目的 用汇编语言独立完成一个程序题,以达到熟练运用汇编语言编程实现有比较完整功能的系统的目的。三 课程设计内容 用汇编语言编写一个简易电子琴程序,基本功能 1 可以进行固定 演奏 两首以上 可以自行弹奏 2 图形显示键盘界面 弹奏时键盘现实所按按键...
汇编语言课程设计报告
汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。下面是小编为大家整理的关于汇编语言课程的设计报告,欢迎大家的阅读。汇编语言程序设计是一门实践性很强的课程。编写程序 上机调试 运行程序是进一步学习和掌握汇编语言程序设计的必要手段。1 掌握实验运行汇编语言所用的计算机机型。2 熟悉常用编辑程...
汇编语言课程设计
微机原理实践 课程设计报告。题目 汇编语言课程设计。专业 网络工程 班级 班 学号 姓名 指导教师 完成日期 2013年 1 月 6 日。一 课程设计目的。1 加深对汇编语言理论和基本知识的理解,掌握dos和bios系统功能调用,掌握运用汇编语言设计具有一定功能的软件的基本方法。2 通过编写一定规模...