汇编语言画菱形z.docx
- 文档编号:30377939
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:16
- 大小:76.64KB
汇编语言画菱形z.docx
《汇编语言画菱形z.docx》由会员分享,可在线阅读,更多相关《汇编语言画菱形z.docx(16页珍藏版)》请在冰豆网上搜索。
汇编语言画菱形z
课程设计报告
课程名称汇编语言程序设计
课题名称用“*”画菱形框
专业计算机科学与技术
班级
学号20109
姓名
指导教师唐北平
2013年1月13日
湖南工程学院
课程设计任务书
课程名称汇编语言程序设计
课题用“*”画菱形框
专业班级计算机
学生姓名
学号2010130
指导老师唐北平
审批
任务书下达日期2013年1月5日
任务完成日期2013年1月13日
一、设计内容与设计要求
1.设计内容:
通过本周的课程设计,学生能够巩固所学的基础知识,并能够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计其它应用软件提供帮助,进而提高学生的软件设计能力。
1、编制一计算比赛成绩的程序,要求完成以下功能:
(1)9名评委,每个评委给分范围为0~10(整数);
(2)9名评委给分中,去掉一个最高分和一个最低分,剩余7名评委的平均分即为参赛者的得分(精确到小数点二位);
(3)将得分在光标位置处显示出来。
2、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30字的grade数组中,各数据的格式为:
学号,成绩1,成绩2,…,成绩5
然后根据grade中的学生成绩,把学生名次填入rank数据组中,并显示出来,格式为:
学号,名次
3、利用INT1CH(大约每秒中断18.2次)编写一个中断驻留程序,要求在屏幕的右上角显示计算机中当前系统时间,显示格式为
时:
分:
秒:
1/100秒
4、输入一个菱形的两条对角线长,在屏幕上用‘*’号画出一个彩色的菱形。
5、设置图形方式并显示彩条,要求:
选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次,一直到整个屏幕都显示出彩条
2.设计要求:
掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
1.设计正确,方案合理。
2.界面友好,使用方便。
3.程序精炼,结构清晰。
4.设计报告5000字以上,含程序设计说明,,源程序清单及程序框图。
5.上机演示。
6.按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。
源程序及编译生成各文件均保存在软盘中;
二、进度安排
第19周
时间
内容
星期一
上午(8:
00-12:
00)
了解内容
星期二
下午(8:
00-12:
00)
编写程序
星期三
上午(8:
00-12:
00)
答辩、写报告
目录
一、课题的主要功能……………………………………………………………………1
二、课题的功能模块的划分…………………………………………………………2
三、主要功能实现…………………………………………………………………………3
四、程序调试…………………………………………………………………………………4
五、总结…………………………………………………………………………………………5
六、附录…………………………………………………………………………………………6
一、课题的主要功能
本课题主要实现要求分别输入菱形的两条对角线长,能在屏幕上输出一个菱形的功能。
对于不同型号的计算机,有着不同的结构的汇编语言汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。
汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。
使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。
二、课题的功能模块
模块图如下:
开始
三、主要功能的实现
首先,是提示用户输入数据的界面,要求运行程序时屏幕会有一行语句提示用户输入对角线长,pleaseinputchang:
和pleaseinputkuan采用
strdb'pleaseinputchang:
',0dh,0ah,'$'
srrdb'pleaseinputkuan:
',0dh,0ah,'$'
两行语句来实现。
其次,是更具用户输入的数据在屏幕上显示符合要求的菱形。
在输出菱形各边的时候先要设置了光标的位置,这就用了BIOS功能的二号功能,将光标设置在第0页,第一行的60列,实现语句如下:
movah,2;在屏幕上显示
movbh,0;将光标设置在第0页
movdh,1;将光标设置在第一行
movdl,60;将光标设置在第60列
int10h
接下来,显示出来的菱形彩色的“*”符组成的,就再采用BIOS得九号功能设置在光标位置显示字符及其属性,将显示字符设置成*,显示在第0页,重复一次,颜色为绿色,实现语句如下:
movah,9;设置在光标位置显示字符及其属性
moval,'*';将显示字符设置成*
movbl,11001010b;设置颜色为绿色
movbh,0
movcx,1
int10h
最后,按设置好了的,在第60列显示第一个字符,换行到第二行移到第59列输出第二个字符,以此类推,直到最后一个点的位置,停止循环,第一条边就完成了,再开始第二条边的输出。
在显示过程中,其中用bp控制循环的次数,bp的值为菱形的边长值,让bp逐步减少,从而达到控制循环的结束。
执行语句如下:
movah,2
decbp
pushbp
subcx,bp
movdl,60
subdl,cl
movbh,0
int10h
四、程序调试
调试后程序的运行如下图示:
图4.1
图4.2
当一个程序编成以后,最重要的就是程序调试了。
因为程序使用了学习过程中的各个知识点,但是由于对一些相关的知识点不能够合理的应用,还有在编写程序时的粗心大意,极不合理安排循环循序,所以实验要求的功能不够完善,或者出现意料之外的差错,和意想不到的结果。
这次调试在编写程序的过程中也出现了很多问题,比如运行后误解图形输出,检查发现自己将在输出菱形各边的时设置了光标的位置,但用的是BIOS功能的四号功能等问题,但是只要细心,就能避免很多问题。
五、总结
通过这几天的课程设计我更加深入的了解了汇编语言,以及自己的不足,光是书本上的知识是远远不够的,要想学得好,学得精,就得自己动手实践。
通过此次课程设计的编程和对编程过程中遇到的问题的思考,我查看了很多书,所以此次课程设计使我进一步巩固课堂所学知识,全面熟悉、掌握汇编语言的基本设计方法和技巧,进一步提高分析问题、解决问题及上机操作能力,为将来从事计算机工作打下一定的专业基础。
而且,此次课程设计是我对汇编语言有了更深入的认识和理解,切实的提高了我的编程能力,补全了我的不足,是我学到了以前在课堂上学不到的东西。
通过这次汇编语言程序设计,让我更深地体会到了上机操作有助于将书本上的知识系统化、现实化,更加锻炼了我自己的查漏补缺的能力。
书本上的知识永远是死的,只有将其运用到实际的生活中才会变成活的,而课设恰好给了我们这样一个机会。
课程设计是一个综合性的课程,不仅能检测我们的学习这门课的熟练程度,还能让我们温习课程,达到复习和巩固的效果,在课程设计的过程中我们不断地遇到问题,不断的在图书馆和网上、书本上查找资料,不断的向老师、同学请教问题,所以慢慢的解决问题,而这就是一个不断提升自己的过程。
同时我觉的自己对信息的提取和自学的能力十分的欠缺,就像在图书馆查资料的时候,这种特点表现的十分的明显,同时我的实践能力真的是十分的差劲,在实践的时候,我觉得自己的心态真的不是很好,就像自己曾今信仰的一样,任何事情都是自己整体的反映,任何时候都在体现自己的整体水平。
通过一周的课程设计,我懂得了很多,也感悟了很多。
学习了一期的汇编语言,一到实验设计中,就感到如此的无力,有如冰山一角。
自己平时学的东西实在是太少了此次课程设计特别要感谢老师每天顶着寒风来指导我们,没有您的悉心指导,我们根本无法如此轻松的完成,所以在此对老师说声:
“谢谢”!
六、附录
原程序清单:
assumecs:
code,ss:
stack,ds:
data
stacksegment
db20dup(0)
stackends
datasegment
dw5dup(0)
strdb'pleaseinputhalfchang:
',0dh,0ah,'$'
srrdb0dh,0ah,'pleaseinputhalfkuan:
',0dh,0ah,'$'
dataends
codesegment
start:
movax,data
movds,ax
movbx,0
movax,0
callshowy
callshuru
callshowx
addbx,2
callshuru
movbx,0
calljisuan
callxianshi
movax,4c00h
int21h
;用户输入数据
shuru:
movah,1
int21h
subal,30h
movah,0
movdx,ax
ret;
jisuan:
movdi,ax
movsi,dx
ret
showy:
movah,9
leadx,str
int21h
ret
showx:
movah,9
leadx,srr
int21h
ret
xianshi:
movah,2;
movbh,0;
movdh,1
movdl,60
int10h
movah,9;
moval,'*';
movbl,11001010b;
movbh,0
movcx,1
int10h
movcx,di
movbp,cx
s2:
movcx,di;
movax,si;
adddh,1
movah,2
decbp
pushbp
subcx,bp
movdl,60
subdl,cl
movbh,0
int10h
movah,9
moval,'*'
movbl,11001010b
movbh,0
movcx,1
int10h
popbp
movcx,bp
jcxzjixu
loops2
jixu:
movbp,1
movcx,di
deccx
s3:
movax,si;
movbh,0
adddh,1
movah,2
pushcx
movcx,bp
adddl,cl
int10h
movah,9
moval,'*'
movbl,11001010b
movbh,0
movcx,1
int10h
popcx
jcxzzaixu
loops3
zaixu:
movbp,1
movcx,di
deccx
s4:
movax,si;
movbh,0
subdh,1
movah,2
pushcx
movcx,bp
adddl,cl
int10h
movah,9
moval,'*'
movbl,11001010b
movbh,0
movcx,1
int10h
popcx
jcxzhouxu
loops4
houxu:
movbp,1
movcx,di
deccx
s5:
movax,si;
movbh,0
subdh,1
movah,2
pushcx
movcx,bp
subdl,cl
int10h
movah,9
moval,'*'
movbl,11001010b
movbh,0
movcx,1
int10h
popcx
jcxzjieshu;
loops5
jieshu:
ret
codeends
endstart
计算机科学与技术系课程设计评分表
课程名称:
彩条图形设计
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期:
(注:
1.此页附在课程设计报告之后;2.综合成绩按优、良、中、及格和不及格五级评定。
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 菱形