汇编语言课程设计17013.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言课程设计17013.doc

计算机原理与汇编语言设计报告 题 目: 用汇编语言编写一个程序工程1102班 学 号: 0909111612 姓 名: 田刚 指导教师: 刘丽2014.3.14 课程设计的题目 用汇编语言编写一个秒表(毫秒)计时程序,要求有屏幕时间显示、启停等功能。 设计目的 熟练使用汇编指令以及熟悉汇编语言的编程方式并且了调用功能与DOS 学会利用程序手段或者CPU定时的功能实现定时程序。 设计思路:是实现对键盘输入的字母的判断,(、(Memeory)、E(End)、C(Continue)、R(estart)Zero)),判断是否等于相应的字母,如果相等,则调用不同的函数实现不同的功能。光标程序,让表相应的地方显示。 CPU的延时程序,将其数字转换为码实现秒表显示 解决方案: 通过调用INT 21H的8号功能实现控制字符的输入, 2号功能实现字符的输出,9号功能实现字符串的输出。通过调用INT 10H 的2号功能实现光标定位,AH=0H号功能设置显示方式、AH=7H号功能实现向下滚屏、AH=13H号功能实现彩色输出。利用系统执行指令的时钟周期,编写延时程序,通过调用延时程序实现一秒的计时。通过8位数ASCII与BCD转换。1、程序中未用到特别的数据结构,只在记忆时了堆栈。S如果不等则在循环执行启动子程序中动态等待直到输入的字符为S时计时开始。 IOSET(设置光标位置子程序) 通过设置光标子程序来设置显示的区域。一般整个屏幕可显示25行80列屏幕左上角字符位置为0行0列右下脚字符为24行79列对应十六进制为左上脚为00右下脚为184F。入口信息为AH=2要设置光标BH=0页号DHDL=00要置光标于0行0列。DX赋10 值为0D27H光标置位于屏幕中央。 GO(初始化显示子程序) 通过将在数据段定义的BUFFER数组的首址赋给BX将待显示初值字符串0000存入数组中的相应位置当每次复位以后重新调用该子程序将程序的执行结果修正为0000并显示于屏幕上从而实现了程序的初值设定和复位功能。 TIME(延时子程序) 计算机每执行一条指令虽然很快但是需要一些时间因此在本程序中可以通过延时程序让计算机去执行一些无关的程序来达到时钟秒与百分之一秒转换时的时间延迟。每条指令执行时间的长短是以计算机的时钟周期为基本单位的因此不同的计算机可以通过修改延时程序数值来使其达到准确计时。 TRAN(压缩BCD码转ASCII码程序) 计算机显示数据时使用的是数据是ASCII码而在程序设计当中程序的计时数值是BCD码因此需要通过此子程序实现将BCD码转变为ASCII码以备送屏幕显示。因为时钟计时的压缩BCD码每一个数都有8位因此将其右移四位并加30H将其高位数字取出送BX存放再将其低位数字取出加30H,送BX存放达到不同码制之间转换的目的。 复位、停止等功能的实现是通过对输入字符的判断和各种循环的嵌套调用实现。整体上本程序的主要设计原理是先在数据段中定义“S START R RESET E END C CONTINUE”控制字符串并定义缓冲区。将数据段的段基址送DS并将“S START R RESET E END C CONTINUE”显示同时调用GO子程序将显示结果初始化。同时设置光标启动计时启动延时程序将百分之一秒加1并将其设置为压缩BCB码当其CF不为1时送屏幕显示当其为1时将其设置为0并在秒上加1当秒等于60时其置0当其小于60时送屏幕显示。在计时过程中如果键入R则将其复位并重新开始计时当键入E时计时暂停如果键入C则继续计时如果键入R则复位设置为0000当再次键入S时再次计时开始。 程序要求 能够在上实现秒表的 实现秒表的启复位等功能 具有记忆功能 1)交互界面显示效果 2)调用复制程序GO 3)调用光标置位程序 4)等待开始信号 5)赋初值,调用延时程序 6)ASCII与BCD码的转 程序代码: 1、数据段缓冲区的定义 DATA SEGMENT ;设置数据段 BUF DB Start(S) Memory(M) End(E) Continue(C) Restart(R) Zero(Z) M E M O R Y$ ;设置功能说明 MESS DB * * * * * * * *

文档评论(0)

实验室仪器管理 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档