English
Language : 

PIC18F2480_09 Datasheet, PDF (406/490 Pages) Microchip Technology – 28/40/44-Pin Enhanced Flash Microcontrollers with ECAN Technology, 10-Bit A/D and nanoWatt Technology
PIC18F2480/2580/4480/4580
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:
0000
0000
0000
11nn
nn=0 *
=1 *+
=2 *-
=3 +*
Description:
This instruction uses the 3 LSBs of the
TBLPTR to determine which of the
8 holding registers the TABLAT is written
to. The holding registers are used to pro-
gram the contents of Program Memory
(P.M.). (Refer to Section 7.0 “Flash Pro-
gram 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-MBtye 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
34h
01389Ah
(01389Ah)
= FFh
HOLDING REGISTER
(01389Bh)
= FFh
After Instruction (table write completion)
TABLAT
=
TBLPTR
=
HOLDING REGISTER
(01389Ah)
=
HOLDING REGISTER
(01389Bh)
=
34h
01389Bh
FFh
34h
DS39637D-page 406
© 2009 Microchip Technology Inc.