Autor Tema: No se puede hacer en Niple!  (Leído 3813 veces)

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

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 148
No se puede hacer en Niple!
« en: 18 de Agosto de 2010, 23:20:02 »
A los que nos aconpañan.
No he logrado hacer esta rutina:

selector
   movlw b'00000101'
   andwf contador,0                 ;mascara contador p/limitar valor em 5
   addwf pcl,1                      ;suma contador con pcl, p/saltar p/prog N
   goto prog_1
   goto prog_2
   goto prog_3
   goto prog_4
   goto prog_5
   goto inicio
Subo el NPL p/que vean.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: No se puede hacer en Niple!
« Respuesta #1 en: 18 de Agosto de 2010, 23:28:30 »
Hola Fidel!

Esa máscara está medio rara!  :mrgreen:

La máscara como la estás usando no está limitando correctamente el valor, es más, te lo está modificando con ciertos valores de entrada. Deberías realizar una resta para comprobar que el valor sea menor a 5, y en caso de que no lo sea, corregirlo mediante una resta u otro método. Con máscaras también se podría, pero puede que sea algo más complejo.

Saludos.

"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 148
Re: No se puede hacer en Niple!
« Respuesta #2 en: 19 de Agosto de 2010, 13:02:26 »
Hola Bruno.
Creo que tienes razón, ese pedazo de codigo lo escribi en el post. Queria que niple me reproduciera algo parecido (p/eso subi el NPL).
El tema es: que quando me genera el codigo asm, no tira todos los goto y muere en el primero.
Lo pongo modificado y probado con mplab.

selector
   movf contador,w          ; =1,2,3,4,5,6 uno destos estara cargado en contador
   addwf pcl,1                      ;suma contador con pcl, p/saltar p/prog N
   nop                            ;
   goto prog_1
De aca p/delante, no pone nada, aunque este diseñado en npl. Pero claro que lo he hecho de otras formas, por ej.: Rutinas Básicas/Funciones Lógicas/Comparar Reg. (6 rombos los pongo en cadena) pero queda muy grande.
Deberian poner esta rutina edictable en herramientas (una entrada y N salidas), igual a Tablas.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: No se puede hacer en Niple!
« Respuesta #3 en: 19 de Agosto de 2010, 13:23:10 »
Hola Fidel. Lamento decirte que nunca programé en Niple, por lo que desconozco cómo hacer un COMPUTED GOTO en el mísmo. Por ahí alguien por acá pueda orientarte más.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 148
Re: No se puede hacer en Niple!
« Respuesta #4 en: 19 de Agosto de 2010, 18:36:56 »
gracias Bruno, ojala el amigo Mike79 lea el post y me de una mano. O entoces mejor seria Canito p/arreglar esto, pero parece que nos abandono. :5] :5]
Saludos.

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: No se puede hacer en Niple!
« Respuesta #5 en: 23 de Agosto de 2010, 01:39:47 »
Amigo fidel de tu problema yo nada de nada pero enviale unos meil a Jorge aunque se esta muy ocupado tardara pero seguro te da bola.Un Abrazo sergio peralta

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: No se puede hacer en Niple!
« Respuesta #6 en: 24 de Agosto de 2010, 13:49:22 »
Hola Fidel

respecto al proyecto de Niple que has psoteado, no te puede generar el asm pues has colocado un monton de etiquetas solamnete y en ningun lado se llama a esas etiquetas.
Cuando realizas la comprobacion, no puedes, aunque  al final salga grande no puedes ir preguntando repetidas veces el valor del contador cada vez con un numero distinto y dependiendo del resultado realizar: prog1, o 2 o 3,.....

Es una idea no se si será la mejor. Lo que si es cierto, creo, es que si pones goto dentro de las tablas, siempre vas a tener saltos incontrolados.

fer.
Todos los días se aprende algo nuevo.

Desconectado patoaparato

  • PIC10
  • *
  • Mensajes: 16
Re: No se puede hacer en Niple!
« Respuesta #7 en: 25 de Agosto de 2010, 14:21:09 »
pense que yo solamente usaba esa rutina :D, a mi juicio creo que es mas rapido que hacer un "switch" ya que no se compara valor por valor, sino que salta inmediatamente (en DSP se saca provecho), el problema es que puede ser inestable si te sales de los limites  :lol:
yo tambien lo intente una vez con niple y tube el mismo problema, tendras que hacerlo manualmente
xau

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 148
Re: No se puede hacer en Niple!
« Respuesta #8 en: 26 de Agosto de 2010, 11:12:06 »
Cierto Fer.
De la forma que me planteas, ya lo hice varias vezes y queria explorar caminos mas cortos.
Y si la hago a mano funciona, siempre tomando cuidado que los saltos se queden dentro un solo entorno (sea el principal o subrutina).
Lamento que no lo tengan inplementado, asi como las tablas.
El amigo Pato, parece que tuvo la misma frustración.
Ojala que los desenvolvedores agreguen un menu para esto. Seria un bloque con una entrada y varias salidas.
Pato de adonde eres? yo soy brasileño y me crie en Chile (Santiago) de los tres hasta los diezysite años.
Saludos.
Fidel.