On most computers, Interrupt 05h and Interrupts 10h through 1Fh are reserved for use by ROM BIOS routines. Although these interrupts provide an interface to low-level services for the computer, a program that uses these services cannot be guaranteed to run correctly on all MS-DOS computers.
The following are typical low-level services:
Interrupt | Service |
05h | Print screen (issued when SHIFT+PRINT SCREEN is pressed) |
08h | Timer tick |
09h | Keyboard |
0Ah | Slave interrupt controller |
0Bh | COM1 |
0Ch | COM2 |
0Dh | LPT2 |
0Eh | Floppy disk |
0Fh | LPT1 |
10h | Video services |
11h | Peripheral equipment list |
12h | Memory size |
13h | Disk services |
14h | Serial-port services |
15h | Miscellaneous system services |
16h | Keyboard services |
17h | Printer services |
18h | ROM Basic |
19h | Restart computer |
1Ah | Time of day |
1Bh | Break (issued when CTRL+BREAK is pressed) |
1Ch | Timer |
1Dh | Video parameters (address only) |
1Eh | Diskette parameters (address only) |
1Fh | Graphics fonts (address only) |
70h | Real-time clock |
75h | Numeric coprocessor |
76h | Hard disk |
In some cases, MS-DOS may replace or extend ROM BIOS routines and other device-specific interrupt handlers for the following interrupts: MS-DOS replacement>MS-DOS extension>MS-DOS replacement>MS-DOS extension>
Interrupt | MS-DOS handler action |
00h | Displays “divide overflow” message and terminates program |
01h | Returns immediately |
02h* | Switches stack |
03h | Returns immediately |
04h | Returns immediately |
08h-0Eh* | Switches stack |
15h | If CTRL+ALT+DEL is detected, prepares MS-DOS before restarting computer |
19h | Prepares MS-DOS before restarting computer |
1Bh | Places CTRL+C character value (03h) at top of keyboard input buffer |
70h* | Switches stack |
72h-74h* | Switches stack |
76h-77h* | Switches stack |
Stack-switching interrupt handlers (marked * in the preceding list) are used in conjunction with routines that support hardware interrupts. A stack-switching handler sets up a new stack when a hardware interrupt occurs, allowing the corresponding interrupt routine to carry out operations without inadvertently overflowing the stack that was active when the interrupt occurred. The stack-switching handler restores the original stack when the interrupt routine returns. Stack-switching interrupt handlers are enabled only if the stacks command in the CONFIG.SYS file specifies eight or more stacks. stack command>