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