English
Language : 

PIC18F87J10 Datasheet, PDF (320/394 Pages) Microchip Technology – 64/80-Pin High-Performance, 1-Mbit Flash Microcontrollers with nanoWatt Technology
PIC18F87J10 FAMILY
TBLWT
Table Write
Syntax:
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:
Description:
0000 0000 0000
11nn
nn=0 *
=1 *+
=2 *-
=3 +*
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 “Memory
Organization” 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
Words:
1
Cycles:
2
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode No
No
No
operation operation operation
No
No
No
No
operation operation operation operation
(Read
(Write to
TABLAT)
Holding
Register)
TBLWT
Table Write (Continued)
Example 1:
TBLWT *+;
Before Instruction
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(00A356h)
=
55h
00A356h
FFh
After Instructions (table write completion)
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(00A356h)
=
55h
00A357h
55h
Example 2:
TBLWT +*;
Before Instruction
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(01389Ah)
=
HOLDING REGISTER
(01389Bh)
=
34h
01389Ah
FFh
FFh
After Instruction (table write completion)
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(01389Ah)
=
HOLDING REGISTER
(01389Bh)
=
34h
01389Bh
FFh
34h
Note:
The TBLWT instruction cannot be used in
normal operating modes to write to
on-chip program memory. It can only be
used by PIC18F8XJ10/8XJ15 devices
with the external memory interface when
writing to an external memory device.
The TBLWT instruction can be used to
write to on-chip program memory only in
ICSP™ mode.
For more information, refer to Section 6.4
“Writing to Program Memory Space
(PIC18F8XJ10/8XJ15 Devices Only)” and
Section 6.7 “Flash Program Operation
During Code Protection”.
DS39663A-page 318
Advance Information
 2005 Microchip Technology Inc.