English
Language : 

PIC18F6525_13 Datasheet, PDF (314/400 Pages) Microchip Technology – 64/80-Pin High-Performance, 64-Kbyte Enhanced Flash Microcontrollers with A/D
PIC18F6525/6621/8525/8621
TBLWT
Table Write
Syntax:
[ label ] TBLWT ( *; *+; *-; +*)
Operands:
None
Operation:
if TBLWT*
(TABLAT)  Holding Register;
TBLPTR – No Change
if TBLWT*+
(TABLAT)  Holding Register;
(TBLPTR) + 1  TBLPTR
if TBLWT*-
(TABLAT)  Holding Register;
(TBLPTR) – 1  TBLPTR
if TBLWT+*
(TBLPTR) + 1  TBLPTR;
(TABLAT)  Holding Register
Status Affected: None
Encoding:
0000
0000
0000
11nn
nn=0 *
=1 *+
=2 *-
=3 +*
Description:
This instruction uses the 3 LSBs of TBLPTR
to determine which of the 8 holding registers
the TABLAT is written to. The holding
registers are used to program the contents
of Program Memory (P.M.). (Refer to
Section 5.0 “Flash Program Memory” for
additional details on programming Flash
memory.)
The TBLPTR (a 21-bit pointer) points to
each byte in the program memory. TBLPTR
has a 2-MByte address range. The LSB of
the TBLPTR selects which byte of the
program memory location to access.
TBLPTR[0] = 0: Least Significant Byte of
Program Memory Word
TBLPTR[0] = 1: Most Significant Byte of
Program Memory Word
The TBLWT instruction can modify the
value of TBLPTR as follows:
• no change
• post-increment
• post-decrement
• pre-increment
TBLWT Table Write (Continued)
Words: 1
Cycles: 2
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
No
No
No
operation operation operation
No
operation
No
operation
(Read
TABLAT)
No
operation
No
operation
(Write to
Holding
Register )
Example 1:
TBLWT *+;
Before Instruction
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(0x00A356)
=
0x55
0x00A356
0xFF
After Instructions (table write completion)
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(0x00A356)
=
0x55
0x00A357
0x55
Example 2:
TBLWT +*;
Before Instruction
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(0x01389A)
=
HOLDING REGISTER
(0x01389B)
=
0x34
0x01389A
0xFF
0xFF
After Instruction (table write completion)
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(0x01389A)
=
HOLDING REGISTER
(0x01389B)
=
0x34
0x01389B
0xFF
0x34
DS39612C-page 314
 2003-2013 Microchip Technology Inc.