Autor Tema: PSI- "GOTO" - "GOSUB"  (Leído 1895 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
PSI- "GOTO" - "GOSUB"
« en: 02 de Septiembre de 2008, 09:36:34 »
hola amigos

Tengo una duda sobre usar goto o gosub, el PSI me da un warning como si la trazada fuera demasiado largo o demasido anidada.

si tenemos un programa diseñado con PSI y hacemos una llamada a una etiqueta, la ejecucion del programa seguira por ahi hasta la finalizacion del programa, pero si usamos una funcion se genera el mismo salto? ahora no recuerdo si el programa al trabajar con funciones espera un retorno a la ultima posicion desde donde se ha saltado.

Amigos alguien me saca de dudas.

un saludo


Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: PSI- "GOTO" - "GOSUB"
« Respuesta #1 en: 03 de Septiembre de 2008, 00:01:54 »
Esto vale para todos los lenguajes:

Goto, no se debe de utilizar o utilizarlo con mucha prudencia en un programa.

Gosub, siempre que hay un Gosub tienen que haber un Return.

Funciones y procedimientos, se deben dejar que lleguen a su fin, para que generen su correspondiente retorno.

Cada vez que se produce un salto con retorno ya sea mediante Gosub, Funciones o Procedimientos se genera una pila que va guardando cada posición de memoria a la que retornar de cada salto, esta pila se va vaciando cada vez que se produce un Return o se llega al final del procedimiento o función. Si esto no se respeta la pila seguira creciendo y llegará el momento que sencillamente nos quedaremos sin memoria de datos y se producirá una parada o perdida de control de nuestro programa por parte del micro.

PD. Hasta la presente el Basic del PSI no tiene puesto limitación a anidamientos ni a saltos con retorno, tan solo están limitados por la cantidad de memoria del pic.
« Última modificación: 03 de Septiembre de 2008, 00:18:27 por dogflu66 »
Saludos desde Granada, España.