• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > 清除鍵盤緩沖區原理

    清除鍵盤緩沖區原理

    作者: 時間:2012-04-16 來源:網絡 收藏
    有時用戶的按鍵響應可能導致數據丟失或破壞了數據而不能挽回。在這種情況下,消除可以消除不恰當或意外的擊鍵,這種擊鍵或許在中正等待處理,或許可能發出錯誤的響應。在其他情況下,清理不是好辦法,因為這樣做會損害超前鍵入的特性。并不能再使用宏指令。緩沖區可存放15個鍵入碼,為每個鍵入碼在存儲器中提供兩個字節。包括轉換碼、單字節的ASCII碼和雙字節的擴展碼。
    對單字節碼,第一字節放ASCII碼,第二字節 放掃描碼;對擴展碼,第一字節存放ASCII 0, 第二字節通常放擴展碼的掃描碼。但并不是絕對的因為功能鍵與換擋鍵組合后可產生一個擴展碼。
    緩沖區設計成一個環行隊列,稱為先進先出的(FIFO)算法緩沖區。實際是兩個指針跟蹤計數器記錄著當前在緩沖器中代碼串的“頭”和“尾”。
    緩沖區設在BIOS數據區,BIOS數據區的開始地址:0040:2000。
    32字節緩沖區:0040:001E開始
    頭指針:0040:001A
    尾指針:0040:001C
    中斷21h功能6的子功能FFh返回鍵入碼,如果不存在有效代碼將不等待。沒有鍵入 碼時,設0標志。不斷調用中斷直到沒有鍵入碼返回為止。
    P223例8-1 清理鍵盤緩沖區
    KEY-FOUND:
    MOV AH , 6h
    MOV DL , 0FFh
    INT 21h
    JNZ KEY-FOUND

    DIY機械鍵盤相關社區:機械鍵盤DIY




    關鍵詞: 清除 鍵盤 緩沖區

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 孝昌县| 银川市| 昌都县| 绥江县| 石柱| 太仆寺旗| 绥宁县| 郸城县| 宣城市| 饶阳县| 建水县| 大庆市| 渝中区| 虎林市| 阳山县| 八宿县| 深水埗区| 蚌埠市| 安泽县| 梁山县| 磐石市| 徐州市| 都兰县| 平南县| 阳泉市| 红桥区| 汉寿县| 吕梁市| 红安县| 伊吾县| 灵璧县| 田东县| 类乌齐县| 通州市| 类乌齐县| 牙克石市| 通山县| 扬州市| 达尔| 伊宁市| 宜良县|