is because when the computer first loads up, dl is set to the number of the drive that was booted, so assuming we want to read from the drive we booted from, there is no need to change dl. : Write Sectors To Drive : Verify Sectors From Drive : Format Track : Format Track Set Bad Sector Flags : Format Drive Starting at Track : Read Drive Parameters Remarks Logical values of function 08h may/should differ from physical CHS values of function 48h. Result register CX contains both cylinders and sector/track values, see remark of function 02h. : Init Drive Pair Characteristics AH=0Ah: Read Long Sectors From Drive The only difference between this function and function 02h (see above) is that function 0Ah reads 516 bytes per sector instead of only 512. The last 4 bytes contains the Error Correction Code (ECC), a checksum of sector data. : Check Extensions Present : Extended Read Sectors From Drive As already stated with int 13h AH=02h, care must be taken to ensure that the complete buffer is inside the given segment, i.e. ( BX + size_of_buffer ) <= 10000h : Extended Write Sectors to Drive : Extended Read Drive Parameters Remark Physical CHS values of function 48h may/should differ from logical values of function 08h. INT 13h AH=4Bh: Get Drive Emulation Type See also INT 10H BIOS interrupt call Cylinder-head-sector INT (x86 instruction) DPMI (DOS Protected Mode Interface) Ralf Brown's Interrupt List BIOS Enhanced Disk Drive Specification References External links BIOS Interrupt 13h Extensions Ralf Brown's comprehensive Interrupt List Norton Guide about int 13h, ah = 00h .. 1ah IBM PC compatibles BIOS Interrupts