A voir également:
- Factorielle en assembleur
- Algorithme factorielle boucle tant que ✓ - Forum Programmation
- Ti college plus factorielle - Forum calculatrices
- Factorielle sur casio ✓ - Forum calculatrices
- Assembleur pc salaire ✓ - Forum Études / Formation High-Tech
- Formation monteur assembleur pc ✓ - Forum Études / Formation High-Tech
2 réponses
lirey83
Messages postés
75
Date d'inscription
mardi 2 janvier 2007
Statut
Membre
Dernière intervention
18 août 2007
13
4 avril 2007 à 12:15
4 avril 2007 à 12:15
Salut,
Tu écris ton code en C, tu compiles et tu regardes le code assembleur généré (option -S ou /S du compilateur).
Tu écris ton code en C, tu compiles et tu regardes le code assembleur généré (option -S ou /S du compilateur).
; unsigned long factorielle (unsigned int);
; retourne dans EAX la factorielle du nombre en EBP+8
; Registres détruits : EAX, ECX, EDX
_factorielle proc
push ebp
mov ebp, esp
; Sauvegarde des registes conventionnelle
push ebx
mov ebx, [ebp+8]
test ebx, ebx
jnz appel_recursif
; Si n == 0 on retourne 1
mov eax, 1
jmp fin
; Sinon on retourne n*factorielle(n-1)
appel_recursif:
lea ecx, [ebx-1] ;
push ecx ;
call _factorielle ; EAX = factorielle (n-1)
add esp, 4 ;
mul ebx ; EDX:EAX = EAX*EBX
fin:
; Restauration des registre
pop ebx
pop ebp
ret
_factorielle endp
; retourne dans EAX la factorielle du nombre en EBP+8
; Registres détruits : EAX, ECX, EDX
_factorielle proc
push ebp
mov ebp, esp
; Sauvegarde des registes conventionnelle
push ebx
mov ebx, [ebp+8]
test ebx, ebx
jnz appel_recursif
; Si n == 0 on retourne 1
mov eax, 1
jmp fin
; Sinon on retourne n*factorielle(n-1)
appel_recursif:
lea ecx, [ebx-1] ;
push ecx ;
call _factorielle ; EAX = factorielle (n-1)
add esp, 4 ;
mul ebx ; EDX:EAX = EAX*EBX
fin:
; Restauration des registre
pop ebx
pop ebp
ret
_factorielle endp
Salut j'ai besoin solution de cette exercices
Écrire un programme assembleur pour MIPS R3000 qui permet de calculer le factoriel du nombre 6
Écrire un programme assembleur pour MIPS R3000 qui permet de calculer le factoriel du nombre 6