Changeset 294 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Prepare.asm
- Timestamp:
- Mar 4, 2012, 1:35:10 AM (12 years ago)
- google:author:
- krille_n_@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Prepare.asm
r221 r294 34 34 cmp ax, BYTE 127 35 35 ja SHORT InvalidNumberOfSectorsRequested 36 ; Fall to GetEbiosCommandIndexToBX37 36 38 ;-------------------------------------------------------------------- 39 ; GetEbiosCommandIndexToBX 40 ; Parameters: 41 ; DS:DI: Ptr to DPT 42 ; ES:SI: Ptr to DAP (Disk Address Packet) 43 ; Returns: 44 ; BX: Index to command lookup table 45 ; Corrupts registers: 46 ; AX, DX 47 ;-------------------------------------------------------------------- 48 GetEbiosCommandIndexToBX: 37 ; Get EBIOS command index to BX 49 38 ; LBA28 or LBA48 command 50 xor dx, dx39 cwd 51 40 mov al, [es:si+DAP.qwLBA+3] ; Load LBA48 byte 3 (bits 24...31) 52 and a x, 00F0h ; Clear LBA28 bits 24...2741 and al, 0F0h ; Clear LBA28 bits 24...27 53 42 or ax, [es:si+DAP.qwLBA+4] ; Set bits from LBA bytes 4 and 5 54 43 cmp dx, ax ; Set CF if any of bits 28...47 set
Note: See TracChangeset
for help on using the changeset viewer.