Table des matières
Interruption 09h - Keyboard Interrupt (Hardware Handler)
no input data
Related memory
40:17 | updates keyboard flag byte 0 |
40:18 | updates keyboard flag byte 1 |
40:1A | queue head ptr is set to buffer start if Ctrl-Break is hit |
40:1C | updates buffer tail pointer for each keystroke; sets queue tail ptr is set to queue start if Ctrl-Break is hit |
40:1E | updates keyboard buffer (32 bytes) |
40:71 | updates bit 7 of the BIOS break flag if Ctrl-Break is hit |
40:72 | updates reset flag with 1234H if Ctrl-Alt-Del pressed |
40:96 | indicates keyboard type (AT,PS/2) |
40:97 | updates keyboard LED flags (AT,PS/2) |
FFFF:0 | reboot code called if Ctrl-Alt-Del pressed |
Related interrupts
Notes & Comments
- records key press and key release via IRQ1/8259 and stores scan codes in the BIOS buffer located at 40:1C
- keyboard controllers also buffer data when interrupts are disabled at the 8259 interrupt controller
- keyboard controller is capable of storing 16 keystrokes even when interrupts are disabled at the 8259
- normal INT 9 execution takes approximately 500 microseconds; at least one standard XT BIOS is known to take up to 1.3 milliseconds to execute
see MAKE CODES KB FLAGS