Use frame pointer for stack operands.  This fixes stack object offsets begin completely wrong, but still isn't quite right:
 - SP is [still] not reduced by the proper size at startup.
 - Vector stack operands are not properly aligned
 - frame pointer is not restored at the end of the function