Changeset 589 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/ConfigurationMenu.asm
- Timestamp:
- May 22, 2016, 12:26:57 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/ConfigurationMenu.asm
r567 r589 177 177 %assign i i+1 178 178 %endrep 179 ; dw NULL ; Is this needed? *FIXME* 179 dw NULL 180 180 181 181 182 ; Section containing code … … 285 286 call Buffers_GetRomvarsFlagsToAX 286 287 mov bx, g_MenuitemConfigurationIdleTimeout 287 test a x, FLG_ROMVARS_MODULE_POWER_MANAGEMENT288 test al, FLG_ROMVARS_MODULE_POWER_MANAGEMENT 288 289 jz SHORT .DisableMenuitemFromCSBX 289 290 ; Fall to .EnableMenuitemFromCSBX … … 393 394 push es 394 395 pop ds 395 xor ch, ch ; clearing high order of CX and notification flag 396 mov dx, cx ; (probably unnecessary, CX should be less than 127, but just to be sure) 397 jcxz .done ; probably unnecessary, but make sure there is at least one controller 396 mov dx, cx ; Controller count to DL (will always be at least 1) while also clearing notification flag in DH 398 397 399 398 lea bx, [di+ROMVARS.ideVars0] ; add in offset of first idevars … … 404 403 xor ax, ax ; first non-serial found 405 404 mov cl, dl ; idevars count 406 xor ch, ch407 405 408 406 .loop: 409 cmp byte[di+IDEVARS.bDevice], DEVICE_SERIAL_PORT410 jn z.notSerial407 cmp BYTE [di+IDEVARS.bDevice], DEVICE_SERIAL_PORT 408 jne SHORT .notSerial 411 409 412 410 test si, si ; record the first serial controller that we find 413 jnz .next411 jnz SHORT .next 414 412 mov si, di 415 413 SKIP2B f … … 423 421 424 422 test si, si ; no serial drives, nothing to do 425 jz .done423 jz SHORT .done 426 424 cmp si, ax ; serial port is already later on the list than any other controllers 427 ja .done; (also takes care of the case where there are no other controllers)425 ja SHORT .done ; (also takes care of the case where there are no other controllers) 428 426 429 427 ; … … 438 436 mov di, sp 439 437 440 mov cx, IDEVARS_size441 438 push ss 442 439 pop es 443 440 441 %if IDEVARS_size & 1 442 mov cl, IDEVARS_size 444 443 rep movsb 444 %else 445 mov cl, IDEVARS_size / 2 446 rep movsw 447 %endif 445 448 446 449 lea di, [si-IDEVARS_size] ; move up all the idevars below the serial, by one slot … … 457 460 push ss 458 461 pop ds 459 mov cx, IDEVARS_size460 462 ; di is already at last IDEVARS position 461 463 464 %if IDEVARS_size & 1 465 mov cl, IDEVARS_size 462 466 rep movsb 467 %else 468 mov cl, IDEVARS_size / 2 469 rep movsw 470 %endif 463 471 464 472 add sp, IDEVARS_size … … 469 477 mov dh, 1 ; set flag that we have done a relocation 470 478 471 jmp .outerLoop479 jmp SHORT .outerLoop 472 480 473 481 .done: … … 478 486 479 487 test dh, dh 480 jz .noWorkDone488 jz SHORT .noWorkDone 481 489 482 490 mov dx, g_szSerialMoved
Note:
See TracChangeset
for help on using the changeset viewer.