1判断某一年是否为闰年.pdf
《1判断某一年是否为闰年.pdf》由会员分享,可在线阅读,更多相关《1判断某一年是否为闰年.pdf(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、微机原理课程设计说明书级电气工程及其自动化专业班级题目 判断某一年是否为闰年姓名学号指导教师职称年月日摘要随着科学技术的迅速发展,微机的应用越来越普遍,在此设计中利用 DOS21H 中断类型的 10 号键盘功能调用,将从键盘接收的表示年份数值的字符串按字节存入缓冲区。将字符串中的每个字符转换为对应的十进制数值(利用 09这 10 个数的 ASCll 码值比其本身大 30H 的关系),利用判断某年是否为闰年的表达式,输出该年是否为闰年的信息。解决本问题的关键是找到判断闰年的方法。判断闰年的规则是:如果某一年能被 4 整除但不能被 100 整除或者该年能被 400 整除,则该年为闰年。判断某年是否
2、为闰年的汇编语言的表达式为:(AX)MOD4EQ0)AND(AX)MOD100NE0)OR(AX)MOD400 EQ 0)关键词:判断闰年 中断 字符串输入输出一、判断某一年是否为闰年的基本原理本设计是根据闰年的计算方法,利用汇编语言编写的一个简单的判断闰年的程序。根据判断闰年规则:如果某年能被4 整除但不能被 100 整除或者该年能被400 整除,则该年为闰年,否则不是闰年。在本程序运行后,只要从键盘输入年份,通过计算后,就能输出该年份是否为闰年的信息。二、设计方案2.1 设计程序流程图开始输入年份年份除以 4是否整除否是年份除以 100否不是闰年是否整除继续?是是闰年继续?是除以 400退
3、出是 否 整退出闰年计算设计程序流程图 2.2 设计说明如图 1 闰年计算程序流程图所示,程序开始运行以后,首先屏幕输出提示语,提示用户输入一个年份。用户输入年份后,程序将输入的字符转换为数值。设计利用乘法的操作,实现字符之间的 10 倍数值转换关系。将年份字符转换成数值后,则进行是否是闰年的判断。首先将年份除以4,若不能整除,则判断为不是闰年,屏幕将输出该年不是闰年的信息,并提示用户是否继续下一个年份的判断,如果用户输入n则表示不需要继续,程序将退出,否则继续下一个年份的判断;若能整除 4,则该年份将继续除以 100,若不能整除,则判断为是闰年,屏幕将输出该年是闰年的信息,并提示用户是否继续
4、下一个年份的判断,若不需要继续,程序将退出,否则继续下一个年份的判断;若能整除100,则该年份将继续除以 400,若能整除,则判断为是闰年,屏幕将输出该年是闰年的信息,并提示用户是否继续下一个年份的判断,若不需要继续,程序将退出,否则继续下一个年份的判断;若不能整除 400,则判断为不是闰年,屏幕将输出该年不是闰年的信息,并提示用户是否继续下一个年份的判断,若不需要继续,程序将退出,否则继续下一个年份的判断。三、软件设计3.1 代码段定义:代码段需要定义欲显示的字符串,且字符串以$作为结束标志,还需定义欲输入字符串的缓冲区,缓冲区的第一个字节存放能保存的最大字符数,第二个字节存放实际输入的字符
5、数,用户从键盘输入的字符从第三个字节开始存放,直到用户输入回车键为止。本设计代码段定义如下:DATAS SEGMENT MAXLEN DB 5 ACTLEN DB?YEAR DB 4 DUP(0)YEARALL DW 0 NUM400 DW 400 NUM100 DW 100 NUM4 DW 4 NUMMUL DW 1000,100,10,1 MESSAGE1 DB please input the year,13,10,$MESSAGE2 DB the year is run,13,10,$MESSAGE3 DB the year is ping,13,10,$DATAS ENDS3.2提示
6、语显示:利用 DOS 21H 中断类型 09 号键盘功能调用,在屏幕输出提示用户输入年份的提示。首先,将要显示的字符串放在内存数据区中,本设计提示语显示程序代码如下:MOV AH,09H ;输出MOV DX,OFFSET MESSAGE1INT 21H3.3 字符串输入:利用DOS 21H中断类型的10号键盘功能调用,将从键盘接收的表示年份数值的字符串按字节存储缓冲区。首先,应在内存中建立一个输入缓冲区,如inbuffdb 5,?,5 dup(?)。本设计字符串输入程序代码如下:MOV AH,0AH ;字符串输入 LEA DX,MAXLEN INT 21H3.4 数制转换:利用 0-9 这 1
7、0 个数的 ASCII 码值比其本身大 30H 的关系,将字符串中的每个字符转换为对应的十进制数值。本设计数制转换程序代码如下:MOV CX,4 MOV SI,0 MOV DI,0 MOV YEARALL,0 NEXT:MOV AL,YEARSI SUB AL,30H CBW MUL NUMMULDI ADD YEARALL,AX INC SI ADD DI,2 LOOP NEXT3.5 是否为闰年的判断:利用判断某年是否为闰年的表达式,输出该年是否为闰年的信息。MOV DX,0 MOV AX,YEARALL DIV NUM4 CMP DX,0 JNZ NOCONTINUE:MOV DX,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 判断 某一 是否 闰年
限制150内