全球旧事资料 分类
西安工业大学课程设计用纸
课程名称:汇编语言程序设计
课程英文名称:PROGRAMMINGBYASSEMBLELANGUAGE
一.设计目的:
1理解掌握定时计数器和中断的使用方法。2掌握微机常用的输入输出方式及接口技术。3掌握一定的汇编语言知识,培养自己的动手操作能力。4学习程序设计的基本思路和方法。
二.程序内容:
第一部分:定义显示界面。第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来。第四部分:获取键盘的按键值以ESC键退出系统返回DOS。
三.程序设计原理:
首先在数据段开辟一显示缓冲区,用来存储系统时间。调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号’’。调用DOS字符串显示功能将时间显示
f西安工业大学课程设计用纸
出来。并调用屏幕IO中断,定位光标的开始位置,结合着将时间显
示在我们预先定义好的位置上。由于获取了的系统时间不会自动刷
新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。调用延时TIME延时中断服务程序,累加到存放秒值的寄存器DL中,并进行十进制调整。在累加的过程中,不断地对时、分、秒值进行比较,秒不能等于60,分不能等于60,时不能等于24。秒等于限制值时,则使秒值为0分值加1;分等于限制值时,则使分值为0时值加1;时等于限制值时,则使时值为0;时、分、秒值都不超过限制值时,就转显示屏输出。时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了一段较精确的时间延迟程序。利用BIOSS设计窗口,选择适当的背景和前景等,使屏幕显示更加完美。程序一旦进入运行,就将不间断地在显示屏显示时间,要想程序停止运行,可同时在键盘按下ESC键返回DOS系统。
四.程序流程图如下:
DATASEGMENT
;设置数据段
BUF1DBTHETIMEISNOW
BUF5DB
BUF6DB
BUF7DB00oo00
BUF8DB0000
fBUF9DB0000
BUF10DB0000
BUF3DBCLASS040402206
BUF4DBNAMEhuli
gwei
BUF2DB10
DB10DUP
DATAENDS
STACKSEGMENTSTACK
;设置堆栈段
DB100DUP
STACKENDS
CODESEGMENT
;设置代码段
ASSUMECSCODEDSDATASSSTACK
CURSORMACROROWCLM
;设置光标位置
MOVAH2
MOVBH0r
好听全球资料 返回顶部