字符图形汇编课设.docx

上传人:b****6 文档编号:8081834 上传时间:2023-01-28 格式:DOCX 页数:16 大小:143.33KB
下载 相关 举报
字符图形汇编课设.docx_第1页
第1页 / 共16页
字符图形汇编课设.docx_第2页
第2页 / 共16页
字符图形汇编课设.docx_第3页
第3页 / 共16页
字符图形汇编课设.docx_第4页
第4页 / 共16页
字符图形汇编课设.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

字符图形汇编课设.docx

《字符图形汇编课设.docx》由会员分享,可在线阅读,更多相关《字符图形汇编课设.docx(16页珍藏版)》请在冰豆网上搜索。

字符图形汇编课设.docx

字符图形汇编课设

课程设计任务书

学生姓名:

专业班级:

计算机班

指导教师:

周银良工作单位:

计算机科学与技术学院

题目:

字符图形程序的设计与实现

初始条件:

理论:

完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。

实践:

完成了《汇编语言程序设计》的四个实验,熟悉汇编语言程序的设计环境并掌握汇编语言程序的调试方法。

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

理解计算机系统中图形显示的工作原理,掌握文本方式下BIOS对图形显示的控制方法。

具体的设计任务及要求:

1)制作一个图形元素表,表中将所需的各种字符图形编上号码,并用存储器映射法将其显示在屏幕的左上部分;

2)将光标定位在屏幕的右半部分画图区,上、下、左、右光标控制键控制光标在四个方向的移动,不显示其轨迹,同时要控制光标位置不超出画图区的边界;

3)当按动某一数字键时,在光标位置处显示出相应编号的字符图形,然后移动光标,再显示下一个图形,最后绘出一幅有字符组成的图形。

4)按动ESC键,退出程序,返回DOS。

在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。

阅读资料:

1)《IBM—PC汇编语言程序设计实验教程》3.2节

2)《IBM—PC汇编语言程序设计(第2版)》9.2节,10.1节,10.2节,10.3节

时间安排:

设计安排一周:

周1、周2:

完成系统分析及设计。

周3、周4:

完成程序调试,和验收。

周5:

撰写课程设计报告。

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

字符图形程序的设计与实现

1设计内容及要求:

1.1设计内容

(1)制作一个图形元素表,表中将所需的各种字符图形编上号码,并用存储器映射法将其显示在屏幕的左上部分。

(2)将光标定位在屏幕的右半部分画图区,上、下、左、右光标控制键控制光标在四个方向的移动,不显示其轨迹,同时要控制光标位置不超出画图区的边界。

(3)当按动某一数字键时,在光标位置处显示出相应编号的字符图形,然后移动光标,再显示下一个图形,最后绘出一幅有字符组成的图形。

(4)按动ESC键,退出程序,返回DOS。

1.2设计要求

理解计算机系统中图形显示的工作原理,掌握文本方式下BIOS对图形显示的控制方法。

2设计中使用的关键技术和方法

2.1BIOS键盘中断(INT16H)

类型16的中断提供了基本的键盘操作,它的中断处理程序包含3个不同的功能,分别根据AH寄存器的内容来选择。

这里我使用了其中的1个功能,如下表:

AH

功能

返回参数

00

从键盘读一个字符

AL=字符码,AH=扫描码

2.2BIOS显示中断(INT10H)

这里我使用了BIOS显示中断的4个功能,如下表:

AH

功能

调用参数

返回参数/注释

02

置光标位置

BH=页号,DH=行,DL=列

06

屏幕初始化或上卷

AL=上卷行数,AL=0全屏幕为空白,

BH=卷入行属性,CH/CL=左上角的行/列号

DH/DL=右下角的行/列号

09

在光标位置显示字符及属性

BH=显示页,AL=字符,BL=字符,

CX=字符重复次数

0A

在光标位置显示字符

BH=显示页,AL=字符,CX=字符重复次数

2.3DOS系统功能调用(INT21H)

这里我使用了DOS系统功能调用的一种功能,如下表:

AH

功能

调用参数

返回参数

09

显示字符串

DS:

DX=串首地址,字符串以‘$’结尾

2.4其它方法与技术

本次课程设计中还用到子程序设计。

3设计方案说明:

3.1模块层次图

3.2各模块说明

3.2.1输入

功能为从键盘读字符。

调用参数AH=功能类型。

返回参数AL=输入字符的ASCII码,AH=输入字符的扫描码。

3.2.2显示

功能在DOS文本方式显示字符。

使用DOS显示中断(INT10H),调用参数AH=功能类型,BH=显示的页号,AL=要显示的字符,BL=显示字符的属性(颜色等),CX=字符的重复次数。

无返回参数。

3.2.3清屏

功能为清除屏幕内的内容。

调用参数AH=功能类型,AL=0初始化窗口,BH=卷入行属性,CH/CL=要清屏区域左上角的行/列号,DH/DL=要清屏区域右下角的行/列号。

无返回参数。

3.3程序流程图

3.4主要数据结构的定义和说明

3.4.1数组

定义储存字符表:

字符数组:

array1db0,1,2,3,4,5,6,7,8,9

3.4.2字符串

定义字符串数组储存字符串:

字符串:

array2db'pleasepayattention:

press"ESC"toexit&press"del"toclearscreen','$'

array3db'CHARACTER:

','$'

array4db'COLOR:

','$'

3.5程序界面描述

此程序设计界面为一个25×80的窗口,窗口中设置一个边界,分离字符集和画图区域,左边的上半部分显示按键及其对应的字符,下半部分显示按键及其对应的颜色,右边区域用于画图。

详细如下图:

注:

对应颜色为:

蓝色(0001)、绿色(0010)、青色(0011)、红色(0100)、品红(0101)、棕色(0110)、灰白(0111)、灰色(1000)、浅蓝色(1001)

图3“字符处理系统”界面截图

4测试及评估:

4.1测试结果

通过键盘输入0-9来画字符,通过输入←,↑,→,↓来控制画图光标,通过键盘输入a-i来控制显示字符的颜色,输入‘del’键来清除画图区域,输入“ESC”则退出,结果如下图:

其中,控制光标对应的扫描码为:

↑(48H)、←(4BH)、→(4DH)、↓(50)

图4“字符处理系统”运行结果截图

5心得体会:

为期一周的课程设计很快结束了,在设计的过程中,遇到了一些难题,也获得了很大的收获,做如下小结:

首先,“充实的准备”——当我接到课题时,做了认真的分析。

我的课程题目为:

字符图形程序的设计与实现,其中的一些相关知识在课上是老师没有讲过的,所以要先做好准备工作。

根据课程任务书的要求,阅读了相关的资料:

了解到了如何使用←,↑,→,↓四个键,及其相应的扫描码的使用;认识了DOS中断中各个寄存器的使用和含义;理解了BIOS设置显示的方式;及图形程序设计的方法。

第二,根据题目要求,我做了认真的分析,根据相应的要求先画流程图,这样可以有一个清晰的思路,在编写程序的过程中就避免因为头脑混乱而导致错误,同时也方便了程序的设计和编写。

第三,在设计中也遇到了一些问题,像在进行界面设计的时候,设计区域边界和区域内布局比较难确定,设计不好就影响界面的美观;编码过程中光标位置的重置容易忘记,是在调试过程中才发现出来的;编码过长,内存占用比较多。

第四,因为遇到了这些问题,也带来了不少收获,在解决问题和请教同学的过程中,使我又有了新的认识和理解,并改正了自己在理解上的一些错误,使自己又得到了提高和进步。

总之,通过此次实验,我对汇编语言程序设计有了进一步的了解。

对于DOS中断和BIOS键盘中断、BIOS显示中断,也有了更深层次的了解,对于其功能调用有了一定的掌握。

这次实验还让我熟悉了分支程序、子程序设计的知识。

通过对图形程序设计的实现,也使我对汇编语言产生了更浓的兴趣。

今后在课余时间,可以多多阅读相关的书籍,来扩展自己的知识面。

6参考资料

《IBM-PC汇编语言程序设计(第2版)》,作者:

沈美明、温冬蝉,清华大学出版社2001年8月出版。

《IBM-PC汇编语言程序设计实验教程》,作者:

沈美明、温冬蝉、张赤红,清华大学出版社

 

附录:

源程序代码:

datasegment

array1db0,1,2,3,4,5,6,7,8,9

rowdb0

coldb0

colordb0fh

array2db'pleasepayattention:

press"ESC"toexit&press"del"toclearscreen','$'

array3db'CHARACTER:

','$'

array4db'COLOR:

','$'

dataends

prognamsegment

assumecs:

prognam,ds:

data

mainprocfar

start:

pushds

movax,0

pushax

movax,data

movds,ax

leadx,array2

movah,9

int21h

movrow,1

movcol,24

movbx,26

l0:

callreset

moval,7ch

movbh,0

movcx,1

movah,0ah

int10h

incrow

decbx

jnzl0

movrow,2

movcol,0

movdi,0

callreset

leadx,array3

movah,9

int21h

movrow,3

movcol,0

l1:

callreset

movax,di

addal,30h

movbh,0

movcx,1

movah,0ah

int10h

inccol

callreset

movbh,0

movcx,1

movah,0ah

moval,array1[di]

int10h

incdi

cmpdi,9

jal2

addcol,6

cmpcol,22

jbl1

addrow,2

movcol,0

JMPl1

l2:

addrow,4

movcol,0

callreset

leadx,array4

movah,9

int21h

incrow

movcol,0

movdi,1

l3:

callreset

movbx,di

addbl,60h

movbh,0

movcx,1

movah,0ah

moval,bl

int10h

inccol

callreset

subbl,60h

movbh,0

movcx,1

movah,9

moval,0dbh

int10h

incdi

cmpdi,9

jal4

addcol,6

cmpcol,22

jbl3

addrow,2

movcol,0

JMPl3

l4:

movrow,1

movcol,26

callreset

draw:

movah,0

int16h

cmpah,48h

jeup

cmpah,50h

jedown

cmpah,4dh

jeright

cmpah,4bh

jeleft

cmpah,53h

jel5

cmpah,01h

jnznum

ret

l5:

callclear

movrow,1

movcol,26

callreset

jmpdraw

num:

cmpal,30h

jnbl6

jmpdraw

l6:

cmpal,39h

jal7

andax,00ffh

subax,30h

movdi,ax

moval,array1[di]

movbh,0

movcx,1

movbl,color

movah,09h

int10h

jmpdraw

l7:

cmpal,61h

jbl8

cmpal,69h

jal8

subal,60h

movcolor,al

l8:

jmpdraw

up:

decrow

jzup1

jmpl9

up1:

incrow

jmpl9

down:

incrow

cmprow,25

jadown1

jmpl9

down1:

decrow

jmpl9

left:

deccol

cmpcol,26

jbleft1

jmpl9

left1:

inccol

jmpl9

right:

inccol

cmpcol,78

jaright1

jmpl9

right1:

deccol

l9:

callreset

jmpdraw

mainendp

resetprocnear

movah,2

movbh,0

movdh,row

movdl,col

int10h

ret

resetendp

clearprocnear

pushax

pushbx

pushcx

pushdx

movah,6

moval,0

movch,1

movcl,26

movdh,25

movdl,79

movbh,7

int10h

popdx

popcx

popbx

popax

ret

clearendp

prognamends

endstart

 

本科生课程设计成绩评定表

班级:

计算机班 姓名:

学号:

序号

评分项目

满分

实得分

1

学习态度认真、遵守纪律

10

2

设计分析合理性

10

3

设计方案正确性、可行性、创造性

20

4

设计结果正确性

40

5

设计报告的规范性

10

6

设计验收

10

总得分/等级

评语:

注:

最终成绩以五级分制记。

优(90-100分)、良(80-89分)、中(70-79分)、

及格(60-69分)、60分以下为不及格

 

                    指导教师签名:

                  201年 月 日

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1