<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          匯編手記之微機顯示輸出

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

          。

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

          早期的顯示適配卡是CGA和EGA。目前較高級的顯示適配卡是VGA與TVGA。它們都支持兩種顯示方式:文字和圖形顯示方式。而每種顯示方式又含有不同的顯示模式。
          目前我只了解一些在匯編環(huán)境下的文字顯示方式,圖形顯示方式太復雜,而且,文字顯示方式也是“美國電子計算機協(xié)會”的標準,對于中文的顯示,暫不論。
          文本顯示方式是指以字符(string)為單位的顯示方式。字符包括:A~Z,a~z,0~9。還有一些普通符號:?%¥?!取R约耙恍┨厥夥?,如菱形塊和矩興塊。
          文本顯示方式采用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。
          就筆者了解,在編程中,無論何種顏色都是通過對“三原色”(紅,綠,藍)的設置調(diào)出來的。JAVA.C…等編程語言的調(diào)色規(guī)則可在百度查詢。



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();