Changeset 148 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm
- Timestamp:
- Mar 19, 2011, 8:09:41 PM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm
r117 r148 10 10 ; AH15h_HandlerForReadDiskDriveSize 11 11 ; Parameters: 12 ; AH: Bios function 15h 13 ; DL: Drive number 14 ; Parameters loaded by Int13h_Jump: 15 ; DS: RAMVARS segment 16 ; Returns: 12 ; DL: Translated Drive number 13 ; DS:DI: Ptr to DPT (in RAMVARS segment) 14 ; SS:BP: Ptr to INTPACK 15 ; Returns with INTPACK in SS:BP: 17 16 ; If succesfull: 18 17 ; AH: 3 (Hard disk accessible) … … 23 22 ; CX:DX: 0 24 23 ; CF: 1 25 ; IF: 126 ; Corrupts registers:27 ; Flags28 24 ;-------------------------------------------------------------------- 29 25 ALIGN JUMP_ALIGN 30 26 AH15h_HandlerForReadDiskDriveSize: 31 push bx 32 push ax 27 call HCapacity_GetSectorCountFromOurAH08h ; Sector count to DX:AX 28 mov [bp+INTPACK.cx], dx ; HIWORD to CX 29 mov [bp+INTPACK.dx], ax ; LOWORD to DX 33 30 34 call HCapacity_GetSectorCountFromOurAH08h; Sector count to DX:AX (clears CF) 35 mov cx, dx ; HIWORD to CX 36 xchg dx, ax ; LOWORD to DX 37 38 pop ax 39 pop bx 40 mov ah, 3 ; Type code = Hard disk 41 jmp Int13h_ReturnWithValueInDL 31 xor ah, ah 32 call HError_SetErrorCodeToIntpackInSSBPfromAH ; Store success to BDA and CF 33 mov BYTE [bp+INTPACK.ah], 3 ; Type code = Hard disk 34 jmp Int13h_ReturnFromHandlerWithoutStoringErrorCode
Note:
See TracChangeset
for help on using the changeset viewer.