BIOS Interrupt Calls are a facility that MS-DOS programs use to invoke the BIOS's facilities.
Interrupt Table
| Interrupt
| Description
|
| INT 5h
| Print Screen
|
| INT 10h
| Video Services
| AH=00h
| Set Video Mode
|
| AH=01h
| Set Cursor Shape
|
| AH=02h
| Position Cursor
|
| AH=03h
| Get Cursor Position And Shape
|
| AH=04h
| Get Light Pen Position
|
| AH=05h
| Set Display Page
|
| AH=06h
| Clear/Scroll Up Screen
|
| AH=07h
| Clear/Scroll Down Screen
|
| AH=08h
| Read Character From Screen
|
| AH=09h
| Write Character(s) To Screen
|
| AH=0Ah
| Write Character To Screen With Existing Attribute
|
| AH=0Bh
| Set Border Color
|
| AH=0Eh
| Write Character To Screen With Existing Attribute And Reposition
|
| AH=0Fh
| Get Video Mode
|
|
| INT 11h
| Equipment Installed
|
| INT 12h
| Memory Available
|
| INT 13h
| Low Level Disk Services
| AH=00h
| Reset Disk Drives
|
| AH=01h
| Check Drive Status
|
| AH=02h
| Read Sectors From Drive
|
| AH=03h
| Write Sectors To Drive
|
| AH=04h
| Verifies Sectors On Drive
|
| AH=0Ch
| Moves Disk Head To Specified Track
|
| AH=0Dh
| Resets Hard Disk Controller
|
|
| INT 14h
| Serial I/O
| AH=00h
| Serial Port Initialization
|
| AH=01h
| Transmit Character
|
| AH=02h
| Receive Character
|
| AH=03h
| Status
|
|
| INT 15h
| Miscellaneous
|
| INT 16h
| Keyboard
| AH=00h
| Input Key From Keyboard
|
| AH=01h
| Check For Input Availability
|
| AH=02h
| Check Keyboard Shift Status
|
|
| INT 17h
| Print Services
| AH=00h
| Print Character To Printer
|
| AH=01h
| Initialize Printer
|
| AH=02h
| Check Printer Status
|
|
| INT 18h
| Execute BASIC
|
| INT 19h
| Reboot
|
| INT 1Ah
| Real Time Clock Services
| AH=00h
| Read RTC
|
| AH=01h
| Set RTC
|
|
| INT 21h
| MS-DOS Functions
| AH=00h
| Exit To Shell
|
| AH=01h
| Read Input From Keyboard
|
| AH=02h
| Write Character To Output
|
|
Descriptions
INT 13h: Low Level Disk Services
INT 13h AH=00h: Reset Disk Drives
Parameters:
INT 13h AH=01h: Check Drive Status
Parameters:
Results:
| AL
| Return Code
| 00h
| Success
|
| 01h
| Invalid Command
|
| 02h
| Cannot Find Address Mark
|
| 03h
| Attempted Write On Write Protected Disk
|
| 04h
| Sector Not Found
|
| 05h
| Reset Failed
|
|
INT 13h AH=02h: Read Sectors From Drive
Parameters:
| AH
| 02h
|
| AL
| Sectors To Read Count
|
| CH
| Track
|
| CL
| Sector
|
| DH
| Head
|
| DL
| Drive
|
| ES:BX
| Buffer Address Pointer
|
Results:
| CF
| Set On Error, Clear If No Error
|
| AH
| Return Code
|
| AL
| Actual Sectors Read Count
|
INT 18h: Execute BASIC
Description:
This interrupt 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. As time went on and BASIC was no longer shipped on all PCs, this interrupt would simply prompt the user to insert a bootable volume and press a key.
INT 21h: MS-DOS Functions
INT 21h AH=00h: Exit To Shell
Parameters:
INT 21h AH=01h: Read Input From Keyboard
Parameters:
Results:
| AL
| ASCII Value Of Character Read
|
INT 21h AH=02h: Write Character To Output
Parameters:
| AH
| 02h
|
| DL
| Character To Output
|
See also
Last updated: 05-25-2005 00:47:33