Hey,
ich versuche die LDT Base und das LDT Limit über inline Assembler zu ermitteln. Folgenden Code habe ich gefunden:
Delphi-Quellcode:
asm
sgdt fword ptr [gdtr]
sldt [ldtr]
mov eax, dword ptr[gdtr+2]
mov [gdt],eax
// GDT Base
movzx ebx, word ptr [ldtr]
and bl,11111000b
add ebx,eax
// Addr. des LDT Deskriptors
mov ax,[ebx]
mov [ldt_limit],ax
// LDT Limit (die unteren 16 bits reichen)
mov ah,[ebx+7]
mov al,[ebx+4]
shl eax,16
mov ax,[ebx+2]
mov [ldt],eax
end;
Dieser lässt sich allerdings nur bis mov ax,[ebx] ausführen. Danach verabschiedet sich das Testprogramm ohne jedliche
Exception.
Hat jemand ne Idee woran das liegen könnte?
Gruß