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

Minuteur

Un minuteur est un compteur qui calcule un laps de temps spécifié par l’utilisateur. En assumant que le simulateur effectue 10 instructions par seconde, écrivez un programme qui se terminera après un nombre spécifié de secondes. Votre programme doit:

  • Utiliser le nombre de secondes dans R0.
  • Placer 1 dans R1 lorsque le nombre de secondes s'est écoulé.

À quel point est-ce que votre compteur est précis? Qu'arrive-t-il si vous modifiez le délai d'exécution des instructions dans le simulateur (voir dans le panneau "configuration")?

SECTION INTVEC

B main

SECTION CODE

main
; placer le nombre de secondes dans R0
MOV R0, #5

; La boucle plus bas utilise deux instructions, et chaque instruction 
; prend 0.1 secondes. Donc, la boucle prend 0.2 secondes. Effectuer 
; la boucle 5 fois équivaut à 1 seconde.
MOV R2, #5
MUL R3, R0, R2


boucle
SUBS R3, R3, #1
BNE boucle

; terminé! nous pouvons placer 1 dans R1
MOV R1, #1
  
fin
B fin

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 ; placer le nombre de secondes dans R0 MOV R0, #5 SECTION CODE main SECTION DATA

Instruction courante

Mémoire

Suivre PC
Cycle courant :