Autor Tema: instruccion dt para pic  (Leído 3006 veces)

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

Desconectado baicho

  • PIC10
  • *
  • Mensajes: 23
instruccion dt para pic
« en: 20 de Diciembre de 2003, 14:54:00 »
como andar fanaticos......qusiera saber si algunos de ustedes uso o se puede usar la instruccion dt  "hola", 0x00, .
Esta es una directiva del assembler la he probado, me carga la primera letra pero despues sale a cualquier lado, esto es para reemplazar las tablas ya que ocupan mucho lugar en el programa.
saludos

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: instruccion dt para pic
« Respuesta #1 en: 20 de Diciembre de 2003, 17:40:00 »
No la usé nunca, pero...
Como haces la llamada a esa tabla (dt). Te comento, que esto es sólo para simplificar el código, pero en realidad equivale a una tabla normal. Por tanto la llamada se realiza igual que en las otras, vas incrementado el puntero a estas y lo que te devuelve en W lo compruebas con cero. Si es cero significa que es el fin de la cadena. Por eso lo de 0x00 al final.

Saludos!
Saludos desde Huelva (ESPAÑA)

Desconectado baicho

  • PIC10
  • *
  • Mensajes: 23
RE: instruccion dt para pic
« Respuesta #2 en: 22 de Diciembre de 2003, 08:11:00 »
la instruccion es la siguiente :
dt            "pablo",0h
call            enviar_caracter
lo que pasa cuando carga la primera letra p luego no salta a call caracter se va a a culaquier lado, deberia y pasando por cada letra
bueno si alguien sabe algo.....ya que esto simplifica muchas lineas de programas al usar muchas tablas me parece muy util

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
RE: instruccion dt para pic
« Respuesta #3 en: 23 de Diciembre de 2003, 11:43:00 »
Hola compañeros: Yo he utilizado las directivas dt y las he simulado incluso con proteus y funcionan, una parte del programa sería:

Tabla_Mensajes  movwf   PCL    ;Se calcula el desplazamiento sobre la tabla.

Mensa_0   EQU   $   ;Apunta al primer carácter del mensaje 1.

   DT   "   PROBANDO",0x00
Mensa_1   EQU   $   ;Apunta al primer carácter del mensaje 2.

   DT   "     ESPERE",0x00
Mensa_2   EQU   $   ;Apunta al primer carácter del mensaje 3.
   DT  "  DISYUNTOR",0x00
Mensa_3   EQU   $   ;Apunta al primer carácter del mensaje 4.
   DT   "    ANULADO",0x00
Mensa_4   EQU   $   ;Apunta al primer carácter del mensaje 5.

Está un poco desordenado, pero consegui, realizar hasta 53 monsajes, pero hay que cambiar de página de programa.

Después en el programa debeis poner movlw Mensa_(el nº que quieras) y despues poner ya el call a la subrutina de visualización.
Si quereis más información un pequeño ejemplo avisarme.
Saludos y feliz navidad
Todos los días se aprende algo nuevo.