图形程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
一、实验目的
1.掌握屏幕显示方式的设置方法;
2.掌握写象素点的方法;
3.掌握宏的定义和调用方法。
二、实验内容
1.编程实现几何图形的绘制,不同颜色的填充。
2.具体要求:
将屏幕设置成640*480,在屏幕上画6个几何图形:空心正方形、空心长
方形、实心正方形、实心长方形、空心直角等腰三角形、实心直角等腰三角形。大小、颜色、位置自定。
三、编程流程图
四、程序源代码
code segment
assume cs:code
go: mov ah,0
mov al,12h ;12色
int 10h
mov ah,0bh
mov bh,0
mov bl,3 ;调色板(背景色)
int 10h
mov ah,0ch ;写像素
mov al,12 ;颜色
mov dx,20 ;列坐标
mov cx,5 ;行坐标
l1: int 10h
inc cx
cmp cx,85 ;行坐标增加到85
jb l1
l2: int 10h
inc dx
cmp dx,100 ;列坐标增加到100
jb l2
l3: int 10h
dec cx
cmp cx,5 ;行坐标减少到5
ja l3
l4: int 10h
dec dx
cmp dx,20 ;列坐标减少到20
ja l4 ;画出空心正方形
mov ah,0ch
mov al,2
mov dx,40
mov cx,220
l5: int 10h
inc cx
cmp cx,320 ;行坐标增加到320
jb l5
l6: int 10h
inc dx
cmp dx,90 ;列坐标增加到90
jb l6
l7: int 10h
dec cx
cmp cx,220 ;行坐标减少到220
ja l7
l8: int 10h
dec dx
cmp dx,40 ;列坐标减少到40
ja l8 ;画出空心长方形
mov ah,0ch
mov al,9
mov dx,20
l9: mov cx,435
int 10h
inc dx
cmp dx,120
jb l9
l10: int 10h
inc cx
cmp cx,535
jb l10
l11: int 10h
dec cx
dec dx
cmp dx,20
ja l11 ;画空心直角等腰三角形
mov ah,0ch
mov al,5
mov dx,260
l12: mov cx,5
l13: int 10h
inc cx
cmp cx,105
jbe l13
inc dx
cmp dx,360
jbe l12 ;画实心正方形 mov ah,0ch
mov al,3
mov dx,280
l14: mov cx,220
l15: int 10h
inc cx
cmp cx,420
jbe l15
inc dx
cmp dx,340
jbe l14 ;画实心长方形 mov ah,0ch
mov al,9
mov dx,260
mov si,435
l16: mov cx,435
l17: int 10h
inc cx
cmp cx,si
jbe l17
inc dx
inc si
cmp dx,460
jbe l16 ;画实心直角等腰三角形
mov ah,7
int 21h
mov ah,4ch
int 21h code ends
end go
五、运行结果
1、编译连接结果
2、程序执行结果
六、实验总结
编写这个程序还是很有趣的,可以根据自己的意愿画出各种形状和色彩的几何图形,就是画图时,根据所设屏幕的大小,各个图形的布局要合理,以便更好地观察效果。另外,在画实心图形时,要认真设计好循环的方式,已画出完整的图形。