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;
}