汇编语言实现图形绘制——矩形、三角形等

本文介绍了如何使用汇编语言实现图形绘制,重点讲解了INT 10H中断服务程序在设定显示模式和绘图中的应用,以及Bresenham直线算法在绘制直线、竖线和斜线中的应用。通过算法实现,可以进一步扩展到绘制三角形和矩形。
摘要由CSDN通过智能技术生成

汇编语言实现图形绘制

一、准备工作

1.INT 10H的功能

INT 10H 是由 BIOS 对屏幕及显示器所提供的服务程序。使用 INT 10H 中断服务程序时,先指定 AH 寄存器编,该编号表示欲调用的功用,然后再定义其它寄存器内容,当一切设定好之后再调用 INT 10H。下面是我们在程序中用到的指令:

AH=00H

AH=00/INT 10H 是用来设定显示模式的服务程序,AL 寄存器表示欲设定的模式

;AL部分模式说明
mov al,12h          ;640*480 256的图形模式:            
mov al,13h          ;320*200 256色的图形模式:

;完整调用
mov al,13h          ;320*200 256色的图形模式:
mov ah,0            ;是用来设定显示模式的服务程序
int 10h

AH=0CH

AH=0Ch/INT 10H 是在绘图模式中显示一点 ( 也就是写入点像),而 AH=0DH/INT 10H 则是读取点像。

写入时,要写入位置 X 坐标存于 CX 寄存器,Y 坐标存于 DX 寄存器,颜色存于 AL 寄存器。对于汇编的显示窗口,左上角为原点,向右为X轴,越往右X数值越大;向下为Y轴,越往下Y数值越大。X、Y坐标的边界以及颜色的种类则和之前定义的显示模式相关。

显示模式 X 座标 Y 座标 颜色
4 0~319 0~199 0、1
5 0~319 0~199 0~3
6 0~639 0~199 0、1

AH=0DH/INT 10H 则是读取某一位置之点像,您必须指定 CX、DX,而 INT 10H 会传回该位置点像之颜色。

;完整调用
mov cx,10             ;x坐标
mov dx,10             ;y坐标
mov al,1100b          ;淡红色
mov ah,0ch            ;写入点像
int 10h               ;调用中断
二进制数 颜色 例子 二进制数 颜色 例子
0000 黑色 black 1000 灰色 gray
0001 蓝色 blue 1001 淡蓝色 light blue
0010 绿色 green 1010 淡绿色 light green
0011 青色 cyan
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值