From 9bcc548c9e3d4c5cdcdc008a65816837d29b8c96 Mon Sep 17 00:00:00 2001 From: Fastium Date: Tue, 6 Feb 2024 12:40:33 +0100 Subject: [PATCH] add interrupt in/out description --- infotro/SEm/INT.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/infotro/SEm/INT.md b/infotro/SEm/INT.md index 0d1dde2..1d57ac2 100644 --- a/infotro/SEm/INT.md +++ b/infotro/SEm/INT.md @@ -119,6 +119,18 @@ et obtenir l’adresse de la routine de traitement correspondante. | 0x0000001C | Fast Interupt (FIQ) | fiq | 3 | # 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