鍵盤輸入的中斷功能

來源:互聯網
上載者:User

 鍵盤輸入是絕大多數程式的主要輸入方式,學習和掌握有關鍵盤輸入中斷的使用方法對編寫互動式程式是非常重要的,也能更進一步理解電腦是如何接受鍵盤輸入的。
1、鍵盤緩衝區
鍵盤緩衝區是一個先進先出的環形隊列,其所佔記憶體地區如下:
KBHeadDW ?;其記憶體位址為0000:041AH,緩衝區頭指標
KBTailDW ?;其記憶體位址為0000:041CH,緩衝區尾指標
KBBuffDW 16 DUP(?);其記憶體位址為0000:041EH,該緩衝區的預設長度為16個字

與鍵盤有關的其它地址請見附錄6之鍵盤地址。
鍵盤緩衝區是一個環形隊列,其性質與《資料結構》課程中對“環形隊列”所描述的性質完全一致。雖然緩衝區的本身長度為16個字,但出於判斷“對列滿”的考慮,它最多隻能儲存15個鍵盤資訊。當緩衝區滿時,系統將不再接受按鍵資訊,而會發出“嘟”的聲音,以示要暫緩按鍵。當KBHead=KBTail時,表示無鍵盤輸入。
2、鍵盤狀態字
在電腦鍵盤上除了可輸入各種字元(字母、數字和符號等)的按鍵之外,還有一些功能鍵(如:F1、F2、…等)、修飾鍵(如:Ctrl、Alt、Shift等)、雙態鍵(如:Num Lock、Caps Lock等)和特殊請求鍵(如:Print Screen、Scroll Lock等)。
鍵盤中的修飾鍵和雙態鍵是非列印按鍵,它們是起控制或轉換作用的。當使用者按下修飾鍵或雙態鍵時,系統要記住其所按下的按鍵。為此,在電腦系統中,特意安排的一個字來標誌這些按鍵的狀態,我們稱該字為鍵盤狀態字。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.