Autor Tema: Dudas con código .asm no puedo compilar con mplab  (Leído 5286 veces)

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

Desconectado soportemyf

  • PIC10
  • *
  • Mensajes: 20
Dudas con código .asm no puedo compilar con mplab
« en: 29 de Agosto de 2016, 19:06:42 »
Buenas Gente de foro.
No se si este es el sitio para postear este problema.
de ante mano gracias por la ayudda que me puedan dar.

Tengo un codigo en .asm, que copie de Cekit es para un display de 7 segmentos con el pic 16f84a y una memoria 24LC01, un pulsador para incrementar los digitos y un codificador bcd 74ls48p, la idea es de guardar los datos en ella para cuando se corta la luz.

El tema es que no se si esta bien el código ya que recien estoy empesando con este tipo de programación.
Les dejo el codigo para que lo vean y me oriente si debo corregir algo y como o donde, asi como esta cuando lo quiero compilar en MPLAB tira miles de errores y no entiendo nada.

Desde ya mil gracias de ante mano.
Atilio.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #1 en: 29 de Agosto de 2016, 23:19:32 »
2 cosas , deberias probar parte por parte y no TODO junto. Ya que si es como decis que recien estas arrancando, hacer todo junto se vuelve una complicacion. Aun mas usando un PIC16F84, lo complica mucho mas.

Y la ultima:

Citar
Les dejo el codigo para que lo vean y me oriente si debo corregir algo y como o donde, asi como esta cuando lo quiero compilar en MPLAB tira miles de errores y no entiendo nada.

Si pones los errores seria mas facil ayudarte.

Desconectado soportemyf

  • PIC10
  • *
  • Mensajes: 20
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #2 en: 30 de Agosto de 2016, 20:01:17 »
Hola Killerjc:

Gracias por tu respuesta.
Te comento que es un codigo que lo necesito asi completo, entiendo lo que me decis, pero lo necesito asi completo.
Aca te dejo el archivo de error.

Gracias por darme una mano.

Un saludo cordial.
Atilio.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #3 en: 02 de Septiembre de 2016, 14:44:25 »
Disculpa, pero no tuve demasiado tiempo.

Citar
Warning[205] C:\DIS7_SEG_MEM.ASM 1 : Found directive in column 1. (LIST)

Eso es por que esta el LIST sin ningun espacio adelante, lo unico que va desde la primer columna son las instrucciones.

------------------------------------------------------------------

Citar
Warning[207] C:\DIS7_SEG_MEM.ASM 7 : Found label after column 1. (status)
Warning[207] C:\DIS7_SEG_MEM.ASM 8 : Found label after column 1. (ptoa)
Warning[207] C:\DIS7_SEG_MEM.ASM 9 : Found label after column 1. (ptob)
Warning[207] C:\DIS7_SEG_MEM.ASM 10 : Found label after column 1. (addr)
Warning[207] C:\DIS7_SEG_MEM.ASM 11 : Found label after column 1. (datao)
Warning[207] C:\DIS7_SEG_MEM.ASM 12 : Found label after column 1. (slave)
Warning[207] C:\DIS7_SEG_MEM.ASM 13 : Found label after column 1. (txbuf)
Warning[207] C:\DIS7_SEG_MEM.ASM 14 : Found label after column 1. (count)
Warning[207] C:\DIS7_SEG_MEM.ASM 15 : Found label after column 1. (eeprom)
Warning[207] C:\DIS7_SEG_MEM.ASM 16 : Found label after column 1. (rxbuf)
Warning[207] C:\SHELL\DIS7_SEG_MEM.ASM 17 : Found label after column 1. (loops)
Warning[207] C:\SHELL\DIS7_SEG_MEM.ASM 18 : Found label after column 1. (loops2)
Warning[207] C:\DIS7_SEG_MEM.ASM 19 : Found label after column 1. (di)
Warning[207] C:\DIS7_SEG_MEM.ASM 20 : Found label after column 1. (do)
Warning[207] C:\DIS7_SEG_MEM.ASM 21 : Found label after column 1. (sdata)
Warning[207] C:\DIS7_SEG_MEM.ASM 22 : Found label after column 1. (sclk)
Warning[207] C:\DIS7_SEG_MEM.ASM 23 : Found label after column 1. (conta)
Warning[207] C:\DIS7_SEG_MEM.ASM 24 : Found label after column 1. (conta2)
Warning[207] C:\DIS7_SEG_MEM.ASM 25 : Found label after column 1. (trisa)
Warning[207] C:\DIS7_SEG_MEM.ASM 26 : Found label after column 1. (trisb)
Warning[207] C:\DIS7_SEG_MEM.ASM 27 : Found label after column 1. (z)
Warning[207] C:\DIS7_SEG_MEM.ASM 28 : Found label after column 1. (w)
Warning[207] C:\DIS7_SEG_MEM.ASM 29 : Found label after column 1. (c)
Warning[207] C:\DIS7_SEG_MEM.ASM 34 : Found label after column 1. (WAIT)
Warning[207] C:\DIS7_SEG_MEM.ASM 35 : Found label after column 1. (top2)
Warning[207] C:\DIS7_SEG_MEM.ASM 37 : Found label after column 1. (top)
Warning[207] C:\DIS7_SEG_MEM.ASM 49 : Found label after column 1. (retardo)
Warning[207] C:\DIS7_SEG_MEM.ASM 54 : Found label after column 1. (BSTART)
Warning[207] C:\DIS7_SEG_MEM.ASM 77 : Found label after column 1. (BSTOP)
Warning[207] C:\DIS7_SEG_MEM.ASM 97 : Found label after column 1. (BITOUT)
Warning[207] C:\DIS7_SEG_MEM.ASM 103 : Found label after column 1. (clkout)
Warning[207] C:\DIS7_SEG_MEM.ASM 113 : Found label after column 1. (BITIN)
Warning[207] C:\DIS7_SEG_MEM.ASM 131 : Found label after column 1. (TX)
Warning[207] C:\DIS7_SEG_MEM.ASM 134 : Found label after column 1. (TXLP)
Warning[207] C:\DIS7_SEG_MEM.ASM 144 : Found label after column 1. (RX)
Warning[207] C:\DIS7_SEG_MEM.ASM 149 : Found label after column 1. (RXLP)
Warning[207] C:\DIS7_SEG_MEM.ASM 159 : Found label after column 1. (LEER)
Warning[207] C:\DIS7_SEG_MEM.ASM 187 : Found label after column 1. (ESCRIB)
Warning[207] C:\DIS7_SEG_MEM.ASM 210 : Found label after column 1. (INICIO)
Warning[207] C:\DIS7_SEG_MEM.ASM 224 : Found label after column 1. (ini2)
Warning[207] C:\DIS7_SEG_MEM.ASM 227 : Found label after column 1. (ciclo)
Warning[207] C:\DIS7_SEG_MEM.ASM 232 : Found label after column 1. (pulsa)

Todo eso es por que pusiste un espacio al frente de la etiqueta

--------------------------------

Citar
Message[305] C:\DIS7_SEG_MEM.ASM 43 : Using default destination of 1 (file).
Message[305] C:\DIS7_SEG_MEM.ASM 45 : Using default destination of 1 (file).
Message[305] C:\DIS7_SEG_MEM.ASM 139 : Using default destination of 1 (file).
Message[305] C:\DIS7_SEG_MEM.ASM 153 : Using default destination of 1 (file).
Message[305] C:\DIS7_SEG_MEM.ASM 237 : Using default destination of 1 (file).

Eso es por que muchas instrucciones necesitan saber donde poner los datos, ejemplo en la linea 43 tenes

Código: [Seleccionar]
         decfsz  loops2   ;pregunta si termino 1 ms
Pero en realidad lo que decrementa lo podes poner en W o en registro, entonces lo correcto seria:

Código: [Seleccionar]
         decfsz  loops2, F   ;pregunta si termino 1 ms
De esa forma le decis que queres ponerlo en el mismo registro al resultado, de por si por default lo pone con F

-----------------------------

Citar
Error[108]   C:\DIS7_SEG_MEM.ASM 55 : Illegal character ()

Tal ves algo que agregaste pero no esta en tu codigo que pasaste, no hay parentesis

Citar
Error[112]   C:\DIS7_SEG_MEM.ASM 216 : Missing operator
Error[112]   C:\DIS7_SEG_MEM.ASM 78 : Missing operator
Error[112]   C:\DIS7_SEG_MEM.ASM 98 : Missing operator
Error[112]   C:\DIS7_SEG_MEM.ASM 115 : Missing operator

Creo que es por tu instruccion TRIS, pero no puedo asegurarlo debido a que las lineas no coinciden.

Citar
Error[113]   C:\DIS7_SEG_MEM.ASM 2 : Symbol not previously defined (_CP_OFF)
Error[113]   C:\DIS7_SEG_MEM.ASM 2 : Symbol not previously defined (_WDT_OFF)
Error[113]   C:\DIS7_SEG_MEM.ASM 2 : Symbol not previously defined (_LP_OSC)
Error[113]   C:\DIS7_SEG_MEM.ASM 55 : Symbol not previously defined (b’00111111)
Error[113]   C:\DIS7_SEG_MEM.ASM 78 : Symbol not previously defined (b’00111111)
Error[113]   C:\DIS7_SEG_MEM.ASM 98 : Symbol not previously defined (b’00111111)
Error[113]   C:\DIS7_SEG_MEM.ASM 115 : Symbol not previously defined (b’01111111)
Error[113]   C:\DIS7_SEG_MEM.ASM 206 : Symbol not previously defined (oops)
Error[113]   C:\DIS7_SEG_MEM.ASM 216 : Symbol not previously defined (b’10100000)

Aca hay varios errores, algunos FUSES no definidos, tal ves copiaste y pegaste, tenes que fijarte en los .inc
lo de los binarios tenes un error, hay un acento, y tenes que usar una comilla simple '  tanto para abrir como para cerrar b'00001111' o ya no recuerdo si 0b00001111
oops, no esta definido, tal ves intentas guardar algo y no un EQU asignando un registro.

Citar
Error[124]   C:\DIS7_SEG_MEM.ASM 55 : Illegal argument (expected single character)
Error[124]   C:\DIS7_SEG_MEM.ASM 78 : Illegal argument (expected single character)
Error[124]   C:\DIS7_SEG_MEM.ASM 98 : Illegal argument (expected single character)
Error[124]   C:\DIS7_SEG_MEM.ASM 115 : Illegal argument (expected single character)
Error[124]   C:\DIS7_SEG_MEM.ASM 216 : Illegal argument (expected single character)

Lamentablemente el codigo no tiene las mismas lineas.

Citar
Warning[209] C:\DIS7_SEG_MEM.ASM 55 : Missing quote
Warning[209] C:\DIS7_SEG_MEM.ASM 78 : Missing quote
Warning[209] C:\DIS7_SEG_MEM.ASM 98 : Missing quote
Warning[209] C:\DIS7_SEG_MEM.ASM 115 : Missing quote
Warning[209] C:\DIS7_SEG_MEM.ASM 216 : Missing quote

Igual con esto, tal ves es de los b'00000000

Citar
Warning[224] C:\DIS7_SEG_MEM.ASM 56 : Use of this instruction is not recommended.
Warning[224] C:\DIS7_SEG_MEM.ASM 79 : Use of this instruction is not recommended.
Warning[224] C:\DIS7_SEG_MEM.ASM 99 : Use of this instruction is not recommended.
Warning[224] C:\DIS7_SEG_MEM.ASM 116 : Use of this instruction is not recommended.

Tal ves estos realmente lo de los TRIS.

Citar
Message[302] C:\DIS7_SEG_MEM.ASM 212 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] C:\DIS7_SEG_MEM.ASM 214 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Esto es una aviso en el sentido que deberias tener ojo. ya que lo que intentas modificar no esta en el banco 0.

Desconectado puntocero

  • PIC10
  • *
  • Mensajes: 3
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #4 en: 02 de Septiembre de 2016, 17:47:48 »
ups
« Última modificación: 02 de Septiembre de 2016, 17:50:55 por puntocero »

Desconectado soportemyf

  • PIC10
  • *
  • Mensajes: 20
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #5 en: 02 de Septiembre de 2016, 17:52:00 »
ufff amigo que lindo lio me meti jaja

No hay problema tu tiempo es mas valioso asi que no te disculpes no hay necesidad, yo solo estoy tratando de hacer algo y aprender me cuesta un montos poder aprender esto ufff, dicen que es muy sencillo pero nada que ver lo veo bien complicado, justo encontre ese pdf de Cekit que habla de todo esto e incluye los codigo y me tire a la pileta, ayer me imprimi el pdf y me puse en MPLAB a copiar todo el codigo tranquilo y sin apuro y prestando mucha atencion a cada palabra pero con resultados negativos, por ej., en los lugares que me daba error (supongo yo) era en ptob o en ptoa, y mirando ej., veo que ponen portb o porta asi que trate de corregir eso, pero nada, lo que no entiendo mucho es lo de los espacios, se que son 4 columnas y trato de hacerlo talcual lo veo en el código original pero no se la cantidad de espacios que lleva cada cosa o si es por un tema de proligidad para poder leer mas comodo el código.

si es de tu interez te dejo el link de donde saque el código:

www.utp.edu.co/~eduque/arquitec/Proye84.pdf

bueno voy a ver cada cosa que me explicastes de los errores y ver que sale de todo esto, a golpes voy a tener que aprender jaja.

Mil gracias por tu tiempo, es muy importante lo que me has explicado asi que seguire adelante con esto ya que quiero hacer este proyecto y vere que curnos hago o como jaja.
Gracias.

Un cordial saludo.
Atilio.

Desconectado soportemyf

  • PIC10
  • *
  • Mensajes: 20
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #6 en: 02 de Septiembre de 2016, 20:12:59 »
Amigo KILLERJC:

Ufff pero salio funcionando  :-/ :-/ :-/ :-/ :-/

tome todos tus consejo, me copie todo elcódigo del PDF a un bloc de notas, lo deje talcual lo copie solo cambie la extención por .asm, y lo abri con el MPLAB, quite todos los espacios y lo acomode talcual esta en el PDF, 2 tab para la columna 2 1 tab para la 3 y lo que estaba a la izquierda ahi quedo, cambie B´00111111' por B'00111111' y compile.
Bien solo unas adbertencias que no se que son y te adjunto el archivo pero funciono, ahora solo me queda grabar el pic y ver si realmente quedo bien.

Gracias, gracias, y mil gracias.
no se si aprendi pero que lo logre compilar seguro.
Gracias por tu tiempo y luego te cuento si anda en protoboard.

Un cordial saludo.

Atilio.

Desconectado soportemyf

  • PIC10
  • *
  • Mensajes: 20
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #7 en: 03 de Septiembre de 2016, 12:43:57 »
Amigo Killerjc

Te cuento que grabe el pic monte el protoboard y funciona perfectos guarda en la memoria y demas.

al fin una jajaja   :-/ :-/ :-/ :-/ :D :D :D :D

Gracias nuevamente por tu aporte me vino al pelo y gracias a eso pude ver los errores, mil gracias.

Un cordial saludo.

Atilio.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #8 en: 03 de Septiembre de 2016, 12:57:01 »
te faltaba leer los errores :P

Desconectado soportemyf

  • PIC10
  • *
  • Mensajes: 20
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #9 en: 03 de Septiembre de 2016, 13:01:29 »
los lei pero no los entendi, con lo que me explicastes ahi recien le case la onda jaja.
Gracias nuevamente.
Un cordial saludo.
Atilio.

Desconectado soportemyf

  • PIC10
  • *
  • Mensajes: 20
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #10 en: 04 de Septiembre de 2016, 16:32:59 »
Amigo Killerjc:

Te hago una consulta:
Estuve viendo el codigo pero mirando otros código como ej., en esta que tengo no encuentro en que parte modificar para que el digito 9 en vez de salir como sale 5 segmentos que salga con 6 segmentos es decir con la parte horizontal de abajo = 10010000, en otros códigos vi esto: retlw b'10010000', pero en el cógo que yo tengo no hay nada de esto como para poder modificarlo, te lo consulta ya no se si es posible modificarlo y si es si en donde y que se debe poner.
Espero se entienda mi consulta
saludos
Atilio

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #11 en: 04 de Septiembre de 2016, 17:45:49 »
Si hiciste el diagrama que esta en el PDF, o usaste un CD4511 entonces no vas a poder cambiar el valor de salida, ya que el integrado que tenes al 9 lo hace de esa forma, si quisieras controlar exactamente cada uno de los segmentos necesitarias unas 7 salidas, en ves de 4.

Desconectado soportemyf

  • PIC10
  • *
  • Mensajes: 20
Re:Dudas con código .asm no puedo compilar con mplab
« Respuesta #12 en: 06 de Septiembre de 2016, 13:32:13 »
a ok amigo
si es el diagrama del PDF pero use el deco 74ls48, bien tendria que ser ese tipo de 9 con la patita de abajo pero no me quiero meter en camisa de 11 varas, ya que no estoy canchenro con esto, si les gusta asi bien y si no tambien jajaja.

Gracias mil

Atilio.-