Changeset 294 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm
- Timestamp:
- Mar 4, 2012, 1:35:10 AM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm
r230 r294 128 128 ConvertLCHStoLBARegisterValues: 129 129 ; 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 133 132 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 135 139 mul dx ; DX:AX = cylToSeek*headsPerCyl 136 140 … … 141 145 142 146 ; *=sectPerTrack (18-bit by 6-bit multiplication with 24-bit result) 143 mov cx, LBA_ASSIST_SPT ; Load Sectors per Track144 147 xchg ax, dx ; Hiword to AX, loword to DX 145 148 mul cl ; AX = hiword * Sectors per Track
Note:
See TracChangeset
for help on using the changeset viewer.