Hi
Also irgendwie funktionieren im PM die ret's nicht.
im RM konnte ich ganz einfach sowas machen:
und nach dem ret landete ich dann wieder direkt nach dem call.
im PM startet der Rechner einfach nur neu.
Die Funktion wird richtig ausgeführt, nur das ret zurück geht eben nicht.
Muss man das im PM irgendwie anders machen?
Ich hab übrigens auch andere ret's wie iret und iretd probiert, genau dasselbe.
Bin übrigens erst seit etwa zwei Tagen mit dem PM zugange also noch ziemlich unerfahren.
EDIT: Achja das wollte ich ja auch noch fragen: Was ist eigentlich der Unterschied zwischen den verschiedenen ret's? also iret, iretd und retd.
Also irgendwie funktionieren im PM die ret's nicht.
im RM konnte ich ganz einfach sowas machen:
Code: [Auswählen]
...
call print
...
print:
...
ret
und nach dem ret landete ich dann wieder direkt nach dem call.
im PM startet der Rechner einfach nur neu.
Die Funktion wird richtig ausgeführt, nur das ret zurück geht eben nicht.
Muss man das im PM irgendwie anders machen?
Ich hab übrigens auch andere ret's wie iret und iretd probiert, genau dasselbe.
Bin übrigens erst seit etwa zwei Tagen mit dem PM zugange also noch ziemlich unerfahren.

EDIT: Achja das wollte ich ja auch noch fragen: Was ist eigentlich der Unterschied zwischen den verschiedenen ret's? also iret, iretd und retd.

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert

Ich verstehe zwar nicht warum du fs und gs auf Null setzt, aber das dürfte ziemlich egal sein wenn du die nicht brauchst. Aber so sieht der Code schon mal eigentlich richtig aus. Wenn bei dir der dritte Eintrag (Eintrag zwei) in der GDT das Datensegment beschreibt müsste der Code richtig sein. Warum er an einer anderen Stelle springt kann ich aus diesem Codestück nicht sagen. Also bei mir klappt das mit der IDT, den calls und den ints ganz gut. Also kannst ja den kompletten Code posten, dann kann ich oder jemand anders dir vielleicht helfen.
