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

    http://webster.cs.ucr.edu

    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. ]


Anmelden zum Antworten