Block Move From Program Memory to Data Memory
BLPD
7-55
Assembly Language Instructions
Description
A word in program memory pointed to by the
source is copied to data-memory
space pointed to by
destination. The first word of the source space is pointed
to by a long-immediate value. The data-memory destination space is pointed
to by a data-memory address or auxiliary register pointer. Not all source/des-
tination combinations of pointer types are valid.
RPT can be used with the BLPD instruction to move consecutive words. The
number of words to be moved is one greater than the number contained in the
repeat counter (RPTC) at the beginning of the instruction. When the BLPD in-
struction is repeated, the source (program-memory) address specified by the
long immediate constant is stored to the PC. Because the PC is incremented
by 1 during each repetition, it is possible to access a series of program-
memory addresses. If you use indirect addressing to specify the destination
(data-memory) address, a new data-memory address can be accessed during
each repetition. If you use the direct addressing mode, the specified data-
memory address is a constant; it will not be modified during each repetition.
The source and destination blocks do not have to be entirely on chip or off chip.
Interrupts are inhibited during a repeated BLPD instruction. When used with
RPT, BLPD becomes a single-cycle instruction once the RPT pipeline is
started.
Words
2