99 lines
2.2 KiB
HTML
99 lines
2.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Type"
|
|
content="text-html; charset=Windows-1252">
|
|
<title>INT 33,14 - Swap Interrupt Subroutines</title>
|
|
<meta name="FORMATTER" content="Microsoft FrontPage 2.0">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h1><a name="kap_interrupt_3350"></a>INT 33,14 - Swap Interrupt
|
|
Subroutines</h1>
|
|
|
|
<p> AX = 14h</p>
|
|
|
|
<p> ES:DX = far pointer to user routine</p>
|
|
|
|
<p> CX = user interrupt mask:</p>
|
|
|
|
<p> ¦F-8¦7¦6¦5¦4¦3¦2¦1¦0¦ user interrupt mask in CX</p>
|
|
|
|
<p> ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +--- cursor position changed</p>
|
|
|
|
<p> ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---- left button pressed</p>
|
|
|
|
<p> ¦ ¦ ¦ ¦ ¦ ¦ +----- left button released</p>
|
|
|
|
<p> ¦ ¦ ¦ ¦ ¦ +------ right button pressed</p>
|
|
|
|
<p> ¦ ¦ ¦ ¦ +------- right button released</p>
|
|
|
|
<p> +--------------- unused</p>
|
|
|
|
<p> on return:</p>
|
|
|
|
<p> CX = previous user interrupt mask</p>
|
|
|
|
<p> ES:DX = far pointer to previous user interrupt</p>
|
|
|
|
<p> - routine at ES:DX is called if an event occurs and the</p>
|
|
|
|
<p> corresponding bit specified in user mask is set</p>
|
|
|
|
<p> - routine at ES:DX receives parameters in the following</p>
|
|
|
|
<p> registers:</p>
|
|
|
|
<p> AX = condition mask causing call</p>
|
|
|
|
<p> CX = horizontal cursor position</p>
|
|
|
|
<p> DX = vertical cursor position</p>
|
|
|
|
<p> DI = horizontal counts</p>
|
|
|
|
<p> SI = vertical counts</p>
|
|
|
|
<p> DS = mouse driver data segment</p>
|
|
|
|
<p> BX = button state:</p>
|
|
|
|
<p> ¦F-2¦1¦0¦</p>
|
|
|
|
<p> ¦ ¦ +--- left button (1 = pressed)</p>
|
|
|
|
<p> ¦ +---- right button (1 = pressed)</p>
|
|
|
|
<p> +------ unused</p>
|
|
|
|
<p> - initial call mask and user routine should be restore on
|
|
exit</p>
|
|
|
|
<p> from user program</p>
|
|
|
|
<p> - user program may need to set DS to it's own segment</p>
|
|
|
|
<p> - see ~INT 33,C~</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>
|