Wäre es dann so möglich?
static void set_idt_entry(int i, unsigned long base, unsigned int selektor, int flags)
{
idt[i] = base & 0xffff;
idt[i] |= (selektor & 0xffff) << 16;
idt[i] |= (flags & 0xffLL) << 40;
idt[i] |= ((base >> 16) & 0xffff) << 48;
}