IDT steht für Iinterrupt Descriptor Table. Sie wird verwendet um Interrupts [[ISR]]s zuzuordnen. Die Einträge heißen Interrupt Gates == Aufbau == Die IDT kann maximal 256 Interruptgates beinhalten, da es nur 256 Interrupts gibt. Ein Interruptgate in der IDT ist 8 Byte groß und sieht folgendermaßen aus: {| border="1" cellpadding="2" ! 63-48 || 47 || 46-45 || 44 || 43 || 42-40 || 39-32 || 31-24 || 16-0 |- | Offset 31-16 || Present || DPL || 0 || D || Type (110b) || 0 || Selektor || Offset 0-15 |} === Offset === Gibt das Offset des ISR innerhalb des Segments an. === Present === Gibt an ob dieser Eintrag benutzt wird. === DPL === Gibt das Descriptor Privilege Level an, das man brauch um diesen Interrupt aufrufen zu dürfen. === D === Gibt an ob es sich um ein 32bit (1b) oder um ein 16bit (0b) Segment handelt. === Type === Sollte bei einem Interruptgate immer 110b sein. === Selektor === Gibt den Selektor an. == Laden einer IDT == Zum Laden einer IDT muss die Instruktion ''lidt <p>'' mit der Adresse eines Selektors geladen werden. Dieser Selektor sind folgendermaßen aus: {| border="1" cellpadding="2" ! 47-32 || 31-0 |- | Größer der IDT || Adresse der IDT |}