|
PIC18F2331_07 Datasheet, PDF (329/400 Pages) Microchip Technology – 28/40/44-Pin Enhanced Flash Microcontrollers with nanoWatt Technology, High Performance PWM and A/D | |||
|
◁ |
PIC18F2331/2431/4331/4431
TBLRD
Table Read
Syntax:
[ label ] 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:
0000
0000
0000
10nn
nn = 0
*
=1 *+
=2 *-
=3 +*
Description:
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 (contâd)
Example 1:
TBLRD *+ ;
Before Instruction
TABLAT
=
TBLPTR
=
MEMORY(0x00A356) =
After Instruction
TABLAT
=
TBLPTR
=
Example 2:
TBLRD +* ;
Before Instruction
TABLAT
=
TBLPTR
=
MEMORY(0x01A357) =
MEMORY(0x01A358) =
After Instruction
TABLAT
=
TBLPTR
=
0x55
0x00A356
0x34
0x34
0x00A357
0xAA
0x01A357
0x12
0x34
0x34
0x01A358
© 2007 Microchip Technology Inc.
Preliminary
DS39616C-page 327
|
▷ |