Changeset 630 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeTransfer.asm
- Timestamp:
- Dec 31, 2024, 3:38:24 PM (8 days ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeTransfer.asm
r625 r630 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 3by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2024 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 264 264 265 265 ; Convert ES:SI to physical address 266 %ifdef USE_386 267 mov dx, es 268 xor ax, ax 269 shld ax, dx, 4 270 shl dx, 4 271 add si, dx 272 adc al, ah 273 mov es, ax 274 275 %elifdef USE_186 276 %ifdef USE_NEC_V 277 mov dx, es 278 xor ax, ax 279 eROL4 dl 280 eROL4 dh 281 add si, dx 282 adc al, ah 283 mov es, ax 284 285 %else 286 mov ax, es 287 rol ax, 4 288 mov dx, ax 289 and ax, 0Fh 290 xor dx, ax 291 add si, dx 292 adc al, ah 293 mov es, ax 294 295 %endif 266 %ifdef USE_386 ; 17 bytes 267 mov dx, es ; 2 268 xor ax, ax ; 2 269 shld ax, dx, 4 ; 3 270 shl dx, 4 ; 3 271 add si, dx ; 2 272 adc al, ah ; 2 273 mov es, ax ; 2 274 ;------ 275 ; 16 cycles on 386 276 %elifdef USE_186 ; 17 bytes 277 mov ax, es ; 2 278 rol ax, 4 ; 3 279 mov dx, ax ; 2 280 and al, 0F0h ; 2 281 xor dx, ax ; 2 282 add si, ax ; 2 283 adc dl, dh ; 2 284 mov es, dx ; 2 285 ;------ 286 ; 17 cycles on 386 296 287 %else ; 808x 297 288 mov al, 4 … … 301 292 mov cx, dx 302 293 xchg cx, ax 303 and a x, 0Fh294 and al, 0F0h 304 295 xor dx, ax 305 add si, dx306 adc al, ah307 mov es, ax296 add si, ax 297 adc dl, dh 298 mov es, dx 308 299 309 300 %endif
Note:
See TracChangeset
for help on using the changeset viewer.