Hola a todos, este post es para contarles de una experiencia algo traumatica. Seguro conoceran la famosa directiva DT, la cual es muy utilizada para crear tablas en una sola linea. Esta directiva trae un grave inconveniente, un error que no es visto por Mplab.
El error solo aparece si acostumbras a colocar las tablas al inicio del programa, despues del org 5 y antes de cualquier otro banco... mi experiencia fue en un codigo en el cual coloco 3 tablas entre org 5 y org 100 en formato utilizando el DT para ahorrar lineas, las tablas constan de 84 bytes cada una, por lo que entre el org 5 y org 100 solo entrarian 2 y media, para mi sorpresa, usando el DT, puedo colocar las 3 sin problemas y sin aviso de escritura en espacio ya utilizado. Al intentar colocar esas mismas tablas pero reemplazando la directiva DT por el acostumbrado RETLW, Mplab me arroja el siguiente error:
Error[118] D:\LCD\PROGRAMA\ICONO.ASM 319 : Overwriting previous address contents (0100)
Error[118] D:\LCD\PROGRAMA\ICONO.ASM 319 : Overwriting previous address contents (0100)
Como es posible que Mplab no vea el error usando la directiva DT???... esta directiva no fue hecha para reemplazar el inmenso trabajo al crear tablas en varias lineas??, me costo bastante encontrar la falla, ya que mirando el archivo .lst todo parecia normal. Espero les sea util la experiencia, si tienes alguna interesante para contarnos, bienvenida sea. Gracias por leerme y hasta pronto!