Changeset 231 in xtideuniversalbios
- Timestamp:
- Jan 31, 2012, 5:46:56 PM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AccessDPT.asm
r230 r231 90 90 .ShiftLoop: 91 91 cmp ax, MAX_LCHS_CYLINDERS ; Need to shift? 92 jbe SHORT . LimitHeadsTo255; If not, return92 jbe SHORT .Return ; If not, return 93 93 inc cx ; Increment shift count 94 94 shr ax, 1 ; Halve cylinders 95 95 shl bl, 1 ; Double heads 96 jnz SHORT .ShiftLoop 97 .LimitHeadsTo255: ; DOS does not support drives with 256 heads 98 cmp bl, cl ; Set CF if BL is zero99 sbb bl, ch ; If BL=0 then BL=255 96 jnz SHORT .ShiftLoop ; Falls through only on the last (4th) iteration and only if BL was 16 on entry 97 dec bl ; DOS doesn't support drives with 256 heads so we limit heads to 255 98 ; We can save a byte here by using DEC BX if we don't care about BH 99 .Return: 100 100 ret 101 101
Note:
See TracChangeset
for help on using the changeset viewer.