PIC16F/LF1946/47
3.1.1
READING PROGRAM MEMORY AS
DATA
There are two methods of accessing constants in pro-
gram memory. The first method is to use tables of
RETLW instructions. The second method is to set an
FSR to point to the program memory.
3.1.1.1
RETLWInstruction
The RETLWinstruction can be used to provide access
to tables of constants. The recommended way to create
such a table is shown in Example 3-1.
EXAMPLE 3-1:
RETLW INSTRUCTION
constants
brw
;Add Index in W to
;program counter to
;select data
retlw DATA0
retlw DATA1
retlw DATA2
retlw DATA3
;Index0 data
;Index1 data
my_function
;… LOTS OF CODE…
movlw DATA_INDEX
call constants
;… THE CONSTANT IS IN W
The BRWinstruction makes this type of table very sim-
ple to implement. If your code must remain portable
with previous generations of microcontrollers, then the
BRW instruction is not available so the older table read
method must be used.
2010 Microchip Technology Inc.
Preliminary
DS41414A-page 21