Outro erro comum que o pessoal tem feito é alterar o valor de registradores na funcao chamada sem salvar o valor deles na pilha. Para ver exatamente quais registradores precisam ser salvos pela funcao chamada veja http://www.ime.usp.br/~kon/MAC211/Aula8.html no item dicas para EP. Fabio.