新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 匯編手記之微機顯示輸出

        匯編手記之微機顯示輸出

        作者: 時間:2012-10-31 來源:網(wǎng)絡 收藏

        顯示器通過顯示適配卡與系統(tǒng)連接,顯示適配卡是顯示器與微機系統(tǒng)的接口。
        由于在微機系統(tǒng)中處理的是二進制模擬量,這些信號量不能直接用以控制屏幕顯示。這時,就需要通過一個接口,經(jīng)過轉換模擬量,運算放大…再用以控制屏幕顯示。
        所謂接口,通俗的理解是一個起緩沖與協(xié)調作用的電路模塊。緩沖對應運算速度的差異,協(xié)調則用以消除不同量之間的轉換問題。

        早期的顯示適配卡是CGA和EGA。目前較高級的顯示適配卡是VGA與TVGA。它們都支持兩種顯示方式:文字和圖形顯示方式。而每種顯示方式又含有不同的顯示模式。
        目前我只了解一些在匯編環(huán)境下的文字顯示方式,圖形顯示方式太復雜,而且,文字顯示方式也是“美國電子計算機協(xié)會”的標準,對于中文的顯示,暫不論。
        文本顯示方式是指以字符(string)為單位的顯示方式。字符包括:A~Z,a~z,0~9。還有一些普通符號:?%¥#…等。以及一些特殊符號,如菱形塊和矩興塊。
        文本顯示方式采用0~3號顯示模式,每種顯示模式每屏可顯示的字符數(shù)以及可使用的顏色數(shù)目不同。常用的是3號顯示模式,此模式之下,顯示器屏幕被劃分為80列25行。容易算出,3號顯示模式下,每屏可顯示:25X80=2000個字符。
        匯編程序的寫屏,就是通過行,列為坐標確定屏幕上的位置的。在3號模式中,左上角,左下角,右上角,右下角的坐標為:(0,0),(24,0),(0,79),(24,79).
        在屏幕上顯示一個字符,需要兩個字節(jié)。八位二進制數(shù)為一字節(jié)(1byte),那么,我們在屏幕上看到的一個字符,實際上是由十六個二進制數(shù)0或1構成的。而在匯編語言中,數(shù)據(jù)的默認位數(shù)為:十六位。屏幕顯示字符的規(guī)則是:一字節(jié)為字符代碼,一字節(jié)為。由兩字節(jié)組成一個十六進制數(shù)控制屏顯字符。A~Z,a~z,0~9…以及鍵盤上的控制字符,運算符號的字符代碼和掃描碼可在百度鍵入“ASCLL碼與掃描碼表”查詢。

        是指字符顯示時的特性。在單色顯示時,屬性定義了閃爍,反相和高亮等顯示特性;在彩色顯示則多定義了前景色和背景色。一字節(jié)的是這樣定義的:D7,D6,D5,D4,D3,D2,D1,D0=BL,R,G,B,I,R,G,B。
        其中D7~D0為八位二進制數(shù)0或1。
        R,G,B為三色:red,grass,blue.(紅,綠,藍)。
        BL表示閃爍。當BL位,即D7,為0時表示前景字符不閃爍。為1時表示前景字符閃爍。
        I表示亮度:當I ,即D3,為0時,表示前景字符為一般強度;為1時,表示前景字符為高亮度。亮度和閃爍只用于前景。
        簡言之:位D4~D6組合8種背景色;D0~D3組合16種前景色,BL與I定義前景的閃爍和強度。
        例如我要在(0,0)坐標顯示一字符,它的字符屬性為:背景色黑色,前景色藍色。那么,字符屬性字節(jié)就是:00000001。具體的意義是:00000001=BL,R,G,B,I,R,G,B。二進制數(shù)00000001換為十六進制數(shù)是:01H。
        同理,黑底紅字:00000100=04H。白底紅閃爍字:11110100=0F4H。
        就筆者了解,在編程中,無論何種顏色都是通過對“三原色”(紅,綠,藍)的設置調出來的。JAVA.C…等編程語言的調色規(guī)則可在百度查詢。



        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 合肥市| 邹城市| 鹤壁市| 永平县| 龙川县| 凌海市| 武胜县| 大安市| 沈丘县| 科技| 崇左市| 巴中市| 武清区| 大同市| 舟山市| 剑阁县| 亚东县| 嘉黎县| 营山县| 红原县| 枣庄市| 马尔康县| 时尚| 保德县| 遵义县| 信丰县| 甘德县| 芦山县| 兰西县| 洱源县| 灌云县| 丹凤县| 崇阳县| 肥乡县| 龙游县| 红河县| 洛扎县| 沙河市| 郯城县| 稻城县| 雅安市|