Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: nooooooooos am 20. July 2006, 12:41

Titel: Bochs-Fehlermeldung
Beitrag von: nooooooooos am 20. July 2006, 12:41
Kleine Frage

Was bedeutet diese Fehlermeldung von Bochs?00000923140-i-@0000908a read_virtual_checks(): read beyond limit

Vielen Dank für eine rasche Antwort
Noooooooooooooos
Titel: Bochs-Fehlermeldung
Beitrag von: hannibal am 20. July 2006, 12:48
Er versucht ueber irgendein Limit zu lesen, hoechstwahrscheinlich. Mehr kann man nicht wirklich aus einer Zeile rauslesen...was passiert denn davor und danach?

Lg, Alex
Titel: Bochs-Fehlermeldung
Beitrag von: nooooooooos am 20. July 2006, 19:09
Es wird zudem eine 13. Exception ausgelöst.
Der Fehler passiert bei folgendem Befehl:mov ebx,[esi]
Kann es sein dass man das Register ESI so nicht verwenden darf??
Titel: Bochs-Fehlermeldung
Beitrag von: nooooooooos am 20. July 2006, 19:14
Ach Ja: Aufgefallen ist mir, dass der Fehler nicht entsteht, wenn ESI um mindestens 1 erhöht wird.
Titel: Bochs-Fehlermeldung
Beitrag von: hannibal am 21. July 2006, 06:01
Interrupt 13 ist eine #GP (General Protection Fault) - naehere Informationen findest du im Intel Manual Vol. 3: 5-47.

Im Grunde versuchst du irgendwie auf Speicher zuzugreifen, auf den du nicht zugreifen darfst/kannst.

Lg, Alex
Titel: Bochs-Fehlermeldung
Beitrag von: maumo am 21. July 2006, 08:59
dann ist esi vielleicht 0xffffffff und wenn dus um eins erhöst (also 0) dann biste wieder im speicher, der present gemappt ist? nur so ne vermutung xD
Titel: Bochs-Fehlermeldung
Beitrag von: nooooooooos am 21. July 2006, 09:18
Stimmt...Danke