Int 15h Funktion 86h ( BIOS WAIT )- Assembler Probleme mit NTVDM ?



  • Es geht um eine Verzögerung von ungefähr einer Sekunde.

    mov ah,86h
    mov cx,0Fh
    mov dx,0FFFFh
    int 15h
    

    Verwendete Assembler: MASM und MASM32.

    Lasse ich das Programm ( 16bit exe ) unter Windows ME in der Dos-Box laufen, funktioniert alles wunderbar. Unter Windows 2000 bleibt die Verzögerung aus und es gibt beim Beenden einen Fehler.

    Lässt sich das irgendwie vermeiden? Oder gibt's noch einen anderen Interrupt zum Verzögern?



  • Hi.

    Die DOS-Emulation von WinNT ist einfach schlecht, dh. du kannst nicht davon ausgehen, dass auf WinNT mehr als grundlegende Funktionen unterstuetzt werden - und da gehoeren solche Exoten sicher nicht dazu.

    IMHO auch einfach:
    Bei der phys. Addr. 0046Ch liegt normalerweise der Zeitzaehler. Der Wert wird 21x pro Sekunde inkrementiert...


Anmelden zum Antworten