显示时间日期__实验报告_第1页
显示时间日期__实验报告_第2页
显示时间日期__实验报告_第3页
显示时间日期__实验报告_第4页
显示时间日期__实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、IBM-PC汇编语言程序设计(第二版)课程设计实时钟显示与定时控制设计实验报告设计题目:实时钟显示与定时控制设计姓 名:卢东平学 号:40912078指导老师:冯志远学 院:计算机科学学院专 业:计算机科学与技术班 级:2009级02班设计地点:陕西师范大学雁塔校区2011年6月21日星期二实时钟显示与定时控制设计实验报告一.【课程设计目的】通过本学期IBM-PC汇编语言程序设计学习,利用所学知识,综合应用各汇编语言程序设计技术,在PC机上实现日期显示、时间显示,以提高编程技术的应用能力。二.【课程设计要求】1. 利用BIOS 和DOS 的系统功能调用,能将计算机系统的日期和时间读出并显示出来

2、。2. 用“年:月:日”(都是两位)的形式连续显示所用电脑系统日期。3用“时:分:秒” (都是两位)的形式连续显示所用电脑系统时间。三.【课程设计内容】1.利用定时中断实现时钟显示。(1).显示所用电脑系统实时日期(程序以D输入显示日期)(2).显示所用电脑系统实时时间(程序以T输入显示时间)(3).退出程序(程序以Q输入推出程序)2.利用主程序与子程序实现转换。(1).利用子程序显示日期和时间。(2).利用ASCII把相应的日期和时间转换成相应的字符。四.【 设计步骤】 1.分析题目内容及要求,绘制程序流程图; 2.编写程序代码; 3.上机调试查错并修改; 4.运行程序,是否满足设计要求及符

3、合实验内容,并作出相应修改; 5.完成设计实验报告内容填写。五.【设计程序流程图】六【编译窗口截屏】1.显示界面2.键盘输入D显示日期3.键盘输入T显示时间4.键盘输入Q显示退出七.【程序清单】程序如下: STACK SEGMENT STACK DW 200 DUP (?) STACK ENDS DATA SEGMENT SPACE DB 1000 DUP (' ') PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ') DB 6 DUP (' '),0BAH,26

4、DUP (20H),0BAH,6 DUP (' ') DB 6 DUP (' '),0C8H,26 DUP (0CDH),0BCH,6 DUP (' ') DBUFFER DB 8 DUP (':'),12 DUP (' ') DBUFFER1 DB 20 DUP (' ') STR DB 0DH,0AH,'lu dong ping 40912078 PLEASE INPUT DATE(D) OR TIME(T) OR QUIT(Q): $' DATA ENDS CODE SEGME

5、NT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,0001H ;设置显示方式为40*25彩色文本方式 INT 10H MOV AX,DATA MOV DS,AX MOV ES,AX MOV BP,OFFSET SPACE MOV DX,0B00H MOV CX,1000 MOV BX,0040H MOV AX,1300H INT 10H MOV BP,OFFSET PATTERN ;显示矩形条 MOV DX,0B00H MOV CX,120 MOV BX,004EH MOV AX,1301H INT 10H LEA DX,STR

6、;显示提示信息 MOV AH,9 INT 21H MOV AH,1 ;从键盘输入单个字符 INT 21H CMP AL,44H ;AL='D'? JNE A CALL DATE ;显示系统日期 A: CMP AL,54H ;AL='T'? JNE B CALL TIME ;显示系统时间 B: CMP AL,51H ;AL='Q'? JNE START MOV AH,4CH ;返回dos状态 INT 21H DATE PROC NEAR ;显示日期子程序 DISPLAY: MOV AH,2AH ;取日期 INT 21H MOV SI,0 MOV A

7、X,CX MOV BX,100 DIV BL MOV BL,AH CALL BCDASC1 ;日期数值转换成相应的ASCII码字符 MOV AL,BL CALL BCDASC1 INC SI MOV AL,DH CALL BCDASC1 INC SI MOV AL,DL CALL BCDASC1 MOV BP,OFFSET DBUFFER1 MOV DX,0C0DH MOV CX,20 MOV BX,004EH MOV AX,1301H INT 10H MOV AH,02H ;设置光标位置 MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018H REPEA: MO

8、V CX,0FFFFH ;延时 REPEAT: LOOP REPEAT DEC BX JNZ REPEA MOV AH,01H ;读键盘缓冲区字符到AL寄存器 INT 16H JE DISPLAY JMP START MOV AX,4C00H INT 21H RET DATE ENDP TIME PROC NEAR ;显示时间子程序 DISPLAY1: MOV SI,0 MOV BX,100 DIV BL MOV AH,2CH ;取时间 INT 21H MOV AL,CH CALL BCDASC ;将时间数值转换成ASCII码字符 INC SI MOV AL,CL CALL BCDASC IN

9、C SI MOV AL,DH CALL BCDASC MOV BP,OFFSET DBUFFER MOV DX,0C0DH MOV CX,20 MOV BX,004EH MOV AX,1301H INT 10H MOV AH,02H MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018H RE: MOV CX,0FFFFH REA: LOOP REA DEC BX JNZ RE MOV AH,01H INT 16H JE DISPLAY1 JMP START MOV AX,4C00H INT 21H RET TIME ENDP BCDASC PROC NEAR ;

10、时间数值转换成ASCII码字符子程序 PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFERSI,AL INC SI ADD AH,'0' MOV DBUFFERSI,AH INC SI POP BX RET BCDASC ENDP BCDASC1 PROC NEAR ;日期数值转换成ASCII码字符子程序 PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFER1SI,AL INC SI ADD AH,'0' MOV DBUFFER1S

11、I,AH INC SI POP BX RET BCDASC1 ENDP CODE ENDS END START感谢老师花时间看程序八.【心得体会】 1. 原本我对汇编语言一点也不感兴趣,甚至认为是枯燥无味的一门课程,但是经过这几天的对汇编语言程序设计的查阅资料,视野开阔啦,我发现汇编语言其实是挺有起得一门课,就如此程序本来是生活中常用的时钟,我们学计算机的还不知道其内部程序,他也揭开了我一直对闹铃迷惑的问题。我后悔我没有好好学习冯老师教的课程,记得一开始很喜欢这门课的,可是后来慢慢的听不懂,也问过老师几次,老师也耐心的给予讲解,可是还是迷惑不解,慢慢的不听课,想着自己看书能看懂,但是现在我发现那时的我错,我现在才看着课程设计提不知所措。谢谢冯老师一学期的讲解,不是你教的不好,是我的认识错啦。2. 我对本程序能读懂,尤尤其在画流程图给我了不少的困难,记得程序中“转换相应ASCII字符”始终没有回过神来,最后请教了好友杨传龙和林小雨同学才的以解决。3. 以前做课程设计的都是几个同学一起,有一个好的团队,感觉做事容易一点,这一次一个人做的程序(我也

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论