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