English
Language : 

PIC16F193X Datasheet, PDF (25/418 Pages) Microchip Technology – 28/40/44-Pin Flash-Based, 8-Bit CMOS Microcontrollers with LCD Driver and nanoWatt Technology
FIGURE 2-3:
PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F1938/PIC16LF1938/
PIC16F1939/PIC16LF1939
PC<14:0>
CALL, CALLW
15
RETURN, RETLW
INTERRUPT, RETFIE
Stack Level 0
Stack Level 1
Stack Level 15
Reset Vector
0000h
On-chip
Program
Memory
Interrupt Vector
Page 0
Page 1
Page 2
Page 3
Page 4
0004h
0005h
07FFh
0800h
0FFFh
1000h
17FFh
1800h
1FFFh
2000h
Page 7
Rollover to Page 0
3FFFh
4000h
Rollover to Page 7
7FFFh
PIC16F193X/LF193X
2.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.
2.1.1.1 RETLW Instruction
The RETLW instruction can be used to provide access
to tables of constants. The recommended way to create
such a table is shown in Example 2-1.
EXAMPLE 2-1:
constants
brw
retlw DATA1
retlw DATA2
retlw DATA3
retlw DATA4
RETLW INSTRUCTION
my_function
;… LOTS OF CODE…
movlw
DATA_INDEX
call constants
;… THE CONSTANT IS IN W
The BRW instruction 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.
2.1.1.2 Indirect Read with FSR
The program memory can be accessed as data by set-
ting bit 7 of the FSRxH register and reading the match-
ing INDFx register. The MOVIW instruction will place the
lower 8 bits of the addressed word in the W register.
Writes to the program memory cannot be performed via
the INDF registers. Instructions that access the pro-
gram memory via the FSR require one extra instruction
cycle to complete. Example 2-2 demonstrates access-
ing the program memory via an FSR.
EXAMPLE 2-2:
ACCESSING PROGRAM
MEMORY VIA FSR
bsf FSR1H,7
moviw 0[INDF1]
;THE PROGRAM MEMORY IS IN W
© 2008 Microchip Technology Inc.
Preliminary
DS41364A-page 23