Advertisement
Guest User

Alexutzu dagutzu

a guest
Jan 24th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. void sortare(int v[], int n)
  2. {
  3.     _asm {
  4.         mov ebx, [ebp + 8]              // pointer catre vector
  5.         mov esi, 1                      // i
  6.         start_for1: cmp esi, [ebp + 12] // i<n
  7.                     jg exit_for1   
  8.                     mov edi, esi       
  9.                     inc edi             // j=i+1
  10.                     start_for2 : cmp edi, [ebp + 12]        // j<=n
  11.                                  jge exit_for2
  12.                                  mov ecx, [ebx + esi * 4]   // a[i]
  13.                                  mov edx, [ebx + edi * 4]   // a[j]
  14.                                  cmp ecx, edx
  15.                                  jle increment
  16.                                  mov[ebx + esi * 4], edx    // interschimb
  17.                                  mov[ebx + edi * 4], ecx
  18.                                  increment : inc edi            // j++
  19.                                              jmp start_for2    
  20.                                              exit_for2 : inc esi        // i++
  21.                                                          jmp start_for1
  22.                                                          exit_for1 :
  23.  
  24.     }
  25. }
  26. int main()
  27. {
  28.     int v[10] = { 0, 9, 3, 1, 7 }, n = 5, i;
  29.     _asm
  30.     {
  31.         push n
  32.         lea ebx, v
  33.         push ebx
  34.         call sortare
  35.         add esp, 8
  36.     }
  37.     for (i = 0; i < 5; i++)
  38.         cout << v[i] << ' ';
  39.     cout << endl;
  40.     return 0;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement