When %sp moves, make the space moved over undefined. Do this regardless of direction. In theory, we should mark all space between %sp and USRSTACK-MAXSSTACK as undefined every cycle. I'd prefer to do that with a new MEMSEG type for stack space, one that dynamically considers %sp a validity boundary.