⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 page267.html

📁 编者李春生
💻 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="page266.html">上一页</a> <a href="page268.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></td><td></td>
<td colspan=6><img src="icons/flag.gif"></td><td colspan=4></td><td colspan=6 align="right">第9章 图形显示</td> <!章节名>
<td></td><td>-267-</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=2>
<br>
<br>
pixel<br>
code<br>
<br>
</td>
<td colspan=2>
pop<br>
ret<br>
endp<br>
ends<br>
end
</td>
<td colspan=5>
ax<br>
<br>
<br>
<br>
main
</td>
<td colspan=9>
<br>
;返回主过程<br>
<br>
<br>
<br>
</td>
<td></td><td></td> <!右边距>
</tr>

<tr>
<td></td><td></td> <!左边距>
<td colspan=18><font face="黑体"><a name="93">9.3 端口编程</a></font></td>
<td></td><td></td> <!右边距>
</tr>

<tr>
<td></td><td></td> <!左边距>
<td colspan=18>
  说一句很令大家失望的话,试图通过端口编程控制CGA卡的图形显示并没有什么实际意义,相反,这样做反而会带来麻烦。原因很简单,现在常用的显示卡一般都是VGA、Super VGA或者是一些带有视频加速器的显示卡,绝大多数显示卡只做到了在显示缓冲区一级兼容CGA,在寄存器一级与标准的CGA卡并不兼容。这种现象早在EGA的时代就已经出现,其后设计的显示卡为了全面兼容EGA,也就不得不把这个毛病继承了下来。因此在这样的情况下讨论CGA卡的端口编程也就没什么必要性了。<br>
  当然,问题远不是如此的简单。IBM所推出的显示卡历来是工业界遵循的标准,然而就在IBM搞出的8514卡之后情况就发生了变化。一些曾经按照IBM的标准生产兼容显示卡的厂家相继脱离了IBM,设计出了自己的Super VGA卡,其中比较有名的象Trident VGA,ET3000(EVGA)等。这些显示卡都没有遵循IBM8514的标准,而是各有各的特色。在这些显示卡中,有些设计时考虑了与CGA卡的兼容性,做到了寄存器级兼容IBM CGA,比如EVGA卡。至于现在常用的各种加速卡是否做到了与CGA的完全兼容恐怕就更难说了。<br>
  出于这样一些原因,本书将仅对CGA卡上几个关键的寄存器做些简单说明,不再给出程序例,大家可以自己进行实验。如果读者发现自己所用的显示卡确实与CGA卡完全兼容,那么可以利用本书给出的这一点点资料自行编制程序例,以求彻底掌握CGA卡的程序设计。不过最关键的一点还是要提醒大家:通过端口控制CGA卡将使程序丧失可移植性。<br>
  有关CGA卡上CRTC寄存器组已经在本书的第六章做了讨论,这一节将讨论CGA卡上另外三个寄存器--方式选择寄存器、颜色选择寄存器与状态寄存器。<br>
  (1)方式选择寄存器<br>
  这个寄存器可以通过端口3D8H进行存取,它主要用于设定CGA卡的工作模式,各个位的作用都列在表9-2中。
</td>
<td></td><td></td> <!右边距>
</tr>

<tr>
<td></td><td></td> <!左边距>
<td colspan=18 align=center><font face="楷体_GB2312">表9-2 方式选择寄存器的位定义</font></td>
<td></td><td></td> <!右边距>
</tr>

<tr>
<td></td><td></td> <!左边距>
<td colspan=2>位</td><td colspan=16 align=center>功    能    描    述</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>0</td><td colspan=16>分辨率转换位。此位为0时设置40x25分辨率,为1时设置80x25分辨率。</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>1</td><td colspan=16>字符/图形模式转换位。此位为0时设置字符模式,为1时设置320x200图形模式。</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>2</td><td colspan=16>彩色/黑白模式转换位。此位为0时为彩色模式,为1时为黑白模式。</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>3</td><td colspan=16>显示允许/禁止位。此位为0时禁止显示,为1时允许显示。</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>4</td><td colspan=16>此位为1时选择640x200高分辨率模式。</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>5</td><td colspan=16>闪烁允许/禁止位。此位为0时禁止闪烁,此时背景颜色可以有16种。为1时允许闪烁。</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>6</td><td colspan=16>未使用。</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>7</td><td colspan=16>未使用。</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 &copy; 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="page266.html">上一页</a> <a href="page268.html">下一页</a> <a href="page269.html">下一章</a></p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -