《汇编语言》课程设计报告显示系统时间.docx
- 文档编号:2440526
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:13
- 大小:198.54KB
《汇编语言》课程设计报告显示系统时间.docx
《《汇编语言》课程设计报告显示系统时间.docx》由会员分享,可在线阅读,更多相关《《汇编语言》课程设计报告显示系统时间.docx(13页珍藏版)》请在冰豆网上搜索。
《汇编语言》课程设计报告显示系统时间
《汇编语言》课程设计报告
题目:
院(系):
班级:
姓名:
学号:
指导教师:
1设计主要任务
这个程序主要是用来显示系统时间的程序。
在这个程序中,主程序首先设置显示方式,取系统时间后将时间保存,继续设置显示方式,利用BIOS的INT1AH的2号系统功能调用,将计算机系统的时间参数(BCD码)送入寄存器,将用BCD码表示的时、分、秒转换成ASCII码并进行显示。
读字符串到al中进行判断是否为结束,然后进行显示时间。
后又重新取系统时间。
然后进行一系列的判断是否有进位。
有则进行进位操作,否则重新取系统时间。
1.1设计任务与目标
任务:
对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
汇编语言程序设计课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。
培养学生综合运用所学知识独立完成汇编程序课题的能力。
使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。
提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
目标:
用“时:
分:
秒”(均为两位)的形式连续显示系统时间。
利用BIOS的INT1AH的2号系统功能调用,将计算机系统的时间参数(BCD码)送入寄存器,将用BCD码表示的时、分、秒转换成ASCII码并进行显示。
2设计方案
(1)在DOS环境下完成,先利用BIOS功能调用中显示器驱动程序的00H类型调用,设置显示器的显示模式为80*25彩色。
(2)在屏幕中央显示提示信息(提示用户输入“D”或“T”或“Q”)。
(3)然后对用户输入的字母进行判断,利用分支程序分别调用不同的子程序。
两个子程序的功能分别是显示当前日期(用2AH的DOS功能调用来取日期),显示当前时间(用2CH的DOS功能调用来取时间)。
必须用到的DOS功能调用:
取当前系统日期:
功能号为2AH,返回值送入CX,DX寄存器中。
取当前系统时间:
功能号为2CH,返回值送入CX,DX寄存器中。
例如:
2009年5月31日运行的程序中,
使用2AH的DOS功能调用后,得到CX=07D9H,DX=051FH
其中,CX中的数据为2009D,即年份。
DX中的数据中可分析得:
DH=05H=05D,即月份。
DL=1FH=31D,即日期号。
最后应将数据转换为其字符对应的ASCII码,
即32H,30H,30H,39H,2DH,30H,35H,2DH,33H,31H再显示在屏幕上。
即显示出:
2009-5-31
3主程序设计
其中主要对主程序和宏清屏命令进行了设计和编码,下面将分别对它们进行简要说明。
主程序:
CODESEGMENT;代码段
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
MAINPROCFAR
BEGIN:
MOVAH,0;设置40*25图形显示
MOVAL,3
INT10H
CLEAR_SCREEN00H,00H,19H,50H
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
;*******************显示宏定义*************************
SHOWMACROb
LEADX,b
MOVAH,9
INT21H
ENDM
SHOWWELCOME;显示数据段的内容
SHOWINF01
SHOWINF02
SHOWINF03
SHOWINF04
SHOWINF05
SHOWINF06
INPUT:
MOVAH,01;键盘输入并回写
INT21H
CMPAL,44H;与D比较
JNEL1;不相等转L1
CALLDATEDISPLAY;相等调用DATADISPLAY
JMPEXIT1
L1:
CMPAL,54H;与T比较
JNEL2;不相等转L2
CALLTIMEDISPLAY;相等调用TIMEDISPLAY
JMPEXIT1
L2:
CMPAL,51H;与Q比较
JEEXIT;相等转EXIT
SHOWINPUTER;显示输入错误
SHOWINF05;显示输入提示
JMPINPUT
EXIT1:
SHOWINF06;显示输入提示
JMPINPUT;
EXIT:
MOVAH,4CH;结束
INT21H
MAINENDP
主程序主要实现与用户的交互,首先程序会提示用户想要进行什么操作。
是显示DATE,TIME还是退出。
这里对应的给用户提供的选项是“D”、“T”和“Q”。
当用户输入他们的选项之后,主程序要判断用户的输入调用相应的功能模块来满足用户的要求。
我们假设用户输入字符为X,那么首先我们将X与“D”比较。
如果相同则程序调用DATE_DISPLAY模块为用户显示日期。
若不为“D”则要继续与“T”想比较。
相等则调用TIME_DISPLAY模块,不等则继续与“Q”相比较。
相等则正常退出,不等则说明用户输入非法字符主程序返回到选择界面用户可以继续选择。
特别说明:
汇编语言的选择结构不同于C语言的选择结构,程序设计过程中要特别小心。
避免将造成潜在的BUG.
3.1主程序流程图
4子程序设计
4.1DATE子程序流程图
4.2TIME子程序流程图
5调试
(1)、运行环境(软、硬件环境):
硬件:
8086以上CPU,内存256M以上。
软件:
WINDOWS操作系统,MASM,LINK汇编编译链接软件。
(2)、程序界面:
1.提示界面如图6-1
图6-1
2.显示日期如图6-2
图6-2
3.显示时间如图6-3
图6-3
4.错误输入如图6-4
图6-4
1)编译源文件,命名为jie3.ASM;2)采用命令格式。
MASMjie3.ASM将生成一个OBJ文件,检查源程序中的错误,并改正。
3)键入连接命令:
LINKjie3.OBJ,再次键入jie3回车,即可显示结果。
4)时间在运行中出现了不准确性,对程序的循环次调整后,时间能正常运行。
6设计总结
通过对这一闹钟程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。
通过查阅以下资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。
这不是第一次用汇编语言来设计一个小程序,平时做了很多实验,写了很多小程序。
但这次是一个综合的程序,平时的很多程序都用到了,例如在程序中用到了不少的子程序,宏,这些子程序的设计是固定的,因此可以直接从指导资料中调用,大多只需要修改几个参数就可以,这大大方便了我们的设计,为我们节省了很多的时间。
在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。
从资料中,我们可以看出这个时钟程序的基本流程,修改一些程序就可以实现这个时钟的基本功能,添加一些程序就可以实现这个时钟的附加功能。
不可否认,本程序存在不少缺点和不足,但通过这次作业的却找出了自己在学习上的不足,对以后的工作也有指导作用。
我相信在以后的学习中会克服这些不足,达到熟练掌握汇编语言的目的!
7程序清单
程序代码:
;************************清屏宏定义**********************
CLEAR_SCREENMACROOP1,OP2,OP3,OP4;1
MOVAH,06H;2
MOVAL,00H;3
MOVBH,79H;4
MOVCH,OP1;5
MOVCL,OP2;6
MOVDH,OP3;7
MOVDL,OP4;8
INT10H;9
MOVAH,02H;10
MOVBH,00H;11
MOVDH,00H;12
MOVDL,00H;13
INT10H;14
ENDM;15
STACKSEGMENTSTACK;16定义堆栈段
DB200DUP(0);17
STACKENDS;18
DATASEGMENT;19定义数据段
WELCOMEDB'WELCOMEYOUTOCOMEHERE!
$';20提示界面
INF01DB0DH,0AH,'THISISADISPLAYPROGAME!
$';21
INF02DB0DH,0AH,'PLEASEINPUT"D""T"OR"Q"TOSHOWDATATIMEOREXIT!
$'
INF03DB0DH,0AH,'D:
DISPLAYSYSTEMDATE;$';22
INF04DB0DH,0AH,'T:
DISPLAYSYSTEMTIME;$';23
INF05DB0DH,0AH,'Q:
QUIT.$';24
INF06DB0DH,0AH,'PLEASEINPUTTHECHAR:
$';25
INPUTERDB0DH,0AH,'INPUTERROR!
$';26
DATEDISDB'00-00-0000',0AH,'$';27显示DATE
TIMEDISDB'00',3AH,'00',3AH,'00',0AH,'$';28显示TIME
DATAENDS;29
CODESEGMENT;30代码段
ASSUMECS:
CODE,DS:
DATA,SS:
STACK;31
;****************************主程序**************************
MAINPROCFAR;32
BEGIN:
;33
MOVAH,0;34设置40*25图形显示
MOVAL,3;35
INT10H;36
CLEAR_SCREEN00H,00H,19H,50H;37
MOVAX,DATA;38
MOVDS,AX;39
MOVAX,STACK;40
MOVSS,AX;41
;************************显示宏定义*************************
SHOWMACROb;42
LEADX,b;43
MOVAH,9;44
INT21H;45
ENDM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课程设计 报告 显示 系统 时间