版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号:课程设计题目星期判断的程序学院自动化学院专业电气工程及其自动化班级电气1304姓名指导教师2015年12月26日课程设计任务书学生姓名:专业班级:电气指导教师:工作单位:自动化学院题目:星期判断的程序初始条件:星期判断程序输入年、月、日,能够判断当日的星期数,并进行输出。〔可设某年的1月1日为起点,注意闰年问题〕;要求完成的主要任务:〔包括课程设计工作量及其技术要求,以及说明书撰写等具体要求〕设计任务及要求分析方案比拟及认证说明系统原理阐述硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明软件设计课题需要说明:软件思想,流程图,源程序及程序注释调试记录及结果分析总结参考资料附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排: 12月3日~12月6日:收集资料,方案选择12月7日~12月19日:整体流程,程序细节,调试程序12月21日~12月30日:课程设计报告撰写1月4:交报告,程序演示,辩论指导教师签名:年月日系主任〔或责任教师〕签名:年月日目录TOC\o"1-3"\h\u19317摘
要 据区里。其次程序的核心转换思想是运用蔡勒公式W
=
[C/4]
-
2C
+
y
+
[y/4]
+
[13
*
(M+1)
/
5]
+
d
–
1进行转换,调用子程序并将最后结果显示在屏幕上。四、程序框图开始开始输入年月日输入年月日提示错误是否提示错误是否继续判断正误判断正误 N蔡勒公式进行转换结束是否继续显示星期 N 蔡勒公式进行转换结束是否继续显示星期 YN五、源程序及程序注解stacksSEGMENTstackDB200DUP(0)stacksENDSdatasegmentYeardw0Monthdb0Daydb0tempdb10dup(0)countdw?ErrMsgdb0dh,0ah,'Inputwrong!pleaseinputagain!','$'str1db0dh,0ah,'pleaseinputyearmonthday:',0dh,0ah,'$'str2db0dh,0ah,'WhetherornottocontinueinquiriesYes/No',0dh,0ah,'$'weekstr0db'TodayisSunday','$'weekstr1db'TodayisMonday','$'weekstr2db'TodayisTuesday','$'weekstr3db'TodayisWednesday','$'weekstr4db'TodayisThursday','$'weekstr5db'TodayisFriday','$'weekstr6db'TodayisSaturday','$'adw?bdw?ccdw?ddw?wdb0dataends;定义了变量和信息codesegmentassumecs:code,ds:data,ss:stacksstart:movax,datamovds,axleadx,str1;提醒你输入年月日movah,9h;显示字符串int21hcallGetYearMonthDay;调用子程序输入正确的年月日calldisplay;调用子程序通过计算得出星期sel:leadx,str2;提醒你选择退出程序还是继续movah,9hint21hmovah,1;输入你的选择〔键盘输入并回显〕int21hcmpal,'Y'jestartcmpal,'y';输入y或Y继续程序jestartcmpal,'N'jeexitcmpal,'n';输入n或N退出程序jeexitjmpselexit:movah,4chint21h;退出GetYearMonthDayprocnear;子程序输入正确的年月日pushaxpushcxpushsipushdi;压栈inputagain:movYear,0movMonth,0movDay,0movsi,0;把年月日重新归零repeatY:movah,1;输入年int21hcmpal,0dh;换行jeEndY;回车结束年的输入cmpal,20h;判断是否是是空格键SPjeEndY;空格结束年的输入cmpal,1bh;判断是否是退出ESCjeExitDos0;退出键那么退出程序cmpal,30h;和0比拟jbErr;小于0转到错误提示cmpal,39h;和9比拟jaErr;大于9转到错误提示subal,30h;把读入的数据转化为二进制保存到temp[si]中movtemp[si],alincsi;si加1jmprepeatYErr:leadx,ErrMsgmovah,9hint21hmovah,2;显示输出movdl,0dhint21h;换行movdl,0ahint21h;回车jmpinputagain;跳回到inputagain重新输入年月日EndY:movbx,10;把10存入bxmovdi,si;把si的值传给dimovsi,0;再把si清零NextYBit:movah,0moval,temp[si];再把存在temp[si]中的数据存入almovcount,di;把di中的转到countsubcount,si;count=count-sideccount;count-1movcx,count;把自减后的count存入cxjcxzskipY;cx为0转移lopmul:mulbx;*10,主要实现把年按千位,百位,十位,各位存放looplopmul;cx-1循环skipY:addYear,ax;把ax中存入的年的值赋给yearincsi;si自加1cmpsi,di;比拟si和dijneNextYBit;不相等转移;主要实现把年按千位,百位,十位,各位存放pushdxmovah,2movdl,0dh;换行int21hmovdl,0ah;回车int21hpopdxjmpskiplap;跳到月的输入ExitDos0:jmpExitDos退出skiplap:movsi,0;si清零repeatM:movah,1int21hcmpal,0dhjeEndMon;换行cmpal,20hjeEndMon;空格结束输入cmpal,1bhjeExitDos1;ESC退出程序cmpal,30hjbErr1;小于0报错cmpal,39hjaErr1subal,30hmovtemp[si],alincsijmprepeatMErr1:jmpErrExitDos1:jmpExitDosEndMon:movdi,si;把si的值传给dimovsi,0;再把si清零movbl,10;把10存入blNextMBit:moval,temp[si]movcount,disubcount,sideccountmovcx,countjcxzskipMlpmul:mulbllooplpmulskipM:addMonth,alincsicmpsi,dijneNextMBitcmpMonth,12jaErr1pushdxmovah,2movdl,0dh;回车int21hmovdl,0ah;换行int21hpopdxjmpskiplap1skiplap1:movsi,0repeatD:movah,1int21hcmpal,0dhjeEndDaycmpal,20hjeEndDaycmpal,1bhjeExitDoscmpal,30hjbErr2cmpal,39hjaErr2subal,30hmovtemp[si],al;把读入的数据转化为二进制保存到temp[si]中incsijmprepeatDErr2:jmpErr1EndDay:movdi,si;把si的值传给dimovsi,0;再把si清零movbl,10;把10存入blNextDBit:moval,temp[si]movcount,disubcount,sideccountmovcx,countjcxzskipDlpmul1:mulbllooplpmul1skipD:addDay,alincsicmpsi,dijneNextDBitcallGetrightday;调用子程序确定每个月的最大天数moval,[si];把存放器si中的值存入alcmpDay,al;用输入的day和al比拟jaErr2;假设day大于al那么报错pushdxmovah,2movdl,0dhint21hmovdl,0ahint21hpopdxpopdipopsipopcxpopaxretExitDos:movah,4chint21hGetYearMonthDayendpGetrightdayprocnear;此子程序用来判断年份是否为闰年pushbxpushcxPushdxmovsi,offsetwmovax,Yearmovcx,axmovdx,0movbx,4divbxmovb,dxcmpdx,0jnzlab1movax,cx;接着判断年份是否为100的倍数movbx,100divbxmovcc,dxcmpdx,0jnzlab2movax,cx;再判断是否为400的倍数movbx,400divbxmovd,dxcmpdx,0jzlab2lab1:;确定平年各月的天数cmpMonth,1jel1cmpMonth,3jel1cmpMonth,5jel1cmpMonth,7jel1cmpMonth,8jel1cmpMonth,10jel1cmpMonth,12jel1cmpMonth,4jel2cmpMonth,6jel2cmpMonth,9jel2cmpMonth,11jel2moval,28mov[si],aljmplab3l1:moval,31mov[si],aljmplab3l2:moval,30mov[si],aljmplab3lab2:cmpMonth,1jel1cmpMonth,3jel1cmpMonth,5jel1cmpMonth,7jel1cmpMonth,8jel1cmpMonth,10jel1cmpMonth,12jel1cmpMonth,4jel2cmpMonth,6jel2cmpMonth,9jel2cmpMonth,11jel2moval,29mov[si],aljmplab3lab3:popdxpopcxpopbxretGetrightdayendpdisplayprocnearcmpmonth,2jglab11addmonth,12subyear,1;小于等于2那么月加12,年再减1再计算lab11:xorax,axxorbx,bxxorcx,cxxordx,dxdecyearmovax,yearmovcx,axmovdx,0movbl,4divbxaddcx,axxorax,axxorbx,bxmovax,yearmovdx,0movbl,100divbxsubcx,axxorax,axxorbx,bxxordx,dxmovax,yearmovbx,400divbxaddcx,axxorax,axmovdx,0movbx,0incmonthmoval,monthmovbl,13mulblxorbx,bxmovbl,5divbxaddcx,axxorax,axxordx,dxcmpmonth,13janoaddd;当此时month大于13时,即月为1、2月时不用考虑加1cmpb,0jnenoadddcmpcc,0jneadddcmpd,0jeadddaddd:addday,1;day+1jmpdodnoaddd:jmpdod;day不用加一dod:moval,dayaddcx,ax;把day送个cxxorax,axxorbx,bxxordx,dxmovax,cxmovbl,7divbxmova,dx;把由公式的来的和除以7,取余cmpa,0jes0cmpa,1jes1cmpa,2jes2cmpa,3jes3cmpa,4jes4cmpa,5jes5leadx,weekstr6movah,9hint21hjmpexit1s0:leadx,weekstr0movah,9hint21hjmpexit1s1:leadx,weekstr1movah,9hint21hjmpexit1s2:leadx,weekstr2movah,9hint21hjmpexit1s3:leadx,weekstr3movah,9hint21hjmpexit1s4:leadx,weekstr4movah,9hint21hjmpexit1s5:leadx,weekstr5movah,9hint21hexit1:retdisplayendpcodeendsendstart六、调试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编版2025-2026学年七年级历史上学期期末检测押题试卷(含答案)
- 第八章《运动和力》测试卷(含答案)-2025-2026学年人教版物理八年级下册
- 凝心聚力 安全复工玩具制造公司2026年节后复工复产收心会议
- 2026贵州贵阳花溪区元畅采阳新能源科技有限公司招聘1人备考题库带答案详解(考试直接用)
- 临床试验伦理审查中的受试者代表参与
- 临床药师在医疗应急响应中的协同
- 临床研究科研诚信与资源监管案例
- 临床沟通反馈的团队协作模式构建
- 临床教学查房评价术语标准化
- 大型会展中心数字会议系统施工方案
- 2026年湖南大众传媒职业技术学院单招综合素质笔试备考试题含详细答案解析
- 生产过程监督管理制度
- 血液灌流在维持性血液透析患者中的临床应用专家共识(2025年版)
- 2026年烟台汽车工程职业学院单招综合素质笔试备考试题带答案解析
- 涉密人员社交媒体使用保密指南
- 项目纸打印合同范本
- 传染病影像学课件
- 研发资料规范管理制度(3篇)
- GB/T 16770.1-2025整体硬质合金直柄立铣刀第1部分:型式与尺寸
- 工业产品销售单位质量安全日管控周排查月调度检查记录表
- 年龄段护理知识培训内容课件
评论
0/150
提交评论