Si haces un goto dentro de una subrutina para pasar a otra subrutina se te reseteará.
Creo haber leído que estamos hablando de subrutinas, ¿dónde se almacena PC al llamarse a la subrutina? en la pila, por lo tanto si estamos dentro de una subrutina y hacemos un goto a un trozo de codigo de otra subrutina distinta, no estamos anidando subrutinas, no!!!, simplemente estamos volviendo loco al PC, a no ser, como ha indicado maunix que el goto se haga correctamente y hacerlo correctamente significa el recuperar después los datos almacenados en la pila (¿es un método bueno de programación? :shock: ), sino el pic se 'reseteara' (o se quedara colgado), pero ¿para hacer subrutinas anidadas hace falta el goto? pues no, porque no es correcto, para eso esta la instrucción call que guarda correctamente los parametros en la pila para su correcta utilización, y por supuesto los correspondientes return.
Gracias por vuestras aclaraciones pero veo un problema... me comentáis que es cuando llega a un GOTO no correcto o cuando no se hace un buen anidamiento de los CALL, pero si al principio del programa lo fuerzo a que si no pulsa un botón el programa no continuará y este sigue haciendo el reset, ¿a que es debido ya que ni si quiera llega al primer CALL o GOTO?
Voy a seguir echandole un vistazo y si no encuentro nada lo cuelgo para que lo comentemos.
:mrgreen:
Llegado a este punto es mejor dejar de elocubrar y pedir a guancho2002 que postee el código y ver que puede pasar.
Un saludo
En cuanto a lo de subir el programa no lo he hecho porque era bastante extenso pero si alguien está interesado que lo diga y lo subo. No es mas que un simple contador programable.