NEC PC 程式設計師參考/PC-98xx 系列程式設計師參考/中斷 0x18 - 鍵盤
外觀
當按鍵被按下時,鍵盤 BIOS 會發出中斷 0x9。可以透過呼叫 INT 0x18 來處理鍵盤資料。
BIOS 保持一個數據陣列(“鍵盤狀態表”),每個按鍵對應一個位。當按鍵按下時,位為 1;當鬆開時,位為 0。當按鍵被按下時,輸入狀態陣列中按鍵的索引與 SHIFT 狀態的程式碼相結合,生成按鍵掃描碼(這是程式識別按鍵的方式)。
PC-98 鍵盤 BIOS 相容 IBM。
| AH | 命令 | 目的 | 使用 |
|---|---|---|---|
| 0x1 | 檢測第一個按鍵 | 查詢鍵盤是否有按鍵按下。返回緩衝區末尾的按鍵。 | 返回
|
| 0x2 | 檢查修飾鍵 | 返回修飾鍵(SHIFT,CTRL,GRPH,CAPSLOCK,KANA)的狀態 | 在 AL 中返回修飾鍵狀態位元組
|
| 0x3 | 初始化鍵盤 | 安裝內建鍵盤驅動程式介面。為 BIOS 使用鍵盤分配記憶體;重置 uPD8251A。 | |
| 0x4 | 獲取按鍵組狀態 | 查詢鍵盤狀態表以獲取一組按鍵的即時狀態。返回請求的按鍵組的位元組,然後可以與邏輯 AND 掩碼以查詢單個按鍵的狀態。 |
返回
|
| 0x5 | 檢測最後一個按鍵 | 查詢鍵盤是否有按鍵按下。返回緩衝區開頭的按鍵。 | 返回
|
| 0x6 | 初始化鍵盤緩衝區/清除待處理按鍵 | 設定鍵盤緩衝區。呼叫此函式將清除緩衝區。 | |
| 0x7 | 處理第一個按鍵 | 獲取第一個未處理的按鍵,並將其從緩衝區中刪除。 |
返回
|
| 0x8 | 處理最後一個按鍵 | 獲取最後一個按鍵,並將其從緩衝區中刪除。 |
返回
|
| 0x9 | 模擬按鍵按下 | 透過用指定資料填充鍵盤緩衝區來建立模擬按鍵按下。 |
返回
|