Autor Tema: cantidad de goto gosub  (Leído 2036 veces)

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

Desconectado saracatunga

  • PIC10
  • *
  • Mensajes: 39
cantidad de goto gosub
« en: 18 de Noviembre de 2006, 16:08:35 »
Existe un límite en la cantidad de goto y gosub que puedo usar en un programa escrito en picbasic pro????

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: cantidad de goto gosub
« Respuesta #1 en: 18 de Noviembre de 2006, 16:56:28 »
Pues no parece haber limite mas que el de la memoria del PIC, aunque la ayuda dice que se use mas un gosub que un goto.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: cantidad de goto gosub
« Respuesta #2 en: 18 de Noviembre de 2006, 17:09:08 »
No existe límite.

Nunca me he preguntado esto, pero en ensamblador debes tener cuidado de no inundar el STACK. En PBP no creo que haya problema.
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: cantidad de goto gosub
« Respuesta #3 en: 18 de Noviembre de 2006, 20:17:49 »
Hola Mario!

Disiento con vos, me PARECE (nomas ;) ) que lo que uno escribe en basic termina siendo "traducido" por el compilador a Asembler, y las limitaciones del stack aparecen tarde o temprano.

El problema no viene de la mano de la CANTIDAD de gosub´s, si no del anidamiento. Es decir, una rutina que llama  a otra que a su vez llama a otra....y chau stack.
Una forma de evitar eso es duplicar pedazos de codigo (es decir, en lugar de llamar a una rutina mediante el stack, poner el trozo de codigo dentro de la rutina y a otra cosa), pero es algo tan burdo que dudo que ningun compilador lo haga!  :mrgreen:

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: cantidad de goto gosub
« Respuesta #4 en: 18 de Noviembre de 2006, 22:21:18 »
Creo que tienes razón.

Quizá no me expliqué bien en mi respuesta, implícitamente traté de mencionar ese punto.

Como bien lo mencionas, el compilador "traduce" tu código a ensamblador, por eso el comentario del STACK.

No solo pasa eso con CALLs y  GOTOs, también cuando tienes muchos IFs.

Yo me refería a que no hay límite en BASIC, pero tanto en BASIC como en ensamblador debes tener cuidado con el STACK.


De todas maneras es bueno que comentes, ahora que leo tu respuesta me doy cuenta que la mia quedó corta.

Interesante el hexapodo; tengo el libro de INSECTRONICS y AMPHOBIONICS de Karl Williams y le puedo entender a los movimientos para que se desplace.

No me había fijado que en tu imagen el monito te voltea a ver  :o
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: cantidad de goto gosub
« Respuesta #5 en: 19 de Noviembre de 2006, 15:56:52 »
Citar
No me había fijado que en tu imagen el monito te voltea a ver 
Estuve jugando con el Paint e hice un gif animado...;)

Citar
tengo el libro de INSECTRONICS y AMPHOBIONICS de Karl Williams
No sabia que existia, voy a ver de conseguirlo. Siempre es bueno ver como otro resuelve problemas parecidos a los de uno...
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado saracatunga

  • PIC10
  • *
  • Mensajes: 39
Re: cantidad de goto gosub
« Respuesta #6 en: 19 de Noviembre de 2006, 16:53:20 »
Como sé si he inundado el stack???, cuando compilo lo escrito en picbasic pro lo hace sin problemas. El compilador me avisa eso o no?? como me doy cuenta si lo he inundado??