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