title: RISC vs CISC stack
body: <p>Here is a quote from the book "Introduction to Assembly language" about RISC (vs CISC)</p>
  
  <blockquote>
    <p>In MIPS, we could write procedures without using the stack. For most
    normal procedures, we do not have to use the stack. The availability
    of a large number of registers allows us to use register-based
    parameter passing. However, when we write recursive procedures, we
    have to use the stack.</p>
  </blockquote>
  
  <p>I am very confused about the magic with working without the stack.
  Any standard program has a chain calls: Main()-> Function1() -> Function2() -> ... -> </p>
  
  <p>Even with lots of registers (128) the way is usual:</p>
  
  <ol>
  <li>decide which registers you should take and save their context
  (usually pushing on the stack)</li>
  <li>provide operations </li>
  <li>return registers states (usually popping from the stack)</li>
  </ol>
  
  <p>Nobody stops us to use register-based parameter passing in CISC, especially on modern processors.
  So, how is it possible to do a program con RISC without the stack?</p>