title: System call uses registers or stack to pass the parameters to kernel?
body: <p>I have a confusion about the system call. In X86, System Call uses eax to pass the system call number to kernel.</p>
  
  <p>But what does it uses to pass the parameters to kernel, at some place I am seeing it uses stack and at few places it says, it uses EBX, ECX, etc registers. </p>
  
  <p>So can someone confirm which one is correct ?</p>
  
  <p>Fore reference :
  this <a href="http://www.enseignement.polytechnique.fr/informatique/INF583/INF583_3.pdf" rel="nofollow">link</a> says it uses stack.</p>
  
  <p>And this <a href="http://www.tldp.org/HOWTO/html_single/Implement-Sys-Call-Linux-2.6-i386/" rel="nofollow">link</a> says it uses registers.</p>