Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CPU 386
- GLOBAL permut
- SECTION .data
- SECTION .text
- permut:
- push ebp
- mov ebp, esp
- mov ecx, [ebp + 12]; n
- cmp ecx, 0
- je afficher
- loop1:
- mov edx, [ebp + 8] ; adresse du debut tableau
- mov eax, [ebp+12] ; n
- mov ebx, [(edx+eax*4)-4]; derniere elem du tableau
- mov esi,[(edx+ecx*4)-4]; v[i]
- ;swap le ieme et le dernier
- mov [edx + (eax*4)-4] , esi
- mov [(edx+ecx*4)-4], ebx
- ;sauvegarde de contexte
- push ecx;
- ;push param pour appeller permut
- dec, eax; n-1
- push eax
- push edx; v
- ;appel recursif
- call permut
- ; restaure le context
- pop edx
- pop eax
- pop ecx
- mov eax, [ebp+12]
- mov esi; [edx+(ecx*4)-4]; v[i]
- mov ebx, [(edx+eax*4)-4]; derniere elem du tableau
- mov [edx + (eax*4)-4] , esi
- mov [(edx+ecx*4)-4], ebx
- loop loop1
- afficher:
- ;afficher
- push BYTE[ebp +8]
- call afficher
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement