PIC18F2331-E/ML MICROCHIP [Microchip Technology], PIC18F2331-E/ML Datasheet - Page 321

no-image

PIC18F2331-E/ML

Manufacturer Part Number
PIC18F2331-E/ML
Description
28/40/44-Pin Enhanced Flash Microcontrollers with nanoWatt Technology, High-Performance PWM and A/D
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet
TBLRD
Syntax:
Operands:
Operation:
Status Affected: None
Encoding:
Description:
Words:
Cycles:
 2010 Microchip Technology Inc.
Q Cycle Activity:
operation
Decode
No
Q1
(Read Program
Table Read
[ label ]
None
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
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.
The TBLRD instruction can modify the value
of TBLPTR as follows:
• no change
• post-increment
• post-decrement
• pre-increment
1
2
No operation
TBLPTR[0] = 0: Least Significant Byte of
TBLPTR[0] = 1: Most Significant Byte of
operation
0000
Memory)
No
Q2
TBLRD ( *; *+; *-; +*)
0000
operation
operation
Program Memory Word
Program Memory Word
No
No
Q3
0000
No operation
operation
TABLAT)
*
PIC18F2331/2431/4331/4431
(Write
nn = 0
No
Q4
10nn
=1 *+
=2 *-
=3 +*
TBLRD
Example 1:
Example 2:
Before Instruction
After Instruction
Before Instruction
After Instruction
TABLAT
TBLPTR
MEMORY(0x00A356)
TABLAT
TBLPTR
TABLAT
TBLPTR
MEMORY(0x01A357)
MEMORY(0x01A358)
TABLAT
TBLPTR
Table Read (cont’d)
TBLRD
TBLRD
*+ ;
+* ;
=
=
=
=
=
=
=
=
=
=
=
DS39616D-page 321
0x55
0x00A356
0x34
0x34
0x00A357
0xAA
0x01A357
0x12
0x34
0x34
0x01A358

Related parts for PIC18F2331-E/ML