微机应用课程设计字符图形显示.docx

上传人:b****1 文档编号:10492756 上传时间:2023-05-26 格式:DOCX 页数:34 大小:218.16KB
下载 相关 举报
微机应用课程设计字符图形显示.docx_第1页
第1页 / 共34页
微机应用课程设计字符图形显示.docx_第2页
第2页 / 共34页
微机应用课程设计字符图形显示.docx_第3页
第3页 / 共34页
微机应用课程设计字符图形显示.docx_第4页
第4页 / 共34页
微机应用课程设计字符图形显示.docx_第5页
第5页 / 共34页
微机应用课程设计字符图形显示.docx_第6页
第6页 / 共34页
微机应用课程设计字符图形显示.docx_第7页
第7页 / 共34页
微机应用课程设计字符图形显示.docx_第8页
第8页 / 共34页
微机应用课程设计字符图形显示.docx_第9页
第9页 / 共34页
微机应用课程设计字符图形显示.docx_第10页
第10页 / 共34页
微机应用课程设计字符图形显示.docx_第11页
第11页 / 共34页
微机应用课程设计字符图形显示.docx_第12页
第12页 / 共34页
微机应用课程设计字符图形显示.docx_第13页
第13页 / 共34页
微机应用课程设计字符图形显示.docx_第14页
第14页 / 共34页
微机应用课程设计字符图形显示.docx_第15页
第15页 / 共34页
微机应用课程设计字符图形显示.docx_第16页
第16页 / 共34页
微机应用课程设计字符图形显示.docx_第17页
第17页 / 共34页
微机应用课程设计字符图形显示.docx_第18页
第18页 / 共34页
微机应用课程设计字符图形显示.docx_第19页
第19页 / 共34页
微机应用课程设计字符图形显示.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机应用课程设计字符图形显示.docx

《微机应用课程设计字符图形显示.docx》由会员分享,可在线阅读,更多相关《微机应用课程设计字符图形显示.docx(34页珍藏版)》请在冰点文库上搜索。

微机应用课程设计字符图形显示.docx

微机应用课程设计字符图形显示

微机应用课程设计任务书

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2