add interrupt in/out description
This commit is contained in:
1 parent
c6cfe50a94
commit
9bcc548c9e
1 file changed
+12
@@ -119,6 +119,18 @@ et obtenir l’adresse de la routine de traitement correspondante.
|
|||||||
| 0x0000001C | Fast Interupt (FIQ) | fiq | 3 |
|
| 0x0000001C | Fast Interupt (FIQ) | fiq | 3 |
|
||||||
|
|
||||||
# Entrées / Sorties d'une interruption
|
# Entrées / Sorties d'une interruption
|
||||||
|
L'entrée d'une interruption se fait par la broche ***IRQ*** ou ***FIQ*** du processeur :
|
||||||
|
|
||||||
|
1. Termine l'instruction en cours
|
||||||
|
2. Sauvegarde du contexte : PC, CPSR
|
||||||
|
3. Met le bit du type d'interruption et le nouveau mode à jour
|
||||||
|
4. Sauvegarde l'addresse de retour (PC - 4) dans le LR du mode
|
||||||
|
5. Saute à l'adresse de la routine d'interruption qui se trouve dans la table des vecteurs
|
||||||
|
6. Sauvegarde les registres de travail
|
||||||
|
7. Exécute la routine d'interruption
|
||||||
|
|
||||||
|
La sortie d'une interruption :
|
||||||
|
|
||||||
|
1. Restaure les registres de travail
|
||||||
|
2. Restaure le SPSR du mode dans le CPSR et simultanément met à jour le PC
|
||||||
|
3. Reprend l'exécution du programme interrompu
|
||||||
Reference in new issue
Block a user