El stack empieza en 0xFFFF y crece hacia abajo, no es buena idea que uses esa memoria, ni nada cerca de esos lugares: si crece el stack te pisa lo que guardaste, y si guardás después que ya creció el stack, lo pisás vos. Si guardaste alfa y beta después de haber hecho el CALL, vos mismo estabas pisando la dirección de retorno, y ya el RET iba a ir a cualquier lado menos donde tenía que ir.
Saludos