title: Assembly and C compiler
body: <p>I state that I am a beginner.I wrote a small program, max.c</p>
  
  <pre><code>int max(int a,int b){
    if(a &gt; b) return a;
    return b;
  }
  </code></pre>
  
  <p>I compiled with:</p>
  
  <pre><code>gcc -m32 -S max.c
  </code></pre>
  
  <p>to generate the IA32 assembly program. Then, I created a small main trial to test the operation of the program, main-max.c</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int max(int a,int b);
  int main(){
    printf("%d\n",max(3,-5));
    printf("%d\n",max(3,5));
    return 0;
  }
  </code></pre>
  
  <p>I compiled and passing the assembly code of the program previously compiled:</p>
  
  <pre><code>gcc -m32 main-max.c max.s -o max
  </code></pre>
  
  <p>gives me the following error:</p>
  
  <pre><code>/usr/bin/ld: saltato /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a incompatible durante la ricerca di 
  /usr/bin/ld: impossibile trovare -lgcc
  /usr/bin/ld: saltato /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so incompatible durante la ricerca 
  /usr/bin/ld: impossibile trovare -lgcc_s
  collect2: error: ld returned 1 exit status
  </code></pre>
  
  <p>you know help me?</p>