Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: bitmaster am 05. February 2007, 22:17
-
Also bochs gibt mir im PM sobald ich ein iret mache folgende Fehlermeldung aus:
get_SS_ESP_from_TSS: TR is bogus type (3)
Ein TSS existiert zur der Zeit noch überhaupt gar nicht. Die Deskriptoren sind aber auch alle richtig. Wenn ich anstatt ein iret das schreibe:
pop ebx ;415h (Offste)
pop ecx ;8 (1 shl 3 = CS Selektor)
pop edx ;200206h (eFlags)
push ecx ;8 (1 shl 3 = CS Selektor)
push ebx ;415h (Offste)
retf ;jmp 8:415h
Dann springt er nach 8:415h. Das bedeutet also das die Deskriptoren alle richtig sind, da er ja dort hinspringt. Dur wieso macht er das mit iret nicht?
thx
bitmaster
-
Hättest du evtl. nen register dump? Spontan fällt mir aber nur ein gesetztes NT=Nested Task bit in den eflags ein...