7.2 MS-DOS Interrupts

MS-DOS reserves software interrupts 20h through 3Fh for its own use. Among the features these interrupts provide are the interfaces to the MS-DOS system functions and to MS-DOS programs that provide services to other programs.

Following are the MS-DOS interrupts:

Interrupt Description Comments

20h Terminate Program For use by .COM programs
21h MS-DOS System Function For use by all programs
22h Termination Address For storage only (Do not issue)
23h CTRL+C Handler Replaceable
24h Critical-Error Handler Replaceable
25h Absolute Disk Read  
26h Absolute Disk Write  
27h Terminate and Stay Resident For use by .COM programs
28h MS-DOS Idle Handler Extendable
29h Fast Console For use by MS-DOS character I/O
2Ah Network/Critical Sections For use by MS-DOS
2Eh Reload Transient For use by COMMAND.COM only
2Fh Multiplex Interrupt Extendable
30h MS-DOS Entry Point For storage only (Do not issue)
31h MS-DOS Entry Point For storage only (Do not issue)

All other reserved interrupts—2Bh through 2Dh and 32h through 3Fh—are not currently used by MS-DOS. MS-DOS assigns a default interrupt handler to each reserved interrupt it does not use. The default handler does nothing more than return to the program that issued the interrupt. default handlers>

For interrupts marked “Replaceable” or “Extendable” in the preceding table, a program can provide its own interrupt handlers to replace or enhance the existing handlers. The program should leave all other interrupts unchanged. An exception to this rule is a terminate-and-stay-resident program (TSR) that must intercept interrupts to determine when MS-DOS system functions have been called. replaceable>extendable>intercepted>