Bonjour quelqu’un pourrait m’expliquer le fonctionnement de ce code qui apparemment calcule factorielle 5.
j’ai vue que qu’on décrémente r0 mais la multiplication se trouve dans FIN elle n’est pas faite immédiatement (je crois), je voudrais savoir le fonctionnement des branchements et comment ce programme calcule !5.
Merci !!!!!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 MOV r0,# 5 BL PROC LDR r2,=RES STR r0,[r2] SWI 0x11 @ Stop program execution PROC: STR r0,[sp],# 4 STR lr,[sp],# 4 SUBS r0,r0,# 1 BNE SUITE MOV r0,# 1 SUB sp,sp,# 4 B FIN SUITE: BL PROC FIN: LDR lr,[sp],# -4 LDR r1,[sp], # -4 MUL r0,r1,r0 MOV pc,lr
Partager