□今天是: 设为首页 | 加入收藏 | 繁体中文    
| 网站首页 | 实用文档 | 个人简历 | 演讲稿 | 自考成考 | 试题选粹 | 职场技巧 | 法律文书 | 公务员考试 | 论文中心 | 雁过留声 |
   □您现在的位置: 梧桐细雨范文网 >> 论文中心 >> 计算机类 >> 计算机网络 >> 正文
  VGA显示屏开关技巧 【字体:
VGA显示屏开关技巧
作者:网络    论文来源:网络    点击数:286    更新时间:2007/3/21

摘 要 该本分析了如何通过对端口03c8h、03cqh进行操作来改变VGA显示颜色,进而达到屏幕开关显示的艺术效果。
屏幕开关显示的方法有很多种,如:利用分页功能,前后台处理;还可利用某些端口的位操作关闭电子束。这些方法共同的缺点是:单调,缺乏灵活性。这里向大家介绍一种方法,可弥补以上缺憾。

彩色显示器16种颜色都是红、绿、蓝3基色调和的结果,各颜色的3基色在VGA卡上分别占用一个18位的颜色寄存器,红、绿、蓝各占6位。系统开机时,各颜色3基色的值被设置成缺省值,改变3基色的比例,就可达到改变颜色显示效果的目的。
黑色的3基色均为0,如将所有颜色的基色值都置成0,则可达到关屏的效果,反之,恢复各颜色的基色缺省值,则可达到开屏的目的。由此推广,如将各颜色的基色值逐步减为零,则可使屏幕逐步变暗;如将绿、蓝两基色值先逐步减为零,再将红色减灭,则屏幕颜色先逐步转红,之后变暗……
16种颜色的3基色的缺省值为:
色号:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 0 0 0 0 42 42 42 42 21 21 0 0 63 63 63 63
G 0 0 42 42 0 0 21 42 21 21 63 63 21 21 63 63
B 0 42 0 42 0 42 0 42 21 63 0 63 21 63 0 63
3基色的传送方法为:
out 03c8h, ptr
out 03c9h, r
out 03c9h, g
out 03c9h, b
其中:
ptr=n ; n=0,1,2,3,4,5,7
n+14 ; n=6
n+48 ; n=8,9,10,11,12,13,14,15
n为颜色号,ptr为相应的颜色寄存器号。
r, g, b分别为红、绿、蓝3基色值。
上述过程全在COMPAQ DESKPRO 386/33M上调试通过。
以下给出一个关屏实例,由TASM编译,TLINK连接生成.COM文件。本程序稍作修改即可作为过程用于其它应用程序上。
.model small
.code
.386
org 100h
start:
mov bp,cs:red-ptr
mov bl,[bp]
cmp bl,0;基色r为零吗?
je @@1;是,则跳
dec bl;否则,减1
mov [bp],bl
@@1: mov bl,[bp+1]
cmp bl,0;基色g为零吗?
je @@2;是,则跳
dec bl;否则,减1
mov [bp+1],bl
@@2: mov bl,[bp+2]
cmp bl,0 ;基色b为零吗?
je @@3 ;是,则跳
dec b1 ;否则,减1
mov [bp+2],bl
@@3: mov al,cs:c-num ;色号→al
call change ;改变al号颜色
call delay ;延时
cmp cs:c-num,15 ;色号小于15吗?
jl @@4;是,则跳
cmp cs:loop1,0 ;否则,色号,基色值指针复位
je @@5
mov cs:c-num,1
mov cs:red-ptr,offset red
dec cs:loop1 ;
jmp start
@@4: inc cs:c-num ;色号加1
add cs:red-ptr,3 ;基色值指针加3
jmp start
@@5: int 20h
delay:
mov cx,8760
@@6: dec cx
cmp cx,0
jnz @@6
ret
change:
cmp al,6
je @@7
cmp al,7
jle @@8
add al,48
jmp @@8
@@7: add al,14
@@8: mov dx,03c8h
out dx,al
mov dx,03c9h
mov bp,cs:red-ptr
mov al,[bp]
out dx,al
mov al,[bp+1]
out dx,al
mov al,[bp+2]
out dx,al
ret
c-num db 1
loop1 db 63
red-ptr dw offset red
red db 0
green db 0
blue db 42
db 0
db 42
db 0
db 0
db 42
db 42
db 42
db 0
db 0
db 42
db 0
db 42
db 42
db 42
db 0
db 42
db 42
db 42
db 21
db 21
db 21
db 21
db 21
db 63
db 0
db 63
db 0
db 0
db 63
db 63
db 63
db 21
db 21
db 63
db 21
db 63
db 63
db 63
db 0
db 63
db 63
db 63
ends
end start

论文录入:梧桐细雨范文网    责任编辑:梧桐细雨范文网 
  • 上一篇论文:

  • 下一篇论文:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     【网友评论】(只显示最新10条。评论内容只代表网友观点,与本站立场无关)
            

    联系站长 | 站长简介 | 友情链接 | 版权申明 | 本站公告 | 给我留言 | 广告投放 | | 网站管理

    ◇网站地址:江苏省大丰市    邮编:224100   ◇本站ICP备案证书:苏ICP备06051753号      ◇本站站长:梧桐细雨
     □Copyright ©2005-2012 【梧桐细雨文学网】旗下网站 
    ◇本站大部分信息资源来源于网络,仅供学习|研究|探讨|收藏之用,版权归原作者所有!