4.16 Dt Directive
The MPASM DT directive creates a table of
retlw instructions.
Suggested Replacement
The PIC Assembler's IRP directive inside a suitable
psect performs a similar task.
The IRP directive works like a macro. The block of code
terminated by an ENDM token is output once for each value specified
after the argument name. Any occurrence of the name argument inside the definition
is replaced with the value being processed.
You can use the data psect to hold the values defined.
This psect is predefined once you include <xc.inc>. For
example:
PSECT data
symbols:
IRP number,48,65h,6Fh
retlw number
ENDM
This would expand to:
PSECT data
symbols:
retlw 48
retlw 65h
retlw 6Fh
Alternatively, you can define your own psect and allocate it to program
memory. Ensure that the psect's space flag is set to 0 (the default
value). It can be assigned an address by associating it with a suitable linker class
(e.g. CONST for PIC18 devices, or STRCODE for
other devices), or by explicitly positioning the psect using the linker's
-P option (accessible from the driver using the
-Wl option), as in the following PIC18 example.
PSECT romData,space=0,class=CONST
symbols:
IRP number,48,65h,6Fh
retlw number
ENDM
