title: Are local variables necessary?
body: <p>My understanding is the C calling convention places arguments on the stack prior to calling a function. These arguments could be accessed within the function through explicit stack parameters using <code>EBP</code> as a reference such as <code>[EBP + 8]</code> or <code>[EBP + 12]</code>. </p>
  
  <p>My question is if it could be accessed this way, why are local variables necessary? - couldn't a function just work with the arguments directly? Is it just for cases where the function has no parameters, but still initializes local variables for internal use?</p>