add directory docs
This commit is contained in:
93
docs/interrupts/int-html0/inte6l68.htm
Normal file
93
docs/interrupts/int-html0/inte6l68.htm
Normal file
@@ -0,0 +1,93 @@
|
||||
<!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<EFBFBD>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.<2E>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>
|
||||
Reference in New Issue
Block a user