汇编语言设计报告张尹.docx
- 文档编号:3760619
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:10
- 大小:130.06KB
汇编语言设计报告张尹.docx
《汇编语言设计报告张尹.docx》由会员分享,可在线阅读,更多相关《汇编语言设计报告张尹.docx(10页珍藏版)》请在冰豆网上搜索。
汇编语言设计报告张尹
《汇编语言程序设计》
课程设计报告
题目:
判断闰年
院系:
信息工程系
专业班级:
电子信息工程技术1001班
学号:
201003030112
学生姓名:
张尹
指导教师:
唐启见
2011年12月27日
湖南软件职业学院课程设计任务书
信息工程系电子教研室
学号
201003030112
学生姓名
张尹
专业(班级)
电子信息工程技术1001班
设
计
题
目
题目一:
判断闰年√
题目二:
进制转换
题目三:
代码转换程序
题目四:
四则运算程序
题目五:
学生成绩管理
题目六:
打字练习(注:
请在自己选做的题目后打√)
设
计
技
术
参
数
1.熟悉汇编指令、宏汇编语言的编程方法
2.BIOS中断调用、系统功能中断调用方法
3.磁盘文件、及文件内容操作
设
计
要
求
题目的选择是根据汇编语言的特点主要针对系统内部的一些中断调用、系统功能调用、系统数据处理、文件数据处理而设计的,是对所学课程知识较为系统的应用。
由于汇编语言编程相对其他语言编程比较复杂,因此,在设计上应把重点放在程序的功能实现上,不要太在意程序的结构和显示界面的设计。
不要局限于题目所规定的要求,可以灵活裁减,设计出功能更完善的程序。
另外,也可以自己设计题目,同时,提出详细的功能描述,经指导老师审查同意后也可作为课程设计的题目。
工
作
量
1.完成所选题目的软件设计;
2.课程设计1000字(不包括程序源代码)左右。
工
作
计
划
第1次熟悉软件环境。
第2次绘制程序流程图。
第3次用编写程序。
第4次用调试运行程序。
第5次编写课程设计说明书
参
考
资
料
1.李敬兆8086/8088和arm核汇编语言程序设计中国科技大学出版社
2.沈美明,温冬婵编著IBM—PC汇编语言程序设计(第二版)清华大学出版社出版
3.沈美明,温冬婵,张赤红编著IBM—PC汇编语言程序设计实验教程清华大学出版社出版
指导教师签字
唐启见
教研室主任签字
李建
2011年12月25日
湖南软件职业学院课程设计成绩评定表
指导教师评语:
成绩:
指导教师:
年月日
摘要
本程序是基于汇编语言编写的简单的判断闰年的程序,此程序简单便捷易于应用,可应用到日常生活中闰年的判断,也可用在万年历的制作中。
在运行后,屏幕会提示输入年份,输入后程序会自动判断输入的年份是否为闰年。
根据闰年的计算方法:
如果某年能被4整除但不能被100整除或者该年能被400整除,则该年为闰年。
判断某年为闰年的汇编语言表达式为:
(((AX)MOD4EQ0)AND((AX)MOD100EQ0))OR((AX)MOD400EQ0)其中,(AX)中存放的是从键盘输入的年份值。
在本程序运行后,只要输入年份就能判断是否为闰年,在结果输出后对于用户选择是否继续程序。
完成的主要功能1、在屏幕上显示提示信息,输入年份。
2、判断输入的年份是否为闰年。
3、判断完后返回。
关键词:
闰年,判断输入,重复输入
目录
1设计目的1
2概要设计2
2.1系统总体分析2
2.2主模块框图及说明3
3详细设计4
3.1主模块及子模块说明4
3.2各模块详细设计4
4.程序调试8
4.1运行界面分析8
4.2算法的分析9
5心得体会10
5.1设计体会10
5.2系统改进10
参考文献11
1设计目的
1、学会子程序的运用,了解子程序的功能:
子程序是具有固定功能的程序段,并且有规定的格式。
不同的计算机语言对子程序格式的规定不同,汇编语言的子程序基本格式如下:
子程序名PROC类型
指令序列
子程序名ENDP
2、学习分支、中断和逻辑表达等的应用,其中分支的基本模式:
设置标志位的指令
条件跳转指令标号
需要完成的操作
标号:
后续指令
3、本次课程设计的目的主要是将课堂上所学的知识学以致用,通过程序的制作过程学习课外的新知识,并加强加深对旧知识的理解与掌握。
2概要设计
2.1系统总体分析
总的来说本程序是运用汇编语言编写的简单的判断闰年的小程序。
具体算法为如果该年份的数值正整数若能被100整除,又能被400整除,或者不能被100整除,却能被4整除,则该数值代表的年份为闰年。
判断某年为闰年的汇编语言表达式为:
(((AX)MOD4EQ0)AND((AX)MOD100EQ0))OR((AX)MOD400EQ0)其中,(AX)中存放的是从键盘输入的年份值。
完成的主要功能1、在屏幕上显示提示信息,输入年份。
2、判断输入的年份是否为闰年。
3、判断完后返回。
2.2主模块框图及说明
主模块框图如图2-2
图2-2主模块的逻辑图
3详细设计
3.1主模块及子模块说明
主模块:
先是提示输入年份以及输入字符内容,和最后输出的判断
子模块:
①判断输入;该模块主要是对输入年份格式的一种判断,若输入错误则无法继续,若输入正确则跳入下一个指令。
②根据闰年的定义判断输入的十进制数表示的年份是否是闰年。
在程序中它包括多个不同功能的子模块,即判断年份能否被4整除或能否被100整除的模块等
③此模块是判断输入的年份是否为闰年,若是则输出“Thisisaleapyear!
”,若不是则输出“Thisisnotaleapyear!
”,然后退出。
3.2各模块详细设计
datasegment
buf1db'pleaseinputayear!
$'
buf2db5,6dup(0)
buf3db'thisyearisalaupyear!
$'
buf4db'thisyearisnotalaupyear!
$'
dataends
stksegmentstack
dw64dup(0)
stkends
codesegment
assumecs:
code,ds:
data,ss:
stk
crprocnear
movah,2
movdl,13;回车符的ASCⅡ码值
int21h
movdl,10;换行符的ASCⅡ码值
int21h;输出回车符是已把AH放2,且调用后未变
ret
crendp
judprocnear
pushbx
pushcx
pushdx
movcx,ax;临时保存年份值
movdx,0
movbx,4
divbx;除以4,为预防溢出,用双字除以字
cmpdx,0
jnzlab1;不能4整除则不是闰年,转lab1
movax,cx;取回年份值
movbx,100
divbx;除以100
cmpdx,0
jnzlab2;能被4整除但不能被100整除则是闰年,转lab2
movax,cx
movbx,400
divbX;除以400
cmpdX,0
jzlab2;把cf清0表示非闰年,设置出口参数
lab1:
clc
jmplab3
lab2:
stc;把cf清1表示是闰年,设置出口参数
lab3:
POPdx
POPcX
POPbx
ret
judendp
exchangeprocnear
moval,[buf2+2]
subal,30h
movbl,10h
mulbl
sub[buf2+3],30h
addal,[buf2+3]
movah,al
moval,[buf2+4]
subal,30h
mulbl
sub[buf2+5],30h
addal,[buf2+5]
ret
exchangeendp
main:
movax,data
movds,ax
leadx,buf1
movah,9
int21h
callcr
leadx,buf2
movah,10
int21h
callcr
callexchange
calljud
jnclab4
leadx,buf3
jmplab5
lab4:
leadx,buf4
lab5:
movah,9
int21h
movah,4ch
int21h
codeends
endmain
4.程序调试
4.1运行界面分析
运行程序得如图4-1主界面
图4-1主界面
输入一个年份得如图4-2缓存界面
图4-2缓存界面
回车显示如图4-3判断结果界面
(1)
图4-3判断结果界面
(1)
回车显示如图4-3判断结果界面
(2)
图4-3判断结果界面
(2)
4.2算法的分析
本程序主要是将各个子模块组合起来完成一个目标及判断闰年。
通过主程序的调集子程序,将各个子程序的功能整合起来,完成实验目的。
5心得体会
5.1设计体会
一天半的汇编语言课程设计结束了,虽然很仓促,但我的感触很深,收获也较为丰富。
通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对汇编的认识和理解,切实的提高了我的编程能力,补全了我的不足。
通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是循环指令,掌握了子程序的定义及调用,以及正确地运用DEBUG指令。
在整个程序的编写中,调试占了很大部分的时间。
要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这是非常重要的。
实际动手能力的培养,我进一步熟悉了汇编语言的结构和使用方法,基本达到了能独立阅读、编写的能力!
5.2系统改进
此程序的全面性不够,在年份过程中,当输入被判断的年份时,如果数值是整数的则能够正确的处理,当不是整数的时候都输出的都是非闰年。
应该可以将其改进一个判断格式。
参考文献
[1]李敬兆.《8086/8088和arm核汇编语言程序设计》.合肥:
中国科技大学出版社
[2]沈美明,温冬婵编著.《IBM—PC汇编语言程序设计(第二版)》.北京:
清华大学出版社出版
[3]沈美明,温冬婵,张赤红编著.《IBM—PC汇编语言程序设计实验教程》.北京:
清华大学出版社出版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 设计 报告