陈小林_判断闰年.doc

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

郑州航空工业管理学院 微机原理课程设计说明书 2010 级 电气工程及其自动化 专业 1 班 题 目 判断某一年是否为闰年 姓 名 陈小林 学号 100697106 指导教师 张 臻 职称 讲师 二О一0 年 十一 月 二十七日 摘要 本文是根据闰年的计算方法,利用汇编语言编写的一个简单的判断闰年的程序。根据判断闰年规则:如果某年能被4整除但不能被100整除或者该年能被400整除,则该年为闰年。判断某年为闰年的汇编语言表达式为:(((AX) MOD 4 EQ 0) AND ((AX) MOD 100 EQ 0)) OR ((AX) MOD 400 EQ 0)其中,(AX)中存放的是从键盘输入的年份值。在本程序运行后,只要输入年份就能判断是否为闰年。此程序可成为万年历的一部分,可深入的进行研究,以便应用到日常生活中。 关键词 闰年、存放、字符、判断 一、判断一年是否为闰年的基本原理 利用DOS 21H 中断类型的10号键盘功能调用,将从键盘接收的表示年份数值的字符串按字节存入缓冲区。将字符串中的每个字符转换为对应的十进制数值(利用0-9这10个数的ASCII码值比其本身大30H的关系),利用判断某年是否为闰年的表达式,输出该年是否为闰年的信息。 解决本问题的关键是找到判断某年时否为闰年的方法。要判别某一年year是否闰年。闰年的条件是符合下面二者之一: 能被4整除,但不能被100整除; 能被4整除,又能被400整除。 本设计中,我们利用 DOS 21H中断类型的10号键盘功能调用,将从键盘接收的年份数值型字符串按字节存入缓冲区。将字符串中的每个字符转换为对应的十进制数值(利用0~9这10个数的ASCll码值比其本身大30H的关系),通过判断某年是否为闰年的表达式,判断输出是否为闰年的信息。 ;判断年份是否为100的整数 倍 mov ax,cx ;将前面复制到cx寄存器中 的年份的数值传给ax mov bx,100 ;将100赋给bx寄存器 mov dx,0 div bx ;本例中 被除数为ax,整型 数据占两个字节16位 cmp dx,0 ;将dx中的余数与0进行比 较,看似否整除 jnz lab2 ;JNZ用来判断比较的结果, 如果有不等的数据则跳转 ;判断年份是否位400的整数 倍 mov ax,cx mov bx,400 三、硬件设计 硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存 本程序基本没有涉及到更多硬件设备,不需要设计电路图。 四、软件设计 本程序的流程图如下: 源代码如下: DATA SEGMENT ;定义数据段 INFON DB 0DH,0AH,Please input a year: $ Y DB 0DH,0AH,This is a leap year! $ N DB 0DH,0AH,This is not a leap year! $ W DW 0 BUF DB 8 DB ? DB 8 DUP(?)

文档评论(0)

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

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

1亿VIP精品文档

相关文档