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

Entrée-Sortie

Développer une routine d'interruption IRQ Gestion qui met R1 à 1 si R1 = 0 et R1 à 0 si R1 = 1. Voyez R1 comme un signal permettant de lire un périphérique s'il vaut 1. Vous pouvez assumer que R1 ne peut avoir que 0 ou 1 comme valeur.

Pour tester les interruptions de type IRQ, vous devez les activer dans le panneau «Configurations» (dans l'onglet «Simulation»). N'oubliez pas la table des vecteurs d'interruption!

; Merci à Marco Bernier, Pascal Charpentier et Julien Blanchard pour leur aide!
SECTION INTVEC

B main
NOP
NOP
NOP
NOP
NOP
B Gestion
NOP

SECTION CODE

Gestion

; R1 = 1 - R1
RSB R1, R1, #1  

SUBS PC, LR, #4

main
ADD R0, R0, #0x01
ADD R4, R4, #0x01
B main


SECTION DATA

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 B main SECTION CODE Gestion main ADD R0, R0, #0x01 ADD R4, R4, #0x01 B main SECTION DATA PileGestion ALLOC32 10;

Instruction courante

Mémoire

Suivre PC
Cycle courant :