Lucrarea nr. 11
 

Întreruperile în modul protejat

 
; lungimea tabelei vectorilor de intreruperi in modul real
IDT_LEN equ 3ffh
; structura tabelei descriptorilor de intreruperi
int_desc struc
offst dw ? ; handler offset
selector dw ? ; segment selector
db 0 ; unused in this descriptor format
flags db ? ; flag-byte
dw ? ; reserved
int_desc ends
Octetul flags contine:
flags[7] = P - segmentul este prezent in memorie;
flags[6,5] = DPL - drepturile de acces;
flags[4] = S - 0 pentru descriptor de intrerupere;
flags[3] = X - 0 pentru 16 biti
- 1 pentru 32 de biti
flags[2-0] = 110b
; declararea tabelei descriptorilor de intreruperi
idt_start int_desc
idt0 int_desc<,,,,>
idt1 int_desc<,,,,>
...
idt_lebgth $-idt0
; incarcarea adresei de start si lungimii tabelei descr. de intreruperi
; in registrul intern IDTR
lidt idt_start