匯編語(yǔ)言入門(mén)教程-第九章BIOS和DOS中斷課件_第1頁(yè)
匯編語(yǔ)言入門(mén)教程-第九章BIOS和DOS中斷課件_第2頁(yè)
匯編語(yǔ)言入門(mén)教程-第九章BIOS和DOS中斷課件_第3頁(yè)
匯編語(yǔ)言入門(mén)教程-第九章BIOS和DOS中斷課件_第4頁(yè)
匯編語(yǔ)言入門(mén)教程-第九章BIOS和DOS中斷課件_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程9.1串行通訊口I/O

在現(xiàn)實(shí)生活和工作中,常會(huì)有將兩臺(tái)計(jì)算機(jī)實(shí)現(xiàn)資源共享和數(shù)據(jù)交換的要求。微機(jī)雙機(jī)直接通訊的方法有很多種,根據(jù)兩臺(tái)微機(jī)的距離遠(yuǎn)近,可分為近程通訊和遠(yuǎn)程通訊,如果兩臺(tái)通訊的微機(jī)在同一間屋內(nèi)或相距在幾十米到一兩百米內(nèi),稱(chēng)為近程通訊;如果兩臺(tái)微機(jī)相距在幾百米到幾千米甚至更遠(yuǎn),則把它們之間的通訊稱(chēng)為遠(yuǎn)程通訊。由于計(jì)算機(jī)通訊的廣泛應(yīng)用,串行接口已成為個(gè)人計(jì)算機(jī)必備的部件,IBMPC機(jī)內(nèi)裝有通訊適配器板,這使得PC機(jī)可以和其它配有串行通訊接口的計(jì)算機(jī)或設(shè)備進(jìn)行通訊。串行接口每次由CPU得到8位的數(shù)據(jù),然后串行地通過(guò)一條線路,每次發(fā)送一位將該數(shù)據(jù)發(fā)送出去。

最常用于個(gè)人計(jì)算機(jī)上的串行接口是標(biāo)準(zhǔn)的RS一232串行接口,它裝于PC機(jī)內(nèi)的通訊適配器板上。這個(gè)標(biāo)準(zhǔn)串行接口既可用于近程或遠(yuǎn)程的數(shù)據(jù)通訊,每個(gè)系統(tǒng)中可以有兩個(gè)或多個(gè)串行控制器連接到不同的外設(shè)上,如IBMPC可連接兩個(gè)串行接口(COM1和COM2),但是程序每次只能對(duì)一個(gè)串口進(jìn)行存取。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程9.11第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程兩臺(tái)PC機(jī)或設(shè)備進(jìn)行近距離通訊時(shí),可直接將它們連接。當(dāng)它們進(jìn)行遠(yuǎn)距離通訊時(shí),要使用調(diào)制解調(diào)器(MODEN)連接到電話線上,因?yàn)镽S一232標(biāo)準(zhǔn)串行接口輸出的是電壓信號(hào),不能直接接到電話線上,調(diào)制解調(diào)器把代表邏輯1和邏輯0的電壓信號(hào)轉(zhuǎn)換成能在電話線上傳輸?shù)牟煌l率的信號(hào):電話線另一端的調(diào)制解調(diào)器又把這些不同頻率的信號(hào)轉(zhuǎn)換成接口要求的電壓信號(hào)。左圖為兩種連接方式的示意圖。

串口的連接方式第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程兩臺(tái)P2第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程串口的典型結(jié)構(gòu)許多外部設(shè)備和計(jì)算機(jī)是按照串行方式來(lái)進(jìn)行通信的。即數(shù)據(jù)是1位1位進(jìn)行傳輸?shù)模趥鬏斶^(guò)程中,每1位數(shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。這種情況下,就要用串行接口把這個(gè)外部設(shè)備連接到總線上。當(dāng)前,可編程的串行接口有許多種。左圖是串行接口部件的典型結(jié)構(gòu),從圖中可以看到,串行接口部件內(nèi)部有4個(gè)主要寄存器,即控制寄存器、狀態(tài)寄存器、數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程串口的典型3第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程控制寄存器用來(lái)容納CPU送給此接口的各種控制信息,而控制信息決定接口的工作方式。

狀態(tài)寄存器的各位叫狀態(tài)位,每一個(gè)狀態(tài)值都可以用來(lái)指示傳輸過(guò)程中的某一種錯(cuò)誤或者當(dāng)前傳輸狀態(tài)。

數(shù)據(jù)輸入寄存器總是和串行輸入/并行輸出移位寄存器配對(duì)使用的。在輸入過(guò)程中,數(shù)據(jù)1位1位從外部設(shè)備進(jìn)入接口的移位寄存器,當(dāng)接收完1個(gè)字符以后,數(shù)據(jù)就從移位寄存器送到數(shù)據(jù)輸入寄存器,再等待CPU來(lái)取走。

數(shù)據(jù)輸出寄存器和并行輸入/串行輸出移位寄存器配對(duì)使用。當(dāng)CPU往數(shù)據(jù)輸出寄存器中輸出1個(gè)數(shù)據(jù)后,數(shù)據(jù)使傳輸?shù)揭莆患拇嫫鳎缓?位1位地通過(guò)輸出線送到外設(shè)。

CPU可以訪問(wèn)串行接口中的4個(gè)主要寄存器。從原則來(lái)說(shuō),對(duì)這4個(gè)寄存器可以通過(guò)不同的地址來(lái)訪問(wèn),不過(guò),因?yàn)榭刂萍拇嫫骱蛿?shù)據(jù)輸出寄存器是只寫(xiě)的,狀態(tài)寄存器和數(shù)據(jù)入寄存器是只讀的,所以,可以用讀信號(hào)和寫(xiě)信號(hào)來(lái)區(qū)分這兩組寄存器,再用1位地址來(lái)區(qū)分2個(gè)只讀寄存器或2個(gè)只寫(xiě)寄存器。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程控制寄存器4第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程九針串口線的連接方式9針串行口的針腳功能。

:針腳功能針腳功能

:1載波檢測(cè)(DCD)6數(shù)據(jù)準(zhǔn)備好(DSR)

:2接受數(shù)據(jù)(RXD)7請(qǐng)求發(fā)送(RTS)

:3發(fā)出數(shù)據(jù)(TXD)8清除發(fā)送(CTS)

:4數(shù)據(jù)終端準(zhǔn)備好(DTR)9振鈴指示(RI)

:5信號(hào)地線(SG)通訊電纜制作原理:

:串行通訊電纜的制作方法:其串行通訊電纜連接時(shí)都遵循下列對(duì)接關(guān)系:

:SG←→SG

:TXD←→RXDRXD←→TXD

:RTS←→CTSCTS←→RTS

:DTR←→DSRDSR←→DTR

:根據(jù)上述對(duì)接關(guān)系,就可以非常方便地連接串行通訊電纜。第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程九針串口線5第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程注意事項(xiàng)注意事項(xiàng):

:·為了保證傳輸?shù)男盘?hào)正確、完整,導(dǎo)線的長(zhǎng)度最好不要超過(guò)2米;并且宜選用計(jì)算機(jī)專(zhuān)用電纜。

:·導(dǎo)線必須焊接到所對(duì)應(yīng)的位置,焊頭連接必須牢固,并且注意不要短路。

:·對(duì)于串行通訊電纜,也可使用9針到25針轉(zhuǎn)換接頭來(lái)連接其中的一個(gè)或兩個(gè)串口。

:·電腦商店也有賣(mài)“串口通訊電纜”和“并口通訊電纜”的,購(gòu)買(mǎi)時(shí)要注意弄清楚是微機(jī)與微機(jī)相連的還是微機(jī)與外設(shè)相連的,這兩種線的內(nèi)部接法有點(diǎn)不同,弄錯(cuò)了會(huì)造成通訊失敗。

:·不用于連接電纜的接頭(如1、9接頭等)宜懸空。這一點(diǎn)對(duì)于自己改造從電腦商店買(mǎi)來(lái)的所謂“串行通訊電纜”和“并行通訊電纜”尤其重要。

:·并口線不可能太長(zhǎng),串口線速率又較慢。因此本法所制電纜只適合于那些放得很近并有空閑串并口的微機(jī)。對(duì)于隨身攜帶筆記本電腦要與其它計(jì)算交換數(shù)據(jù)的用戶(hù),本法最適合。

把串行或并行電纜兩端插到兩臺(tái)機(jī)器對(duì)應(yīng)端口上,還不能立即進(jìn)行數(shù)據(jù)通訊,還必須有通訊軟件的支持。第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程注意事項(xiàng)注6第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程DOS串行通訊口功能

串行通訊接口為輔助設(shè)備,DOS中斷操作如下。讀取操作:INT21H的功能03H是從捕助設(shè)備(第一個(gè)串行口COM1)讀一個(gè)字符到寄存器AL。發(fā)送操作:功能04H將DL寄存器中的字符傳送給串行設(shè)備,如果輸出設(shè)備正忙,該功能調(diào)用等待,直到設(shè)備準(zhǔn)備好接收字符。

注意:在多數(shù)DOS系統(tǒng)中,串行設(shè)備沒(méi)有緩沖和中斷,如果串行通訊口或其它輔助設(shè)備送的數(shù)據(jù)比程序處理數(shù)據(jù)快,字符可能丟失。在PC系統(tǒng)中,第一個(gè)串行口COM1被初始化為2400波特(所謂傳輸率就是指每秒傳輸多少位,傳輸率也常叫波特率。),無(wú)奇偶校驗(yàn)位,1個(gè)終止位和8位數(shù)據(jù)。其它機(jī)器上的DOS實(shí)現(xiàn)可能有不同的初始化。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程DOS串行7第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程注意:DOS沒(méi)有提供讀輔助設(shè)備的狀態(tài)和檢測(cè)I/O錯(cuò)誤(如丟失字符等)的功能,但ROM中BIOSINT14H提供了這些功能。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程注意:D8第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程BIOS串行通訊口功能

IBMPC的BIOS串行通訊提供如下操作:通過(guò)INT14H調(diào)用ROMBIOS串行通訊口例行程序。該例行程序包括將串行口初始化為指定的字節(jié)結(jié)構(gòu)和傳輸速率,檢查控制器的狀態(tài),讀寫(xiě)字符等功能。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程BIOS串9第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程INT14HAH=0功能把指定的串行通訊口初始化為希望的波特率,奇偶性,字長(zhǎng)和終止位的位數(shù)。這些初始化參數(shù)設(shè)置在AL寄存器。其各位的含義如下圖所示。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程INT110第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程例

要求0號(hào)通訊口的傳輸率為2400波特,字長(zhǎng)為8位,1位終止位,無(wú)奇偶校驗(yàn)

串口通訊中的錯(cuò)誤檢測(cè)功能在接口設(shè)計(jì)中,常常要考慮對(duì)錯(cuò)誤的檢測(cè)問(wèn)題。當(dāng)前多數(shù)可編程接口,一般能檢測(cè)下列兩類(lèi)錯(cuò)誤。一類(lèi)是傳輸錯(cuò)誤。因?yàn)榻涌诤驮O(shè)備之間的連線常常受噪聲干擾,從而引起傳線錯(cuò)誤,所以一般傳輸信息時(shí),接口采用奇/偶校驗(yàn)位對(duì)傳輸錯(cuò)誤進(jìn)行檢測(cè)。傳輸時(shí),如果用奇校驗(yàn),那么使信息中1的數(shù)目(包括校驗(yàn)位)為奇數(shù)。也就是說(shuō),所傳輸?shù)臄?shù)據(jù)中如果1的個(gè)數(shù)為奇數(shù)則使校驗(yàn)位為0,所傳輸?shù)臄?shù)據(jù)中如果1的個(gè)數(shù)為偶數(shù)則使校驗(yàn)位為1,這樣,在傳輸一個(gè)數(shù)據(jù)時(shí),1的總數(shù)目總是為奇數(shù)。同樣的道理,如果用偶校驗(yàn).那么,信息中1的數(shù)目(包括校驗(yàn)位)為偶數(shù)。接口在傳輸過(guò)程中,對(duì)信息校驗(yàn)之后,如果發(fā)現(xiàn)有錯(cuò)誤,則對(duì)狀態(tài)寄存器中的相應(yīng)位進(jìn)行設(shè)置。而狀態(tài)杏存器的內(nèi)容可以通過(guò)程序進(jìn)行讀取和檢測(cè)。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程例要11第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程另一類(lèi)是復(fù)蓋錯(cuò)誤。我們知道,當(dāng)計(jì)算機(jī)輸入數(shù)據(jù)時(shí),實(shí)際上是從接口的輸入緩沖寄存器中取數(shù)。如果計(jì)算機(jī)還沒(méi)有取走數(shù)據(jù),輸入緩沖寄存器由于某種原因又被裝上了新的數(shù)據(jù),那么,就全產(chǎn)生一個(gè)復(fù)蓋錯(cuò)誤。在輸出時(shí),也會(huì)有類(lèi)似的情況。

返回參數(shù)中通訊口狀態(tài)字節(jié)各位置1的含義如下圖所示:在接收和發(fā)送過(guò)程,錯(cuò)誤狀態(tài)位(1,2,3,4位)一旦被置為1,則讀入的接收數(shù)據(jù)已不是有效數(shù)據(jù),所以在串行通訊應(yīng)用程序中,應(yīng)檢測(cè)數(shù)據(jù)傳輸是否出錯(cuò)。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程另一類(lèi)是復(fù)12第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程狀態(tài)錯(cuò)誤信息奇偶錯(cuò);通信線上(尤其是用電話線傳輸時(shí))的噪音引起某些數(shù)據(jù)位的改變,產(chǎn)生奇偶錯(cuò)通常檢測(cè)出奇偶錯(cuò)時(shí),要求正在接收的數(shù)據(jù)至少應(yīng)重新發(fā)送一段。超越錯(cuò):在上一個(gè)字符還未被處理機(jī)取走,又有字符要傳送到數(shù)據(jù)寄存器里,則會(huì)引起超越錯(cuò)。如果處理機(jī)處理字符的速度小于串行通訊口的波持率,則會(huì)產(chǎn)生這種錯(cuò)誤。幀格式錯(cuò):當(dāng)接收/發(fā)送器未接收到一個(gè)字符數(shù)據(jù)的停止位,則會(huì)引起幀格式錯(cuò)。這種錯(cuò)誤可能是由于通信線上的噪音引起停止位的丟失,或者是由于接收方和發(fā)送方初始化不匹配。間斷;間斷有時(shí)候并不能算是一個(gè)錯(cuò)誤,而是為某些特殊的通訊環(huán)境設(shè)置的“空格”狀態(tài)。當(dāng)間斷位為1時(shí),說(shuō)明接收的“空格”狀態(tài)超過(guò)了一個(gè)完整的數(shù)據(jù)字傳輸時(shí)間。第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程狀態(tài)錯(cuò)誤信13第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程例

從通訊口0讀入字符并把它們顯示出來(lái),如果字符沒(méi)有準(zhǔn)備好則等待,如果傳送有錯(cuò)則顯示出錯(cuò)信息“?”。第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程例14第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程9.2顯示器I/O顯示器是計(jì)算機(jī)系統(tǒng)的基本顯示設(shè)備。顯卡VGA的色彩表現(xiàn)能力、編程方便性和顯示速度等性能都直接影響顯示性能。當(dāng)前流行的都是高分辨率(分辨率為1024×768、1280×1024等)SuperVGA顯示器。本節(jié)主要介紹VGA及其以上的SuperVGA顯示器原理和基本I/O操作控制方法。顯示器任一時(shí)刻都必須工作在某一顯示模式下,顯示模式分為兩大類(lèi):文本模式圖形模式文本顯示模式I/O

文本模式:由一屏所能顯示字符的行、列數(shù)及字符屬性確定。

例如,文本模式3:80(列)×25(行)彩色文本顯示模式顯存中保存著當(dāng)前正顯示的一整屏圖像數(shù)據(jù),VGA在顯存與屏幕之間建立了一種自動(dòng)映射關(guān)系,只要向顯存寫(xiě)入顯示數(shù)據(jù),屏幕上將立刻顯示出字符或圖形。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程9.215實(shí)際上顯存又被映射到主機(jī)系統(tǒng)的一段內(nèi)存地址空間上,這段內(nèi)存地址空間稱(chēng)為視頻緩沖區(qū)。彩色文本模式下,視頻緩沖區(qū)首地址為B800:0000H。程序讀寫(xiě)視頻緩沖區(qū),就等效于讀寫(xiě)顯存。

屏幕上每個(gè)顯示字符都對(duì)應(yīng)視頻緩沖區(qū)中的兩個(gè)字節(jié)單元:第一個(gè)單元存顯示字符的ASCII碼第二個(gè)單元存該顯示字符的屬性分辨率越高的顯示模式需占用的視頻緩沖區(qū)存儲(chǔ)空間越大。

1)字符屬性

字符的屬性確定了該字符的顯示方式:顯示字符的顏色、背景顏色及是否閃爍、高亮度。next實(shí)際上顯存又被映射到主機(jī)系統(tǒng)的一段內(nèi)存地址空間上16對(duì)于文本模式3,全屏幕有2000字符,需占用視頻緩沖區(qū)存儲(chǔ)空間4000字節(jié)。返回對(duì)于文本模式3,全屏幕有2000字符,需占用17例2:采用文本模式3在全屏幕上顯示閃爍的藍(lán)底紅色字符A,其屬性字節(jié)為:94H例1:閃爍的藍(lán)底紅色字符屬性字節(jié):94H=(10010100)2VGA編程方法:

(1)直接讀寫(xiě)視頻存儲(chǔ)器(2)利用BIOS中的視頻中斷調(diào)用功能(INT10H)(3)對(duì)VGA的寄存器操作+讀寫(xiě)視頻緩沖區(qū)其中:

方法(1)速度快,可利用SuperVGA的擴(kuò)展性能方法(2)方便、簡(jiǎn)單,但時(shí)間開(kāi)銷(xiāo)較大方法(3)速度快,操作更低層,要求對(duì)硬件熟悉例2:采用文本模式3在全屏幕上顯示閃爍的藍(lán)底紅色字符A,182)彩色文本模式的BIOS中斷調(diào)用

BIOS中的顯示中斷調(diào)用INT10H有大部分功能是處理文本顯示。計(jì)算機(jī)開(kāi)機(jī)或熱啟動(dòng)時(shí),初始模式是彩色文本模式3(參見(jiàn)下表)。用直接寫(xiě)視頻緩沖區(qū)的方法完成上述功能:mov ax,0b800hmov es,ax mov di,0 ;視頻緩沖區(qū)偏移地址送dimov cx,2000 ;一屏顯示字符的個(gè)數(shù)送cxmov ah,10010100b;顯示屬性:閃爍,藍(lán)底紅字mov al,A ;顯示字符Arep stosw;字符A顯示到屏幕上

mov ah,00000111b;清屏mov al,

2)彩色文本模式的BIOS中斷調(diào)用BIOS中19AH功能調(diào)用參數(shù)返回參數(shù)/注釋0設(shè)置顯示方式AL=00:40x25黑白文本方式

AL=01:40x25彩色文本方式

AL=02:80x25黑白文本方式

AL=03:80x25彩色文本方式

AL=04:320x200彩色圖形方式

AL=05:320x200黑白圖形方式

AL=06:640x200黑白圖形方式

AL=07:80x25黑白文本方式

AL=0D:320x200彩色圖形方式(EGA)

AL=0E:640x200彩色圖形方式(EGA)

AL=0F:640x350黑白圖形方式(EGA)

AL=10:640x350彩色圖形方式(EGA)

AL=11:640x480黑白圖形方式(VGA)

AL=12:640x480彩色圖形方式(VGA)

AL=13:320x200,256色圖形方式(VGA)10H中斷功能調(diào)用-1AH功能調(diào)用參數(shù)返回參數(shù)/注釋0設(shè)置顯示方式AL=00201置光標(biāo)類(lèi)型(CH)0―3=光標(biāo)開(kāi)始行

(CL)0―3=光標(biāo)結(jié)束行2置光標(biāo)位置BH=頁(yè)號(hào)

DH=行

DL=列3讀光標(biāo)位置BH=頁(yè)號(hào)CH=光標(biāo)開(kāi)始行

CL=光標(biāo)結(jié)束行

DH=行

DL=列4置顯示頁(yè)AL=顯示頁(yè)號(hào)5屏幕初始化或上卷6屏幕初始化或上卷AL=上卷行數(shù)

AL=0全屏幕為空白

BH=卷入行屬性

CH=左上角行號(hào)

CL=左上角列號(hào)

DH=右下角行號(hào)

DL=右下角列號(hào)7屏幕初始化或下卷AL=下卷行數(shù)

AL=0全屏幕為空白

BH=卷入行屬性

CH=左上角行號(hào)

CL=左上角列號(hào)

DH=右下角行號(hào)

DL=右下角列號(hào)10H中斷功能調(diào)用-21置光標(biāo)類(lèi)型(CH)0―3=光標(biāo)開(kāi)始行

(CL218讀光標(biāo)位置的屬性和字符BH=顯示頁(yè)AH=屬性

AL=字符9在光標(biāo)位置顯示字符及其屬性BH=顯示頁(yè)

AL=字符

BL=屬性

CX=字符重復(fù)次數(shù)A在光標(biāo)位置只顯示字符BH=顯示頁(yè)

AL=字符

CX=字符重復(fù)次數(shù)E顯示字符(光標(biāo)前移)AL=字符

BL=前景色光標(biāo)跟隨字符移動(dòng)13顯示字符串ES:BP=串地址

CX=串長(zhǎng)度

DH,DL=起始行列

BH=頁(yè)號(hào)

AL=0,BL=屬性

串:Char,char,……,char

AL=1,BL=屬性

串:Char,char,……,char

AL=2

串:Char,attr,……,char,attr

AL=3

串:Char,attr,……,char,attr

光標(biāo)返回起始位置

光標(biāo)跟隨移動(dòng)

光標(biāo)返回起始位置

光標(biāo)跟隨串移動(dòng)10H中斷功能調(diào)用-38讀光標(biāo)位置的屬性和字符BH=顯示頁(yè)AH=屬22圖形顯示模式I/O本節(jié)討論有關(guān)顯示器圖形顯示模式的基本概念、基本原理、圖形顯示技術(shù)及其程序設(shè)計(jì)方法。

1)圖形顯示模式圖形模式:利用顯示屏上的像素點(diǎn)來(lái)構(gòu)成圖形或圖像。主機(jī)——>顯卡——>顯示器——>數(shù)字信號(hào)

模擬信號(hào)

模擬信號(hào)

為減少顯存需求量,VGA采用了一種間接色彩模式(假彩色):

R(6位)G(6位)B(6位)012666666666顏色索引值顯存中只存各顏色在色彩查找表中的顏色索引值,由顏色索引值在色彩查找表中確定像素點(diǎn)的顏色,使顯存空間大大減少。

色彩查找表(18位RGB值)圖形顯示模式I/O本節(jié)討論有關(guān)顯示器圖形顯示模23隨著技術(shù)發(fā)展,現(xiàn)在VGA又采用了直接用RGB三基色亮度值確定像素點(diǎn)顏色的直接色彩模式:

(1)高彩色模式:用15位或16位定義一個(gè)像素點(diǎn)顏色的模式。每個(gè)基色亮度值占5位或6位:有32級(jí)或64級(jí)亮度值,可表示32K或64K種顏色。(2)真彩色模式:用24位定義一個(gè)像素點(diǎn)顏色的模式。每個(gè)基色亮度值用8位表示:有256級(jí)亮度值,可表示16M種顏色。

真彩色模式已達(dá)到顯示器色彩表現(xiàn)能力的極限。一種圖形模式一般表示為:水平像素點(diǎn)數(shù)垂直像素點(diǎn)數(shù)色彩模式每種顯示模式都有一定的顯存空間需求量,計(jì)算公式為:顯存空間需求量=水平像素點(diǎn)數(shù)垂直像素點(diǎn)數(shù)每個(gè)像素值占用的二進(jìn)制位數(shù)隨著技術(shù)發(fā)展,現(xiàn)在VGA又采用了直接用RGB24顯存所映射的視頻緩沖區(qū)地址空間為

A000H:0000H~A000H:FFFFH

VGA采用了位面技術(shù)和顯存分頁(yè)機(jī)制來(lái)解決上述問(wèn)題:

例如,標(biāo)準(zhǔn)VGA的顯示模式12H表示為:64048016C640×480×4(Bit)=153KB

視頻緩沖區(qū)空間僅僅為64KB,而12H模式(分辨率低)的顯存需求空間就已遠(yuǎn)超過(guò)64KB,這就產(chǎn)生了地址空間的矛盾。(1)彩色位面法(只用于VGA的16色模式)VGA將多段大小為64KB的顯存同時(shí)映射到一個(gè)64KB的視頻地址空間,每段64KB的顯存區(qū)稱(chēng)為一個(gè)位面,每一個(gè)位面用來(lái)提供一個(gè)二進(jìn)制像素點(diǎn)顏色值的一位,所以顯示屏上的像素點(diǎn)的顏色由幾個(gè)位面的值共同確定。如何通過(guò)小小的視頻緩沖區(qū)地址空間訪問(wèn)到整個(gè)顯存呢?顯存所映射的視頻緩沖區(qū)地址空間為VGA采用了位25彩色位面法

10101101

011011001

10011010

01100110位面(64k)0101品紅0110棕色1位面2位面3位面A000:0HA000:0HA000:0HA000:0H屏幕顯存彩色位面法10101101011026(2)壓縮像素法(主要用于256色的顯示模式)

每個(gè)像素值用8位表示,取值0-255,可以表示256種顏色。每個(gè)像素值占用一個(gè)字節(jié),并且按字節(jié)連續(xù)存放,所以視頻緩沖區(qū)中的一個(gè)字節(jié)對(duì)應(yīng)顯示屏上的一個(gè)像素點(diǎn)。

例:VGA13H模式(320×200×256色)的直接寫(xiě)像點(diǎn)子程序。入口參數(shù):AX=行坐標(biāo),BX=列坐標(biāo),CH=顏色值(像素值)vga_color256procnearmovdx,0a000h moves,dx movdx,320muldx addax,bx movdi,axmoves:[di],ch ret vga_color256endpnext(2)壓縮像素法(主要用于256色的顯示模式)27顯存分頁(yè)

10101101

0110110011001101001100110頁(yè)(64k)1頁(yè)2頁(yè)A000:0H顯存0頁(yè)1頁(yè)2頁(yè)壓縮像素法返回顯存分頁(yè)1010110101101282)BIOS圖形功能調(diào)用

在BIOS的INT10H中斷調(diào)用中的圖形顯示功能,使用簡(jiǎn)單方便,當(dāng)分辨率較高時(shí)也不用考慮換頁(yè)操作,具體功能如表所示。打印機(jī)I/O

打印機(jī)接口是一個(gè)并行接口,一次可以從處理器接收8位數(shù)據(jù)。IBMPC系列機(jī)使用的打印機(jī)接口符合CENTRONICS接口標(biāo)準(zhǔn),凡是符合這種接口標(biāo)準(zhǔn)的外部設(shè)備,都可以連接到打印接口上。

5.6.1打印中斷調(diào)用

通過(guò)調(diào)用DOS

INT21H或BIOS

INT17H可以實(shí)現(xiàn)對(duì)打印機(jī)的操作。下表是有關(guān)打印機(jī)I/O的中斷操作。2)BIOS圖形功能調(diào)用在BIOS的INT129打印字符:MOVAH,0MOVAL,AMOVDX,0INT17H打印字符:MOVAH,030匯編語(yǔ)言入門(mén)教程-第九章BIOS和DOS中斷課件31第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程9.1串行通訊口I/O

在現(xiàn)實(shí)生活和工作中,常會(huì)有將兩臺(tái)計(jì)算機(jī)實(shí)現(xiàn)資源共享和數(shù)據(jù)交換的要求。微機(jī)雙機(jī)直接通訊的方法有很多種,根據(jù)兩臺(tái)微機(jī)的距離遠(yuǎn)近,可分為近程通訊和遠(yuǎn)程通訊,如果兩臺(tái)通訊的微機(jī)在同一間屋內(nèi)或相距在幾十米到一兩百米內(nèi),稱(chēng)為近程通訊;如果兩臺(tái)微機(jī)相距在幾百米到幾千米甚至更遠(yuǎn),則把它們之間的通訊稱(chēng)為遠(yuǎn)程通訊。由于計(jì)算機(jī)通訊的廣泛應(yīng)用,串行接口已成為個(gè)人計(jì)算機(jī)必備的部件,IBMPC機(jī)內(nèi)裝有通訊適配器板,這使得PC機(jī)可以和其它配有串行通訊接口的計(jì)算機(jī)或設(shè)備進(jìn)行通訊。串行接口每次由CPU得到8位的數(shù)據(jù),然后串行地通過(guò)一條線路,每次發(fā)送一位將該數(shù)據(jù)發(fā)送出去。

最常用于個(gè)人計(jì)算機(jī)上的串行接口是標(biāo)準(zhǔn)的RS一232串行接口,它裝于PC機(jī)內(nèi)的通訊適配器板上。這個(gè)標(biāo)準(zhǔn)串行接口既可用于近程或遠(yuǎn)程的數(shù)據(jù)通訊,每個(gè)系統(tǒng)中可以有兩個(gè)或多個(gè)串行控制器連接到不同的外設(shè)上,如IBMPC可連接兩個(gè)串行接口(COM1和COM2),但是程序每次只能對(duì)一個(gè)串口進(jìn)行存取。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程9.132第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程兩臺(tái)PC機(jī)或設(shè)備進(jìn)行近距離通訊時(shí),可直接將它們連接。當(dāng)它們進(jìn)行遠(yuǎn)距離通訊時(shí),要使用調(diào)制解調(diào)器(MODEN)連接到電話線上,因?yàn)镽S一232標(biāo)準(zhǔn)串行接口輸出的是電壓信號(hào),不能直接接到電話線上,調(diào)制解調(diào)器把代表邏輯1和邏輯0的電壓信號(hào)轉(zhuǎn)換成能在電話線上傳輸?shù)牟煌l率的信號(hào):電話線另一端的調(diào)制解調(diào)器又把這些不同頻率的信號(hào)轉(zhuǎn)換成接口要求的電壓信號(hào)。左圖為兩種連接方式的示意圖。

串口的連接方式第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程兩臺(tái)P33第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程串口的典型結(jié)構(gòu)許多外部設(shè)備和計(jì)算機(jī)是按照串行方式來(lái)進(jìn)行通信的。即數(shù)據(jù)是1位1位進(jìn)行傳輸?shù)模趥鬏斶^(guò)程中,每1位數(shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。這種情況下,就要用串行接口把這個(gè)外部設(shè)備連接到總線上。當(dāng)前,可編程的串行接口有許多種。左圖是串行接口部件的典型結(jié)構(gòu),從圖中可以看到,串行接口部件內(nèi)部有4個(gè)主要寄存器,即控制寄存器、狀態(tài)寄存器、數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程串口的典型34第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程控制寄存器用來(lái)容納CPU送給此接口的各種控制信息,而控制信息決定接口的工作方式。

狀態(tài)寄存器的各位叫狀態(tài)位,每一個(gè)狀態(tài)值都可以用來(lái)指示傳輸過(guò)程中的某一種錯(cuò)誤或者當(dāng)前傳輸狀態(tài)。

數(shù)據(jù)輸入寄存器總是和串行輸入/并行輸出移位寄存器配對(duì)使用的。在輸入過(guò)程中,數(shù)據(jù)1位1位從外部設(shè)備進(jìn)入接口的移位寄存器,當(dāng)接收完1個(gè)字符以后,數(shù)據(jù)就從移位寄存器送到數(shù)據(jù)輸入寄存器,再等待CPU來(lái)取走。

數(shù)據(jù)輸出寄存器和并行輸入/串行輸出移位寄存器配對(duì)使用。當(dāng)CPU往數(shù)據(jù)輸出寄存器中輸出1個(gè)數(shù)據(jù)后,數(shù)據(jù)使傳輸?shù)揭莆患拇嫫鳎缓?位1位地通過(guò)輸出線送到外設(shè)。

CPU可以訪問(wèn)串行接口中的4個(gè)主要寄存器。從原則來(lái)說(shuō),對(duì)這4個(gè)寄存器可以通過(guò)不同的地址來(lái)訪問(wèn),不過(guò),因?yàn)榭刂萍拇嫫骱蛿?shù)據(jù)輸出寄存器是只寫(xiě)的,狀態(tài)寄存器和數(shù)據(jù)入寄存器是只讀的,所以,可以用讀信號(hào)和寫(xiě)信號(hào)來(lái)區(qū)分這兩組寄存器,再用1位地址來(lái)區(qū)分2個(gè)只讀寄存器或2個(gè)只寫(xiě)寄存器。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程控制寄存器35第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程九針串口線的連接方式9針串行口的針腳功能。

:針腳功能針腳功能

:1載波檢測(cè)(DCD)6數(shù)據(jù)準(zhǔn)備好(DSR)

:2接受數(shù)據(jù)(RXD)7請(qǐng)求發(fā)送(RTS)

:3發(fā)出數(shù)據(jù)(TXD)8清除發(fā)送(CTS)

:4數(shù)據(jù)終端準(zhǔn)備好(DTR)9振鈴指示(RI)

:5信號(hào)地線(SG)通訊電纜制作原理:

:串行通訊電纜的制作方法:其串行通訊電纜連接時(shí)都遵循下列對(duì)接關(guān)系:

:SG←→SG

:TXD←→RXDRXD←→TXD

:RTS←→CTSCTS←→RTS

:DTR←→DSRDSR←→DTR

:根據(jù)上述對(duì)接關(guān)系,就可以非常方便地連接串行通訊電纜。第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程九針串口線36第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程注意事項(xiàng)注意事項(xiàng):

:·為了保證傳輸?shù)男盘?hào)正確、完整,導(dǎo)線的長(zhǎng)度最好不要超過(guò)2米;并且宜選用計(jì)算機(jī)專(zhuān)用電纜。

:·導(dǎo)線必須焊接到所對(duì)應(yīng)的位置,焊頭連接必須牢固,并且注意不要短路。

:·對(duì)于串行通訊電纜,也可使用9針到25針轉(zhuǎn)換接頭來(lái)連接其中的一個(gè)或兩個(gè)串口。

:·電腦商店也有賣(mài)“串口通訊電纜”和“并口通訊電纜”的,購(gòu)買(mǎi)時(shí)要注意弄清楚是微機(jī)與微機(jī)相連的還是微機(jī)與外設(shè)相連的,這兩種線的內(nèi)部接法有點(diǎn)不同,弄錯(cuò)了會(huì)造成通訊失敗。

:·不用于連接電纜的接頭(如1、9接頭等)宜懸空。這一點(diǎn)對(duì)于自己改造從電腦商店買(mǎi)來(lái)的所謂“串行通訊電纜”和“并行通訊電纜”尤其重要。

:·并口線不可能太長(zhǎng),串口線速率又較慢。因此本法所制電纜只適合于那些放得很近并有空閑串并口的微機(jī)。對(duì)于隨身攜帶筆記本電腦要與其它計(jì)算交換數(shù)據(jù)的用戶(hù),本法最適合。

把串行或并行電纜兩端插到兩臺(tái)機(jī)器對(duì)應(yīng)端口上,還不能立即進(jìn)行數(shù)據(jù)通訊,還必須有通訊軟件的支持。第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程注意事項(xiàng)注37第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程DOS串行通訊口功能

串行通訊接口為輔助設(shè)備,DOS中斷操作如下。讀取操作:INT21H的功能03H是從捕助設(shè)備(第一個(gè)串行口COM1)讀一個(gè)字符到寄存器AL。發(fā)送操作:功能04H將DL寄存器中的字符傳送給串行設(shè)備,如果輸出設(shè)備正忙,該功能調(diào)用等待,直到設(shè)備準(zhǔn)備好接收字符。

注意:在多數(shù)DOS系統(tǒng)中,串行設(shè)備沒(méi)有緩沖和中斷,如果串行通訊口或其它輔助設(shè)備送的數(shù)據(jù)比程序處理數(shù)據(jù)快,字符可能丟失。在PC系統(tǒng)中,第一個(gè)串行口COM1被初始化為2400波特(所謂傳輸率就是指每秒傳輸多少位,傳輸率也常叫波特率。),無(wú)奇偶校驗(yàn)位,1個(gè)終止位和8位數(shù)據(jù)。其它機(jī)器上的DOS實(shí)現(xiàn)可能有不同的初始化。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程DOS串行38第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程注意:DOS沒(méi)有提供讀輔助設(shè)備的狀態(tài)和檢測(cè)I/O錯(cuò)誤(如丟失字符等)的功能,但ROM中BIOSINT14H提供了這些功能。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程注意:D39第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程BIOS串行通訊口功能

IBMPC的BIOS串行通訊提供如下操作:通過(guò)INT14H調(diào)用ROMBIOS串行通訊口例行程序。該例行程序包括將串行口初始化為指定的字節(jié)結(jié)構(gòu)和傳輸速率,檢查控制器的狀態(tài),讀寫(xiě)字符等功能。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程BIOS串40第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程INT14HAH=0功能把指定的串行通訊口初始化為希望的波特率,奇偶性,字長(zhǎng)和終止位的位數(shù)。這些初始化參數(shù)設(shè)置在AL寄存器。其各位的含義如下圖所示。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程INT141第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程例

要求0號(hào)通訊口的傳輸率為2400波特,字長(zhǎng)為8位,1位終止位,無(wú)奇偶校驗(yàn)

串口通訊中的錯(cuò)誤檢測(cè)功能在接口設(shè)計(jì)中,常常要考慮對(duì)錯(cuò)誤的檢測(cè)問(wèn)題。當(dāng)前多數(shù)可編程接口,一般能檢測(cè)下列兩類(lèi)錯(cuò)誤。一類(lèi)是傳輸錯(cuò)誤。因?yàn)榻涌诤驮O(shè)備之間的連線常常受噪聲干擾,從而引起傳線錯(cuò)誤,所以一般傳輸信息時(shí),接口采用奇/偶校驗(yàn)位對(duì)傳輸錯(cuò)誤進(jìn)行檢測(cè)。傳輸時(shí),如果用奇校驗(yàn),那么使信息中1的數(shù)目(包括校驗(yàn)位)為奇數(shù)。也就是說(shuō),所傳輸?shù)臄?shù)據(jù)中如果1的個(gè)數(shù)為奇數(shù)則使校驗(yàn)位為0,所傳輸?shù)臄?shù)據(jù)中如果1的個(gè)數(shù)為偶數(shù)則使校驗(yàn)位為1,這樣,在傳輸一個(gè)數(shù)據(jù)時(shí),1的總數(shù)目總是為奇數(shù)。同樣的道理,如果用偶校驗(yàn).那么,信息中1的數(shù)目(包括校驗(yàn)位)為偶數(shù)。接口在傳輸過(guò)程中,對(duì)信息校驗(yàn)之后,如果發(fā)現(xiàn)有錯(cuò)誤,則對(duì)狀態(tài)寄存器中的相應(yīng)位進(jìn)行設(shè)置。而狀態(tài)杏存器的內(nèi)容可以通過(guò)程序進(jìn)行讀取和檢測(cè)。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程例要42第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程另一類(lèi)是復(fù)蓋錯(cuò)誤。我們知道,當(dāng)計(jì)算機(jī)輸入數(shù)據(jù)時(shí),實(shí)際上是從接口的輸入緩沖寄存器中取數(shù)。如果計(jì)算機(jī)還沒(méi)有取走數(shù)據(jù),輸入緩沖寄存器由于某種原因又被裝上了新的數(shù)據(jù),那么,就全產(chǎn)生一個(gè)復(fù)蓋錯(cuò)誤。在輸出時(shí),也會(huì)有類(lèi)似的情況。

返回參數(shù)中通訊口狀態(tài)字節(jié)各位置1的含義如下圖所示:在接收和發(fā)送過(guò)程,錯(cuò)誤狀態(tài)位(1,2,3,4位)一旦被置為1,則讀入的接收數(shù)據(jù)已不是有效數(shù)據(jù),所以在串行通訊應(yīng)用程序中,應(yīng)檢測(cè)數(shù)據(jù)傳輸是否出錯(cuò)。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程另一類(lèi)是復(fù)43第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程狀態(tài)錯(cuò)誤信息奇偶錯(cuò);通信線上(尤其是用電話線傳輸時(shí))的噪音引起某些數(shù)據(jù)位的改變,產(chǎn)生奇偶錯(cuò)通常檢測(cè)出奇偶錯(cuò)時(shí),要求正在接收的數(shù)據(jù)至少應(yīng)重新發(fā)送一段。超越錯(cuò):在上一個(gè)字符還未被處理機(jī)取走,又有字符要傳送到數(shù)據(jù)寄存器里,則會(huì)引起超越錯(cuò)。如果處理機(jī)處理字符的速度小于串行通訊口的波持率,則會(huì)產(chǎn)生這種錯(cuò)誤。幀格式錯(cuò):當(dāng)接收/發(fā)送器未接收到一個(gè)字符數(shù)據(jù)的停止位,則會(huì)引起幀格式錯(cuò)。這種錯(cuò)誤可能是由于通信線上的噪音引起停止位的丟失,或者是由于接收方和發(fā)送方初始化不匹配。間斷;間斷有時(shí)候并不能算是一個(gè)錯(cuò)誤,而是為某些特殊的通訊環(huán)境設(shè)置的“空格”狀態(tài)。當(dāng)間斷位為1時(shí),說(shuō)明接收的“空格”狀態(tài)超過(guò)了一個(gè)完整的數(shù)據(jù)字傳輸時(shí)間。第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程狀態(tài)錯(cuò)誤信44第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程例

從通訊口0讀入字符并把它們顯示出來(lái),如果字符沒(méi)有準(zhǔn)備好則等待,如果傳送有錯(cuò)則顯示出錯(cuò)信息“?”。第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程例45第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程9.2顯示器I/O顯示器是計(jì)算機(jī)系統(tǒng)的基本顯示設(shè)備。顯卡VGA的色彩表現(xiàn)能力、編程方便性和顯示速度等性能都直接影響顯示性能。當(dāng)前流行的都是高分辨率(分辨率為1024×768、1280×1024等)SuperVGA顯示器。本節(jié)主要介紹VGA及其以上的SuperVGA顯示器原理和基本I/O操作控制方法。顯示器任一時(shí)刻都必須工作在某一顯示模式下,顯示模式分為兩大類(lèi):文本模式圖形模式文本顯示模式I/O

文本模式:由一屏所能顯示字符的行、列數(shù)及字符屬性確定。

例如,文本模式3:80(列)×25(行)彩色文本顯示模式顯存中保存著當(dāng)前正顯示的一整屏圖像數(shù)據(jù),VGA在顯存與屏幕之間建立了一種自動(dòng)映射關(guān)系,只要向顯存寫(xiě)入顯示數(shù)據(jù),屏幕上將立刻顯示出字符或圖形。

第一章基礎(chǔ)知識(shí)第九章彩色圖形適配器及其編程9.246實(shí)際上顯存又被映射到主機(jī)系統(tǒng)的一段內(nèi)存地址空間上,這段內(nèi)存地址空間稱(chēng)為視頻緩沖區(qū)。彩色文本模式下,視頻緩沖區(qū)首地址為B800:0000H。程序讀寫(xiě)視頻緩沖區(qū),就等效于讀寫(xiě)顯存。

屏幕上每個(gè)顯示字符都對(duì)應(yīng)視頻緩沖區(qū)中的兩個(gè)字節(jié)單元:第一個(gè)單元存顯示字符的ASCII碼第二個(gè)單元存該顯示字符的屬性分辨率越高的顯示模式需占用的視頻緩沖區(qū)存儲(chǔ)空間越大。

1)字符屬性

字符的屬性確定了該字符的顯示方式:顯示字符的顏色、背景顏色及是否閃爍、高亮度。next實(shí)際上顯存又被映射到主機(jī)系統(tǒng)的一段內(nèi)存地址空間上47對(duì)于文本模式3,全屏幕有2000字符,需占用視頻緩沖區(qū)存儲(chǔ)空間4000字節(jié)。返回對(duì)于文本模式3,全屏幕有2000字符,需占用48例2:采用文本模式3在全屏幕上顯示閃爍的藍(lán)底紅色字符A,其屬性字節(jié)為:94H例1:閃爍的藍(lán)底紅色字符屬性字節(jié):94H=(10010100)2VGA編程方法:

(1)直接讀寫(xiě)視頻存儲(chǔ)器(2)利用BIOS中的視頻中斷調(diào)用功能(INT10H)(3)對(duì)VGA的寄存器操作+讀寫(xiě)視頻緩沖區(qū)其中:

方法(1)速度快,可利用SuperVGA的擴(kuò)展性能方法(2)方便、簡(jiǎn)單,但時(shí)間開(kāi)銷(xiāo)較大方法(3)速度快,操作更低層,要求對(duì)硬件熟悉例2:采用文本模式3在全屏幕上顯示閃爍的藍(lán)底紅色字符A,492)彩色文本模式的BIOS中斷調(diào)用

BIOS中的顯示中斷調(diào)用INT10H有大部分功能是處理文本顯示。計(jì)算機(jī)開(kāi)機(jī)或熱啟動(dòng)時(shí),初始模式是彩色文本模式3(參見(jiàn)下表)。用直接寫(xiě)視頻緩沖區(qū)的方法完成上述功能:mov ax,0b800hmov es,ax mov di,0 ;視頻緩沖區(qū)偏移地址送dimov cx,2000 ;一屏顯示字符的個(gè)數(shù)送cxmov ah,10010100b;顯示屬性:閃爍,藍(lán)底紅字mov al,A ;顯示字符Arep stosw;字符A顯示到屏幕上

mov ah,00000111b;清屏mov al,

2)彩色文本模式的BIOS中斷調(diào)用BIOS中50AH功能調(diào)用參數(shù)返回參數(shù)/注釋0設(shè)置顯示方式AL=00:40x25黑白文本方式

AL=01:40x25彩色文本方式

AL=02:80x25黑白文本方式

AL=03:80x25彩色文本方式

AL=04:320x200彩色圖形方式

AL=05:320x200黑白圖形方式

AL=06:640x200黑白圖形方式

AL=07:80x25黑白文本方式

AL=0D:320x200彩色圖形方式(EGA)

AL=0E:640x200彩色圖形方式(EGA)

AL=0F:640x350黑白圖形方式(EGA)

AL=10:640x350彩色圖形方式(EGA)

AL=11:640x480黑白圖形方式(VGA)

AL=12:640x480彩色圖形方式(VGA)

AL=13:320x200,256色圖形方式(VGA)10H中斷功能調(diào)用-1AH功能調(diào)用參數(shù)返回參數(shù)/注釋0設(shè)置顯示方式AL=00511置光標(biāo)類(lèi)型(CH)0―3=光標(biāo)開(kāi)始行

(CL)0―3=光標(biāo)結(jié)束行2置光標(biāo)位置BH=頁(yè)號(hào)

DH=行

DL=列3讀光標(biāo)位置BH=頁(yè)號(hào)CH=光標(biāo)開(kāi)始行

CL=光標(biāo)結(jié)束行

DH=行

DL=列4置顯示頁(yè)AL=顯示頁(yè)號(hào)5屏幕初始化或上卷6屏幕初始化或上卷AL=上卷行數(shù)

AL=0全屏幕為空白

BH=卷入行屬性

CH=左上角行號(hào)

CL=左上角列號(hào)

DH=右下角行號(hào)

DL=右下角列號(hào)7屏幕初始化或下卷AL=下卷行數(shù)

AL=0全屏幕為空白

BH=卷入行屬性

CH=左上角行號(hào)

CL=左上角列號(hào)

DH=右下角行號(hào)

DL=右下角列號(hào)10H中斷功能調(diào)用-21置光標(biāo)類(lèi)型(CH)0―3=光標(biāo)開(kāi)始行

(CL528讀光標(biāo)位置的屬性和字符BH=顯示頁(yè)AH=屬性

AL=字符9在光標(biāo)位置顯示字符及其屬性BH=顯示頁(yè)

AL=字符

BL=屬性

CX=字符重復(fù)次數(shù)A在光標(biāo)位置只顯示字符BH=顯示頁(yè)

AL=字符

CX=字符重復(fù)次數(shù)E顯示字符(光標(biāo)前移)AL=字符

BL=前景色光標(biāo)跟隨字符移動(dòng)13顯示字符串ES:BP=串地址

CX=串長(zhǎng)度

DH,DL=起始行列

BH=頁(yè)號(hào)

AL=0,BL=屬性

串:Char,char,……,char

AL=1,BL=屬性

串:Char,char,……,char

AL=2

串:Char,attr,……,char,attr

AL=3

串:Char,attr,……,char,attr

光標(biāo)返回起始位置

光標(biāo)跟隨移動(dòng)

光標(biāo)返回起始位置

光標(biāo)跟隨串移動(dòng)10H中斷功能調(diào)用-38讀光標(biāo)位置的屬性和字符BH=顯示頁(yè)AH=屬53圖形顯示模式I/O本節(jié)討論有關(guān)顯示器圖形顯示模式的基本概念、基本原理、圖形顯示技術(shù)及其程序設(shè)計(jì)方法。

1)圖形顯示模式圖形模式:利用顯示屏上的像素點(diǎn)來(lái)構(gòu)成圖形或圖像。主機(jī)——>顯卡——>顯示器——>數(shù)字信號(hào)

模擬信號(hào)

模擬信號(hào)

為減少顯存需求量,VGA采用了一種間接色彩模式(假彩色):

R(6位)G(6位)B(6位)012666666666顏色索引值顯存中只存各顏色在色彩查找表中的顏色索引值,由顏色索引值在色彩查找表中確定像素點(diǎn)的顏色,使顯存空間大大減少。

色彩查找表(18位RGB值)圖形顯示模式I/O本節(jié)討論有關(guān)顯示器圖形顯示模54隨著技術(shù)發(fā)展,現(xiàn)在VGA又采用了直接用RGB三基色亮度值確定像素點(diǎn)顏色的直接色彩模式:

(1)高彩色模式:用15位或16位定義一個(gè)像素點(diǎn)顏色的模式。每個(gè)基色亮度值占5位或6位:有32級(jí)或64級(jí)亮度值,可表示32K或64K種顏色。(2)真彩色模式:用24位定義一個(gè)像素點(diǎn)顏色的模式。每個(gè)基色亮度值用8位表示:有256級(jí)亮度值,可表示16M種顏色。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論