新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 清除鍵盤(pán)緩沖區(qū)原理

清除鍵盤(pán)緩沖區(qū)原理

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

DIY機(jī)械鍵盤(pán)相關(guān)社區(qū):機(jī)械鍵盤(pán)DIY




關(guān)鍵詞: 清除 鍵盤(pán) 緩沖區(qū)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉