Invoking an interrupt can be done using the INTx86assembly language instruction. For example, to print a character to the screen using BIOS interrupt 0x10, the following x86 assembly language instructions would be executed:
A list of common BIOS interrupt classes can be found below. Note that some BIOSes (particularly old ones) do not implement all of these interrupt classes.
Interrupt vector
Description
00h
CPU: Executed after an attempt to divide by zero or when the quotient does not fit in the destination
01h
CPU: Executed after every instruction while the trace flag is set
Get Extended Memory Size (Newer function, since 1994). Gives results for memory size above 64 Mb.
E8h
20h
Query System Address Map. The information returned from E820 supersedes what is returned from the older AX=E801h and AH=88hinterfaces.
16h
Keyboard services
AH
Description
00h
Read Character
01h
Read Input Status
02h
Read Keyboard Shift Status
05h
Store Keystroke in Keyboard Buffer
10h
Read Character Extended
11h
Read Input Status Extended
12h
Read Keyboard Shift Status Extended
17h
Printer services
AH
Description
00h
Print Character to Printer
01h
Initialize Printer
02h
Check Printer Status
18h
Execute Cassette BASIC: True IBM computers contain BASIC in the ROM to be interpreted and executed by this routine in the event of a boot failure (called by the BIOS)
19h
After POST this interrupt is used by BIOS to load the operating system.
On MS-DOS systems IO.SYS hooks INT 13 for floppy disc change detection, tracking formatting calls, correcting DMA boundary errors, working around problems in IBM's ROM BIOS "01/10/84" with model code 0xFC before the first call.
INT 18h traditionally jumped to an implementation of BASIC stored in ROM. This call would typically be invoked if the BIOS was unable to identify any bootable volumes on startup. (At the time the original IBM PC was released in 1981, the BASIC in ROM was a key feature.) As time went on and BASIC was no longer shipped on all PCs, this interrupt would simply display an error message indicating that no bootable volume was found (famously, "No ROM BASIC", or more explanatory messages in later BIOS versions); in other BIOS versions it would prompt the user to insert a bootable volume and press a key, and then after the user did so it would loop back to the bootstrap loader to try booting again.
BIOS interrupt calls are a facility that DOS programs and some other software, such as boot loaders, use to invoke the facilities of the Basic Input/Output System on IBM PC compatible computers. S