Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: bitmaster am 05. February 2007, 22:17

Titel: get_SS_ESP_from_TSS: TR is bogus type (3)
Beitrag von: bitmaster am 05. February 2007, 22:17
Also bochs gibt mir im PM sobald ich ein iret mache folgende Fehlermeldung aus:

Zitat
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
Titel: Re: get_SS_ESP_from_TSS: TR is bogus type (3)
Beitrag von: bluecode am 07. February 2007, 14:57
Hättest du evtl. nen register dump? Spontan fällt mir aber nur ein gesetztes NT=Nested Task bit in den eflags ein...