📄 page238.html
字号:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>第9章 图形显示</title>
</head>
<body>
<style type="text/css">
body {
background-color: #c0c0c0;
}
table {
background-color: #c0c0c0;
line-height: 24px;
}
</style>
<!导航条>
<p><a href="content1.html">目录</a> <a href="page237.html">上一页</a> <a href="page239.html">下一页</a> <a href="page269.html">下一章</a></p>
<table border=0 align="center" width=800 frame="box" rules="none">
<!标尺行>
<tr>
<td width=3%></td><td width=6%></td><td width=1%></td>
<td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td>
<td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td>
<td width=1%></td><td width=6%></td><td width=3%></td>
</tr>
<!页眉行>
<tr height=60 valign="bottom">
<td></td><td>-238-</td><td></td> <!页码>
<td colspan=6>PC机汇编语言实战精解</td><td colspan=4></td><td colspan=6 align="right"><img src="icons/flag.gif"></td> <!书名>
<td></td><td></td><td></td> <!右侧空白>
</tr>
<!页眉线>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!正文>
<font face="宋体" lang="ZH-CN" size=3>
<tr height=20><td colspan=22></td></tr> <!顶部空白>
<tr>
<td></td><td></td> <!左边距>
<td colspan=18>
<font face="隶书" lang="ZH-CN" size=6><p align="CENTER">第9章 图形显示</p></font>
<p>
一幅好的图形胜过千言万语,此话一点也不假。若不是图形在PC的发展史上占据着独到的地位,也就不会有今天种类繁多的图形加速卡了。当然,更不会有WINDOWS、CAD与MultiMedia,以及令人百玩不厌的电子游戏了。<br>
笔者之所以自学汇编语言,也是缘于图形。笔者最早使用的电脑是一台具有HGC显示系统的XT兼容机,HGC显示系统虽具有图形功能,但并非所有的软件都支持它的图形显示功能。所以笔者一直为使用GWBASIC无法编制图形程序而烦恼。更令人郁闷的是笔者所拥有的唯一一个游戏--挖金子无法运行。<br>
偶然一次机会,笔者从一本《计算机世界》杂志上看到了一个HGC仿真CGA的汇编程序,觉得十分新奇。于是便仔细研究了有关汇编语言的一些初步知识,最终利用DEBUG实现了这个程序。使笔者的那台小电脑有了更多的功能。后来,我终于弄到了MASM 4.0版的编译程序,于是便开始了对汇编语言的全面深入研究。<br>
我们下面的任务就是详细研究一下PC电脑上最简单的图形模式——CGA。<br>
CGA是IBM第一个彩色图形显示标准。我们现在主要研究的是设计图形程序所需的基本知识和基本思想,这对于我们前后研究其它图形显示系统是很有帮助的。再者说,笔者也不能保证本书的所有读者都有VGA以上的图形显示卡,如果某位读者只有HGC卡,那么本书抛弃CGA不谈就有些不负责任了。
</p>
</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=18><font face="黑体"><a name="91">9.1 BIOS的图形功能</a></font></td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=18>
在这一章里我们将沿用第六章的思路,首先由BIOS谈起,最后谈到端口。我们知道PC的显示系统具有一个最大的特点就是将字符的显示与图形显示分成两种模式进行处理。<br>
PC电脑将字符与图形分开处理而且将字符状态分成了几个不同的形式(40 25、80 25),对于图形模式也是这样。就CGA而言,它具有三种图形模式,我们将要研究的是图形模式4,在这种显示模式下,整个屏幕在水平方向上可以显示320个点,垂直方向上可以显示200个点而每个点都可以是4种颜色中的任一种,即同时出现在屏幕上的颜色有4种。这就是图形模式4所能提供的能力,如果用一组数字来表示,就是320 200 4c。<br>
从现在的角度来看,这样的能力无疑是极端低下的。然而我们也不得不承认,我们自己目前的能力也并不是很强,毕竟我们现在是在入门。<br>
设置模式同样使用BIOS 10H中断的0号功能,其用法第六章中已解决。我们下面就通过一个小程序将显示系统设为CGA模式4,看看效果如何。<br>
图形模式与字符模式最大的区别恐怕就是光标在图形屏幕上消失了。不过字符却能够显示。只不过此时出现在屏幕上字符已不再是简单地在显示缓冲存储器中写入字符的ASCII码与属性字节了,显示缓存的组织形式与字符模式是完全不同的。
</td>
<td></td><td></td> <!右边距>
</tr>
</font>
<!页脚线>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!页脚>
<tr height=60 valign="top">
<td></td><td></td>
<td colspan=9><i>Copyright © 2004-2005 <a href="mailto:webmaster@nucstorm.com">Chunk Lee</a></i></td>
<td colspan=9 align="right"><i><a href="http://www.nucstorm.com" target="_top">www.nucstorm.com</a></i></td>
<td></td><td></td>
</tr>
</table>
<!导航条>
<p align="right"><a href="content1.html">目录</a> <a href="page237.html">上一页</a> <a href="page239.html">下一页</a> <a href="page269.html">下一章</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -