Mein code:
Bei dem asm-teil gibts ein Linkererror:
Wenn ich den asm-teil rauskommentiere gibt's keine Probleme...
Wo ist mein Fehler??
Code: [Auswählen]
INTERRUPT idt[256];
DWORD ptr_idtr[3];
bool LoadIDT()
{
ptr_idtr[0] = (sizeof(INTERRUPT)*256) << 16;
ptr_idtr[1] = (DWORD)idt;
__asm__ __volatile__ ("LIDT (%0) ": :"p" (&ptr_idtr[3]) );
return true;
}Bei dem asm-teil gibts ein Linkererror:
Code: [Auswählen]
\idt.obj(.text+0x4e):idt.cpp: undefined reference to '$_ptr_idtr'
\idt.obj(.text+0x260):idt.cpp: undefined reference to '$_ptr_idtr'Wenn ich den asm-teil rauskommentiere gibt's keine Probleme...
Wo ist mein Fehler??

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken


Gespeichert
Ich würde sowieso ein struct für die idtr empfehlen und nicht mit irgendwelchen Arrays rumfummeln. Das << 16 und &ptr_idtr[3] (bzw. (char*)ptr_idtr + 2) sind ja schon genug Argumente dagegen.