计算机绘图知识的主要作用,计算机绘图知识分享(13页)-原创力文档

这篇博客探讨了如何使用IBM-PC汇编语言进行计算机绘图,通过设计一个矩形绘制和缩放的程序,阐述了宏汇编技术在程序中的应用。程序允许用户通过光标控制键改变矩形的大小和位置,利用INT10H BIOS功能进行屏幕操作,如清屏和光标移动。宏定义简化了重复代码,增强了程序的可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机绘图

精品文档

精品文档

收集于网络,如有侵权请联系管理员删除

收集于网络,如有侵权请联系管理员删除

精品文档

收集于网络,如有侵权请联系管理员删除

计算机绘图

目录:

1:绪论 说明本课题的意义.目的.研究范围及要达到的技术要求

2:方案 说明设计原理并进行方案选择,阐明为什么要选择这个方案以及所采用的方案的特点

3:过程论述

4:结果分析

5:结论

正文:

1:绪论

计算机绘图可以增加学生对IBM-PC汇编语言的兴趣,增强学生对书本知识的理解和应用能力

要求熟练掌握INT 21H,INT 16H,INT 10H各功能项的功能

2:方案

指定一矩形在屏幕的左上方或右下方的坐标,画出这一矩形,移动光标键,该矩形可以缩放或变形

该方案是以窗口控制程序完成工作和光标控制屏幕窗口。首先清除屏幕,紧接着在屏幕中心生成一个小窗口,其左上角的行列坐标为(10,30),右下角坐标为(15,40),光标定位在(0,0)。当按动光标控制键时,光标能上下左右移动,当光标移动到指定的位置上后,按下HOME键,此时光标的最后位置或作为窗口左上角坐标,或移动坐标扩大或缩小屏幕窗口。

3:过程论述

编写这个程序时,因多次要用到清屏.生成窗口.定位.清屏.光标定位等功能,因此采用宏汇编技术,把这些功能分别定义成宏指令clear.scroll,postc等,这样,在编写程序时,这些定义后的宏指令就和其它汇编语言指令一样直接写在程序中。

宏指令是8086汇编语言中提供的一种简化程序编写的手段。编写程序是经常会遇到这样的现象:同一个程序段需要在程序中出现多次,或者程序中有几段指令列中除了个别符号不相同外,总体上是一样的。“宏”正可以用来实现“文字块”操作的功能,不仅如此,使用宏还可以克服复制无法解决的困难:如果块复制后发现其中的内容有错误,则要对重复出现的每一处都进行修改。程序中使用宏分为定义和调用两部分。宏定义用来说明那些指令或伪指令是将在程序段;宏调用是用来告诉汇编程序,在翻译前先把宏定义中的程序段复制一遍。

宏定义:

宏定义是用一组伪操作来实现,格式为:

宏名 MACRO [哑元表]

.

.(宏体)

.

ENDM

说明:

(1)“宏名”是一个标识符,一个程序中可以定义多个宏,对每一个宏必须以不同的标识符命名,且宏名不能与变量.标号.段名等标识符同名。

(2)汇编语言规定,宏定义起始标记MACRO前面必须写宏的名字,而结束标记ENDM的前面却不允许写任何内容,写在起始标记之间的部分称为宏体,宏体部分通常是一段程序中需要重复使用的指令序列。

(3)宏定义仅仅用来告诉汇编程序,将来宏调用时复制的对象是什么,宏定义中的程序段并不是程序的一部分,也就是说,如果程序中定义了一个宏而没有调用它,汇编程序将忽略宏定义。

(4)宏定义可以放在程序的任何地方(但要在它的第一次调用之前),它可有可无,但习惯上总是把宏定义写在程序的最前面。

(5)哑元表给出了宏定义中所用到的形式参数,它可有可无,当有多个形参时,每个形参之间要用逗号隔开。

宏调用

定义后的宏名又为宏指令,就可以在源程序中调用宏了,调用格式为:

宏指令名[实元表]

宏调用的方式是在源程序中需要复制宏体的地方写宏的名字。宏名单独占一行,当源程序被汇编时,它必须与宏定义中的宏名一致,其后的实在参数要与宏定义的形参数按位置一一对应。如果实参的个数多于形参的个数时,多余的实参可以被忽略。如果实参的个数少于形参个数,则缺少的实参被处理为空白,实参可以与形参同名。

清除屏幕用的是存储器映射法,即连续往显存个单元中写入0,本程序中清除屏幕使用BIOS 10H 的卷屏功能AH=6或AH=7,给定左上角参数为(0,0),右下角参数为(24,79),属性为07,然后调用10H ROM例行程序,则完成清除的工作。

清除屏幕

INT 10H的06功能处理清除屏幕或滚动。清楚全屏或部分屏幕显示,可在全屏幕范围的任意位置开始和任意位置结束,设置以下寄存器:

AH=06H 功能号

AL=滚动的行数,或00H全屏为空白

BH=属性值(颜色.闪烁)

CX=起始行:列

DX=结束的行:列

CX和DX共同定义了滚动的屏幕区(或窗口),AL指明了上卷的行数。如果要清除整个屏幕,就指定CX中的起始行:列为00:00H,DX中的行:列为18:4FH。

下例中的属性71H设置整个屏幕为白色背景(属性为7)和蓝色前景(属性为1):

MOVAX,0600H

MOVBH,71H

MOVCX,0000H

MOVDX,184FH

INT10H

在文本方式下设置彩色属性并将全屏上卷一行:

MOVAH,0601H

MOVBH,61H

MOVCX,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值