|
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 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;
|