Seite 1 von 1

warum geht das unter win2k sp4?

Verfasst: 18.02.2005 22:40
von topsoft
Hallo

ich habe folgenden Code:

Code: Alles auswählen

Procedure.l Inp8(Adresse.w)
    MOV dx, Adresse
    IN al, dx
    AND eax, $FF
    ProcedureReturn
EndProcedure

Procedure Out8(Adresse.w, Daten.b)
    MOV dx, Adresse
    MOV al, Daten
    OUT dx, al
EndProcedure

For z.w = 0 To $FF
    Out8($378, z)
    Debug Hex(Inp8($378))
Next z
End
Unter Win2k sollte dieser Code ja eine Expression auslösen, tut er aber nicht sondern er funzt prächtig! ? Kann sich das einer erklären oder bringe ich hier was durcheinander?

Gruß Topsoft

Verfasst: 18.02.2005 23:51
von netfreak
Wenn du mir sagst was ne Expression ist kann ich vieleicht Helfen!

Verfasst: 18.02.2005 23:55
von remi_meier
Durch den NT-Kernel sollten eigentlich 'unsichere' Asm Befehle nicht mehr zugelassen sein und einen Crash des Programms verursachen (WinXP).
Hab aber keine Ahnung ab welcher Version.
Ist mir auch grad n Rätsel...

cu, remi

Verfasst: 19.02.2005 00:06
von topsoft
Hallo

Eine Expression wird vom Prozessor ausgelöst wenn z.B ein privilegierter Befehl von einem normalem Programm ausgeführt werden soll. Das dürfen im Falle von "In" und "Out" nur Treiber und das Betriebssystem selber. Zumindestens bei Windows NT 2K XP. In diesem Fall könnte man sagen es ist eine Fehlermeldung und das Programm wird beendet. Normalerweise, aber was ist schon normal ;-)

Gruß Topsoft

Verfasst: 19.02.2005 11:07
von freedimension
topsoft hat geschrieben: Eine Expression wird vom Prozessor ausgelöst wenn z.B ein privilegierter Befehl von einem normalem Programm ausgeführt werden soll. Das dürfen im Falle von "In" und "Out" nur Treiber und das Betriebssystem selber. Zumindestens bei Windows NT 2K XP. In diesem Fall könnte man sagen es ist eine Fehlermeldung und das Programm wird beendet. Normalerweise, aber was ist schon normal ;-)
Du meinst jetzt aber nicht eine Exception, oder? Denn Expression habe ich in dem Zusammenhang noch nie gehört. Für mich ist ein "Expression" ein (mathematischer) Ausdruck oder Äußerung bei der Programmierung, also sowas wie i + 5 * x