9. Table des vecteurs d’interruption
La table des vecteurs d’interruption est de 1024
octets (1ko).
Chaque entrée de la table contient-le numéro de
segment CS(16 bits)-l'offset IP (16 bits)
CS:IP est l’adresse de début du sous-programme de
traitement d'interruption :.Cette adresse est appelée
Vecteur d'interruption
L’adresse de chaque vecteur étant sur 4 octets; (2
pour CS et 2 pour IP) il y’a: 1024/4 = 256
interruptions.
Le 8086 supporte 256 interruptions différentes,
chacune étant identifiée par un numéro compris
entre 0 et FFh.
8086
10. Appelle aux interruptions logicielles
L’instruction INT N° dans le 8086 permette d’appeler une fonction d’interruption
appelée ISR « Interrupt Service Routine ».
Cette interruption logicielle permet d’accéder à des fonctionnalités privilégiées du
système d’exploitation.
Les adresse CS et IP de l’interruption sont récupérées de la table des vecteurs
d’interruptions.
E.g. INT 21h : @IP est à l’adresse 0000:0084h (21h * 4), @CS est à l’adresse 0000:0086h.
Dans l’architecture ARM, l’instruction SVC N° (Supervisor Call) est utilisée.
Dans les architectures l’instruction modernes x86, SYSENTER et SYSCALL (sans
paramètre numéro) sont utilisées.
11. Appelle aux interruptions logicielles
Exemple (Affichage sur écran)
org 100h
jmp debut
message db 'mon premier affichage ',13,10
m db 'et cela sera t il affiche et ou ? ','$'
debut:
LEA dx, message
MOV AH, 09h
INT 21h
RET