Ignore:
Timestamp:
Mar 4, 2012, 1:35:10 AM (12 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Commit 2/2 (BIOS):

  • Fixed a bug in AH1h_HStatus.asm.
  • Minor optimizations.
  • Fixed spelling and did some cleaning.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm

    r230 r294  
    128128ConvertLCHStoLBARegisterValues:
    129129    ; cylToSeek*headsPerCyl (18-bit result)
    130     mov     ax, cx                  ; Copy Cylinder number to AX
    131     ; We could save a byte here by using CWD instead of the XOR DH, DH in eMOVZX
    132     ; but I'm not sure how that would affect speed.
     130    mov     ax, LBA_ASSIST_SPT      ; Load Sectors per Track
     131    xchg    cx, ax                  ; Cylinder number to AX, Sectors per Track to CX
    133132
    134     eMOVZX  dx, BYTE [di+DPT.bLbaHeads]
     133%ifdef USE_386
     134    movzx   dx, [di+DPT.bLbaHeads]
     135%else
     136    cwd
     137    mov     dl, [di+DPT.bLbaHeads]
     138%endif
    135139    mul     dx                      ; DX:AX = cylToSeek*headsPerCyl
    136140
     
    141145
    142146    ; *=sectPerTrack (18-bit by 6-bit multiplication with 24-bit result)
    143     mov     cx, LBA_ASSIST_SPT      ; Load Sectors per Track
    144147    xchg    ax, dx                  ; Hiword to AX, loword to DX
    145148    mul     cl                      ; AX = hiword * Sectors per Track
Note: See TracChangeset for help on using the changeset viewer.