Files
oldlinux-files/docs/interrupts/int-html0/inte6l68.htm
2024-02-19 00:23:35 -05:00

94 lines
2.4 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text-html; charset=Windows-1252">
<title>INT 9 - Keyboard Interrupt (Hardware Handler)</title>
<meta name="FORMATTER" content="Microsoft FrontPage 2.0">
</head>
<body>
<h1><a name="kap_interrupt_0060"></a>INT 9 - Keyboard Interrupt
(Hardware Handler)</h1>
<p> no input data</p>
<p> % related memory:</p>
<p> 40:17 = updates keyboard flag byte 0</p>
<p> 40:18 = updates keyboard flag byte 1</p>
<p> 40:1A = queue head ptr is set to buffer start if Ctrl-Break
is hit</p>
<p> 40:1C = updates buffer tail pointer for each keystroke; sets</p>
<p> queue tail ptr is set to queue start if Ctrl-Break is hit</p>
<p> 40:1E = updates keyboard buffer (32 bytes)</p>
<p> 40:71 = updates bit 7 of the BIOS break flag if Ctrl-Break is
hit</p>
<p> 40:72 = updates reset flag with 1234H if Ctrl-Alt-Del pressed</p>
<p> 40:96 = indicates keyboard type (AT,PS/2)</p>
<p> 40:97 = updates keyboard LED flags (AT,PS/2)</p>
<p> FFFF:0 = reboot code called if Ctrl-Alt-Del pressed</p>
<p> % related interrupts:</p>
<p> ~INT 5~ invoked if print screen key pressed</p>
<p> ~INT 1B~ invoked if Ctrl-Break key sequence pressed</p>
<p> ~INT 15,85~ invoked on AT if system request key is pressed</p>
<p> ~INT 15,4F~ invoked on machines after PC/AT with AL = scan
code</p>
<p> - records key press and key release via IRQ1/8259 and</p>
<p> stores scan codes in the BIOS buffer located at 40:1C</p>
<p> - keyboard controllers also buffer data when interrupts are</p>
<p> disabled at the ~8259~ interrupt controller</p>
<p> - keyboard controller is capable of storing 16 keystrokes</p>
<p> even when interrupts are disabled at the 8259</p>
<p> - normal INT 9 execution takes approximately 500
microseconds;</p>
<p> at least one standard XT BIOS is known to take up to 1.3</p>
<p> milliseconds to execute</p>
<p> - see ~MAKE CODES~ ~KB FLAGS~</p>
<hr>
<table border="0" width="100%" cols="3">
<tr>
<td width="33%">Zurück zum <a href="inte1at0.htm">Interrupt
Info</a>. </td>
<td align="center" width="33%"><a
href="mailto:Roger.Morgan@htl-steyr.ac.at">Roger Morgan</a>
/ 1998 </td>
<td align="right" width="33%"><font size="1">L.Änderung <!--webbot
bot="Timestamp" s-type="EDITED" s-format="%d.%m.%y"
startspan -->29.03.99<!--webbot bot="Timestamp" endspan
i-checksum="13964" --> </font></td>
</tr>
</table>
</body>
</html>