[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
INT 09 - IRQ1 - KEYBOARD DATA READY
Desc: this interrupt is generated when data is received from the keyboard.
This is normally a scan code (from either a keypress *or* a key
release), but may also be an ACK or NAK of a command on AT-class
keyboards.
Notes: this IRQ may be masked by setting bit 1 on I/O port 21h
if the BIOS supports an enhanced (101/102-key) keyboard, it calls
INT 15/AH=4Fh after reading the scan code from the keyboard and
before further processing; all further processing uses the scan
code returned from INT 15/AH=4Fh
the default interrupt handler is at F000h:E987h in 100%-compatible
BIOSes
the interrupt handler performs the following actions for certain
special keystrokes:
Ctrl-Break clear keyboard buffer, place word 0000h in buffer,
invoke INT 1B, and set flag at 0040h:0071h
SysRq invoke INT 15/AH=85h
Ctrl-Numlock place system in a tight wait loop until next INT 09
Ctrl-Alt-Del jump to BIOS startup code (either F000h:FFF0h or the
destination of the jump at that address)
Shift-PrtSc invoke INT 05
DRDOS hooks this interrupt to control the cursor shape (underscore/
half block) for overwrite/insert mode
DR Multiuser DOS hooks this interrupt for cursor shape control and to
control whether Ctrl-Alt-Del reboots the current session or the
entire system
SeeAlso: INT 0B"HP 95LX",INT 15/AH=4Fh,INT 15/AH=85h,INT 16,INT 1B
Values for scan code:
01h Esc 21h F 41h F7
02h 1 ! 22h G 42h F8
03h 2 @ 23h H 43h F9
04h 3 # 24h J 44h F10
05h 4 $ 25h K 45h NumLock
06h 5 % 26h L 46h ScrollLock
07h 6 27h ; : 47h Home
08h 7 & 28h ' " 48h UpArrow
09h 8 * 29h ` ~ 49h PgUp
0Ah 9 ( 2Ah Left Shift 4Ah Grey-
0Bh 0 ) 2Bh \ | 4Bh LeftArrow
0Ch - _ 2Ch Z 4Ch Keypad 5
0Dh = + 2Dh X 4Dh RightArrow
0Eh Backspace 2Eh C 4Eh Grey+
0Fh Tab 2Fh V 4Fh End
10h Q 30h B 50h DownArrow
11h W 31h N 51h PgDn
12h E 32h M 52h Ins
13h R 33h , < 53h Del
14h T 34h . > 54h SysRq
15h Y 35h / ? 57h F11
16h U 36h Right Shift 58h F12
17h I 37h Grey*
18h O 38h Alt
19h P 39h SpaceBar
1Ah [ { 3Ah CapsLock
1Bh ] } 3Bh F1
1Ch Enter 3Ch F2 E0h prefix code
1Dh Ctrl 3Dh F3 E1h prefix code
1Eh A 3Eh F4 FAh ACK
1Fh S 3Fh F5 FEh RESEND
20h D 40h F6 FFh kbd error/buffer full
See Also:
05
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson