en:docs:dos:api:int25

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
en:docs:dos:api:int25 [2024/05/19 09:20] prokusheven:docs:dos:api:int25 [2024/05/19 10:11] prokushev
Line 9: Line 9:
 ===== Brief ===== ===== Brief =====
  
-ABSOLUTE DISK READ (except partitions > 32M)+Absolute disk read
  
 ===== Family API ===== ===== Family API =====
Line 18: Line 18:
   * AL = drive number (00h = A:, 01h = B:, etc)   * AL = drive number (00h = A:, 01h = B:, etc)
   * CX = number of sectors to read (not FFFFh)   * CX = number of sectors to read (not FFFFh)
-  * DX = starting logical sector number (0000h - highest sector on drive) +    * DX = starting logical sector number (0000h - highest sector on drive) 
-  * DS:BX -> buffer for data+    * DS:BX -> buffer for data 
 +  * CX = FFFFh (DOS 3.31+) 
 +    * DS:BX -> disk read packet (see #02548)
  
 ===== Return ===== ===== Return =====
Line 29: Line 31:
  
 ===== Macro ===== ===== Macro =====
- 
  
 ===== Notes ===== ===== Notes =====
  
-AX = 0207h if more than 64K sectors on drive -- use new-style call+partition is potentially >32M (and requires this form of the call) if  bit 1 of the device attribute word in the device driver is set 
 + 
 +for FAT32 drives (which may be up to 2TB in size), use INT 21/AX=7305h 
 + 
 +AX = 0207h if more than 64K sectors on drive or if FAT32 drive -- use CX=FFFFH or INT 21/AX=7305h
  
-may destroy all other registers except segment registers+may destroy all other registers except segment registers; Win9X always sets SI to 0000h due to an apparent coding bug
  
 original flags are left on stack, and must be popped by caller original flags are left on stack, and must be popped by caller
Line 59: Line 64:
 ===== See Also ===== ===== See Also =====
  
-INT 13/AH=02h,INT 25/CX=FFFFh,INT 26,INT 21/AX=7305h+INT 13/AH=02h,[[en:docs:dos:api:int26|INT 26]],INT 21/AX=7305h
      
 ===== Note ===== ===== Note =====