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

Factorielle

Développez la fonction Factorielle qui calcule la factorielle d'un nombre placé dans R0 et qui retourne le résultat dans R1.

SECTION INTVEC

B main

SECTION CODE

main
LDR SP, =maPile
ADD SP, SP, #40

; valeurs de test: essayons de calculer 3! (3 x 2 x 1)
MOV R0, #3

; appel de la fonction Factorielle
BL Factorielle

fin
B fin

Factorielle
; Écrivez votre code ici

MOV R1, #1

boucle

CMP R0, #0
BEQ finBoucle
MUL R1, R1, R0
SUB R0, R0, #1
B boucle

finBoucle
BX LR


SECTION DATA
maPile 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 B main SECTION CODE main LDR SP, =maPile ADD SP, SP, #40 ; valeurs de test: essayons de calculer 3! (3 x 2 x 1) MOV R0, #3 ; appel de la fonction Factorielle BL Factorielle fin B fin Factorielle ; Écrivez votre code ici BX LR SECTION DATA maPile ALLOC32 10

Instruction courante

Mémoire

Suivre PC
Cycle courant :