English
Language : 

PIC18CXX2_13 Datasheet, PDF (226/304 Pages) Microchip Technology – High Performance Microcontrollers with 10-bit A/D
PIC18CXX2
TBLWT
Table Write
Syntax:
Operands:
Operation:
Status Affected:
[ label ] TBLWT ( *; *+; *-; +*)
None
if TBLWT*,
(TABLAT)  Prog Mem (TBLPTR)
or Holding Register;
TBLPTR - No Change;
if TBLWT*+,
(TABLAT)  Prog Mem (TBLPTR)
or Holding Register;
(TBLPTR) +1  TBLPTR;
if TBLWT*-,
(TABLAT)  Prog Mem (TBLPTR)
or Holding Register;
(TBLPTR) -1  TBLPTR;
if TBLWT+*,
(TBLPTR) +1  TBLPTR;
(TABLAT)  Prog Mem (TBLPTR)
or Holding Register;
None
Encoding:
Description:
0000
0000
0000
11nn
nn=0 *
=1 *+
=2 *-
=3 +*
This instruction is used to program the
contents of Program Memory (P.M.).
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
Words:
1
Cycles:
2 (many if long write is to on-chip
EPROM program memory)
Q Cycle Activity:
Q1
Q2
Decode
No
operation
No
operation
No
operation
(Read
TABLAT)
Q3
Q4
No
operation
No
operation
No
No
operation
operation
(Write to Holding
Register or Memory)
TBLWT
Table Write (Continued)
Example 1:
TBLWT *+;
Before Instruction
TABLAT
= 0x55
TBLPTR
= 0x00A356
MEMORY(0x00A356) = 0xFF
After Instructions (table write completion)
TABLAT
= 0x55
TBLPTR
= 0x00A357
MEMORY(0x00A356) = 0x55
Example 2:
TBLWT +*;
Before Instruction
TABLAT
= 0x34
TBLPTR
= 0x01389A
MEMORY(0x01389A) = 0xFF
MEMORY(0x01389B) = 0xFF
After Instruction (table write completion)
TABLAT
= 0x34
TBLPTR
= 0x01389B
MEMORY(0x01389A) = 0xFF
MEMORY(0x01389B) = 0x34
DS39026D-page 226
 1999-2013 Microchip Technology Inc.