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

257 lines
6.2 KiB
HTML
Raw Blame History

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text-html; charset=Windows-1252">
<title>Interrupt Table as Implemented by System BIOS/DOS</title>
<meta name="FORMATTER" content="Microsoft FrontPage 2.0">
</head>
<body>
<h1><a name="kap_interrupt_0030"></a>Interrupt Table as
Implemented by System BIOS/DOS</h1>
<p> % INT # Locus Function</p>
<p> 0 CPU divide by zero</p>
<p> 1 CPU single step</p>
<p> 2 CPU non-maskable</p>
<p> 3 CPU breakpoint</p>
<p> 4 CPU overflow trap</p>
<p> 5 BIOS print screen</p>
<p> 6 CPU Invalid opcode (186,286,386)</p>
<p> 7 CPU coprocessor not available (286,386)</p>
<p> 8 IRQ0 ~timer~ (55ms intervals, 18.21590 per second)</p>
<p> 9 IRQ1 keyboard service required (see ~INT 9~)</p>
<p> A IRQ2 slave ~8259~ or EGA/VGA vertical retrace</p>
<p> B IRQ3 COM2 service required (PS/2 MCA COM3-COM8)</p>
<p> C IRQ4 COM1 service required</p>
<p> D IRQ5 fixed disk or data request from LPT2</p>
<p> E IRQ6 floppy disk service required</p>
<p> F IRQ7 data request from LPT1 (unreliable on IBM mono)</p>
<p> 10 BIOS video (see ~INT 10~)</p>
<p> 11 BIOS Equipment determination (see ~INT 11~)</p>
<p> 12 BIOS memory size (see ~INT 12~)</p>
<p> 13 BIOS disk I/O service (see ~INT 13~)</p>
<p> 14 BIOS serial communications (see ~INT 14~)</p>
<p> 15 BIOS system services, cassette (see ~INT 15~)</p>
<p> 16 BIOS keyboard services (see ~INT 16~)</p>
<p> 17 BIOS parallel printer (see ~INT 17~)</p>
<p> 18 BIOS ROM BASIC loader</p>
<p> 19 BIOS bootstrap loader (unreliable, see ~INT 19~)</p>
<p> 1A BIOS time of day (see ~INT 1A~)</p>
<p> 1B BIOS user defined ctrl-break handler (see ~INT 1B~)</p>
<p> 1C BIOS user defined clock tick handler (see ~INT 1C~)</p>
<p> 1D BIOS ~6845~ video parameter pointer</p>
<p> 1E BIOS diskette parameter pointer (base table)</p>
<p> 1F BIOS graphics character table</p>
<p> 20 DOS general program termination</p>
<p> 21 DOS function request services (see ~INT 21~)</p>
<p> 22 DOS terminate address (see ~INT 22~)</p>
<p> 23 DOS control break termination address (see ~INT 23~)</p>
<p> 24 DOS critical error handler (see ~INT 24~)</p>
<p> 25 DOS absolute disk read (see ~INT 25~)</p>
<p> 26 DOS absolute disk write (see ~INT 26~)</p>
<p> 27 DOS terminate and stay resident (see ~INT 27~)</p>
<p> 28 DOS idle loop, issued by DOS when idle (see ~INT 28~)</p>
<p> 29 DOS fast TTY console I/O (see ~INT 29~)</p>
<p> 2A DOS critical section and NETBIOS (see ~INT 2A~)</p>
<p> 2B DOS internal, simple ~IRET~ in DOS 2.0-5.0</p>
<p> 2C DOS internal, simple IRET in DOS 2.0-5.0</p>
<p> 2D DOS internal, simple IRET in DOS 2.0-5.0</p>
<p> 2E DOS exec command from base level command</p>
<p> interpreter (see ~INT 2E~)</p>
<p> 2F DOS multiplexer (see ~INT 2F~)</p>
<p> 30-31 CPM far jump vector for CPM (not an interrupt)</p>
<p> 31 DPMI DOS Protected Mode Interface (for DOS extenders)</p>
<p> 32 reserved</p>
<p> 33 mouse support (see ~INT 33~)</p>
<p> 34-3E Microsoft/Borland floating point emulation</p>
<p> 3F overlay manager</p>
<p> 40 BIOS hard disk</p>
<p> 41 BIOS fixed disk 0 parameters pointer (see ~INT 13,9~)</p>
<p> 42 BIOS relocated video handler (EGA/VGA/PS)</p>
<p> 43 BIOS user font table (EGA/VGA/PS)</p>
<p> 44 BIOS first 128 graphics characters (also Netware)</p>
<p> 45 BIOS reserved for BIOS</p>
<p> 46 BIOS fixed disk 1 parameters ptr (see ~INT 13,9~/INT 41)</p>
<p> 47 BIOS reserved for BIOS</p>
<p> 48 BIOS PCjr cordless keyboard translation</p>
<p> 49 BIOS PCjr non-keyboard scancode translation table</p>
<p> 4A BIOS user alarm (AT,CONV,PS/2) (see ~INT 4A~)</p>
<p> 4B-4F BIOS reserved</p>
<p> 50 BIOS periodic alarm from timer (PS/2)</p>
<p> 51-58 BIOS reserved</p>
<p> 59 BIOS GSS Computer Graphics Interface</p>
<p> 5A BIOS cluster adapter BIOS entry point</p>
<p> 5B BIOS cluster adapter boot</p>
<p> 5C NETBIOS NETBIOS interface, TOPS interface</p>
<p> 5D-5F BIOS reserved for BIOS</p>
<p> 60-67 reserved for user software interrupts</p>
<p> 67 EMS LIM/EMS specification (see ~INT 67~)</p>
<p> 68 APPC</p>
<p> 69-6B reserved by IBM</p>
<p> 6C DOS DOS 3.2 real time clock update</p>
<p> BIOS system resume vector</p>
<p> 6D-6F reserved</p>
<p> 70 IRQ8 real time clock (AT,XT286,PS50+, see ~INT 15~)</p>
<p> 71 IRQ9 software redirected to IRQ2 (AT,XT286,PS50+)</p>
<p> 72 IRQ10 reserved (AT,XT286,PS50+)</p>
<p> 73 IRQ11 reserved (AT,XT286,PS50+)</p>
<p> 74 IRQ12 mouse interrupt (PS50+)</p>
<p> 75 IRQ13 numeric coprocessor NMI error (AT,XT286,PS50+)</p>
<p> 76 IRQ14 fixed disk controller (AT,XT286,PS50+)</p>
<p> 77 IRQ15 reserved (AT,XT286,PS50+)</p>
<p> 78-79 unused</p>
<p> 80-85 ROM BASIC</p>
<p> 86-F0 DOS reserved for BASIC interpreter use</p>
<p> 86 NETBIOS NETBIOS relocated INT 18</p>
<p> E0 CPM CP/M 86 function calls</p>
<p> F1-FF reserved by IBM</p>
<p> FE-FF may be destroyed by return from protected</p>
<p> mode using VDISK on 286 machines (Apr 86, DDJ)</p>
<p> - Intel defined 0 through 20h for use for internal CPU; IBM</p>
<p> redefined interrupts 0 through 1Fh for its own use, hence</p>
<p> the duplicate definitions in the tables</p>
<p> - all interrupts except the internal CPU exceptions push the</p>
<p> flags and the CS:IP of the next instruction onto the stack.</p>
<p> CPU exception interrupts are similar but push the CS:IP of
the</p>
<p> causal instruction. 8086/88 divide exceptions are different,</p>
<p> they return to the instruction following the division</p>
<p> - interrupts are disabled upon entry into any interrupt
routine and</p>
<p> should be enabled by the user or by an ~IRET~</p>
<p> - in DOS 3.2+ hardware IRQ interrupts are re-vectored through
DOS</p>
<p> to provide standard stack frames</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>