TheBulgarianWolf

Assembly Test

Mar 10th, 2021
557
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iostream>
  2. using namespace std;
  3.  
  4.  
  5. int arrone[10];
  6. int arrtwo[10];
  7.  
  8.  
  9. int test(int len) { //This function mirrors an array
  10.     _asm {
  11.         mov ecx, 0
  12.         mov edx, len
  13.         aa :
  14.         mov eax, [arrone + 4 * ecx]
  15.             mov[arrtwo + 4 * edx], eax
  16.             inc ecx
  17.             dec edx
  18.             cmp ecx, len
  19.             jle aa
  20.     }
  21. }
  22.  
  23.  
  24. int testt(int a) { //Checks if an array is mirrored
  25.     _asm {
  26.         mov ecx, 0
  27.         mov edx, a
  28.         aa :
  29.         mov eax, [arrone + 4 * ecx]
  30.             mov ebx, [arrtwo + 4 * edx]
  31.             cmp eax, ebx
  32.             jne neravno
  33.             inc ecx
  34.             dec edx
  35.             cmp ecx, a
  36.             jl aa
  37.             mov eax, 1
  38.             jmp return
  39.             neravno:
  40.         mov eax, -1
  41.             return :
  42.     }
  43. }
  44.  
  45. int PrintArr(int* array, int lenght) {
  46.     for (int i = 0; i < lenght; i++) {
  47.         cout << array[i] << ", ";
  48.     }
  49.     cout << endl;
  50.     return 1;
  51. }
  52.  
  53. int main() {
  54.     arrone[0] = 0;
  55.     arrone[1] = 1;
  56.     arrone[2] = 2;
  57.     arrone[3] = 3;
  58.     arrone[4] = 4;
  59.     arrone[5] = 5;
  60.     arrtwo[0] = 5;
  61.     arrtwo[1] = 4;
  62.     arrtwo[2] = 3;
  63.     arrtwo[3] = 2;
  64.     arrtwo[4] = 1;
  65.     arrtwo[5] = 0;
  66.  
  67.     cout << test(5) << endl;
  68.     PrintArr(arrtwo, 5);
  69. }
RAW Paste Data