Speicherstelle 0x400 auslesen
-
Hallo!
würde ganz gerne mit einem Kernel-Treiber (Beispiel aus NTDDK (SRC/General/PortIO)) die Speicherstelle 0x400 auslesen, da an der die Adresse von der seriellen Schnittstelle steht. Bloß beim Aufruf von der folgenden Zeile:
__asm mov eax,mPortAdr
__asm mov ebx,[eax]gibt es einen bösen Reboot vom System:)
Weiß jemand vielleicht ein Tip wie man das lösen kann? Gibts vielleicht vom Kernel eine Funktion die physikalischen Speicher lesen kann?
Danke im Voraus!
Russak
-
Ich würde mich im Protected-Mode nie darauf verlassen irgendwas an einer Adresse zu finden die im RM stimmt
Imho wird die einzige vernünftige Möglichkeit sein, das System zu fragen, wo die Schnittstelle liegt bzw. was deren I/O--Port ist
-
Wie fragt man sowas ab?
-
Keine Ahnung, da musste schon jemanden fragen der sich damit auskennt
Aber ich vermute mal man muss sich irgendwie durch eine Liste von Geräten durchwuseln, wie auch immer man das wohl macht...
-
Ich weiß nicht ob es dir hilft oder schon kennst, aber gehe mal auf
Da kannst du dir einen fetten Assembler-Schinken ("The Art of Assembly") für Linux runterladen. Vielleicht ist da die Lösung drin?
-
Original erstellt von agrimm:
Da kannst du dir einen fetten Assembler-Schinken ("The Art of Assembly") für Linux runterladen. Vielleicht ist da die Lösung drin?Mal davon abgesehen dass ein asm-Schinken für Linux immer gut ist, wird wohl. kaum dirn stehen, wie ein NT-Kerneltreiber von Windows die Adresse erfährt
-
Dasselbe gibts da auch für Windows
Woher soll ich wissen welches Betriebssystem er nutzt?
Hat er's denn hingeschrieben?
(Oh da steht's ja)[ Dieser Beitrag wurde am 12.10.2002 um 18:31 Uhr von agrimm editiert. ]