может я и чайник - но почему бы не стирать PUSH'ами с конца подпрограммы? без всякого ADD.. быстрее же на порядок