微机应用课程设计字符图形显示.docx
- 文档编号:10492756
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:34
- 大小:218.16KB
微机应用课程设计字符图形显示.docx
《微机应用课程设计字符图形显示.docx》由会员分享,可在线阅读,更多相关《微机应用课程设计字符图形显示.docx(34页珍藏版)》请在冰点文库上搜索。
微机应用课程设计字符图形显示
微机应用课程设计任务书
2012-2013学年第1学期 第16周-16周
题目
汇编语言实现字符图形“南昌航空大学欢迎你!
”动态显示
内容及要求
我们这组做的课程设计是通过编写汇编语言程序,实现字符图形的显示,我们此次做的是显示字符——南昌航空大学欢迎你!
。
并作动态显示,编写完程序后分析并理解每条程序的意思,并解释主要程序的意思,最后调试出所要求的字符,实现效果。
进度安排
第一天:
查阅相关资料,确定思路
第二天:
画出流程图及编写程序代码
第三天:
调试程序,实现目的
第四天:
编写课题报告
第五天:
论文答辩
学生姓名:
李丽波(组长),廖书强,林圣阳,郭苏昊,伍齐羽,李乐州
指导时间:
16周
指导地点:
F楼522室
任务下达
2012年12月17日
任务完成
2012年12月21日
考核方式
1.评阅√ 2.答辩√3.实际操作□ 4.其它□
指导教师
杨谊华
系(部)主任
注:
1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。
摘要
本次课程设计是通过使用汇编语言来完成,具体实现方法可通过在MASM实验环境下运行,也可以通过在DOS环境下完成。
我们这组做的课程设计是通过编写汇编语言程序,实现字符图形的显示,我们此次做的是显示字符——南昌航空大学欢迎你!
。
编写完程序后分析并理解每条程序的意思,并解释主要程序的意思,最后调试出所要求的字符。
通过这次课程设计,我们更加了解了汇编语言的应用,并且能够按要求编写出程序,从而提高了我们的汇编语言知识,更进一步地了解了汇编语言。
一、设计题目
字符图形的设计——南昌航空大学欢迎你!
二、设计内容
用多字符图形显示功能显示图形“南昌航空大学欢迎你!
”10个字符。
三、小组分工
本次课程设计我们选择的课题是字符图形显示,成员共有6人。
李丽波和廖书强共同主持分析课题要求,写出设计规划,并辅助组员完成设计。
具体分工如下:
李丽波:
负责主程序的编写与调试以及资料分析.
廖书强:
负责根据汉字取模编出汉字代码程序。
李乐州:
负责汉字的取模部分及部分汉字代码程序编写。
林圣阳:
负责流程图的设计部分,确定主程序思路。
伍齐羽:
负责课题报告的规范与布局及延时子程序设计。
郭苏昊:
负责整体程序最终的调试以及显示结果的修整。
四、设计思路
1、设计总体思路
本程序是显示由多个字符组成的图形的程序,需要将多个字符定义在一个字符图形表里。
字符图形表包括每个字符的ASCII码、属性以及在显示图形中的相对位移量(相对位移量是指前一个字符和当前要显示的字符之间的行距和列距)4个参数组成。
字符图形表中的第一个字节“252”是组成图形的字符数,编写程序时需要将每个字符的ASCII码和属性以及显示的位置放入相应的寄存器中,然后发出显示命令,当252个字符都显示出来后,我们就可以看到一个“字”的图形。
为了清晰地看到每一个字,需要延时,程序中编写了延时子程序。
此外,程序中还有清屏子程序和移动子程序,通过适当改变延时时间,可实现图形的移动。
2、汉字编码
Dos界面无法实现汉字的输入与显示,故想到通过对dos界面描点实现对汉的显示,这必然要知道组成汉字各点的相对位置,实现这步用到了点阵的取模软件,通过它描绘的汉字图形很容易知道各点与上一点的相对位置,从而得到汉字代码,只要将需要写字的方块点黑,就能显示字模,经过修改调整使字形美观,取模图形及为显示结果图形。
最终结果如图:
如何根据字模得到汉字的代码,这里再简要介绍,如写“南”:
南字最顶上的点取为(0,0),第一点可任意取点,对应代码db(数据类型)05h(点字符大小),122(汉字点图案的ASCII值),0(相对上一点的行位置),0(相对上一点列位置)
相对它下一个点的则为(1,0),对应代码db05h,122,1,0
相对右一点的则为(0,1),对应代码db05h,122,0,1
依次类推,如果该点在上一点的下方或右方,则对应的行列改变为正值,否则就为负值,字体各点显示位置就是这样确定的,南的所有点都编写完运行就能显示”南”图形。
对于各字符的间距要适当,否则字符容易重叠。
3、程序实现方法
利用visualassembly软件编辑、编译、连接、运行程序,同传统的方法相比更节省步骤,操作简便。
五、流程图
初始设置部分,字符显示的外观
字符显示和字符移动
六、程序设计
;对显示进行初始设置,设置图案显示颜色为绿色,设置点图案的显示格式,点图形状由它的ASCII值确定,背景颜色设置为灰色,对比度高,点图案更醒目。
pushds
subax,ax
pushax
movax,data;初始化DS
movds,ax
movah,0;设置300*200彩色图形方式
moval,3
int10h
movah,0bh;设置背景颜色
movbh,0
movbl,2
int10h
movah,0bh;设置彩色调板
movbh,01
movbl,00
;清屏子程序用于消除一些显示界面乱码的东西,让显示更清晰,使用寄存器前需对它进行入栈保护,避免有用的数据丢失,需要时再将它出栈即可。
clear_screenprocnear;清屏子程序
pushax;保护寄存器
pushbx
pushcx
pushdx
movah,6;屏幕上卷功能
moval,6
movch,0;左上角行号
movcl,0;
movdh,250;
movdl,250;
movbh,7;卷入行属性
int10h;调用显示功能
popdx;恢复寄存器
popcx
popbx
popax
ret;返回主程序
clear_screenendp
;移动子程序是效果的体现,通过它可以实现动态显示,程序首先让所有字符显示出来,通过调用擦除子程序后,让显示光标自动右移,再显示,之间设置合适的延时,就实现了字符的右移,加入循环语句,字符就从左一直移到右了
move_shapeprocnear
pushax
pushbx
pushcx
pushdx
pushdi
movah,0fh;取当前显示方式
int10h
subch,ch;清除寄存器CX的高字节
movcl,[di];CL
incdi;di指向字符表的第一个字符
movchar_cnt,cx;保存循环次数
movpointer,di
movline_on,dh
movcol_on,dl
plot_next:
adddh,[di+2];改变行列指针
adddl,[di+3]
cmpdl,150;出屏否?
jbmov_crsr
callerase
popdi
popdx
popcx
popbx
popax
ret
mov_crsr:
movah,2;移动光标位置
int10h
moval,[di]
movbl,[di+1];取字符值及属性
pushcx
movcx,1
movah,09;显示字符
int10h
popcx
adddi,4;di指向下一个字符指符
loopplot_next
calldly_qrtr;调用延时子程序
callerase;调用擦除子程序
jmpshortplot_next
move_shapeendp
;这里我们设置延时程序通过一步一步的调试达到最好的显示效果,延时程序作用很关键,字符的显示,移动等都要用到,它的延时参数会影响效果,采用了循环的嵌套,可以让延时的范围更大,更好的调整它的移动效果。
dly_qrtrprocnear;延时子程序子程序
pushcx
pushdx
movdx,8000;
d11:
movcx,10000;调整可改变延时
d12:
loopd12
decdx
jnzd11
popdx
popcx
ret
dly_qrtrendp
codeends
endmain
七、调试分析
1、设置编译路径,需要有两个文件(masm.exelink.exe)的路径,将其添加进去
2、编辑源程序,直接新建文件,保存
3、编译程序。
每次对程序修改都要进行保存,否则系统会默认上一个程序,直接从菜单中编译,显示无误如下:
4、连接程序。
生成可执行文件,编译没通过无法连接,连接后可直接运行。
5、运行结果显示(字符自左向右移动)
6、问题分析
1)字符没能显示完全。
字符起始显示位置设置不当,造成了字符偏离了界面,movdh,5;从第5行第5列位置开始
movdl,5,对该语句重新设置达到了预期效果。
2)9个字符无法完全显示。
通过分析如果改小字体必然影响字形,效果不好,最终是对显示程序进行了适当的修改,调用两次显示程序分两个屏幕显示,运行效果也好,确定该方案。
3)编译软件不懂使用。
起初很想改用dos,但调试程序次数很大,很不方便,也浪费时间,最终还是通过摸索找到了使用方法,不仅减小了工作量,也学会如何更简单的编写汇编程序
八、总结
这次课程设计总体来说做得比较顺利,我们这组成员很团结,大家一起上网查找了许多资料,各自在寝室完成设计任务.
在此次课程设计中,我们基本掌握了怎样运用汇编语言去设计字符图形,并制作出相应的流程图,很感谢老师课堂上教授我们的汇编知识。
在调试程序的时候,我们遇到了点困难,但是通过研究所查找的资料和对源程序的分析,基本上解决了遇到的问题,老师对课题报告的规范帮助很到,知道如何去书写、编排出规范的课题报告,对今后课程设计及毕业设计报告的书写都提供了很大的帮助,我想通过这次的实践,以后的报告书写将会更规范。
。
对于本次课程设计我们受益匪浅,很感谢同学和老师的帮助。
九、心得体会
十、主要参考资料:
[1]李真香等,《汇编语言课程设计案例精编》(第1版),中国水利水电出版社,2004;
[2]郑初华等,《汇编语言、微机原理及接口技术》(第2版),北京:
电子工业出版社,2006;
[3]钱晓捷,《新编汇编语言程序设计》(第1版),电子工业出版社,2006
附录:
源程序
datasegment
car1db252;定义字符图形表
db05h,122,0,0
db05h,122,1,-3
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,1,-3
db05h,122,1,0
db05h,122,9,-3
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,0,-3
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,-1
db05h,122,1,0
db05h,122,2,0
db05h,122,0,2
db05h,122,-2,0
db05h,122,-1,0;南
db05h,122,-5,7
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,0,-1
db05h,122,0,-1
db05h,122,3,0
db05h,122,0,1
db05h,122,5,-3
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,2,0
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1;昌
db05h,122,-10,7
db05h,122,1,-1
db05h,122,1,-1
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,0,4
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,2,1
db05h,122,2,-3
db05h,122,2,3
db05h,122,-2,-1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,2;
db05h,122,-5,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,-1,-2
db05h,122,12,-2
db05h,122,-1,1
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,0,1
db05h,122,0,1
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,1;航
db05h,122,0,4
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,-1,-3
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,2
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-2
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,1,-3
db05h,122,-1,0
db05h,122,-1,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,1,1
db05h,122,1,0
db05h,122,2,0
db05h,122,-1,-1
db05h,122,-1,-1
db05h,122,-1,-1
db05h,122,-2,-1
db05h,122,-1,0;空
db05h,122,0,11
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,-2,3
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,7,-2
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,0,2
db05h,122,1,1
db05h,122,1,1
db05h,122,1,1
db05h,122,1,1;大
db05h,122,-1,4
db05h,122,1,1
db05h,122,0,1
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,0
db05h,122,-1,1
db05h,122,-1,1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,4,-1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,2
db05h,122,0,1
db05h,122,0,1
db05h,122,-4,1
db05h,122,-1,0
db05h,122,-1,0
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,1,0
db05h,122,1,0
db05h,122,-4,1
db05h,122,1,1
db05h,122,-1,2
db05h,122,1,0
db05h,122,0,2
db05h,122,-1,1;学
car2db163;图形表
db05h,122,10,6
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,0
db05h,122,-1,0
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,1,0
db05h,122,1,0
db05h,122,1,1
db05h,122,1,1
db05h,122,1,1
db05h,122,1,1
db05h,122,1,1
db05h,122,2,0
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1
db05h,122,1,1
db05h,122,1,1
db05h,122,1,1
db05h,122,1,1
db05h,122,1,1
db05h,122,-6,-5
db05h,122,-1,0
db05h,122,-1,0
db05h,122,1,3
db05h,122,-1,1
db05h,122,-1,0
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-1
db05h,122,0,-2
db05h,122,-1,1
db05h,122,-1,1
db05h,122,-1,1;欢
db05h,122,0,8
db05h,122,1,-1
db05h,122,0,1
db05h,122,0,1
db05h,122,0,1
db05h,122,1,0
db05h,122,1,-1
db05h,122,1,-1
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,0
db05h,122,1,1
db05h,122,1,1
db
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 应用 课程设计 字符 图形 显示