课程设计报告汇编语言Word格式.docx

上传人:b****5 文档编号:19217161 上传时间:2023-01-04 格式:DOCX 页数:13 大小:152.78KB
下载 相关 举报
课程设计报告汇编语言Word格式.docx_第1页
第1页 / 共13页
课程设计报告汇编语言Word格式.docx_第2页
第2页 / 共13页
课程设计报告汇编语言Word格式.docx_第3页
第3页 / 共13页
课程设计报告汇编语言Word格式.docx_第4页
第4页 / 共13页
课程设计报告汇编语言Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

课程设计报告汇编语言Word格式.docx

《课程设计报告汇编语言Word格式.docx》由会员分享,可在线阅读,更多相关《课程设计报告汇编语言Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

课程设计报告汇编语言Word格式.docx

例如:

可设计界面提示信从键盘输入“D”可显示系统的日期。

利用DOS系统调用的2AH和2CH功能调用。

读取系统的日期和时间。

将日期和时间值转换为相应的ASCII码字符,显示在屏幕上。

双击可执行程序.exe文件,在出现的提示信息中输入大写字“D”,可显示系统当前日期;

输入大写字母“T”,可显示系统当前时间;

输入大写字母“Q”,可结束程序。

计划与进度安排:

6月1日-6月15日:

进行构思与查阅资料。

与本实验的合作者讨论此次试验学习到了哪些知识点,同时对这些知识点进行全面系统的复习。

6月16日-6月20日:

开始编写程序分析程序,进行程序设计并进行调试与运行对所编写的程序进行修改使之达到最好.完成对基本功能的修改并运行无误;

增加对开始的源程序的功能

6月21日-6月27日:

完成汇编语言课程设计实验报告。

 

设计过程、步骤(可加页):

程序设计分析:

●在DOS环境下完成,先利用BIOS功能调用中显示器驱动程序的00H类型调用,设置显示器的显示模式为80*25彩色。

●在屏幕中央显示提示信息(提示用户输入“D”或“T”或“Q”)。

●然后对用户输入的字母进行判断,利用分支程序分别调用不同的子程序。

两个子程序的功能分别是显示当前日期(用2AH的DOS功能调用来取日期),显示当前时间(用2CH的DOS功能调用来取时间)。

必须用到的DOS功能调用:

取当前系统日期:

功能号为2AH,返回值送入CX,DX寄存器中。

取当前系统时间:

功能号为2CH,返回值送入CX,DX寄存器中。

主程序流程图

图1实验主流程图

结果与分析(可以加页):

1.程序运行界面

(1)提示界面

进入提示界面“WELCOMETOTIMEMASTER”根据提示请输入“D”或“T”或“Q”。

图2提示界面图

(2)显示日期

输入“D”显示当前日期

图3显示日期图

(3)显示时间

输入“T”显示当前时间

图4显示时间图

(4)退出程序

输入“Q”退出程序

图5退出程序图

说明:

以上截图为此次实验运行出来时的主要截图,其中图1为本实验的主流程图,分为三个部分,分别是日期的显示,时间的显示以及程序的退出。

图2是在屏幕中央显示提示信息(提示用户输入“D”或“T”或“Q”)。

图3是取当前系统日期:

图4是取当前系统时间:

设计体会与建议:

通过对这一系统时间程序的制作,让我们掌握在语言中使用计算机简单的图形显示程序显示系统日期和时间的方法,以便在以后的其他各种程序中能够更加熟练的运用这种方法来显示计算机系统的日期和时间。

同时也让我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。

通过查阅资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。

这不是第一次用汇编语言来设计一个小程序,平时做了很多实验,写了很多小程序。

但这次是一个综合的程序,平时的很多程序都用到了,例如在程序中用到了不少的子程序,宏,这些子程序的设计是固定的,因此可以直接从指导资料中调用,大多只需要修改几个参数就可以,这大大方便了我们的设计,为我们节省了很多的时间。

在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。

从资料中,我们可以看出这个时钟程序的基本流程,修改一些程序就可以实现这个程序的基本功能,添加一些程序就可以实现这个时钟的附加功能。

不可否认,本程序存在不少缺点和不足,但通过这次作业的却找出了自己在学习上的不足,对以后的工作也有指导作用。

我相信在以后的学习中会克服这些不足,达到熟练掌握汇编语言的目的!

豆建华

根据设计要求,这个程序基本实现所要求的功能。

但由于短暂的设计时间和过于零散的汇编知识暴露出许多不足之处,如我们显示的时间是静态的,不能动态显示连续的时间,界面太过单调。

但是程序也有他相对的特点如冗余低,能判断是否输入错误,和对应的时间和日期的大小写输入。

做这个程序的过程中,我加深了对某些指令的理解,如push,pop,jmp指令。

本次实验,我觉得最大的收获便是慢慢学会了集体思考问题及解决问题,并

且最终合作力量通过程序代码来实现,我感觉这是对自我的一种突破。

乍一看到这个题目,感觉挺简单啊,不就是用一个字符和规定的三个字符相比较,分别调用子程序么?

可是真正在编写程序的过程中,才发现想的容易,写起来却是另一会事,正如杜甫所说的“书到用时方恨少,事非经过不知难。

”其实对于这种情况,我们极容易犯眼高手低的毛病,这就导致我们失去了多次自己动手操作实践的机会,一味的只是看老师演示演示再演示。

通过这次试验,我知道了在以后的学习过程中,一定要自己去实践,在实践中能得到更加深刻的认识和体会,对知识能够更好更深刻的掌握。

钱爱萍

附录源代码:

STACKSEGMENTSTACK

DW200DUP(?

STACKENDS

DATASEGMENT

SPACEDB1000DUP('

'

STR1DB40DUP('

),9DUP('

),'

WELCOMETOTIMEMASTER!

'

52DUP('

DUICHUDB240DUP('

THANKYOUVERYMUCH!

412DUP('

PATTERNDB6DUP('

),0C9H,26DUP(0CDH),0BBH,6DUP('

DB6DUP('

),0BAH,26DUP(20H),0BAH,6DUP('

),0C8H,26DUP(0CDH),0BCH,6DUP('

DBUFFERDB8DUP('

:

),12DUP('

DBUFFER1DB20DUP('

STRDB0DH,0AH,'

PLEASEINPUTDATE(D)ORTIME(T)ORQUIT(Q):

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAX,0001H

INT10H;

设置显示方式为40*25彩色文本方式

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVBP,OFFSETSPACE

MOVDX,0B00H;

0B00

MOVCX,1000

MOVBX,0020H

MOVAX,1300H

INT10H

MOVBP,OFFSETSTR1;

显示'

MOVDX,0600H

MOVCX,120

MOVBX,000EH

MOVAX,1301H

MOVBP,OFFSETPATTERN;

显示矩形条

MOVDX,0B00H

MOVBX,004EH

LEADX,STR;

显示提示信息

MOVAH,9

INT21H

MOVAH,1;

从键盘输入单个字符

CMPAL,44H;

AL='

D'

JNEA

CALLDATE;

显示系统日期

A:

CMPAL,54H;

T'

JNEB

CALLTIME;

显示系统时间

B:

CMPAL,51H;

Q'

JNESTART

MOVBP,OFFSETDUICHU;

MOVCX,520

MOVAX,4C00H;

返回dos状态

DATEPROCNEAR;

显示日期子程序

DISPLAY:

MOVAH,2AH;

取日期

MOVSI,0

MOVAX,CX

MOVBX,100

DIVBL

MOVBL,AH;

AH=12AL=20

CALLBCDASC1;

日期数值转换成相应的ASCII码字符

MOVAL,BL

CALLBCDASC1

INCSI

MOVAL,DH

MOVAL,DL

MOVBP,OFFSETDBUFFER1

MOVDX,0C0DH

MOVCX,20

MOVAH,02H;

设置光标位置

MOVDX,0300H

MOVBH,0

MOVBX,0018H

REPEA:

MOVCX,0FFFFH;

延时

REPEAT:

LOOPREPEAT

DECBX

JNZREPEA

MOVAH,01H;

读键盘缓冲区字符到AL寄存器

INT16H

JEDISPLAY

JMPSTART

MOVAX,4C00H

RET

DATEENDP

TIMEPROCNEAR;

显示时间子程序

DISPLAY1:

MOVSI,0

MOVAH,2CH;

取时间

MOVAL,CH

CALLBCDASC;

将时间数值转换成ASCII码字符

MOVAL,CL

CALLBCDASC

MOVBP,OFFSETDBUFFER

MOVAH,02H

RE:

MOVCX,0FFFFH

REA:

LOOPREA

JNZRE

MOVAH,01H

JEDISPLAY1

TIMEENDP

BCDASCPROCNEAR;

时间数值转换成ASCII码字符子程序

PUSHBX

CBW

MOVBL,10

ADDAL,'

0'

MOVDBUFFER[SI],AL

ADDAH,'

MOVDBUFFER[SI],AH

POPBX

BCDASCENDP

BCDASC1PROCNEAR;

日期数值转换成ASCII码字符子程序

MOVDBUFFER1[SI],AL

MOVDBUFFER1[SI],AH

BCDASC1ENDP

CODEENDS

ENDSTART

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1