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