Para simplificar el uso de las instrucciones retlw el ensamblador MPASM facilita la directiva DT (Define Tabla) que sustituye el empleo repetitivo de muchas instrucciones retlw. Su sintaxis es:
DT <expr> [, <expr>, …., <expr>]
Esta directiva genera durante la fase de ensamblado instrucciones retlw, una instrucción por cada <expr>. Cada carácter de una cadena es almacenado en su propia instrucción retlw.
Ejemplo:
DT "MaR", 0x10, .15
Esta directiva genera las instrucciones:
retlw 0x4D ; (‘M’ en ASCII)
retlw 0x61 ; (‘a’ en ASCII)
retlw 0x52 ; (‘R’ en ASCII)
retlw 0x10 ; (16 en decimal)
retlw 0x0F ; (15 en decimal)
Debes tener cuidado de situar todas las directivas DT dentro de las primeras 256 posiciones del programa para no tener problemas, de esta forma:
ORG 0x00
goto Inicio
ORG 0x04
goto Interrupcion ; Aquí el salto a la subrutina de atención a la interrupción
Tabla1
addwf PCL,F
DT ..... ;Aquí las directivas DT
Tabla2
addwf PCL,F
DT .......
Inicio ; Aquí el inicio real del programa
.....
movlw PosicionTal ; Aquí recoge los valores de la tabla.
call Tabla1 ....
......
movlw PosicionCual
call Tabla2
....
Espero haberte ayudado.
Adrian.