匿名用户
1级
2008-10-30 回答
写一下简单的算法吧,
先提供一个简单的画点子程序:
;在屏幕显示一点或一像素子程序
;输入参数:
; BX = 行地址(0-479)
; SI = 列地址(0-639)
; DL = 颜色 (0-15)
; 640*480显示模式
DOT proc near
push cx ;保存颜色
push dx
mov ax, 80 ;行地址
mul bx
mov di, ax ;保存行地址
mov ax, si ;计算列地址
mov dh, 8
div dh
mov cl, ah ;得到移位数值
mov ah, 0
add di, ax ;构成像素地址
mov al, 80h
shr al, cl ;计算相应位屏蔽寄存器中的位
push ax ;保存位屏蔽字
mov dx, 3ceh ;图形地址寄存器
mov al, 8 ;选择位屏蔽寄存器
out dx, al
mov dx, 3cfh ;位屏蔽寄存器
pop ax ;得到位屏蔽寄存器
out dx, al
mov dx, 3c4h ;顺序地址寄存器
mov al, 2 ;选择映象屏蔽寄存器
out dx, al
mov dx, 3c5h ;映象屏蔽寄存器
mov al, 0fh ;使所有位平面均有效
out dx, al
mov al, es:[di] ;先读
mov byte ptr es:[d
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)