English
Language : 

PIC18F97J60_11 Datasheet, PDF (413/492 Pages) Microchip Technology – 64/80/100-Pin, High-Performance, 1-Mbit Flash Microcontrollers with Ethernet
PIC18F97J60 FAMILY
TBLRD
Table Read
Syntax:
TBLRD ( *; *+; *-; +*)
Operands:
None
Operation:
if TBLRD*,
(Prog Mem (TBLPTR))  TABLAT;
TBLPTR – No Change
if TBLRD*+,
(Prog Mem (TBLPTR))  TABLAT;
(TBLPTR) + 1  TBLPTR
if TBLRD*-,
(Prog Mem (TBLPTR))  TABLAT;
(TBLPTR) – 1  TBLPTR
if TBLRD +*,
(TBLPTR) + 1  TBLPTR;
(Prog Mem (TBLPTR))  TABLAT
Status Affected: None
Encoding:
Description:
0000
0000
0000
10nn
nn=0 *
=1 *+
=2 *-
=3 +*
This instruction is used to read the contents
of Program Memory (P.M.). To address the
program memory, a pointer called Table
Pointer (TBLPTR) is used.
The TBLPTR (a 21-bit pointer) points to
each byte in the program memory. TBLPTR
has a 2-Mbyte address range.
TBLPTR[0] = 0: Least Significant Byte of
Program Memory Word
TBLPTR[0] = 1: Most Significant Byte of
Program Memory Word
The TBLRD 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
Decode
No
operation
No
No operation
operation (Read Program
Memory)
Q3
No
operation
No
operation
Q4
No
operation
No operation
(Write
TABLAT)
TBLRD
Table Read (Continued)
Example 1:
TBLRD *+ ;
Before Instruction
TABLAT
=
TBLPTR
=
MEMORY(00A356h) =
After Instruction
TABLAT
=
TBLPTR
=
55h
00A356h
34h
34h
00A357h
Example 2:
TBLRD +* ;
Before Instruction
TABLAT
=
TBLPTR
=
MEMORY(01A357h) =
MEMORY(01A358h) =
After Instruction
TABLAT
=
TBLPTR
=
AAh
01A357h
12h
34h
34h
01A358h
 2011 Microchip Technology Inc.
DS39762F-page 413