title: Declaring local variables in assembly
body: <p>Is it possible to allocate locally-scoped memory in assembly?</p>
  
  <p>For example, consider the following (completely contrived) situation:</p>
  
  <p>I have two macros, one of which is dependent on the other. The first is:</p>
  
  <pre><code>minimum MACRO dest, num1, num2
  ; Finds the minimum of two unsigned numbers, stores the result in dest
  </code></pre>
  
  <p>And the second is:</p>
  
  <pre><code>tripMin MACRO dest, num1, num2, num3
  ; Finds the minimum of three unsigned numbers, stores the result in dest
  
  minimum firstMin, num1, num2
  minimum secondMin, num2, num3
  minimum dest, firstMin, secondMin
  </code></pre>
  
  <p>(I know that this isn't a realistic example for a variety of reasons, but bear with me.) </p>
  
  <p>Assuming that all the registers are otherwise occupied, is there any way to declare firstMin and secondMin locally within the macro? </p>
  
  <p>Or am I just better off freeing a register by pushing its value onto the stack and popping it back when I'm done?</p>