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