《汇编语言》课程设计报告显示系统时间Word格式.docx

上传人:b****1 文档编号:15357497 上传时间:2022-10-29 格式:DOCX 页数:13 大小:198.54KB
下载 相关 举报
《汇编语言》课程设计报告显示系统时间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

用“时:

分:

秒”(均为两位)的形式连续显示系统时间。

利用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;

结束

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,'

28显示TIME

DATAENDS;

29

CODESEGMENT;

30代码段

STACK;

31

****************************主程序**************************

MAINPROCFAR;

32

;

33

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

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

当前位置:首页 > 外语学习 > 英语学习

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

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