Interrupt 13 Functions used in the MBR and Boot code


Interrupt 13 functions used in the Windows MBR and the operating system boot programs are briefly discussed. This is an addendum to the MBR and boot code web pages.

For additional information and other functions see the references at the end of this document.

Function 00h: Reset Disk System

This function resets both the diskette and the fixed disk controllers. It reinitializes the drive parameters and sets the Read/Write heads to cylinder 0.

On input:

On output:

Function 02h: Read Disk Sectors

This function reads disk sectors using CHS format. This can be either a floppy diskette or a hard disk.

On input, the CHS values are contained in the following registers:

On output, the data that is read is placed in the location specified by ES:BX.

Status of the read operation is contained in the following registers:

Function 08h: Get Disk-Drive Parameters

This function returns the disk-drive parameters of the drive number specified in DL. This can be either a floppy diskette or a hard disk. DL reports the number of disk drives attached to the disk controller.

On input:

On output: (See Int 13/AH=08h for additional parameters.)

Function 41h: IBM/MS INT 13 Extensions - Installation Check

This function checks whether the IBM/MS INT 13 Extensions are installed and supported.

On input:

On Output:

Function 42h: Extended Read

This function reads disk sectors using LBA format and is one of the IBM/MS INT 13 Extensions.

On input, the CHS values are contained in the following registers:

Status of the read operation is contained in the following registers:

Form of disk address packet
OffsetSizeDescription
00h1 byte10h (size of packet)
01h1 bytereserved (0)
02h2 bytesnumber of blocks to transfer
04h4 bytestransfer buffer address
08h8 bytesstarting absolute block number (LBA)

On Line References

For more information on Interrupt 13 extensions as well as other interrupts:


MBR/Boot Index

Home Page

This page was created on 18 December 2000, last updated on 2 September 2003.