新聞中心

        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




        關鍵詞: 清除 鍵盤 緩沖區

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 珠海市| 佳木斯市| 万荣县| 宁陵县| 夏河县| 三穗县| 福建省| 保定市| 萍乡市| 信丰县| 遂宁市| 甘泉县| 运城市| 延吉市| 弥渡县| 台北县| 黎平县| 江达县| 临沭县| 阿城市| 昌平区| 当雄县| 新泰市| 闻喜县| 蕉岭县| 榆树市| 平武县| 广德县| 张掖市| 泰安市| 清原| 合肥市| 同德县| 凤城市| 泸州市| 夏河县| 紫云| 隆尧县| 额济纳旗| 安达市| 玉山县|