资源描述:
《微机应用课程设计-字符图形显示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微机应用课程设计任务书2012-2013学年第1学期 第16周-16周题目汇编语言实现字符图形“南昌航空大学欢迎你!”动态显示内容及要求我们这组做的课程设计是通过编写汇编语言程序,实现字符图形的显示,我们此次做的是显示字符——南昌航空大学欢迎你!。并作动态显示,编写完程序后分析并理解每条程序的意思,并解释主要程序的意思,最后调试出所要求的字符,实现效果。进度安排第一天:查阅相关资料,确定思路第二天:画出流程图及编写程序代码第三天:调试程序,实现目的第四天:编写课题报告第五天:论文答辩学生姓名:李丽波(组长),廖书强,林圣阳,郭苏昊,伍齐羽,李
2、乐州指导时间:16周指导地点:F楼522室任务下达2012年12月17日任务完成2012年12月21日考核方式1.评阅√ 2.答辩√3.实际操作□ 4.其它□指导教师杨谊华系(部)主任注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。26摘要本次课程设计是通过使用汇编语言来完成,具体实现方法可通过在MASM实验环境下运行,也可以通过在DOS环境下完成。我们这组做的课程设计是通过编写汇编语言程序,实现字符图形的显示,我们此次做的是显示字符——南昌航空
3、大学欢迎你!。编写完程序后分析并理解每条程序的意思,并解释主要程序的意思,最后调试出所要求的字符。通过这次课程设计,我们更加了解了汇编语言的应用,并且能够按要求编写出程序,从而提高了我们的汇编语言知识,更进一步地了解了汇编语言。26一、设计题目字符图形的设计——南昌航空大学欢迎你!二、设计内容 用多字符图形显示功能显示图形“南昌航空大学欢迎你!”10个字符。三、小组分工本次课程设计我们选择的课题是字符图形显示,成员共有6人。李丽波和廖书强共同主持分析课题要求,写出设计规划,并辅助组员完成设计。具体分工如下:李丽波:负责主程序的编写与调试以
4、及资料分析.廖书强:负责根据汉字取模编出汉字代码程序。李乐州:负责汉字的取模部分及部分汉字代码程序编写。林圣阳:负责流程图的设计部分,确定主程序思路。伍齐羽:负责课题报告的规范与布局及延时子程序设计。郭苏昊:负责整体程序最终的调试以及显示结果的修整。四、设计思路1、设计总体思路本程序是显示由多个字符组成的图形的程序,需要将多个字符定义在一个字符图形表里。字符图形表包括每个字符的ASCII码、属性以及在显示图形中的相对位移量(相对位移量是指前一个字符和当前要显示的字符之间的行距和列距)4个参数组成。字符图形表中的第一个字节“252”26是组成图
5、形的字符数,编写程序时需要将每个字符的ASCII码和属性以及显示的位置放入相应的寄存器中,然后发出显示命令,当252个字符都显示出来后,我们就可以看到一个“字”的图形。为了清晰地看到每一个字,需要延时,程序中编写了延时子程序。此外,程序中还有清屏子程序和移动子程序,通过适当改变延时时间,可实现图形的移动。2、汉字编码Dos界面无法实现汉字的输入与显示,故想到通过对dos界面描点实现对汉的显示,这必然要知道组成汉字各点的相对位置,实现这步用到了点阵的取模软件,通过它描绘的汉字图形很容易知道各点与上一点的相对位置,从而得到汉字代码,只要将需要写字
6、的方块点黑,就能显示字模,经过修改调整使字形美观,取模图形及为显示结果图形。最终结果如图:如何根据字模得到汉字的代码,这里再简要介绍,如写“南”:南字最顶上的点取为(0,0),第一点可任意取点,对应代码db(数据类型)05h(点字符大小),122(汉字点图案的ASCII值),0(相对上一点的行位置),0(相对上一点列位置)相对它下一个点的则为(1,0),对应代码db05h,122,1,026相对右一点的则为(0,1),对应代码db05h,122,0,1依次类推,如果该点在上一点的下方或右方,则对应的行列改变为正值,否则就为负值,字体各点显示位
7、置就是这样确定的,南的所有点都编写完运行就能显示”南”图形。对于各字符的间距要适当,否则字符容易重叠。3、程序实现方法利用visualassembly软件编辑、编译、连接、运行程序,同传统的方法相比更节省步骤,操作简便。五、流程图初始设置部分,字符显示的外观开始设置彩色调板设置背景颜色定义字符图形数据表设置显示方式字符显示和字符移动26清屏读取字符总数从指定光标位置显示字符,字符数减1字符数等于0?延时擦除图形改变行列坐标字符列数大于150?结束YNYN26六、程序设计;对显示进行初始设置,设置图案显示颜色为绿色,设置点图案的显示格式,点图形
8、状由它的ASCII值确定,背景颜色设置为灰色,对比度高,点图案更醒目。pushdssubax,axpushaxmovax,data;初始化DSmovds,axmov