?? 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 + -