[prev] 32 [next]

Local Variables

Two choices for local variables
  • on the stack ... +persist for whole function, -lw/sw needed
  • in a register ... +efficient, -not many registers
    • if need to persist across function calls, use $s? register
    • if used in very localised scope, can use $t? register
Example:

int sum(List L)
{
   if (L == NULL) return 0;
   int first = L->value;     // must be in $s?
   int rest = sum(L->next);  // can be in $t?
   return first + rest;
}