Interrupt Descriptor Table — Änderungen 4601 → 4699

Zeile 42: Zeile 42:
  
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! 47-32          || 31-0
+
! 47-16        || 15-0
 
|-
 
|-
−
| Größe der IDT || Anfangsadresse der IDT
+
| Anfangsadresse der IDT || Größe der IDT  
 
|}
 
|}
  
Zeile 57: Zeile 57:
 
     void* pointer;
 
     void* pointer;
 
} __attribute__((packed)) idtp = {
 
} __attribute__((packed)) idtp = {
−
     .length = IDT_ENTRIES * 8,
+
     .length = IDT_ENTRIES * 8 - 1,
 
     .pointer = idt,
 
     .pointer = idt,
 
};
 
};
 
asm volatile("lidt %0" : : "m" (idtp));</c>
 
asm volatile("lidt %0" : : "m" (idtp));</c>
 +
 +
Oder in Assembler:
 +
<asm>lidt [idtr]
 +
 +
...
 +
 +
idtr:
 +
    dw IDT_ENTRIES * 8 - 1,
 +
    dd idt
 +
 +
idt:
 +
    ...</asm>
  
 
== Siehe auch ==
 
== Siehe auch ==