网站大量收购独家精品文档,联系QQ:2885784924

《微机原理与接口技术》课程设计说明书-钟表显示汇编语言程序设计.doc

《微机原理与接口技术》课程设计说明书-钟表显示汇编语言程序设计.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《微机原理与接口技术》课程设计说明书-钟表显示汇编语言程序设计

钟表显示汇编语言程序设计 1 设计目的与要求 1.1设计目的: (1)理解掌各个中断的使用方法,通过对一些较大程序的编写,加深对汇编语言的认识,尤其是对中断的理解。 (2)掌握一定的汇编语言知识,培养自己的动手操作能力,同时培养学生应用计算机解决实际问题的能力。 (3)学习程序设计的基本思路和方法。 1.2 设计要求: 设计汇编语言程序,实现系统时间显示功能,具体功能要求如下: (1)设计一个界面显示系统方框。 (2)单击“T”键显示本机系统的时间。 (3)单击“ESC"键退出程序。 1.3 程序内容 第一部分:定义显示界面。 第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并 将时间数存入内存区。 第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来。 第四部分:获取键盘的按键值,以ESC键退出系统返回DOS。 2 总体方案论证 这次的任务,一共设计了两种方案。 方案一主要是调用2CH号DOS中断读系统时间,把各相关寄存器中的内容转换为十进制ASCII码输出,分别将小时数、分钟数、秒数存入显示缓冲区,调用DOS字符串显示功能将时间显示出来,然后定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。 方案二同样调用2CH号DOS中断读系统时间,只是方案二简单点,没有把小时数、分钟数、秒数分开,直接将系统当下的时间存入了显示缓冲区,调用DOS字符串显示功能将时间显示出来,然后定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。 经过对比,我觉得方案一好点们虽然复杂一些,但是大体的思路很清楚。 总体思路就是调用2CH号DOS中断读系统时间,把各相关寄存器中的内容转换为十进制ASCII码输出,分别将小时数、分钟数、秒数存入显示缓冲区,调用DOS字符串显示功能将时间显示出来,然后定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。由于获取了的系统时间不会自动刷新,所以我们要设计成循环的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。程序一旦进入运行,就会显示一个精美的方框,显示按键提示,按T就将不间断地在显示屏显示时间,要想程序停止运行,可同时在键盘按下ESC键退出。在本程序中,时钟的精确度为秒。其中DOS调用功能中,编号为2CH的功能是取时间,出口参数:CX:DX=时间。程序中会有四个子程序: 子程序BIN100UT 功能:把二进制数转换为十进制ASCII码输出; 子程序STDOUT 功能:标准输出一个字符; 子程序CLRSCR 功能:清屏; 子程序SETCURS 功能:设置光标位置。 2.1 子程序BIN10OUT 子程序BIN100UT的功能就是把二进制数转换为十进制ASCII码输出。 基本原理:首先要完成二进制到十进制数的转换,一般采用“除10取余”法来完成,其大致过程如下:将待转换的数(在X中)除以10,得到第一个商和余数,此第一个余数就是所求的十进制数的个位;再用第一个商除以10,得到第二个商和余数,此第二个余数就是所求十进制数的十位;……;重复这一过程直至商为0,此时的余数就是所求十进制数的最高位在内存中分配一缓冲区,用来存放以上分离出来的十进制数的每一位,然后再逐个转换成ASCII码,转换成ASCII码的过程很简单,就是给每个十进制位加上30H即可;最后送显示器输出。从转换的过程可以看出,先分离出来的是十进制数的低位,要后显示;后分离出来的是十进制数的高位,应该先显示。因此在编程时,我们可以利用堆栈操作中“先进后出、后进先出”的特性,当分离出各十进制位时依次入栈,要逐个转换成ASCII码送显示时依次出栈。 图2-1 子程序BIN100UT流程图 2.2子程序STDOUT 子程序STDOUT的功能是显示输出。 在编写这一段程序时,我用到了INT 21 02H号中断,INT 21的功能是系统功能调用,入口参数:AH=调用号。编号02H的功能就是显示输出,入口参数:DL=输出字符。一旦了解了这一功能,显示输出子程序便可解决,程序如下所示。 程序:STDOUT PROC PUSH DX MOV DL,AL

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档