Einzelnen Beitrag anzeigen
Alt 06.02.2002, 16:06   #4
detonation997
Senior Member
 
Registriert seit: 07.07.2001
Beiträge: 197


detonation997 eine Nachricht über ICQ schicken
Daumen hoch Ihr seht das leider falsch...

Danke schon einmal, dass ihr auf den Beitrag geantwortet habt!

Allerdings möchte ich mit dem kurzen Beispiel auf 0040:0000 zugreifen (im Arbeitsspeicher). Dort steht die I/O-Adresse der Seriellen Schnittstelle. Über diese kann ich dann bequem per C/C++ (inportb; outportb) zugreifen.

Probiert mal in einer Eingabeaufforderung oder einem echten DOS

debug
-d 0040:0000

einzugeben. Da seht ihr , dass dort: F8 03 F8 02...
steht. Das sind die I/O-Adressen der Seriellen Schnittstellen (03F8)

Wenn auf ds die Segment-Adresse steht, dann kann ich per [bx] (ja, das ist ein Zeiger - Offset) direkt von ds:bx (0040:0000) einlesen.
Wenn ich das direkt mit debug mache (eine COM-Datei schreiben), dann funktionierts einwandfrei...(das Extrasegment hab ich nur genommen, weil ich wissen wollte, ob man überhaupt auf solche Segmente zugreifen kann)
detonation997 ist offline   Mit Zitat antworten