title: INC malfunction in inline assembly
body: <p>In this code:</p>
  
  <pre><code>int a[2]={5,2},i=0;
  asm volatile
  (
  "incl %1\n"
  "incl %0"
  :"+r"(a[i]),"+r"(i)
  :
  :
  );
  printf("%d\n",a[i]);
  </code></pre>
  
  <p>I'm trying to increase <code>a[1]</code> by <code>1</code> (for a result of 2+1=<code>3</code>) but the output shows <code>2</code>, which means it hasn't changed. What's the problem and how can I fix it?</p>