inline asm: dos-interrupts beim msvc
-
hallo leute,
versuche gerade verzweifelt interrupts aufzurufen, (verwende MS Visual Studio 2005 express, inline assembler) erhalte aber immer eine System.AccessViolationException. Ein näherer Grund steht leider nicht drin...
Es sollen bei dem Programm die Koordinaten des Mauscursors abgefragt werden.hier mal ein bsp. das eigentlich stimmen dürfte:
struct mouse { unsigned short x; unsigned short y; char state; }m; __asm { mov ax, 03h int 33h mov m.x, cx mov m.y, dx mov m.state, bl }
falls das problem am code liegt, wäre das auch schonmal gut zu wissen, kann ich mir aber eigentlich nicht vorstellen, da ich auch schon andere z.b. zur textausgabe getestet habe.
Vielen Dank für eure Bemühungen
-
der befehl 'int 33h' könnte rumzicken unter windows, mach's besser damit: http://msdn2.microsoft.com/en-us/library/ms648390.aspx
-
Windows != DOS!
Wenn Du DOS Programmieren willst, dann musst Du auch DOS *installieren"!
-
Jochen Kalmbach schrieb:
Windows != DOS!
Wenn Du DOS Programmieren willst, dann musst Du auch DOS *installieren"!'int 33h' geht bestimmt auch inner 'ntvdm'
aber dafür braucht man 'nen DOS kompatiblen compiler, watcom, altes quick-c, altes borland-c oder sowas...
-
wie müsste der code dann aussehen, um unter windows mit dem msvc zu laufen?
-
GetCursorPos !?