Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void sortare(int v[], int n)
- {
- _asm {
- mov ebx, [ebp + 8] // pointer catre vector
- mov esi, 1 // i
- start_for1: cmp esi, [ebp + 12] // i<n
- jg exit_for1
- mov edi, esi
- inc edi // j=i+1
- start_for2 : cmp edi, [ebp + 12] // j<=n
- jge exit_for2
- mov ecx, [ebx + esi * 4] // a[i]
- mov edx, [ebx + edi * 4] // a[j]
- cmp ecx, edx
- jle increment
- mov[ebx + esi * 4], edx // interschimb
- mov[ebx + edi * 4], ecx
- increment : inc edi // j++
- jmp start_for2
- exit_for2 : inc esi // i++
- jmp start_for1
- exit_for1 :
- }
- }
- int main()
- {
- int v[10] = { 0, 9, 3, 1, 7 }, n = 5, i;
- _asm
- {
- push n
- lea ebx, v
- push ebx
- call sortare
- add esp, 8
- }
- for (i = 0; i < 5; i++)
- cout << v[i] << ' ';
- cout << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement