计算机绘图.doc

上传人:yyf 文档编号:8664300 上传时间:2020-12-16 格式:DOC 页数:14 大小:32.50KB
返回 下载 相关 举报
计算机绘图.doc_第1页
第1页 / 共14页
计算机绘图.doc_第2页
第2页 / 共14页
计算机绘图.doc_第3页
第3页 / 共14页
计算机绘图.doc_第4页
第4页 / 共14页
计算机绘图.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《计算机绘图.doc》由会员分享,可在线阅读,更多相关《计算机绘图.doc(14页珍藏版)》请在三一文库上搜索。

1、.计算机绘图目录:1:绪论 说明本课题的意义.目的.研究范围及要达到的技术要求 2:方案 说明设计原理并进行方案选择,阐明为什么要选择这个方案以及所采用的方案的特点 3:过程论述 4:结果分析 5:结论正文: 1:绪论 计算机绘图可以增加学生对IBM-PC汇编语言的兴趣,增强学生对书本知识的理解和应用能力 要求熟练掌握INT 21H,INT 16H,INT 10H各功能项的功能2:方案 指定一矩形在屏幕的左上方或右下方的坐标,画出这一矩形,移动光标键,该矩形可以缩放或变形 该方案是以窗口控制程序完成工作和光标控制屏幕窗口。首先清除屏幕,紧接着在屏幕中心生成一个小窗口,其左上角的行列坐标为(10

2、,30),右下角坐标为(15,40),光标定位在(0,0)。当按动光标控制键时,光标能上下左右移动,当光标移动到指定的位置上后,按下HOME键,此时光标的最后位置或作为窗口左上角坐标,或移动坐标扩大或缩小屏幕窗口。精品.3:过程论述 编写这个程序时,因多次要用到清屏.生成窗口.定位.清屏.光标定位等功能,因此采用宏汇编技术,把这些功能分别定义成宏指令clear.scroll,postc等,这样,在编写程序时,这些定义后的宏指令就和其它汇编语言指令一样直接写在程序中。 宏指令是8086汇编语言中提供的一种简化程序编写的手段。编写程序是经常会遇到这样的现象:同一个程序段需要在程序中出现多次,或者程

3、序中有几段指令列中除了个别符号不相同外,总体上是一样的。“宏”正可以用来实现“文字块”操作的功能,不仅如此,使用宏还可以克服复制无法解决的困难:如果块复制后发现其中的内容有错误,则要对重复出现的每一处都进行修改。程序中使用宏分为定义和调用两部分。宏定义用来说明那些指令或伪指令是将在程序段;宏调用是用来告诉汇编程序,在翻译前先把宏定义中的程序段复制一遍。宏定义: 宏定义是用一组伪操作来实现,格式为: 宏名 MACRO 哑元表.(宏体).ENDM精品.说明:(1)“宏名”是一个标识符,一个程序中可以定义多个宏,对每一个宏必须以不同的标识符命名,且宏名不能与变量.标号.段名等标识符同名。(2)汇编语

4、言规定,宏定义起始标记MACRO前面必须写宏的名字,而结束标记ENDM的前面却不允许写任何内容,写在起始标记之间的部分称为宏体,宏体部分通常是一段程序中需要重复使用的指令序列。(3)宏定义仅仅用来告诉汇编程序,将来宏调用时复制的对象是什么,宏定义中的程序段并不是程序的一部分,也就是说,如果程序中定义了一个宏而没有调用它,汇编程序将忽略宏定义。(4)宏定义可以放在程序的任何地方(但要在它的第一次调用之前),它可有可无,但习惯上总是把宏定义写在程序的最前面。(5)哑元表给出了宏定义中所用到的形式参数,它可有可无,当有多个形参时,每个形参之间要用逗号隔开。宏调用定义后的宏名又为宏指令,就可以在源程序

5、中调用宏了,调用格式为:宏指令名实元表宏调用的方式是在源程序中需要复制宏体的地方写宏的名字。宏名单独占一行,当源程序被汇编时,它必须与宏定义中的宏名一致,其后的实在参数要与宏定义的形参数按位置一一对应。如果实参的个数多于形参的个数时,多余的实参可以被忽略。如果实参的个数少于形参个数,则缺少的实参被处理为空白,实参可以与形参同名。精品. 清除屏幕用的是存储器映射法,即连续往显存个单元中写入0,本程序中清除屏幕使用BIOS 10H 的卷屏功能AH=6或AH=7,给定左上角参数为(0,0),右下角参数为(24,79),属性为07,然后调用10H ROM例行程序,则完成清除的工作。清除屏幕 INT 1

6、0H的06功能处理清除屏幕或滚动。清楚全屏或部分屏幕显示,可在全屏幕范围的任意位置开始和任意位置结束,设置以下寄存器:AH=06H 功能号AL=滚动的行数,或00H全屏为空白BH=属性值(颜色.闪烁)CX=起始行:列DX=结束的行:列CX和DX共同定义了滚动的屏幕区(或窗口),AL指明了上卷的行数。如果要清除整个屏幕,就指定CX中的起始行:列为00:00H,DX中的行:列为18:4FH。下例中的属性71H设置整个屏幕为白色背景(属性为7)和蓝色前景(属性为1):MOVAX,0600H精品.MOVBH,71HMOVCX,0000HMOVDX,184FHINT10H在文本方式下设置彩色属性并将全屏

7、上卷一行:MOVAH,0601HMOVBH,61HMOVCX,0000MOVDX,184FHINT10H 注意不要错误的设置右下角屏幕位置大于184FH用INT 16H的功能0,重置屏幕显示方式也能达到清除屏幕的效果。 键盘输入使用INT 16H的功能0,如键入一个光标移动键,则控制光标在屏幕25*80的范围内移动;如果按动HOME键(扫描码为47H),则以当前光标位置作为新设定的坐标生成新的窗口;如果键入escape键,则退出本程序返回DOS;若键入其它可显示字符,则可在新窗口范围内显示,若显示字符超过窗口的右边界,窗口则上卷一行,字符又从下面一行开始显示设置光标该操作在文本方式或图形方式下

8、,按照行:列坐标在屏幕上的任何位置设置光标(功能13H也设置光标),该操作要设置这些寄存器:精品.BH=页号(默认页为0),DH=行,DL=列下面的为在第12行,第30列,0页设置光标:MOVAH,02HMOVBH,00MOVDH,12MOVDL,30INT10H每页的光标位置都独立于其他页的光标。该操作没有返回值。虽然在图形方式下光标是看不见的,仍然可以设置。光标位置显示字符:功能INT 10H 的0AH和09H都能显示字符,唯一的区别是:功能09H设置属性,而功能0AH使用当前的属性值。INT 10H的功能0ah代码:MOVAH,0AHMOVAL,CHARMOVBH,PAGE#MOVBL,

9、VALUEMOVCX,REPETITIONINT10HAL=ASCII字符 BL=属性或像素值BH=页号 CX= 计数值精品.光标定位以后,在生成的新窗口之前,有一段实现坐标代换的程序(SETXY),它把光标的行号和列号或者代换为窗口的左上角坐标,或者代换为窗口的右下角坐标,这要根据光标在原窗口的位置而定。若光标处在原窗口ABCD的右下部分(GAD),则当前光标位置取代右下角坐标,并以这个右下角做标和原左上角坐标作为参数产生一个新的窗口。如果光标在原窗口的左上部分(HABC),则当前坐标取代左上角坐标,并且保持右下角坐标不变形成一个新的窗口,这种窗口的变化可进行多次,既可在原窗口的基础上扩大,

10、也可以缩小,并且任意形成正方形,长方形等各种窗口。从下图可以看出,光标如果定位在HDG区域或CBD区域,则该点既不取代窗口的左上角的坐标,也不能取代右下角的坐标,所以这两个部分属于不可取代区域,如果定位在这两个区域,将会产生一个很奇怪的窗口,所以程序中排除这两块区域中的光标代换。在生成的新窗口之前,还使用宏指令CLEAR进行一次清屏操作,以消除原窗口区域的显像。这在缩小窗口时尤为重要。 (a,b) B A D G (lux,luy) C B C (rdx,rdy) F 精品. D E (24,79) Y 4:结果分析说明:(1) 清屏并在屏幕中心生成一个小窗口(2) 按下HOME键,以光标初始

11、位置(0,0)为左上角坐标形成新窗口(如下图1)(3) 按动光标控制移动键移动光标至12行79列(4) 按动HOME键,以新的右下角坐标形成新窗口(如下图2)(5) 在窗口显示文本时。窗口具有边界控制和上卷功能(6) 键入ESC键。退出程序,返回DOS精品. 图(1) 图(2)精品. 图(3)结论:计算机绘图要求学生能够了解基本的汇编语言知识和熟练掌握INT 10H的基本功能,同时还应既有一定的发散思维和发散思维。谢辞:感谢我的汇编老师汪老师在一些我不太明白的地方对我的悉心帮助和指导,同时还要谢谢我的室友对我的大力支持。参考文献:IBM PC汇编语言程序设计(人民邮电出版社 Peter Abel著)IBM PC汇编语言程序设计实验教程(清华大学出版社)精品.精品. 如有侵权请联系告知删除,感谢你们的配合!精品

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1