Autor Tema: Tengo un problema con el cambio de pagina  (Leído 2312 veces)

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

Desconectado pheidias

  • PIC10
  • *
  • Mensajes: 1
Tengo un problema con el cambio de pagina
« en: 06 de Abril de 2007, 21:08:16 »
Hola

resulta que tengo una tabla donde la mitad del codigo pertenece a una pagina y la mitad a otra, cuando hago un call a esa tabla para que me devuelva un valor resulta que me lo hace para valores menores a 18 si es mayor salta a la direccion 0x00, que puedo hacer?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Tengo un problema con el cambio de pagina
« Respuesta #1 en: 07 de Abril de 2007, 17:30:18 »
Hola

resulta que tengo una tabla donde la mitad del codigo pertenece a una pagina y la mitad a otra, cuando hago un call a esa tabla para que me devuelva un valor resulta que me lo hace para valores menores a 18 si es mayor salta a la direccion 0x00, que puedo hacer?

Si buscas tabla en el foro verás muchas formas que hay de leer tablas de largo mayor a 256 o incluso a pesar de que la tabla sea menor a 256 datos, también funciona para casos donde la tabla está a mitad de una página y otra.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Tengo un problema con el cambio de pagina
« Respuesta #2 en: 09 de Abril de 2007, 17:48:46 »
según lo poco que comentas sospecho que cuando la tabla pasa del valor 18, el contador de programa se desborda, prueba colocando la tabla al inicio.

org 0x0
goto inicio:

pegas la tabla aquí

inicio:

resto de la programación
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Tengo un problema con el cambio de pagina
« Respuesta #3 en: 09 de Abril de 2007, 22:05:39 »
Mi amigo plaitroquez con solucionarias el llamado a la tabla pero q pasa cuando este ejecutando la ultima instruccion de la página ??? no regresaria a la pagina "0" ??? es por eso que de igual manera tendria q jugar con el PCLATH

                       BCF PCLATH,4
                       BSF PCLATH,3             ;Select page 1(800h-FFFh)
                       CALL SUB1_P1            ;Call subroutine in page 1 (800h-FFFh)
SUB1_P1:                                          ;called subroutine page 1 (800h-FFFh)
{
 Rutina a realizar donde se debe incluir el retorno a la pagina cero
}
RETURN                                            ;return to Call subroutine in page 0 (000h-7FFh)

PD: Corriganme si me equivoco
El conocimiento se consigue a base de esfuerzo...

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Tengo un problema con el cambio de pagina
« Respuesta #4 en: 10 de Abril de 2007, 08:43:11 »
Yo creo que se debe buscar en el foro cómo y donde ubicar una tabla, incluso en cualquier lugar (Además que las notas de aplicación de microchip lo explican una y otra vez).

Si le decimos que ponga la tabla en la ubicación 0x00 no lo veo adecuado, por varias razones

1) El usuario puede tomarlo como regla general
2) El usuario puede que necesite interrupciones
3) Está hartamente comentado el uso de tablas en el foro , incluso en ubicaciones cualquiera y esto último me parece que es lo que necesite nuestro amigo.

Sin ánimo de ofender a nadie, solamente con el fin de que se evacúe la duda del usuario que es la de ubicar la tabla en cualquier lugar.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Tengo un problema con el cambio de pagina
« Respuesta #5 en: 10 de Abril de 2007, 11:16:10 »
bueno, como que no tomé en cuenta los casos para cuando salta a otras paginas, pero en la pregunta inicial no dá mayores explicaciones, por eso asumí que se podía resolver poniendo la tabla al inicio.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Tengo un problema con el cambio de pagina
« Respuesta #6 en: 10 de Abril de 2007, 11:46:52 »
bueno, como que no tomé en cuenta los casos para cuando salta a otras paginas, pero en la pregunta inicial no dá mayores explicaciones, por eso asumí que se podía resolver poniendo la tabla al inicio.

Si, eso está claro y tus intenciones por supuesto que son las mejores.  :)  :)

De de todas formas el problema que tiene es bastante común y simple de resolver, solamente leyendo el datasheet y una nota de aplicación del manejo de tablas. 

Sin mencionar además el foro.

Saludos

PD: A mi modo de verlo, sugiero siempre no poner más que un salto al inicio del vector de inicio de pic y que dicho salto sea bastante más allá que la sección del vector de interrupción.  Esto creo cubre la gran mayoría de los softwares.  Incluso si no usaremos interrupciones , para hacerla más fácil, ponemos el inicio muy cerca del 0x00 y asunto solucionado.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)