2022年微机课设基于汇编语言的闰年判断程序设计.docx
《2022年微机课设基于汇编语言的闰年判断程序设计.docx》由会员分享,可在线阅读,更多相关《2022年微机课设基于汇编语言的闰年判断程序设计.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 西安建筑科技高校华清学院课程设计论文课程名称:微型电脑原理与接口技术题 目: 基于汇编语言的闰年判定程序设计院 系:华清学院机电系专业班级:电子信息与科学技术 0801 姓 名:学 号:指导老师:2022 年 1 月 12 日名师归纳总结 - - - - - - -第 1 页,共 13 页精选学习资料 - - - - - - - - - 目 录引言 2 一 设计任务 3 3 设计目的 3 二 设计方案 3 设计分析 3 结构概述 3 三 软件编程 5四 程序运行 10五 收成与心得体会 11 5.1 设计收成 11 5.2 心得体会 12 参考
2、书目 12共 12 页,第 1 页名师归纳总结 - - - - - - -第 2 页,共 13 页精选学习资料 - - - - - - - - - 引 言为了实际提高汇编语言的娴熟程度,稳固课堂学问,本次课程设计中,我们将结合实际生活中经常遇到的闰年问题,运用MF2KI软件来编写如何判断闰年的程序;为了实现对输入年份是否为闰年的判定,所设计的程序需要 完成的功能主要有: 1、在屏幕上显示提示信息,输入年份;2、判定输入格式是否正确; 3、判定输入的年份是否为闰年;判定某年为闰年的汇编语言表达式为: AX MOD 4 EQ 0 AND AX MOD 100 EQ 0 OR AX MOD 400
3、EQ 0其中,AX中存放的是从键盘输入的年份值;程序编写完成之后,会 经过编译、连接、调试等过程,程序运行后,屏幕会提示输入年份,输入后程序会自动判定输入的年份是否为闰年;共 12 页,第 2 页名师归纳总结 - - - - - - -第 3 页,共 13 页精选学习资料 - - - - - - - - - 一、设计任务依据提示输入任意年份, 编写判定闰年的程序, 假如是闰年就在屏幕上现实“ Y” ,否就现实“N” ;1、学习分支、中断和规律表达,寄存器的运用和子程序的调用;2、熟识汇编语言程序的编译、运行过程;3、明白汇编语言编写的各个流程 4、将课堂上所学的学问学以致用, 通过程序的制作过
4、程学习课外的新学问,并加强加深对旧学问的懂得与把握;二、设计方案2.1 设计分析闰年的判定是一个特别经典的问题,在学习各种语言时都会遇到; 解决该问题的关键是找到判定某年是否为闰年的方法;要判定某一年是否为闰年, 需判定 该年份的数值正整数是否满意以下两个条件中的任意一个:1 能够被 4 整除,但不能够被 100 整除;2 能够被 4 整除,同时又能够被 400 整除;2.2 结构概述 主模块:显示提示输入年份以及输入的字符内容,和最终输出的判定;子模块:1 判定输入:该模块是对输入的年份的格式的判定,假设是错误就显示错 误并显示输入提示,正确就进行下面的操作;2 字符串转换格式:将数字字符串
5、转换成数字,以进行下面的程序操作;3 判定闰年:判定输入的年份是否为闰年,假设是就输出“xxxx is a leap year.” ,假设不是就输出“xxxx is not a leap year.”,然后退出程序;依据以上结构,可画出以下程序流程图共 12 页,第 3 页名师归纳总结 - - - - - - -第 4 页,共 13 页精选学习资料 - - - - - - - - - 图 2-1 判定闰年流程图共 12 页,第 4 页名师归纳总结 - - - - - - -第 5 页,共 13 页精选学习资料 - - - - - - - - - 本框图列出了此次课程设计的总流程,显示信息,输入
6、数据,判定格式,判断闰年和终止程序;较为直观地显示了设计的次序结构,循环结构及分支结构;三、软件编程依据图 2-1 利用 DOS 21H中断类型的 10 号键盘功能调用,将键盘接受到的年份数值的字符串按字节存入缓冲区;将字符串中的每个字符转换为对应的十进制数值利用 0-9 这 10 个数的 ASC码值比其本身大 30H的关系,利用判定 某年是否为闰年的表达式,输入该年是否为闰年的信息;主要程序代码如下:data segment inbuff db 5,.,5 dup. prompt db Please input the year:,$ errmsg db Input illegal.,$ y
7、es db is leap year,$ no db is not leap year,$ mess db Continue.y/n:,$ newline db 13,10,$ ;回车换行 data ends code segment main proc far assume cs:code,ds:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax lop0: call input call judge 共 12 页,第 5 页名师归纳总结 - - - - - - -第 6 页,共 13 页精选学习资料 - - - - - -
8、 - - - lea dx,mess mov ah,09h int 21h mov ah,01h int 21h cmp al,n je exit continue: lea dx,newline mov ah,09h int 21h jmp lop0 exit: ret main endp ;是否连续输入年份的判定;输入一个详细的年份 , 并转换成 10 进制 返回:ax= 输入的年份 input proc near push bx push cx push dx s1: lea dx,prompt mov ah,09h int 21h ;提示输出 lea dx,inbuff mov ah,
9、0ah int 21h 共 12 页,第;键盘输入6 页名师归纳总结 - - - - - - -第 7 页,共 13 页精选学习资料 - - - - - - - - - mov dl,byte ptr inbuff1 ;把有效地址为 inbuff的字节送给 dl cmp dl,4 ;输入的值判定是否为4 位数 jne error mov cx,4 lea bx,inbuff add bx,2 mov ax,0 mov dx,0 ;调用输入不合条件时的错误处理lop1: ;检查输入有效性 mov dl,10 mul dl mov dl,byte ptr bx sub dl,30h cmp dl,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 微机 基于 汇编语言 闰年 判断 程序设计
限制150内