新聞中心

        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




        關鍵詞: 清除 鍵盤 緩沖區

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 卢龙县| 遵义县| 大荔县| 扶沟县| 太原市| 抚松县| 长汀县| 闽清县| 湖州市| 马尔康县| 红河县| 句容市| 江阴市| 遵义市| 新营市| 保康县| 汝南县| 广西| 邯郸县| 固原市| 怀化市| 高安市| 聂拉木县| 曲周县| 津市市| 平顶山市| 集安市| 乡城县| 綦江县| 夏邑县| 余姚市| 屯昌县| 竹溪县| 临城县| 南昌市| 牟定县| 葵青区| 邹平县| 盐池县| 华池县| 闸北区|