English
Language : 

PIC18FXX8 Datasheet, PDF (322/402 Pages) Microchip Technology – 28/40-Pin High-Performance, Enhanced Flash Microcontrollers with CAN Module
PIC18FXX8
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 6.0 “Flash
Program Memory” for additional details.)
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
operation operation
No
operation
No No operation No
No operation
operation (Read operation (Write to Holding
TABLAT)
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
DS41159D-page 320
 2004 Microchip Technology Inc.