// School of Computer Engineering
// K.N. Toosi University of Technology

#include <stdio.h>

void printArray(const int a[], int n) {
  for (int i = 0; i < n; i++)
    printf("%d, ", a[i]);
  
  putchar('\n');
  
}

int main() {

  int array[10] = {1,2,3,4,5,6,7,8,9,10};
  
  printArray(array,10);

  for (int i = 0; i < 10; i++) {
    asm volatile ("mov eax, [ebx+4*esi];"
                  "lea eax, [eax+8*eax];"
                  "mov [ebx+4*esi], eax"
                  :
                  : "b" (array), "S" (i)
                  : "memory", "eax");
  }

  printArray(array,10);
}