source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH1h_HStatus.asm@ 123

Last change on this file since 123 was 116, checked in by krille_n_@…, 14 years ago

Changes to all parts of the project:

  • Removed a redundant macro (HPIO_NORMALIZE_PTR)
  • Deleted XTIDE_Universal_BIOS/Inc/BiosData.inc since that was also redundant.
  • Size optimization: Changed the LOAD_BDA_SEGMENT_TO macro to use the stack on 186+ processors (the old behaviour can still be used where needed).
  • Made other minor size optimizations and cleanups to various functions, mostly in the Int13h handler.
File size: 901 bytes
Line 
1; Project name : XTIDE Universal BIOS
2; Description : Int 13h function AH=1h, Read Disk Status.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; Int 13h function AH=1h, Read Disk Status.
9;
10; AH1h_HandlerForReadDiskStatus
11; Parameters:
12; AH: Bios function 1h
13; DL: Drive number (8xh)
14; Parameters loaded by Int13h_Jump:
15; DS: RAMVARS segment
16; Returns:
17; AH: Int 13h floppy return status
18; CF: 0 if AH = RET_HD_SUCCESS, 1 otherwise (error)
19; IF: 1
20; Corrupts registers:
21; Flags
22;--------------------------------------------------------------------
23ALIGN JUMP_ALIGN
24AH1h_HandlerForReadDiskStatus:
25 push ds
26
27 LOAD_BDA_SEGMENT_TO ds, di
28 mov ah, [BDA.bHDLastSt] ; Last error to AH
29 cmp ah, 1 ; Set CF if error code is zero
30 cmc ; Invert CF
31
32 pop ds
33 jmp Int13h_PopDiDsAndReturn
Note: See TracBrowser for help on using the repository browser.