Changeset 158 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH2h_HRead.asm
- Timestamp:
- May 2, 2011, 9:41:51 AM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH2h_HRead.asm
r155 r158 28 28 ALIGN JUMP_ALIGN 29 29 AH2h_HandlerForReadDiskSectors: 30 call AH2h_ExitInt13hIfSectorCountInIntpackIsZero 30 cmp BYTE [bp+IDEPACK.intpack+INTPACK.al], 0 31 je SHORT AH2h_ExitInt13hSinceSectorCountInIntpackIsZero 32 31 33 mov ah, COMMAND_READ_SECTORS ; Load sector mode command 32 test WORD [di+DPT.wFlags], FLG_DPT_BLOCK_MODE_SUPPORTED34 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED 33 35 eCMOVNZ ah, COMMAND_READ_MULTIPLE ; Load block mode command 34 36 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRQ) … … 44 46 45 47 ;-------------------------------------------------------------------- 46 ; AH2h_ExitInt13h IfSectorCountInIntpackIsZero48 ; AH2h_ExitInt13hSinceSectorCountInIntpackIsZero 47 49 ; Parameters: 48 ; SS:BP: Ptr to IDEPACK 49 ; Parameters on INTPACK: 50 ; AL: Number of sectors to transfer (1...255) 50 ; Nothing 51 51 ; Returns: 52 ; Nothing (does not return if error) 53 ; Corrupts registers: 54 ; Nothing 52 ; Jumps to Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 55 53 ;-------------------------------------------------------------------- 56 ALIGN JUMP_ALIGN 57 AH2h_ExitInt13hIfSectorCountInIntpackIsZero: 58 cmp BYTE [bp+IDEPACK.intpack+INTPACK.al], 0 59 je SHORT .InvalidSectorCount 60 ret 61 .InvalidSectorCount: 54 AH2h_ExitInt13hSinceSectorCountInIntpackIsZero: 62 55 mov ah, RET_HD_INVALID 63 56 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
Note:
See TracChangeset
for help on using the changeset viewer.