視頻顯示卡一個直接寫屏的例子
在文本DMA將從段B000H開始的4KB內(nèi)存當顯存,許多既具有文本模式又具有圖形模式的適配器(CGA、EGA、MCGA、VGA)都使用B800H開始的16KB內(nèi)存當作顯存。在顯存里,每一個字符顯示位置都分配了2個字節(jié)。第一個字節(jié)(偶地址)包含有字符的ASCII碼,通過一個字符發(fā)生器將其譯碼成屏幕上的點陣模式。第二個字節(jié)(奇地址)是屬性字節(jié)。該字節(jié)的幾個域控制了閃爍、高亮度和反顯特性。
其字符屬性格式為:
目前幾乎所有PC機視頻系統(tǒng)都是以6845視頻控制器芯片為基礎(chǔ)的。6845芯片有18個控制寄存器,其編號為0~17。前10個為確定水平及垂直方向的顯示參數(shù)。程序設(shè)計人員不關(guān)注。
10、11及14、15號寄存器分別存放光標的形狀及位置。12、13號寄存器處理分頁;16、17號寄存器報告光筆位置。
由于程序員所用的寄存器都是成對的,因此需要先寫地址寄存器,再寫一個寄存器,接著再寫地址寄存器,然后寫第二個寄存器。由于端口號是相鄰的在使用INC和DEC指令尋址最方便。
例9-1 寫入6845芯片的11、12號寄存器(數(shù)據(jù)在BX中)
評論