Accueil
Démo
Exercices formatifs
Travaux pratiques
Simulation libre
Sessions sauvegardées

Vecteur d'interruptions

Écrivez le vecteur d'interruptions dans la section du code INTVEC pour que l'interruption Reset soit branchée sur l'étiquette main, que l'interruption IRQ soit branchée sur l'étiquette IRQ et que l'interruption FIQ soit branchée sur l'étiquette FIQ.

Pour tester les interruptions de type IRQ/FIQ, vous devez les activer dans le panneau «Configurations» (dans l'onglet «Simulation»).

SECTION INTVEC
B main
NOP
NOP
NOP
NOP
NOP
B IRQ
B FIQ
SECTION CODE

SECTION CODE

IRQ
; Initialisation de la pile IRQ
LDR SP, =PileIRQ
ADD SP, SP, #0x28

; On sauvegarde le contexte
PUSH {R0} 

MOV R0, #0x00

; On restaure le contexte
POP {R0} 

; Fin de la routine de traitement de l'interruption IRQ
SUBS PC, LR, #4

FIQ
; Initialisation de la pile FIQ
LDR SP, =PileFIQ
ADD SP, SP, #0x28

; On sauvegarde le contexte
PUSH {R0} 

MOV R0, #0xFF

; On restaure le contexte
POP {R0} 

; Fin de la routine de traitement de l'interruption FIQ
SUBS PC, LR, #4

; Programme principal
main
ADD R0, R0, #0x01
MOV R1, R0
MOV R2, R1
MOV R3, R2
B main

SECTION DATA
PileFIQ ALLOC32 10;
PileIRQ ALLOC32 10;

Registre Généraux (User)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 (sp)
R14 (lr)
R15 (pc)

Registre Généraux (FIQ)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8 FIQ
R9 FIQ
R10 FIQ
R11 FIQ
R12 FIQ
R13 FIQ (sp)
R14 FIQ (lr)
R15 (pc)

Registre Généraux (IRQ)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 IRQ (sp)
R14 IRQ (lr)
R15 (pc)

Registre Généraux (SVC)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 SVC (sp)
R14 SVC (lr)
R15 (pc)

État courant

 CPSRSPSR
Negatif (N)
Zero (Z)
Retenue (C)
Dépassement (V)
Ignore IRQ
Ignore FIQ

Configurations

Interruptions

Activer
Type
 cycles
 cycles (premier)
Vitesse d'exécution :  ms

Français

SECTION INTVEC ; Vecteur d'interruption ici SECTION CODE IRQ ; Initialisation de la pile IRQ LDR SP, =PileIRQ ADD SP, SP, #0x28 ; On sauvegarde le contexte PUSH {R0} MOV R0, #0x00 ; On restaure le contexte POP {R0} ; Fin de la routine de traitement de l'interruption IRQ SUBS PC, LR, #4 FIQ ; Initialisation de la pile FIQ LDR SP, =PileFIQ ADD SP, SP, #0x28 ; On sauvegarde le contexte PUSH {R0} MOV R0, #0xFF ; On restaure le contexte POP {R0} ; Fin de la routine de traitement de l'interruption FIQ SUBS PC, LR, #4 ; Programme principal main ADD R0, R0, #0x01 MOV R1, R0 MOV R2, R1 MOV R3, R2 B main SECTION DATA PileFIQ ALLOC32 10; PileIRQ ALLOC32 10;

Instruction courante

Mémoire

Suivre PC
Cycle courant :